body.checkout-page { margin:0; background:#f3f4f5; color:#2b2f36; font-family:Arial,sans-serif; }
.checkout-shell { max-width:660px; margin:0 auto; padding:0 20px 40px; }
.checkout-product-summary { padding:28px 0 12px; }
.checkout-product-summary img { width:100%; border-radius:12px; }
.checkout-card .card { border:0; border-radius:14px; box-shadow:0 12px 32px #1b293b14; }
.checkout-card .card-body { padding:28px; }
.checkout-card h2 { font-size:22px; font-weight:700; margin:0 0 22px; color:#4c6079; }
.checkout-card .form-control { min-height:54px; }
.price-box { display:flex; justify-content:space-between; gap:16px; padding:18px; margin:22px 0; background:#e9f0fd; border:1px solid #dee2e6; border-radius:9px; font-size:15px; }
.price-box strong { white-space:nowrap; }
.payment-label { text-align:center; font-size:12px; letter-spacing:.12em; font-weight:700; margin:18px 0 14px; color:#64748b; }
.bump-list { margin-top:20px; }
.bump-list h3 { font-size:15px; font-weight:700; }
.bump { display:flex; align-items:center; gap:12px; border:1px solid #d9e0e8; border-radius:10px; padding:14px; margin:8px 0; cursor:pointer; }
.bump span { flex:1; }.bump small { display:block; color:#667085; }.bump b { white-space:nowrap; }
.payment-error { color:#b42318; text-align:center; min-height:20px; margin:10px 0; }
.order-page { background:#f3f4f5; min-height:100vh; display:grid; place-items:center; padding:20px; font-family:Arial,sans-serif; color:#2b2f36; }
.status-card { width:min(100%,600px); background:white; padding:40px 28px; text-align:center; border-radius:14px; box-shadow:0 12px 32px #1b293b14; }
.status-card h1 { color:#4c6079; font-size:26px; }.status-card p { line-height:1.5; }
.status-icon { display:grid; place-items:center; border-radius:50%; width:68px; height:68px; margin:0 auto 24px; background:#e8f7ec; color:#2f7d3c; font-size:38px; }
.status-icon.pending { background:#fff4dc; color:#a05b00; }
.post-offers { border-top:1px solid #e5e7eb; margin-top:28px; padding-top:22px; text-align:left; }
.post-offers h2 { font-size:21px; color:#4c6079; }.post-offer { border:1px solid #d9e0e8; border-radius:10px; padding:16px; margin:12px 0; }
.post-offer p { margin:8px 0 14px; }.post-offer a { display:inline-block; border-radius:8px; padding:10px 14px; background:#2f7d3c; color:white; text-decoration:none; font-weight:700; }
.privacy-toggle { position:fixed; bottom:12px; left:12px; z-index:20; border:1px solid #cbd5e1; background:#fff; color:#334155; border-radius:8px; padding:7px 11px; font-size:12px; }
.consent-banner { position:fixed; z-index:30; bottom:0; left:0; right:0; background:#fff; color:#243042; padding:20px max(20px,calc((100vw - 900px)/2)); box-shadow:0 -8px 32px #1b293b33; }
.consent-banner[hidden] { display:none; }.consent-banner p { margin:0 0 12px; font-size:14px; line-height:1.45; }.consent-banner div { display:flex; gap:10px; flex-wrap:wrap; }
.consent-banner button { border:1px solid #2f7d3c; border-radius:8px; padding:10px 14px; background:#fff; color:#256330; font-weight:700; }
.consent-banner button[data-consent="yes"] { background:#2f7d3c; color:#fff; }
@media(max-width:600px) { .checkout-card .card-body { padding:22px 18px; } .bump { flex-wrap:wrap; } }

        .email-autocomplete {
            position: relative;
            z-index: 30;
        }
        .email-domain-suggestions {
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            right: 0;
            z-index: 1000;
            display: none;
            overflow: hidden;
            margin: 0;
            padding: 6px;
            list-style: none;
            background: #fff;
            border: 1px solid #dedede;
            border-radius: 12px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
        }
        .email-domain-suggestions.is-visible {
            display: block;
        }
        .email-domain-suggestion {
            display: flex;
            align-items: center;
            width: 100%;
            min-height: 42px;
            padding: 10px 12px;
            border: 0;
            border-radius: 8px;
            background: transparent;
            color: #222;
            font-size: 14px;
            line-height: 20px;
            text-align: left;
            cursor: pointer;
        }
        .email-domain-suggestion:hover,
        .email-domain-suggestion.is-active {
            background: #eef4ff;
            color: #174ea6;
        }
        .email-domain-suggestion strong {
            font-weight: 700;
        }

