/* ═══════════════════════════════════════════════════
   ONE CLICK POPUP CHECKOUT — FRONTEND v2.1
   Scoped inside #ocpc-overlay to beat ALL theme CSS
═══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700&display=swap');

/* ═══════════════════════════════
   BUY / ORDER NOW BUTTON (outside popup)
═══════════════════════════════ */
.ocpc-buy-now-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 12px 22px !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    margin: 10px 0 0 0 !important;
    transition: transform .18s, box-shadow .18s, filter .18s !important;
    letter-spacing: .01em !important;
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    outline: none !important;
    box-shadow: none !important;
}
.ocpc-buy-now-btn:hover  { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(0,0,0,.2) !important; filter: brightness(1.07) !important; }
.ocpc-buy-now-btn:active { transform: translateY(0) !important; filter: brightness(.96) !important; }
.ocpc-buy-now-btn svg    { flex-shrink: 0 !important; }

/* Single product — full width, same as loop */
.single-product .ocpc-buy-now-btn,
.ocpc-buy-now-standalone { width: 100% !important; margin: 10px 0 0 0 !important; }

/* ═══════════════════════════════
   OVERLAY + POPUP SHELL
═══════════════════════════════ */
#ocpc-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(2,6,23,.72) !important;
    z-index: 9999999 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .28s, visibility .28s !important;
    box-sizing: border-box !important;
}
#ocpc-overlay.is-open { opacity: 1 !important; visibility: visible !important; }

@media (min-width:600px) {
    #ocpc-overlay { align-items: center !important; padding: 20px !important; }
}

/* ── POPUP PANEL ── */
#ocpc-overlay .ocpc-popup {
    all: initial !important;               /* nuclear reset — kills ALL theme inheritance */
    display: block !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    border-radius: 22px 22px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative !important;
    box-shadow: 0 -8px 48px rgba(0,0,0,.28) !important;
    transform: translateY(100%) !important;
    transition: transform .35s cubic-bezier(.32,0,.67,0) !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
}
#ocpc-overlay.is-open .ocpc-popup {
    transform: translateY(0) !important;
    transition: transform .4s cubic-bezier(.34,1.2,.64,1) !important;
}

/* drag handle */
#ocpc-overlay .ocpc-popup::before {
    content: '' !important;
    display: block !important;
    width: 38px !important;
    height: 4px !important;
    background: #cbd5e1 !important;
    border-radius: 99px !important;
    margin: 12px auto 0 !important;
}

@media (min-width:600px) {
    #ocpc-overlay .ocpc-popup {
        border-radius: 22px !important;
        max-width: 480px !important;
        max-height: 88vh !important;
        transform: scale(.88) translateY(20px) !important;
        box-shadow: 0 32px 80px rgba(0,0,0,.32) !important;
    }
    #ocpc-overlay .ocpc-popup::before { display: none !important; }
    #ocpc-overlay.is-open .ocpc-popup { transform: scale(1) translateY(0) !important; }
}

/* ── CLOSE BUTTON ── */
#ocpc-overlay .ocpc-popup__close {
    all: unset !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    background: #f1f5f9 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    transition: background .15s, color .15s !important;
    z-index: 10 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent !important;
}
#ocpc-overlay .ocpc-popup__close:hover { background: #fee2e2 !important; color: #ef4444 !important; }

/* ═══════════════════════════════
   PRODUCT HEADER
═══════════════════════════════ */
#ocpc-overlay .ocpc-popup__header {
    background: linear-gradient(135deg,#0f172a,#1e293b) !important;
    padding: 20px 20px 18px !important;
}
@media(min-width:600px){ #ocpc-overlay .ocpc-popup__header { border-radius: 20px 20px 0 0 !important; padding: 24px 22px 22px !important; } }

#ocpc-overlay .ocpc-popup__product { display: flex !important; align-items: center !important; gap: 14px !important; }

#ocpc-overlay .ocpc-popup__product-img {
    width: 60px !important; height: 60px !important;
    border-radius: 12px !important; overflow: hidden !important;
    background: rgba(255,255,255,.1) !important; flex-shrink: 0 !important;
    border: 2px solid rgba(255,255,255,.15) !important;
}
#ocpc-overlay .ocpc-popup__product-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

#ocpc-overlay .ocpc-popup__product-name {
    font-family: 'Syne', sans-serif !important; font-weight: 800 !important;
    font-size: 1rem !important; color: #fff !important;
    margin: 0 0 4px !important; line-height: 1.2 !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
    all: unset !important; display: -webkit-box !important;
    font-family: 'Syne', sans-serif !important; font-weight: 800 !important;
    font-size: 1rem !important; color: #fff !important; margin-bottom: 4px !important;
}
#ocpc-overlay .ocpc-popup__product-price { margin: 0 !important; color: #94a3b8 !important; font-size: .85rem !important; font-weight: 500 !important; }
#ocpc-overlay .ocpc-popup__product-price ins { text-decoration: none !important; color: #4ade80 !important; }
#ocpc-overlay .ocpc-popup__product-price del { color: #475569 !important; }

/* ═══════════════════════════════
   POPUP BODY
═══════════════════════════════ */
#ocpc-overlay .ocpc-popup__body { padding: 18px 18px 28px !important; }
@media(min-width:600px){ #ocpc-overlay .ocpc-popup__body { padding: 22px 24px 32px !important; } }

/* ── ALERT ── */
#ocpc-overlay .ocpc-alert {
    padding: 12px 14px !important; border-radius: 10px !important;
    margin-bottom: 16px !important; font-size: .85rem !important;
    font-weight: 500 !important; line-height: 1.4 !important; display: none;
}
#ocpc-overlay .ocpc-alert--error   { background: #fef2f2 !important; color: #991b1b !important; border: 1px solid #fecaca !important; }
#ocpc-overlay .ocpc-alert--success { background: #ecfdf5 !important; color: #065f46 !important; border: 1px solid #a7f3d0 !important; }

/* ── DIVIDER LABEL — clean horizontal rule with text ── */
#ocpc-overlay .ocpc-divider-label {
    display: flex !important; align-items: center !important; gap: 10px !important;
    font-family: 'DM Sans', sans-serif !important; font-size: .7rem !important;
    font-weight: 700 !important; color: #94a3b8 !important;
    text-transform: uppercase !important; letter-spacing: .1em !important;
    margin: 18px 0 10px !important; white-space: nowrap !important;
}
#ocpc-overlay .ocpc-divider-label::before,
#ocpc-overlay .ocpc-divider-label::after {
    content: '' !important; flex: 1 !important;
    height: 1px !important; background: #e2e8f0 !important;
}

/* ── FORM FIELD WRAPPER ── */
#ocpc-overlay .ocpc-field { display: flex !important; flex-direction: column !important; gap: 5px !important; margin-bottom: 12px !important; }
/* Center just the qty field */
#ocpc-overlay .ocpc-field--qty { align-items: center !important; }

#ocpc-overlay .ocpc-field__label {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .72rem !important; font-weight: 700 !important;
    color: #374151 !important; text-transform: uppercase !important;
    letter-spacing: .06em !important; margin: 0 !important; padding: 0 !important;
}
#ocpc-overlay .ocpc-req { color: #ef4444 !important; }
#ocpc-overlay .ocpc-field__error { font-size: .75rem !important; color: #ef4444 !important; min-height: 14px !important; margin: 0 !important; }

/* ── INPUTS ── */
#ocpc-overlay .ocpc-input {
    all: unset !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 1rem !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
    transition: border-color .15s, box-shadow .15s, background .15s !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1.4 !important;
}
#ocpc-overlay .ocpc-input:focus { border-color: #6366f1 !important; box-shadow: 0 0 0 3px rgba(99,102,241,.12) !important; background: #fff !important; }
#ocpc-overlay .ocpc-input.ocpc-invalid { border-color: #ef4444 !important; box-shadow: 0 0 0 3px rgba(239,68,68,.1) !important; }
#ocpc-overlay textarea.ocpc-input { resize: vertical !important; min-height: 76px !important; display: block !important; }

/* ═══════════════════════════════
   QUANTITY STEPPER — fully isolated
═══════════════════════════════ */
#ocpc-overlay .ocpc-qty-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;   /* centered */
    gap: 12px !important;
}
#ocpc-overlay .ocpc-qty-control {
    display: inline-grid !important;
    grid-template-columns: 46px 60px 46px !important;
    align-items: stretch !important;
    height: 50px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.07) !important;
}
/* FULL RESET on qty buttons — kills all theme styles */
#ocpc-overlay .ocpc-qty-btn {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 50px !important;
    background: #f1f5f9 !important;
    color: #374151 !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    font-family: 'DM Sans', sans-serif !important;
    cursor: pointer !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    transition: background .12s, color .12s !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    user-select: none !important;
}
#ocpc-overlay .ocpc-qty-btn--minus { border-right: 1.5px solid #e2e8f0 !important; }
#ocpc-overlay .ocpc-qty-btn--plus  { border-left:  1.5px solid #e2e8f0 !important; }
#ocpc-overlay .ocpc-qty-btn:hover  { background: #e0e7ff !important; color: #4338ca !important; }
#ocpc-overlay .ocpc-qty-btn:active { background: #c7d2fe !important; transform: none !important; }

#ocpc-overlay .ocpc-qty-input {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 60px !important;
    height: 50px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #0f172a !important;
    background: #fff !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: none !important;
    cursor: default !important;
}
#ocpc-overlay .ocpc-qty-input::-webkit-inner-spin-button,
#ocpc-overlay .ocpc-qty-input::-webkit-outer-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

/* stock note */
#ocpc-overlay .ocpc-qty-note {
    font-size: .72rem !important;
    color: #94a3b8 !important;
    font-family: 'DM Sans', sans-serif !important;
}

/* ═══════════════════════════════
   PAYMENT METHODS
═══════════════════════════════ */
#ocpc-overlay .ocpc-payment-methods { display: flex !important; flex-direction: column !important; gap: 8px !important; margin-bottom: 6px !important; }

#ocpc-overlay .ocpc-gw-loading { display: flex !important; align-items: center !important; gap: 10px !important; font-size: .85rem !important; color: #64748b !important; padding: 12px 0 !important; }
#ocpc-overlay .ocpc-gw-spinner { width: 18px !important; height: 18px !important; border: 2px solid #e2e8f0 !important; border-top-color: #6366f1 !important; border-radius: 50% !important; animation: ocpc-spin .8s linear infinite !important; flex-shrink: 0 !important; }
#ocpc-overlay .ocpc-gw-empty { font-size: .85rem !important; color: #ef4444 !important; padding: 10px 0 !important; margin: 0 !important; }

#ocpc-overlay .ocpc-gw-option {
    all: unset !important;
    display: flex !important; align-items: center !important; gap: 12px !important;
    padding: 13px 14px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    background: #f8fafc !important;
    transition: border-color .15s, background .15s, box-shadow .15s !important;
    position: relative !important;
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}
#ocpc-overlay .ocpc-gw-option:hover { border-color: #a5b4fc !important; background: #fafbff !important; }
#ocpc-overlay .ocpc-gw-option.is-selected { border-color: #6366f1 !important; background: #eef2ff !important; box-shadow: 0 0 0 3px rgba(99,102,241,.1) !important; }
#ocpc-overlay .ocpc-gw-option input[type="radio"] { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; }

#ocpc-overlay .ocpc-gw-option__radio {
    width: 20px !important; height: 20px !important;
    border: 2px solid #cbd5e1 !important; border-radius: 50% !important;
    flex-shrink: 0 !important; position: relative !important;
    transition: border-color .15s !important; background: #fff !important;
    box-sizing: border-box !important;
}
#ocpc-overlay .ocpc-gw-option__radio::after {
    content: '' !important; position: absolute !important;
    width: 9px !important; height: 9px !important;
    background: #6366f1 !important; border-radius: 50% !important;
    top: 50% !important; left: 50% !important;
    transform: translate(-50%,-50%) scale(0) !important;
    transition: transform .2s cubic-bezier(.34,1.56,.64,1) !important;
}
#ocpc-overlay .ocpc-gw-option.is-selected .ocpc-gw-option__radio { border-color: #6366f1 !important; }
#ocpc-overlay .ocpc-gw-option.is-selected .ocpc-gw-option__radio::after { transform: translate(-50%,-50%) scale(1) !important; }

#ocpc-overlay .ocpc-gw-option__body { flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
#ocpc-overlay .ocpc-gw-option__title { font-size: .9rem !important; font-weight: 600 !important; color: #0f172a !important; font-family: 'DM Sans', sans-serif !important; line-height: 1.2 !important; }
#ocpc-overlay .ocpc-gw-option__desc  { font-size: .75rem !important; color: #64748b !important; line-height: 1.3 !important; font-family: 'DM Sans', sans-serif !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
#ocpc-overlay .ocpc-gw-option__icon { flex-shrink: 0 !important; display: flex !important; align-items: center !important; }
#ocpc-overlay .ocpc-gw-option__icon img { max-height: 22px !important; max-width: 54px !important; object-fit: contain !important; display: block !important; }

/* ═══════════════════════════════
   PLACE ORDER BUTTON — same style as Order Now
═══════════════════════════════ */
#ocpc-overlay .ocpc-submit-wrap {
    display: block !important;
    margin-top: 20px !important;
}

#ocpc-overlay .ocpc-submit-btn {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 20px !important;
    border-radius: 11px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    cursor: pointer !important;
    transition: transform .18s, box-shadow .18s, filter .18s !important;
    position: relative !important;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    letter-spacing: .01em !important;
    line-height: 1.2 !important;
}
#ocpc-overlay .ocpc-submit-btn::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 55%) !important;
    pointer-events: none !important;
}
#ocpc-overlay .ocpc-submit-btn:hover  { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(0,0,0,.22) !important; filter: brightness(1.07) !important; }
#ocpc-overlay .ocpc-submit-btn:active { transform: translateY(0) !important; filter: brightness(.96) !important; }
#ocpc-overlay .ocpc-submit-btn:disabled { opacity: .6 !important; cursor: not-allowed !important; transform: none !important; filter: none !important; }

/* Inner layout: icon · label · total */
#ocpc-overlay .ocpc-submit-btn__text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    pointer-events: none !important;
}
#ocpc-overlay .ocpc-submit-btn__inner {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#ocpc-overlay .ocpc-submit-icon { display: flex !important; align-items: center !important; flex-shrink: 0 !important; }
#ocpc-overlay .ocpc-submit-label { font-weight: 700 !important; font-family: 'DM Sans', sans-serif !important; white-space: nowrap !important; }
#ocpc-overlay .ocpc-submit-total {
    font-weight: 800 !important;
    font-size: 1rem !important;
    font-family: 'Syne', sans-serif !important;
    white-space: nowrap !important;
    opacity: .95 !important;
    padding-left: 8px !important;
    margin-left: 4px !important;
    border-left: 1.5px solid rgba(255,255,255,.4) !important;
}

#ocpc-overlay .ocpc-submit-btn__loader {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: .9rem !important;
    pointer-events: none !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
}

/* ── SECURE NOTE ── */
#ocpc-overlay .ocpc-secure-note { display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; font-size: .72rem !important; color: #94a3b8 !important; margin: 10px 0 0 !important; text-align: center !important; font-family: 'DM Sans', sans-serif !important; }

/* ═══════════════════════════════
   SUCCESS STATE
═══════════════════════════════ */
#ocpc-overlay .ocpc-popup__success { padding: 40px 24px 32px !important; text-align: center !important; }
@media(min-width:600px){ #ocpc-overlay .ocpc-popup__success { padding: 50px 30px 40px !important; } }
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    #ocpc-overlay .ocpc-popup__success { padding-bottom: calc(32px + env(safe-area-inset-bottom)) !important; }
}

#ocpc-overlay .ocpc-success-icon {
    width: 72px !important; height: 72px !important; border-radius: 50% !important;
    background: linear-gradient(135deg,#10b981,#059669) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    margin: 0 auto 18px !important; color: #fff !important;
    box-shadow: 0 8px 24px rgba(16,185,129,.3) !important;
    animation: ocpc-pop .4s cubic-bezier(.34,1.56,.64,1) both !important;
}
#ocpc-overlay .ocpc-popup__success h3 {
    all: unset !important; display: block !important;
    font-family: 'Syne', sans-serif !important; font-size: 1.15rem !important;
    font-weight: 800 !important; color: #0f172a !important; margin-bottom: 8px !important;
}
#ocpc-overlay .ocpc-popup__success p { margin: 0 0 22px !important; color: #64748b !important; font-size: .88rem !important; line-height: 1.5 !important; font-family: 'DM Sans', sans-serif !important; }

#ocpc-overlay .ocpc-success-actions { display: flex !important; flex-direction: column !important; gap: 10px !important; align-items: center !important; }
#ocpc-overlay .ocpc-btn-view-order {
    all: unset !important; display: inline-block !important; cursor: pointer !important;
    padding: 11px 26px !important; border: 2px solid #0f172a !important;
    border-radius: 10px !important; font-family: 'DM Sans', sans-serif !important;
    font-size: .88rem !important; font-weight: 600 !important; color: #0f172a !important;
    text-decoration: none !important; transition: background .15s, color .15s !important; box-sizing: border-box !important;
}
#ocpc-overlay .ocpc-btn-view-order:hover { background: #0f172a !important; color: #fff !important; }
#ocpc-overlay .ocpc-btn-close-success {
    all: unset !important; display: inline-block !important; cursor: pointer !important;
    padding: 13px 28px !important; border-radius: 10px !important;
    font-family: 'DM Sans', sans-serif !important; font-size: .93rem !important;
    font-weight: 600 !important; transition: filter .15s, transform .15s !important;
    -webkit-tap-highlight-color: transparent !important; box-sizing: border-box !important;
}
#ocpc-overlay .ocpc-btn-close-success:active { filter: brightness(.95) !important; transform: scale(.98) !important; }

/* ═══════════════════════════════
   ANIMATIONS
═══════════════════════════════ */
@keyframes ocpc-spin { to { transform: rotate(360deg); } }
@keyframes ocpc-pop  { from { transform:scale(.4); opacity:0; } to { transform:scale(1); opacity:1; } }

/* safe-area for submit */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    #ocpc-overlay .ocpc-popup__body { padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important; }
}

/* ═══════════════════════════════
   SHIPPING METHODS
   Reuses the same .ocpc-gw-option card pattern
═══════════════════════════════ */
#ocpc-overlay .ocpc-shipping-methods {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
}

/* Shipping option card — shares gw styles, just aliased */
#ocpc-overlay .ocpc-shipping-option {
    all: unset !important;
    display: flex !important; align-items: center !important; gap: 12px !important;
    padding: 13px 14px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    background: #f8fafc !important;
    transition: border-color .15s, background .15s, box-shadow .15s !important;
    position: relative !important; box-sizing: border-box !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
}
#ocpc-overlay .ocpc-shipping-option:hover    { border-color: #a5b4fc !important; background: #fafbff !important; }
#ocpc-overlay .ocpc-shipping-option.is-selected { border-color: #6366f1 !important; background: #eef2ff !important; box-shadow: 0 0 0 3px rgba(99,102,241,.1) !important; }
#ocpc-overlay .ocpc-shipping-option input[type="radio"] { position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__radio { width:20px !important; height:20px !important; border:2px solid #cbd5e1 !important; border-radius:50% !important; flex-shrink:0 !important; position:relative !important; background:#fff !important; box-sizing:border-box !important; transition: border-color .15s !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__radio::after { content:'' !important; position:absolute !important; width:9px !important; height:9px !important; background:#6366f1 !important; border-radius:50% !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) scale(0) !important; transition:transform .2s cubic-bezier(.34,1.56,.64,1) !important; }
#ocpc-overlay .ocpc-shipping-option.is-selected .ocpc-gw-option__radio { border-color:#6366f1 !important; }
#ocpc-overlay .ocpc-shipping-option.is-selected .ocpc-gw-option__radio::after { transform:translate(-50%,-50%) scale(1) !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__body { flex:1 !important; display:flex !important; flex-direction:column !important; gap:2px !important; min-width:0 !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__title { font-size:.9rem !important; font-weight:600 !important; color:#0f172a !important; font-family:'DM Sans',sans-serif !important; line-height:1.2 !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__cost  { font-size:.8rem !important; font-weight:700 !important; color:#059669 !important; font-family:'DM Sans',sans-serif !important; }
#ocpc-overlay .ocpc-shipping-option .ocpc-gw-option__cost strong { font-weight:700 !important; color:#059669 !important; }

/* ── STANDALONE BUY NOW (replaces WC ATC on single product) ── */
.ocpc-standalone-wrap { margin: 8px 0; }
