/* ==========================================================================
   ECLIPSE x Bootstrap 5 bridge. Loaded only on the store, checkout, payment
   result and credit-reward pages (after bootstrap.min.css), so the inherited
   checkout markup, modals and toasts wear the Eclipse system without being
   rewritten. eclipse.css is loaded BEFORE Bootstrap, so the base rules that
   Bootstrap's reboot would override are re-asserted here.
   ========================================================================== */
:root,[data-bs-theme]{
  --bs-body-bg:#08060F; --bs-body-color:#B8AFCF; --bs-body-font-family:"Montserrat",system-ui,sans-serif;
  --bs-emphasis-color:#F6F2FF; --bs-secondary-color:#8E86A6; --bs-tertiary-color:#6B6385;
  --bs-border-color:rgba(168,121,255,.16); --bs-border-color-translucent:rgba(168,121,255,.16);
  --bs-primary:#A879FF; --bs-primary-rgb:168,121,255; --bs-link-color:#A879FF; --bs-link-hover-color:#E9DCFF;
  --bs-link-color-rgb:168,121,255; --bs-link-hover-color-rgb:233,220,255;
  --bs-secondary-bg:#130F22; --bs-tertiary-bg:#0D0A18; --bs-dark-bg-subtle:#0D0A18;
  --bs-heading-color:#F6F2FF; --bs-border-radius:10px; --bs-border-radius-lg:14px;
  --bs-focus-ring-color:rgba(168,121,255,.35);
}
body{background:var(--bg);color:var(--t-2);font-family:var(--font);font-size:16px;line-height:1.65}
a{text-decoration:none}
h1,h2,h3,h4,h5,h6{color:var(--t-0)}
.h3,.h2{font-family:var(--font)}

/* cards (checkout, credit rewards) */
.card{--bs-card-bg:transparent;--bs-card-border-color:var(--line);--bs-card-cap-bg:transparent;border-radius:var(--radius);background:linear-gradient(180deg,rgba(26,20,46,.72),rgba(13,10,24,.82));box-shadow:0 20px 50px -30px rgba(0,0,0,.8)}
.card-header,.card-footer{border-color:var(--line)}
.checkout-wrap{max-width:980px}
.checkout-card .card-header{padding:22px 28px!important}
.checkout-card .card-header .h3{font-size:1.2rem}
.checkout-card .card-body{padding:24px 28px!important}
.checkout-card .card-footer{padding:24px 28px 32px!important}
.best-bg,.best-bg-3,.best-bg-5{background:transparent!important}
.bg-dark-subtle{background:rgba(8,6,15,.45)!important}
.border-dark{border-color:var(--line)!important}
.text-primary{color:var(--accent)!important}
.text-muted{color:var(--t-3)!important}
.text-shadow,.cust-t-shadow{text-shadow:none}

/* checkout lines + totals */
.alert{--bs-alert-bg:rgba(8,6,15,.55);--bs-alert-border-color:var(--line);--bs-alert-color:var(--t-1);border-radius:12px;font-size:1rem!important}
.alert-secondary{--bs-alert-bg:rgba(8,6,15,.55);--bs-alert-color:var(--t-1)}
.alert-danger{--bs-alert-bg:rgba(255,138,154,.08);--bs-alert-border-color:rgba(255,138,154,.45);--bs-alert-color:#FFD0D7}
.alert-success{--bs-alert-bg:rgba(61,220,132,.08);--bs-alert-border-color:rgba(61,220,132,.4);--bs-alert-color:#BDF5D3}
.c-store__item-icon{width:72px;height:72px;object-fit:contain;border-radius:10px;background:var(--bg-3)}
.c-store__item-icon--none{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:var(--t-4)}
.item-price{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--t-0)}
.increment-btn{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--t-0);font-weight:900}
.increment-btn:hover{box-shadow:inset 0 0 0 1px var(--corona);color:var(--corona)}
.border-info{border-color:var(--line)!important}
.promo-group .input-group-text{background:rgba(8,6,15,.7);border-color:var(--line-strong);color:var(--accent)}
.promo-group button,#applyPromo{border:0;padding:0 18px;border-radius:0 10px 10px 0;background:linear-gradient(180deg,#8B3BE0,#6C15B7);color:#fff;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}

/* forms */
.form-control,.form-select{background:rgba(8,6,15,.7);border:0;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--t-0);border-radius:10px;padding:12px 14px;font-family:var(--font)}
.form-control:focus,.form-select:focus{background:rgba(8,6,15,.85);color:var(--t-0);box-shadow:inset 0 0 0 1px var(--corona),var(--glow)}
.form-control::placeholder{color:var(--t-4)}
.form-label,label{color:var(--t-1)}
.form-check-input{background-color:rgba(8,6,15,.7);border-color:var(--line-strong);width:1.25em;height:1.25em}
.form-check-input:checked{background-color:var(--accent-fill);border-color:var(--corona)}
.input.is-invalid,.form-control.is-invalid{box-shadow:inset 0 0 0 1px var(--danger)}

/* payment method buttons */
.payment-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.payment-actions>.btn{margin:0!important;width:auto!important}
.payment-actions>form,.payment-actions>div{grid-column:1/-1}
.btn{font-family:var(--font);font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-radius:10px}
.btn-outline-info{--bs-btn-color:#F6F2FF;--bs-btn-border-color:rgba(168,121,255,.34);--bs-btn-bg:rgba(19,15,34,.6);--bs-btn-hover-bg:rgba(108,21,183,.35);--bs-btn-hover-border-color:#E9DCFF;--bs-btn-hover-color:#fff;--bs-btn-active-bg:rgba(108,21,183,.5);--bs-btn-active-border-color:#E9DCFF;font-size:.9rem!important;padding:18px!important;transition:transform .18s,box-shadow .45s}
.btn-outline-info:hover{transform:translateY(-2px);box-shadow:var(--glow)}
.btn-primary{--bs-btn-bg:#6C15B7;--bs-btn-border-color:rgba(233,220,255,.35);--bs-btn-hover-bg:#7d22cc;--bs-btn-hover-border-color:#E9DCFF;--bs-btn-active-bg:#5a0f9b;--bs-btn-color:#fff}
.btn-secondary{--bs-btn-bg:rgba(19,15,34,.8);--bs-btn-border-color:rgba(168,121,255,.34);--bs-btn-hover-bg:rgba(108,21,183,.35);--bs-btn-hover-border-color:#E9DCFF;--bs-btn-color:#F6F2FF}
.btn-danger{--bs-btn-bg:rgba(255,138,154,.15);--bs-btn-border-color:rgba(255,138,154,.45);--bs-btn-color:#FFD0D7;--bs-btn-hover-bg:rgba(255,138,154,.3)}

/* modals */
.modal{--bs-modal-bg:#130F22;--bs-modal-border-color:rgba(168,121,255,.34);--bs-modal-header-border-color:rgba(168,121,255,.16);--bs-modal-footer-border-color:rgba(168,121,255,.16);--bs-modal-color:#B8AFCF;--bs-modal-border-radius:18px}
.modal-content{background:linear-gradient(180deg,#1A142E,#0D0A18);box-shadow:0 40px 90px -30px rgba(108,21,183,.6)}
.modal-title{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--t-0)}
.modal-backdrop{--bs-backdrop-bg:#05040a;--bs-backdrop-opacity:.7}
.modal-body ol,.modal-body ul{padding-left:1.2em}
.btn-close{filter:invert(1) grayscale(1) brightness(1.6)}

/* tables + lists (credit rewards) */
.table{--bs-table-bg:transparent;--bs-table-color:#B8AFCF;--bs-table-border-color:rgba(168,121,255,.16)}
.list-group{--bs-list-group-bg:rgba(8,6,15,.45);--bs-list-group-border-color:rgba(168,121,255,.16);--bs-list-group-color:#E4DDF5}

/* toastr */
#toast-container>div{opacity:1;border-radius:12px;box-shadow:0 20px 50px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(168,121,255,.34);font-family:var(--font);background-color:#1A142E;padding:15px 15px 15px 50px}
#toast-container>.toast-success{background-color:#14271f;box-shadow:0 20px 50px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(61,220,132,.45)}
#toast-container>.toast-error{background-color:#2b141c;box-shadow:0 20px 50px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,138,154,.5)}
.toast-progress{background:var(--accent)}

/* Bootstrap's .row/.container must not fight the Eclipse grid */
.page-body .row{--bs-gutter-x:1.5rem}
@media (max-width:640px){
  .checkout-card .card-header,.checkout-card .card-body,.checkout-card .card-footer{padding:18px!important}
  .checkout-card .alert{flex-wrap:wrap;gap:10px}
  .c-store__item-icon{width:48px;height:48px;margin:0 10px 0 0!important}
}
/* checkout total row: the inherited markup floats its two spans */
.checkout-card #total .alert{display:flex;justify-content:space-between;align-items:center}
.checkout-card #total .float-start,.checkout-card #total .float-end{float:none!important}
.checkout-card .card-footer .h3{font-size:1.05rem}
.checkout-card .card-footer label p{font-size:.95rem;font-weight:600}
@media (max-width:900px){#toast-container.toast-bottom-right{bottom:84px;right:12px}}
