:root {
  --site-navbar-height: 80px;
  --primary: #2f8fef;
  --primary-dark: #1565c0;
  --bg: #090d1a;
  --surface: #121a30;
  --surface-2: #1a2440;
  --text-dark: #e8ecf7;
  --text-muted: #93a0c2;
  --border: #263256;
  --star: #ffb238;
  --radius: 12px;
}

* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  padding-top: var(--site-navbar-height);
  font-family: 'Segoe UI', Arial, sans-serif;
  color: var(--text-dark);
  background: var(--bg);
}
html.language-malayalam body,
html.language-malayalam button,
html.language-malayalam input,
html.language-malayalam select,
html.language-malayalam textarea {
  font-family: "Noto Sans Malayalam", "Nirmala UI", "Kartika", "Malgun Gothic", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}
html.language-malayalam { text-rendering: optimizeLegibility; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
button { cursor: pointer; font-family: inherit; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff; border: none;
  padding: 10px 18px; border-radius: 8px; font-weight: 600; font-size: 14px;
  transition: transform .15s, box-shadow .15s; box-shadow: 0 4px 14px rgba(47,143,239,.25);
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(47,143,239,.4); }
.btn-outline { background: transparent; border: 1.5px solid var(--primary); color: var(--primary); box-shadow: none; }
.btn-outline:hover { background: rgba(47,143,239,.12); color: var(--primary); transform: none; }
.btn-block { width: 100%; justify-content: center; }
.btn-sm { padding: 6px 12px; font-size: 13px; }

/* ---------- Top bar / Header ---------- */
.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; background: var(--surface); border-bottom: 1px solid var(--border); flex-wrap: wrap; gap: 12px;
}
.logo { font-size: 22px; font-weight: 800; letter-spacing: .5px; display: flex; align-items: center; color: var(--text-dark); }
.logo span { color: var(--primary); }
.logo-img { height: 52px; width: 52px; object-fit: contain; border-radius: 50%; box-shadow: 0 0 0 3px rgba(47,143,239,.25); }
.search-bar { display: flex; flex: 1; max-width: 420px; }
.search-bar input {
  flex: 1; padding: 9px 14px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text-dark);
  border-radius: 8px 0 0 8px; outline: none; font-size: 14px;
}
.search-bar input::placeholder { color: var(--text-muted); }
.search-bar button {
  background: var(--primary); border: none; color: #fff; padding: 0 16px; border-radius: 0 8px 8px 0;
}
.nav-links { display: flex; gap: 18px; align-items: center; font-size: 14px; font-weight: 600; min-width:0; }
.nav-links > * { min-width:0; }
.nav-links a { display: flex; align-items: center; gap: 5px; color: var(--text-dark); transition: color .15s; }
.nav-links a:hover { color: var(--primary); }
.language-switcher { display:inline-flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--border); border-radius:9px; background:rgba(26,36,64,.72); }
.language-switcher button { min-height:28px; border:0; border-radius:6px; padding:4px 7px; background:transparent; color:var(--text-muted); font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.language-switcher button.is-active { background:var(--primary); color:#fff; box-shadow:0 2px 7px rgba(47,143,239,.35); }
.language-switcher button:focus-visible { outline:2px solid #8dcbff; outline-offset:2px; }
html.language-malayalam .nav-links { font-size:13px; }
html.language-malayalam .nav-links a { line-height:1.35; }
.floating-language { position:fixed; left:20px; bottom:20px; z-index:1800; display:inline-flex; align-items:center; gap:2px; min-height:40px; padding:3px; border:1px solid rgba(128,173,229,.62); border-radius:999px; background:rgba(18,26,48,.96); box-shadow:0 10px 26px rgba(0,0,0,.28); backdrop-filter:blur(12px); }
.floating-language-icon { display:grid; place-items:center; width:27px; color:#a8d5ff; font-size:15px; }
.floating-language button { min-width:35px; min-height:32px; padding:5px 7px; border:0; border-radius:999px; background:transparent; color:#d4e0f5; font:inherit; font-size:11px; font-weight:850; line-height:1; cursor:pointer; }
.floating-language button.is-active { background:var(--primary); color:#fff; box-shadow:0 2px 8px rgba(47,143,239,.42); }
.floating-language button:focus-visible { outline:2px solid #8dcbff; outline-offset:2px; }
.cart-badge {
  background: var(--primary); color: #fff; border-radius: 50%; font-size: 11px;
  padding: 1px 6px; margin-left: 3px;
}
.avatar-circle {
  width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700;
  margin-right: 4px;
}
.account-link { display: flex; align-items: center; gap: 4px; }

/* ---------- Org banner ---------- */
.org-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 12px 20px; background: rgba(47,143,239,.08); border-bottom: 1px solid var(--border); flex-wrap: wrap;
  border-left: 4px solid var(--primary);
}
.org-banner .org-title { font-weight: 800; font-size: 16px; color: var(--text-dark); }
.org-banner .org-sub { font-size: 12px; color: var(--text-muted); }

/* ---------- Hero (rich branded version) ---------- */
.hero-v2 {
  position: relative;
  background: linear-gradient(120deg, #060912 0%, #0d1a3a 45%, #123a72 100%);
  padding: 56px 20px; overflow: hidden; color: #fff;
}
.hero-v2::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(47,143,239,.25) 1.5px, transparent 1.5px);
  background-size: 26px 26px; opacity: .5; pointer-events: none;
}
.hero-v2::after {
  content: ''; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(47,143,239,.25) 0%, transparent 70%); border-radius: 50%; pointer-events: none;
}
.hero-inner {
  position: relative; z-index: 1; max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; gap: 40px; flex-wrap: wrap;
}
.hero-logo-wrap { flex-shrink: 0; text-align: center; }
.hero-logo-wrap img { width: 130px; height: 130px; border-radius: 50%; box-shadow: 0 0 0 6px rgba(47,143,239,.2), 0 0 40px rgba(47,143,239,.35), 0 12px 30px rgba(0,0,0,.35); }
.hero-logo-wrap .hero-badge {
  margin-top: 14px; display: inline-block; background: rgba(255,255,255,.1); backdrop-filter: blur(4px);
  padding: 5px 14px; border-radius: 20px; font-size: 11.5px; letter-spacing: .5px; border: 1px solid rgba(255,255,255,.2);
}
.hero-content { flex: 1; min-width: 280px; }
.hero-content h1 { font-size: 32px; max-width: 640px; line-height: 1.3; margin: 0 0 14px; font-weight: 800; }
.hero-content p { color: rgba(255,255,255,.8); max-width: 550px; margin-bottom: 22px; }
.hero-content .search-bar { max-width: 480px; }
.hero-content .search-bar input { border: none; background: rgba(255,255,255,.1); color: #fff; }
.hero-content .search-bar input::placeholder { color: rgba(255,255,255,.6); }
.hero-inner-with-product { display:grid; grid-template-columns:minmax(106px,130px) minmax(0,1fr) minmax(260px,320px); align-items:center; gap:clamp(22px,3vw,42px); }
.hero-product-spotlight { display:grid; grid-template-columns:104px minmax(0,1fr); gap:13px; align-items:center; min-width:0; padding:12px; border:1px solid rgba(163,210,255,.36); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(122,192,255,.07)); color:#fff; box-shadow:0 18px 44px rgba(0,0,0,.25); text-decoration:none; backdrop-filter:blur(9px); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.hero-product-spotlight:hover { color:#fff; border-color:rgba(162,223,255,.78); background:linear-gradient(145deg,rgba(255,255,255,.19),rgba(122,192,255,.12)); transform:translateY(-3px); }
.hero-product-spotlight-image { display:grid; place-items:center; width:104px; height:126px; overflow:hidden; border-radius:12px; background:rgba(255,255,255,.95); box-shadow:0 8px 22px rgba(0,0,0,.22); }
.hero-product-spotlight-image img { width:100%; height:100%; object-fit:contain; }
.hero-product-spotlight-copy { display:grid; gap:7px; min-width:0; }
.hero-product-spotlight-copy small { color:#8dcbff; font-size:10px; font-weight:900; letter-spacing:.09em; }
.hero-product-spotlight-copy strong { color:#fff; font-size:18px; line-height:1.22; overflow-wrap:anywhere; }
.hero-product-spotlight-copy em { color:#d9e9ff; font-size:13px; font-style:normal; font-weight:650; }
.hero-product-spotlight-copy b { display:block; margin-top:4px; color:#94d7ff; font-size:12px; }
.hero-trust-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.hero-trust-row span {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); padding: 6px 14px;
  border-radius: 20px; font-size: 12.5px; font-weight: 600;
}

/* ---------- Section heading ---------- */
.section-title { text-align: center; font-size: 22px; letter-spacing: 1px; margin: 44px 0 26px; font-weight: 800; color: var(--text-dark); }

/* ---------- Product grid ---------- */
.product-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px; padding: 0 20px 40px;
}
.home-product-showcase { width:min(1120px, calc(100% - 40px)); margin:0 auto 34px; display:grid; grid-template-columns:minmax(260px, 360px) minmax(0, 1fr); gap:32px; align-items:stretch; }
.home-product-showcase-product .product-card { height:100%; }
.home-store-assurance { padding:clamp(24px, 4vw, 42px); border:1px solid rgba(47,143,239,.28); border-radius:18px; background:linear-gradient(135deg, rgba(17,43,86,.98), rgba(12,27,57,.98)); box-shadow:0 18px 48px rgba(5,12,28,.22); color:#fff; }
.home-store-assurance-eyebrow { margin:0 0 10px; color:#8dcbff; font-size:11px; font-weight:850; letter-spacing:1.3px; }
.home-store-assurance h2 { max-width:620px; margin:0; color:#fff; font-size:clamp(23px, 3vw, 34px); line-height:1.18; }
.home-store-assurance-intro { max-width:650px; margin:14px 0 24px; color:#d3e3fb; line-height:1.65; }
.home-store-assurance-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.home-store-assurance-grid > div { min-height:112px; padding:15px; border:1px solid rgba(154,194,245,.21); border-radius:12px; background:rgba(255,255,255,.06); }
.home-store-assurance-grid span { display:block; margin-bottom:9px; font-size:18px; }
.home-store-assurance-grid strong,.home-store-assurance-grid small { display:block; }
.home-store-assurance-grid strong { color:#fff; font-size:14px; }
.home-store-assurance-grid small { margin-top:5px; color:#bdd1ed; font-size:12px; line-height:1.42; }
.home-store-assurance-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:25px; }
.home-store-assurance-link { color:#d9eaff; font-size:13px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.home-store-assurance-link:hover { color:#fff; }
@media (max-width:900px) { .home-product-showcase { width:min(680px, calc(100% - 36px)); grid-template-columns:1fr; } .home-product-showcase-product { width:min(360px, 100%); margin:0 auto; } }
@media (max-width:480px) { .home-product-showcase { width:calc(100% - 28px); gap:18px; } .home-store-assurance { padding:24px 18px; } .home-store-assurance-grid { grid-template-columns:1fr; } .home-store-assurance-grid > div { min-height:0; } }

.price-block { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.discount-label { display:inline-flex; align-items:center; padding:3px 7px; border-radius:999px; background:#dcfce7; color:#166534; font-size:10.5px; font-weight:800; letter-spacing:.2px; }
.stock-badge { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:800; }
.stock-badge.out-of-stock { background:#fee2e2; color:#991b1b; }
.product-stock-status { display:flex; align-items:center; gap:8px; margin:14px 0 10px; font-weight:800; font-size:14px; }
.product-stock-status.in-stock { color:#15803d; }
.product-stock-status.out-of-stock { color:#b91c1c; }
.product-stock-status small { color:#b45309; font-weight:700; margin-left:4px; }
.stock-dot { width:9px; height:9px; border-radius:50%; background:currentColor; display:inline-block; }
.main-price-display { margin:4px 0 12px; font-size:24px; color:var(--text-dark); }
.main-price-display .price-strike { font-size:15px; }
.price-quantity-note { color:var(--text-muted); font-size:12px; font-weight:700; }
.product-purchase-assurance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 20px; }
.product-purchase-assurance > div { display:grid; grid-template-columns:26px 1fr; column-gap:8px; padding:11px; border:1px solid var(--border); border-radius:10px; background:rgba(26,36,64,.54); }
.product-purchase-assurance span { grid-row:span 2; font-size:16px; }
.product-purchase-assurance strong { color:var(--text-dark); font-size:12px; line-height:1.35; }
.product-purchase-assurance small { margin-top:3px; color:var(--text-muted); font-size:11px; line-height:1.4; }
.mobile-quick-buy { display:none; }
.product-meta { display:flex; gap:18px; flex-wrap:wrap; color:var(--text-muted); font-size:12px; margin:10px 0; }
.product-share { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 16px; color:var(--text-muted); font-size:13px; }
.product-share a, .product-share button { border:1px solid var(--border); background:var(--surface); color:var(--text-dark); border-radius:999px; padding:7px 11px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.product-share .product-share-whatsapp { border-color:#20a45a; color:#12733a; }
.product-share a:hover, .product-share button:hover { border-color:var(--primary); color:var(--primary); }
.product-share-feedback { color:#15803d; font-weight:700; }
.variant-sold-out { opacity:.55; text-decoration:line-through; }
.variant-discount { margin-left:4px; color:#15803d; font-size:10px; font-weight:800; }
.product-extra-details { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:4px; }
.product-extra-details section { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px; }
.product-extra-details h2 { margin:0 0 12px; font-size:18px; color:var(--text-dark); }
.product-extra-details ul { margin:0; padding-left:20px; line-height:1.9; color:var(--text-muted); }
.product-buying-guide p { margin:0; color:var(--text-muted); line-height:1.62; }
.product-guide-facts { display:grid; gap:8px; margin-top:15px; color:#3f8c66; font-size:12px; }
.product-guide-facts strong { color:var(--text-dark); }
.product-faq details { border-top:1px solid var(--border); }
.product-faq details:last-child { border-bottom:1px solid var(--border); }
.product-faq summary { padding:12px 24px 12px 0; color:var(--text-dark); font-size:13px; font-weight:800; cursor:pointer; }
.product-faq p { margin:0; padding:0 0 13px; color:var(--text-muted); font-size:13px; line-height:1.58; }
.spec-list > div { display:grid; grid-template-columns:140px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid var(--border); font-size:13px; }
.spec-list > div:last-child { border-bottom:0; }
.spec-list strong { color:var(--text-dark); }
@media (max-width:800px) { .product-extra-details { grid-template-columns:1fr; } .product-purchase-assurance { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { body.has-mobile-quick-buy { padding-bottom:92px; } .product-purchase-assurance { grid-template-columns:1fr; } .mobile-quick-buy { position:fixed; z-index:1600; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px max(14px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px)); border-top:1px solid rgba(81,151,236,.48); background:rgba(12,21,42,.97); box-shadow:0 -10px 28px rgba(0,0,0,.28); backdrop-filter:blur(12px); } .mobile-quick-buy span { display:grid; gap:2px; min-width:0; } .mobile-quick-buy small { color:var(--text-muted); font-size:11px; } .mobile-quick-buy strong { color:#fff; font-size:17px; } .mobile-quick-buy .btn { min-height:48px; justify-content:center; white-space:nowrap; } }
.product-card {
  border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; position: relative;
  display: flex; flex-direction: column; background: var(--surface); transition: transform .18s, box-shadow .18s, border-color .18s;
}
.product-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(47,143,239,.15); border-color: rgba(47,143,239,.4); }
.badge-new {
  position: absolute; top: 10px; left: 10px; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff;
  font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 14px; z-index: 2;
}
.product-card .img-wrap { height: 150px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; background: var(--surface-2); border-radius: 8px; overflow: hidden; }
.product-card .img-wrap img { max-height: 150px; object-fit: contain; }
.product-card h3 { font-size: 15px; margin: 0 0 6px; font-weight: 750; color: var(--text-dark); line-height:1.35; }
.product-card p.desc { font-size: 12.5px; color: var(--text-muted); flex: 1; margin: 0 0 10px; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rating { color: var(--star); font-size: 13px; margin-bottom: 10px; }
.rating .count { color: var(--text-muted); margin-left: 4px; }
.price { font-weight: 700; margin-bottom: 10px; color: var(--text-dark); }
.price-strike { text-decoration: line-through; color: var(--text-muted); font-weight: 400; font-size: 12.5px; margin-left: 6px; }
.badge-sale { background: linear-gradient(135deg, #ef4444, #b91c1c); left: auto; right: 10px; }
.product-campaign-badge { position:absolute; z-index:3; top:10px; left:10px; max-width:calc(100% - 20px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:4px 9px; border-radius:999px; color:#fff; font-size:10.5px; font-weight:850; letter-spacing:.15px; box-shadow:0 4px 12px rgba(0,0,0,.22); }
.product-campaign-position-1 { top:40px; }
.product-campaign-featured { background:linear-gradient(135deg,#3267d9,#1b3d91); }
.product-campaign-deal { background:linear-gradient(135deg,#e44a35,#a51919); }
.product-campaign-staff_pick { background:linear-gradient(135deg,#8651ca,#4f258e); }
.product-campaign-new { background:linear-gradient(135deg,#188b67,#0d624a); }
.product-campaign-best_seller { background:linear-gradient(135deg,#d99016,#975900); }
.product-campaign-trending { background:linear-gradient(135deg,#d33a72,#8c1644); }
.campaign-section { max-width:1240px; margin:24px auto 0; padding:26px 20px 6px; border-top:1px solid var(--border); }
.campaign-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 18px; }
.campaign-section-head p { margin:0 0 5px; color:var(--text-muted); font-size:13px; }
.campaign-section-head h2 { margin:0; color:var(--text-dark); font-size:clamp(20px,3vw,27px); letter-spacing:.7px; }
.campaign-product-grid { padding-left:0; padding-right:0; }
.vendor-page { width:min(1040px,100%); margin:0 auto; padding:48px 20px 70px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; }
.vendor-intro,.vendor-form-card { padding:28px; border:1px solid var(--border); border-radius:18px; background:var(--surface); }
.vendor-intro { background:linear-gradient(145deg,#122850,#101931); }.vendor-eyebrow { margin:0 0 9px; color:#8dcbff; font-size:11px; font-weight:800; letter-spacing:1.4px; }.vendor-intro h1,.vendor-form-card h2 { margin:0 0 12px; }.vendor-intro p,.vendor-intro li { color:#cedaf1; line-height:1.65; }.vendor-intro ul { padding-left:20px; }.vendor-form-card .form-group label { display:block; margin-bottom:6px; font-weight:700; }.vendor-form-card input,.vendor-form-card select,.vendor-form-card textarea { width:100%; border:1px solid var(--border); border-radius:8px; background:var(--surface-2); color:var(--text-dark); padding:10px; font:inherit; }.vendor-consent { display:block; margin:17px 0; color:var(--text-muted); line-height:1.55; font-size:13px; }.vendor-consent input { width:auto; margin-right:7px; }.vendor-notice,.vendor-error { margin:0 0 16px; padding:11px 13px; border-radius:9px; font-weight:650; }.vendor-notice { color:#b9f5d3; background:rgba(22,163,74,.13); border:1px solid rgba(34,197,94,.35); }.vendor-error { color:#ffd3d3; background:rgba(220,38,38,.13); border:1px solid rgba(248,113,113,.4); }.vendor-error ul{margin:8px 0 0;padding-left:20px}.vendor-error li{margin:4px 0}.vendor-form-card input:required,.vendor-form-card select:required{box-shadow:inset 3px 0 0 rgba(37,99,235,.4)}
@media(max-width:760px){.vendor-page{grid-template-columns:1fr;padding:30px 16px 48px}.vendor-intro,.vendor-form-card{padding:21px 18px}}
@media (max-width:560px) { .campaign-section { padding:24px 18px 4px; } .campaign-section-head { align-items:flex-start; } .campaign-section-head .btn { flex:0 0 auto; } .campaign-product-grid { padding:0 0 22px; } }
.fulfillment-badge { display:inline-flex; align-self:flex-start; align-items:center; gap:6px; margin:0 0 11px; padding:5px 9px 5px 6px; border:1px solid rgba(16,185,129,.42); border-radius:999px; color:#065f46; background:rgba(236,253,245,.95); font-size:10px; font-weight:800; letter-spacing:.05px; box-shadow:0 2px 8px rgba(6,95,70,.12); }
.fulfillment-badge-mark { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#059669; color:#fff; font-size:10px; font-weight:900; }
.free-shipping-badge { display:inline-flex; align-self:flex-start; margin:0 0 11px; padding:5px 9px; border:1px solid rgba(59,130,246,.38); border-radius:999px; background:rgba(239,246,255,.95); color:#1d4ed8; font-size:10px; font-weight:800; }
.free-shipping-detail { display:flex; align-items:center; gap:8px; margin:0 0 14px; padding:11px 13px; border:1px solid rgba(59,130,246,.28); border-radius:9px; background:rgba(239,246,255,.72); color:#1d4ed8; font-size:13px; }
.free-shipping-detail span { color:#2563eb; font-size:12px; }
.fulfillment-detail { display:flex; align-items:flex-start; gap:10px; margin:0 0 14px; padding:11px 13px; border:1px solid rgba(16,185,129,.32); border-radius:9px; background:rgba(236,253,245,.7); color:#065f46; font-size:13px; }
.fulfillment-detail small { display:block; margin-top:3px; color:#047857; line-height:1.35; }
.fulfillment-mark { display:inline-grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:50%; background:#059669; color:#fff; font-weight:900; }
.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

/* ---------- Promo banner ---------- */
.promo-banner {
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--surface);
  border: 1px solid var(--border);
  margin: 30px 20px; border-radius: var(--radius); overflow: hidden;
}
.promo-banner .promo-img {
  background: linear-gradient(135deg, var(--primary) 0%, #060912 100%);
  min-height: 220px; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.promo-banner .promo-img::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.15) 2px, transparent 2px);
  background-size: 22px 22px;
}
.promo-banner .promo-img .promo-icon { position: relative; z-index: 1; font-size: 64px; opacity: .9; filter: drop-shadow(0 6px 10px rgba(0,0,0,.3)); }
.promo-banner .promo-text { text-align: center; padding: 30px; }
.promo-banner .promo-text h2 { font-size: 24px; margin: 4px 0; color: var(--text-dark); }
.promo-banner .promo-text p { color: var(--text-muted); }
.promo-banner .promo-text .year { color: var(--primary); font-size: 30px; font-weight: 800; margin: 8px 0; }
@media (max-width: 700px) { .promo-banner { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
footer { background:linear-gradient(145deg,#151f3a 0%,#10182d 100%); border-top:3px solid var(--primary); margin-top:40px; padding:44px 20px 24px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:34px; max-width:1200px; margin:0 auto; }
.footer-grid > div { min-width:0; }
.footer-grid h4 { font-size:14px; text-transform:uppercase; letter-spacing:.8px; margin:0 0 15px; color:#f7f9ff; }
.footer-grid a, .footer-grid p { display:block; font-size:15px; line-height:1.55; color:#c8d2e8; margin:0 0 10px; overflow-wrap:anywhere; }
.footer-grid a { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:3px; transition:color .15s ease,text-decoration-color .15s ease; }
.footer-grid a:hover, .footer-grid a:focus-visible { color:#8fc7ff; text-decoration-color:currentColor; outline:none; }
.footer-grid p a { display:inline; color:#e4edff; font-weight:650; }
.footer-social { display: flex; gap: 12px; margin-top: 10px; }
.footer-social a { width: 32px; height: 32px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--text-dark); }
.footer-bottom { text-align:center; font-size:13.5px; line-height:1.5; color:#c8d2e8; border-top:1px solid #354363; margin-top:30px; padding-top:18px; max-width:1200px; margin-left:auto; margin-right:auto; }

/* ---------- Public information and policy pages ---------- */
.cms-page { width:min(920px,100%); margin:0 auto; padding:42px 24px 64px; }
.cms-page h1 { margin:0 0 22px; color:#f7f9ff; font-size:clamp(28px,4vw,40px); line-height:1.2; }
.cms-page-content { max-width:78ch; color:#d4def1; font-size:16px; line-height:1.85; white-space:pre-wrap; }
.cms-page-content h2 { margin:27px 0 8px; color:#f7f9ff; font-size:20px; line-height:1.38; }
.cms-page-content p { margin:0 0 15px; }
[data-language-content="ml"] { display:none; }
html.language-malayalam [data-language-content="en"] { display:none; }
html.language-malayalam [data-language-content="ml"] { display:block; white-space:normal; font-size:15.5px; line-height:1.72; }
html.language-malayalam .cms-page-content[data-language-content="ml"] h2 { margin:22px 0 7px; font-size:19px; line-height:1.35; }
html.language-malayalam .cms-page-content[data-language-content="ml"] p { margin:0 0 13px; }
.cms-support-card { max-width:78ch; margin-top:30px; padding:20px; border:1px solid #3e5d91; border-radius:12px; background:linear-gradient(145deg,#152545,#101d36); color:#dce9ff; }
.cms-support-card > strong { color:#fff; font-size:16px; }
.cms-support-card p { margin:9px 0 0; color:#c8d8f2; font-size:15px; line-height:1.65; }
.cms-support-card a { color:#8fc7ff; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.cms-page .page-continue-shopping { margin-top:30px; }

/* ---------- Forms ---------- */
.form-box { max-width: 440px; margin: 50px auto; padding: 30px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.form-box h2 { margin-top: 0; color: var(--text-dark); }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 6px; color: var(--text-dark); }
.form-group input, .form-group select, .form-group textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; outline: none;
  background: var(--surface-2); color: var(--text-dark);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--primary); }
.error-msg { background: rgba(239,68,68,.12); color: #f87171; padding: 10px 14px; border-radius: 8px; font-size: 13.5px; margin-bottom: 16px; border: 1px solid rgba(239,68,68,.3); }
.success-msg { background: rgba(34,197,94,.12); color: #4ade80; padding: 10px 14px; border-radius: 8px; font-size: 13.5px; margin-bottom: 16px; border: 1px solid rgba(34,197,94,.3); }
.info-msg { background: rgba(47,143,239,.12); color: #bfdbfe; padding: 10px 14px; border-radius: 8px; font-size: 13.5px; margin-bottom: 16px; border: 1px solid rgba(47,143,239,.35); }

/* ---------- Cart / Checkout ---------- */
.page-wrap { max-width: 1000px; margin: 0 auto; padding: 30px 20px 60px; }
.page-wrap h1, .page-wrap h2, .page-wrap h3 { color: var(--text-dark); }
.cart-row { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.cart-row img { width: 64px; height: 64px; object-fit: contain; background: var(--surface-2); border-radius: 8px; }
.cart-row .info { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cart-row .qty-box { display: flex; align-items: center; gap: 8px; }
.quantity-stepper { display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--surface-2); }
.quantity-stepper input { width:48px; min-width:0; text-align:center; padding:7px 3px; border:0; border-left:1px solid var(--border); border-right:1px solid var(--border); border-radius:0; background:transparent; color:var(--text-dark); font-weight:700; }
.quantity-stepper input:focus { outline:2px solid rgba(47,143,239,.35); outline-offset:-2px; }
.qty-step { width:34px; min-width:34px; height:35px; border:0; background:var(--surface); color:var(--text-dark); font-size:20px; line-height:1; cursor:pointer; }
.qty-step:hover:not(:disabled) { background:#e9f4ff; color:var(--primary); }
.qty-step:disabled { opacity:.42; cursor:not-allowed; }
.cart-summary { display: flex; justify-content: flex-end; margin-top: 20px; }
.cart-summary .box { min-width: 280px; border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; background: var(--surface); }
.cart-summary .row { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 14px; color: var(--text-dark); }
.cart-summary .total { font-weight: 800; font-size: 18px; border-top: 1px solid var(--border); padding-top: 10px; }
.cart-free-shipping-progress { display:flex; flex-direction:column; gap:4px; margin:18px 0; padding:13px 15px; border:1px solid rgba(22,163,74,.38); border-radius:12px; background:rgba(22,163,74,.09); color:var(--text-dark); }
.cart-free-shipping-progress strong { color:#087443; font-size:14px; }
.cart-free-shipping-progress span { color:var(--text-muted); font-size:13px; line-height:1.45; }
.cart-recommendations { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--border); }
.cart-recommendations-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.cart-recommendations-head h2 { margin: 0 0 5px; font-size: 21px; color: var(--text-dark); }
.cart-recommendations-head p { margin: 0; color: var(--text-muted); font-size: 13px; }
.cart-recommendations-grid { padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cart-recommendations-grid .product-card { min-width: 0; padding: 13px; }
.cart-recommendations-grid .product-card .img-wrap { height: 120px; }
.cart-recommendations-grid .product-card .img-wrap img { max-height: 120px; }
.cart-recommendations-grid .product-card h3 { font-size: 13px; }
.cart-recommendations-grid .product-card p.desc { font-size: 12px; }
@media (max-width: 800px) {
  .cart-recommendations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .cart-recommendations-head { align-items: flex-start; flex-direction: column; }
  .cart-recommendations-grid { grid-template-columns: 1fr; }
}

/* Keep every cart control reachable on a phone. The former single horizontal row
   could place price and Remove outside the clipped viewport on narrow screens. */
@media (max-width: 640px) {
  .page-wrap { padding: 22px 14px 46px; }
  .cart-row { display:grid; grid-template-columns:64px minmax(0, 1fr) auto; gap:10px 12px; align-items:center; }
  .cart-row > img { grid-column:1; grid-row:1 / span 3; }
  .cart-row > .info { grid-column:2 / 4; grid-row:1; }
  .cart-row > .qty-box { grid-column:2; grid-row:2; }
  .cart-row > div:not(.info) { grid-column:3; grid-row:2; min-width:0 !important; white-space:nowrap; text-align:right; }
  .cart-row > form:last-child { grid-column:2 / 4; grid-row:3; justify-self:start; }
  .cart-summary { justify-content:stretch; }
  .cart-summary .box { min-width:0; width:100%; padding:16px; }
}

.checkout-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; }
@media (max-width: 800px) { .checkout-grid { grid-template-columns: 1fr; } }
.pay-option { border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; cursor: pointer; background: var(--surface); }
.pay-option input { accent-color: var(--primary); }

/* ---------- Product detail ---------- */
.product-detail { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; padding: 40px 20px; }
.product-detail > * { min-width:0; }
@media (max-width: 800px) { .product-detail { grid-template-columns: 1fr; } }
.product-detail h1 { color: var(--text-dark); }
.product-image-gallery { width:100%; min-width:0; }
.product-detail .main-img { width:100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); min-height: 320px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.product-detail .main-img img { display:block; width:auto; height:auto; max-height:320px; max-width:100%; object-fit:contain; object-position:center center; cursor:zoom-in; transition:transform .2s ease; }
.product-detail .main-img img:hover { transform: scale(1.02); }
.product-image-zoom-pane,.product-image-lens { display:none; }
@media (min-width:1050px) and (hover:hover) and (pointer:fine) {
  .product-image-gallery.has-hover-zoom { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(185px,.75fr); gap:14px; align-items:stretch; }
  .product-image-gallery.has-hover-zoom .main-img { min-height:320px; }
  .product-image-gallery.has-hover-zoom .product-image-zoom-pane { display:flex; min-height:320px; align-items:flex-end; padding:12px; border:1px solid var(--border); border-radius:var(--radius); background-color:var(--surface-2); background-repeat:no-repeat; color:var(--text-muted); overflow:hidden; }
  .product-image-zoom-pane span { padding:6px 8px; border-radius:7px; background:rgba(9,18,36,.72); color:#fff; font-size:11px; font-weight:700; opacity:1; transition:opacity .15s ease; }
  .product-image-zoom-pane.is-visible span { opacity:0; }
  .product-image-lens { position:absolute; z-index:3; pointer-events:none; border:2px solid rgba(47,143,239,.95); border-radius:50%; background:rgba(47,143,239,.13); box-shadow:0 0 0 999px rgba(6,13,27,.06), 0 5px 18px rgba(0,0,0,.22); }
  .product-image-lens.is-visible { display:block; }
}
.product-thumbnail-strip { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.product-thumbnail { width:74px; height:74px; padding:3px; border:2px solid var(--border); border-radius:9px; background:var(--surface); cursor:pointer; overflow:hidden; transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.product-thumbnail:hover { transform:translateY(-1px); }
.product-thumbnail.active { border-color:var(--primary); box-shadow:0 0 0 2px rgba(47,143,239,.12); }
.product-thumbnail img { width:100%; height:100%; object-fit:cover; display:block; border-radius:5px; }
.product-gallery-hint { color:var(--text-muted); font-size:12px; margin-top:7px; }
.image-zoom-trigger { position:absolute; top:14px; right:14px; z-index:2; width:42px; height:42px; border:1px solid var(--border); border-radius:50%; background:rgba(255,255,255,.94); color:var(--text-dark); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 3px 12px rgba(0,0,0,.10); font-size:24px; line-height:1; }
.image-zoom-trigger:hover { transform:scale(1.05); }
.image-zoom-trigger:focus-visible, .lightbox-close:focus-visible { outline:3px solid rgba(0,0,0,.18); outline-offset:2px; }
.product-image-lightbox { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:70px 28px 50px; background:rgba(0,0,0,.82); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, visibility .2s ease; }
.product-image-lightbox.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.product-image-lightbox img { max-width:min(92vw,1100px); max-height:82vh; object-fit:contain; cursor:zoom-out; border-radius:10px; box-shadow:0 18px 55px rgba(0,0,0,.35); }
.lightbox-close { position:absolute; top:20px; right:22px; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:32px; line-height:1; cursor:pointer; z-index:3; }
.lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:72px; border:1px solid rgba(255,255,255,.28); border-radius:12px; background:rgba(255,255,255,.12); color:#fff; font-size:46px; line-height:1; cursor:pointer; z-index:3; display:flex; align-items:center; justify-content:center; }
.lightbox-nav:hover { background:rgba(255,255,255,.22); }
.lightbox-prev { left:18px; }
.lightbox-next { right:18px; }
.lightbox-counter { position:absolute; top:26px; left:0; right:0; text-align:center; color:#fff; margin:0; font-weight:700; font-size:14px; }
.lightbox-hint { position:absolute; bottom:16px; left:0; right:0; text-align:center; color:rgba(255,255,255,.82); margin:0; font-size:13px; }
body.image-viewer-open { overflow:hidden; }
@media (max-width:600px) {
  .product-detail { gap:26px; padding:24px 14px 34px; }
  .product-detail .main-img { min-height:0; aspect-ratio:1 / 1; }
  .product-detail .main-img img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center center; }
  .product-thumbnail-strip { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; padding:2px; margin-inline:-2px; scrollbar-width:thin; }
  .product-thumbnail { flex:0 0 64px; }
  .product-gallery-hint { line-height:1.45; }
  .product-image-lightbox { padding:65px 14px 45px; }
  .product-image-lightbox img { max-width:88vw; max-height:78vh; }
  .image-zoom-trigger { width:40px; height:40px; }
  .product-thumbnail { width:64px; height:64px; }
  .lightbox-nav { width:42px; height:58px; font-size:38px; }
  .lightbox-prev { left:8px; }
  .lightbox-next { right:8px; }
}
.variant-chip { display: inline-block; border: 1.5px solid var(--border); border-radius: 20px; padding: 8px 18px; margin: 0 8px 8px 0; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--text-dark); }
.variant-chip.selected, .variant-chip:hover { border-color: var(--primary); color: var(--primary); background: rgba(47,143,239,.1); }
.review-item { border-bottom: 1px solid var(--border); padding: 14px 0; }
.verified-purchase-badge { display:inline-flex; align-items:center; margin-left:7px; padding:3px 7px; border-radius:999px; background:rgba(16,185,129,.14); color:#047857; font-size:10px; font-weight:800; vertical-align:middle; }
.review-request-page { width:min(620px, calc(100% - 32px)); margin:44px auto 72px; }
.review-request-card { padding:clamp(24px,5vw,42px); border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 16px 45px rgba(8,18,38,.14); text-align:center; }
.review-request-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 14px; border-radius:50%; background:#059669; color:#fff; font-size:26px; font-weight:900; }
.review-request-image { width:76px; height:76px; margin:0 auto 14px; object-fit:cover; border:1px solid var(--border); border-radius:12px; display:block; }
.review-request-eyebrow { margin:0 0 9px; color:var(--primary); font-size:11px; font-weight:850; letter-spacing:1.2px; }
.review-request-card h1 { margin:0; color:var(--text-dark); font-size:clamp(24px,5vw,34px); line-height:1.18; }
.review-request-card > p:not(.review-request-eyebrow) { max-width:460px; margin:14px auto 22px; color:var(--text-muted); line-height:1.6; }
.review-request-form { max-width:470px; margin:24px auto 0; text-align:left; }
.review-request-form fieldset { margin:0 0 18px; padding:0; border:0; }
.review-request-form legend,.review-request-form label { color:var(--text-dark); font-weight:750; }
.review-request-rating { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.review-request-rating label { cursor:pointer; }
.review-request-rating input { position:absolute; opacity:0; pointer-events:none; }
.review-request-rating span { display:block; padding:8px 10px; border:1px solid var(--border); border-radius:9px; color:var(--star); letter-spacing:1px; transition:background .15s ease,border-color .15s ease; }
.review-request-rating input:checked + span,.review-request-rating label:hover span { border-color:var(--primary); background:rgba(47,143,239,.1); }

/* ---------- Track order ---------- */
.status-track-wrap { overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 2px 10px; }
.status-track { display: flex; justify-content: space-between; min-width: 590px; margin: 34px 0 20px; position: relative; }
.status-track::before { content:''; position:absolute; top: 18px; left: 0; right: 0; height: 4px; background: var(--border); z-index: 0; border-radius: 4px; }
.status-track .progress-line { content:''; position:absolute; top: 18px; left: 0; height: 4px; background: linear-gradient(90deg, var(--primary-dark), var(--primary)); z-index: 0; border-radius: 4px; transition: width .4s ease; box-shadow: 0 0 10px rgba(47,143,239,.6); }
.status-step { flex: 1; text-align: center; position: relative; z-index: 1; font-size: 12.5px; color: var(--text-muted); font-weight: 600; }
.status-step .dot { width: 36px; height: 36px; border-radius: 50%; background: var(--surface-2); border: 2px solid var(--border); color: var(--text-muted); display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; font-weight: 700; font-size: 15px; transition: all .3s ease; }
.status-step.done .dot { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); border-color: var(--primary); color: #fff; box-shadow: 0 0 16px rgba(47,143,239,.6); }
.status-step.current .dot { animation: pulse-glow 1.6s infinite; }
.status-step.done { color: var(--text-dark); }
.shipment-card { margin: 22px 0; padding: 18px; border: 1px solid #cfe2f8; border-radius: 12px; background: linear-gradient(135deg, #f7fbff, #fff); }
.shipment-card h4 { margin: 0 0 5px; }
.shipment-card > div > p { margin: 0; color: var(--text-muted); font-size: 14px; }
.shipment-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding-top:14px; border-top:1px solid #dbeafe; }
.shipment-row strong, .shipment-row span { display:block; }
.shipment-row span { margin-top:4px; color:var(--text-muted); font-size:13px; }
.shipment-row code { color:var(--text-dark); font-family:inherit; font-weight:700; }
.shipment-pending { font-size:12px !important; white-space:nowrap; }
.tracking-note { margin:18px 0; padding:12px 14px; border-left:3px solid var(--primary); border-radius:6px; background:var(--surface-2); color:var(--text-muted); font-size:14px; }
@media (max-width: 600px) { .shipment-row { align-items:flex-start; flex-direction:column; } .shipment-row .btn { width:100%; text-align:center; } }
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 12px rgba(47,143,239,.5); }
  50% { box-shadow: 0 0 24px rgba(47,143,239,.9); }
}

/* ---------- Category chips ---------- */
.cat-filters { display: flex; gap: 10px; flex-wrap: wrap; padding: 20px; align-items: center; }
.cat-filters a { border: 1px solid var(--border); padding: 8px 16px; border-radius: 20px; font-size: 13.5px; font-weight: 600; color: var(--text-dark); }
.cat-filters a.active, .cat-filters a:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.cat-filters select { background: var(--surface); color: var(--text-dark); border-color: var(--border) !important; }

.empty-state { text-align: center; padding: 60px 20px; color: var(--text-muted); }


/* Persistent storefront navigation.  Fixed positioning is more reliable than
   sticky inside Android WebViews and installed web apps.  Header height is
   measured in the shared header script, so page content is never hidden. */
.site-navbar { position: fixed; top: 0; right: 0; left: 0; z-index: 1000; box-shadow: 0 4px 16px rgba(2,8,24,.22); }
.alert { padding: 12px 16px; border-radius: 8px; margin: 0 0 18px; border: 1px solid var(--border); }
.alert-success { background: #eef9f0; color: #176b2c; border-color: #b9e1c1; }
.alert-error { background: #fff1f0; color: #a52218; border-color: #f0c1bc; }
@media (max-width: 768px) {
  .site-navbar { position: fixed; top: 0; }
}

/* Keep controls clear of display cutouts and system navigation areas. The
   Android activity reserves the bars for the APK; these values also protect
   the web/PWA version on devices that expose CSS safe-area insets. */
@supports (padding: max(0px)) {
  .site-navbar {
    top: env(safe-area-inset-top, 0px);
    padding-top: max(0px, env(safe-area-inset-top, 0px));
  }
}


/* Cart feedback */
.cart-toast { position: fixed; top: 78px; right: 22px; z-index: 2000; max-width: min(380px, calc(100vw - 32px)); padding: 13px 18px; border-radius: 10px; background: #176b2c; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.18); font-weight: 700; opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.cart-toast.show { opacity: 1; transform: translateY(0); }
.cart-toast.error { background: #a52218; }
.ajax-cart-form button:disabled { opacity: .65; cursor: wait; }
.alert-info { background: #eef6ff; color: #14518a; border-color: #b9d7f5; }
@media (max-width: 768px) { .cart-toast { top: calc(70px + env(safe-area-inset-top, 0px)); right: 16px; left: 16px; max-width: none; } }


/* ---------- User-friendly navigation/search ---------- */
.search-bar-with-category select, .search-bar-with-category .category-select { appearance:auto; color-scheme:dark; border:0; border-right:1px solid var(--border); background:var(--surface-2) !important; padding:0 10px; color:var(--text-dark) !important; max-width:150px; outline:none; font-size:14px; font-weight:600; }
.search-bar-with-category select option { font-weight:500; }
.search-bar-with-category select option { background-color:var(--surface-2) !important; color:var(--text-dark) !important; }
.search-bar-with-category select option:checked, .search-bar-with-category select option:hover { background-color:var(--primary) !important; color:#fff !important; }
.search-bar-with-category select:focus { box-shadow:inset 0 0 0 2px rgba(47,143,239,.35); }
.search-bar-with-category select option:checked { background:var(--primary); color:#fff; }
.back-link { display:inline-flex; align-items:center; gap:6px; color:var(--primary); font-weight:600; text-decoration:none; margin:10px 0 4px; }
.back-link:hover { text-decoration:underline; }
.product-back-wrap { padding-bottom:0; }
.product-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding-top:18px; padding-bottom:0; color:var(--text-muted); font-size:13px; }
.product-breadcrumbs a { color:var(--primary); font-weight:700; text-decoration:none; }
.product-breadcrumbs a:hover { text-decoration:underline; }
.product-breadcrumbs [aria-current="page"] { min-width:0; max-width:380px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-intro { max-width:820px; margin:38px auto 20px; padding:0 20px; text-align:center; }
.shop-intro-eyebrow { margin:0 0 7px; color:var(--primary); font-size:11px; font-weight:900; letter-spacing:1.45px; }
.shop-intro h1 { margin:0; font-size:clamp(28px,4vw,42px); color:var(--text-dark); }
.shop-intro p:not(.shop-intro-eyebrow) { max-width:690px; margin:12px auto 0; color:var(--text-muted); line-height:1.65; }
@media (max-width:700px) { .search-bar-with-category select { max-width:120px; font-size:12px; } }

/* ---------- Light commerce canvas for browsing products ---------- */
.shop-page { --commerce-ink:#17233d; --commerce-muted:#5c6a82; --commerce-line:#dce4ef; --commerce-canvas:#f4f7fb; background:var(--commerce-canvas); color:var(--commerce-ink); padding:0 0 58px; }
.shop-page .shop-intro { max-width:none; margin:0; padding:clamp(40px,6vw,68px) 20px 32px; background:radial-gradient(circle at 50% -10%,rgba(47,143,239,.18),transparent 43%),linear-gradient(180deg,#ffffff 0%,#f4f8fd 100%); border-bottom:1px solid var(--commerce-line); }
.shop-page .shop-intro-eyebrow { color:#1767c4; }
.shop-page .shop-intro h1 { color:var(--commerce-ink); letter-spacing:-.7px; }
.shop-page .shop-intro p:not(.shop-intro-eyebrow) { color:var(--commerce-muted); }
.shop-trust-strip { width:min(1120px,calc(100% - 40px)); margin:-1px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--commerce-line); border-top:0; border-radius:0 0 16px 16px; overflow:hidden; background:#fff; box-shadow:0 12px 28px rgba(27,54,95,.06); }
.shop-trust-strip > div { display:grid; grid-template-columns:30px 1fr; column-gap:10px; padding:18px 20px; min-width:0; border-right:1px solid var(--commerce-line); }
.shop-trust-strip > div:last-child { border-right:0; }
.shop-trust-strip span { grid-row:span 2; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#eaf4ff; font-size:15px; }
.shop-trust-strip strong { color:var(--commerce-ink); font-size:13px; line-height:1.35; }
.shop-trust-strip small { margin-top:2px; color:var(--commerce-muted); font-size:11.5px; line-height:1.45; }
.shop-shell { width:min(1200px,100%); margin:0 auto; padding:30px 20px 0; }
.shop-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid var(--commerce-line); border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(27,54,95,.05); }
.shop-page .cat-filters { flex:1; padding:0; gap:8px; }
.shop-page .cat-filters a { border-color:#cfd9e7; background:#fff; color:#31415c; padding:8px 13px; }
.shop-page .cat-filters a.active,.shop-page .cat-filters a:hover { border-color:#247fe0; background:#eaf4ff; color:#145ca9; }
.shop-sort-form { display:flex; align-items:center; gap:9px; flex:0 0 auto; }
.shop-sort-form label { color:#4d5e78; font-size:12px; font-weight:800; }
.shop-sort-form select { min-height:38px; padding:8px 34px 8px 11px; border:1px solid #cfd9e7; border-radius:9px; background:#fff; color:#243653; font:inherit; font-size:13px; font-weight:700; }
.shop-results-label { margin:24px 0 14px; color:#5c6a82; font-size:13px; }
.shop-results-label strong { color:#1767c4; }
.shop-page .shop-product-grid { padding:0; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:20px; }
.shop-page .product-card { min-width:0; padding:15px; border-color:#dbe4f0; border-radius:16px; background:#fff; box-shadow:0 7px 20px rgba(29,55,91,.06); }
.shop-page .product-card:hover { border-color:#92bee9; box-shadow:0 16px 30px rgba(29,94,163,.14); }
.shop-page .product-card .img-wrap { height:210px; margin-bottom:14px; border:1px solid #edf1f6; border-radius:11px; background:linear-gradient(135deg,#f7f9fc,#edf3fa); }
.shop-page .product-card .img-wrap img { max-height:210px; }
.shop-page .product-card h3 { color:#182641; font-size:15px; line-height:1.35; }
.shop-page .product-card p.desc,.shop-page .rating .count,.shop-page .variant-summary { color:#65738a; }
.shop-page .product-card .price { color:#132441; font-size:17px; }
.shop-page .product-card .price-strike { color:#738096; }
.shop-page .product-card .card-footer { margin-top:auto; padding-top:4px; }
.shop-page .shop-empty-state { margin:24px 0 0; border:1px dashed #bdcadb; border-radius:16px; background:#fff; color:#5c6a82; }
.shop-single-product { display:grid; grid-template-columns:minmax(260px,380px) minmax(0,1fr); align-items:stretch; gap:26px; max-width:950px; margin:0 auto; }
.shop-single-product .product-card { height:100%; }
.shop-single-product-note { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,5vw,54px); border:1px solid #c8dbef; border-radius:18px; background:linear-gradient(135deg,#10366a,#175ba8); box-shadow:0 18px 38px rgba(17,67,125,.16); }
.shop-single-product-note p { margin:0 0 10px; color:#a9d4ff; font-size:11px; font-weight:900; letter-spacing:1.4px; }
.shop-single-product-note h2 { max-width:500px; margin:0; color:#fff; font-size:clamp(24px,3.2vw,36px); line-height:1.18; }
.shop-single-product-note > span { max-width:520px; margin:16px 0 25px; color:#d9ecff; line-height:1.65; }
.shop-single-product-note a { display:inline-flex; align-items:center; gap:8px; padding:10px 13px; border-radius:9px; background:#fff; color:#155da9; font-size:13px; font-weight:850; }
.shop-single-product-note a:hover { background:#eaf4ff; }
@media (max-width:800px) { .shop-trust-strip { grid-template-columns:1fr; width:min(680px,calc(100% - 36px)); border-radius:0 0 14px 14px; } .shop-trust-strip > div { border-right:0; border-bottom:1px solid var(--commerce-line); } .shop-trust-strip > div:last-child { border-bottom:0; } .shop-controls { align-items:flex-start; flex-direction:column; } .shop-sort-form { width:100%; justify-content:space-between; } .shop-single-product { grid-template-columns:1fr; max-width:500px; } }
@media (max-width:560px) { .shop-page { padding-bottom:38px; } .shop-page .shop-intro { padding:34px 18px 26px; } .shop-trust-strip { width:calc(100% - 28px); } .shop-trust-strip > div { padding:15px; } .shop-shell { padding:20px 14px 0; } .shop-controls { padding:13px; gap:13px; } .shop-page .cat-filters { width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:2px; scrollbar-width:thin; } .shop-page .cat-filters a { flex:0 0 auto; } .shop-sort-form { align-items:flex-start; flex-direction:column; gap:6px; } .shop-sort-form select { width:100%; } .shop-page .shop-product-grid { grid-template-columns:1fr; gap:16px; } .shop-page .product-card .img-wrap { height:220px; } .shop-page .product-card .img-wrap img { max-height:220px; } .shop-single-product { gap:16px; } .shop-single-product-note { padding:27px 22px; } }

/* ---------- Conversion / technology presentation ---------- */
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.hero-website-btn { text-decoration:none; }
.hero-shop-btn { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.35); color:#fff; }
.hero-seller-btn { background:linear-gradient(135deg,#32c78b,#168f62); box-shadow:0 6px 18px rgba(22,143,98,.28); }
.hero-tech-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.tech-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 11px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.07); color:rgba(255,255,255,.92); font-size:12px; font-weight:700; }
.page-continue-shopping { margin-top:30px; padding-top:20px; border-top:1px solid var(--border); }
.back-to-top { position:fixed; right:22px; bottom:22px; z-index:1800; width:44px; height:44px; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--text-dark); box-shadow:0 8px 24px rgba(0,0,0,.16); font-size:22px; font-weight:800; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .2s ease, visibility .2s ease, transform .2s ease; }
.back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover { border-color:var(--primary); color:var(--primary); }
@media (max-width:700px) { .hero-actions { flex-direction:column; align-items:stretch; } .hero-actions .btn { min-height:48px; justify-content:center; } .back-to-top { right:16px; bottom:16px; width:42px; height:42px; } }
@media (max-width:700px) {
  .floating-language { left:12px; bottom:12px; min-height:38px; }
  .floating-language-icon { width:25px; }
  .floating-language button { min-width:33px; min-height:30px; }
  /* On product pages, keep both floating controls above the fixed Quick Buy
     bar: language on the left, back-to-top on the right. */
  body.has-mobile-quick-buy .floating-language { bottom:102px; }
  body.has-mobile-quick-buy .back-to-top { right:14px; bottom:102px; }
}

/* These rules follow the regular floating controls so their inset-aware
   offsets win on every viewport size. */
@supports (padding: max(0px)) {
  .cart-toast { top: calc(78px + env(safe-area-inset-top, 0px)); }
  .back-to-top {
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
  }
  footer { padding-bottom: max(20px, env(safe-area-inset-bottom, 0px)); }
  @media (max-width:768px) {
    .cart-toast { top: calc(70px + env(safe-area-inset-top, 0px)); }
  }
}

/* Keep the storefront header and footer fully usable on narrow phones. */
@media (max-width:560px) {
  .topbar { padding:10px 14px; gap:10px; }
  .logo-img { width:44px; height:44px; }
  .search-bar { order:3; flex:0 0 100%; width:100%; max-width:none; min-width:0; }
  .search-bar input { min-width:0; }
  .nav-links { gap:12px; flex-wrap:wrap; justify-content:flex-end; font-size:13px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; row-gap:22px; }
}

/* V24 — professional order confirmation */
.success-page{max-width:980px;margin:42px auto 70px;padding:0 18px}.success-hero{text-align:center;padding:26px 10px 18px}.success-icon{width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:46px;font-weight:800;background:linear-gradient(135deg,#32d583,#19a86b);color:#fff;box-shadow:0 14px 35px rgba(25,168,107,.25)}.success-eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#32d583;margin-bottom:8px}.success-hero h1{font-size:clamp(30px,4vw,46px);margin:0 0 10px}.success-hero p{max-width:650px;margin:0 auto;color:var(--text-muted);font-size:16px;line-height:1.65}.success-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin:26px 0 34px}.progress-step{min-width:110px;text-align:center;display:flex;flex-direction:column;gap:5px;color:var(--text-muted)}.progress-step span{width:34px;height:34px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#17223e;border:1px solid #2b3a5f;font-weight:800}.progress-step.active{color:var(--text)}.progress-step.active span{background:#2389ef;border-color:#2389ef;color:#fff;box-shadow:0 0 0 5px rgba(35,137,239,.12)}.progress-step strong{font-size:13px}.progress-step small{font-size:11px}.progress-line{height:2px;flex:1;max-width:110px;background:#293553}.progress-line.active{background:#2389ef}.success-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.success-card{background:linear-gradient(145deg,#111b34,#0e172c);border:1px solid #29385b;border-radius:16px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.12)}.card-heading{display:flex;justify-content:space-between;gap:15px;padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid #293553}.card-heading strong{color:#62b1ff}.detail-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;color:var(--text-muted);font-size:14px}.detail-row strong,.detail-row span:last-child{color:var(--text)}.status-paid{color:#35d58a!important}.discount span{color:#35d58a!important}.detail-total{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #293553;margin-top:8px;padding-top:17px;font-size:18px}.detail-total strong{font-size:24px}.next-card{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.next-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(47,143,239,.12);font-size:30px;color:#55a9ff}.next-card h2{margin:14px 0 7px}.next-card p{color:var(--text-muted);line-height:1.65;max-width:350px}.success-primary,.success-secondary{width:100%;max-width:290px;text-align:center;margin-top:8px}.success-note{margin:18px auto 0;max-width:620px;padding:14px 18px;border:1px solid #293553;border-radius:12px;display:flex;gap:12px;justify-content:center;text-align:left;color:var(--text-muted)}.success-note strong{color:var(--text)}
@media(max-width:760px){.success-grid{grid-template-columns:1fr}.success-progress{gap:3px}.progress-step{min-width:72px}.progress-step small{display:none}.progress-line{max-width:35px}.success-page{margin-top:24px}}

.link-button{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;}

/* ---------- Official Android app download ---------- */
.app-download-page { background:var(--bg); }
.app-download-hero { position:relative; overflow:hidden; padding:76px 20px 70px; background:radial-gradient(circle at 18% 15%,rgba(47,143,239,.38),transparent 32%),linear-gradient(135deg,#080d1c 0%,#122b5a 56%,#0d78d6 150%); }
.app-download-content { position:relative; z-index:1; width:min(760px,100%); margin:0 auto; text-align:center; }
.app-download-eyebrow { display:inline-flex; padding:7px 12px; margin-bottom:18px; border:1px solid rgba(129,198,255,.38); border-radius:999px; background:rgba(18,58,114,.55); color:#9bd4ff; font-size:11px; font-weight:800; letter-spacing:1.4px; }
.app-download-card { display:flex; align-items:center; gap:26px; padding:30px; text-align:left; border:1px solid rgba(144,202,249,.27); border-radius:24px; background:rgba(9,19,43,.72); box-shadow:0 25px 60px rgba(0,0,0,.28); backdrop-filter:blur(10px); }
.app-download-icon-wrap { flex:0 0 auto; padding:7px; border-radius:30px; background:linear-gradient(135deg,#75caff,#1678dc); box-shadow:0 0 0 7px rgba(101,190,255,.12); }
.app-download-icon { display:block; width:112px; height:112px; object-fit:contain; border-radius:24px; background:#0d1526; }
.app-download-icon-fallback { display:grid; place-items:center; width:112px; height:112px; border-radius:24px; background:#0d1526; color:#fff; font-size:50px; font-weight:900; }
.app-download-copy { min-width:0; }
.app-download-copy h1 { margin:0 0 10px; color:#fff; font-size:clamp(28px,5vw,42px); line-height:1.12; }
.app-download-copy p { margin:0; color:#c0d4ef; line-height:1.65; }
.app-download-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.app-download-meta span { padding:6px 9px; border:1px solid rgba(174,222,255,.25); border-radius:999px; color:#d9edff; background:rgba(255,255,255,.06); font-size:12px; font-weight:700; }
.app-download-button { display:flex; align-items:center; gap:14px; width:min(520px,100%); margin:26px auto 0; padding:15px 18px; border-radius:17px; color:#fff; text-align:left; background:linear-gradient(135deg,#2f9afb,#1264c8); box-shadow:0 16px 35px rgba(4,66,151,.38); transition:transform .18s ease,box-shadow .18s ease; }
.app-download-button:hover { transform:translateY(-3px); box-shadow:0 22px 42px rgba(4,66,151,.52); color:#fff; }
.app-download-button strong,.app-download-button small { display:block; }
.app-download-button strong { font-size:17px; }
.app-download-button small { margin-top:3px; color:#ddecff; font-size:12px; }
.app-download-android { display:grid; place-items:center; flex:0 0 46px; width:46px; height:46px; border-radius:14px; background:rgba(255,255,255,.17); font-size:25px; }
.app-download-arrow { margin-left:auto; font-size:28px; font-weight:800; }
.app-download-play { margin:18px 0 0; color:#d6e9fc; font-size:13px; }
.app-download-play span { color:#74ca72; }
.app-download-orb { position:absolute; border-radius:50%; filter:blur(1px); pointer-events:none; }
.app-download-orb-one { width:340px; height:340px; top:-180px; right:-90px; background:rgba(69,162,255,.23); }
.app-download-orb-two { width:260px; height:260px; bottom:-160px; left:-75px; background:rgba(54,120,231,.26); }
.app-install-section { max-width:1000px; margin:0 auto; padding:54px 20px 72px; text-align:center; }
.app-install-section h2 { margin:0 0 28px; font-size:clamp(24px,4vw,32px); }
.app-install-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.app-install-steps article { padding:24px 20px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
.app-install-steps article > span { display:grid; place-items:center; width:34px; height:34px; margin:0 auto 13px; border-radius:50%; background:var(--primary); color:#fff; font-weight:800; }
.app-install-steps h3 { margin:0 0 8px; font-size:17px; }
.app-install-steps p,.app-download-note { margin:0; color:var(--text-muted); line-height:1.55; font-size:14px; }
.app-download-note { max-width:700px; margin:25px auto 0; padding:13px 16px; border-radius:10px; background:rgba(47,143,239,.08); }
@media (max-width:620px) { .app-download-hero { padding:48px 16px 48px; } .app-download-card { align-items:flex-start; gap:17px; padding:22px 18px; } .app-download-icon { width:76px; height:76px; border-radius:18px; } .app-download-icon-wrap { padding:5px; border-radius:23px; } .app-download-copy h1 { font-size:27px; } .app-download-meta { gap:6px; } .app-download-meta span { font-size:10.5px; padding:5px 7px; } .app-download-button { padding:13px 14px; } .app-install-steps { grid-template-columns:1fr; } }

/* ---------- iPhone / iPad web app installation ---------- */
.iphone-install-section { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:30px; align-items:center; max-width:1000px; margin:0 auto; padding:56px 20px; border-top:1px solid var(--border); }
.iphone-install-copy h2 { margin:8px 0 12px; font-size:clamp(26px,4vw,35px); line-height:1.15; }
.iphone-install-copy > p { max-width:610px; margin:0; color:var(--text-muted); line-height:1.65; }
.iphone-install-eyebrow { display:inline-flex; padding:6px 10px; border:1px solid rgba(47,143,239,.35); border-radius:999px; color:var(--primary); background:rgba(47,143,239,.08); font-size:11px; font-weight:800; letter-spacing:1.2px; }
.iphone-install-button { display:inline-flex; align-items:center; gap:9px; margin-top:21px; padding:13px 17px; border:1px solid #515d78; border-radius:12px; background:linear-gradient(135deg,#263450,#111a2f); color:#fff; font:inherit; font-weight:800; cursor:pointer; box-shadow:0 10px 25px rgba(5,12,28,.18); }
.iphone-install-button:hover { border-color:#8aaee3; transform:translateY(-1px); }
.iphone-install-button span { font-size:20px; }
.iphone-install-guide { padding:23px 25px; border:1px solid #2a4774; border-radius:18px; background:linear-gradient(145deg,#101d36,#0c162a); box-shadow:0 15px 35px rgba(3,13,34,.13); }
.iphone-install-guide ol { margin:0; padding-left:23px; color:#e5f0ff; line-height:1.75; }
.iphone-install-guide li::marker { color:#69b8ff; font-weight:800; }
.iphone-install-guide p { margin:14px 0 0; padding-top:13px; border-top:1px solid #2b3f63; color:#b8cce8; line-height:1.55; font-size:13px; }
.iphone-installed-note { margin-top:15px!important; color:#177847!important; font-weight:800; }
.tech-pill { text-decoration:none; }
.tech-pill:hover { color:#fff; border-color:rgba(164,216,255,.65); background:rgba(255,255,255,.14); }
@media (max-width:720px) { .iphone-install-section { grid-template-columns:1fr; gap:20px; padding:42px 18px; } .iphone-install-guide { padding:20px; } }

.variant-summary { font-size: 11px; color: #71809b; line-height: 1.35; min-height: 30px; margin: 6px 0 8px; }
.variant-summary strong { color: #d9e2f2; }

/* ---------- Responsive storefront shell ---------- */
.mobile-nav-toggle { display:none; }
.hero-shop-btn { background:linear-gradient(135deg, var(--primary), var(--primary-dark)); border-color:transparent; color:#fff; }
.hero-website-btn { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.34); color:#fff; box-shadow:none; }
.hero-website-btn:hover { background:rgba(255,255,255,.14); color:#fff; }

@media (max-width:900px) {
  .topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding:12px 20px; gap:12px; }
  .logo { grid-column:1; grid-row:1; }
  .mobile-nav-toggle { grid-column:2; grid-row:1; display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid var(--border); border-radius:9px; background:var(--surface-2); color:var(--text-dark); font:inherit; font-size:13px; font-weight:700; }
  .search-bar { grid-column:1 / -1; grid-row:2; max-width:none; width:100%; }
  .nav-links { display:none; grid-column:1 / -1; grid-row:3; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; padding-top:2px; }
  .site-navbar.nav-open .nav-links { display:grid; }
  .nav-links a { min-height:42px; justify-content:center; padding:8px 9px; border:1px solid var(--border); border-radius:9px; background:rgba(26,36,64,.55); font-size:13px; line-height:1.3; text-align:center; white-space:normal; overflow-wrap:anywhere; }
  .org-banner { padding:11px 20px; }
  .hero-v2 { padding:46px 28px; }
  .hero-inner { gap:28px; }
  .hero-inner-with-product { grid-template-columns:106px minmax(0,1fr); }
  .hero-inner-with-product .hero-product-spotlight { grid-column:1/-1; width:min(540px,100%); margin:0 auto; }
  .hero-content h1 { font-size:clamp(30px,4.4vw,38px); }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}

@media (max-width:560px) {
  .topbar { padding:10px 14px; gap:10px; }
  .logo-img { width:44px; height:44px; }
  .mobile-nav-toggle { padding:9px 11px; }
  .nav-links { grid-template-columns:1fr; }
  .nav-links a { font-size:14px; min-height:44px; }
  .org-banner { padding:10px 14px; gap:10px; }
  .org-banner .org-title { font-size:14px; }
  .org-banner .org-sub { font-size:11px; }
  .org-banner .btn { padding:8px 11px; font-size:12px; }
  .hero-v2 { padding:32px 18px 34px; }
  .hero-inner { align-items:stretch; gap:22px; }
  .hero-inner-with-product { grid-template-columns:1fr; }
  .hero-logo-wrap { display:grid; grid-template-columns:86px minmax(0,1fr); align-items:center; gap:12px; width:100%; min-width:0; flex:0 0 100%; text-align:left; }
  .hero-logo-wrap img { width:86px; height:86px; box-shadow:0 0 0 4px rgba(47,143,239,.2), 0 0 24px rgba(47,143,239,.3); }
  .hero-logo-wrap .hero-badge { display:block; width:100%; min-width:0; max-width:100%; margin:0; padding:7px 10px; font-size:10.5px; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
  .hero-content { min-width:0; }
  .hero-content h1 { font-size:clamp(29px,9vw,36px); line-height:1.18; margin-bottom:12px; overflow-wrap:anywhere; word-break:break-word; }
  .hero-content p { font-size:15px; line-height:1.55; margin:0 0 18px; overflow-wrap:anywhere; }
  html.language-malayalam .hero-content h1 { max-width:100%; font-size:clamp(26px,7.8vw,31px); line-height:1.28; letter-spacing:0; }
  html.language-malayalam .hero-content p { font-size:14px; line-height:1.68; }
  .hero-content .search-bar { width:100%; }
  .hero-actions { display:grid; grid-template-columns:1fr; gap:9px; margin-top:15px; }
  .hero-actions .btn { justify-content:center; min-height:46px; }
  .hero-tech-row { display:none; }
  .hero-product-spotlight { grid-template-columns:78px minmax(0,1fr); gap:11px; width:100%; margin-top:0!important; padding:10px; border-radius:14px; }
  .hero-product-spotlight-image { width:78px; height:92px; border-radius:10px; }
  .hero-product-spotlight-copy { gap:4px; }
  .hero-product-spotlight-copy strong { font-size:15px; }
  .hero-product-spotlight-copy em { font-size:12px; }
  .hero-trust-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
  .hero-trust-row span { padding:8px 9px; text-align:center; font-size:11px; }
  .section-title { font-size:20px; line-height:1.25; margin:34px 0 20px; padding:0 18px; }
  .product-grid { grid-template-columns:1fr; padding:0 18px 32px; gap:16px; }
  .product-card { padding:14px; }
  .product-card .img-wrap { height:190px; }
  .product-card .img-wrap img { max-height:190px; }
  footer { padding:34px 18px max(26px, env(safe-area-inset-bottom, 0px)); }
  .footer-grid { grid-template-columns:1fr; gap:26px; }
  .footer-grid h4 { margin-bottom:10px; }
  .footer-grid a, .footer-grid p { font-size:15px; margin-bottom:8px; }
  .footer-bottom { margin-top:24px; padding-top:16px; font-size:13px; }
  .cms-page { padding:30px 18px 48px; }
  .cms-page h1 { margin-bottom:17px; font-size:29px; }
  .cms-page-content { font-size:15.5px; line-height:1.78; }
  html.language-malayalam .cms-page-content[data-language-content="ml"] { font-size:14.5px; line-height:1.7; }
  html.language-malayalam .cms-page-content[data-language-content="ml"] h2 { margin-top:20px; font-size:18px; }
  .cms-support-card { margin-top:24px; padding:17px; }
}

@media (max-width:390px) {
  .hero-logo-wrap { grid-template-columns:74px minmax(0,1fr); gap:10px; }
  .hero-logo-wrap img { width:74px; height:74px; }
  .hero-logo-wrap .hero-badge { font-size:10px; padding:6px 8px; }
}

/* Vendor Network: readable, touch-friendly application flow. */
.vendor-page { width:min(1180px,100%); grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); gap:28px; align-items:start; }
.vendor-intro,.vendor-form-card,.vendor-call-card { box-shadow:0 14px 34px rgba(2,12,31,.16); }
.vendor-form-stack { display:grid; gap:22px; min-width:0; }
.vendor-call-card { padding:28px; border:1px solid rgba(80,182,255,.42); border-radius:18px; background:linear-gradient(135deg,rgba(23,50,91,.98),rgba(15,33,68,.98)); }
.vendor-call-copy { margin:-2px 0 18px; color:#b6cae9; line-height:1.6; }
.vendor-call-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px 17px; }
.vendor-call-card .form-group label { margin-bottom:7px; color:#f4f7ff; font-size:13px; letter-spacing:.01em; }
.vendor-call-card .form-group label small { color:#aebfdd; font-weight:600; }
.vendor-call-card input,.vendor-call-card select { min-height:46px; }
.vendor-call-card input:focus,.vendor-call-card select:focus { outline:3px solid rgba(74,157,255,.24); outline-offset:1px; border-color:#4a9dff; }
.vendor-call-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:18px; }
.vendor-call-actions small { color:#aebfdd; font-size:12px; line-height:1.45; }
.vendor-intro { position:sticky; top:22px; }
.vendor-intro h1 { font-size:clamp(2rem,3vw,2.7rem); line-height:1.12; }
.vendor-intro ul { margin:22px 0 25px; display:grid; gap:8px; }
.vendor-intro li::marker { color:#54b9ff; }
.vendor-process { display:grid; gap:10px; margin:24px 0; padding:17px 0; border-top:1px solid rgba(157,179,214,.32); border-bottom:1px solid rgba(157,179,214,.32); }
.vendor-process div { display:grid; grid-template-columns:28px 1fr; column-gap:10px; align-items:center; }
.vendor-process span { grid-row:span 2; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#2687ea; color:#fff; font-size:12px; font-weight:800; }
.vendor-process strong { color:#fff; font-size:13px; }
.vendor-process small { color:#b6cae9; font-size:12px; }
.vendor-form-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.vendor-form-heading .vendor-eyebrow { margin-bottom:5px; }
.vendor-form-heading h2 { margin-bottom:0; }
.vendor-form-note { max-width:190px; color:var(--text-muted); font-size:12px; line-height:1.45; text-align:right; }
.vendor-form-card .form-grid { gap:17px; }
.vendor-form-card .form-group label { margin-bottom:7px; color:#f4f7ff; font-size:13px; letter-spacing:.01em; }
.vendor-form-card .form-group label small { color:#aebfdd; font-weight:600; }
.vendor-form-card input,.vendor-form-card select { min-height:46px; }
.vendor-form-card input:focus,.vendor-form-card select:focus,.vendor-form-card textarea:focus { outline:3px solid rgba(74,157,255,.24); outline-offset:1px; border-color:#4a9dff; }
.vendor-field-help { display:block; min-height:18px; margin:-2px 0 7px; color:#aebfdd; font-size:12px; line-height:1.45; }
.vendor-consent { display:flex; align-items:flex-start; gap:9px; padding:13px; border:1px solid rgba(74,157,255,.22); border-radius:10px; background:rgba(37,99,235,.07); }
.vendor-consent input { flex:0 0 auto; margin:3px 0 0; }
.vendor-submit { min-height:48px; padding-inline:24px; }
.vendor-readiness { margin-top:23px; padding-top:19px; border-top:1px solid rgba(157,179,214,.32); }
.vendor-readiness h2 { margin:0 0 13px; color:#fff; font-size:16px; }
.vendor-readiness-grid { display:grid; gap:10px; }
.vendor-readiness-grid div { padding:11px 12px; border:1px solid rgba(138,184,236,.25); border-radius:10px; background:rgba(3,16,41,.19); }
.vendor-readiness-grid strong,.vendor-readiness-grid span { display:block; }
.vendor-readiness-grid strong { color:#eef6ff; font-size:12px; }
.vendor-readiness-grid span { margin-top:4px; color:#b6cae9; font-size:12px; line-height:1.45; }
.vendor-fit { margin-top:22px; padding:18px 0; border-top:1px solid rgba(157,179,214,.32); border-bottom:1px solid rgba(157,179,214,.32); }
.vendor-fit .vendor-eyebrow { margin-bottom:6px; }
.vendor-fit h2 { margin:0; color:#fff; font-size:20px; line-height:1.25; }
.vendor-fit > p:not(.vendor-eyebrow) { margin:9px 0 0; color:#b6cae9; line-height:1.58; font-size:13px; }
.vendor-fit-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.vendor-fit-tags span { padding:6px 9px; border:1px solid rgba(91,182,255,.34); border-radius:999px; background:rgba(47,143,239,.09); color:#e8f4ff; font-size:11px; font-weight:750; }
.vendor-start-card,.vendor-documents-card { padding:28px; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 14px 34px rgba(2,12,31,.12); }
.vendor-start-card { display:grid; grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr); gap:28px; background:linear-gradient(135deg,rgba(15,37,76,.98),rgba(12,27,57,.98)); border-color:rgba(75,154,255,.35); }
.vendor-start-card h2,.vendor-documents-card h2 { margin:0 0 10px; color:#fff; font-size:clamp(1.35rem,2.3vw,1.78rem); line-height:1.25; }
.vendor-start-card p:not(.vendor-eyebrow),.vendor-documents-card p:not(.vendor-eyebrow) { margin:0; color:#b6cae9; line-height:1.62; }
.vendor-start-steps { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.vendor-start-steps li { display:grid; grid-template-columns:39px 1fr; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid rgba(159,190,231,.2); }
.vendor-start-steps li:last-child { border-bottom:0; padding-bottom:0; }
.vendor-start-steps span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#2f93f3,#1564bd); color:#fff; font-size:11px; font-weight:900; }
.vendor-start-steps strong,.vendor-start-steps small { display:block; }
.vendor-start-steps strong { color:#f5f9ff; font-size:14px; }
.vendor-start-steps small { margin-top:4px; color:#b6cae9; font-size:12px; line-height:1.45; }
.vendor-documents-card { background:linear-gradient(145deg,#111d37,#0e182e); border-color:#293b62; }
.vendor-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.vendor-document-grid div { padding:16px; border:1px solid rgba(113,164,226,.26); border-radius:13px; background:rgba(4,15,35,.22); }
.vendor-document-grid span,.vendor-document-grid strong,.vendor-document-grid small { display:block; }
.vendor-document-grid span { font-size:22px; }
.vendor-document-grid strong { margin-top:9px; color:#f4f8ff; font-size:13px; }
.vendor-document-grid small { margin-top:6px; color:#b6cae9; font-size:12px; line-height:1.5; }
.vendor-compliance-note { margin-top:16px!important; padding:11px 13px; border-left:3px solid #50b6ff; border-radius:7px; background:rgba(80,182,255,.08); color:#c7daf3!important; font-size:12px; }
.vendor-faq { padding:26px 28px; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 14px 34px rgba(2,12,31,.12); }
.vendor-faq h2 { margin:0 0 14px; font-size:clamp(1.35rem,2.3vw,1.75rem); }
.vendor-faq details { border-top:1px solid var(--border); }
.vendor-faq details:last-child { border-bottom:1px solid var(--border); }
.vendor-faq summary { padding:14px 26px 14px 0; color:#f4f7ff; font-weight:750; cursor:pointer; }
.vendor-faq p { margin:0; padding:0 0 15px; color:var(--text-muted); line-height:1.6; }
@media (max-width:900px) { .vendor-page { grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:18px; } .vendor-intro,.vendor-form-card,.vendor-call-card,.vendor-start-card,.vendor-documents-card { padding:23px; } .vendor-intro { top:12px; } .vendor-form-heading { display:block; } .vendor-form-note { display:block; max-width:none; margin-top:7px; text-align:left; } .vendor-start-card { grid-template-columns:1fr; gap:20px; } .vendor-document-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .vendor-page { grid-template-columns:1fr; padding:26px 14px 42px; } .vendor-intro { position:static; } .vendor-intro,.vendor-form-card,.vendor-call-card,.vendor-faq,.vendor-start-card,.vendor-documents-card { padding:22px 18px; border-radius:14px; } .vendor-process { grid-template-columns:1fr 1fr 1fr; gap:8px; } .vendor-process div { grid-template-columns:1fr; gap:4px; } .vendor-process span { grid-row:auto; } .vendor-process small { min-height:34px; } .vendor-form-card .form-grid,.vendor-call-fields { grid-template-columns:1fr; gap:14px; } .vendor-submit { width:100%; justify-content:center; } .vendor-call-actions { align-items:stretch; } }
@media (max-width:420px) { .vendor-process { grid-template-columns:1fr; } .vendor-process div { grid-template-columns:28px 1fr; } .vendor-process span { grid-row:span 2; } .vendor-process small { min-height:0; } }

/* A clear, honest seller invitation on the storefront home page. */
.nav-vendor-cta { border:1px solid rgba(68,192,142,.62); border-radius:8px; background:rgba(68,192,142,.12); color:#d8ffed!important; font-weight:800; }
.home-vendor-cta { width:min(1180px,calc(100% - 40px)); margin:28px auto 12px; padding:25px 28px; display:grid; grid-template-columns:1.2fr 1fr auto; gap:22px; align-items:center; border:1px solid rgba(73,154,255,.38); border-radius:18px; background:linear-gradient(120deg,#102342,#152d58); box-shadow:0 14px 34px rgba(2,12,31,.12); }
.home-vendor-eyebrow { margin:0 0 7px; color:#60c7ff; font-size:11px; font-weight:900; letter-spacing:.1em; }
.home-vendor-cta h2 { margin:0; color:#fff; font-size:clamp(1.3rem,2.4vw,1.8rem); }
.home-vendor-cta p { margin:9px 0 0; color:#c4d6ef; line-height:1.55; }
.home-vendor-cta ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; color:#edf5ff; font-size:13px; font-weight:650; }
.home-vendor-actions { display:flex; flex-direction:column; gap:10px; align-items:stretch; white-space:nowrap; }
.home-vendor-actions .btn { justify-content:center; }
.home-vendor-link { color:#bcd8ff; font-size:13px; font-weight:750; text-align:center; text-decoration:none; }
.home-vendor-link:hover { color:#fff; text-decoration:underline; }
@media (max-width:900px) { .home-vendor-cta { grid-template-columns:1fr 1fr; } .home-vendor-actions { grid-column:1/-1; flex-direction:row; align-items:center; } }
@media (max-width:600px) { .home-vendor-cta { width:calc(100% - 28px); grid-template-columns:1fr; gap:16px; margin-top:20px; padding:20px 18px; } .home-vendor-actions { grid-column:auto; flex-direction:column; } }

/* ---------- Light shopping canvas (customer storefront only) ---------- */
/* Admin screens intentionally do not receive these variables.  The dark header
   preserves the Ana Cart brand while the actual shop is brighter and easier to
   scan, like a familiar modern marketplace. */
.storefront-page {
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f3f6fb;
  --text-dark:#14213a;
  --text-muted:#5d6b80;
  --border:#dce5f0;
  background:#f5f7fb;
  color:#14213a;
}
.storefront-page .topbar {
  background:#101b34;
  border-bottom-color:#263a63;
  box-shadow:0 4px 16px rgba(5,13,31,.28);
}
.storefront-page .topbar .logo,
.storefront-page .topbar .nav-links a { color:#f5f8ff; }
.storefront-page .topbar .nav-links a:hover { color:#83c6ff; }
.storefront-page .topbar .search-bar input,
.storefront-page .topbar .search-bar-with-category select,
.storefront-page .topbar .search-bar-with-category .category-select {
  background:#192845 !important;
  border-color:#31466e;
  color:#f3f7ff !important;
  color-scheme:dark;
}
.storefront-page .topbar .search-bar input::placeholder { color:#b6c5de; }
.storefront-page .topbar .mobile-nav-toggle {
  background:#192845;
  border-color:#31466e;
  color:#f5f8ff;
}
.storefront-page .topbar .nav-links a { border-color:#31466e; }
.storefront-page .org-banner { background:#eef6ff; border-bottom-color:#d7e5f5; }
.storefront-page .org-banner .org-title { color:#153461; }
.storefront-page .org-banner .org-sub { color:#5b6d87; }
/* Customer notices originally inherited the dark-canvas colours.  Keep every
   checkout, payment and account message readable on the light storefront. */
.storefront-page .info-msg {
  background:#eef6ff;
  color:#164f86;
  border-color:#b9d7f5;
  font-weight:650;
  line-height:1.55;
}
.storefront-page .success-msg {
  background:#effaf2;
  color:#176b39;
  border-color:#b8e2c4;
  font-weight:650;
  line-height:1.55;
}
.storefront-page .error-msg {
  background:#fff3f2;
  color:#ad2d24;
  border-color:#f0c3be;
  font-weight:650;
  line-height:1.55;
}
.storefront-page .product-card {
  background:#fff;
  border-color:#dce5f0;
  box-shadow:0 8px 24px rgba(26,54,92,.07);
}
.storefront-page .product-card:hover {
  border-color:#8fc2f3;
  box-shadow:0 16px 34px rgba(28,91,165,.14);
}
.storefront-page .product-card .img-wrap {
  background:linear-gradient(145deg,#fbfcfe,#eef3f8);
  border:1px solid #edf1f6;
}
.storefront-page .product-purchase-assurance > div {
  background:#fff;
  border-color:#d8e3f0;
  box-shadow:0 5px 16px rgba(30,59,96,.055);
}
.storefront-page .product-purchase-assurance strong { color:#193353; }
.storefront-page .product-purchase-assurance small { color:#50627b; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.product-delivery-checker { margin:0 0 20px; padding:16px; border:1px solid #d6e3f1; border-radius:14px; background:#f8fbff; box-shadow:0 6px 18px rgba(30,59,96,.05); }
.product-delivery-checker-copy { display:flex; gap:10px; align-items:flex-start; }
.product-delivery-checker-copy > span { display:grid; flex:0 0 31px; width:31px; height:31px; place-items:center; border-radius:50%; background:#e4f1ff; font-size:16px; }
.product-delivery-checker h2 { margin:0; color:#183556; font-size:15px; line-height:1.35; }
.product-delivery-checker p { margin:3px 0 0; color:#536880; font-size:12px; line-height:1.45; }
.product-delivery-checker form { display:flex; gap:8px; margin-top:13px; }
.product-delivery-checker input { min-width:0; flex:1; height:42px; padding:0 12px; border:1px solid #b9cce1; border-radius:9px; background:#fff; color:#183556; font:inherit; }
.product-delivery-checker input:focus { outline:3px solid rgba(42,141,238,.18); outline-offset:1px; border-color:#2687ea; }
.product-delivery-checker .btn { min-height:42px; padding:8px 14px; white-space:nowrap; }
.product-delivery-checker > small { display:block; margin-top:9px; color:#657b94; font-size:11px; line-height:1.45; }
.product-delivery-check-result { min-height:0; font-weight:700; }
.product-delivery-check-result:not(:empty) { margin-top:10px; padding:9px 10px; border-radius:8px; font-size:12px; line-height:1.45; }
.product-delivery-check-result.is-success { border:1px solid #a9e2c3; background:#effbf4; color:#12633b; }
.product-delivery-check-result.is-error { border:1px solid #f1c2c2; background:#fff5f5; color:#a12c2c; }
.product-delivery-check-result.is-neutral { border:1px solid #cbd8e6; background:#f2f7fc; color:#405b76; }
html.language-malayalam .product-delivery-checker h2 { font-size:14px; }
html.language-malayalam .product-delivery-checker p,html.language-malayalam .product-delivery-check-result { font-size:12px; }
.storefront-page .variant-summary,
.storefront-page .variant-summary strong { color:#52657f; }
.storefront-page .product-extra-details section {
  background:#fff;
  border-color:#dce5f0;
  box-shadow:0 5px 18px rgba(30,59,96,.045);
}
.storefront-page .product-detail .main-img {
  background:#fff;
  border-color:#dce5f0;
  box-shadow:0 8px 26px rgba(30,59,96,.055);
}
.storefront-page .product-thumbnail { background:#fff; border-color:#dce5f0; }
.storefront-page .home-store-assurance {
  border-color:#d9e5f2;
  background:#fff;
  box-shadow:0 12px 30px rgba(25,53,89,.075);
  color:#193353;
}
.storefront-page .home-store-assurance-eyebrow { color:#1973c9; }
.storefront-page .home-store-assurance h2 { color:#172d4d; }
.storefront-page .home-store-assurance-intro { color:#52627a; }
.storefront-page .home-store-assurance-grid > div { background:#f6f9fd; border-color:#dce7f3; }
.storefront-page .home-store-assurance-grid strong { color:#193353; }
.storefront-page .home-store-assurance-grid small { color:#53667f; }
.storefront-page .home-store-assurance-link { color:#1669b9; }
.storefront-page .home-store-assurance-link:hover { color:#0f4f90; }
.storefront-page .section-title { color:#172744; }
.storefront-page .campaign-section {
  max-width:1200px;
  margin:28px auto 0;
  padding:28px 24px 8px;
  border:1px solid #e0e8f2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(25,53,89,.045);
}
.storefront-page .campaign-section + .campaign-section { margin-top:20px; }
.home-hero-banners {
  width:min(1200px,calc(100% - 40px));
  margin:28px auto 0;
}
.home-hero-banner {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:220px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #cfdef0;
  border-radius:20px;
  background:linear-gradient(120deg,#123f7b,#1f87e3);
  color:#fff;
  box-shadow:0 18px 38px rgba(25,88,157,.16);
  text-decoration:none;
}
.home-hero-banner::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(4,21,48,.78),rgba(6,29,62,.18)); }
.home-hero-banner img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.home-hero-banner > div { align-self:end; max-width:640px; padding:clamp(24px,4vw,48px); text-shadow:0 2px 12px rgba(3,16,38,.5); }
.home-hero-banner strong { display:block; font-size:clamp(24px,3.4vw,40px); line-height:1.14; }
.home-hero-banner span { display:block; margin-top:9px; font-size:clamp(14px,1.6vw,18px); line-height:1.5; }
@media (max-width:600px) {
  .home-hero-banners { width:calc(100% - 28px); margin-top:20px; }
  .home-hero-banner { min-height:180px; border-radius:16px; }
  .home-hero-banner > div { padding:24px 20px; }
  .storefront-page .campaign-section { margin-top:20px; padding:22px 18px 4px; border-radius:16px; }
  .product-delivery-checker { padding:14px; }
  .product-delivery-checker form { align-items:stretch; }
  .product-delivery-checker .btn { padding-inline:11px; font-size:12px; }
}

/* A small, delayed analytics choice that never blocks shopping. */
.analytics-preferences { padding:0; border:0; background:none; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.analytics-consent-toast { position:fixed; z-index:1400; left:50%; bottom:18px; width:min(560px,calc(100% - 32px)); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px 10px 14px; border:1px solid rgba(137,179,233,.35); border-radius:12px; background:rgba(13,27,55,.97); color:#f8fbff; box-shadow:0 14px 34px rgba(0,0,0,.26); transform:translateX(-50%); }
.analytics-consent-toast[hidden] { display:none!important; }
.analytics-consent-copy { color:#e5eefc; font-size:13px; font-weight:650; line-height:1.35; }
.analytics-consent-link { color:#a9d9ff; font-size:12px; font-weight:800; text-decoration:underline; }
.analytics-consent-actions { display:flex; flex-shrink:0; gap:7px; align-items:center; }
.analytics-consent-actions .btn { min-height:34px; padding:7px 11px; font-size:12px; }
.analytics-consent-open .floating-language,.analytics-consent-open .back-to-top { visibility:hidden; pointer-events:none; }
body.has-mobile-quick-buy .analytics-consent-toast { bottom:90px; }
@media (max-width:560px) { .analytics-consent-toast { left:12px; right:12px; bottom:12px; width:auto; padding:9px 10px; gap:9px; transform:none; } .analytics-consent-copy { font-size:12px; } .analytics-consent-actions { gap:6px; } .analytics-consent-actions .btn { min-height:32px; padding:6px 9px; font-size:11px; } body.has-mobile-quick-buy .analytics-consent-toast { bottom:86px; } }
@media (max-width:380px) { .analytics-consent-toast { align-items:flex-start; } .analytics-consent-copy { max-width:48%; } }

/* Product-page mobile controls share one protected area above Quick Buy.  This
   keeps the language and return-to-top actions reachable without covering the
   price/button, including devices with a bottom safe-area inset. */
@media (max-width:600px) {
  body.has-mobile-quick-buy { padding-bottom:174px; }
  body.has-mobile-quick-buy .mobile-quick-buy { min-height:76px; }
  body.has-mobile-quick-buy .floating-language,
  body.has-mobile-quick-buy .back-to-top {
    bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  }
  body.has-mobile-quick-buy .floating-language { left:max(12px, env(safe-area-inset-left, 0px)); }
  body.has-mobile-quick-buy .back-to-top { right:max(14px, env(safe-area-inset-right, 0px)); }
}

@media (max-width:360px) {
  .mobile-quick-buy { gap:9px; padding-inline:12px; }
  .mobile-quick-buy strong { font-size:16px; }
  .mobile-quick-buy .btn { min-width:0; padding-inline:13px; font-size:14px; }
}
