.checkout-shell{max-width:var(--bgsm-page-max);}
.checkout-hero{padding:.9rem 1rem .25rem;border-radius:var(--bgsm-radius-lg);background:linear-gradient(135deg,rgba(17,24,39,.98),rgba(37,99,235,.88));color:#fff;box-shadow:var(--bgsm-shadow-lg);}
.checkout-hero .small-muted{color:rgba(255,255,255,.82)!important;}
.checkout-hero-quick{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.8rem;padding:.9rem 1rem;border-radius:var(--bgsm-radius-md);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}
.hero-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:.8rem;}
.hero-mini-item{padding:.75rem .9rem;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.9rem;}
.hero-mini-item strong{display:block;font-size:.95rem;}
.checkout-action-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding:1rem 1.1rem;border-radius:20px;background:#0f172a;color:#fff;box-shadow:0 16px 36px rgba(15,23,42,.12);}
.checkout-action-bar .mini-label{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:700;}
.checkout-action-bar .mini-value{font-size:1rem;font-weight:700;}
.payment-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;}
.payment-method-card{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:1rem;text-align:left;transition:.2s ease;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.payment-method-card:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.45);box-shadow:0 16px 30px rgba(37,99,235,.12);}
.payment-method-card.active{background:linear-gradient(135deg,#111827,#1d4ed8);color:#fff;border-color:transparent;box-shadow:0 18px 35px rgba(29,78,216,.24);}
.payment-method-card .pm-title{display:block;font-weight:800;margin-bottom:.2rem;}
.payment-method-card .pm-sub{display:block;font-size:.82rem;opacity:.75;}
.payment-select-wrap{display:none;}
.checkout-summary-item{display:flex;justify-content:space-between;gap:.75rem;padding:.8rem 0;border-bottom:1px solid rgba(15,23,42,.08);}
.checkout-summary-item:last-child{border-bottom:0;}
.summary-total{padding:1rem 1.1rem;border-radius:18px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);}
.secure-note{padding:.95rem 1rem;border-radius:16px;background:#eff6ff;color:#1e3a8a;font-size:.92rem;}
#paymentHelpBox{border-radius:16px;border:1px solid rgba(37,99,235,.12);background:#f8fbff;color:#0f172a;}
.gateway-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;}
.gateway-badge{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1rem;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px rgba(15,23,42,.05);font-size:.92rem;font-weight:700;}
.gateway-badge small{display:block;font-size:.76rem;font-weight:600;opacity:.72;}
.gateway-live{color:#166534;background:linear-gradient(135deg,rgba(220,252,231,.95),rgba(240,253,244,.98));}
.gateway-wait{color:#9a3412;background:linear-gradient(135deg,rgba(255,237,213,.95),rgba(255,247,237,.98));}
.mobile-checkout-bar{position:sticky;bottom:0;z-index:30;display:none;margin-top:1rem;padding:.9rem 1rem;border-radius:18px;background:#111827;color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.22);}
.mobile-checkout-bar .mini-total{font-size:1.05rem;font-weight:800;}
.checkout-extra-toggle summary{cursor:pointer;list-style:none;}
.checkout-extra-toggle summary::-webkit-details-marker{display:none;}
.checkout-extra-toggle[open] summary{margin-bottom:.8rem;}
@media (max-width:767.98px){.checkout-hero{padding:1rem;}.mobile-checkout-bar{display:flex;align-items:center;justify-content:space-between;gap:.9rem;}}


/* Checkout + booking mobile polish */
.checkout-shell form .row,.checkout-shell .row{min-width:0;}
.payment-method-card,.gateway-badge,.hero-mini-item{min-width:0;}
@media (max-width: 767.98px){
  .checkout-action-bar,.checkout-hero-quick{padding:.9rem;}
  .payment-method-grid{grid-template-columns:1fr;}
  .checkout-summary-item{align-items:flex-start;flex-direction:column;}
  .mobile-checkout-bar{padding:.85rem .9rem;border-radius:16px;}
}
@media (max-width: 575.98px){
  .checkout-hero{padding:.9rem;}
  .checkout-action-bar .mini-value,.mobile-checkout-bar .mini-total{font-size:.98rem;}
  .hero-mini-grid{grid-template-columns:1fr;}
}
