/* ==========================================================================
   QuickPass Subscription Plugin — Form Styles v1.0.0
   Prefix: qp-
   Default theme: QuickPass Green (#00A525)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

/* ── CSS Variables ─────────────────────────────────────────────────────── */
:root {
    --qp-primary:      #00A525;
    --qp-accent:       #007A1A;
    --qp-primary-pale: #00A52514;
    --qp-primary-tint: #00A52530;
    --qp-primary-mid:  #00A52555;
    --qp-surface:      #ffffff;
    --qp-bg:           #f9fff9;
    --qp-high:         #00A52518;
    --qp-text:         #141b2c;
    --qp-text-muted:   #434654;
    --qp-border:       #c3c6d6;
    --qp-red:          #ba1a1a;
    --qp-green:        #006941;
    --qp-green-bg:     #c8f5de;
    --qp-radius:       14px;
    --qp-sh:           0 2px 10px rgba(0,165,37,.08);
    --qp-sh-md:        0 6px 24px rgba(0,165,37,.18);
}

/* ── Material Symbols ───────────────────────────────────────────────────── */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ── Wrapper ─────────────────────────────────────────────────────────────── */
.qp-wrapper *   { box-sizing: border-box; }
.qp-wrapper     { max-width: 820px; margin: 0 auto; color: var(--qp-text); }

/* ── Progress Bar ────────────────────────────────────────────────────────── */
.qp-progress {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
    background: var(--qp-primary-pale);
    border-radius: 12px;
    padding: 5px;
}

.qp-step {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 6px;
    border-radius: 9px;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--qp-text-muted);
    transition: background .2s, color .2s;
}

.qp-step .material-symbols-outlined { font-size: 17px; }
.qp-step-lbl                        { display: block; }

.qp-step.qp-step-active {
    background: var(--qp-primary);
    color: #fff;
    box-shadow: var(--qp-sh-md);
}

.qp-step.qp-step-done {
    background: var(--qp-primary-tint);
    color: var(--qp-primary);
}

/* ── Panel Header ────────────────────────────────────────────────────────── */
.qp-panel-header { margin-bottom: 16px; }

.qp-headline {
    font-family: 'Manrope', sans-serif;
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--qp-text);
    margin: 0 0 6px;
}

.qp-subline {
    font-size: .9rem;
    color: var(--qp-text-muted);
    line-height: 1.5;
    margin: 0;
    max-width: 570px;
}

/* ── Section ─────────────────────────────────────────────────────────────── */
.qp-section {
    background: var(--qp-surface);
    border-radius: var(--qp-radius);
    padding: 20px 24px;
    margin-bottom: 10px;
    box-shadow: var(--qp-sh);
}

.qp-section-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Manrope', sans-serif;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--qp-primary);
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--qp-primary-tint);
}

/* ── Grid ────────────────────────────────────────────────────────────────── */
.qp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* ── Fields ──────────────────────────────────────────────────────────────── */
.qp-field              { display: flex; flex-direction: column; gap: 5px; }
.qp-field label        {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--qp-primary);
}
.qp-req { color: var(--qp-red); }

.qp-field input,
.qp-field textarea,
.qp-field select {
    width: 100%;
    padding: 0 14px;
    height: 50px;
    background: var(--qp-bg);
    border: 1.5px solid transparent;
    border-radius: 10px;
    font-size: .92rem;
    color: var(--qp-text);
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
}

.qp-field textarea {
    height: auto;
    padding: 13px 14px;
    resize: vertical;
    line-height: 1.5;
}

.qp-field input:focus,
.qp-field select:focus,
.qp-field textarea:focus {
    border-color: var(--qp-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0,165,37,.12);
}

.qp-field input.qp-invalid,
.qp-field select.qp-invalid,
.qp-field textarea.qp-invalid { border-color: var(--qp-red); }

.qp-err {
    font-size: .72rem;
    color: var(--qp-red);
    display: block;
    min-height: 14px;
}

/* ── Pricing Calculator (Step 1) ─────────────────────────────────────────── */
.qp-calc-section { padding: 28px 28px 24px; }

.qp-slider-wrap { margin-bottom: 28px; }

.qp-slider-wrap input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: linear-gradient(to right, var(--qp-primary) 0%, var(--qp-primary) 2%, var(--qp-primary-tint) 2%);
    outline: none;
    cursor: pointer;
    margin-bottom: 10px;
}

.qp-slider-wrap input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--qp-primary);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,165,37,.35);
    border: 3px solid #fff;
    transition: transform .15s, box-shadow .15s;
}

.qp-slider-wrap input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.15);
    box-shadow: 0 3px 12px rgba(0,165,37,.5);
}

.qp-slider-wrap input[type="range"]::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--qp-primary);
    cursor: pointer;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,165,37,.35);
}

.qp-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: .72rem;
    font-weight: 600;
    color: var(--qp-text-muted);
}

.qp-calc-result {
    background: var(--qp-bg);
    border: 2px solid var(--qp-primary-tint);
    border-radius: 12px;
    padding: 22px 24px;
    margin-bottom: 16px;
}

.qp-calc-unit-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 12px;
}

.qp-calc-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.qp-calc-stat-total {
    background: var(--qp-primary);
    border-radius: 10px;
    padding: 10px 12px;
}

.qp-calc-stat-total .qp-calc-stat-label { color: rgba(255,255,255,.8); }
.qp-calc-stat-total .qp-calc-stat-value { color: #fff; }

.qp-calc-stat-label {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--qp-text-muted);
}

.qp-calc-stat-value {
    font-family: 'Manrope', sans-serif;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--qp-primary);
    line-height: 1;
}

.qp-calc-min-note {
    font-size: .8rem;
    color: var(--qp-text-muted);
    text-align: center;
    margin: 0;
}

/* Custom pricing notice */
.qp-custom-pricing-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff8e1;
    border: 1.5px solid #ffe082;
    border-radius: 12px;
    padding: 20px 24px;
    margin-top: 16px;
}

.qp-custom-pricing-notice .material-symbols-outlined {
    font-size: 28px;
    color: #f59e0b;
    flex-shrink: 0;
}

.qp-custom-pricing-notice strong {
    font-family: 'Manrope', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    color: var(--qp-text);
    display: block;
    margin-bottom: 4px;
}

.qp-custom-pricing-notice p {
    font-size: .88rem;
    color: var(--qp-text-muted);
    margin: 0 0 14px;
}

.qp-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border: 2px solid var(--qp-primary);
    border-radius: 10px;
    color: var(--qp-primary);
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: .85rem;
    text-decoration: none;
    transition: all .2s;
}

.qp-btn-outline:hover {
    background: var(--qp-primary);
    color: #fff;
}

.qp-btn-outline .material-symbols-outlined { font-size: 17px; }

/* ── Selected Units Display (Step 3) ─────────────────────────────────────── */
.qp-selected-units-display {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--qp-bg);
    border: 2px solid var(--qp-primary-tint);
    border-radius: 12px;
    padding: 14px 18px;
    font-family: 'Manrope', sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--qp-primary);
    margin-bottom: 6px;
}

.qp-selected-units-display .material-symbols-outlined { font-size: 22px; }

.qp-edit-units-btn {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--qp-primary-pale);
    border: 1px solid var(--qp-primary-tint);
    border-radius: 8px;
    padding: 6px 14px;
    font-size: .78rem;
    font-weight: 700;
    color: var(--qp-primary);
    cursor: pointer;
    transition: all .2s;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.qp-edit-units-btn:hover {
    background: var(--qp-primary);
    color: #fff;
}

.qp-edit-units-btn .material-symbols-outlined { font-size: 15px; }

/* ── Billing Toggle ──────────────────────────────────────────────────────── */
.qp-billing-toggle-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.qp-billing-toggle {
    display: inline-flex;
    background: var(--qp-bg);
    border: 2px solid var(--qp-border);
    border-radius: 12px;
    padding: 4px;
    gap: 4px;
}

.qp-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    border-radius: 9px;
    border: none;
    background: transparent;
    font-family: 'Manrope', sans-serif;
    font-size: .85rem;
    font-weight: 700;
    color: var(--qp-text-muted);
    cursor: pointer;
    transition: background .2s, color .2s, box-shadow .2s;
    white-space: nowrap;
}

.qp-toggle-btn.qp-toggle-active {
    background: linear-gradient(135deg, var(--qp-primary), var(--qp-accent));
    color: #fff;
    box-shadow: var(--qp-sh-md);
}

.qp-save-badge {
    display: inline-block;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 20px;
    background: #e0f5e6;
    color: var(--qp-green);
}

.qp-toggle-btn.qp-toggle-active .qp-save-badge {
    background: rgba(255,255,255,.25);
    color: #fff;
}

/* ── Currency Converter ───────────────────────────────────────────────────── */
.qp-currency-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.qp-currency-select-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--qp-bg);
    border: 2px solid var(--qp-border);
    border-radius: 10px;
    padding: 10px 16px;
    transition: border-color .2s;
}

.qp-currency-select-wrap:focus-within {
    border-color: var(--qp-primary);
    box-shadow: 0 0 0 3px rgba(0,165,37,.1);
}

.qp-currency-select-wrap .material-symbols-outlined {
    font-size: 20px;
    color: var(--qp-primary);
}

.qp-currency-select {
    border: none;
    background: transparent;
    font-family: 'Manrope', sans-serif;
    font-size: .95rem;
    font-weight: 700;
    color: var(--qp-text);
    cursor: pointer;
    outline: none;
    min-width: 200px;
}

.qp-rate-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    font-weight: 600;
    color: var(--qp-primary);
    background: var(--qp-primary-pale);
    padding: 6px 12px;
    border-radius: 20px;
    border: 1px solid var(--qp-primary-tint);
}

.qp-rate-spin {
    font-size: 15px;
    animation: qp-spin .8s linear infinite;
}

.qp-currency-note {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: .78rem;
    color: var(--qp-text-muted);
    font-weight: 500;
}

.qp-currency-note .material-symbols-outlined {
    font-size: 16px;
    color: var(--qp-primary);
    flex-shrink: 0;
}

/* ── Price Breakdown ─────────────────────────────────────────────────────── */
.qp-price-breakdown {
    background: linear-gradient(135deg, var(--qp-primary) 0%, var(--qp-accent) 100%);
    border-radius: 12px;
    padding: 20px 24px;
    color: #fff;
    margin-top: 16px;
}

.qp-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: .9rem;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.qp-price-row:last-of-type { border: none; }
.qp-price-total            { padding-top: 12px; }

.qp-total-figure {
    font-family: 'Manrope', sans-serif;
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}

.qp-price-note {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: .72rem;
    font-weight: 600;
    opacity: .7;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.qp-price-note .material-symbols-outlined { font-size: 15px; }

/* ── Payment Summary ─────────────────────────────────────────────────────── */
.qp-sub-summary {
    background: linear-gradient(135deg, var(--qp-primary), var(--qp-accent));
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 12px;
    color: #fff;
}

.qp-sub-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    font-size: .9rem;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.qp-sub-row:last-of-type { border: none; }

.qp-sub-total {
    font-family: 'Manrope', sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    padding-top: 12px;
}

.qp-sub-total span:last-child { font-size: 1.5rem; }

.qp-sub-display-ref {
    opacity: .65;
    font-style: italic;
}
.qp-sub-display-ref span:last-child { font-size: .85rem; }

.qp-recurring-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    font-size: .7rem;
    font-weight: 700;
    opacity: .7;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.qp-recurring-badge .material-symbols-outlined { font-size: 14px; }

/* ── Stripe Wrapper ──────────────────────────────────────────────────────── */
.qp-stripe-wrapper {
    background: var(--qp-bg);
    border: 1.5px solid var(--qp-border);
    border-radius: 12px;
    padding: 22px;
}

.qp-stripe-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--qp-text-muted);
    margin-bottom: 14px;
}

.qp-stripe-badge .material-symbols-outlined {
    font-size: 15px;
    color: var(--qp-primary);
}

#qp-payment-element { min-height: 60px; }

/* ── Checkbox ────────────────────────────────────────────────────────────── */
.qp-checkbox-field { margin-top: 6px; }

.qp-chk-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: .88rem;
    font-weight: 500;
    color: var(--qp-text);
}

.qp-chk-label input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px;
    padding: 0 !important;
    border: 2px solid var(--qp-border) !important;
    border-radius: 5px !important;
    background: var(--qp-bg) !important;
    cursor: pointer;
    accent-color: var(--qp-primary);
    margin-top: 1px;
}

.qp-terms-link {
    color: var(--qp-primary);
    font-weight: 600;
    text-decoration: none;
}
.qp-terms-link:hover { text-decoration: underline; }

/* ── Contract Notice ─────────────────────────────────────────────────────── */
.qp-contract-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: .85rem;
    font-weight: 600;
    color: #5f4200;
    line-height: 1.5;
}

.qp-contract-notice .material-symbols-outlined {
    font-size: 20px;
    color: #f59e0b;
    flex-shrink: 0;
    margin-top: 1px;
    font-variation-settings: 'FILL' 1;
}

/* ── CTA Bar ─────────────────────────────────────────────────────────────── */
.qp-cta-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--qp-high);
    border-radius: var(--qp-radius);
    padding: 16px 20px;
    margin-top: 10px;
}

.qp-tos {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .8rem;
    color: var(--qp-text-muted);
    margin: 0;
}

.qp-tos .material-symbols-outlined { font-size: 16px; color: var(--qp-primary); }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.qp-btn-primary,
.qp-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    font-size: .88rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    transition: all .2s;
    white-space: nowrap;
}

.qp-btn-primary {
    background: linear-gradient(135deg, var(--qp-primary), var(--qp-accent));
    color: #fff;
    box-shadow: var(--qp-sh-md);
}

.qp-btn-primary:hover           { transform: translateY(-1px); box-shadow: 0 8px 28px rgba(0,165,37,.28); }
.qp-btn-primary:active          { transform: scale(.97); }
.qp-btn-primary .material-symbols-outlined { font-size: 19px; }
.qp-btn-primary:disabled        { opacity: .6; pointer-events: none; }

.qp-btn-secondary {
    background: transparent;
    border: 2px solid var(--qp-border);
    color: var(--qp-text-muted);
}

.qp-btn-secondary:hover {
    border-color: var(--qp-primary);
    color: var(--qp-primary);
    background: var(--qp-primary-pale);
}

.qp-btn-secondary .material-symbols-outlined { font-size: 19px; }

/* ── Spinner ─────────────────────────────────────────────────────────────── */
.qp-spinner {
    width: 17px; height: 17px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: qp-spin .6s linear infinite;
    display: inline-block;
}

@keyframes qp-spin { to { transform: rotate(360deg); } }

/* ── Messages ────────────────────────────────────────────────────────────── */
.qp-message {
    padding: 13px 18px;
    border-radius: 10px;
    font-size: .88rem;
    font-weight: 600;
    margin-bottom: 18px;
}

.qp-error-msg   { background: #ffdad6; color: #93000a; border: 1px solid #ffc4be; }
.qp-success-msg { background: var(--qp-green-bg); color: #003920; border: 1px solid #a3e8c3; }

/* ── Success Screen ──────────────────────────────────────────────────────── */
.qp-success-screen {
    text-align: center;
    padding: 60px 20px;
}

.qp-success-icon {
    width: 80px; height: 80px;
    background: var(--qp-green-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}

.qp-success-icon .material-symbols-outlined {
    font-size: 44px;
    color: var(--qp-green);
    font-variation-settings: 'FILL' 1;
}

.qp-success-receipt {
    margin: 28px auto 0;
    background: var(--qp-primary-pale);
    border-radius: 14px;
    padding: 22px 28px;
    display: inline-block;
    min-width: 300px;
    text-align: left;
    font-size: .88rem;
    color: var(--qp-text-muted);
    line-height: 2;
}

.qp-success-receipt strong { color: var(--qp-text); }

/* ── UAE Documents Section ───────────────────────────────────────────────── */
#qp-uae-docs {
    margin-top: 18px;
    padding: 20px;
    background: var(--qp-primary-pale);
    border: 1.5px solid var(--qp-primary-tint);
    border-radius: var(--qp-radius);
}

.qp-uae-docs-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    padding: 12px 14px;
    background: var(--qp-surface);
    border: 1px solid var(--qp-primary-mid);
    border-radius: 10px;
}

.qp-uae-docs-notice .material-symbols-outlined {
    font-size: 20px;
    color: var(--qp-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

.qp-uae-docs-notice p {
    margin: 0;
    font-size: .875rem;
    color: var(--qp-text);
    line-height: 1.5;
}

.qp-uae-docs-notice strong { color: var(--qp-primary); }

.qp-field-hint {
    display: block;
    margin-top: 4px;
    font-size: .75rem;
    color: var(--qp-text-muted);
}

input[type="file"].qp-file-input {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: 1.5px dashed var(--qp-border);
    border-radius: 10px;
    background: var(--qp-surface);
    font-size: .875rem;
    color: var(--qp-text-muted);
    cursor: pointer;
    transition: border-color .2s, background .2s;
    height: auto;
}

input[type="file"].qp-file-input:hover,
input[type="file"].qp-file-input:focus {
    border-color: var(--qp-primary);
    background: var(--qp-primary-pale);
    outline: none;
}

input[type="file"].qp-file-input.qp-invalid { border-color: var(--qp-red); }

/* ── Success Receipt ─────────────────────────────────────────────────────── */
.qp-test-mode-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff3cd;
    border: 2px solid #e65c00;
    border-radius: 12px;
    padding: 16px 22px;
    margin-bottom: 18px;
    font-size: .88rem;
    line-height: 1.5;
}

.qp-test-mode-banner .material-symbols-outlined {
    font-size: 28px;
    color: #e65c00;
    flex-shrink: 0;
    margin-top: 2px;
    font-variation-settings: 'FILL' 1;
}

.qp-test-mode-banner strong {
    display: block;
    font-size: .95rem;
    font-weight: 800;
    color: #7a2e00;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.qp-test-mode-banner span {
    color: #5c3400;
}

.qp-test-mode-banner code {
    background: rgba(230,92,0,.12);
    color: #7a2e00;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: .85rem;
    font-weight: 700;
}

/* Test mode indicator pill inside the Stripe wrapper */
.qp-stripe-test-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff3cd;
    border: 1.5px solid #e65c00;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: .7rem;
    font-weight: 800;
    color: #7a2e00;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 12px;
}

.qp-stripe-test-badge .material-symbols-outlined {
    font-size: 14px;
    color: #e65c00;
}

/* ── Success Receipt ─────────────────────────────────────────────────────── */
div#qp-success-receipt p       { margin-bottom: 0; }
.qp-success-screen p.qp-subline { margin: 0 auto; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .qp-step-lbl                     { display: none; }
    .qp-step .material-symbols-outlined { font-size: 20px; }
    .qp-grid-2                       { grid-template-columns: 1fr; }
    .qp-cta-bar                      { flex-direction: column; align-items: stretch; text-align: center; }
    .qp-section                      { padding: 20px 18px; }
    .qp-billing-toggle-wrap          { flex-direction: column; align-items: flex-start; }
    .qp-calc-unit-row                { grid-template-columns: 1fr; }
    .qp-calc-stat-total              { grid-row: 1; }
    .qp-selected-units-display       { flex-wrap: wrap; }
}
