.ggmp-checkout-page, .ggmp-checkout-review { color: #eef4ff; width: min(1160px, calc(100% - 40px)); margin: 32px auto 48px; }
.ggmp-checkout-page *, .ggmp-checkout-review * { box-sizing: border-box; }
.ggmp-checkout-page a, .ggmp-checkout-review a { color: #9fcdff; text-underline-offset: 3px; }
.ggmp-checkout-page a:hover, .ggmp-checkout-review a:hover { color: #d4eaff; text-decoration: underline; }
.ggmp-checkout-page a:focus-visible, .ggmp-checkout-page button:focus-visible, .ggmp-checkout-review a:focus-visible, .ggmp-checkout-review button:focus-visible { outline: 3px solid #85bbff; outline-offset: 3px; }
.ggmp-checkout-header { margin-bottom: 24px; }
.ggmp-checkout-back { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
.ggmp-checkout-steps { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 12px 0 24px; font-size: .8rem; color: #adbfd9; }
.ggmp-checkout-steps li { padding: 6px 0; border-bottom: 2px solid transparent; }
.ggmp-checkout-steps [aria-current] { color: #b4d6ff; border-color: #6daeff; font-weight: 700; }
.ggmp-checkout-header h1 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; line-height: 1.2; margin: 0 0 12px; }
.ggmp-checkout-header p, .ggmp-checkout-muted { color: #bdcee5; font-size: .92rem; line-height: 1.65; }
.ggmp-checkout-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); gap: 24px; align-items: start; }
.ggmp-checkout-card { min-width: 0; background: #172338; border: 1px solid #405779; border-radius: 14px; padding: 24px; }
.ggmp-checkout-switch { display: flex; flex-wrap: wrap; gap: 6px; padding: 5px; background: #0e192a; border: 1px solid #496284; border-radius: 10px; margin-bottom: 24px; }
.ggmp-checkout-switch button { flex: 1 1 auto; min-height: 46px; padding: 10px 12px; border-radius: 6px; color: #c6d6ec; font-size: .85rem; font-weight: 650; }
.ggmp-checkout-switch button[aria-pressed=true] { background: #326fd5; color: #fff; }
.ggmp-checkout-switch button:hover:not([aria-pressed=true]) { background: #273b58; }
.ggmp-checkout-page h2 { font-size: 1.28rem; line-height: 1.4; font-weight: 700; }
.ggmp-checkout-form { display: flex; flex-direction: column; gap: 16px; }
.ggmp-checkout-section { margin: 6px 0 0; padding: 0; min-width: 0; border: 0; }
.ggmp-checkout-section legend { margin-bottom: 14px; font-size: .92rem; font-weight: 700; color: #e1edff; }
.ggmp-checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ggmp-checkout-wide { grid-column: 1 / -1; }
.ggmp-checkout-page input:not([type=checkbox]):not([type=hidden]), .ggmp-checkout-page select, .ggmp-checkout-review input:not([type=checkbox]):not([type=hidden]), .ggmp-checkout-review select { background: #26374f; border: 1px solid #7189a8; color: #fff; min-height: 46px; border-radius: 8px; font-size: 16px; }
.ggmp-checkout-page input::placeholder, .ggmp-checkout-review input::placeholder { color: #b8c9e0; opacity: 1; }
.ggmp-checkout-page label, .ggmp-checkout-review label { color: #e8f0ff; }
.ggmp-checkout-page input:focus, .ggmp-checkout-page select:focus, .ggmp-checkout-review input:focus { outline: 2px solid #8ec3ff; outline-offset: 2px; }
.ggmp-checkout-fine { font-size: .78rem; line-height: 1.65; color: #bacee8; margin: 10px 0 0; }
.ggmp-checkout-fine a { text-decoration: underline; }
.ggmp-checkout-optional { border-top: 1px solid #405779; margin-top: 20px; padding-top: 12px; }
.ggmp-checkout-optional summary { cursor: pointer; color: #a8ceff; font-size: .86rem; padding: 6px 0; }
.ggmp-checkout-optional .ggmp-checkout-fields { margin-top: 14px; }
.ggmp-checkout-consent, .ggmp-checkout-review .ggmp-checkout-consent { background: #22344e; padding: 14px; border: 1px solid #587498; border-radius: 9px; line-height: 1.65; }
.ggmp-checkout-page input[type=checkbox], .ggmp-checkout-review input[type=checkbox] { appearance: none; -webkit-appearance: none; display: inline-block; width: 22px; height: 22px; min-width: 22px; flex: 0 0 22px; vertical-align: middle; margin: 2px 8px 2px 0; padding: 0; border: 2px solid #b9cce5; background-color: #edf4ff; border-radius: 5px; cursor: pointer; background-position: center; background-repeat: no-repeat; background-size: 18px; }
.ggmp-checkout-page input[type=checkbox]:checked, .ggmp-checkout-review input[type=checkbox]:checked { background-color: #286cdb; border-color: #9bc7ff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ggmp-checkout-page input[type=checkbox]:focus-visible, .ggmp-checkout-review input[type=checkbox]:focus-visible { outline: 3px solid #85bbff; outline-offset: 3px; }
.ggmp-checkout-page button:disabled, .ggmp-checkout-review button:disabled { opacity: .6; cursor: wait; }
.ggmp-checkout-summary { position: sticky; top: 90px; }
.ggmp-checkout-eyebrow { font-size: .65rem; letter-spacing: .14em; color: #a9c8f3; font-weight: 750; margin-bottom: 8px; }
.ggmp-checkout-item { padding: 18px 0; border-bottom: 1px solid #405779; }
.ggmp-checkout-item h3 { font-size: 1rem; font-weight: 650; }
.ggmp-checkout-item p { color: #bbcee7; font-size: .8rem; line-height: 1.6; margin: 7px 0; overflow-wrap: anywhere; }
.ggmp-checkout-item strong { display: block; color: #c1daff; font-size: 1.05rem; }
.ggmp-checkout-item a { display: inline-flex; align-items: center; min-height: 36px; font-size: .8rem; text-decoration: underline; }
.ggmp-checkout-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; }
.ggmp-checkout-total small { color: #bdcee5; font-size: .75rem; }
.ggmp-checkout-total > strong { font-size: 1.4rem; white-space: nowrap; }
.ggmp-checkout-note, .ggmp-checkout-code { margin-top: 20px; padding: 14px; background: #243751; border-radius: 9px; font-size: .84rem; line-height: 1.6; }
.ggmp-checkout-note p, .ggmp-checkout-code p { color: #c9d8ec; margin-top: 6px; }
.ggmp-checkout-review .ggmp-checkout-order { background: #172338; border: 1px solid #405779; padding: 24px; border-radius: 14px; gap: 16px; }
.ggmp-checkout-review .ggmp-checkout-product { background: #172338; border-color: #405779; padding: 20px; border-radius: 14px; }
.ggmp-checkout-review .ggmp-checkout-order > h2 { font-size: 1.6rem; }
.ggmp-checkout-review .ggmp-checkout-order p { line-height: 1.65; color: #d3e0f1; }
.ggmp-checkout-review .ggmp-checkout-consent a { color: #aed6ff; text-decoration: underline; }
.ggmp-checkout-review .ggmp-checkout-coupon { display: flex; flex-wrap: wrap; gap: 10px; }
.ggmp-checkout-review .ggmp-checkout-coupon fieldset { flex: 1 1 200px; }
.ggmp-checkout-review .ggmp-checkout-coupon button { min-height: 46px; }
@media(max-width:800px) { .ggmp-checkout-grid { grid-template-columns: 1fr; } .ggmp-checkout-summary { position: static; } .ggmp-checkout-page, .ggmp-checkout-review { width: calc(100% - 28px); margin-top: 20px; } .ggmp-checkout-card, .ggmp-checkout-review .ggmp-checkout-order { padding: 18px; } }
@media(max-width:480px) { .ggmp-checkout-fields { grid-template-columns: 1fr; } .ggmp-checkout-switch { flex-direction: column; } .ggmp-checkout-steps { gap: 6px 14px; font-size: .71rem; } .ggmp-checkout-review .ggmp-checkout-product { flex-direction: column; gap: 16px; } }
