/* EPASS 2.0 — Storefront UI
 * One scoped design system for Cart, Mini-Cart and Checkout.
 * The active WordPress theme remains responsible for the site header/footer.
 */
.epass-cart-page,
.epass-checkout-page,
.epass-thankyou-page,
.epass-mini-cart{--epass-accent:#111111;--epass-accent-2:#3b3b3b;--epass-bg:#f5f6f8;--epass-surface:#ffffff;--epass-surface-2:#f8f9fb;--epass-ink:#111318;--epass-muted:#707782;--epass-border:#e4e7ec;--epass-glow:rgba(17,19,24,.12);--epass-radius:18px;--epass-control-radius:12px;--epass-shadow:0 18px 55px rgba(15,23,42,.08);box-sizing:border-box;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--epass-ink)}
.epass-cart-page *, .epass-checkout-page *, .epass-thankyou-page *, .epass-mini-cart *{box-sizing:border-box}
.epass-cart-page a,.epass-checkout-page a,.epass-thankyou-page a,.epass-mini-cart a{text-decoration:none}
.epass-cart-page button,.epass-cart-page input,.epass-checkout-page button,.epass-checkout-page input,.epass-checkout-page textarea,.epass-checkout-page select,.epass-mini-cart button,.epass-mini-cart input{font:inherit}

/* -------------------- Themes -------------------- */
.epass-theme-apple{--epass-accent:#050505;--epass-accent-2:#303030;--epass-bg:#f5f5f7;--epass-surface:#fff;--epass-surface-2:#f7f7f8;--epass-ink:#111;--epass-muted:#777;--epass-border:#dedee3;--epass-glow:rgba(0,0,0,.13);--epass-radius:20px;--epass-control-radius:13px}
.epass-theme-google{--epass-accent:#1a73e8;--epass-accent-2:#4285f4;--epass-bg:#f7f9fc;--epass-surface:#fff;--epass-surface-2:#f8fafc;--epass-ink:#202124;--epass-muted:#6b7280;--epass-border:#dfe5ee;--epass-glow:rgba(26,115,232,.16);--epass-radius:14px;--epass-control-radius:10px}
.epass-theme-paypal{--epass-accent:#0070ba;--epass-accent-2:#003087;--epass-bg:#f4f7fa;--epass-surface:#fff;--epass-surface-2:#f8fafc;--epass-ink:#12304a;--epass-muted:#657789;--epass-border:#d9e2eb;--epass-glow:rgba(0,112,186,.15);--epass-radius:12px;--epass-control-radius:8px}
.epass-theme-stripe{--epass-accent:#635bff;--epass-accent-2:#7a73ff;--epass-bg:#f6f7fb;--epass-surface:#fff;--epass-surface-2:#f7f7ff;--epass-ink:#182033;--epass-muted:#697386;--epass-border:#dfe3ed;--epass-glow:rgba(99,91,255,.18);--epass-radius:10px;--epass-control-radius:8px}
.epass-theme-soon{--epass-accent:#8b5cf6;--epass-accent-2:#c084fc;--epass-bg:#0b0d13;--epass-surface:#121620;--epass-surface-2:#171c28;--epass-ink:#f5f7fb;--epass-muted:#929aaa;--epass-border:#252c3b;--epass-glow:rgba(139,92,246,.18);--epass-radius:20px;--epass-control-radius:12px}

/* -------------------- Page shell / header -------------------- */
.epass-cart-page,.epass-checkout-page,.epass-thankyou-page{width:min(1240px,calc(100% - 32px));margin:28px auto 70px;padding:0;color:var(--epass-ink);background:transparent}
.epass-cart-page[dir="rtl"],.epass-checkout-page[dir="rtl"],.epass-thankyou-page[dir="rtl"]{direction:rtl}
.epass-cart-page[dir="ltr"],.epass-checkout-page[dir="ltr"],.epass-thankyou-page[dir="ltr"]{direction:ltr}
.epass-macbar{min-height:74px;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:10px 18px;background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:var(--epass-radius);box-shadow:0 12px 36px var(--epass-glow);direction:inherit!important}
.epass-custom-brand{grid-column:1;display:flex;align-items:center;gap:11px;min-width:0;direction:inherit}
.epass-custom-brand img{width:46px;height:46px;object-fit:contain;display:block;flex:0 0 46px;border-radius:12px}
.epass-custom-brand>div{min-width:0}.epass-custom-brand strong{display:block;color:var(--epass-ink);font-size:16px;line-height:1.15;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epass-custom-brand small{display:block;margin-top:4px;color:var(--epass-muted);font-size:10px;font-weight:700}
.epass-header-center-action{grid-column:2;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:999px;background:var(--epass-accent);border:1px solid var(--epass-accent);color:#fff!important;font-size:11px;font-weight:900;white-space:nowrap;transition:.2s}.epass-header-center-action:hover{transform:translateY(-1px);filter:brightness(1.04)}
.epass-mac-dots{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:8px}.epass-mac-dot{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--epass-border);border-radius:50%;background:var(--epass-surface-2);color:var(--epass-ink);font-size:14px;position:relative}.epass-mac-dot.is-safe:before{content:"";width:8px;height:8px;border-radius:50%;background:#21b26b;box-shadow:0 0 0 5px rgba(33,178,107,.12)}.epass-mac-dot.is-info:before{content:"✓";font-size:11px;font-weight:900}.epass-mac-dot[data-tip]::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;white-space:nowrap;padding:6px 8px;border-radius:7px;background:#111;color:#fff;font-size:9px;opacity:0;pointer-events:none;transform:translateY(-3px);transition:.15s}.epass-mac-dot:hover::after{opacity:1;transform:none}
.epass-cart-page[dir="ltr"] .epass-custom-brand,.epass-checkout-page[dir="ltr"] .epass-custom-brand,.epass-thankyou-page[dir="ltr"] .epass-custom-brand{grid-column:3}.epass-cart-page[dir="ltr"] .epass-mac-dots,.epass-checkout-page[dir="ltr"] .epass-mac-dots,.epass-thankyou-page[dir="ltr"] .epass-mac-dots{grid-column:1;justify-content:flex-start}

/* -------------------- Titles / notices -------------------- */
.epass-cart-title{padding:38px 8px 20px;text-align:inherit}.epass-cart-title>span{font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--epass-accent)}.epass-cart-title h1{margin:8px 0 6px;font-size:34px;line-height:1.12;font-weight:950;color:var(--epass-ink);letter-spacing:-.035em}.epass-cart-title p{margin:0;color:var(--epass-muted);font-size:13px;line-height:1.8}.epass-front-notice{margin:0 0 18px;padding:13px 16px;border:1px solid var(--epass-border);border-radius:12px;background:var(--epass-surface);font-size:12px;font-weight:750}.epass-front-notice.is-error{border-color:#efc2c8;background:#fff5f6;color:#9f2734}.epass-front-notice.is-success{border-color:#bce6d2;background:#f1fcf6;color:#08704a}

/* -------------------- Cart -------------------- */
.epass-cart-layout,.epass-cart-layout-v18{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr);gap:20px;align-items:start;direction:inherit}.epass-cart-card,.epass-summary-card{background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:var(--epass-radius);box-shadow:var(--epass-shadow);overflow:hidden}.epass-cart-card{padding:24px}.epass-summary-card{padding:22px}.epass-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.epass-section-heading>div>span{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--epass-accent)}.epass-section-heading h2{margin:5px 0 4px;color:var(--epass-ink);font-size:20px;line-height:1.25;font-weight:900}.epass-section-heading p{margin:0;color:var(--epass-muted);font-size:11px;line-height:1.75}.epass-secure-pill{padding:6px 10px;border:1px solid var(--epass-border);border-radius:999px;color:var(--epass-accent);font-size:9px;font-weight:900;background:var(--epass-surface-2)}
.epass-cart-items{border-top:1px solid var(--epass-border)}.epass-cart-item{display:grid;grid-template-columns:74px minmax(0,1fr) 116px 100px 34px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--epass-border)}.epass-cart-product-image{width:74px;height:74px;border-radius:var(--epass-control-radius);overflow:hidden;background:var(--epass-surface-2);border:1px solid var(--epass-border)}.epass-cart-product-image img{display:block;width:100%;height:100%;object-fit:cover}.epass-cart-product-main h3{margin:0 0 6px;color:var(--epass-ink);font-size:14px;font-weight:850}.epass-cart-unit-price{color:var(--epass-muted);font-size:11px}.epass-qty-control{display:flex;align-items:center;justify-content:center;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);overflow:hidden;background:var(--epass-surface-2);height:38px}.epass-qty-control button{width:34px;height:38px;border:0;background:transparent;color:var(--epass-ink);cursor:pointer;font-size:17px}.epass-qty-control input{width:48px;height:38px;border:0;background:transparent;color:var(--epass-ink);text-align:center;outline:0;font-weight:850}.epass-cart-line-total{font-size:12px;font-weight:900;color:var(--epass-ink);text-align:end}.epass-remove-item{width:34px;height:34px;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface-2);color:#b32835;font-size:20px;cursor:pointer}.epass-cart-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px}.epass-cart-actions>a{color:var(--epass-accent);font-size:11px;font-weight:850}
.epass-summary-card .epass-section-heading{margin-bottom:12px}.epass-summary-lines{padding:10px 0;border-top:1px solid var(--epass-border);border-bottom:1px solid var(--epass-border)}.epass-summary-lines>div,.epass-summary-total{display:flex;align-items:center;justify-content:space-between;gap:15px}.epass-summary-lines>div{padding:8px 0;font-size:11px}.epass-summary-lines span{color:var(--epass-muted)}.epass-summary-lines strong{color:var(--epass-ink);font-weight:850}.epass-summary-total{padding:17px 0;color:var(--epass-ink);font-size:13px}.epass-summary-total strong{font-size:22px;font-weight:950}.epass-trust-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--epass-border)}.epass-trust-row>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#effaf5}.epass-trust-row strong,.epass-trust-row small{display:block}.epass-trust-row strong{font-size:10px}.epass-trust-row small{margin-top:3px;color:var(--epass-muted);font-size:9px;line-height:1.5}
.epass-coupon-form{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding:15px 17px;border:1px solid var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface)}.epass-coupon-form label{font-size:11px;font-weight:850;color:var(--epass-ink)}.epass-coupon-form>div{display:flex;gap:8px}.epass-coupon-form input{height:42px;min-width:230px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);background:var(--epass-surface-2);color:var(--epass-ink);padding:0 12px;outline:0}

/* -------------------- Checkout -------------------- */
.epass-checkout-page{background:var(--epass-bg);border-radius:var(--epass-radius);padding:16px}.epass-checkout-page .epass-simple-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:20px;align-items:start;direction:inherit;margin-top:20px}.epass-checkout-main,.epass-checkout-side{min-width:0;display:grid;gap:16px}.epass-checkout-side{position:relative}.epass-sticky-summary{position:sticky;top:18px}
.epass-checkout-card,.epass-checkout-page .epass-summary-card,.epass-payment-panel,.epass-side-info-card,.epass-ad-card,.epass-receipt-card{background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:var(--epass-radius);box-shadow:var(--epass-shadow)}.epass-checkout-card,.epass-payment-panel,.epass-side-info-card,.epass-ad-card,.epass-receipt-card{padding:22px}.epass-checkout-page .epass-summary-card{padding:20px}.epass-mini-products{display:grid;gap:0;border-top:1px solid var(--epass-border)}.epass-mini-products>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--epass-border)}.epass-mini-products>div>span:last-child{display:grid;gap:3px;min-width:0}.epass-mini-products strong{font-size:11px;color:var(--epass-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epass-mini-products small{font-size:10px;color:var(--epass-muted)}.epass-mini-thumb{position:relative;width:52px;height:52px;flex:0 0 52px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);overflow:hidden;background:var(--epass-surface-2)}.epass-mini-thumb img{display:block;width:100%;height:100%;object-fit:cover}.epass-mini-thumb b{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--epass-accent);color:#fff;font-size:8px}
.epass-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.epass-form-grid label{display:grid;gap:6px;color:var(--epass-ink);font-size:11px;font-weight:800}.epass-form-grid label.epass-field-full{grid-column:1/-1}.epass-form-grid input,.epass-form-grid select,.epass-form-grid textarea,.epass-manual-grid input{width:100%;height:46px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);background:var(--epass-surface-2);color:var(--epass-ink);padding:0 12px;outline:0;transition:.18s}.epass-form-grid textarea{height:auto;min-height:100px;padding:12px;resize:vertical}.epass-form-grid input:focus,.epass-form-grid select:focus,.epass-form-grid textarea:focus,.epass-manual-grid input:focus{border-color:var(--epass-accent);box-shadow:0 0 0 3px var(--epass-glow)}
.epass-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.epass-payment-option{display:block;cursor:pointer}.epass-payment-option input{position:absolute;opacity:0;pointer-events:none}.epass-payment-option-inner{min-height:78px;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);background:var(--epass-surface-2);transition:.2s}.epass-payment-option:hover .epass-payment-option-inner{transform:translateY(-1px);border-color:var(--epass-accent)}.epass-payment-option input:checked+.epass-payment-option-inner{border-color:var(--epass-accent);box-shadow:0 0 0 2px var(--epass-accent),0 12px 25px var(--epass-glow);background:var(--epass-surface)}.epass-method-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;background:var(--epass-surface);border:1px solid var(--epass-border);overflow:hidden;color:var(--epass-accent);font-weight:950}.epass-method-avatar img{width:100%;height:100%;object-fit:contain}.epass-payment-copy{min-width:0;flex:1}.epass-payment-copy strong{font-size:12px;color:var(--epass-ink);font-weight:900}.epass-payment-radio{width:17px;height:17px;flex:0 0 17px;border:2px solid var(--epass-border);border-radius:50%;position:relative}.epass-payment-option input:checked+.epass-payment-option-inner .epass-payment-radio{border-color:var(--epass-accent)}.epass-payment-option input:checked+.epass-payment-option-inner .epass-payment-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--epass-accent)}
.epass-method-details-large,.epass-payment-detail-premium{margin-top:14px}.epass-payment-detail-premium{padding:16px;border:1px solid var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface-2)}.epass-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start}.epass-detail-top h3{margin:0 0 5px;font-size:17px;color:var(--epass-ink)}.epass-detail-top p{margin:0;color:var(--epass-muted);font-size:10px}.epass-data-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--epass-border)}.epass-data-row span{font-size:10px;color:var(--epass-muted)}.epass-data-row strong{font-size:12px;color:var(--epass-ink);text-align:end}.epass-copy{border:0;border-radius:8px;padding:6px 9px;background:var(--epass-accent);color:#fff;cursor:pointer;font-size:9px;font-weight:850}.epass-qr-stage{padding:12px;border:1px solid var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface);text-align:center}.epass-qr-label{margin-bottom:8px;color:var(--epass-ink);font-size:10px;font-weight:900}.epass-qr-stage .epass-qr-wrapper{width:180px;height:180px;margin:0 auto;padding:8px}.epass-qr-stage .epass-qr-image{width:100%;height:100%}.epass-qr-stage small{display:block;margin-top:7px;color:var(--epass-muted);font-size:8px;line-height:1.5}.epass-transfer-instructions{margin-top:12px;padding:12px;border-radius:10px;background:var(--epass-surface);border:1px solid var(--epass-border);color:var(--epass-muted);font-size:10px;line-height:1.7}.epass-transfer-instructions>span{display:block;margin-bottom:5px;color:var(--epass-ink);font-weight:900}.epass-direct-pay{display:inline-flex;margin-top:10px;min-height:38px;align-items:center;padding:0 12px;border-radius:10px;background:var(--epass-accent);color:#fff!important;font-size:10px;font-weight:850}.epass-copy-all{margin-top:10px}
.epass-payment-complete-action{margin-top:12px}.epass-receipt-card{margin-top:14px}.epass-receipt-heading{margin-bottom:14px}.epass-receipt-heading span{font-size:9px;letter-spacing:.12em;color:var(--epass-accent);font-weight:900}.epass-receipt-heading h3{margin:5px 0;color:var(--epass-ink);font-size:18px}.epass-receipt-heading p{margin:0;color:var(--epass-muted);font-size:10px}.epass-proof-mode-switch{display:flex;gap:8px;margin-bottom:14px}.epass-proof-mode-switch button{min-height:38px;padding:0 12px;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface-2);color:var(--epass-ink);font-size:10px;font-weight:850;cursor:pointer}.epass-proof-mode-switch button.is-active{background:var(--epass-accent);border-color:var(--epass-accent);color:#fff}.epass-upload-zone{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface-2);text-align:center;cursor:pointer}.epass-upload-zone input{display:none}.epass-upload-icon{font-size:25px;color:var(--epass-accent)}.epass-upload-zone strong{font-size:11px}.epass-upload-zone small{font-size:9px;color:var(--epass-muted)}.epass-manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.epass-manual-grid label{display:grid;gap:6px;font-size:10px;font-weight:800}.epass-confirm-row{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:var(--epass-muted);font-size:9px;line-height:1.6}.epass-confirm-row input{margin-top:2px}.epass-receipt-note{margin-top:13px;color:var(--epass-muted);font-size:9px}.epass-receipt-note span{color:#1b9d63;font-weight:900}.epass-help-card p{margin:8px 0 0;color:var(--epass-muted);font-size:10px;line-height:1.7}.epass-side-card-title{display:flex;align-items:center;gap:8px;color:var(--epass-ink)}.epass-side-card-title>span{color:var(--epass-accent)}.epass-side-card-title strong{font-size:13px}.epass-side-card-title small{margin-inline-start:auto;color:var(--epass-muted);font-size:8px}.epass-support-contact{margin-top:10px;position:relative}.epass-support-phone{width:100%;min-height:38px;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface-2);color:var(--epass-ink);cursor:pointer;font-size:10px;font-weight:850}.epass-support-menu{position:absolute;z-index:30;top:calc(100% + 7px);inset-inline:0;padding:6px;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface);box-shadow:var(--epass-shadow)}.epass-support-menu button,.epass-support-menu a{display:block;width:100%;padding:8px;border:0;background:transparent;color:var(--epass-ink);font-size:10px;text-align:inherit;cursor:pointer}.epass-ad-card{overflow:hidden}.epass-ad-carousel{margin-top:10px;position:relative;aspect-ratio:16/7;overflow:hidden;border-radius:calc(var(--epass-radius) - 5px);background:var(--epass-surface-2)}.epass-ad-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:.35s}.epass-ad-slide.is-active{opacity:1;visibility:visible}.epass-ad-slide img{display:block;width:100%;height:100%;object-fit:cover}.epass-ad-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}.epass-ad-dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:var(--epass-border);cursor:pointer}.epass-ad-dots button.is-active{background:var(--epass-accent)}
.epass-right-actions{display:flex;flex-direction:column;gap:9px}.epass-primary-button,.epass-secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border-radius:var(--epass-control-radius);font-size:11px;font-weight:900;cursor:pointer;transition:.2s}.epass-primary-button{background:var(--epass-accent);border:1px solid var(--epass-accent);color:#fff!important;box-shadow:0 13px 28px var(--epass-glow)}.epass-primary-button:hover{transform:translateY(-1px);filter:brightness(1.04)}.epass-secondary-button{background:var(--epass-surface);border:1px solid var(--epass-border);color:var(--epass-ink)}.epass-secondary-button:hover{border-color:var(--epass-accent)}.epass-full-button{width:100%}.epass-place-order:disabled{opacity:.5;cursor:not-allowed;transform:none}.epass-terms-note{margin:0;color:var(--epass-muted);font-size:9px;text-align:center}.epass-secure-message{margin:22px 0 10px;padding:11px 14px;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface);color:var(--epass-muted);font-size:9px;text-align:center}
.epass-checkout-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding:18px 4px;border-top:1px solid var(--epass-border);color:var(--epass-muted);font-size:9px}.epass-footer-trust{display:grid;gap:3px}.epass-footer-trust strong{color:var(--epass-ink);font-size:10px}.epass-footer-trust small{font-size:8px}.epass-footer-clean a,.epass-powered-footer a{color:var(--epass-accent);font-weight:900}

/* -------------------- Theme personalities -------------------- */
.epass-theme-apple .epass-cart-page,.epass-theme-apple.epass-cart-page{background:#f5f5f7}.epass-theme-apple .epass-macbar{box-shadow:0 12px 30px rgba(0,0,0,.06)}.epass-theme-apple .epass-primary-button{border-radius:999px}.epass-theme-apple .epass-cart-card,.epass-theme-apple .epass-summary-card,.epass-theme-apple .epass-checkout-card,.epass-theme-apple .epass-payment-panel{box-shadow:0 15px 45px rgba(0,0,0,.055)}
.epass-theme-google .epass-primary-button{border-radius:999px}.epass-theme-google .epass-cart-card,.epass-theme-google .epass-summary-card,.epass-theme-google .epass-checkout-card,.epass-theme-google .epass-payment-panel{box-shadow:0 8px 24px rgba(32,33,36,.06)}.epass-theme-google .epass-payment-option-inner{border-radius:10px}
.epass-theme-paypal .epass-primary-button{background:linear-gradient(135deg,#003087,#0070ba);border-color:#0070ba}.epass-theme-paypal .epass-header-center-action{background:#003087;border-color:#003087}.epass-theme-paypal .epass-payment-option-inner{border-radius:8px}.epass-theme-paypal .epass-cart-card,.epass-theme-paypal .epass-summary-card,.epass-theme-paypal .epass-checkout-card,.epass-theme-paypal .epass-payment-panel{box-shadow:0 7px 24px rgba(0,48,135,.07)}
.epass-theme-stripe .epass-primary-button{background:linear-gradient(135deg,#635bff,#7a73ff);border-color:#635bff}.epass-theme-stripe .epass-header-center-action{background:#635bff;border-color:#635bff}.epass-theme-stripe .epass-payment-option-inner{border-radius:8px}.epass-theme-stripe .epass-cart-card,.epass-theme-stripe .epass-summary-card,.epass-theme-stripe .epass-checkout-card,.epass-theme-stripe .epass-payment-panel{box-shadow:0 10px 32px rgba(99,91,255,.08)}
.epass-theme-soon .epass-cart-page,.epass-theme-soon.epass-cart-page{background:#0b0d13}.epass-theme-soon .epass-cart-title h1,.epass-theme-soon .epass-section-heading h2,.epass-theme-soon .epass-custom-brand strong,.epass-theme-soon .epass-cart-product-main h3,.epass-theme-soon .epass-summary-total,.epass-theme-soon .epass-summary-total strong{color:#fff}.epass-theme-soon .epass-cart-title p,.epass-theme-soon .epass-section-heading p,.epass-theme-soon .epass-cart-unit-price,.epass-theme-soon .epass-summary-lines span{color:#9aa2b1}.epass-theme-soon .epass-macbar,.epass-theme-soon .epass-cart-card,.epass-theme-soon .epass-summary-card,.epass-theme-soon .epass-checkout-card,.epass-theme-soon .epass-payment-panel,.epass-theme-soon .epass-side-info-card,.epass-theme-soon .epass-ad-card,.epass-theme-soon .epass-receipt-card{background:#121620;border-color:#252c3b;box-shadow:0 25px 80px rgba(0,0,0,.35)}.epass-theme-soon .epass-primary-button{background:linear-gradient(135deg,#7c3aed,#c084fc);border-color:#8b5cf6}.epass-theme-soon .epass-secondary-button{background:#171c28;border-color:#2b3445;color:#fff}.epass-theme-soon .epass-form-grid input,.epass-theme-soon .epass-form-grid select,.epass-theme-soon .epass-form-grid textarea,.epass-theme-soon .epass-payment-option-inner,.epass-theme-soon .epass-surface-2{background:#171c28;color:#fff;border-color:#2b3445}

/* -------------------- Mini cart drawer -------------------- */
.epass-mini-cart-backdrop{position:fixed!important;inset:0!important;z-index:999990!important;background:rgba(4,8,16,.52)!important;backdrop-filter:blur(7px);opacity:0;transition:opacity .25s}.epass-mini-cart-backdrop[hidden]{display:none!important}.epass-mini-cart-backdrop.is-open{opacity:1}
.epass-mini-cart-drawer{position:fixed!important;top:0!important;bottom:0!important;inset-inline-end:0;width:min(440px,94vw);z-index:999991!important;padding:0!important;margin:0!important;overflow:auto;background:var(--epass-bg,#f5f6f8);box-shadow:0 0 90px rgba(0,0,0,.3);transform:translateX(110%);transition:transform .34s cubic-bezier(.2,.8,.2,1)}.epass-mini-cart-drawer[aria-hidden="true"]{pointer-events:none}.epass-mini-cart-drawer.is-open{transform:translateX(0)}.epass-mini-cart-drawer.is-ltr{inset-inline-start:0!important;inset-inline-end:auto!important;transform:translateX(-110%)}.epass-mini-cart-drawer.is-ltr.is-open{transform:translateX(0)}
.epass-mini-cart{min-height:100%;width:100%;padding:22px;background:var(--epass-bg);color:var(--epass-ink)}.epass-mini-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0 17px;border-bottom:1px solid var(--epass-border)}.epass-mini-cart-head span{display:block;color:var(--epass-accent);font-size:9px;letter-spacing:.16em;font-weight:950}.epass-mini-cart-head h3{margin:4px 0 0;color:var(--epass-ink);font-size:23px;font-weight:950}.epass-mini-close{width:38px;height:38px;border:1px solid var(--epass-border);border-radius:50%;background:var(--epass-surface);color:var(--epass-ink);cursor:pointer;font-size:21px}.epass-mini-promo{display:flex;align-items:flex-start;gap:9px;margin:15px 0;padding:13px 14px;border-radius:var(--epass-radius);background:var(--epass-accent);color:#fff;box-shadow:0 14px 30px var(--epass-glow);font-size:11px;font-weight:800;line-height:1.65}.epass-mini-items{display:grid;gap:10px;margin:14px 0}.epass-mini-item{display:flex;gap:11px;padding:11px;background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:var(--epass-radius);box-shadow:0 7px 24px rgba(15,23,42,.045)}.epass-mini-thumb{width:66px;height:66px;flex:0 0 66px;border-radius:var(--epass-control-radius);overflow:hidden;background:var(--epass-surface-2);border:1px solid var(--epass-border)}.epass-mini-thumb img{width:100%!important;height:100%!important;display:block;object-fit:cover}.epass-mini-info{display:grid;align-content:start;gap:3px;min-width:0;flex:1}.epass-mini-info>strong{color:var(--epass-ink);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.epass-mini-info>small{color:var(--epass-accent);font-size:10px;font-weight:900}.epass-mini-qty{display:flex;align-items:center;gap:6px;margin-top:4px}.epass-mini-qty button{width:27px;height:27px;border:1px solid var(--epass-border);border-radius:8px;background:var(--epass-surface-2);color:var(--epass-ink);cursor:pointer}.epass-mini-qty b{min-width:18px;text-align:center;color:var(--epass-ink);font-size:10px}.epass-mini-remove{margin-inline-start:auto!important;width:auto!important;border:0!important;background:transparent!important;color:#b32835!important;font-size:9px!important}.epass-mini-coupon{margin-top:14px;padding:14px;border:1px solid var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface)}.epass-mini-coupon label{display:block;margin-bottom:7px;color:var(--epass-ink);font-size:10px;font-weight:900}.epass-mini-coupon>div{display:flex;gap:7px}.epass-mini-coupon input{min-width:0;flex:1;height:42px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);background:var(--epass-surface-2);color:var(--epass-ink);padding:0 11px;outline:0}.epass-mini-apply{height:42px;padding:0 14px;border:1px solid var(--epass-accent);border-radius:var(--epass-control-radius);background:var(--epass-accent);color:#fff;cursor:pointer;font-size:10px;font-weight:900}.epass-mini-coupon-msg{display:block;min-height:15px;margin-top:6px;color:var(--epass-accent);font-size:9px}.epass-mini-totals{margin-top:12px;padding:15px;border:1px solid var(--epass-border);border-radius:var(--epass-radius);background:var(--epass-surface)}.epass-mini-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;color:var(--epass-muted);font-size:10px}.epass-mini-totals b{color:var(--epass-ink)}.epass-mini-totals .is-discount b{color:#16945a}.epass-mini-totals .is-total{margin-top:5px;padding-top:13px;border-top:1px solid var(--epass-border);color:var(--epass-ink)}.epass-mini-totals .is-total strong{color:var(--epass-ink);font-size:19px}.epass-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.epass-mini-actions a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--epass-control-radius);font-size:10px;font-weight:900}.epass-mini-cart-btn{background:var(--epass-surface);border:1px solid var(--epass-border);color:var(--epass-ink)}.epass-mini-checkout-btn{background:var(--epass-accent);border:1px solid var(--epass-accent);color:#fff!important;box-shadow:0 12px 26px var(--epass-glow)}.epass-mini-empty{min-height:240px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;color:var(--epass-muted)}.epass-mini-empty span{font-size:40px}.epass-mini-empty strong{color:var(--epass-ink);font-size:17px}.epass-mini-empty small{font-size:10px}

/* Ensure the drawer never becomes inline content inside a footer/theme container. */
body.epass-mini-cart-open{overflow:hidden!important}
.epass-mini-cart-drawer,.epass-mini-cart-backdrop{isolation:isolate}

/* -------------------- Direction / responsive -------------------- */
.epass-cart-page[dir="rtl"] .epass-cart-layout,.epass-checkout-page[dir="rtl"] .epass-simple-layout{direction:rtl}.epass-cart-page[dir="ltr"] .epass-cart-layout,.epass-checkout-page[dir="ltr"] .epass-simple-layout{direction:ltr}
.epass-cart-page[dir="rtl"] .epass-cart-line-total,.epass-checkout-page[dir="rtl"] .epass-data-row strong{text-align:left}.epass-cart-page[dir="ltr"] .epass-cart-line-total,.epass-checkout-page[dir="ltr"] .epass-data-row strong{text-align:right}
@media(max-width:900px){.epass-cart-page,.epass-checkout-page,.epass-thankyou-page{width:calc(100% - 20px);margin:14px auto 45px}.epass-cart-layout,.epass-checkout-page .epass-simple-layout{grid-template-columns:1fr}.epass-checkout-side{order:2}.epass-checkout-main{order:1}.epass-sticky-summary{position:static}.epass-detail-layout{grid-template-columns:1fr}.epass-manual-grid{grid-template-columns:1fr}.epass-payment-grid{grid-template-columns:1fr}.epass-form-grid{grid-template-columns:1fr}.epass-coupon-form{align-items:stretch;flex-direction:column}.epass-coupon-form>div{width:100%}.epass-coupon-form input{min-width:0;flex:1}.epass-cart-item{grid-template-columns:64px minmax(0,1fr) 34px;gap:10px}.epass-cart-product-image{width:64px;height:64px}.epass-qty-control,.epass-cart-line-total{grid-column:2}.epass-remove-item{grid-column:3;grid-row:1}.epass-cart-actions{flex-direction:column;align-items:stretch}.epass-header-center-action{grid-column:2}.epass-macbar{grid-template-columns:1fr auto;min-height:68px}.epass-custom-brand{grid-column:1!important}.epass-mac-dots{grid-column:2!important;justify-content:flex-end}.epass-header-center-action{display:none}.epass-mini-actions{grid-template-columns:1fr}.epass-checkout-footer{flex-direction:column;align-items:flex-start}.epass-ad-carousel{aspect-ratio:16/8}}
@media(max-width:520px){.epass-cart-page,.epass-checkout-page,.epass-thankyou-page{width:100%;padding:10px;margin:0 auto 35px}.epass-cart-title{padding:28px 4px 16px}.epass-cart-title h1{font-size:28px}.epass-cart-card,.epass-summary-card,.epass-checkout-card,.epass-payment-panel,.epass-side-info-card,.epass-ad-card,.epass-receipt-card{padding:15px}.epass-mini-cart-drawer{width:100vw}.epass-mini-cart{padding:18px}.epass-custom-brand img{width:40px;height:40px;flex-basis:40px}.epass-custom-brand strong{font-size:14px}}


/* EPASS 2.0 — drawer isolation: never let the active theme turn the mini-cart
   into normal document flow. It is a viewport-level UI surface. */
html body .epass-mini-cart-backdrop{position:fixed!important;inset:0!important;display:block;visibility:hidden;pointer-events:none;opacity:0;}
html body .epass-mini-cart-backdrop.is-open{visibility:visible;pointer-events:auto;opacity:1;}
html body .epass-mini-cart-drawer{position:fixed!important;top:0!important;bottom:0!important;right:0!important;left:auto!important;width:min(460px,94vw)!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;display:block!important;visibility:visible!important;overflow:hidden!important;transform:translate3d(110%,0,0);}
html body .epass-mini-cart-drawer.is-open{transform:translate3d(0,0,0);}
html body .epass-mini-cart-drawer.is-ltr{left:0!important;right:auto!important;transform:translate3d(-110%,0,0);}
html body .epass-mini-cart-drawer.is-ltr.is-open{transform:translate3d(0,0,0);}
html body .epass-mini-cart-drawer #epass-mini-cart-content{height:100%;max-height:100%;overflow:hidden;}
html body .epass-mini-cart-drawer .epass-mini-cart{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;}
html body.epass-mini-cart-open{overflow:hidden!important;}
@media(max-width:520px){html body .epass-mini-cart-drawer{width:100vw!important;}}

/* EPASS 2.0 — Cart / Checkout are full-window plugin surfaces.
 * The active theme template is bypassed by PageManager; these rules also guard
 * against theme-level body margins, max-widths and background wrappers leaking in.
 */
html.epass-standalone-html,
html.epass-standalone-html body.epass-standalone-body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}
body.epass-standalone-body {
    overflow-x: hidden !important;
}
body.epass-standalone-body .epass-cart-page,
body.epass-standalone-body .epass-checkout-page,
body.epass-standalone-body .epass-thankyou-page {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 28px clamp(18px, 4vw, 56px) 42px !important;
    border-radius: 0 !important;
}
body.epass-standalone-body .epass-cart-page,
body.epass-standalone-body .epass-checkout-page {
    background: var(--epass-bg) !important;
}
body.epass-standalone-body .epass-macbar {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
}
body.epass-standalone-body .epass-cart-title,
body.epass-standalone-body .epass-cart-layout,
body.epass-standalone-body .epass-checkout-form,
body.epass-standalone-body .epass-front-notice,
body.epass-standalone-body .epass-secure-message,
body.epass-standalone-body .epass-checkout-footer,
body.epass-standalone-body .epass-empty-store {
    max-width: 1440px;
    margin-inline: auto;
}
body.epass-standalone-body .epass-checkout-page .epass-simple-layout {
    max-width: 1440px;
    margin-inline: auto;
}
body.epass-standalone-body .epass-checkout-footer {
    margin-top: 28px;
}


/* =====================================================================
   EPASS 2.0 — Luxury checkout system / real preset skins
   These selectors intentionally target the EPASS root itself so the preset
   remains effective even when WordPress/WooCommerce/theme CSS is aggressive.
   ===================================================================== */
.epass-checkout-page,
.epass-cart-page{--epass-accent:#111;--epass-accent-2:#333;--epass-bg:#f5f5f7;--epass-surface:#fff;--epass-surface-2:#f8f8fa;--epass-ink:#111;--epass-muted:#777;--epass-border:#e4e4e8;--epass-glow:rgba(0,0,0,.12);--epass-radius:22px;--epass-control-radius:14px;--epass-shadow:0 20px 60px rgba(17,17,17,.07)}
.epass-checkout-page .epass-native-gateway-body[hidden],.epass-checkout-page .epass-manual-gateway-body[hidden]{display:none!important}
.epass-checkout-page .epass-native-gateway-option,.epass-checkout-page .epass-manual-gateway-option{position:relative;margin-top:10px}
.epass-checkout-page .epass-native-gateway-choice{display:block;cursor:pointer}
.epass-checkout-page .epass-native-gateway-choice>input{position:absolute;opacity:0;pointer-events:none}
.epass-checkout-page .epass-native-gateway-card{min-height:78px;display:flex;align-items:center;gap:14px;padding:15px 16px;background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);transition:.2s ease;box-shadow:0 8px 26px rgba(0,0,0,.035)}
.epass-checkout-page .epass-native-gateway-choice>input:checked+.epass-native-gateway-card,.epass-checkout-page .epass-native-gateway-option.is-selected>.epass-native-gateway-choice .epass-native-gateway-card,.epass-checkout-page .epass-manual-gateway-option.is-selected>.epass-native-gateway-choice .epass-native-gateway-card{border-color:var(--epass-accent);box-shadow:0 14px 32px var(--epass-glow);transform:translateY(-1px)}
.epass-checkout-page .epass-native-gateway-logo{width:56px;height:40px;display:grid;place-items:center;flex:0 0 56px;overflow:hidden}.epass-checkout-page .epass-native-gateway-logo img,.epass-checkout-page .epass-native-gateway-logo img{max-width:100%;max-height:38px}.epass-checkout-page .epass-native-gateway-logo img{object-fit:contain}.epass-checkout-page .epass-gateway-fallback{font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--epass-accent)}
.epass-checkout-page .epass-native-gateway-copy{display:grid;gap:4px;min-width:0;flex:1}.epass-checkout-page .epass-native-gateway-copy strong{font-size:13px;color:var(--epass-ink);font-weight:950}.epass-checkout-page .epass-native-gateway-copy small{font-size:10px;line-height:1.5;color:var(--epass-muted)}
.epass-checkout-page .epass-native-radio{width:20px;height:20px;border:2px solid var(--epass-border);border-radius:50%;position:relative;flex:0 0 20px}.epass-checkout-page .epass-native-gateway-choice>input:checked+.epass-native-gateway-card .epass-native-radio{border-color:var(--epass-accent)}.epass-checkout-page .epass-native-gateway-choice>input:checked+.epass-native-gateway-card .epass-native-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--epass-accent)}
.epass-checkout-page .epass-native-gateway-body{margin:8px 0 4px;padding:18px;border:1px solid var(--epass-border);border-radius:var(--epass-control-radius);background:var(--epass-surface-2)}
.epass-checkout-page .epass-native-gateway-body .payment_box,.epass-checkout-page .epass-native-gateway-body fieldset{margin:0!important;padding:0!important;background:transparent!important;border:0!important}.epass-checkout-page .epass-native-gateway-body label{color:var(--epass-ink)}
.epass-checkout-page .epass-native-gateway-body input[type=text],.epass-checkout-page .epass-native-gateway-body input[type=email],.epass-checkout-page .epass-native-gateway-body input[type=number],.epass-checkout-page .epass-native-gateway-body input[type=tel],.epass-checkout-page .epass-native-gateway-body input[type=password],.epass-checkout-page .epass-native-gateway-body select,.epass-checkout-page .epass-native-gateway-body textarea{min-height:46px;width:100%;border:1px solid var(--epass-border);border-radius:10px;background:var(--epass-surface);color:var(--epass-ink);padding:0 13px;box-shadow:none}

/* Luxury base layout */
.epass-checkout-page{position:relative;overflow:hidden;background:var(--epass-bg)!important;border:0!important;border-radius:0!important;padding:32px clamp(18px,5vw,76px) 56px!important}
.epass-checkout-page:before{content:"";position:absolute;inset:0 0 auto;height:260px;background:radial-gradient(circle at 78% 10%,var(--epass-glow),transparent 60%);pointer-events:none}
.epass-checkout-page .epass-macbar{position:relative;z-index:1;min-height:76px;border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 55px rgba(0,0,0,.08);padding:12px 18px}
.epass-checkout-page .epass-cart-title,.epass-checkout-page .epass-front-notice{position:relative;z-index:1}
.epass-checkout-page .epass-checkout-form{position:relative;z-index:1;max-width:1320px;margin:22px auto 0}
.epass-checkout-page .epass-simple-layout{grid-template-columns:minmax(0,1.55fr) minmax(360px,.78fr)!important;gap:24px!important;align-items:start}
.epass-checkout-page .epass-checkout-main{gap:18px}.epass-checkout-page .epass-checkout-side{gap:18px}
.epass-checkout-page .epass-summary-card,.epass-checkout-page .epass-checkout-card,.epass-checkout-page .epass-payment-panel,.epass-checkout-page .epass-side-info-card,.epass-checkout-page .epass-ad-card,.epass-checkout-page .epass-receipt-card{border:1px solid var(--epass-border)!important;background:var(--epass-surface)!important;border-radius:var(--epass-radius)!important;box-shadow:var(--epass-shadow)!important}
.epass-checkout-page .epass-section-heading span,.epass-checkout-page .epass-section-heading>div>span{letter-spacing:.16em;font-weight:950}.epass-checkout-page .epass-section-heading h2{font-size:24px;letter-spacing:-.03em}.epass-checkout-page .epass-form-grid{gap:14px}.epass-checkout-page .epass-form-grid label{font-size:10px;font-weight:900;color:var(--epass-ink)}
.epass-checkout-page .epass-form-grid input,.epass-checkout-page .epass-form-grid select,.epass-checkout-page .epass-form-grid textarea{min-height:52px!important;border:1px solid var(--epass-border)!important;background:var(--epass-surface-2)!important;color:var(--epass-ink)!important;border-radius:var(--epass-control-radius)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 12px rgba(0,0,0,.025)!important;padding:0 15px!important}
.epass-checkout-page .epass-form-grid textarea{padding-top:13px!important}.epass-checkout-page .epass-form-grid input:focus,.epass-checkout-page .epass-form-grid select:focus,.epass-checkout-page .epass-form-grid textarea:focus{outline:0!important;border-color:var(--epass-accent)!important;box-shadow:0 0 0 4px var(--epass-glow)!important}
.epass-checkout-page .epass-primary-button{min-height:56px;border-radius:var(--epass-control-radius);font-size:12px;letter-spacing:.01em;background:var(--epass-accent);border-color:var(--epass-accent);box-shadow:0 16px 32px var(--epass-glow)}
.epass-checkout-page .epass-secondary-button{min-height:52px;border-radius:var(--epass-control-radius);font-size:11px;background:var(--epass-surface);border-color:var(--epass-border)}
.epass-checkout-page .epass-secure-message{max-width:1320px;margin:24px auto 0;padding:14px;border-radius:14px;background:var(--epass-surface);border:1px solid var(--epass-border);color:var(--epass-muted);font-size:10px}
.epass-checkout-page .epass-checkout-footer{max-width:1320px;margin:12px auto 0;padding-top:16px;border-top:1px solid var(--epass-border)}

/* Apple Pay — restrained luxury */
.epass-checkout-page.epass-theme-apple,.epass-cart-page.epass-theme-apple{--epass-accent:#050505;--epass-accent-2:#303030;--epass-bg:#f5f5f7;--epass-surface:#fff;--epass-surface-2:#f8f8fa;--epass-ink:#111;--epass-muted:#777;--epass-border:#e2e2e7;--epass-glow:rgba(0,0,0,.11);--epass-radius:22px;--epass-control-radius:15px;--epass-shadow:0 22px 70px rgba(0,0,0,.065)}
.epass-checkout-page.epass-theme-apple .epass-primary-button{background:#000}.epass-checkout-page.epass-theme-apple .epass-native-gateway-card{border-radius:16px}.epass-checkout-page.epass-theme-apple .epass-macbar{border-radius:20px}.epass-checkout-page.epass-theme-apple .epass-checkout-card,.epass-checkout-page.epass-theme-apple .epass-payment-panel{box-shadow:0 24px 75px rgba(0,0,0,.055)!important}

/* Google Pay — airy material */
.epass-checkout-page.epass-theme-google,.epass-cart-page.epass-theme-google{--epass-accent:#1a73e8;--epass-accent-2:#4285f4;--epass-bg:#f8fafd;--epass-surface:#fff;--epass-surface-2:#f7f9fc;--epass-ink:#202124;--epass-muted:#687078;--epass-border:#dfe5ec;--epass-glow:rgba(26,115,232,.14);--epass-radius:16px;--epass-control-radius:11px;--epass-shadow:0 12px 38px rgba(32,33,36,.07)}
.epass-checkout-page.epass-theme-google .epass-macbar{box-shadow:0 10px 35px rgba(32,33,36,.08)}.epass-checkout-page.epass-theme-google .epass-primary-button{background:#1a73e8;border-color:#1a73e8;border-radius:999px}.epass-checkout-page.epass-theme-google .epass-simple-layout{grid-template-columns:minmax(0,1.35fr) minmax(380px,.8fr)!important}.epass-checkout-page.epass-theme-google .epass-form-grid input,.epass-checkout-page.epass-theme-google .epass-form-grid select{border-radius:10px!important}

/* PayPal — trust-first commerce */
.epass-checkout-page.epass-theme-paypal,.epass-cart-page.epass-theme-paypal{--epass-accent:#0070ba;--epass-accent-2:#003087;--epass-bg:#f4f7fb;--epass-surface:#fff;--epass-surface-2:#f8fafc;--epass-ink:#102a43;--epass-muted:#64798d;--epass-border:#d9e3ec;--epass-glow:rgba(0,112,186,.14);--epass-radius:13px;--epass-control-radius:9px;--epass-shadow:0 14px 42px rgba(0,48,135,.075)}
.epass-checkout-page.epass-theme-paypal .epass-macbar{border-top:3px solid #003087}.epass-checkout-page.epass-theme-paypal .epass-primary-button{background:linear-gradient(135deg,#003087,#0070ba);border-color:#0070ba;border-radius:9px}.epass-checkout-page.epass-theme-paypal .epass-simple-layout{grid-template-columns:minmax(0,1.45fr) minmax(350px,.72fr)!important}.epass-checkout-page.epass-theme-paypal .epass-native-gateway-card{border-radius:9px}

/* Stripe — modern SaaS checkout */
.epass-checkout-page.epass-theme-stripe,.epass-cart-page.epass-theme-stripe{--epass-accent:#635bff;--epass-accent-2:#7a73ff;--epass-bg:#f6f7fb;--epass-surface:#fff;--epass-surface-2:#fafaff;--epass-ink:#182033;--epass-muted:#697386;--epass-border:#dfe3ed;--epass-glow:rgba(99,91,255,.17);--epass-radius:12px;--epass-control-radius:8px;--epass-shadow:0 16px 48px rgba(35,38,70,.08)}
.epass-checkout-page.epass-theme-stripe .epass-macbar{background:#fff;border-bottom:2px solid #635bff}.epass-checkout-page.epass-theme-stripe .epass-primary-button{background:linear-gradient(135deg,#635bff,#7a73ff);border-color:#635bff;border-radius:8px}.epass-checkout-page.epass-theme-stripe .epass-simple-layout{grid-template-columns:minmax(0,1.6fr) minmax(340px,.7fr)!important}.epass-checkout-page.epass-theme-stripe .epass-checkout-card,.epass-checkout-page.epass-theme-stripe .epass-payment-panel{box-shadow:0 18px 55px rgba(99,91,255,.055)!important}

/* SOON — premium dark */
.epass-checkout-page.epass-theme-soon,.epass-cart-page.epass-theme-soon{--epass-accent:#9b6cff;--epass-accent-2:#d09cff;--epass-bg:#07090e;--epass-surface:#10141d;--epass-surface-2:#151a25;--epass-ink:#f6f7fb;--epass-muted:#929aaa;--epass-border:#252d3b;--epass-glow:rgba(155,108,255,.2);--epass-radius:22px;--epass-control-radius:13px;--epass-shadow:0 28px 90px rgba(0,0,0,.45)}
.epass-checkout-page.epass-theme-soon .epass-macbar,.epass-checkout-page.epass-theme-soon .epass-summary-card,.epass-checkout-page.epass-theme-soon .epass-checkout-card,.epass-checkout-page.epass-theme-soon .epass-payment-panel,.epass-checkout-page.epass-theme-soon .epass-side-info-card,.epass-checkout-page.epass-theme-soon .epass-ad-card,.epass-checkout-page.epass-theme-soon .epass-receipt-card{background:#10141d!important;border-color:#252d3b!important;box-shadow:0 28px 90px rgba(0,0,0,.42)!important}.epass-checkout-page.epass-theme-soon .epass-form-grid input,.epass-checkout-page.epass-theme-soon .epass-form-grid select,.epass-checkout-page.epass-theme-soon .epass-form-grid textarea,.epass-checkout-page.epass-theme-soon .epass-native-gateway-body{background:#151a25!important;color:#f6f7fb!important;border-color:#2b3444!important}.epass-checkout-page.epass-theme-soon .epass-native-gateway-card{background:#10141d!important;color:#f6f7fb}.epass-checkout-page.epass-theme-soon .epass-native-gateway-copy strong,.epass-checkout-page.epass-theme-soon .epass-section-heading h2,.epass-checkout-page.epass-theme-soon .epass-form-grid label,.epass-checkout-page.epass-theme-soon .epass-summary-total,.epass-checkout-page.epass-theme-soon .epass-summary-total strong{color:#fff}.epass-checkout-page.epass-theme-soon .epass-primary-button{background:linear-gradient(135deg,#7c3aed,#c084fc);border-color:#9b6cff}.epass-checkout-page.epass-theme-soon .epass-secondary-button{background:#151a25;color:#fff;border-color:#2b3444}

@media(max-width:900px){.epass-checkout-page{padding:20px 14px 42px!important}.epass-checkout-page .epass-simple-layout{grid-template-columns:1fr!important}.epass-checkout-page .epass-checkout-side{order:2}.epass-checkout-page .epass-checkout-main{order:1}.epass-checkout-page .epass-native-gateway-card{min-height:72px}}

/* EPASS 2.0 — compact payment gateway selector and zero-total checkout */
.epass-checkout-page .epass-payment-dropdown-wrap{display:grid;gap:8px;margin:14px 0 12px}.epass-checkout-page .epass-payment-dropdown-wrap label{font-size:12px;font-weight:900;color:var(--epass-ink)}
.epass-checkout-page .epass-payment-gateway-select{width:100%;min-height:52px;padding:0 15px;border:1px solid var(--epass-border);border-radius:14px;background:var(--epass-surface);color:var(--epass-ink);font-weight:800;outline:none}
.epass-checkout-page .epass-native-gateways-dropdown .epass-native-gateway-option[hidden]{display:none!important}.epass-checkout-page .epass-native-gateway-card-static{cursor:default}
.epass-checkout-page .epass-free-order-card{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #d1fae5;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);color:#065f46;margin-top:14px}.epass-checkout-page .epass-free-order-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#10b981;color:#fff;font-size:24px;font-weight:900;flex:0 0 48px}.epass-checkout-page .epass-free-order-card strong{font-size:16px}.epass-checkout-page .epass-free-order-card p{margin:4px 0 0;color:#047857}

/* EPASS 2.0 — premium animated payment picker */
.epass-checkout-page .epass-payment-dropdown-wrap{position:relative;z-index:40;gap:9px}
.epass-checkout-page .epass-payment-dropdown-wrap>label{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--epass-muted)}
.epass-checkout-page .epass-payment-picker{position:relative}
.epass-checkout-page .epass-payment-gateway-trigger{width:100%;min-height:72px;border:1px solid color-mix(in srgb,var(--epass-accent) 24%,var(--epass-border));border-radius:18px;background:linear-gradient(145deg,var(--epass-surface),var(--epass-surface-2));color:var(--epass-ink);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;cursor:pointer;box-shadow:0 10px 30px rgba(15,23,42,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.epass-checkout-page .epass-payment-gateway-trigger:hover{transform:translateY(-1px);border-color:var(--epass-accent);box-shadow:0 16px 38px var(--epass-glow)}
.epass-checkout-page .epass-payment-picker.is-open .epass-payment-gateway-trigger{border-color:var(--epass-accent);box-shadow:0 18px 45px var(--epass-glow);border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.epass-payment-picker-current{display:flex;align-items:center;gap:12px;min-width:0;text-align:start}
.epass-payment-picker-icon,.epass-payment-picker-option-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center;background:var(--epass-surface-2);border:1px solid var(--epass-border);overflow:hidden}
.epass-payment-picker-icon img,.epass-payment-picker-option-icon img{max-width:34px;max-height:28px;object-fit:contain}
.epass-payment-picker-copy{display:grid;gap:3px;min-width:0}.epass-payment-picker-copy small{font-size:10px;color:var(--epass-muted);font-weight:700}.epass-payment-picker-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epass-payment-picker-chevron{font-size:22px;line-height:1;color:var(--epass-muted);transition:transform .3s ease;color:var(--epass-accent)}
.epass-payment-picker.is-open .epass-payment-picker-chevron{transform:rotate(180deg)}
.epass-payment-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);padding:8px;display:grid;gap:6px;border:1px solid var(--epass-border);border-radius:18px;background:var(--epass-surface);box-shadow:0 24px 70px rgba(15,23,42,.18);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);transform-origin:top center;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;pointer-events:none;max-height:330px;overflow:auto}
.epass-payment-picker.is-open .epass-payment-picker-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.epass-payment-picker-option{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:start;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--epass-ink);padding:10px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.epass-payment-picker-option:hover{background:var(--epass-surface-2);border-color:var(--epass-border);transform:translateX(-2px)}
.epass-payment-picker-option.is-active{background:color-mix(in srgb,var(--epass-accent) 9%,var(--epass-surface));border-color:color-mix(in srgb,var(--epass-accent) 28%,var(--epass-border))}
.epass-payment-picker-option-copy{display:grid;gap:3px;min-width:0}.epass-payment-picker-option-copy strong{font-size:14px}.epass-payment-picker-option-copy small{font-size:10px;color:var(--epass-muted)}
.epass-payment-picker-check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--epass-accent);color:#fff;font-weight:900;opacity:0;transform:scale(.7);transition:opacity .2s ease,transform .2s ease}.epass-payment-picker-option.is-active .epass-payment-picker-check{opacity:1;transform:scale(1)}
.epass-checkout-page .epass-payment-picker+.epass-native-gateways{margin-top:14px}
@media(max-width:600px){.epass-payment-picker-menu{max-height:280px}.epass-payment-gateway-trigger{min-height:66px}.epass-payment-picker-option{padding:9px}}

/* EPASS 2.0 — unified proof controls and managed advertising */
.epass-checkout-page .epass-proof-switcher{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;padding:5px;border:1px solid var(--epass-border);border-radius:16px;background:var(--epass-surface-2)}
.epass-checkout-page .epass-proof-switcher button{appearance:none;position:relative;min-height:48px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--epass-muted);font:inherit;font-size:11px;font-weight:900;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease}
.epass-checkout-page .epass-proof-switcher button:hover{transform:translateY(-1px);color:var(--epass-ink);background:var(--epass-surface)}
.epass-checkout-page .epass-proof-switcher button.is-active{background:var(--epass-accent);color:#fff;box-shadow:0 10px 26px var(--epass-glow);animation:epassProofPulse 2.6s ease-in-out infinite}
.epass-checkout-page .epass-upload-zone{position:relative;overflow:hidden;border:1.5px dashed color-mix(in srgb,var(--epass-accent) 48%,var(--epass-border));background:linear-gradient(145deg,var(--epass-surface-2),var(--epass-surface));transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.epass-checkout-page .epass-upload-zone:hover{transform:translateY(-2px);border-color:var(--epass-accent);box-shadow:0 16px 38px var(--epass-glow)}
.epass-checkout-page .epass-upload-zone>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--epass-accent);color:#fff;font-size:25px;font-weight:900;box-shadow:0 12px 28px var(--epass-glow);animation:epassUploadFloat 2.4s ease-in-out infinite}
.epass-checkout-page .epass-manual-grid input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid var(--epass-border);border-radius:12px;background:var(--epass-surface-2);color:var(--epass-ink);padding:0 12px;outline:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.epass-checkout-page .epass-manual-grid input:focus{border-color:var(--epass-accent);box-shadow:0 0 0 4px var(--epass-glow);transform:translateY(-1px)}
.epass-checkout-page .epass-confirm-row{padding:11px 12px;border:1px solid var(--epass-border);border-radius:12px;background:var(--epass-surface-2)}
@keyframes epassProofPulse{0%,100%{box-shadow:0 10px 26px var(--epass-glow)}50%{box-shadow:0 14px 34px var(--epass-glow)}}
@keyframes epassUploadFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.epass-managed-ad{width:min(100%,var(--epass-ad-width,1000px));min-height:var(--epass-ad-height,190px);margin:16px auto;padding:0!important;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);overflow:hidden;position:relative;background:linear-gradient(135deg,var(--epass-surface),var(--epass-surface-2));border:1px solid var(--epass-border);box-shadow:var(--epass-shadow)}
.epass-managed-ad-vertical{grid-template-columns:1fr;max-width:min(100%,520px)}
.epass-managed-ad-media{position:relative;min-height:100%;overflow:hidden;background:var(--epass-surface-2)}
.epass-managed-ad-media img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .65s ease}
.epass-managed-ad:hover .epass-managed-ad-media img{transform:scale(1.045)}
.epass-managed-ad-shine{position:absolute;inset:-30% auto -30% -20%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-18deg);animation:epassAdShine 4.5s ease-in-out infinite}
.epass-managed-ad-content{padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;color:var(--epass-ink)}
.epass-managed-ad-kicker{font-size:8px;letter-spacing:.16em;font-weight:950;color:var(--epass-accent)}
.epass-managed-ad-content h3{margin:0;font-size:20px;line-height:1.2;color:var(--epass-ink)}
.epass-managed-ad-content p{margin:0;color:var(--epass-muted);font-size:11px;line-height:1.7}
.epass-managed-ad-coupon{display:flex;align-items:center;gap:8px;margin-top:4px;padding:7px 10px;border:1px dashed var(--epass-accent);border-radius:10px;background:var(--epass-glow);font-size:9px}.epass-managed-ad-coupon strong{font-size:11px;letter-spacing:.08em;color:var(--epass-accent)}
.epass-managed-ad-cta{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:9px 13px;border-radius:10px;background:var(--epass-accent);color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:900;box-shadow:0 10px 24px var(--epass-glow);transition:transform .2s,box-shadow .2s}.epass-managed-ad-cta:hover{transform:translateY(-2px);box-shadow:0 15px 32px var(--epass-glow)}
@keyframes epassAdShine{0%,60%{left:-45%}100%{left:130%}}
@media(max-width:720px){.epass-managed-ad{grid-template-columns:1fr}.epass-managed-ad-media{min-height:150px}.epass-managed-ad-content{padding:17px}.epass-managed-ad-content h3{font-size:17px}}

/* EPASS 2.0 — one payment selector only. WooCommerce radios remain in the DOM for native gateway JS but are never shown as a second menu. */
.epass-checkout-page .epass-native-gateway-id-hidden{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:-1px!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important}
.epass-checkout-page .epass-native-gateway-option{margin:0!important;padding:0!important;background:transparent!important;border:0!important}
.epass-checkout-page .epass-native-gateway-body{width:100%!important;margin:0!important}
.epass-checkout-page .epass-native-gateway-body[hidden]{display:none!important}
.epass-checkout-page .epass-native-gateways-dropdown{margin-top:14px!important}
.epass-checkout-page .epass-native-gateways-dropdown>.wc_payment_methods{margin:0!important;padding:0!important;border:0!important;background:transparent!important;list-style:none!important}
.epass-checkout-page .epass-native-gateways-dropdown>.wc_payment_methods>li{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.epass-checkout-page .epass-payment-picker{position:relative;z-index:20}
.epass-checkout-page .epass-payment-picker-menu{z-index:9999!important}
.epass-checkout-page .epass-payment-picker-option{width:100%;border:0;background:transparent;cursor:pointer;text-align:inherit}
.epass-checkout-page .epass-payment-picker-option.is-active{background:rgba(15,143,141,.07)}

/* EPASS payment picker: the custom picker is the only visible method selector.
   WooCommerce's native radios remain in the DOM as gateway infrastructure, while
   their visual method cards are hidden. The selected gateway's payment box remains
   visible so PayPal/Stripe can render their own controls. */
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] {
  position:relative!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; list-style:none!important;
}
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] > .epass-native-gateway-option > .epass-native-gateway-card-static,
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] > .epass-native-gateway-option > input,
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] > .epass-native-gateway-option > .epass-native-gateway-choice {
  display:none!important;
}
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] .epass-native-gateway-option {
  display:block!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important;
}
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"] .epass-native-gateway-body {
  margin:0!important;
}
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li[data-epass-native-infrastructure="1"]:not(:has(.epass-native-gateway-option.is-selected)) .epass-native-gateway-body { display:none!important; }
.epass-checkout-page .epass-native-gateways-dropdown > .wc_payment_methods > li.payment_method_epass_manual_payment {
  display:none!important;
}
.epass-checkout-page .epass-native-gateways-dropdown {
  background:transparent!important; border:0!important; padding:0!important;
}

/* EPASS 2.0 — The gateway infrastructure is intentionally invisible.
   The customer sees exactly one EPASS payment picker. Native WooCommerce
   payment boxes remain available only when the selected gateway needs them. */
.epass-checkout-page #payment.epass-native-gateways-dropdown > ul.wc_payment_methods > li.epass-woo-method-item {
  display:block!important;
  margin:0!important; padding:0!important; border:0!important; background:transparent!important;
  list-style:none!important;
}
.epass-checkout-page #payment.epass-native-gateways-dropdown > ul.wc_payment_methods > li.epass-woo-method-item > .epass-native-gateway-option {
  display:block!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important;
}
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-option > input[name="payment_method"],
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-option > label,
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-card-static,
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-choice {
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; opacity:0!important; pointer-events:none!important;
}
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-option[hidden],
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-option[hidden] .epass-native-gateway-body {
  display:none!important;
}
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-body {
  display:block!important; width:100%!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important;
}
.epass-checkout-page #payment.epass-native-gateways-dropdown .epass-native-gateway-option:not(.is-selected) .epass-native-gateway-body {
  display:none!important;
}

/* EPASS 2.0 — Native WooCommerce payment list, EPASS visual skin.
   There is intentionally NO second custom picker. The real WooCommerce
   .wc_payment_methods list is the only customer-facing payment selector.
   WooCommerce's own checkout JS continues to control .payment_box visibility. */
.epass-checkout-page #payment.epass-native-gateways-epass-style {
  margin-top: 16px!important;
  padding: 0!important;
  border: 0!important;
  background: transparent!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-payment-heading {
  display:grid;
  gap:4px;
  margin: 0 0 10px;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-payment-heading > span {
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
  color:var(--epass-muted);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-payment-heading > small {
  font-size:11px;
  line-height:1.55;
  color:var(--epass-muted);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style > .epass-payment-method-list {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style > .epass-payment-method-list > li.epass-woo-method-item {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-row {
  position:relative;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-row > input.input-radio {
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-label {
  min-height:72px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  width:100%;
  box-sizing:border-box;
  padding:13px 15px;
  margin:0!important;
  border:1px solid var(--epass-border)!important;
  border-radius:var(--epass-control-radius)!important;
  background:var(--epass-surface)!important;
  color:var(--epass-ink)!important;
  cursor:pointer;
  box-shadow:0 7px 24px rgba(0,0,0,.035);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-label:hover {
  border-color:color-mix(in srgb,var(--epass-accent) 38%,var(--epass-border))!important;
  transform:translateY(-1px);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-row > input.input-radio:checked + .epass-native-method-label,
.epass-checkout-page #payment.epass-native-gateways-epass-style li.is-selected > .epass-native-method-row .epass-native-method-label {
  border-color:var(--epass-accent)!important;
  background:color-mix(in srgb,var(--epass-accent) 4%,var(--epass-surface))!important;
  box-shadow:0 12px 30px var(--epass-glow);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-icon {
  width:52px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 52px;
  border:1px solid var(--epass-border);
  border-radius:11px;
  background:var(--epass-surface-2);
  overflow:hidden;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-icon img {
  display:block;
  max-width:43px;
  max-height:28px;
  object-fit:contain;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-copy {
  display:grid;
  gap:3px;
  min-width:0;
  text-align:start;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-copy strong {
  font-size:14px;
  line-height:1.3;
  font-weight:900;
  color:var(--epass-ink);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-copy small {
  font-size:10px;
  line-height:1.45;
  color:var(--epass-muted);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-radio {
  width:19px;
  height:19px;
  border:2px solid var(--epass-border);
  border-radius:50%;
  position:relative;
  box-sizing:border-box;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .input-radio:checked + .epass-native-method-label .epass-native-method-radio,
.epass-checkout-page #payment.epass-native-gateways-epass-style li.is-selected .epass-native-method-radio {
  border-color:var(--epass-accent);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .input-radio:checked + .epass-native-method-label .epass-native-method-radio:after,
.epass-checkout-page #payment.epass-native-gateways-epass-style li.is-selected .epass-native-method-radio:after {
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--epass-accent);
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box {
  position:relative;
  margin:8px 0 0!important;
  padding:16px!important;
  border:1px solid var(--epass-border)!important;
  border-radius:var(--epass-control-radius)!important;
  background:var(--epass-surface-2)!important;
  color:var(--epass-ink)!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box:before,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box:after {
  display:none!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box[style*="display: none"] {
  display:none!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .epass-native-gateway-fields {
  width:100%;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-manual-gateway-body {
  margin-top:8px!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-fallback {
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
  color:var(--epass-accent);
}
@media(max-width:600px){
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-label{grid-template-columns:auto minmax(0,1fr) auto;min-height:66px;padding:11px 12px;gap:10px}
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-icon{width:46px;height:36px;flex-basis:46px}
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-method-copy strong{font-size:13px}
}

/* EPASS 2.0 — FINAL NATIVE WOOCOMMERCE GATEWAY SKIN
 * The WooCommerce gateway markup is intentionally preserved. This layer is
 * loaded last and force-normalizes the gateway-owned payment fields so every
 * gateway inherits the EPASS visual system instead of falling back to theme/WC CSS.
 */
.epass-checkout-page #payment.epass-native-gateways-epass-style,
.epass-checkout-page #payment.epass-native-gateways-epass-style *{box-sizing:border-box}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-gateway-body,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box fieldset,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .wc-payment-form,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .wc-stripe-elements-field,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .stripe-source-errors{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;color:var(--epass-ink)!important;font-family:inherit!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box p,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box label,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box legend,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .form-row,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .woocommerce-info,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .woocommerce-message,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .woocommerce-error{
  color:var(--epass-ink)!important;font-family:inherit!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .form-row{margin:0 0 12px!important;padding:0!important;float:none!important;width:100%!important;display:block!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .form-row:last-child{margin-bottom:0!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .form-row label{display:block!important;margin:0 0 6px!important;font-size:11px!important;font-weight:800!important;line-height:1.4!important;color:var(--epass-ink)!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .form-row label .required{color:#c62828!important;text-decoration:none!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input.input-text,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="text"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="email"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="tel"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="number"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="password"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box select,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box textarea{
  width:100%!important;min-width:0!important;max-width:100%!important;height:46px!important;margin:0!important;padding:0 12px!important;border:1px solid var(--epass-border)!important;border-radius:var(--epass-control-radius)!important;background:var(--epass-surface)!important;color:var(--epass-ink)!important;box-shadow:none!important;outline:none!important;font:inherit!important;font-size:12px!important;line-height:46px!important;appearance:auto!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box textarea{height:auto!important;min-height:90px!important;padding:12px!important;line-height:1.5!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input.input-text:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="text"]:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="email"]:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="tel"]:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="number"]:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="password"]:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box select:focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box textarea:focus{
  border-color:var(--epass-accent)!important;box-shadow:0 0 0 3px var(--epass-glow)!important;background:var(--epass-surface)!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .select2-container{width:100%!important;max-width:100%!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .select2-selection,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .select2-selection--single{height:46px!important;min-height:46px!important;border:1px solid var(--epass-border)!important;border-radius:var(--epass-control-radius)!important;background:var(--epass-surface)!important;box-shadow:none!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .select2-selection__rendered{height:44px!important;line-height:44px!important;padding:0 12px!important;color:var(--epass-ink)!important;font-size:12px!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .select2-selection__arrow{height:44px!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .stripe-card-group,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .wc-stripe-elements-field,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .wc-stripe-upe-element,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .StripeElement,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .StripeElement--focus,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box #stripe-payment-data,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .payment-methods-wrap{
  width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .StripeElement,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .wc-stripe-elements-field{
  min-height:46px!important;padding:13px 12px!important;border:1px solid var(--epass-border)!important;border-radius:var(--epass-control-radius)!important;background:var(--epass-surface)!important;box-shadow:none!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .StripeElement--focus{border-color:var(--epass-accent)!important;box-shadow:0 0 0 3px var(--epass-glow)!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .stripe-source-errors,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .woocommerce-error{
  margin:10px 0 0!important;padding:10px 12px!important;border:1px solid rgba(198,40,40,.22)!important;border-radius:10px!important;background:rgba(198,40,40,.06)!important;font-size:11px!important;line-height:1.5!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box ul,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box ol{margin:8px 0!important;padding-inline-start:18px!important;color:var(--epass-muted)!important;font-size:10px!important;line-height:1.6!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box a{color:var(--epass-accent)!important;text-decoration:none!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box a:hover{text-decoration:underline!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .button,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box button:not(.epass-remove-receipt),
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="submit"]{
  min-height:42px!important;border:0!important;border-radius:10px!important;background:var(--epass-accent)!important;color:#fff!important;padding:0 16px!important;font:inherit!important;font-size:11px!important;font-weight:850!important;cursor:pointer!important;box-shadow:0 10px 24px var(--epass-glow)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .button:hover,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box button:not(.epass-remove-receipt):hover,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box input[type="submit"]:hover{transform:translateY(-1px)!important;filter:brightness(1.03)!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .button:disabled,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box button:disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important}
/* PayPal-owned controls must keep their dimensions and brand rendering. */
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .paypal-buttons,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .ppc-button-wrapper,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .ppc-button-container,
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box [id*="paypal-button"],
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box [id*="ppc-button"]{
  width:100%!important;max-width:100%!important;margin:0!important;min-height:40px!important;box-sizing:border-box!important;background:transparent!important;border:0!important;padding:0!important
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box iframe{max-width:100%!important;border:0!important;border-radius:10px!important}
/* Gateway wrappers that WooCommerce or a gateway floats by default. */
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .clear{clear:both!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .payment_box .clearfix:after{content:"";display:table;clear:both}

/* EPASS payment mode switch: one clear entry point for Direct vs Manual payment. */
.epass-checkout-page .epass-payment-mode-switcher{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
  padding:5px;
  border:1px solid var(--epass-border)!important;
  border-radius:18px;
  background:var(--epass-surface-2)!important;
}
.epass-checkout-page .epass-payment-mode-tab{
  appearance:none!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  min-height:72px;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  text-align:start;
  cursor:pointer;
  background:transparent!important;
  color:var(--epass-ink)!important;
  box-shadow:none!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.epass-checkout-page .epass-payment-mode-tab:hover{transform:translateY(-1px)!important}
.epass-checkout-page .epass-payment-mode-tab.is-active{
  background:var(--epass-surface)!important;
  border-color:color-mix(in srgb,var(--epass-accent) 35%,var(--epass-border))!important;
  box-shadow:0 10px 26px rgba(15,23,42,.07)!important;
}
.epass-checkout-page .epass-payment-mode-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  font-size:22px;font-weight:950;background:var(--epass-surface-2);border:1px solid var(--epass-border);
}
.epass-checkout-page .epass-payment-mode-fast{color:#16803a!important}
.epass-checkout-page .epass-payment-mode-slow{color:#c43d3d!important;font-size:20px}
.epass-checkout-page .epass-payment-mode-tab>span:nth-child(2){display:grid;gap:3px;min-width:0}
.epass-checkout-page .epass-payment-mode-tab strong{font-size:14px;font-weight:950}
.epass-checkout-page .epass-payment-mode-tab small{font-size:10px;color:var(--epass-muted);font-weight:700}
.epass-checkout-page .epass-payment-mode-speed{font-size:10px;font-weight:950;padding:6px 8px;border-radius:999px;white-space:nowrap}
.epass-checkout-page .epass-speed-fast{color:#16783b;background:rgba(22,128,59,.09)}
.epass-checkout-page .epass-speed-slow{color:#b63838;background:rgba(182,56,56,.09)}
.epass-checkout-page .epass-payment-mode-panel[hidden]{display:none!important}
.epass-checkout-page .epass-payment-mode-panel.is-active{animation:epassPaymentModeIn .24s ease both}
@keyframes epassPaymentModeIn{from{opacity:.35;transform:translateY(-5px)}to{opacity:1;transform:none}}
.epass-checkout-page .epass-manual-payment-panel .epass-native-payment-heading{margin-bottom:10px}
@media(max-width:620px){
  .epass-checkout-page .epass-payment-mode-switcher{grid-template-columns:1fr}
  .epass-checkout-page .epass-payment-mode-tab{min-height:64px}
}

/* EPASS 2.0 — plugin-owned payment surface. WooCommerce remains the engine. */
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-owned-payment-ui {
  display:grid!important;
  gap:12px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-owned-payment-ui > li.epass-woo-method-item {
  position:relative!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  background:transparent!important;
  border:0!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-gateway-radio {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card {
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-height:78px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px 15px!important;
  margin:0!important;
  border:1px solid var(--epass-border)!important;
  border-radius:18px!important;
  background:var(--epass-surface)!important;
  color:var(--epass-ink)!important;
  text-align:inherit!important;
  cursor:pointer!important;
  font:inherit!important;
  box-shadow:0 8px 28px rgba(15,23,42,.045)!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card:hover {
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--epass-accent) 45%,var(--epass-border))!important;
  box-shadow:0 14px 34px var(--epass-glow)!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-woo-method-item.is-selected .epass-gateway-card,
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-gateway-radio:checked + .epass-gateway-card {
  border-color:var(--epass-accent)!important;
  background:color-mix(in srgb,var(--epass-accent) 5%,var(--epass-surface))!important;
  box-shadow:0 16px 40px var(--epass-glow)!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-icon {
  width:58px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--epass-border)!important;
  border-radius:14px!important;
  background:var(--epass-surface-2)!important;
  overflow:hidden!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-icon img {
  display:block!important;
  max-width:46px!important;
  max-height:31px!important;
  object-fit:contain!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-icon svg {max-width:46px!important;max-height:32px!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-copy {
  min-width:0!important;
  display:grid!important;
  gap:4px!important;
  text-align:start!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-copy strong {
  color:var(--epass-ink)!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:950!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-copy small {
  color:var(--epass-muted)!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-state {
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid var(--epass-border)!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-state span {
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:var(--epass-accent)!important;
  transform:scale(0)!important;
  transition:transform .2s ease!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-woo-method-item.is-selected .epass-gateway-card-state {border-color:var(--epass-accent)!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-woo-method-item.is-selected .epass-gateway-card-state span {transform:scale(1)!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-gateway-body {
  margin:9px 0 0!important;
  padding:16px!important;
  border:1px solid var(--epass-border)!important;
  border-radius:16px!important;
  background:var(--epass-surface-2)!important;
  color:var(--epass-ink)!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-native-gateway-body[style*="display: none"] {display:none!important}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-payment-intro {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 13px!important;
  padding:4px 2px!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-payment-intro > div {display:grid;gap:3px;min-width:0}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-kicker {font-size:9px;font-weight:950;letter-spacing:.14em;color:var(--epass-accent);text-transform:uppercase}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-payment-intro strong {font-size:18px;font-weight:950;color:var(--epass-ink)}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-payment-intro small {font-size:10px;color:var(--epass-muted);line-height:1.5}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-secure {flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(22,128,58,.08);color:#16803a;font-size:10px;font-weight:950}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-engine-note {
  display:flex!important;align-items:flex-start!important;gap:9px!important;margin-top:12px!important;padding:11px 12px!important;border:1px dashed var(--epass-border)!important;border-radius:13px!important;background:var(--epass-surface-2)!important;
}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-engine-note > span {font-size:16px;line-height:1}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-engine-note > div {display:grid;gap:2px}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-engine-note strong {font-size:10px;font-weight:900;color:var(--epass-ink)}
.epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-engine-note small {font-size:9px;line-height:1.5;color:var(--epass-muted)}
@media(max-width:600px){
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card {grid-template-columns:50px minmax(0,1fr) 20px;min-height:70px;padding:11px 12px;gap:10px}
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-gateway-card-icon {width:50px;height:42px}
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-payment-intro {align-items:flex-start}
  .epass-checkout-page #payment.epass-native-gateways-epass-style .epass-direct-secure {display:none}
}

/* EPASS 2.0 — receipt preview stays inside its card */
.epass-receipt-preview{overflow:hidden;max-width:100%;border-radius:14px}
.epass-receipt-preview img{display:block;width:100%;max-width:100%;height:auto;max-height:520px;object-fit:contain;margin:0 auto}

/* =====================================================================
   EPASS 2.0 — Dedicated Thank You surface
   The Thank You route is a true full-window EPASS page, independent from
   the active theme header/footer.
   ===================================================================== */
body.epass-standalone-body.epass-standalone-thankyou,
body.epass-standalone-body.epass-standalone-thankyou #page,
body.epass-standalone-body.epass-standalone-thankyou .site,
body.epass-standalone-body.epass-standalone-thankyou main {
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:none !important;
}
body.epass-standalone-body .epass-thankyou-page {
    width:100% !important;
    max-width:none !important;
    min-height:100vh;
    margin:0 !important;
    padding:0 !important;
    background:var(--epass-bg);
}
.epass-thankyou-topbar {
    width:100%;
    min-height:76px;
    padding:14px clamp(18px,4vw,56px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:var(--epass-surface);
    border-bottom:1px solid var(--epass-border);
    box-shadow:0 8px 28px rgba(15,23,42,.06);
}
.epass-thankyou-brand {display:flex;align-items:center;gap:12px;color:var(--epass-ink)!important;min-width:0}
.epass-thankyou-brand img {width:48px;height:48px;object-fit:contain;border-radius:12px;display:block}
.epass-thankyou-brand strong {font-size:16px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epass-thankyou-home {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;background:#d92828;color:#fff!important;font-size:12px;font-weight:900;box-shadow:0 10px 24px rgba(217,40,40,.18);transition:.2s}
.epass-thankyou-home:hover {transform:translateY(-1px);filter:brightness(1.04)}
.epass-thankyou-content {width:100%;max-width:1080px;margin:0 auto;padding:clamp(28px,5vw,64px) 18px 70px}
.epass-thankyou-card {max-width:900px;margin:0 auto;background:var(--epass-surface);border:1px solid var(--epass-border);border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.10);padding:clamp(24px,5vw,54px);text-align:center}
.epass-thankyou-card .epass-thankyou-success {margin:0 auto 14px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--epass-accent);color:#fff;font-size:32px;font-weight:900;box-shadow:0 12px 32px var(--epass-glow)}
.epass-thankyou-card .epass-thankyou-intro {max-width:650px;margin:0 auto 20px;color:var(--epass-muted);font-size:13px;line-height:1.9}
.epass-thankyou-reference {display:inline-flex;align-items:center;gap:12px;padding:8px 14px;margin-bottom:24px;border:1px solid var(--epass-border);border-radius:999px;background:var(--epass-surface-2);font-size:10px}
.epass-thankyou-reference span {color:var(--epass-muted)}
.epass-thankyou-reference strong {color:var(--epass-accent);font-weight:950}
.epass-thankyou-card .epass-thankyou-summary {text-align:inherit;margin-top:8px;padding:22px;border:1px solid var(--epass-border);border-radius:18px;background:var(--epass-surface-2)}
.epass-thankyou-card .epass-thankyou-items {border-top:1px solid var(--epass-border)}
.epass-thankyou-card .epass-thankyou-item {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--epass-border);font-size:12px}
.epass-thankyou-card .epass-thankyou-item-name {display:flex;flex-direction:column;gap:5px;text-align:inherit}
.epass-thankyou-card .epass-thankyou-item-name small {color:var(--epass-muted);font-size:10px}
.epass-thankyou-actions {display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.epass-thankyou-actions .epass-primary-button,.epass-thankyou-actions .epass-secondary-button {min-width:190px;justify-content:center}

/* Screen-only hidden print receipt. */
.epass-print-receipt {display:none}

/* Print ONLY the dedicated receipt — never the Thank You page, header, buttons, or theme. */
@media print {
    @page { margin:10mm; size:auto; }
    html, body, body.epass-standalone-body, body.epass-standalone-body * { visibility:hidden !important; }
    body.epass-printing-receipt > .epass-standalone-root, body.epass-printing-receipt > .epass-standalone-root * { visibility:hidden !important; }
    body.epass-printing-receipt #epass-print-receipt, body.epass-printing-receipt #epass-print-receipt * { visibility:visible !important; }
    html, body, body.epass-standalone-body { margin:0 !important; padding:0 !important; width:100% !important; min-width:0 !important; background:#fff !important; }
    body.epass-standalone-body .epass-print-receipt,
    body.epass-standalone-body .epass-print-receipt * { visibility:visible !important; }
    body.epass-standalone-body .epass-print-receipt,
    body.epass-printing-receipt #epass-print-receipt {
        display:block !important;
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        max-width:900px !important;
        margin:0 auto !important;
        padding:24px !important;
        background:var(--epass-receipt-bg,#f3f4f6) !important;
        color:var(--epass-receipt-text,#111827) !important;
        border:1px solid #dfe3e8;
        border-radius:0 !important;
        box-shadow:none !important;
        font-family:Arial,Helvetica,sans-serif !important;
        direction:rtl;
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }
    body.epass-standalone-body .epass-print-receipt-head {display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;padding:0 0 20px;margin-bottom:20px;border-bottom:2px solid var(--epass-receipt-primary,#111827)}
    body.epass-standalone-body .epass-print-receipt-head img {width:64px;height:64px;object-fit:contain;display:block}
    body.epass-standalone-body .epass-print-receipt-head strong {display:block;font-size:24px;color:var(--epass-receipt-primary,#111827);font-weight:900}
    body.epass-standalone-body .epass-print-receipt-head span {display:block;margin-top:5px;font-size:11px;color:#6b7280}
    body.epass-standalone-body .epass-print-receipt-meta {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
    body.epass-standalone-body .epass-print-receipt-meta>div {padding:12px;border:1px solid #e1e5ea;background:var(--epass-receipt-card,#fff);border-radius:10px}
    body.epass-standalone-body .epass-print-receipt-meta span,body.epass-standalone-body .epass-print-receipt-meta strong {display:block}
    body.epass-standalone-body .epass-print-receipt-meta span {font-size:9px;color:#6b7280;margin-bottom:4px}
    body.epass-standalone-body .epass-print-receipt-meta strong {font-size:11px;color:var(--epass-receipt-text,#111827)}
    body.epass-standalone-body .epass-print-receipt-block {margin-top:16px;padding:15px;border:1px solid #e1e5ea;background:var(--epass-receipt-card,#fff);border-radius:12px;break-inside:avoid}
    body.epass-standalone-body .epass-print-receipt-block h3 {margin:0 0 10px;font-size:13px;color:var(--epass-receipt-primary,#111827)}
    body.epass-standalone-body .epass-print-customer {display:flex;flex-wrap:wrap;gap:8px 20px;font-size:10px}
    body.epass-standalone-body .epass-print-customer span {color:#6b7280}
    body.epass-standalone-body .epass-print-receipt table {width:100%;border-collapse:collapse;font-size:10px}
    body.epass-standalone-body .epass-print-receipt th,body.epass-standalone-body .epass-print-receipt td {padding:9px 7px;border-bottom:1px solid #e5e7eb;text-align:right}
    body.epass-standalone-body .epass-print-receipt th {background:var(--epass-receipt-primary,#111827);color:#fff;font-weight:800}
    body.epass-standalone-body .epass-print-receipt-totals {margin-top:16px;padding:14px;border:1px solid #e1e5ea;background:var(--epass-receipt-card,#fff);border-radius:12px}
    body.epass-standalone-body .epass-print-receipt-totals>div {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 0;font-size:10px}
    body.epass-standalone-body .epass-print-receipt-totals .grand {padding-top:12px;margin-top:6px;border-top:2px solid var(--epass-receipt-accent,#5b3df5);font-size:15px;font-weight:900}
    body.epass-standalone-body .epass-print-receipt-totals .grand strong {color:var(--epass-receipt-accent,#5b3df5)}
    body.epass-standalone-body .epass-print-receipt-footer {margin-top:18px;padding-top:12px;border-top:1px solid #e5e7eb;text-align:center;color:#6b7280;font-size:9px}
    body.epass-standalone-body .epass-receipt-format-minimal {background:#fff !important;border:0 !important}
    body.epass-standalone-body .epass-receipt-format-minimal .epass-print-receipt-head {border-bottom:1px solid #e5e7eb}
    body.epass-standalone-body .epass-receipt-format-classic {border:2px solid var(--epass-receipt-primary,#111827) !important}
}

@media(max-width:600px){
    .epass-thankyou-topbar{padding:12px 14px}.epass-thankyou-brand strong{font-size:13px}.epass-thankyou-brand img{width:42px;height:42px}.epass-thankyou-home{min-height:40px;padding:0 12px;font-size:10px}.epass-thankyou-content{padding:20px 10px 40px}.epass-thankyou-card{border-radius:18px;padding:22px 14px}.epass-thankyou-actions{flex-direction:column}.epass-thankyou-actions .epass-primary-button,.epass-thankyou-actions .epass-secondary-button{width:100%;min-width:0}.epass-thankyou-card .epass-thankyou-item{align-items:flex-start}.epass-print-receipt-meta{grid-template-columns:1fr!important}
}

/* EPASS 2.0 — single compact manual payment selector */
.epass-checkout-page .epass-payment-picker-native-input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.epass-checkout-page .epass-payment-picker{margin-bottom:14px}
.epass-checkout-page .epass-manual-methods{display:none!important}
.epass-checkout-page .epass-payment-picker-menu{z-index:99999!important}
.epass-checkout-page .epass-payment-picker-option{font-family:inherit}
.epass-checkout-page .epass-payment-picker-option-icon>span,.epass-checkout-page .epass-payment-picker-icon>span{font-size:22px;color:var(--epass-accent);font-weight:900}
.epass-checkout-page .epass-method-details.is-loading{opacity:.55;filter:saturate(.4);min-height:120px;position:relative}
.epass-checkout-page .epass-method-details.is-loading:after{content:'جاري تحميل بيانات الوسيلة…';position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:900;color:var(--epass-accent);background:rgba(255,255,255,.65);backdrop-filter:blur(2px)}

/* EPASS 2.0 — reliable manual payment detail swapping + readable checkout UI. */
.epass-checkout-page [data-epass-manual-method-details]{position:relative;min-height:120px}
.epass-checkout-page [data-epass-manual-method-details].is-loading{opacity:.6;pointer-events:none}
.epass-checkout-page [data-epass-manual-method-details].is-loading:after{content:'جاري تحميل بيانات وسيلة الدفع…';position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:900;color:var(--epass-accent);background:rgba(255,255,255,.68);backdrop-filter:blur(2px);border-radius:14px}

/* EPASS 2.0 — infinite payment-method rail. The rail replaces the old dropdown
   without changing the submitted payment-method field. */
.epass-checkout-page .epass-payment-rail{display:block;margin:14px 0 20px;direction:ltr;width:100%;overflow:hidden}
.epass-checkout-page .epass-payment-rail-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:100%;padding:8px 2px;box-sizing:border-box}
.epass-checkout-page .epass-payment-rail-item{appearance:none;-webkit-appearance:none;width:68px;min-width:68px;height:68px;padding:0;display:grid;place-items:center;border:1px solid var(--epass-border);border-radius:50%;background:var(--epass-surface);color:var(--epass-ink);box-shadow:0 8px 25px rgba(15,23,42,.05);cursor:pointer;text-align:center;direction:ltr;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease}
.epass-checkout-page .epass-payment-rail-item:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 13px 32px rgba(15,23,42,.09);border-color:color-mix(in srgb,var(--epass-accent) 35%,var(--epass-border))}
.epass-checkout-page .epass-payment-rail-item:focus-visible{outline:none;border-color:var(--epass-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--epass-accent) 16%,transparent)}
.epass-checkout-page .epass-payment-rail-item.is-active{border:2px solid var(--epass-accent);background:color-mix(in srgb,var(--epass-accent) 6%,var(--epass-surface));box-shadow:0 12px 34px rgba(15,23,42,.10),0 0 0 4px color-mix(in srgb,var(--epass-accent) 10%,transparent)}
.epass-checkout-page .epass-payment-rail-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:transparent}
.epass-checkout-page .epass-payment-rail-logo img{display:block;width:100%;height:100%;object-fit:contain}
.epass-checkout-page .epass-payment-rail-logo>span{font-size:25px;font-weight:900}
.epass-checkout-page .epass-payment-rail-name,.epass-checkout-page .epass-payment-rail-arrow,.epass-checkout-page .epass-payment-rail-viewport{display:none!important}
@media(max-width:600px){.epass-checkout-page .epass-payment-rail-track{gap:9px}.epass-checkout-page .epass-payment-rail-item{width:58px;min-width:58px;height:58px}.epass-checkout-page .epass-payment-rail-logo{width:46px;height:46px}}
.epass-checkout-page .epass-payment-rail-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--epass-surface-2);border:1px solid var(--epass-border);overflow:hidden}
.epass-checkout-page .epass-payment-rail-logo img{width:100%;height:100%;object-fit:contain;padding:9px}
.epass-checkout-page .epass-payment-rail-logo>span{font-size:22px;font-weight:900;color:var(--epass-accent)}
.epass-checkout-page .epass-payment-rail-name{display:none!important}
.epass-checkout-page .epass-payment-rail-arrow{display:none!important}
.epass-checkout-page .epass-payment-rail.is-single{display:block}
.epass-checkout-page .epass-method-detail-cache{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important;opacity:0!important}
.epass-checkout-page [data-epass-manual-method-details].is-switching{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:700px){.epass-checkout-page .epass-payment-rail-viewport{padding:7px 0}.epass-checkout-page .epass-payment-rail-track{justify-content:flex-start;gap:11px}.epass-checkout-page .epass-payment-rail-item{width:58px;min-width:58px;height:58px}.epass-checkout-page .epass-payment-rail-logo{width:48px;height:48px}.epass-checkout-page .epass-payment-rail-logo img{padding:8px}}


/* EPASS 2.0 — payment method switch animation. The panel folds upward, then
   the newly selected payment details drop into the same checkout area. */
.epass-checkout-page [data-epass-manual-method-details]{
  transform-origin:50% 0%;
  will-change:transform,opacity;
  overflow:hidden;
}
.epass-checkout-page [data-epass-manual-method-details].is-switching-out{
  animation:epassPaymentFoldOut .19s cubic-bezier(.7,0,.9,.35) both;
  pointer-events:none;
}
.epass-checkout-page [data-epass-manual-method-details].is-switching-in{
  animation:epassPaymentDropIn .43s cubic-bezier(.18,.85,.25,1) both;
}
@keyframes epassPaymentFoldOut{
  0%{opacity:1;transform:translate3d(0,0,0) scaleY(1);}
  100%{opacity:0;transform:translate3d(0,-18px,0) scaleY(.82);}
}
@keyframes epassPaymentDropIn{
  0%{opacity:0;transform:translate3d(0,22px,0) scaleY(.90);}
  65%{opacity:1;transform:translate3d(0,-3px,0) scaleY(1.01);}
  100%{opacity:1;transform:translate3d(0,0,0) scaleY(1);}
}
@media (prefers-reduced-motion:reduce){
  .epass-checkout-page [data-epass-manual-method-details].is-switching-out,
  .epass-checkout-page [data-epass-manual-method-details].is-switching-in{animation:none!important;}
}
