@import url('/fonts/fonts.css');

:root {
  --brand-50: #f0f4f8;
  --brand-100: #dbe8f3;
  --brand-500: #3b71ca;
  --brand-600: #2858a6;
  --brand-800: #17346b;
  --brand-900: #0f224a;
  --text: #0f172a;
  --muted: #64748b;
  --line: #e2e8f0;
  --brand: var(--brand-900);
  --border: var(--line);
  --bg: #f8fafc;
  --white: #ffffff;
  --card: #ffffff;
  --surface: #ffffff;
  --soft: #f8fafc;
  --shadow-soft: 0 10px 30px rgba(15, 34, 74, 0.06);
  --shadow: 0 18px 50px rgba(15, 34, 74, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
h1, h2, h3, .serif { font-family: Merriweather, Georgia, serif; }
.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(255,255,255,.92); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.header-inner { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
/* Brand logo. For exact Ergo Bold, add the licensed webfont to assets/fonts/ and set @font-face if needed. */
.brand-logo {
  display: inline-flex;
  align-items: baseline;
  width: fit-content;
  font-family: "Ergo Bold", "Ergo", Inter, system-ui, sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.055em;
  background: var(--brand-900);
  border-radius: 14px;
  padding: 9px 13px 10px;
  box-shadow: 0 10px 25px rgba(15, 34, 74, .16);
  direction: ltr;
  user-select: none;
}
.logo { cursor: pointer; }
.brand-logo-pic { color: var(--brand-500); }
.brand-logo-amed { color: var(--white); }
.footer-logo { margin: 0 0 14px; font-size: 29px; }
.desktop-nav { display: flex; align-items: center; gap: 28px; color: #475569; font-size: 14px; font-weight: 600; direction: ltr; }
.desktop-nav > a, .nav-link { height: 78px; display: inline-flex; align-items: center; }
.desktop-nav a:hover { color: var(--brand-900); }
.nav-item { position: static; }
.has-mega .nav-link { position: relative; }
.has-mega .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  background: var(--brand-900);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}
.has-mega:hover .nav-link::after,
.has-mega:focus-within .nav-link::after { transform: scaleX(1); }
.mega-menu {
  position: fixed;
  top: 78px;
  left: 0;
  width: 100vw;
  z-index: 19;
  background: rgba(255,255,255,.98);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 28px 60px rgba(15, 34, 74, .10);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.has-mega:hover .mega-menu,
.has-mega:focus-within .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.has-mega.mega-force-closed .mega-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-8px) !important;
  pointer-events: none !important;
}
.has-mega.mega-force-closed .nav-link::after { transform: scaleX(0) !important; }
.mega-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px 20px 34px;
  display: grid;
  grid-template-columns: 220px 240px minmax(340px, 1fr);
  gap: 40px;
  direction: ltr;
  text-align: left;
}
.mega-column { display: flex; flex-direction: column; gap: 17px; }
.mega-link {
  width: fit-content;
  color: #64748b;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
  transition: color .16s ease, font-weight .16s ease, text-decoration-color .16s ease;
}
.mega-cat {
  color: #0f172a;
  font-size: 16px;
  font-weight: 600;
}
.mega-link:hover,
.mega-link:focus-visible {
  color: var(--brand-900);
  font-weight: 800;
  text-decoration-color: currentColor;
  outline: none;
}
.mega-preview {
  min-height: 330px;
  background: #f8fafc;
  border: 1px solid #edf2f7;
  overflow: hidden;
  padding: 14px;
  display: grid;
  align-items: stretch;
  transition: opacity .16s ease, transform .22s ease;
}
.mega-preview.is-changing { opacity: .42; transform: scale(.995); }
.mega-product-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.mega-product-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(15,34,74,.06);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mega-product-card:hover,
.mega-product-card:focus-visible {
  transform: translateY(-3px);
  border-color: #8bb9ff;
  box-shadow: 0 16px 34px rgba(15,34,74,.12);
  outline: none;
}
.mega-product-image { aspect-ratio: 1 / 1; overflow: hidden; background: #eef2f7; }
.mega-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.mega-product-card:hover .mega-product-image img { transform: scale(1.045); }
.mega-product-copy { min-width: 0; display: grid; gap: 5px; padding: 11px 12px 13px; direction: rtl; text-align: right; }
html[dir="ltr"] .mega-product-copy { direction: ltr; text-align: left; }
.mega-product-copy small { color: #64748b; font-size: 11px; font-style: normal; }
.mega-product-copy strong { color: #0f172a; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.mega-product-copy em { color: #2563eb; font-size: 11px; font-weight: 800; font-style: normal; }
.mega-preview-empty { display: grid; place-items: center; min-height: 300px; color: #64748b; font-weight: 800; }
.mega-link.is-active { color: var(--brand-900); font-weight: 800; text-decoration-color: currentColor; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn { border: 0; background: transparent; color: var(--brand-900); font-size: 24px; cursor: pointer; padding: 8px; line-height: 1; }
.action-btn {
  border: 1px solid rgba(15, 34, 74, .12);
  background: rgba(255,255,255,.86);
  color: var(--brand-900);
  min-width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  box-shadow: 0 10px 26px rgba(15,34,74,.06);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}
.action-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(15,34,74,.35);
  background: var(--brand-900);
  color: #fff;
  box-shadow: 0 16px 34px rgba(15,34,74,.14);
}
.action-btn:focus-visible { outline: 3px solid rgba(59,113,202,.22); outline-offset: 3px; }
.action-icon { width: 21px; height: 21px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.action-icon svg { width: 100%; height: 100%; display: block; }
.icon-action { width: 42px; padding: 0; }
.lang-toggle { padding: 0 13px 0 11px; font-weight: 900; letter-spacing: .04em; }
.lang-toggle-text { font-size: 12px; line-height: 1; }
.menu-btn { display: none; }
.cart-button { position: relative; }
#cartCount { position: absolute; top: -5px; right: -5px; min-width: 20px; height: 20px; padding: 0 6px; background: var(--brand-600); color: white; border: 2px solid white; border-radius: 999px; font-size: 11px; font-weight: 900; display: grid; place-items: center; line-height: 1; }
.cart-button:hover #cartCount { background: #fff; color: var(--brand-900); border-color: var(--brand-900); }

.mobile-menu { position: fixed; inset: 0 auto 0 0; width: min(84vw, 340px); background: white; z-index: 40; transform: translateX(-110%); transition: .25s ease; box-shadow: var(--shadow); padding: 70px 28px; display: flex; flex-direction: column; gap: 24px; font: 700 24px Merriweather, serif; color: var(--brand-900); }
.mobile-menu.open { transform: translateX(0); }
.close-menu { position: absolute; top: 18px; right: 18px; }

.fade-in { animation: fadeIn .35s ease both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.btn { border: 0; border-radius: 12px; padding: 12px 22px; cursor: pointer; font-weight: 700; transition: .2s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btn:focus-visible { outline: 3px solid rgba(59,113,202,.34); outline-offset: 3px; }
.btn.primary { background: var(--brand-900); color: white; box-shadow: 0 8px 24px rgba(15,34,74,.18); }
.btn.primary:hover { background: var(--brand-800); transform: translateY(-1px); }
.btn.secondary { background: #eef2f7; color: var(--brand-900); }
.btn.outline { background: transparent; color: var(--brand-900); border: 1px solid var(--brand-900); }
.btn.full { width: 100%; }

.hero { min-height: 78vh; position: relative; display: grid; place-items: center; text-align: center; color: white; background: #0b1020; overflow: hidden; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .46; }
.hero-content { position: relative; z-index: 1; max-width: 780px; padding: 24px; }
.hero h1 { font-size: clamp(44px, 7vw, 80px); line-height: 1.05; margin: 0 0 22px; }
.hero p { color: #e2e8f0; font-size: 20px; margin: 0 0 34px; }
.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; }
.hero .outline { color: white; border-color: white; }
.hero .outline:hover { background: white; color: var(--brand-900); }

.section { padding: 86px 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 38px; }
.section h2, .page-title { color: var(--brand-900); font-size: 34px; margin: 0 0 8px; }
.section p, .page-subtitle { color: var(--muted); }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.card { background: white; border: 1px solid #edf2f7; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 24px rgba(15,34,74,.04); transition: .25s ease; cursor: pointer; }
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.card-img { aspect-ratio: 1/1; background: #eef2f7; overflow: hidden; }
.featured .card-img { aspect-ratio: 4/5; }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: .5s ease; }
.card:hover img { transform: scale(1.05); }
.card-body { padding: 20px; }
.kicker { color: #94a3b8; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 800; }
.card h3 { color: var(--brand-900); margin: 8px 0 8px; font-size: 19px; }
.price { color: var(--brand-900); font-size: 20px; font-weight: 800; }
.benefits { background: var(--brand-50); }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; text-align: center; }
.benefit-icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-900); color: white; margin: 0 auto 16px; font-size: 24px; }
.benefit h3 { color: var(--brand-900); }

.store-layout { display: grid; grid-template-columns: 250px 1fr; gap: 42px; padding: 48px 0 80px; }
.sidebar { display: flex; flex-direction: column; gap: 30px; }
.sidebar h3 { color: var(--brand-900); margin-bottom: 14px; }
.search-box { position: relative; }
.search-box input, .form input, .form textarea, .newsletter input { width: 100%; border: 1px solid #cbd5e1; border-radius: 12px; padding: 12px 14px; background: white; outline: none; }
.search-box input:focus, .form input:focus, .form textarea:focus { border-color: var(--brand-900); box-shadow: 0 0 0 3px rgba(15,34,74,.12); }
.category-list { display: flex; flex-direction: column; gap: 10px; align-items: start; }
.category-list button { border: 0; background: transparent; color: #475569; cursor: pointer; padding: 4px 0; }
.category-list button.active { color: var(--brand-900); font-weight: 800; }
.toolbar { background: white; border: 1px solid #edf2f7; border-radius: 16px; padding: 16px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.view-btns button { border: 0; border-radius: 10px; padding: 8px 12px; cursor: pointer; background: transparent; }
.view-btns button.active { background: #e2e8f0; }
.product-list { display: flex; flex-direction: column; gap: 18px; }
.product-list .card { display: grid; grid-template-columns: 190px 1fr; }
.product-list .card-img { aspect-ratio: auto; height: 190px; }
.card-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 16px; }
.mobile-filter-btn { display: none; }

.detail { padding: 46px 0 82px; }
.back { color: var(--muted); display: inline-block; margin-bottom: 28px; cursor: pointer; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.detail-image { border-radius: 24px; overflow: hidden; background: #eef2f7; aspect-ratio: 4/5; }
.detail-image img { width: 100%; height: 100%; object-fit: cover; }
.detail h1 { color: var(--brand-900); font-size: clamp(34px, 5vw, 52px); margin: 10px 0 16px; }
.stars { color: #eab308; letter-spacing: 2px; margin-bottom: 22px; }
.specs { border-top: 1px solid var(--line); margin: 28px 0; padding-top: 24px; color: #475569; }
.specs li { margin: 10px 0; }

.product-gallery { display: flex; flex-direction: column; gap: 16px; }
.gallery-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.thumb-btn { border: 2px solid transparent; background: #eef2f7; border-radius: 14px; padding: 0; overflow: hidden; aspect-ratio: 1/1; cursor: pointer; transition: .18s ease; }
.thumb-btn img { width: 100%; height: 100%; object-fit: cover; }
.thumb-btn:hover, .thumb-btn.active { border-color: var(--brand-900); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15,34,74,.12); }
.detail-info > p { color: #475569; line-height: 1.8; }
.stock-box { border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 18px 0 24px; background: white; }
.stock-label { display: block; color: #64748b; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 5px; }
.stock-box strong { color: var(--brand-900); font-size: 22px; }
.stock-status { border-radius: 999px; padding: 7px 12px; font-weight: 800; font-size: 12px; white-space: nowrap; }
.stock-box.in-stock .stock-status { background: #dcfce7; color: #166534; }
.stock-box.out-stock .stock-status { background: #fee2e2; color: #991b1b; }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none !important; box-shadow: none !important; }

.page-hero { background: var(--brand-900); color: white; text-align: center; padding: 92px 20px; }
.page-hero h1 { font-size: clamp(38px, 6vw, 60px); margin: 0 0 18px; }
.page-hero p { max-width: 780px; margin: auto; color: #cbd5e1; font-size: 19px; }
.article-grid, .gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.article-card { cursor: pointer; }
.article-img { aspect-ratio: 3/2; overflow: hidden; border-radius: 18px; background: #eef2f7; margin-bottom: 18px; }
.article-img img, .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: .45s ease; }
.article-card:hover img, .gallery-item:hover img { transform: scale(1.06); }

.journal-head { text-align: center; max-width: 720px; margin: 0 auto 54px; }
.article-card { background: transparent; border-radius: 18px; transition: .22s ease; }
.article-card h2 { color: var(--brand-900); margin: 10px 0 10px; font-size: 22px; line-height: 1.35; }
.article-card p { color: var(--muted); line-height: 1.7; }
.article-meta-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: #64748b; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.article-meta-line span + span::before { content: "•"; margin-right: 10px; color: #cbd5e1; }
.article-read-more { border: 0; background: transparent; color: var(--brand-900); font-weight: 800; padding: 0; margin-top: 8px; cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; transition: .18s ease; }
.article-card:hover .article-read-more { text-decoration-color: currentColor; }
.article-detail { background: #fff; }
.article-detail-wrap { padding-top: 44px; padding-bottom: 88px; }
.article-back { border: 0; background: transparent; color: var(--muted); padding: 0; cursor: pointer; font-weight: 700; margin-bottom: 34px; }
.article-back:hover { color: var(--brand-900); }
.article-detail-header { text-align: center; max-width: 860px; margin: 0 auto 36px; }
.article-meta-center { justify-content: center; margin-bottom: 18px; }
.article-detail-header h1 { color: var(--brand-900); font-size: clamp(38px, 6vw, 68px); line-height: 1.08; margin: 0 0 20px; letter-spacing: -.03em; }
.article-detail-header p { color: var(--muted); font-size: 20px; line-height: 1.75; margin: 0 auto 18px; max-width: 720px; }
.article-author { color: #475569; font-weight: 800; }
.article-hero-image { margin: 0 0 54px; border-radius: 26px; overflow: hidden; background: #eef2f7; box-shadow: var(--shadow); }
.article-hero-image img { width: 100%; height: min(58vw, 520px); object-fit: cover; }
.article-layout { display: grid; grid-template-columns: 230px minmax(0, 760px); gap: 54px; align-items: start; justify-content: center; }
.article-toc { position: sticky; top: 110px; border: 1px solid #edf2f7; border-radius: 18px; padding: 18px; background: #f8fafc; display: flex; flex-direction: column; gap: 12px; }
.article-toc strong { color: var(--brand-900); margin-bottom: 4px; }
.toc-btn { border: 0; background: transparent; padding: 0; text-align: left; color: #64748b; font-size: 14px; cursor: pointer; }
.toc-btn:hover { color: var(--brand-900); }
.article-content { color: #334155; font-size: 18px; line-height: 1.9; }
.article-lead { font-size: 21px; color: #475569; line-height: 1.85; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.article-section-block { padding: 16px 0 8px; }
.article-section-block h2 { color: var(--brand-900); font-size: 30px; margin: 22px 0 10px; }
.article-section-block p { margin: 0 0 16px; }
.article-section-block ul { margin: 12px 0 0; padding-left: 22px; }
.article-section-block li { margin: 10px 0; }
.related-articles { margin-top: 78px; padding-top: 46px; border-top: 1px solid var(--line); }
.related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.related-card { display: grid; grid-template-columns: 160px 1fr; gap: 18px; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 18px; padding: 14px; cursor: pointer; transition: .22s ease; }
.related-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.related-card img { width: 160px; height: 130px; object-fit: cover; border-radius: 14px; }
.related-card h3 { color: var(--brand-900); margin: 6px 0; font-size: 18px; }
.related-card p { color: var(--muted); margin: 0; font-size: 14px; line-height: 1.6; }

.gallery-item { aspect-ratio: 1/1; border-radius: 16px; overflow: hidden; cursor: pointer; background: #eef2f7; }
.lightbox { position: fixed; inset: 0; z-index: 80; background: rgba(0,0,0,.9); display: grid; place-items: center; padding: 24px; }
.lightbox img { max-height: 88vh; border-radius: 14px; }
.lightbox button { position: fixed; top: 20px; right: 24px; color: white; }
.about-grid, .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; align-items: center; }
.about-grid img { border-radius: 24px; box-shadow: var(--shadow); }
.form-card { background: white; border: 1px solid #edf2f7; border-radius: 24px; padding: 30px; box-shadow: var(--shadow); }
.form { display: flex; flex-direction: column; gap: 16px; }
.form label { color: var(--brand-900); font-weight: 700; font-size: 14px; display: block; margin-bottom: 6px; }
.auth-box { max-width: 430px; margin: 80px auto; background: white; border: 1px solid #edf2f7; border-radius: 24px; padding: 32px; box-shadow: var(--shadow); text-align: center; }
.password-field { position: relative; }
.password-field input { padding-inline-end: 48px; }
.password-toggle { position: absolute; inset-inline-end: 5px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 38px; height: 38px; padding: 8px; border: 0; border-radius: 9px; color: #475569; background: transparent; cursor: pointer; }
.password-toggle:hover, .password-toggle:focus-visible { color: var(--brand-900); background: #eef2ff; outline: 2px solid transparent; }
.password-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.password-toggle.is-visible svg { opacity: .7; }
.stock-box.pre-order { border-color: #f59e0b; background: #fffbeb; }
.stock-box.pre-order .stock-status { color: #92400e; }

.footer { background: var(--brand-900); color: #cbd5e1; padding: 66px 0; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: 36px; }
.footer h3, .footer h4 { color: white; }
.footer a { display: block; margin: 10px 0; color: #cbd5e1; }
.footer a:hover { color: white; }
.newsletter { display: flex; }
.newsletter input { border-radius: 10px 0 0 10px; border: 0; }
.newsletter button { border: 0; border-radius: 0 10px 10px 0; background: var(--brand-600); color: white; padding: 0 18px; cursor: pointer; }

.cart-drawer { position: fixed; inset: 0; z-index: 70; background: rgba(0,0,0,.42); opacity: 0; pointer-events: none; transition: .25s ease; }
.cart-drawer.open { opacity: 1; pointer-events: auto; }
.cart-panel { width: min(100%, 430px); height: 100%; margin-left: auto; background: white; transform: translateX(105%); transition: .3s ease; display: flex; flex-direction: column; box-shadow: var(--shadow); }
.cart-drawer.open .cart-panel { transform: translateX(0); }
.cart-head, .cart-foot { padding: 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.cart-foot { border-top: 1px solid var(--line); border-bottom: 0; display: block; background: #f8fafc; }
.cart-items { flex: 1; overflow: auto; padding: 22px; }
.cart-item { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; margin-bottom: 18px; align-items: start; }
.cart-item img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; }
.remove { border: 0; background: transparent; color: #ef4444; cursor: pointer; }
.cart-total { display: flex; justify-content: space-between; color: var(--brand-900); font-size: 20px; margin-bottom: 16px; }
.empty { color: var(--muted); text-align: center; padding: 40px 0; }



/* Wide weaving-machine visual entry before products */
.loom-visual-section {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #061427;
}
.loom-panorama {
  position: relative;
  width: 100%;
  min-height: clamp(360px, 42vw, 560px);
  overflow: hidden;
  cursor: pointer;
  isolation: isolate;
}
.loom-panorama img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .8s ease, filter .8s ease;
}
.loom-panorama:hover img { transform: scale(1.045); filter: saturate(1.04) contrast(1.02); }
.loom-panorama-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(4,12,28,.88), rgba(4,12,28,.38) 44%, rgba(4,12,28,.08) 72%),
    linear-gradient(0deg, rgba(4,12,28,.72), rgba(4,12,28,.06) 46%, rgba(4,12,28,.35));
}
.loom-panorama-content {
  position: relative;
  z-index: 2;
  min-height: clamp(360px, 42vw, 560px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
}
.loom-title-block { max-width: 600px; color: white; }
.loom-title-block .kicker { color: #9ec5ff; }
.loom-title-block h2 {
  margin: 12px 0 0;
  max-width: 760px;
  font-size: clamp(34px, 5.2vw, 70px);
  line-height: .98;
  letter-spacing: -.045em;
  color: #fff;
  text-wrap: balance;
}
.loom-article-chips {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
}
.loom-chip {
  min-height: 108px;
  text-align: start;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.12);
  color: white;
  border-radius: 20px;
  padding: 17px 18px;
  cursor: pointer;
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.loom-chip:hover,
.loom-chip:focus-visible {
  transform: translateY(-4px);
  background: rgba(255,255,255,.2);
  border-color: rgba(255,255,255,.42);
  outline: none;
}
.loom-chip span {
  display: block;
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 9px;
}
.loom-chip strong {
  display: block;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 900;
}
html[dir="rtl"] .loom-panorama-shade {
  background:
    linear-gradient(-90deg, rgba(4,12,28,.88), rgba(4,12,28,.38) 44%, rgba(4,12,28,.08) 72%),
    linear-gradient(0deg, rgba(4,12,28,.72), rgba(4,12,28,.06) 46%, rgba(4,12,28,.35));
}
html[dir="rtl"] .loom-title-block,
html[dir="rtl"] .loom-chip { direction: rtl; text-align: right; }


/* Compact machine story cards replacing the full-width panorama */
.machine-brief-section {
  padding-top: clamp(64px, 7vw, 96px);
  padding-bottom: clamp(34px, 5vw, 58px);
}
.machine-brief-head {
  max-width: 780px;
  margin: 0 auto clamp(30px, 4.5vw, 54px);
  text-align: center;
}
.machine-brief-head h2 {
  margin: 10px 0 0;
  font-size: clamp(32px, 5vw, 58px);
  line-height: 1.1;
  letter-spacing: -.04em;
  color: var(--brand-900);
  text-wrap: balance;
}
.machine-brief-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, .9fr);
  gap: clamp(18px, 2.4vw, 30px);
  align-items: stretch;
}
.machine-brief-card {
  cursor: pointer;
  background: var(--white);
  border: 1px solid rgba(226,232,240,.9);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.machine-brief-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(15, 34, 74, .10);
  border-color: rgba(59, 113, 202, .22);
}
.machine-brief-image {
  aspect-ratio: 1.35 / 1;
  background: #eef2f7;
  overflow: hidden;
}
.machine-brief-card.featured .machine-brief-image { aspect-ratio: 1.58 / 1; }
.machine-brief-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease, filter .7s ease;
}
.machine-brief-card:hover .machine-brief-image img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.03);
}
.machine-brief-copy {
  padding: clamp(22px, 2.6vw, 34px);
  text-align: center;
}
.machine-brief-copy span {
  display: block;
  color: var(--brand-600);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.machine-brief-copy h3 {
  margin: 0 auto 18px;
  max-width: 440px;
  font-size: clamp(22px, 2.2vw, 33px);
  line-height: 1.22;
  letter-spacing: -.028em;
  color: var(--brand-900);
}
.machine-brief-card.featured .machine-brief-copy h3 {
  font-size: clamp(26px, 3vw, 42px);
}

html[data-theme="dark"] .machine-brief-section { background: var(--bg); }
html[data-theme="dark"] .machine-brief-head h2,
html[data-theme="dark"] .machine-brief-copy h3 { color: #eaf2ff; }
html[data-theme="dark"] .machine-brief-card {
  background: #07111f;
  border-color: var(--line);
}
html[data-theme="dark"] .machine-brief-card:hover {
  border-color: rgba(158,197,255,.28);
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
}
html[data-theme="dark"] .machine-brief-image { background: #111f35; }

html[dir="rtl"] .machine-brief-head,
html[dir="rtl"] .machine-brief-copy { text-align: center; }
html[dir="rtl"] .machine-brief-copy span { letter-spacing: .06em; }

@media (max-width: 980px) {
  .machine-brief-grid { grid-template-columns: 1fr; }
  .machine-brief-card.featured .machine-brief-image,
  .machine-brief-image { aspect-ratio: 1.75 / 1; }
}

@media (max-width: 640px) {
  .machine-brief-section { padding-top: 56px; padding-bottom: 26px; }
  .machine-brief-card.featured .machine-brief-image,
  .machine-brief-image { aspect-ratio: 1.18 / 1; }
  .machine-brief-copy { padding: 24px 18px 28px; }
}

/* Home landing expansion */
.home-featured { padding-bottom: 76px; }
.featured-product-grid { grid-template-columns: repeat(4, 1fr); }
.product-carousel-shell { position: relative; padding-inline: 56px; }
.product-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 280px); gap: 20px; overflow-x: auto; overflow-y: hidden; padding: 8px 4px 18px; scroll-padding-inline: 4px; scroll-snap-type: inline mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
.product-carousel-track::-webkit-scrollbar { display: none; }
.product-carousel-track .card { width: 100%; min-width: 0; height: auto; scroll-snap-align: start; }
.product-carousel-track .card-body { min-width: 0; }
.product-carousel-track .card-body p { overflow-wrap: anywhere; }
.product-carousel-track .card-row { min-width: 0; }
.product-carousel-arrow { position: absolute; z-index: 4; top: 50%; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--text); box-shadow: var(--shadow-soft); font-size: 28px; display: grid; place-items: center; cursor: pointer; transform: translateY(-50%); }
.product-carousel-arrow.previous { inset-inline-start: 4px; }
.product-carousel-arrow.next { inset-inline-end: 4px; }
.product-carousel-arrow:hover, .product-carousel-arrow:focus-visible { background: var(--brand-900); color: var(--white); outline: 3px solid var(--brand-100); outline-offset: 2px; }
.product-carousel-hint { color: var(--muted); text-align: center; font-size: 13px; margin: 8px 0 0; }
.home-featured .card-body p { min-height: 48px; }
.home-featured-card {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  height: 430px;
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--card);
  box-shadow: 0 16px 38px rgba(15, 34, 74, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-featured-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--brand-500) 38%, var(--line));
  box-shadow: 0 22px 46px rgba(15, 34, 74, .13);
}
.home-featured-card-main {
  display: grid;
  grid-template-rows: 220px minmax(0, 1fr);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.home-featured-card-main:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand-500) 46%, transparent);
  outline-offset: -3px;
}
.home-featured-card-media {
  display: block;
  min-width: 0;
  overflow: hidden;
  background: #edf2f7;
}
.home-featured-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.home-featured-card:hover .home-featured-card-media img { transform: scale(1.025); }
.home-featured-card-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 10px;
  padding: 16px 17px 10px;
}
.home-featured-card-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.home-featured-card-meta > span,
.home-featured-card-meta code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-featured-card-meta code {
  max-width: 92px;
  direction: ltr;
  unicode-bidi: isolate;
  color: var(--brand-700);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  text-align: end;
}
.home-featured-card-title {
  display: -webkit-box;
  min-height: 2.9em;
  overflow: hidden;
  color: var(--text);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.home-featured-card-stock {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #166534;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
}
.home-featured-card-stock::before {
  content: '';
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.home-featured-card-stock--out_of_stock { color: #b42318; }
.home-featured-card-stock--pre_order { color: #a16207; }
.home-featured-card-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 70px;
  align-items: center;
  gap: 10px;
  padding: 10px 17px 16px;
}
.home-featured-card-footer--no-price {
  grid-template-columns: 1fr;
  justify-items: end;
}
.home-featured-card-price {
  min-width: 0;
  color: var(--text);
  font-size: clamp(14px, 1.35vw, 18px);
  font-weight: 950;
  line-height: 1.25;
  unicode-bidi: isolate;
}
.home-featured-card-buy {
  display: inline-flex;
  min-width: 94px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid var(--brand-900);
  border-radius: 999px;
  background: var(--brand-900);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.home-featured-card-buy:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand-500) 42%, transparent);
  outline-offset: 2px;
}
.home-featured-card-buy:disabled {
  border-color: var(--line);
  background: color-mix(in srgb, var(--muted) 16%, var(--card));
  color: var(--muted);
  cursor: not-allowed;
}
.home-featured-card-buy-icon {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
}
.home-featured-card-buy-icon svg { width: 17px; height: 17px; }
html[data-theme="dark"] .home-featured-card {
  border-color: rgba(148, 163, 184, .2);
  background: #0d1a2b;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .26);
}
html[data-theme="dark"] .home-featured-card-media { background: #132238; }
html[data-theme="dark"] .home-featured-card-meta code { color: #9fc4ff; }
html[data-theme="dark"] .home-featured-card-stock--available { color: #86efac; }
html[data-theme="dark"] .home-featured-card-stock--out_of_stock { color: #fca5a5; }
html[data-theme="dark"] .home-featured-card-stock--pre_order { color: #fcd34d; }
html[data-theme="dark"] .home-featured-card-buy:disabled {
  border-color: rgba(148, 163, 184, .24);
  background: #162438;
  color: #a9b7ca;
}

.showcase-section { background: #fff; border-top: 1px solid #edf2f7; border-bottom: 1px solid #edf2f7; }
.showcase-intro { max-width: 720px; margin: 0 auto 46px; text-align: center; }
.showcase-intro h2 { color: var(--brand-900); font-size: clamp(34px, 5vw, 54px); line-height: 1.12; margin: 10px 0 14px; letter-spacing: -.03em; }
.showcase-intro p { color: var(--muted); font-size: 17px; line-height: 1.8; }
.showcase-list { display: flex; flex-direction: column; gap: 34px; }
.showcase-row { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 54px; align-items: center; background: #f8fafc; border: 1px solid #edf2f7; border-radius: 30px; padding: 28px; overflow: hidden; }
.showcase-row.reverse { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.showcase-row.reverse .showcase-media { order: 2; }
.showcase-row.reverse .showcase-content { order: 1; }
.showcase-media { position: relative; border-radius: 24px; overflow: hidden; background: #e2e8f0; aspect-ratio: 4/3; cursor: pointer; box-shadow: 0 18px 44px rgba(15,34,74,.08); }
.showcase-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.showcase-media:hover img { transform: scale(1.045); }
.showcase-tag { position: absolute; left: 18px; top: 18px; background: rgba(255,255,255,.92); color: var(--brand-900); border: 1px solid rgba(15,34,74,.12); border-radius: 999px; padding: 8px 13px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.showcase-content { padding: 8px 0; }
.showcase-content h3 { color: var(--brand-900); font-size: clamp(28px, 4vw, 44px); line-height: 1.15; margin: 10px 0 16px; letter-spacing: -.025em; }
.showcase-content p { color: #475569; font-size: 17px; line-height: 1.8; margin: 0 0 20px; }
.showcase-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; }
.showcase-meta span { background: white; border: 1px solid #e2e8f0; border-radius: 999px; color: #475569; font-size: 13px; font-weight: 800; padding: 8px 12px; }
.showcase-meta .meta-stock { background: #dcfce7; border-color: #bbf7d0; color: #166534; }
.showcase-meta .meta-out { background: #fee2e2; border-color: #fecaca; color: #991b1b; }
.showcase-specs { display: grid; gap: 10px; padding: 0; margin: 0 0 26px; list-style: none; color: #334155; }
.showcase-specs li { position: relative; padding-left: 20px; line-height: 1.55; }
.showcase-specs li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-900); position: absolute; left: 0; top: .7em; }

.gallery-preview-section { background: var(--bg); }
.home-gallery-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-auto-rows: 230px; gap: 16px; }
.home-gallery-item { border: 0; padding: 0; background: #eef2f7; border-radius: 22px; overflow: hidden; cursor: pointer; box-shadow: 0 8px 24px rgba(15,34,74,.04); }
.home-gallery-item.large { grid-row: span 2; }
.home-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.home-gallery-item:hover img { transform: scale(1.06); }

.home-journal-section { padding-top: 70px; }
.home-journal-section .article-card { background: white; border: 1px solid #edf2f7; border-radius: 22px; padding: 16px; box-shadow: 0 8px 24px rgba(15,34,74,.04); }
.home-journal-section .article-img { margin-bottom: 16px; }
.home-journal-section .article-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }


/* Product detail related strip */
.related-products-section { margin-top: 76px; padding-top: 44px; border-top: 1px solid var(--line); }
.related-product-strip { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 18px; }
.related-product-card { background: #fff; border: 1px solid #edf2f7; border-radius: 20px; overflow: hidden; cursor: pointer; transition: .22s ease; box-shadow: 0 8px 24px rgba(15,34,74,.04); }
.related-product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.related-product-img { aspect-ratio: 1/1; background: #eef2f7; overflow: hidden; }
.related-product-img img { width: 100%; height: 100%; object-fit: cover; transition: .45s ease; }
.related-product-card:hover img { transform: scale(1.05); }
.related-product-body { padding: 16px; }
.related-product-body h3 { color: var(--brand-900); font-size: 16px; line-height: 1.35; margin: 8px 0 14px; }
.related-product-meta { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.related-product-meta .price { font-size: 17px; }
.mini-stock, .mini-out { border-radius: 999px; padding: 6px 10px; font-size: 11px; font-weight: 900; }
.mini-stock { background: #dcfce7; color: #166534; }
.mini-out { background: #fee2e2; color: #991b1b; }

/* Gallery modes */
.gallery-head { text-align: center; margin-bottom: 54px; }
.gallery-head .page-subtitle { max-width: 620px; margin-left: auto; margin-right: auto; }
.gallery-mode-tabs { display: inline-flex; gap: 8px; background: #fff; border: 1px solid #e2e8f0; border-radius: 999px; padding: 6px; margin-top: 26px; box-shadow: 0 10px 30px rgba(15,34,74,.05); }
.gallery-mode-tabs button { border: 0; background: transparent; color: #64748b; border-radius: 999px; padding: 10px 16px; cursor: pointer; font-weight: 900; transition: .18s ease; }
.gallery-mode-tabs button:hover, .gallery-mode-tabs button.active { background: var(--brand-900); color: #fff; }
.gallery-slide-frame { position: relative; min-height: min(68vh, 680px); border-radius: 30px; overflow: hidden; background: #0b1020; cursor: zoom-in; box-shadow: var(--shadow); }
.gallery-slide-frame img { width: 100%; height: min(68vh, 680px); min-height: 460px; object-fit: cover; display: block; opacity: .94; }
.gallery-slide-caption { position: absolute; left: 24px; right: 24px; bottom: 24px; display: flex; justify-content: space-between; align-items: center; gap: 18px; background: rgba(15,34,74,.78); color: #fff; backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 16px 18px; }
.gallery-slide-caption span { font-weight: 900; }
.gallery-arrow { width: 56px; height: 56px; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; color: var(--brand-900); font-size: 42px; line-height: 1; cursor: pointer; box-shadow: 0 12px 30px rgba(15,34,74,.08); transition: .18s ease; }
.gallery-arrow:hover { background: var(--brand-900); color: #fff; transform: translateY(-1px); }
.gallery-spotlight-view { display: grid; grid-template-columns: .82fr 1.18fr; gap: 44px; align-items: center; background: #fff; border: 1px solid #edf2f7; border-radius: 34px; padding: 32px; box-shadow: 0 20px 60px rgba(15,34,74,.07); overflow: hidden; }
.spotlight-copy h2 { color: var(--brand-900); font-size: clamp(34px, 5vw, 58px); line-height: 1.08; margin: 12px 0 16px; letter-spacing: -.035em; }
.spotlight-copy p { color: #475569; font-size: 17px; line-height: 1.85; margin: 0 0 26px; }
.spotlight-wall { min-height: 590px; display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(6, 88px); gap: 12px; transform: rotate(-1.2deg); }
.spotlight-wall button { border: 0; padding: 0; background: #eef2f7; overflow: hidden; border-radius: 20px; cursor: pointer; box-shadow: 0 14px 34px rgba(15,34,74,.08); transition: .2s ease; }
.spotlight-wall button:hover, .spotlight-wall button.active { transform: translateY(-3px) rotate(1.2deg); box-shadow: 0 24px 50px rgba(15,34,74,.14); }
.spotlight-wall img { width: 100%; height: 100%; object-fit: cover; display: block; }
.spotlight-main { grid-column: 1 / span 4; grid-row: 1 / span 4; }
.spotlight-tile.tile-1 { grid-column: 5 / span 2; grid-row: 1 / span 2; }
.spotlight-tile.tile-2 { grid-column: 5 / span 2; grid-row: 3 / span 2; }
.spotlight-tile.tile-3 { grid-column: 1 / span 2; grid-row: 5 / span 2; }
.spotlight-tile.tile-4 { grid-column: 3 / span 2; grid-row: 5 / span 2; }
.spotlight-tile.tile-5 { grid-column: 5 / span 2; grid-row: 5 / span 2; }
.spotlight-tile.tile-6 { display: none; }
.lightbox img { max-width: min(94vw, 1200px); width: auto; }

@media (max-width: 850px) {
  .featured-product-grid { grid-template-columns: 1fr; }
  .loom-panorama, .loom-panorama-content { min-height: 500px; }
  .loom-panorama-content { padding: 42px 20px; }
  .loom-article-chips { grid-template-columns: 1fr; max-width: 100%; }
  .loom-chip { min-height: auto; }
  .related-product-strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .related-product-card { min-width: 230px; scroll-snap-align: start; }
  .gallery-mode-tabs { width: 100%; overflow-x: auto; justify-content: flex-start; border-radius: 18px; }
  .gallery-slide-frame, .gallery-slide-frame img { min-height: 380px; height: 56vh; }
  .gallery-arrow { position: absolute; top: 42%; z-index: 2; width: 48px; height: 48px; font-size: 34px; }
  .gallery-arrow.prev { left: 12px; }
  .gallery-arrow.next { right: 12px; }
  .gallery-spotlight-view { grid-template-columns: 1fr; padding: 20px; border-radius: 24px; }
  .spotlight-wall { min-height: auto; grid-template-rows: repeat(6, 58px); transform: none; }
  .showcase-row, .showcase-row.reverse { grid-template-columns: 1fr; padding: 18px; gap: 24px; border-radius: 24px; }
  .showcase-row.reverse .showcase-media, .showcase-row.reverse .showcase-content { order: initial; }
  .showcase-media { aspect-ratio: 4/3; border-radius: 18px; }
  .showcase-content h3 { font-size: 28px; }
  .home-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
  .home-gallery-item.large { grid-row: span 1; }

  .desktop-nav { display: none; }
  .menu-btn { display: inline-flex; }
  .product-grid, .benefit-grid, .article-grid, .gallery-grid, .footer-grid { grid-template-columns: 1fr; }
  .store-layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .mobile-filter-btn { display: inline-flex; }
  .toolbar span { display: none; }
  .product-list .card { grid-template-columns: 1fr; }
  .product-list .card-img { height: auto; aspect-ratio: 1/1; }
  .detail-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .gallery-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .stock-box { align-items: flex-start; flex-direction: column; }
  .section-head { align-items: start; flex-direction: column; }
  .hero p { font-size: 17px; }

  .article-layout { grid-template-columns: 1fr; gap: 24px; }
  .article-toc { position: static; }
  .related-grid { grid-template-columns: 1fr; }
  .related-card { grid-template-columns: 110px 1fr; }
  .related-card img { width: 110px; height: 110px; }
  .article-detail-header p { font-size: 17px; }
  .article-content { font-size: 16px; }
}

@media (max-width: 520px) {
  .header-actions { gap: 7px; }
  .action-btn { min-width: 38px; height: 38px; }
  .icon-action { width: 38px; }
  .action-icon { width: 19px; height: 19px; }
  .lang-toggle { padding: 0 10px; gap: 6px; }
  .lang-toggle-text { font-size: 11px; }
  #cartCount { min-width: 18px; height: 18px; font-size: 10px; top: -6px; right: -6px; }
}

/* Language / RTL support */
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] textarea {
  font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
  letter-spacing: 0;
}
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] .serif,
html[dir="rtl"] .logo,
html[dir="rtl"] .mobile-menu {
  font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
  letter-spacing: 0;
}
html[dir="rtl"] .desktop-nav {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .mega-inner {
  direction: rtl;
  text-align: right;
  grid-template-columns: minmax(340px, 1fr) 240px 220px;
}
html[dir="rtl"] .mega-preview { order: 1; }
html[dir="rtl"] .mega-sub-cats { order: 2; }
html[dir="rtl"] .mega-main-cats { order: 3; }
html[dir="rtl"] .article-meta-line span + span::before { margin-right: 0; margin-left: 10px; }
html[dir="rtl"] .toc-btn { text-align: right; }
html[dir="rtl"] .article-section-block ul { padding-left: 0; padding-right: 22px; }
html[dir="rtl"] .showcase-tag { left: auto; right: 18px; }
html[dir="rtl"] .showcase-specs li { padding-left: 0; padding-right: 20px; }
html[dir="rtl"] .showcase-specs li::before { left: auto; right: 0; }
html[dir="rtl"] .newsletter input { border-radius: 0 10px 10px 0; }
html[dir="rtl"] .newsletter button { border-radius: 10px 0 0 10px; transform: scaleX(-1); }
html[dir="rtl"] .cart-panel { margin-left: 0; margin-right: auto; transform: translateX(-105%); }
html[dir="rtl"] .cart-drawer.open .cart-panel { transform: translateX(0); }
html[dir="rtl"] .cart-item { grid-template-columns: 72px 1fr auto; }
html[dir="rtl"] .mobile-menu { inset: 0 0 0 auto; transform: translateX(110%); }
html[dir="rtl"] .mobile-menu.open { transform: translateX(0); }
html[dir="rtl"] .close-menu { right: auto; left: 18px; }
html[dir="rtl"] #cartCount { right: auto; left: -5px; }
html[dir="rtl"] .search-box input { text-align: right; }
html[dir="rtl"] .hero-content,
html[dir="rtl"] .showcase-intro,
html[dir="rtl"] .journal-head,
html[dir="rtl"] .article-detail-header { direction: rtl; }

html[dir="ltr"] body { font-family: Inter, system-ui, sans-serif; }
html[dir="ltr"] h1,
html[dir="ltr"] h2,
html[dir="ltr"] h3,
html[dir="ltr"] .serif,
html[dir="ltr"] .logo {
  font-family: Merriweather, Georgia, serif;
}
html[dir="ltr"] .logo { letter-spacing: -.04em; }


html[dir="rtl"] .brand-logo,
html[dir="ltr"] .brand-logo {
  font-family: "Ergo Bold", "Ergo", Inter, system-ui, sans-serif;
  letter-spacing: -.055em;
  direction: ltr;
}
html[dir="rtl"] .brand-logo { text-align: left; }


/* Theme toggle / dark mode */
.theme-toggle { padding: 0 12px; font-weight: 900; letter-spacing: .02em; min-width: 86px; }
.theme-toggle-text { font-size: 12px; line-height: 1; }
.theme-icon-sun { display: none; }
html[data-theme="dark"] .theme-icon-moon { display: none; }
html[data-theme="dark"] .theme-icon-sun { display: inline-grid; }

html[data-theme="dark"] {
  --brand-50: #0d1b2f;
  --brand-100: #13243b;
  --brand-500: #5b96f5;
  --brand-600: #72a8ff;
  --brand-800: #bfd8ff;
  --brand-900: #dbeafe;
  --text: #e7eef9;
  --muted: #b6c6da;
  --line: #23344e;
  --bg: #07111f;
  --card: #0b1628;
  --surface: #0b172a;
  --soft: #101e33;
  --shadow-soft: 0 18px 44px rgba(0, 0, 0, .24);
  --shadow: 0 22px 60px rgba(0, 0, 0, .34);
}
html[data-theme="dark"] body { background: radial-gradient(circle at top left, rgba(59,113,202,.13), transparent 32%), var(--bg); color: var(--text); }
html[data-theme="dark"] .site-header { background: rgba(7,17,31,.88); border-bottom-color: var(--line); }
html[data-theme="dark"] .brand-logo { background: #0f224a; box-shadow: 0 12px 28px rgba(0,0,0,.28); }
html[data-theme="dark"] .brand-logo-pic { color: #5b96f5; }
html[data-theme="dark"] .brand-logo-amed { color: #fff; }
html[data-theme="dark"] .desktop-nav { color: #b5c4d8; }
html[data-theme="dark"] .desktop-nav a:hover { color: #fff; }
html[data-theme="dark"] .mega-menu,
html[data-theme="dark"] .mobile-menu,
html[data-theme="dark"] .cart-panel { background: rgba(9,20,36,.98); border-color: var(--line); color: var(--text); }
html[data-theme="dark"] .cart-foot { background: var(--surface); border-color: var(--line); }
html[data-theme="dark"] .cart-head .icon-btn { color: #dbeafe; }
html[data-theme="dark"] .mega-link { color: #a8b9cf; }
html[data-theme="dark"] .mega-cat,
html[data-theme="dark"] .mega-link:hover,
html[data-theme="dark"] .mega-link:focus-visible { color: #fff; }
html[data-theme="dark"] .action-btn,
html[data-theme="dark"] .gallery-arrow,
html[data-theme="dark"] .gallery-mode-tabs { background: rgba(15, 28, 48, .92); color: #dbeafe; border-color: #29405c; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
html[data-theme="dark"] .action-btn:hover,
html[data-theme="dark"] .gallery-arrow:hover,
html[data-theme="dark"] .gallery-mode-tabs button.active,
html[data-theme="dark"] .gallery-mode-tabs button:hover { background: #dbeafe; color: #0f224a; border-color: #dbeafe; }
html[data-theme="dark"] #cartCount { background: #5b96f5; border-color: #07111f; color: #fff; }
html[data-theme="dark"] .cart-button:hover #cartCount { background: #0f224a; color: #fff; border-color: #dbeafe; }
html[data-theme="dark"] .card,
html[data-theme="dark"] .toolbar,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .auth-box,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .related-card,
html[data-theme="dark"] .related-product-card,
html[data-theme="dark"] .showcase-row,
html[data-theme="dark"] .stock-box,
html[data-theme="dark"] .article-toc,
html[data-theme="dark"] .gallery-spotlight-view,
html[data-theme="dark"] .home-journal-section .article-card,
html[data-theme="dark"] .cart-item { background: #0b172a; border-color: var(--line); box-shadow: 0 18px 44px rgba(0,0,0,.22); }
html[data-theme="dark"] .benefits,
html[data-theme="dark"] .pale-section { background: #0a1628; }
html[data-theme="dark"] .section h2,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] .card h3,
html[data-theme="dark"] .price,
html[data-theme="dark"] .sidebar h3,
html[data-theme="dark"] .stock-title,
html[data-theme="dark"] .article-card h2,
html[data-theme="dark"] .related-product-body h3,
html[data-theme="dark"] .showcase-content h3,
html[data-theme="dark"] .article-detail-header h1,
html[data-theme="dark"] .article-content h2,
html[data-theme="dark"] .spotlight-copy h2 { color: #eaf2ff; }
html[data-theme="dark"] .section p,
html[data-theme="dark"] .page-subtitle,
html[data-theme="dark"] .card p,
html[data-theme="dark"] .article-card p,
html[data-theme="dark"] .showcase-content p,
html[data-theme="dark"] .spotlight-copy p,
html[data-theme="dark"] .article-content p,
html[data-theme="dark"] .footer p,
html[data-theme="dark"] .cart-item p { color: var(--muted); }
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .search-box input { background: #081425; color: var(--text); border-color: #29405c; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #788aa5; }

html[data-theme="dark"] .btn.primary { background: #5b96f5; color: #07111f; box-shadow: 0 12px 30px rgba(91,150,245,.22); }
html[data-theme="dark"] .btn.primary:hover { background: #8bb9ff; color: #07111f; }
html[data-theme="dark"] .benefit-icon { background: #5b96f5; color: #07111f; }
html[data-theme="dark"] .btn.secondary { background: #14243b; color: #dbeafe; }
html[data-theme="dark"] .btn.outline { color: #dbeafe; border-color: #6ea3ff; }
html[data-theme="dark"] .btn.outline:hover,
html[data-theme="dark"] .btn.secondary:hover { background: #dbeafe; color: #0f224a; }
html[data-theme="dark"] .btn:disabled { opacity: .75; color: #b5c4d8; border-color: #526984; background: #14243b; }
html[data-theme="dark"] .quick-add-float:disabled { opacity: .86; color: #e2e8f0; background: #334155; border-color: #94a3b8; }
html[data-theme="dark"] .footer { background: #030916; border-top: 1px solid var(--line); }
html[data-theme="dark"] .lightbox { background: rgba(0,0,0,.92); }
html[data-theme="dark"] .loom-visual-section { background: #030916; }
html[data-theme="dark"] .loom-chip { background: rgba(8,20,37,.62); border-color: rgba(158,197,255,.22); }
html[data-theme="dark"] .loom-chip:hover { background: rgba(219,234,254,.18); border-color: rgba(219,234,254,.36); }
html[data-theme="dark"] .article-detail { background: var(--bg); }
html[data-theme="dark"] .article-meta-line,
html[data-theme="dark"] .toc-btn { color: #aebed2; }
html[data-theme="dark"] .article-meta-line span + span::before { color: #607592; }
html[data-theme="dark"] .article-author { color: #dbeafe; }
html[data-theme="dark"] .article-content,
html[data-theme="dark"] .article-lead { color: #cbd8e8; }
html[data-theme="dark"] .toc-btn:hover,
html[data-theme="dark"] .toc-btn:focus-visible { color: #fff; }
html[data-theme="dark"] .article-back,
html[data-theme="dark"] .article-read-more,
html[data-theme="dark"] .remove { color: #9ec5ff; }
html[data-theme="dark"] .mini-stock { background: rgba(22,101,52,.25); color: #86efac; }
html[data-theme="dark"] .mini-out { background: rgba(153,27,27,.22); color: #fecaca; }

@media (max-width: 520px) {
  .theme-toggle { min-width: 42px; padding: 0 10px; }
  .theme-toggle-text { display: none; }
}

/* Landing layout refinement: separated Grovemade-inspired blocks */
.landing-page .hero { margin-bottom: 0; }
.landing-page .section { scroll-margin-top: 96px; }

.loom-visual-section {
  padding: clamp(54px, 7vw, 88px) 0 clamp(28px, 4vw, 46px);
  background: var(--bg);
}
.loom-panorama {
  min-height: clamp(380px, 38vw, 585px);
  box-shadow: 0 28px 72px rgba(15, 34, 74, .10);
}
.loom-panorama-content {
  min-height: clamp(380px, 38vw, 585px);
  padding-top: clamp(42px, 5.5vw, 72px);
  padding-bottom: clamp(38px, 5vw, 66px);
}
.loom-title-block h2 { max-width: 700px; }

.highlight-section {
  padding-top: clamp(78px, 9vw, 116px);
  padding-bottom: clamp(82px, 9vw, 116px);
  background: var(--white);
  border-top: 0;
}
.highlight-section .showcase-list { gap: clamp(38px, 5vw, 58px); }

.editorial-duo-section {
  padding-top: clamp(72px, 8vw, 104px);
  padding-bottom: clamp(76px, 8vw, 108px);
}
.editorial-head {
  justify-content: center;
  text-align: center;
  margin-bottom: clamp(34px, 5vw, 56px);
}
.editorial-head > div { max-width: 780px; margin: 0 auto; }
.editorial-head h2 {
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.16;
  letter-spacing: -.035em;
}
.editorial-head p {
  font-size: 17px;
  line-height: 1.85;
  max-width: 760px;
  margin: 0 auto;
}
.editorial-duo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 38px);
}
.editorial-tile {
  cursor: pointer;
  text-align: center;
  transition: transform .24s ease;
}
.editorial-tile:hover { transform: translateY(-4px); }
.editorial-tile-image {
  aspect-ratio: 1.45 / 1;
  background: #eef2f7;
  overflow: hidden;
  margin-bottom: 34px;
  box-shadow: 0 14px 36px rgba(15,34,74,.06);
}
.editorial-tile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease, filter .6s ease;
}
.editorial-tile:hover .editorial-tile-image img { transform: scale(1.045); filter: contrast(1.02) saturate(1.04); }
.editorial-tile-copy { max-width: 560px; margin: 0 auto; }
.editorial-tile-copy h3 {
  font-size: clamp(27px, 3.2vw, 42px);
  line-height: 1.16;
  color: var(--brand-900);
  margin: 0 0 13px;
  letter-spacing: -.03em;
}
.editorial-tile-copy p {
  color: var(--muted);
  line-height: 1.8;
  margin: 0 auto 18px;
  max-width: 480px;
}
.link-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-bottom: 2px solid currentColor;
  color: var(--brand-900);
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 0 0 7px;
  font-size: 13px;
}
.link-cta:hover { color: var(--brand-600); }

.home-featured {
  padding-top: clamp(78px, 9vw, 112px);
  border-top: 1px solid rgba(226,232,240,.82);
}
.gallery-preview-section { padding-top: clamp(74px, 8vw, 104px); }
.home-journal-section { padding-top: clamp(74px, 8vw, 104px); }

html[data-theme="dark"] .loom-visual-section,
html[data-theme="dark"] .editorial-duo-section,
html[data-theme="dark"] .gallery-preview-section { background: var(--bg); }
html[data-theme="dark"] .highlight-section { background: #07111f; border-color: var(--line); }
html[data-theme="dark"] .editorial-tile-image { background: #111f35; box-shadow: 0 18px 44px rgba(0,0,0,.22); }
html[data-theme="dark"] .editorial-tile-copy h3 { color: #eaf2ff; }
html[data-theme="dark"] .editorial-tile-copy p { color: var(--muted); }
html[data-theme="dark"] .link-cta { color: #dbeafe; }
html[data-theme="dark"] .home-featured { border-top-color: var(--line); }

html[dir="rtl"] .editorial-head,
html[dir="rtl"] .editorial-tile { text-align: center; }
html[dir="rtl"] .link-cta { letter-spacing: .06em; }

@media (max-width: 900px) {
  .loom-visual-section { padding-top: 42px; }
  .loom-article-chips { grid-template-columns: 1fr; max-width: 520px; }
  .editorial-duo-grid { grid-template-columns: 1fr; gap: 56px; }
  .editorial-tile-image { margin-bottom: 24px; }
}

@media (max-width: 640px) {
  .loom-panorama,
  .loom-panorama-content { min-height: 560px; }
  .loom-panorama-content { justify-content: flex-end; }
  .loom-title-block h2 { font-size: 36px; }
  .highlight-section,
  .editorial-duo-section,
  .home-featured,
  .gallery-preview-section,
  .home-journal-section { padding-top: 64px; padding-bottom: 64px; }
  .editorial-head { margin-bottom: 30px; }
  .editorial-tile-copy h3 { font-size: 29px; }
}

/* Picanol machine image carousel: text-free visual entry linked to article */
.machine-slider-section {
  padding-top: clamp(64px, 7vw, 96px);
  padding-bottom: clamp(34px, 5vw, 58px);
}
.machine-slider-shell {
  position: relative;
  display: block;
  width: 100%;
  min-height: clamp(300px, 43vw, 620px);
  overflow: hidden;
  cursor: pointer;
  background: #061427;
  box-shadow: 0 28px 72px rgba(15, 34, 74, .12);
  isolation: isolate;
}
.machine-slider-shell:focus-visible {
  outline: 3px solid rgba(59, 113, 202, .45);
  outline-offset: 5px;
}
.machine-slider-track,
.machine-slide {
  position: absolute;
  inset: 0;
}
.machine-slide {
  opacity: 0;
  transform: scale(1.012);
  transition: opacity .55s ease, transform .75s ease;
  pointer-events: none;
}
.machine-slide.active {
  opacity: 1;
  transform: scale(1);
}
.machine-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  user-select: none;
}
.machine-slider-shell:hover .machine-slide.active img {
  filter: saturate(1.05) contrast(1.02);
}
.machine-slider-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: rgba(3, 10, 24, .38);
  color: #fff;
  font-size: 38px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(14px);
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.machine-slider-arrow:hover,
.machine-slider-arrow:focus-visible {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.62);
  outline: none;
  transform: translateY(-50%) scale(1.05);
}
.machine-slider-arrow.prev { left: 22px; }
.machine-slider-arrow.next { right: 22px; }
.machine-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 4;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(3, 10, 24, .32);
  backdrop-filter: blur(14px);
}
.machine-slider-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.48);
  cursor: pointer;
  transition: width .22s ease, background .22s ease;
}
.machine-slider-dots button.active {
  width: 30px;
  background: #fff;
}
html[data-theme="dark"] .machine-slider-section { background: var(--bg); }
html[data-theme="dark"] .machine-slider-shell { box-shadow: 0 28px 72px rgba(0,0,0,.28); }
html[dir="rtl"] .machine-slider-arrow.prev { left: auto; right: 22px; }
html[dir="rtl"] .machine-slider-arrow.next { right: auto; left: 22px; }
@media (max-width: 900px) {
  .machine-slider-section { padding-top: 46px; }
  .machine-slider-shell { min-height: clamp(280px, 58vw, 520px); }
}
@media (max-width: 640px) {
  .machine-slider-section { padding-top: 38px; padding-bottom: 18px; }
  .machine-slider-shell { min-height: 360px; }
  .machine-slider-arrow { width: 40px; height: 40px; font-size: 30px; }
  .machine-slider-arrow.prev { left: 12px; }
  .machine-slider-arrow.next { right: 12px; }
  html[dir="rtl"] .machine-slider-arrow.prev { right: 12px; left: auto; }
  html[dir="rtl"] .machine-slider-arrow.next { left: 12px; right: auto; }
  .machine-slider-dots { bottom: 14px; }
}


/* Mobile responsiveness patch: keeps the Picanol slider and landing sections clean on phones */
@media (max-width: 900px) {
  .container { width: 100%; max-width: 100%; padding-left: 16px; padding-right: 16px; }
  .header-inner { height: 64px; gap: 12px; }
  .site-header { z-index: 60; }
  .brand-logo { font-size: 23px; border-radius: 12px; padding: 8px 10px 9px; }
  .desktop-nav { display: none; }
  .menu-btn { display: inline-flex; }
  .mobile-menu { width: min(88vw, 340px); }

  .hero { min-height: min(78svh, 680px); }
  .hero-content { max-width: 560px; padding: 22px 18px; }
  .hero h1 { font-size: clamp(34px, 9vw, 54px); line-height: 1.08; }
  .hero p { font-size: 16px; line-height: 1.65; margin-bottom: 26px; }

  .section { padding-top: 62px; padding-bottom: 62px; }
  .section-head { margin-bottom: 28px; }
  .section h2, .page-title { font-size: clamp(27px, 7vw, 36px); }

  .machine-slider-section.container {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 34px;
    padding-bottom: 36px;
  }
  .machine-slider-shell {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1.567 / 1;
    border-radius: 22px;
    box-shadow: 0 18px 46px rgba(15, 34, 74, .12);
  }
  .machine-slide img {
    object-fit: contain !important;
    object-position: center center;
    background: #020812;
  }
  .machine-slider-arrow { width: 40px; height: 40px; font-size: 30px; }
  .machine-slider-arrow.prev { left: 12px; }
  .machine-slider-arrow.next { right: 12px; }
  html[dir="rtl"] .machine-slider-arrow.prev { right: 12px; left: auto; }
  html[dir="rtl"] .machine-slider-arrow.next { left: 12px; right: auto; }
  .machine-slider-dots { bottom: 12px; padding: 7px 10px; gap: 8px; }

  .showcase-list { gap: 24px; }
  .showcase-row,
  .showcase-row.reverse {
    grid-template-columns: 1fr;
    padding: 18px;
    gap: 22px;
    border-radius: 24px;
  }
  .showcase-row.reverse .showcase-media,
  .showcase-row.reverse .showcase-content { order: initial; }
  .showcase-media { aspect-ratio: 1.35 / 1; border-radius: 18px; }
  .showcase-content { padding: 0 4px 6px; }
  .showcase-content h3 { font-size: clamp(26px, 7vw, 34px); }
  .showcase-content p { font-size: 15.5px; line-height: 1.75; }

  .editorial-duo-grid { grid-template-columns: 1fr; gap: 46px; }
  .editorial-tile-image { margin-bottom: 22px; border-radius: 0; }

  .featured-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .home-featured .card-body p { min-height: auto; }
  .home-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 230px; gap: 14px; }
  .home-gallery-item.large { grid-row: span 1; }

  .article-grid,
  .gallery-grid,
  .footer-grid { grid-template-columns: 1fr; }
  .gallery-arrow { position: absolute; top: 45%; z-index: 2; }
  .gallery-arrow.prev { left: 12px; }
  .gallery-arrow.next { right: 12px; }
  .gallery-spotlight-view { grid-template-columns: 1fr; gap: 24px; padding: 20px; border-radius: 24px; }
  .spotlight-wall { min-height: auto; grid-template-rows: repeat(6, 58px); transform: none; gap: 8px; }
}

@media (max-width: 520px) {
  .container { padding-left: 14px; padding-right: 14px; }
  .header-inner { height: 60px; }
  .brand-logo { font-size: 19px; padding: 8px 9px; border-radius: 11px; }
  .header-actions { gap: 6px; }
  .action-btn { min-width: 36px; height: 36px; }
  .icon-action { width: 36px; }
  .action-icon { width: 18px; height: 18px; }
  .lang-toggle { padding: 0 9px; }
  .lang-toggle-text { font-size: 10px; }
  .theme-toggle { min-width: 36px; padding: 0 9px; }
  .theme-toggle-text { display: none; }
  #cartCount { min-width: 17px; height: 17px; font-size: 9px; top: -5px; right: -5px; }

  .hero { min-height: 68svh; }
  .hero h1 { font-size: clamp(31px, 10vw, 42px); }
  .hero p { font-size: 15px; }
  .hero-actions { width: 100%; }
  .hero-actions .btn { width: min(100%, 280px); }

  .section { padding-top: 50px; padding-bottom: 50px; }
  .machine-slider-section.container { padding: 26px 10px 30px; }
  .machine-slider-shell {
    aspect-ratio: 1.567 / 1;
    border-radius: 15px;
    box-shadow: 0 12px 30px rgba(15, 34, 74, .12);
  }
  .machine-slider-arrow { width: 34px; height: 34px; font-size: 26px; }
  .machine-slider-arrow.prev { left: 8px; }
  .machine-slider-arrow.next { right: 8px; }
  html[dir="rtl"] .machine-slider-arrow.prev { right: 8px; left: auto; }
  html[dir="rtl"] .machine-slider-arrow.next { left: 8px; right: auto; }
  .machine-slider-dots { bottom: 8px; gap: 7px; padding: 6px 9px; }
  .machine-slider-dots button { width: 7px; height: 7px; }
  .machine-slider-dots button.active { width: 22px; }

  .showcase-intro { margin-bottom: 28px; }
  .showcase-intro h2 { font-size: 30px; }
  .showcase-intro p { font-size: 15px; }
  .showcase-row,
  .showcase-row.reverse { padding: 12px; border-radius: 18px; gap: 16px; }
  .showcase-media { aspect-ratio: 1.12 / 1; border-radius: 14px; }
  .showcase-tag { top: 10px; left: 10px; font-size: 10px; padding: 6px 9px; }
  html[dir="rtl"] .showcase-tag { left: auto; right: 10px; }
  .showcase-content h3 { font-size: 25px; margin-bottom: 12px; }
  .showcase-content p { font-size: 14.5px; }
  .showcase-meta { gap: 7px; }
  .showcase-meta span { font-size: 11px; padding: 6px 9px; }

  .featured-product-grid,
  .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .card { border-radius: 16px; }
  .card-body { padding: 16px; }
  .home-gallery-grid { grid-auto-rows: 185px; gap: 12px; }
  .article-card { border-radius: 16px; }

  .gallery-slide-frame,
  .gallery-slide-frame img { min-height: 280px; height: 48vh; }
  .gallery-slide-frame { border-radius: 20px; }
  .gallery-slide-caption { left: 10px; right: 10px; bottom: 10px; padding: 10px 12px; border-radius: 14px; flex-direction: column; align-items: flex-start; }
  .gallery-mode-tabs button { padding: 9px 12px; font-size: 12px; }
  .spotlight-wall { grid-template-rows: repeat(6, 44px); }
  .spotlight-wall button { border-radius: 12px; }
}

/* Store mobile usability patch: compact 3-column product grid + working filter drawer */
.mobile-filter-drawer {
  position: fixed;
  inset: 0;
  z-index: 120;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease;
}
.mobile-filter-drawer.open {
  pointer-events: auto;
  opacity: 1;
}
.mobile-filter-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 8, 23, .44);
  backdrop-filter: blur(3px);
}
.mobile-filter-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(86vw, 360px);
  background: var(--card, #fff);
  color: var(--text, #0f172a);
  box-shadow: 24px 0 70px rgba(15, 34, 74, .22);
  padding: 22px;
  overflow-y: auto;
  transform: translateX(-104%);
  transition: transform .25s ease;
}
.mobile-filter-drawer.open .mobile-filter-panel { transform: translateX(0); }
html[dir="rtl"] .mobile-filter-panel {
  left: auto;
  right: 0;
  transform: translateX(104%);
  box-shadow: -24px 0 70px rgba(15, 34, 74, .22);
}
html[dir="rtl"] .mobile-filter-drawer.open .mobile-filter-panel { transform: translateX(0); }
.mobile-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 26px;
}
.mobile-filter-head h3 {
  color: var(--brand-900);
  margin: 0;
  font-size: 22px;
}
.mobile-filter-head button {
  border: 0;
  background: #eef2f7;
  color: var(--brand-900);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
}
.mobile-filter-group { margin-bottom: 24px; }
.mobile-filter-group label {
  display: block;
  margin-bottom: 11px;
  color: var(--brand-900);
  font-weight: 800;
}
.mobile-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mobile-category-list button {
  border: 1px solid var(--line);
  background: #fff;
  color: #475569;
  border-radius: 999px;
  padding: 9px 12px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
}
.mobile-category-list button.active {
  background: var(--brand-900);
  color: #fff;
  border-color: var(--brand-900);
}
html[data-theme="dark"] .mobile-filter-panel,
html[data-theme="dark"] .mobile-category-list button { background: #081425; }
html[data-theme="dark"] .mobile-filter-head button { background: rgba(255,255,255,.08); color: var(--text); }
html[data-theme="dark"] .mobile-category-list button.active { background: var(--brand-500); border-color: var(--brand-500); color: #fff; }

@media (max-width: 850px) {
  .store-layout {
    padding: 22px 0 54px;
    gap: 18px;
  }
  .toolbar {
    position: sticky;
    top: 64px;
    z-index: 20;
    margin-bottom: 14px;
    padding: 10px;
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
  }
  html[data-theme="dark"] .toolbar { background: rgba(15,23,42,.88); }
  .toolbar span { display: inline-block; font-size: 12px; }
  .view-btns { display: none; }
  .mobile-filter-btn {
    display: inline-flex;
    padding: 9px 12px;
    border-radius: 12px;
    font-size: 12px;
  }
  .product-grid,
  .product-list,
  .featured-product-grid.product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .product-list .card {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
  }
  .product-grid .card,
  .product-list .card {
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(15,34,74,.055);
  }
  .product-grid .card:hover,
  .product-list .card:hover { transform: none; }
  .product-grid .card-img,
  .product-list .card-img {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
  .product-grid .card-body,
  .product-list .card-body {
    padding: 8px 7px 9px;
  }
  .product-grid .kicker,
  .product-list .kicker {
    font-size: 8px;
    letter-spacing: .06em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .product-grid .card h3,
  .product-list .card h3 {
    font-size: 11.5px;
    line-height: 1.25;
    margin: 5px 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 29px;
  }
  .product-grid .card-body p,
  .product-list .card-body p { display: none; }
  .product-grid .card-row,
  .product-list .card-row {
    margin-top: 0;
    display: block;
  }
  .product-grid .price,
  .product-list .price {
    display: block;
    font-size: 12px;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .product-grid .card-row .btn,
  .product-list .card-row .btn { display: none; }
}

@media (max-width: 390px) {
  .product-grid,
  .product-list,
  .featured-product-grid.product-grid {
    gap: 7px !important;
  }
  .product-grid .card-body,
  .product-list .card-body { padding: 7px 6px 8px; }
  .product-grid .card h3,
  .product-list .card h3 { font-size: 10.5px; min-height: 27px; }
  .product-grid .price,
  .product-list .price { font-size: 11px; }
}


/* Store mobile refinement v2: denser 3-column grid + reliable filter interaction */
@media (max-width: 850px) {
  .container.store-layout {
    padding-left: 8px;
    padding-right: 8px;
  }
  .store-layout {
    padding-top: 14px;
    gap: 10px;
  }
  .toolbar {
    top: 62px;
    padding: 8px;
    margin-bottom: 10px;
    border-radius: 12px;
  }
  .mobile-filter-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px !important;
    font-size: 11px !important;
    border-radius: 10px !important;
    position: relative;
    z-index: 25;
    pointer-events: auto;
    touch-action: manipulation;
  }
  .toolbar span {
    font-size: 11px;
    line-height: 1.2;
  }
  .product-grid,
  .product-list,
  .featured-product-grid.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .product-grid .card,
  .product-list .card {
    border-radius: 9px !important;
    min-width: 0;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(15,34,74,.05) !important;
  }
  .product-grid .card-img,
  .product-list .card-img {
    aspect-ratio: 1 / .72 !important;
    min-height: 0 !important;
  }
  .product-grid .card-img img,
  .product-list .card-img img {
    object-fit: cover;
  }
  .product-grid .card-body,
  .product-list .card-body {
    padding: 5px 5px 6px !important;
  }
  .product-grid .kicker,
  .product-list .kicker {
    display: none !important;
  }
  .product-grid .card h3,
  .product-list .card h3 {
    font-size: 9.4px !important;
    line-height: 1.22 !important;
    margin: 0 0 4px !important;
    min-height: 23px !important;
    letter-spacing: -.01em;
  }
  html[dir="rtl"] .product-grid .card h3,
  html[dir="rtl"] .product-list .card h3 {
    font-size: 9px !important;
    line-height: 1.35 !important;
    min-height: 24px !important;
  }
  .product-grid .price,
  .product-list .price {
    font-size: 9.8px !important;
    line-height: 1 !important;
  }
  .product-grid .card-row,
  .product-list .card-row {
    margin-top: 0 !important;
  }
  .mobile-filter-drawer {
    z-index: 9999 !important;
  }
  .mobile-filter-panel {
    width: min(82vw, 310px);
    padding: 16px;
  }
}

@media (max-width: 390px) {
  .container.store-layout {
    padding-left: 6px;
    padding-right: 6px;
  }
  .product-grid,
  .product-list,
  .featured-product-grid.product-grid {
    gap: 5px !important;
  }
  .product-grid .card h3,
  .product-list .card h3 {
    font-size: 8.7px !important;
    min-height: 22px !important;
  }
  html[dir="rtl"] .product-grid .card h3,
  html[dir="rtl"] .product-list .card h3 {
    font-size: 8.4px !important;
  }
  .product-grid .price,
  .product-list .price {
    font-size: 9px !important;
  }
}


.action-btn.is-logged-in {
  width: auto;
  min-width: 58px;
  padding-inline: 10px 14px;
  gap: 8px;
  border-color: rgba(13, 45, 96, 0.18);
  background: var(--card);
}
.account-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
  font-size: 14px;
  box-shadow: 0 8px 18px rgba(13, 45, 96, .18);
}
.account-name {
  max-width: 110px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 800;
  color: var(--brand);
  font-size: 13px;
}
.action-btn.is-admin .account-avatar { background: #111827; }
html[dir="rtl"] .account-name { direction: rtl; }
@media (max-width: 760px) {
  .account-name { display: none; }
  .action-btn.is-logged-in { min-width: 46px; padding-inline: 7px; }
}


.phone-help {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.field-error {
  display: block;
  margin-top: 6px;
  color: #b91c1c;
  font-size: 12px;
  line-height: 1.6;
}
.form input.is-invalid,
.form textarea.is-invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .08) !important;
}
.order-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.cancel-order {
  white-space: nowrap;
  border-color: rgba(185, 28, 28, .22) !important;
  color: #991b1b !important;
}
.cancel-order:hover {
  background: rgba(185, 28, 28, .08) !important;
}
html[data-theme="dark"] .field-error,
body.dark .field-error { color: #fecaca; }
html[data-theme="dark"] .cancel-order,
body.dark .cancel-order { color: #fecaca !important; }

/* Customer account dashboard */
.account-page { padding-top: 58px; }
.account-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.account-header .muted,
.muted { color: var(--muted); line-height: 1.8; }
.account-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}
.account-stats div {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
}
.account-stats strong { display: block; font-size: 24px; color: var(--brand); }
.account-stats span { display: block; color: var(--muted); font-size: 13px; margin-top: 6px; }
.account-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 22px;
  align-items: start;
}
.account-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 24px;
  box-shadow: var(--shadow-soft);
}
.account-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.account-card-head h2 { margin: 0; color: var(--brand); }
.account-card-head span { color: var(--muted); font-size: 13px; }
.info-row,
.order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--line);
  padding: 13px 0;
}
.info-row span,
.order-row span { color: var(--muted); font-size: 12px; display: block; }
.order-list { display: grid; gap: 10px; }
.order-row {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: var(--soft);
}
.account-addresses { margin-top: 22px; }
.address-form {
  border: 1px solid var(--line);
  background: var(--soft);
  padding: 18px;
  border-radius: 18px;
  margin-bottom: 18px;
}
.address-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.checkbox-line,
.checkbox-card {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  margin-top: 12px;
  cursor: pointer;
}
.checkbox-card {
  width: fit-content;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 14px;
  padding: 10px 14px;
  color: var(--brand);
  font-weight: 800;
}
.checkbox-card input,
.checkbox-line input {
  width: 18px;
  height: 18px;
  accent-color: var(--brand);
}
.form-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.address-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.address-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: var(--soft);
}
.address-card p { margin: 7px 0; color: var(--muted); line-height: 1.7; }
.address-card .badge {
  display: inline-flex;
  margin-inline-start: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--brand-50);
  color: var(--brand);
  font-size: 11px;
}
.address-actions { display: flex; gap: 10px; margin-top: 10px; }
.btn.small { min-height: 38px; padding: 8px 12px; font-size: 12px; line-height: 1.2; }

@media (max-width: 760px) {
  .account-page { padding-top: 34px; }
  .account-header { align-items: stretch; flex-direction: column; }
  .account-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .account-stats div { padding: 12px 8px; border-radius: 14px; }
  .account-stats strong { font-size: 15px; }
  .account-stats span { font-size: 10px; }
  .account-grid { grid-template-columns: 1fr; gap: 14px; }
  .account-card { padding: 16px; border-radius: 18px; }
  .account-card-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .order-row { grid-template-columns: 1fr; align-items: flex-start; flex-direction: column; }
  .address-form-grid { grid-template-columns: 1fr; gap: 10px; }
  .address-list { grid-template-columns: 1fr; }
}

.auth-help {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.auth-error {
  border: 1px solid rgba(220, 38, 38, 0.25);
  background: rgba(220, 38, 38, 0.08);
  color: #991b1b;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.8;
}

body.dark .auth-error,
html[data-theme="dark"] .auth-error {
  color: #fecaca;
  background: rgba(248, 113, 113, 0.10);
  border-color: rgba(248, 113, 113, 0.25);
}

/* Real Checkout */
.checkout-page { padding-top: 58px; }
.checkout-head { max-width: 820px; margin-bottom: 30px; }
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 24px;
  align-items: start;
}
.checkout-main { display: grid; gap: 22px; }
.checkout-card { overflow: hidden; }
.checkout-choices { display: grid; gap: 12px; }
.checkout-choice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--soft);
  padding: 15px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.checkout-choice:hover { transform: translateY(-1px); border-color: rgba(59,113,202,.35); box-shadow: var(--shadow-soft); }
.checkout-choice input { margin-top: 5px; accent-color: var(--brand-900); }
.checkout-choice strong { display: block; color: var(--brand); margin-bottom: 5px; }
.checkout-choice small { display: block; color: var(--muted); line-height: 1.7; }
.checkout-choice em {
  font-style: normal;
  font-size: 11px;
  margin-inline-start: 8px;
  color: #166534;
  background: #dcfce7;
  border-radius: 999px;
  padding: 4px 8px;
}
.shipping-choice { grid-template-columns: auto 1fr auto; align-items: center; }
.shipping-choice b { color: var(--brand); white-space: nowrap; }
.checkout-new-address { margin-top: 16px; }
.checkout-summary { position: sticky; top: 110px; }
.checkout-summary h2 { margin-top: 0; color: var(--brand); }
.checkout-items { display: grid; gap: 12px; margin: 18px 0; max-height: 360px; overflow: auto; padding-inline-end: 4px; }
.checkout-line {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--soft);
  padding: 10px;
}
.checkout-line img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; background: #e2e8f0; }
.checkout-line strong { display: block; color: var(--brand); font-size: 14px; }
.checkout-line small { display: block; color: var(--muted); margin-top: 4px; }
.checkout-line b { color: var(--brand); white-space: nowrap; }
.summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid var(--line);
  padding: 13px 0;
  color: var(--muted);
}
.summary-row strong { color: var(--brand); }
.summary-row.total { font-size: 18px; color: var(--brand); }
.summary-row.total strong { font-size: 24px; }
.checkout-success { max-width: 720px; }
.success-code {
  display: inline-flex;
  flex-direction: column;
  gap: 7px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 22px;
  margin: 20px 0 24px;
}
.success-code span { color: var(--muted); font-size: 13px; }
.success-code strong { color: var(--brand); font-size: 22px; letter-spacing: .04em; }

@media (max-width: 860px) {
  .checkout-page { padding-top: 34px; }
  .checkout-layout { grid-template-columns: 1fr; gap: 16px; }
  .checkout-summary { position: static; }
  .checkout-line { grid-template-columns: 54px 1fr; }
  .checkout-line b { grid-column: 2; }
  .checkout-line img { width: 54px; height: 54px; }
  .shipping-choice { grid-template-columns: auto 1fr; }
  .shipping-choice b { grid-column: 2; }
}


.order-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.4fr) minmax(110px, .8fr) minmax(90px, .7fr) auto;
}
@media (max-width: 760px) {
  .order-row {
    grid-template-columns: 1fr;
  }
  .order-actions {
    justify-content: flex-start;
    width: 100%;
  }
}


/* Polish 02: account identity, checkout address and order UX */
.action-btn.is-logged-in {
  min-width: 46px;
  height: 46px;
  padding-inline: 8px 14px;
  background: rgba(255,255,255,.94);
}
.account-avatar {
  flex: 0 0 32px;
  min-width: 32px;
  background: linear-gradient(135deg, var(--brand-900), var(--brand-600));
  color: #fff;
  border: 1px solid rgba(255,255,255,.85);
}
.action-btn:hover .account-avatar { background: #fff; color: var(--brand-900); }
.action-btn.is-admin .account-avatar { background: #111827; color: #fff; }
.action-btn.is-admin:hover .account-avatar { background: #fff; color: #111827; }

.form select,
.address-form input,
.address-form textarea,
.polished-address-form input,
.polished-address-form textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  padding: 13px 14px;
  background: var(--card);
  color: var(--text);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.address-form input:focus,
.address-form textarea:focus,
.polished-address-form input:focus,
.polished-address-form textarea:focus {
  border-color: var(--brand-900);
  box-shadow: 0 0 0 3px rgba(15,34,74,.10);
}
.polished-address-form {
  background: linear-gradient(180deg, rgba(248,250,252,.94), rgba(255,255,255,.98));
  border-radius: 20px;
  padding: 20px;
}
.checkout-address-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.full-address-field { margin-top: 14px; }
.default-checkbox { margin-top: 14px; align-self: flex-start; }
.checkbox-card.default-checkbox { display: inline-flex; width: auto; }
.checkbox-card.default-checkbox input { width: 18px; height: 18px; padding: 0; }

.checkout-line { grid-template-columns: 64px minmax(0,1fr) auto; }
.checkout-line-info { min-width: 0; }
.checkout-qty-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.qty-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--brand-900);
  cursor: pointer;
  font-weight: 900;
  display: inline-grid;
  place-items: center;
}
.qty-btn:hover { background: var(--brand-900); color: #fff; border-color: var(--brand-900); }
.checkout-qty-controls span {
  min-width: 30px;
  text-align: center;
  color: var(--brand-900);
  font-weight: 900;
}
.checkout-remove-btn { margin-inline-start: 4px; }

.account-grid { align-items: stretch; }
.account-grid > .account-card { height: 100%; }
.account-profile-card,
.account-orders-card {
  min-height: 520px;
  max-height: 520px;
  display: flex;
  flex-direction: column;
}
.account-profile-card .form { display: flex; flex-direction: column; flex: 1; }
.account-profile-card .form .btn.full { margin-top: auto; }
.account-orders-card .account-card-head { flex: 0 0 auto; }
.order-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  flex: 0 0 auto;
}
.order-tab {
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--brand-900);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 800;
  font-size: 12px;
}
.order-tab span { color: var(--muted); margin-inline-start: 4px; }
.order-tab.active {
  background: var(--brand-900);
  border-color: var(--brand-900);
  color: #fff;
}
.order-tab.active span { color: rgba(255,255,255,.75); }
.account-order-scroll {
  overflow-y: auto;
  padding-inline-end: 6px;
  flex: 1 1 auto;
  min-height: 0;
}
.order-row[hidden] { display: none !important; }
.order-main strong { overflow-wrap: anywhere; }
.status-pill {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  background: #e2e8f0;
  color: var(--brand-900);
}
.status-pending { background: #fff7ed; color: #9a3412; }
.status-paid { background: #ecfdf5; color: #047857; }
.status-shipped { background: #eff6ff; color: #1d4ed8; }
.status-cancelled { background: #fef2f2; color: #b91c1c; }
.order-empty { padding: 16px; border: 1px dashed var(--line); border-radius: 14px; }

@media (max-width: 860px) {
  .checkout-address-grid { grid-template-columns: 1fr; }
  .checkout-line { grid-template-columns: 54px 1fr; }
  .checkout-line b { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 760px) {
  .account-profile-card,
  .account-orders-card { min-height: auto; max-height: none; }
  .account-order-scroll { max-height: 420px; }
  .order-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .order-tab { white-space: nowrap; }
}

/* Polish 03: small account hover and compact filtered orders */
.action-btn.is-logged-in:hover,
.action-btn.is-logged-in:focus-visible {
  background: var(--brand-900) !important;
  border-color: var(--brand-900) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(15,34,74,.18);
}
.action-btn.is-logged-in:hover .account-name,
.action-btn.is-logged-in:focus-visible .account-name {
  color: #fff !important;
}
.action-btn.is-logged-in:hover .account-avatar,
.action-btn.is-logged-in:focus-visible .account-avatar {
  background: #fff !important;
  color: var(--brand-900) !important;
  border-color: rgba(255,255,255,.92) !important;
}
html[data-theme="dark"] .action-btn.is-logged-in:hover,
html[data-theme="dark"] .action-btn.is-logged-in:focus-visible {
  background: #dbeafe !important;
  border-color: #dbeafe !important;
  color: #0f224a !important;
}
html[data-theme="dark"] .action-btn.is-logged-in:hover .account-name,
html[data-theme="dark"] .action-btn.is-logged-in:focus-visible .account-name {
  color: #0f224a !important;
}
html[data-theme="dark"] .action-btn.is-logged-in:hover .account-avatar,
html[data-theme="dark"] .action-btn.is-logged-in:focus-visible .account-avatar {
  background: #0f224a !important;
  color: #fff !important;
}
.account-order-scroll .order-list {
  display: grid;
  gap: 10px;
  align-content: start;
  align-items: start;
}
.account-order-scroll .order-row {
  align-self: start;
  width: 100%;
}


/* Polish 04: forced account hover + real compact order grid.
   This block intentionally uses ID selectors and !important because earlier generic
   header/card rules were winning in some browser-cache/order cases. */
#accountBtn.is-logged-in:hover,
#accountBtn.is-logged-in:focus-visible,
#accountBtn.is-logged-in.account-btn-active {
  background: var(--brand-900) !important;
  border-color: var(--brand-900) !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(15,34,74,.18) !important;
}
#accountBtn.is-logged-in:hover .account-name,
#accountBtn.is-logged-in:focus-visible .account-name,
#accountBtn.is-logged-in.account-btn-active .account-name {
  color: #fff !important;
}
#accountBtn.is-logged-in:hover .account-avatar,
#accountBtn.is-logged-in:focus-visible .account-avatar,
#accountBtn.is-logged-in.account-btn-active .account-avatar {
  background: #fff !important;
  color: var(--brand-900) !important;
  border-color: rgba(255,255,255,.95) !important;
}
html[data-theme="dark"] #accountBtn.is-logged-in:hover,
html[data-theme="dark"] #accountBtn.is-logged-in:focus-visible,
html[data-theme="dark"] #accountBtn.is-logged-in.account-btn-active {
  background: #dbeafe !important;
  border-color: #dbeafe !important;
  color: #0f224a !important;
}
html[data-theme="dark"] #accountBtn.is-logged-in:hover .account-name,
html[data-theme="dark"] #accountBtn.is-logged-in:focus-visible .account-name,
html[data-theme="dark"] #accountBtn.is-logged-in.account-btn-active .account-name {
  color: #0f224a !important;
}
html[data-theme="dark"] #accountBtn.is-logged-in:hover .account-avatar,
html[data-theme="dark"] #accountBtn.is-logged-in:focus-visible .account-avatar,
html[data-theme="dark"] #accountBtn.is-logged-in.account-btn-active .account-avatar {
  background: #0f224a !important;
  color: #fff !important;
}

/* The scroll container itself is also the order-list element, so the selector must target
   .order-list.account-order-scroll, not a child .order-list. */
.order-list.account-order-scroll {
  display: grid !important;
  gap: 10px !important;
  align-content: start !important;
  align-items: start !important;
  grid-auto-rows: max-content !important;
}
.order-list.account-order-scroll .order-row {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Polish 05: faster buying flow */
.card-img { position: relative; }
.quick-add-float {
  position: absolute;
  top: 12px;
  inset-inline-end: 12px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.72);
  background: var(--brand-900);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(15,34,74,.22);
  opacity: .96;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
  z-index: 2;
}
.quick-add-float:hover { transform: translateY(-2px) scale(1.04); background: var(--brand-600); }
.quick-add-float:disabled { opacity: .45; cursor: not-allowed; background: #94a3b8; }
.card:hover .quick-add-float { opacity: 1; }

.product-buy-box {
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 20px;
  padding: 16px;
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.product-qty-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--brand-900);
  font-weight: 800;
}
.product-qty-control {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cbd5e1;
  background: white;
  border-radius: 999px;
  overflow: hidden;
  min-height: 46px;
}
.product-qty-control button {
  width: 46px;
  height: 46px;
  border: 0;
  background: transparent;
  color: var(--brand-900);
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
}
.product-qty-control button:hover { background: #e2e8f0; }
.product-qty-control button:disabled { opacity: .45; cursor: not-allowed; }
.product-qty-control input {
  width: 62px;
  height: 46px;
  border: 0;
  border-inline: 1px solid #e2e8f0;
  text-align: center;
  font-weight: 900;
  color: var(--brand-900);
  outline: none;
  background: white;
}
.cart-continue-btn { margin-top: 10px; background: white; }
.cart-continue-btn:hover { background: var(--brand-900); color: white; }

html[data-theme="dark"] .product-buy-box,
html[data-theme="dark"] .product-qty-control,
html[data-theme="dark"] .product-qty-control input,
html[data-theme="dark"] .cart-continue-btn {
  background: var(--surface);
  border-color: rgba(148,163,184,.28);
}
html[data-theme="dark"] .product-qty-control button,
html[data-theme="dark"] .product-qty-control input,
html[data-theme="dark"] .product-qty-box { color: var(--text); }
html[data-theme="dark"] .cart-continue-btn:hover { background: #fff; color: var(--brand-900); }

@media (max-width: 850px) {
  .quick-add-float { width: 30px; height: 30px; top: 7px; inset-inline-end: 7px; font-size: 18px; }
  .product-qty-box { align-items: stretch; flex-direction: column; }
  .product-qty-control { width: 100%; justify-content: space-between; }
  .product-qty-control input { flex: 1; }
}

/* Polish 06: clearer quick add, cart quantity controls, and number input cleanup */
.quick-add-float.quick-add-pill {
  width: auto !important;
  min-width: 86px;
  height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.quick-add-icon {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.16);
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
}
.quick-add-label {
  font-size: 12px;
  font-weight: 950;
  letter-spacing: -.02em;
}
.quick-add-float.quick-add-pill:hover .quick-add-icon { background: rgba(255,255,255,.24); }
html[data-theme="dark"] .quick-add-float:not(:disabled) {
  background: #5b96f5;
  border-color: #a9c9ff;
  color: #07111f;
  box-shadow: 0 14px 30px rgba(0,0,0,.34);
}
html[data-theme="dark"] .quick-add-float:not(:disabled):hover { background: #8bb9ff; }
html[data-theme="dark"] .quick-add-float:not(:disabled) .quick-add-icon,
html[data-theme="dark"] .quick-add-float:not(:disabled):hover .quick-add-icon { background: rgba(7,17,31,.14); }
html[data-theme="dark"] .quick-add-float:disabled {
  background: #334155;
  border-color: #64748b;
  color: #dbe5f2;
  opacity: .82;
}

.product-qty-control input[type="number"]::-webkit-outer-spin-button,
.product-qty-control input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-qty-control input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.cart-item {
  background: rgba(248,250,252,.72);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 12px;
  align-items: center;
}
.cart-item-body {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.cart-item-body strong {
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.cart-item-meta {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
}
.cart-item-side {
  display: grid;
  justify-items: end;
  align-content: center;
  gap: 10px;
  color: var(--brand-900);
}
.cart-qty-control {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
}
.cart-qty-control button {
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  color: var(--brand-900);
  font-size: 17px;
  font-weight: 950;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.cart-qty-control button:hover:not(:disabled) {
  background: var(--brand-900);
  color: #fff;
}
.cart-qty-control button:disabled {
  opacity: .38;
  cursor: not-allowed;
}
.cart-qty-control span {
  min-width: 34px;
  height: 30px;
  padding: 0 8px;
  display: grid;
  place-items: center;
  border-inline: 1px solid #e2e8f0;
  color: var(--brand-900);
  font-weight: 950;
}
html[data-theme="dark"] .cart-item {
  background: #0b172a;
  border-color: var(--line);
}
html[data-theme="dark"] .cart-qty-control {
  background: var(--surface);
  border-color: rgba(148,163,184,.28);
}
html[data-theme="dark"] .cart-qty-control span,
html[data-theme="dark"] .cart-qty-control button,
html[data-theme="dark"] .cart-item-side {
  color: var(--text);
}

@media (max-width: 850px) {
  .quick-add-float.quick-add-pill {
    min-width: 74px;
    height: 32px;
    padding: 0 9px;
    gap: 5px;
  }
  .quick-add-icon { width: 18px; height: 18px; font-size: 16px; }
  .quick-add-label { font-size: 11px; }
}
@media (max-width: 520px) {
  .product-carousel-shell { padding-inline: 0; }
  .product-carousel-track { grid-auto-columns: minmax(230px, 82vw); padding-inline: 2px; }
  .product-carousel-arrow { display: none; }
  .home-featured-card { height: 410px; border-radius: 21px; }
  .home-featured-card-main { grid-template-rows: 202px minmax(0, 1fr); }
  .home-featured-card-body { padding: 14px 14px 8px; }
  .home-featured-card-footer { min-height: 68px; padding: 9px 14px 14px; }
  .home-featured-card-buy { min-width: 88px; padding-inline: 11px; }
  .quick-add-float.quick-add-pill { min-width: 44px; width: 44px !important; height: 44px; padding: 0; top: 8px; inset-inline-end: 8px; }
  .quick-add-float.quick-add-pill .quick-add-label { display: none; }
  .quick-add-icon { width: 24px; height: 24px; font-size: 20px; background: transparent; }
  .cart-item { grid-template-columns: 64px 1fr; }
  .cart-item img { width: 64px; height: 64px; }
  .cart-item-side {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    width: 100%;
    justify-items: start;
    align-items: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-carousel-track { scroll-behavior: auto; }
  .home-featured-card,
  .home-featured-card-media img { transition: none; }
}


/* Formal error / not-found page */
.error-page {
  min-height: calc(100vh - 78px);
  padding: clamp(46px, 6vw, 82px) 0;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 78% 22%, rgba(59, 113, 202, .08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
}
.error-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: clamp(34px, 6vw, 72px);
  align-items: center;
}
html[dir="rtl"] .error-page-grid { direction: ltr; }
html[dir="rtl"] .error-content-card { direction: rtl; text-align: right; }
.error-visual-card {
  margin: 0;
  border-radius: 26px;
  overflow: hidden;
  background: #0b1220;
  box-shadow: 0 24px 70px rgba(15, 34, 74, .13);
  border: 1px solid rgba(226, 232, 240, .85);
  min-height: 360px;
}
.error-visual-card img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}
.error-content-card {
  color: var(--text);
  max-width: 580px;
}
.error-code-line {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--brand-600);
  margin-bottom: 16px;
  font-weight: 800;
  letter-spacing: .02em;
}
.error-code-line span {
  display: block;
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(59,113,202,.45), transparent);
}
.error-content-card h1 {
  color: var(--brand-900);
  font-size: clamp(36px, 5.6vw, 66px);
  line-height: 1.1;
  margin: 0 0 18px;
  letter-spacing: -.04em;
}
.error-content-card p {
  color: #50627a;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 2;
  margin: 0 0 30px;
}
.error-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.error-actions .btn {
  min-height: 52px;
  padding-inline: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.error-help-line {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  line-height: 1.8;
}
.error-help-line > span {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(59, 113, 202, .10);
  color: var(--brand-600);
  flex: 0 0 auto;
}
.error-help-line button {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--brand-600);
  font-weight: 800;
  cursor: pointer;
  text-align: inherit;
  line-height: 1.8;
}
.error-help-line button:hover { color: var(--brand-900); text-decoration: underline; }
html[data-theme="dark"] .error-page {
  background:
    radial-gradient(circle at 78% 22%, rgba(91, 150, 245, .14), transparent 34%),
    linear-gradient(180deg, #07111f 0%, var(--bg) 100%);
}
html[data-theme="dark"] .error-visual-card {
  border-color: var(--line);
  box-shadow: 0 26px 76px rgba(0,0,0,.32);
}
html[data-theme="dark"] .error-content-card h1 { color: #eaf2ff; }
html[data-theme="dark"] .error-content-card p { color: #b6c6da; }
html[data-theme="dark"] .error-code-line { color: #8bb8ff; }
html[data-theme="dark"] .error-help-line button { color: #8bb8ff; }
html[data-theme="dark"] .error-help-line button:hover { color: #fff; }
@media (max-width: 900px) {
  .error-page { align-items: flex-start; padding-top: 34px; }
  .error-page-grid { grid-template-columns: 1fr; gap: 30px; }
  html[dir="rtl"] .error-page-grid { direction: rtl; }
  .error-visual-card, .error-visual-card img { min-height: 250px; }
  .error-content-card { max-width: none; }
}
@media (max-width: 560px) {
  .error-page { min-height: calc(100vh - 70px); padding: 26px 0 42px; }
  .error-visual-card { border-radius: 20px; }
  .error-visual-card, .error-visual-card img { min-height: 210px; }
  .error-actions { flex-direction: column; align-items: stretch; }
  .error-actions .btn { width: 100%; }
  .error-code-line span { width: 34px; }
}

/* Security stock fix 01: account order details */
.order-row.order-row-detailed {
  display: block !important;
}
.order-summary-line {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(110px, .7fr) minmax(100px, .7fr) auto;
  gap: 14px;
  align-items: center;
}
.order-details-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.order-detail-section h4 {
  margin: 0 0 10px;
  color: var(--brand-900);
}
.order-detail-table {
  display: grid;
  gap: 8px;
}
.order-detail-head,
.order-detail-line {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 70px 110px 120px;
  gap: 10px;
  align-items: center;
}
.order-detail-head {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.order-detail-line {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 12px;
  padding: 10px;
}
.order-detail-line small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}
.order-detail-meta {
  display: grid;
  grid-template-columns: minmax(0, .45fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}
.order-detail-meta > div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: var(--soft);
}
.order-detail-meta span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 5px;
}
.order-detail-meta strong {
  display: block;
  line-height: 1.8;
}
@media (max-width: 860px) {
  .order-summary-line,
  .order-detail-head,
  .order-detail-line,
  .order-detail-meta {
    grid-template-columns: 1fr;
  }
  .order-actions { justify-content: flex-start; flex-wrap: wrap; }
}

/* Stock reservation / checkout notices */
.checkout-notice-wrap { margin: 0 0 1.4rem; }
.checkout-stock-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  border: 1px solid rgba(220, 38, 38, .18);
  background: linear-gradient(135deg, rgba(255, 247, 247, .96), rgba(255, 255, 255, .96));
  border-radius: 24px;
  padding: 1.15rem 1.25rem;
  box-shadow: 0 20px 50px rgba(15, 35, 80, .08);
}
.checkout-stock-notice .notice-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fee2e2;
  color: #b91c1c;
  font-weight: 900;
  font-size: 1.25rem;
}
.checkout-stock-notice h3 { margin: 0 0 .35rem; color: #102653; font-size: 1.15rem; }
.checkout-stock-notice p { margin: 0; color: #50617f; line-height: 1.9; }
.checkout-stock-notice ul { margin: .8rem 0 .6rem; padding: 0; list-style: none; display: grid; gap: .45rem; }
.checkout-stock-notice li { display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; background: rgba(255,255,255,.75); border: 1px solid rgba(220,38,38,.12); border-radius: 16px; padding: .65rem .8rem; }
.checkout-stock-notice li strong { color: #0f1d36; }
.checkout-stock-notice li span { color: #7f1d1d; font-weight: 700; }
.checkout-stock-notice small { display: block; color: #6b7280; line-height: 1.8; }
.site-notice-toast {
  position: fixed;
  inset-inline-start: 50%;
  bottom: 26px;
  transform: translate(-50%, 16px);
  opacity: 0;
  z-index: 9999;
  max-width: min(520px, calc(100vw - 32px));
  border-radius: 18px;
  padding: .95rem 1.15rem;
  background: #0f2859;
  color: #fff;
  box-shadow: 0 24px 70px rgba(5, 20, 45, .32);
  transition: opacity .25s ease, transform .25s ease;
  line-height: 1.8;
  text-align: center;
  font-weight: 700;
}
.site-notice-toast.danger { background: #7f1d1d; }
.site-notice-toast.show { opacity: 1; transform: translate(-50%, 0); }
html[dir="rtl"] .site-notice-toast { transform: translate(50%, 16px); }
html[dir="rtl"] .site-notice-toast.show { transform: translate(50%, 0); }

/* Mock payment gateway */
.mock-payment-page { padding-top: 58px; }
.payment-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
}
.payment-hero h1 { margin: 8px 0 10px; color: var(--brand); font-size: clamp(34px, 5vw, 58px); }
.payment-summary-card {
  min-width: 280px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--soft);
  padding: 18px 20px;
  display: grid;
  gap: 8px;
}
.payment-summary-card small,
.payment-summary-card span { color: var(--muted); }
.payment-summary-card strong { color: var(--brand); font-size: 20px; direction: ltr; text-align: start; }
.mock-payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
  gap: 24px;
  align-items: start;
}
.payment-box h2 { margin-top: 0; color: var(--brand); }
.payment-items { display: grid; gap: 12px; margin-top: 16px; }
.payment-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--soft);
  border-radius: 16px;
  padding: 10px;
}
.payment-item img { width: 62px; height: 62px; border-radius: 12px; object-fit: cover; background: #e2e8f0; }
.payment-item strong { color: var(--brand); display: block; }
.payment-item small { color: var(--muted); display: block; margin-top: 4px; }
.payment-item b { color: var(--brand); white-space: nowrap; }
.payment-total-row {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  color: var(--muted);
}
.payment-total-row strong { color: var(--brand); font-size: 28px; }
.payment-actions-box { position: sticky; top: 110px; }
.payment-meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  color: var(--muted);
}
.payment-meta strong { color: var(--brand); direction: ltr; text-align: start; overflow-wrap: anywhere; }
.payment-actions { display: grid; gap: 10px; margin: 18px 0; }

.payment-reservation-clock {
  display: grid;
  gap: 6px;
  margin: 14px 0;
  padding: 15px 16px;
  border: 1px solid rgba(245, 158, 11, .28);
  border-radius: 16px;
  background: rgba(245, 158, 11, .09);
}
.payment-reservation-clock > span { color: #92400e; font-weight: 850; }
.payment-reservation-clock > strong {
  color: #7c2d12;
  font-size: clamp(24px, 4vw, 34px);
  font-variant-numeric: tabular-nums;
  direction: ltr;
  text-align: start;
  letter-spacing: .04em;
}
.payment-reservation-clock > small { color: #785b35; line-height: 1.75; }
html[data-theme="dark"] .payment-reservation-clock {
  border-color: rgba(251, 191, 36, .32);
  background: rgba(245, 158, 11, .14);
}
html[data-theme="dark"] .payment-reservation-clock > span,
html[data-theme="dark"] .payment-reservation-clock > strong { color: #fcd34d; }
html[data-theme="dark"] .payment-reservation-clock > small { color: #d6c49d; }
.checkout-stock-notice.info { background: rgba(59, 113, 202, .08); border-color: rgba(59, 113, 202, .20); color: var(--brand); }
.checkout-stock-notice.success { background: rgba(22, 163, 74, .09); border-color: rgba(22, 163, 74, .24); color: #166534; }
@media (max-width: 860px) {
  .payment-hero,
  .mock-payment-layout { grid-template-columns: 1fr; }
  .payment-actions-box { position: static; }
  .payment-summary-card { min-width: 0; }
}


/* Responsive 01: mobile-first layout repair */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
#app,
.site-header,
.footer,
.section,
.container,
.card,
.account-card,
.checkout-card,
.payment-box,
.error-page,
.product-grid,
.article-grid,
.gallery-grid,
.home-gallery-grid,
.store-layout,
.detail-grid,
.checkout-layout,
.mock-payment-layout,
.account-grid,
.account-stats,
.footer-grid {
  min-width: 0;
}
.container {
  width: min(100%, 1180px);
}
img, video, canvas, svg {
  max-width: 100%;
}
input, select, textarea, button {
  max-width: 100%;
}

.account-mobile-nav {
  display: none;
}

@media (max-width: 980px) {
  .site-header { z-index: 80; }
  .header-inner {
    height: 68px;
    gap: 10px;
    padding-inline: 14px;
  }
  .desktop-nav { display: none !important; }
  .menu-btn { display: inline-grid !important; place-items: center; }
  .brand-logo {
    font-size: 24px;
    border-radius: 12px;
    padding: 8px 11px 9px;
  }
  .header-actions {
    gap: 7px;
    margin-inline-start: auto;
  }
  .action-btn {
    min-width: 40px;
    height: 40px;
    padding-inline: 10px;
  }
  .icon-action { width: 40px; padding: 0; }
  .action-icon { width: 19px; height: 19px; }
  .action-btn.is-logged-in {
    min-width: 40px;
    height: 40px;
    padding: 4px;
  }
  .account-avatar {
    flex-basis: 30px;
    min-width: 30px;
    width: 30px;
    height: 30px;
  }
  .account-name { display: none !important; }
  .mobile-menu {
    z-index: 90;
    width: min(88vw, 360px);
    padding: 78px 26px 28px;
  }
  html[dir="rtl"] .mobile-menu {
    inset: 0 0 0 auto;
    transform: translateX(110%);
  }
  html[dir="rtl"] .mobile-menu.open { transform: translateX(0); }
  html[dir="rtl"] .close-menu { right: auto; left: 18px; }
}

@media (max-width: 640px) {
  .container { padding-inline: 14px; }
  .header-inner {
    height: 62px;
    gap: 6px;
    padding-inline: 10px;
  }
  .brand-logo {
    font-size: 21px;
    padding: 7px 9px 8px;
    border-radius: 11px;
  }
  .header-actions { gap: 5px; }
  .action-btn, .icon-action {
    min-width: 38px;
    width: 38px;
    height: 38px;
    padding: 0;
  }
  .lang-toggle-text,
  .theme-toggle-text { display: none !important; }
  .lang-toggle,
  .theme-toggle { width: 38px; }
  .menu-btn { padding: 7px; }
  #cartCount {
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    border-width: 2px;
  }
}

@media (max-width: 380px) {
  .brand-logo { font-size: 19px; padding-inline: 8px; }
  .header-inner { padding-inline: 8px; }
  .action-btn, .icon-action, .lang-toggle, .theme-toggle { width: 35px; min-width: 35px; height: 35px; }
  .action-icon { width: 18px; height: 18px; }
}

/* Home and generic grids */
@media (max-width: 900px) {
  .section { padding-block: 58px; }
  .section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 26px;
  }
  .hero { min-height: 62svh; }
  .hero-content { padding-inline: 14px; }
  .hero h1 { font-size: clamp(30px, 9vw, 48px); }
  .hero p { font-size: 15px; line-height: 1.8; }
  .product-grid,
  .article-grid,
  .gallery-grid,
  .benefit-grid,
  .home-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .home-gallery-grid { grid-auto-rows: 220px !important; }
  .home-gallery-item.large { grid-row: span 1 !important; }
  .page-hero { padding: 54px 14px; }
  .page-hero p { font-size: 16px; line-height: 1.8; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
}

@media (min-width: 430px) and (max-width: 760px) {
  .store-layout .product-grid,
  .home-featured .product-grid,
  .product-grid.featured,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  .card-body { padding: 15px; }
  .card h3 { font-size: 16px; }
  .price { font-size: 17px; }
}

@media (max-width: 520px) {
  .section { padding-block: 44px; }
  .hero { min-height: 56svh; }
  .hero-actions .btn { width: min(100%, 310px); }
  .footer-grid { grid-template-columns: 1fr; }
  .newsletter { max-width: 100%; }
}

/* Store and product detail */
@media (max-width: 860px) {
  .store-layout {
    display: block !important;
    padding: 24px 0 56px;
  }
  .sidebar {
    display: none;
  }
  .sidebar.open {
    display: flex;
    position: fixed;
    inset: 0 0 0 auto;
    width: min(88vw, 360px);
    z-index: 95;
    overflow: auto;
    padding: 76px 24px 28px;
    background: var(--card);
    box-shadow: var(--shadow);
  }
  .mobile-filter-btn { display: inline-flex !important; }
  .toolbar {
    gap: 12px;
    align-items: stretch;
    flex-direction: column;
  }
  .product-list .card {
    grid-template-columns: 110px minmax(0, 1fr) !important;
  }
  .product-list .card-img { height: 130px !important; }
  .detail-grid {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
  .detail { padding: 26px 0 56px; }
  .detail-image { aspect-ratio: 4 / 3; }
  .gallery-thumbs {
    display: flex !important;
    overflow-x: auto;
    gap: 10px;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
  }
  .thumb-btn {
    width: 72px;
    min-width: 72px;
    scroll-snap-align: start;
  }
  .stock-box {
    align-items: flex-start;
    flex-direction: column;
  }
  .product-buy-box { border-radius: 16px; padding: 14px; }
}

/* Mobile account dashboard: convert the desktop dashboard into real panels */
@media (max-width: 760px) {
  .account-page {
    padding-top: 22px !important;
  }
  .account-header {
    padding: 20px 18px;
    border-radius: 22px;
    background: var(--card);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
  }
  .account-header .page-title {
    font-size: clamp(30px, 10vw, 42px);
  }
  .account-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 14px 0 !important;
  }
  .account-stats div {
    padding: 12px 8px !important;
    border-radius: 16px !important;
  }
  .account-mobile-nav {
    position: sticky;
    top: 62px;
    z-index: 15;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 0 12px;
    margin: 2px 0 14px;
    background: linear-gradient(180deg, var(--bg) 72%, rgba(248,250,252,0));
    scrollbar-width: none;
  }
  .account-mobile-nav::-webkit-scrollbar { display: none; }
  .account-mobile-tab {
    flex: 0 0 auto;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--brand-900);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
    box-shadow: var(--shadow-soft);
  }
  .account-mobile-tab.active {
    background: var(--brand-900);
    border-color: var(--brand-900);
    color: #fff;
  }
  .account-grid {
    display: block !important;
  }
  .account-page [data-account-section] {
    display: none !important;
  }
  .account-page [data-account-section].is-mobile-active {
    display: flex !important;
    flex-direction: column;
  }
  .account-addresses.is-mobile-active { display: block !important; }
  .account-card {
    padding: 16px !important;
    border-radius: 20px !important;
    margin-bottom: 14px;
  }
  .account-card-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .account-profile-card,
  .account-orders-card {
    min-height: auto !important;
    max-height: none !important;
  }
  .account-order-scroll {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  .order-list.account-order-scroll {
    gap: 12px !important;
  }
  .order-row,
  .order-summary-line,
  .order-detail-line,
  .order-detail-head,
  .order-detail-meta {
    grid-template-columns: 1fr !important;
  }
  .order-row {
    padding: 14px !important;
    border-radius: 18px !important;
  }
  .order-actions {
    justify-content: stretch !important;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .order-actions .btn { width: 100%; }
  .order-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding-bottom: 6px;
  }
  .order-tab { white-space: nowrap; }
  .address-form-grid,
  .form.two-col,
  .checkout-address-grid {
    grid-template-columns: 1fr !important;
  }
  .address-card {
    border-radius: 16px;
    padding: 14px;
  }
  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .form-actions .btn { width: 100%; }
}

@media (min-width: 761px) {
  .account-page [data-account-section] { display: flex; }
  .account-addresses[data-account-section] { display: block; }
}

/* Checkout and payment mobile */
@media (max-width: 860px) {
  .checkout-page,
  .mock-payment-page { padding-top: 26px !important; }
  .checkout-layout,
  .mock-payment-layout,
  .payment-hero {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .checkout-summary,
  .payment-actions-box { position: static !important; }
  .checkout-card,
  .checkout-summary,
  .payment-box,
  .payment-hero {
    border-radius: 20px !important;
    padding: 16px !important;
  }
  .checkout-line,
  .payment-item {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .checkout-line b,
  .payment-item b {
    grid-column: 2;
    justify-self: start;
    white-space: normal !important;
  }
  .checkout-line img,
  .payment-item img {
    width: 56px !important;
    height: 56px !important;
  }
  .checkout-qty-controls {
    width: 100%;
  }
  .payment-meta,
  .payment-total-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .payment-summary-card {
    min-width: 0 !important;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .checkout-choice,
  .shipping-choice,
  .checkout-stock-notice {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }
  .checkout-stock-notice .notice-icon { width: 36px; height: 36px; }
  .checkout-items { max-height: none !important; }
  .payment-hero h1 { font-size: clamp(28px, 9vw, 40px); }
}

/* Cart drawer touch layout */
@media (max-width: 640px) {
  .cart-drawer .cart-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100svh;
    border-radius: 0 !important;
  }
  .cart-head { padding: 18px 16px !important; }
  .cart-items {
    padding-inline: 14px !important;
    overflow-y: auto;
  }
  .cart-foot {
    padding: 14px !important;
    background: var(--card);
  }
  .cart-item {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 10px;
    padding: 10px;
  }
  .cart-item img { width: 62px !important; height: 62px !important; }
  .cart-item-side {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    width: 100%;
  }
  .cart-qty-control button {
    width: 38px;
    height: 36px;
    font-size: 20px;
  }
  .cart-qty-control span {
    height: 36px;
    min-width: 42px;
  }
}

/* Responsive 03: mobile store filters, sort control, account bounds, compact product detail */
@media (max-width: 850px) {
  .toolbar {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .store-mobile-controls {
    display: grid;
    grid-template-columns: minmax(92px, auto) minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
    width: 100%;
  }
  .store-sort-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
    border: 1px solid var(--line);
    background: var(--card);
    border-radius: 12px;
    padding: 0 10px;
    min-height: 38px;
    box-shadow: var(--shadow-soft);
    color: var(--brand-900);
    font-weight: 900;
    font-size: 11px;
  }
  .store-sort-control select {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text);
    font-weight: 800;
    font-size: 11px;
    direction: inherit;
  }
  .store-count-label {
    text-align: center;
    color: var(--muted);
  }
  .mobile-filter-panel {
    display: flex;
    flex-direction: column;
  }
  .mobile-filter-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: grid;
    gap: 10px;
    margin: 10px -16px -16px;
    padding: 14px 16px 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.74), var(--card) 34%);
    border-top: 1px solid var(--line);
  }
  html[data-theme="dark"] .mobile-filter-actions {
    background: linear-gradient(180deg, rgba(8,20,37,.74), #081425 34%);
  }
  .mobile-filter-actions .btn {
    min-height: 46px;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .account-page.container {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 12px !important;
    overflow-x: hidden;
  }
  .account-header,
  .account-stats,
  .account-grid,
  .account-addresses,
  .account-card {
    max-width: 100%;
    box-sizing: border-box;
  }
  .account-mobile-nav {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-inline: 0 !important;
    padding-inline: 2px !important;
    overscroll-behavior-inline: contain;
  }
  .account-mobile-tab {
    padding: 9px 12px !important;
    font-size: 12px !important;
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (max-width: 640px) {
  .detail.container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 12px 46px !important;
    overflow-x: hidden;
  }
  .detail .back {
    display: inline-flex;
    margin: 6px 2px 16px;
    font-size: 13px;
  }
  .detail-grid {
    gap: 18px !important;
  }
  .product-gallery,
  .detail-info {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .detail-image {
    width: 100%;
    max-height: 260px;
    aspect-ratio: 16 / 11 !important;
    border-radius: 18px !important;
  }
  .gallery-thumbs {
    gap: 8px !important;
    padding: 8px 2px 4px !important;
  }
  .thumb-btn {
    width: 58px !important;
    min-width: 58px !important;
    height: 52px !important;
    border-radius: 12px !important;
  }
  .detail-info {
    padding-inline: 4px;
  }
  .detail-info .kicker {
    font-size: 10px;
    margin-top: 6px;
  }
  .detail-info h1 {
    font-size: clamp(26px, 7.2vw, 34px) !important;
    line-height: 1.2 !important;
    letter-spacing: -.03em;
    margin: 8px 0 10px !important;
  }
  .detail-info > .price {
    font-size: 22px !important;
    margin: 12px 0 !important;
  }
  .detail-info > p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
  .stock-box,
  .specs,
  .product-buy-box {
    border-radius: 16px !important;
    padding: 13px !important;
  }
  .specs h3 { font-size: 17px; }
  .specs li { font-size: 13px; line-height: 1.7; }
  .product-qty-box { gap: 10px; }
  .product-qty-control button {
    width: 42px !important;
    height: 42px !important;
  }
  .related-products-section { margin-top: 34px !important; }
  .related-product-strip {
    display: flex !important;
    overflow-x: auto;
    gap: 12px;
    padding-bottom: 8px;
    scroll-snap-type: x proximity;
  }
  .related-product-card {
    flex: 0 0 72%;
    scroll-snap-align: start;
  }
}

@media (max-width: 390px) {
  .store-mobile-controls {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 6px;
  }
  .store-sort-control span { display: none; }
  .store-sort-control {
    grid-template-columns: 1fr;
    padding-inline: 8px;
  }
  .detail-image { max-height: 230px; }
  .thumb-btn {
    width: 52px !important;
    min-width: 52px !important;
    height: 48px !important;
  }
}

/* Responsive 03 base sort control */
.store-mobile-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.store-sort-control {
  display: inline-grid;
  grid-template-columns: auto minmax(140px, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 190px;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 14px;
  padding: 0 12px;
  min-height: 42px;
  color: var(--brand-900);
  font-weight: 900;
  font-size: 12px;
}
.store-sort-control select {
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-weight: 800;
  font-size: 12px;
  min-width: 0;
}
@media (max-width: 850px) {
  .store-mobile-controls { display: grid; }
  .store-sort-control { min-width: 0; }
}
@media (max-width: 850px) {
  .store-sort-control {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 38px;
    border-radius: 12px;
    padding: 0 10px;
    font-size: 11px;
  }
  .store-sort-control select { font-size: 11px; }
}
@media (max-width: 390px) {
  .store-sort-control { grid-template-columns: 1fr; padding-inline: 8px; }
  .store-sort-control span { display: none; }
}


/* Responsive 04: mobile store card density, view switcher and sort helper */
@media (max-width: 760px) {
  .container.store-layout {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 8px !important;
  }

  .store-layout > section,
  .store-layout .toolbar {
    width: 100%;
    min-width: 0;
  }

  .store-layout .toolbar {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
    overflow: visible;
  }

  .store-mobile-controls {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    align-items: stretch;
  }

  .store-sort-control {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    min-height: 48px;
    padding: 6px 10px 5px;
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
  }

  .store-sort-control .store-sort-title {
    display: none !important;
  }

  .store-sort-control select {
    min-height: 22px;
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
    font-size: 13px !important;
    font-weight: 900;
    color: var(--brand-900);
    line-height: 1.2;
  }

  .store-sort-hint {
    display: block;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .store-count-label {
    display: block !important;
    text-align: center;
    font-size: 12px !important;
    color: var(--muted);
  }

  .view-btns {
    display: inline-flex !important;
    justify-content: center;
    gap: 6px;
    width: 100%;
  }

  .view-btns button {
    flex: 0 1 105px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--brand-900);
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
    font-weight: 900;
    font-size: 12px;
    min-height: 34px;
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(15,34,74,.045);
  }

  .view-btns button.active {
    background: var(--brand-900);
    color: #fff;
    border-color: var(--brand-900);
  }

  .store-layout .product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .store-layout .product-grid .card {
    display: block !important;
    min-width: 0;
    border-radius: 13px !important;
    overflow: hidden;
    box-shadow: 0 5px 16px rgba(15,34,74,.055) !important;
  }

  .store-layout .product-grid .card-img {
    aspect-ratio: 1 / .86 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .store-layout .product-grid .card-body {
    padding: 7px 6px 8px !important;
  }

  .store-layout .product-grid .kicker,
  .store-layout .product-grid .card-body p,
  .store-layout .product-grid .card-row .btn {
    display: none !important;
  }

  .store-layout .product-grid .card h3 {
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
    font-size: 10px !important;
    font-weight: 900;
    line-height: 1.35 !important;
    margin: 0 0 5px !important;
    min-height: 28px !important;
    letter-spacing: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .store-layout .product-grid .card-row {
    margin: 0 !important;
    display: block !important;
  }

  .store-layout .product-grid .price {
    display: block;
    font-size: 11px !important;
    line-height: 1.15 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .store-layout .product-grid .quick-add-pill {
    inset: auto 6px 6px auto;
    padding: 4px 6px;
    min-height: 25px;
    border-radius: 999px;
    gap: 3px;
    font-size: 9px;
    box-shadow: 0 8px 16px rgba(15,34,74,.16);
  }

  html[dir="rtl"] .store-layout .product-grid .quick-add-pill {
    right: auto;
    left: 6px;
  }

  .store-layout .product-grid .quick-add-icon {
    width: 17px;
    height: 17px;
    font-size: 12px;
  }

  .store-layout .product-grid .quick-add-label {
    font-size: 9px;
  }

  .store-layout .product-list {
    display: flex !important;
    flex-direction: column;
    gap: 10px !important;
  }

  .store-layout .product-list .card {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    align-items: stretch;
    min-height: 112px;
    border-radius: 16px !important;
    overflow: hidden;
  }

  html[dir="rtl"] .store-layout .product-list .card {
    grid-template-columns: minmax(0, 1fr) 96px !important;
  }

  .store-layout .product-list .card-img {
    width: 96px !important;
    height: 100% !important;
    min-height: 112px;
    aspect-ratio: auto !important;
  }

  html[dir="rtl"] .store-layout .product-list .card-img {
    grid-column: 2;
    grid-row: 1;
  }

  html[dir="rtl"] .store-layout .product-list .card-body {
    grid-column: 1;
    grid-row: 1;
  }

  .store-layout .product-list .card-body {
    padding: 10px 11px !important;
    min-width: 0;
  }

  .store-layout .product-list .kicker {
    display: block !important;
    font-size: 9px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .store-layout .product-list .card h3 {
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif;
    font-size: 14px !important;
    line-height: 1.35 !important;
    min-height: 0 !important;
    margin: 4px 0 5px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .store-layout .product-list .card-body p {
    display: block !important;
    font-size: 11px;
    line-height: 1.5;
    color: var(--muted);
    margin: 0 0 7px;
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .store-layout .product-list .card-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 !important;
  }

  .store-layout .product-list .price {
    font-size: 13px !important;
  }

  .store-layout .product-list .card-row .btn {
    display: inline-flex !important;
    min-height: 30px;
    padding: 6px 9px;
    border-radius: 10px;
    font-size: 11px;
  }

  .store-layout .product-list .quick-add-pill {
    top: 7px;
    bottom: auto;
    right: 7px;
    padding: 4px 6px;
    min-height: 25px;
  }

  html[dir="rtl"] .store-layout .product-list .quick-add-pill {
    right: auto;
    left: 7px;
  }
}

@media (max-width: 390px) {
  .store-mobile-controls {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 7px;
  }
  .store-layout .product-grid {
    gap: 6px !important;
  }
  .store-layout .product-grid .card h3 {
    font-size: 9.3px !important;
    min-height: 26px !important;
  }
  .store-layout .product-grid .price {
    font-size: 10px !important;
  }
  .store-layout .product-grid .quick-add-label {
    display: none;
  }
  .store-layout .product-list .card {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }
  html[dir="rtl"] .store-layout .product-list .card {
    grid-template-columns: minmax(0, 1fr) 86px !important;
  }
  .store-layout .product-list .card-img {
    width: 86px !important;
  }
}

/* Responsive 05: keep mobile store controls from breaking desktop layout */
@media (min-width: 761px) {
  .store-layout .toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 16px !important;
    min-height: 0 !important;
  }

  .store-layout .mobile-filter-btn {
    display: none !important;
  }

  .store-layout .store-mobile-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .store-layout .store-sort-control {
    display: inline-grid !important;
    grid-template-columns: auto minmax(115px, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .store-layout .store-sort-title {
    display: inline-block !important;
    font-size: 12px !important;
    color: var(--brand-900) !important;
    white-space: nowrap !important;
  }

  .store-layout .store-sort-control select {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif !important;
  }

  .store-layout .store-sort-hint {
    display: none !important;
  }

  .store-layout .store-count-label {
    display: inline-block !important;
    flex: 1 1 auto !important;
    text-align: center !important;
    color: var(--muted) !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .store-layout .view-btns {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
  }

  .store-layout .view-btns button {
    min-height: 38px !important;
    padding: 8px 14px !important;
    border-radius: 12px !important;
    font-family: "Noto Sans Arabic UI", Inter, system-ui, sans-serif !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 760px) {
  .store-layout .store-sort-hint {
    display: block !important;
  }
}

/* Card-to-card payment polish */
.card-payment-page .card-transfer-box .card-number-box {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(30,50,136,.12), rgba(255,255,255,.7));
  border: 1px solid rgba(30,50,136,.18);
  margin-bottom: 14px;
}
.card-payment-page .card-number-box span { color: var(--muted); font-weight: 800; }
.card-payment-page .card-number-box strong { color: var(--brand); direction: ltr; font-size: clamp(22px, 3vw, 30px); letter-spacing: 1px; }
.receipt-upload-form { display: grid; gap: 15px; margin-top: 18px; }
.receipt-field,
.receipt-text-field { display: grid; gap: 8px; color: var(--brand); font-weight: 900; }
.receipt-field-label,
.receipt-text-field > span { display: block; }
.receipt-text-field input {
  width: 100%; min-height: 50px; border: 2px solid #b8c6dc; border-radius: 14px; padding: 12px 14px;
  background: #fff; color: var(--brand); font: inherit; outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.receipt-text-field input::placeholder { color: #8796ad; font-weight: 600; }
.receipt-text-field input:hover { border-color: #8da3c4; }
.receipt-text-field input:focus { border-color: var(--brand-500); box-shadow: 0 0 0 4px rgba(59,113,202,.14); }
.receipt-file-picker {
  display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 10px;
  min-height: 54px; padding: 7px; border: 2px dashed #9fb2cf; border-radius: 14px;
  background: #f8fbff; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.receipt-file-picker:hover,
.receipt-file-picker:focus-within { border-color: var(--brand-500); background: #f2f7ff; box-shadow: 0 0 0 4px rgba(59,113,202,.10); }
.receipt-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
.receipt-file-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 13px; border-radius: 10px; background: var(--brand-600); color: #fff; font-weight: 900; white-space: nowrap; }
.receipt-file-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-weight: 700; }
.receipt-file-preview { width: 100%; max-height: 230px; object-fit: contain; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; padding: 8px; }
.receipt-form-hint { margin: -2px 0 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.receipt-submission-result {
  display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: start; margin: 16px 0;
  padding: 16px; border: 1px solid rgba(22,163,74,.30); border-radius: 16px; background: rgba(22,163,74,.10); outline: none;
}
.receipt-submission-result:focus { box-shadow: 0 0 0 4px rgba(22,163,74,.13); }
.receipt-success-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #15803d; color: #fff; font-size: 24px; font-weight: 900; }
.receipt-submission-result strong { display: block; color: #166534; font-size: 17px; }
.receipt-submission-result p { margin: 5px 0 0; color: #3f5f48; line-height: 1.8; }
.receipt-preview-link { display: grid; grid-template-columns: 86px 1fr; align-items: center; gap: 12px; text-decoration: none; color: var(--brand); padding: 10px; border: 1px solid var(--border); border-radius: 16px; margin: 12px 0; background: rgba(248,250,252,.8); }
.receipt-preview-link img { width: 86px; height: 86px; border-radius: 12px; object-fit: cover; }
.site-notice-toast.success { background: #166534; }
html[data-theme="dark"] .receipt-text-field input { background: #081425; border-color: #3b506d; color: var(--text); }
html[data-theme="dark"] .receipt-file-picker { background: #0b172a; border-color: #49617f; }
html[data-theme="dark"] .receipt-file-picker:hover,
html[data-theme="dark"] .receipt-file-picker:focus-within { background: #102039; border-color: #6ea3ff; }
html[data-theme="dark"] .receipt-file-preview { background: #081425; border-color: #29405c; }
html[data-theme="dark"] .receipt-submission-result { background: rgba(22,163,74,.16); border-color: rgba(74,222,128,.32); }
html[data-theme="dark"] .receipt-submission-result strong { color: #86efac; }
html[data-theme="dark"] .receipt-submission-result p { color: #b9d8c1; }
@media (max-width: 560px) {
  .card-payment-page .card-number-box strong { font-size: 21px; }
  .receipt-file-picker { grid-template-columns: 1fr; }
  .receipt-file-button { width: 100%; }
  .receipt-file-name { padding: 2px 6px 5px; text-align: center; }
  .receipt-preview-link { grid-template-columns: 70px 1fr; }
  .receipt-preview-link img { width: 70px; height: 70px; }
}

/* Account order filters must override the detailed-row display rule below. */
.order-row.order-row-detailed[hidden] { display: none !important; }


/* Price visibility setting */
.cart-total[hidden] { display: none !important; }
.order-summary-line.prices-hidden { grid-template-columns: minmax(160px, 1.2fr) minmax(110px, .7fr) auto; }
.order-detail-head.prices-hidden,
.order-detail-line.prices-hidden { grid-template-columns: minmax(160px, 1fr) 70px; }
.payment-item.prices-hidden { grid-template-columns: 62px minmax(0, 1fr); }
@media (max-width: 760px) {
  .order-summary-line.prices-hidden { grid-template-columns: 1fr; }
  .order-detail-head.prices-hidden,
  .order-detail-line.prices-hidden { grid-template-columns: minmax(0, 1fr) 70px; }
}

/* Horizontal product rail overrides older generic featured-grid breakpoints. */
.product-carousel-track.featured-product-grid {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(250px, 280px) !important;
  gap: 20px !important;
}
html[data-theme="dark"] .stock-box.pre-order { border-color: #b7791f; }
html[data-theme="dark"] .stock-box.pre-order .stock-status { background: rgba(245,158,11,.18); color: #fde68a; }
@media (max-width: 520px) {
  .product-carousel-track.featured-product-grid { grid-auto-columns: minmax(230px, 82vw) !important; }
}


/* Dark theme component hotfix v0.17.3
   Keep this block after all component polish rules so late light-theme declarations
   cannot override dark surfaces or action contrast. */
html[data-theme="dark"] .quick-add-float:not(:disabled),
html[data-theme="dark"] .quick-add-float.quick-add-pill:not(:disabled) {
  background: #5b96f5;
  border-color: #a9c9ff;
  color: #07111f;
  box-shadow: 0 14px 30px rgba(0,0,0,.34);
}
html[data-theme="dark"] .quick-add-float:not(:disabled):hover,
html[data-theme="dark"] .quick-add-float.quick-add-pill:not(:disabled):hover {
  background: #8bb9ff;
  color: #07111f;
}
html[data-theme="dark"] .quick-add-float:not(:disabled) .quick-add-label,
html[data-theme="dark"] .quick-add-float:not(:disabled) .quick-add-icon {
  color: inherit;
}
html[data-theme="dark"] .quick-add-float:not(:disabled) .quick-add-icon {
  background: rgba(7,17,31,.14);
}

html[data-theme="dark"] .cart-panel,
html[data-theme="dark"] .cart-head,
html[data-theme="dark"] .cart-items,
html[data-theme="dark"] .cart-foot {
  background: #091426;
  color: var(--text);
  border-color: var(--line);
}
html[data-theme="dark"] .cart-foot { background: #0b172a; }
html[data-theme="dark"] .cart-head h2,
html[data-theme="dark"] .cart-total,
html[data-theme="dark"] .cart-total strong,
html[data-theme="dark"] .cart-item-body strong {
  color: #eaf2ff;
}
html[data-theme="dark"] .cart-continue-btn {
  background: #101e33;
  color: #dbeafe;
  border-color: #6ea3ff;
}
html[data-theme="dark"] .cart-continue-btn:hover {
  background: #dbeafe;
  color: #0f224a;
}
html[data-theme="dark"] .cart-qty-control,
html[data-theme="dark"] .cart-qty-control span {
  background: #081425;
  border-color: #29405c;
}

html[data-theme="dark"] .article-detail,
html[data-theme="dark"] .article-detail-wrap {
  background: var(--bg);
  color: var(--text);
}
html[data-theme="dark"] .article-detail-header h1,
html[data-theme="dark"] .article-section-block h2,
html[data-theme="dark"] .article-toc strong {
  color: #eaf2ff;
}
html[data-theme="dark"] .article-detail-header p,
html[data-theme="dark"] .article-meta-line,
html[data-theme="dark"] .article-content,
html[data-theme="dark"] .article-content p,
html[data-theme="dark"] .article-lead {
  color: #cbd8e8;
}
html[data-theme="dark"] .article-author { color: #dbeafe; }
html[data-theme="dark"] .article-toc,
html[data-theme="dark"] .related-card {
  background: #0b172a;
  border-color: var(--line);
}
html[data-theme="dark"] .toc-btn { color: #aebed2; }
html[data-theme="dark"] .toc-btn:hover,
html[data-theme="dark"] .toc-btn:focus-visible { color: #fff; }
html[data-theme="dark"] .article-hero-image { background: #111f35; }

/* Product content overflow guardrails v0.19.0 */
.card-body h3,
.card-body p,
.related-product-body h3,
.detail-info h1,
.detail-info > p,
.specs li,
.showcase-specs li,
.product-code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Dark theme showcase contrast v0.19.1 */
html[data-theme="dark"] .showcase-content .kicker {
  color: #a9c9ff;
}
html[data-theme="dark"] .showcase-tag {
  background: rgba(7, 17, 31, .94);
  border-color: #6ea3ff;
  color: #eaf2ff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
}
html[data-theme="dark"] .showcase-specs {
  color: #cbd8e8;
}
html[data-theme="dark"] .showcase-specs li::before {
  background: #8bb9ff;
}

/* Dark theme finishing pass v0.19.2
   Fix remaining low-contrast text and light hero surfaces in dark mode. */
html[data-theme="dark"] .page-hero {
  background: linear-gradient(180deg, #10233f 0%, #07111f 100%);
  border-top: 1px solid rgba(110,163,255,.14);
  border-bottom: 1px solid var(--line);
}
html[data-theme="dark"] .page-hero h1 {
  color: #f8fbff;
}
html[data-theme="dark"] .page-hero p {
  color: #d8e6f8;
}

html[data-theme="dark"] .category-list button {
  color: #95a9c4;
}
html[data-theme="dark"] .category-list button:hover,
html[data-theme="dark"] .category-list button:focus-visible {
  color: #eef4ff;
}
html[data-theme="dark"] .category-list button.active {
  color: #eef4ff;
}

html[data-theme="dark"] .detail-info .kicker,
html[data-theme="dark"] .detail-info > p,
html[data-theme="dark"] .specs,
html[data-theme="dark"] .specs li,
html[data-theme="dark"] .stock-label,
html[data-theme="dark"] .store-count-label,
html[data-theme="dark"] .store-sort-hint {
  color: #cbd8e8;
}
html[data-theme="dark"] .specs h3,
html[data-theme="dark"] .store-sort-title {
  color: #eaf2ff;
}

/* Mega menu related products and secure receipt selection v0.20.0 */
html[data-theme="dark"] .mega-product-card {
  background: #101e33;
  border-color: #29405c;
  color: #eaf2ff;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
html[data-theme="dark"] .mega-product-image { background: #081425; }
html[data-theme="dark"] .mega-product-copy strong { color: #eaf2ff; }
html[data-theme="dark"] .mega-product-copy small { color: #9fb2ca; }
html[data-theme="dark"] .mega-product-copy em { color: #8bb9ff; }
html[data-theme="dark"] .mega-preview-empty { color: #b6c6da; }
.receipt-file-picker:has(+ .receipt-file-preview + .field-error:not([hidden])) {
  border-color: #ef4444;
}

/* Configurable mega menu layouts v0.21.0 */
.mega-column .mega-cat {
  color: #0f172a;
  font-weight: 750;
  text-decoration: none;
}
.mega-column .mega-cat:hover,
.mega-column .mega-cat:focus-visible,
.mega-column .mega-cat.is-active {
  color: var(--brand-900);
  text-decoration: none;
}
.mega-list-preview {
  width: 100%;
  min-height: 300px;
  display: grid;
  grid-template-columns: minmax(180px, .72fr) minmax(250px, 1.28fr);
  gap: 14px;
}
.mega-related-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 20px 14px;
}
.mega-related-title {
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 8px;
}
.mega-related-list a {
  display: block;
  padding: 9px 11px;
  border-radius: 10px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.mega-related-list a:hover,
.mega-related-list a:focus-visible,
.mega-related-list a.is-active {
  background: #eaf2ff;
  color: #1d4ed8;
  transform: translateX(2px);
  outline: none;
}
.mega-single-preview {
  position: relative;
  min-width: 0;
  min-height: 300px;
  display: block;
  overflow: hidden;
  border-radius: 16px;
  background: #e2e8f0;
  color: #fff;
  text-decoration: none;
}
.mega-single-preview > img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  transition: transform .3s ease, opacity .18s ease;
}
.mega-single-preview:hover > img { transform: scale(1.035); }
.mega-single-preview > span {
  position: absolute;
  inset-inline: 12px;
  bottom: 12px;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(7,17,31,.82);
  backdrop-filter: blur(10px);
}
.mega-single-preview small { color: #b9cff0; font-size: 11px; }
.mega-single-preview strong { color: #fff; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.has-mega[data-mega-mode="image"] .mega-preview { padding: 14px; }
.has-mega[data-mega-mode="image"] .mega-single-preview { height: 100%; }
html[dir="rtl"] .mega-related-list a:hover,
html[dir="rtl"] .mega-related-list a:focus-visible,
html[dir="rtl"] .mega-related-list a.is-active { transform: translateX(-2px); }
html[data-theme="dark"] .mega-column .mega-cat { color: #f4f8ff; }
html[data-theme="dark"] .mega-column .mega-cat:hover,
html[data-theme="dark"] .mega-column .mega-cat:focus-visible,
html[data-theme="dark"] .mega-column .mega-cat.is-active { color: #8bb9ff; }
html[data-theme="dark"] .mega-related-title { color: #eaf2ff; }
html[data-theme="dark"] .mega-related-list a { color: #9fb2ca; }
html[data-theme="dark"] .mega-related-list a:hover,
html[data-theme="dark"] .mega-related-list a:focus-visible,
html[data-theme="dark"] .mega-related-list a.is-active {
  background: #13243b;
  color: #8bb9ff;
}
html[data-theme="dark"] .mega-single-preview { background: #081425; border: 1px solid #29405c; }
@media (max-width: 980px) {
  .mega-list-preview { grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.2fr); }
}

/* Mega-menu category controls and payment card polish v0.22.0 */
.has-mega.mega-empty .mega-menu { display: none !important; }

.card-payment-page .card-transfer-box .card-number-box {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 142px;
  align-content: end;
  padding: 24px;
  background: linear-gradient(135deg, #081a3a 0%, #123d7b 52%, #3b71ca 100%);
  border: 1px solid rgba(173, 208, 255, .42);
  box-shadow: 0 22px 48px rgba(15, 34, 74, .24);
}
.card-payment-page .card-transfer-box .card-number-box::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 190px;
  height: 190px;
  inset-inline-end: -72px;
  top: -96px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.24), rgba(255,255,255,0) 68%);
}
.card-payment-page .card-transfer-box .card-number-box::after {
  content: "PICAMED";
  position: absolute;
  z-index: -1;
  inset-inline-end: 22px;
  top: 18px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}
.card-payment-page .card-number-box span {
  color: #cfe2ff;
  font-size: 13px;
  letter-spacing: .04em;
}
.card-payment-page .card-number-box strong {
  color: #fff;
  text-shadow: 0 2px 16px rgba(0,0,0,.25);
  font-variant-numeric: tabular-nums;
  letter-spacing: 2px;
}
html[data-theme="dark"] .card-payment-page .card-transfer-box .card-number-box {
  background: linear-gradient(135deg, #061329 0%, #0e2f61 55%, #285fae 100%);
  border-color: rgba(139,185,255,.44);
  box-shadow: 0 22px 52px rgba(0,0,0,.38);
}

/* Store pagination v0.22.2 */
.store-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 34px;
}
.store-page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.store-pagination button {
  min-width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: .18s ease;
}
.store-pagination button:hover:not(:disabled),
.store-pagination button:focus-visible {
  border-color: var(--brand-500);
  color: var(--brand-600);
  transform: translateY(-1px);
}
.store-pagination button.active {
  background: var(--brand-900);
  border-color: var(--brand-900);
  color: #fff;
}
.store-pagination button:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.store-page-ellipsis {
  min-width: 22px;
  text-align: center;
  color: var(--muted);
  font-weight: 800;
}
.store-page-summary {
  flex-basis: 100%;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}
html[data-theme="dark"] .store-pagination button.active {
  background: #5b96f5;
  border-color: #8bb9ff;
  color: #07111f;
}
@media (max-width: 520px) {
  .store-pagination { gap: 7px; margin-top: 24px; }
  .store-page-numbers { gap: 5px; }
  .store-pagination button { min-width: 38px; height: 38px; border-radius: 10px; }
}



/* Editable contact image v0.23.0 */
.contact-info { display: grid; gap: 24px; min-width: 0; }
.contact-visual {
  margin: 0;
  aspect-ratio: 16 / 9;
  border-radius: 20px;
  overflow: hidden;
  background: #eef2f7;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}
.contact-visual img { width: 100%; height: 100%; object-fit: cover; }
html[data-theme="dark"] .contact-visual { background: #111f35; border-color: var(--line); }

/* v0.27.0 — editable brand and payment system media */
.brand-logo.has-image-logo,
html[data-theme="dark"] .brand-logo.has-image-logo {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  letter-spacing: normal;
}
.brand-logo-image {
  width: auto;
  max-width: 180px;
  height: 46px;
  object-fit: contain;
}
.footer-logo .brand-logo-image { height: 52px; max-width: 220px; }
.payment-guide-image {
  margin: 0 0 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--soft);
  box-shadow: var(--shadow-soft);
}
.payment-guide-image img { width: 100%; max-height: 280px; object-fit: contain; }
html[data-theme="dark"] .payment-guide-image { background: #081425; border-color: #29405c; }
@media (max-width: 520px) {
  .brand-logo-image { max-width: 140px; height: 40px; }
  .footer-logo .brand-logo-image { max-width: 180px; height: 46px; }
}

/* Store search access and compact desktop mega menu */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.store-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
  box-shadow: 0 8px 24px rgba(15, 34, 74, .04);
}
.store-search-form input {
  min-width: 0;
  width: 100%;
  height: 46px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 0 14px;
  background: #fff;
  color: var(--text);
  font: inherit;
  outline: none;
}
.store-search-form input:focus {
  border-color: var(--brand-900);
  box-shadow: 0 0 0 3px rgba(15, 34, 74, .12);
}
.store-search-form .btn { min-width: 104px; height: 46px; }
html[data-theme="dark"] .store-search-form input {
  background: #081425;
  color: var(--text);
  border-color: #29405c;
}

@media (min-width: 851px) {
  .mega-menu {
    left: 50%;
    right: auto;
    width: min(calc(100vw - 32px), 1040px);
    border-radius: 0 0 18px 18px;
    transform: translate(-50%, -8px);
  }
  .has-mega:hover .mega-menu,
  .has-mega:focus-within .mega-menu { transform: translate(-50%, 0); }
  .has-mega.mega-force-closed .mega-menu { transform: translate(-50%, -8px) !important; }
  .mega-inner {
    max-width: 100%;
    padding: 20px;
    grid-template-columns: 160px 180px minmax(300px, 1fr);
    gap: 24px;
  }
  .mega-column { gap: 11px; }
  .mega-cat { font-size: 14px; }
  .mega-preview { min-height: 230px; padding: 10px; }
  .mega-preview-empty { min-height: 210px; }
  .mega-product-grid { gap: 8px; }
  .mega-product-card { border-radius: 12px; }
  .mega-product-copy { gap: 3px; padding: 8px 9px 10px; }
  .mega-product-copy strong { font-size: 12px; }
  .mega-list-preview {
    min-height: 210px;
    grid-template-columns: minmax(145px, .78fr) minmax(210px, 1.22fr);
    gap: 10px;
  }
  .mega-related-list { gap: 3px; padding: 12px 8px; }
  .mega-related-title { margin-bottom: 5px; font-size: 12px; }
  .mega-related-list a { padding: 6px 8px; font-size: 12px; }
  .mega-single-preview,
  .mega-single-preview > img { min-height: 210px; }
}

@media (max-width: 850px) {
  .store-search-form {
    margin-bottom: 12px;
    padding: 8px;
    border-radius: 14px;
  }
  .store-search-form input {
    height: 44px;
    font-size: 16px;
  }
  .store-search-form .btn {
    min-width: 76px;
    height: 44px;
    padding: 0 14px;
  }
}

/* Product cards: Owner-selectable layouts */
.product-card {
  position: relative;
  display: grid;
  min-width: 0;
  aspect-ratio: 31 / 50;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: clamp(28px, 2.5vw, 38px);
  background: #f6f7f6;
  box-shadow:
    0 26px 65px rgba(15, 34, 74, .09),
    inset 0 1px 0 rgba(255, 255, 255, .92);
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-card:focus-visible {
  outline: 3px solid rgba(59, 113, 202, .34);
  outline-offset: 4px;
}
.product-card-media {
  position: relative;
  aspect-ratio: auto;
  min-width: 0;
  overflow: hidden;
  background: #e9eef1;
}
.product-card-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .38s ease, opacity .3s ease;
}
.product-card-image--secondary { opacity: 0; }
.product-card-body {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.product-card-copy { min-width: 0; }
.product-card-category {
  display: none;
  margin-bottom: 6px;
  overflow: hidden;
  color: #7b8490;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-card h3 {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #111827;
  font-size: clamp(17px, 1.35vw, 22px);
  font-weight: 900;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.product-card-description {
  display: -webkit-box;
  margin: 7px 0 0;
  overflow: hidden;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.product-card-sku,
.product-detail-sku,
.related-product-sku {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  direction: ltr;
  border: 1px solid rgba(15, 34, 74, .09);
  border-radius: 999px;
  padding: 6px 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, .72);
  color: #23344f;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
.product-card-stock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  border: 1px solid rgba(22, 101, 52, .1);
  border-radius: 999px;
  padding: 6px 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, .72);
  color: #166534;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}
.product-card-stock::before {
  content: '';
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.product-card-stock--out_of_stock { color: #b42318; border-color: rgba(180, 35, 24, .12); }
.product-card-stock--pre_order { color: #b45309; border-color: rgba(180, 83, 9, .12); }
.product-card-purchase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin-top: auto;
}
.product-card-purchase--no-price {
  grid-template-columns: 1fr;
  justify-items: end;
}
.product-card-price,
.product-card-contact {
  min-width: 0;
  overflow: visible;
  color: #111827;
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 900;
  line-height: 1.25;
  text-overflow: clip;
  white-space: normal;
}
.product-card-contact { font-size: 12px; }
.product-card-buy {
  position: static;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 108px;
  min-height: 54px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: #111827;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  box-shadow:
    0 12px 28px rgba(15, 23, 42, .12),
    inset 0 1px 0 rgba(255, 255, 255, .96);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.product-card-buy-icon {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #111827;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.product-card-buy:disabled {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

/* Light card: framed image followed by a clean information surface. */
.product-card--soft {
  grid-template-rows: minmax(0, 52%) minmax(0, 48%);
  padding: 15px;
}
.product-card--soft .product-card-media {
  border-radius: clamp(22px, 2vw, 30px);
}
.product-card--soft .product-card-body {
  padding: 22px 10px 7px;
}

/* Glass card: full-bleed image with the information panel in normal document flow. */
.product-card--glass {
  display: flex;
  align-items: flex-end;
  background: #dfe5e7;
}
.product-card--glass .product-card-media {
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.product-card--glass .product-card-media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 35%, rgba(244, 247, 248, .24) 62%, rgba(244, 247, 248, .56) 100%);
  pointer-events: none;
}
.product-card--glass .product-card-body {
  width: 100%;
  min-height: 46%;
  margin-top: auto;
  padding: 24px 25px 25px;
  border: 1px solid rgba(255, 255, 255, .66);
  border-width: 1px 0 0;
  border-radius: 30px 30px 38px 38px;
  background: rgba(255, 255, 255, .62);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 -12px 35px rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
}
.product-card--glass .product-card-category { color: rgba(17, 24, 39, .62); }
.product-card--glass .product-card-description { color: rgba(17, 24, 39, .72); }
.product-card--glass .product-card-sku,
.product-card--glass .product-card-stock { background: rgba(255, 255, 255, .66); }
.product-card--glass .product-card-buy { background: rgba(255, 255, 255, .9); }

/* Shared pieces used by the three reference-driven product cards. */
.product-card-badge {
  position: absolute;
  inset-block-start: 10px;
  inset-inline-start: 10px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: calc(100% - 54px);
  min-height: 24px;
  padding: 4px 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: #1f2937;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: 0 5px 16px rgba(15, 23, 42, .1), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.product-card-badge > span,
.product-card-feature-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
}
.product-card-badge svg { width: 12px; height: 12px; }
.product-card-badge--available { color: #166534; }
.product-card-badge--out_of_stock { color: #b42318; }
.product-card-badge--pre_order { color: #b45309; }
.product-card-feature-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-block: 1px solid rgba(15, 34, 74, .09);
}
.product-card-feature {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 7px;
  overflow: hidden;
  color: #4b5563;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-card-feature + .product-card-feature { border-inline-start: 1px solid rgba(15, 34, 74, .09); }
.product-card-feature-icon svg { width: 14px; height: 14px; }
.product-card-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: 28px;
  overflow: hidden;
}
.product-card-chip {
  display: inline-flex;
  max-width: 45%;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #f1f3f5;
  color: #303846;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-card-buy-icon svg { width: 15px; height: 15px; }
.product-card-buy--full {
  width: 100%;
  min-height: 46px;
  border-color: rgba(255, 255, 255, .2);
  background: linear-gradient(180deg, #3d3d3d, #111);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 9px 18px rgba(15, 23, 42, .15);
}
.product-card-buy--full .product-card-buy-icon { background: rgba(255, 255, 255, .13); color: #fff; }
.product-card-buy.is-loading { position: relative; cursor: wait; opacity: 1; }
.product-card-buy.is-loading .product-card-buy-label,
.product-card-buy.is-loading .product-card-buy-icon { visibility: hidden; }
.product-card-buy.is-loading::after {
  content: '';
  position: absolute;
  inset: 50% auto auto 50%;
  width: 17px;
  height: 17px;
  margin: -9px 0 0 -9px;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  animation: product-card-spin .75s linear infinite;
}
@keyframes product-card-spin { to { transform: rotate(360deg); } }

/* Reference card 1: compact feature card with chips and a full-width action. */
.product-card--feature {
  grid-template-rows: minmax(0, 44%) minmax(0, 56%);
  aspect-ratio: 34 / 50;
  padding: 9px;
  border-color: rgba(15, 34, 74, .06);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 34, 74, .09), inset 0 1px 0 #fff;
}
.product-card--feature .product-card-media { border-radius: 16px; }
.product-card--feature .product-card-body { gap: 8px; padding: 10px 6px 7px; }
.product-card--feature .product-card-description { margin-top: 4px; font-size: 10px; line-height: 1.45; }
.product-card--feature .product-card-feature-price { margin-top: auto; }
.product-card--feature .product-card-price,
.product-card--feature .product-card-contact { font-size: 13px; }

/* Reference card 2: image-led card with a compact information zone. */
.product-card--showcase {
  grid-template-rows: minmax(0, 66%) minmax(0, 34%);
  aspect-ratio: 36 / 50;
  padding: 9px;
  border-color: rgba(15, 34, 74, .06);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 34, 74, .09), inset 0 1px 0 #fff;
}
.product-card--showcase .product-card-media { border-radius: 16px; }
.product-card-media-control {
  position: absolute;
  inset-block-start: 11px;
  inset-inline-end: 11px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 26px;
  min-height: 22px;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  box-shadow: 0 5px 14px rgba(15, 23, 42, .08);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.product-card-media-control span { width: 4px; height: 4px; border-radius: 50%; background: #475569; }
.product-card--showcase .product-card-body { gap: 6px; padding: 10px 6px 7px; }
.product-card-title-price {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 9px;
  min-width: 0;
}
.product-card-title-price h3 { min-width: 0; }
.product-card--showcase .product-card-title-price .product-card-price,
.product-card--showcase .product-card-title-price .product-card-contact { font-size: 13px; }
.product-card-title-price--no-price { grid-template-columns: 1fr; }
.product-card--showcase .product-card-description { margin: 2px 0 0; font-size: 9px; line-height: 1.4; -webkit-line-clamp: 1; }
.product-card--showcase .product-card-feature { padding-block: 7px; }
.product-card-showcase-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  min-width: 0;
  margin-top: auto;
}
.product-card-showcase-action .product-card-meta { flex-wrap: nowrap; overflow: hidden; }
.product-card-buy--compact {
  width: 44px;
  min-width: 44px;
  min-height: 40px;
  height: 40px;
  padding: 0 8px;
  gap: 6px;
  overflow: hidden;
  transition: width .2s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.product-card-buy--compact .product-card-buy-label { width: 0; overflow: hidden; opacity: 0; white-space: nowrap; transition: width .2s ease, opacity .15s ease; }
.product-card-buy--compact .product-card-buy-icon { width: 24px; height: 24px; }

/* Reference card 3: structured catalog card with an interactive image pager. */
.product-card--catalog {
  grid-template-rows: minmax(0, 43%) minmax(0, 57%);
  aspect-ratio: 34 / 50;
  padding: 9px;
  border-color: rgba(15, 34, 74, .06);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 34, 74, .09), inset 0 1px 0 #fff;
}
.product-card--catalog .product-card-media { border-radius: 16px; touch-action: pan-y; }
.product-card--catalog .product-card-image { user-select: none; -webkit-user-drag: none; }
.product-card-slider-dots {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 9px;
  z-index: 4;
  display: flex;
  gap: 4px;
  padding: 4px 6px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .25);
  transform: translateX(-50%);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
html[dir="rtl"] .product-card-slider-dots { transform: translateX(50%); }
.product-card-slider-dots button {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .52);
  cursor: pointer;
}
.product-card-slider-dots button.active { width: 14px; border-radius: 999px; background: #fff; }
.product-card-slider-dots button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.product-card-slider-progress {
  position: absolute;
  inset-inline: 18px;
  inset-block-end: 34px;
  z-index: 4;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.product-card-slider-progress--below-dots {
  inset-block-end: 6px;
}
.product-card-slider-progress--overlay {
  inset-inline: 28px;
  background: rgba(255, 255, 255, .28);
}
.product-card--cinematic .product-card-slider-progress--overlay {
  inset-block-start: 4px;
  inset-block-end: auto;
}
.product-card-slider-progress--overlay.product-card-slider-progress--below-dots {
  inset-block-end: calc(43% - 16px);
}
.product-card--cinematic .product-card-slider-progress--overlay.product-card-slider-progress--below-dots {
  inset-block-start: 4px;
  inset-block-end: auto;
}
.product-card-slider-progress-bar {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: rgba(255, 255, 255, .94);
  transform: scaleX(0);
  transform-origin: left center;
}
html[dir="rtl"] .product-card-slider-progress-bar { transform-origin: right center; }
.product-card-media.is-autoplaying .product-card-slider-progress { opacity: 1; }
.product-card--catalog .product-card-body { gap: 8px; padding: 10px 6px 7px; }
.product-card-catalog-price .product-card-price { font-size: 18px; }
.product-card-catalog-heading { min-width: 0; }
.product-card-catalog-heading p {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  margin: 3px 0 0;
  overflow: hidden;
  color: #6b7280;
  font-size: 9px;
  line-height: 1.3;
  white-space: nowrap;
}
.product-card-catalog-heading p span:first-child { overflow: hidden; text-overflow: ellipsis; }
.product-card-catalog-heading code { flex: 0 0 auto; color: #374151; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.product-card--catalog .product-card-feature { padding-block: 8px; }
.product-card-catalog-extra {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #7b8490;
  font-size: 9px;
}
.product-card-catalog-extra > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-card--catalog .product-card-stock { padding: 5px 8px; }

/* Reference cards 4-6: full-image layouts with readable in-flow content over a controlled gradient. */
.product-card--cinematic,
.product-card--floating,
.product-card--hero {
  display: flex;
  align-items: flex-end;
  padding: 0;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .28);
  border-radius: 23px;
  background: #10201b;
  box-shadow: 0 24px 58px rgba(15, 34, 74, .14), inset 0 1px 0 rgba(255, 255, 255, .2);
}
.product-card--cinematic { aspect-ratio: 7 / 10; }
.product-card--floating { aspect-ratio: 18 / 25; }
.product-card--hero { aspect-ratio: 37 / 50; }
.product-card--cinematic .product-card-media,
.product-card--floating .product-card-media,
.product-card--hero .product-card-media {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  touch-action: pan-y;
}
.product-card--cinematic .product-card-media::after,
.product-card--floating .product-card-media::after,
.product-card--hero .product-card-media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.product-card--cinematic .product-card-media::after {
  background: linear-gradient(180deg, rgba(4, 18, 14, 0) 31%, rgba(4, 22, 16, .14) 47%, rgba(3, 20, 14, .84) 72%, rgba(2, 14, 10, .98) 100%);
}
.product-card--floating .product-card-media::after {
  background: linear-gradient(180deg, rgba(21, 18, 11, 0) 28%, rgba(24, 26, 14, .15) 45%, rgba(22, 35, 16, .82) 69%, rgba(10, 26, 12, .98) 100%);
}
.product-card--hero .product-card-media::after {
  background: linear-gradient(180deg, rgba(6, 19, 16, 0) 28%, rgba(6, 24, 17, .16) 46%, rgba(7, 30, 18, .85) 70%, rgba(4, 22, 13, .99) 100%);
}
.product-card--cinematic .product-card-badge,
.product-card--floating .product-card-badge {
  border-color: rgba(255, 255, 255, .45);
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 8px 22px rgba(3, 17, 12, .16), inset 0 1px 0 rgba(255, 255, 255, .75);
}
.product-card-overlay-body {
  position: relative;
  z-index: 3;
  width: 100%;
  margin-top: auto;
  padding: 18px 18px 17px;
  gap: 10px;
  color: #fff;
  background: transparent;
}
.product-card--cinematic .product-card-overlay-body { min-height: 45%; }
.product-card--floating .product-card-overlay-body { min-height: 49%; }
.product-card--hero .product-card-overlay-body { min-height: 47%; }
.product-card-overlay-body h3,
.product-card-overlay-body .product-card-price,
.product-card-overlay-body .product-card-contact { color: #fff; }
.product-card-overlay-body h3 { font-size: clamp(16px, 1.35vw, 21px); line-height: 1.35; }
.product-card-overlay-heading,
.product-card-floating-price,
.product-card-hero-purchase,
.product-card-overlay-footer,
.product-card-floating-footer {
  display: grid;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
.product-card-overlay-heading { grid-template-columns: minmax(0, 1fr) auto; }
.product-card-overlay-heading--no-price { grid-template-columns: 1fr; }
.product-card--cinematic .product-card-overlay-heading {
  grid-template-columns: 1fr;
  align-items: start;
  margin-top: 10px;
}
.product-card--cinematic .product-card-overlay-heading h3 {
  display: -webkit-box;
  min-height: calc(1.35em * 2);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card-overlay-price { min-width: 0; text-align: end; }
.product-card-overlay-price .product-card-price,
.product-card-overlay-price .product-card-contact { font-size: 16px; }
.product-card-overlay-footer--purchase {
  grid-template-columns: auto auto;
  justify-content: space-between;
  align-items: center;
}
.product-card-overlay-footer--no-price {
  grid-template-columns: 1fr;
  justify-items: start;
}
.product-card-overlay-footer-price {
  min-width: 0;
  text-align: end;
}
.product-card-overlay-footer-price .product-card-price,
.product-card-overlay-footer-price .product-card-contact {
  color: #fff;
  font-size: clamp(16px, 1.45vw, 22px);
}
.product-card-overlay-subline {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  margin: -3px 0 0;
  overflow: hidden;
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  line-height: 1.45;
  white-space: nowrap;
}
.product-card-overlay-subline span:first-child { overflow: hidden; text-overflow: ellipsis; }
.product-card-overlay-subline code { flex: 0 0 auto; color: rgba(255, 255, 255, .78); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.product-card-feature-row--overlay { border-color: rgba(255, 255, 255, .16); }
.product-card-feature-row--overlay .product-card-feature {
  color: rgba(255, 255, 255, .76);
}
.product-card-feature-row--overlay .product-card-feature + .product-card-feature { border-color: rgba(255, 255, 255, .16); }
.product-card-overlay-footer { grid-template-columns: minmax(0, 1fr) auto; }
.product-card-overlay-footer .product-card-stock,
.product-card-floating-footer .product-card-stock {
  width: fit-content;
  max-width: 100%;
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.product-card-overlay-footer .product-card-stock--available,
.product-card-floating-footer .product-card-stock--available {
  color: #86efac;
  border-color: rgba(134, 239, 172, .28);
  background: rgba(22, 101, 52, .18);
}
.product-card-overlay-footer .product-card-stock--out_of_stock,
.product-card-floating-footer .product-card-stock--out_of_stock {
  color: #fca5a5;
  border-color: rgba(252, 165, 165, .26);
  background: rgba(180, 35, 24, .18);
}
.product-card-overlay-footer .product-card-stock--pre_order,
.product-card-floating-footer .product-card-stock--pre_order {
  color: #fcd34d;
  border-color: rgba(252, 211, 77, .28);
  background: rgba(180, 83, 9, .18);
}
.product-card-buy--overlay-compact,
.product-card-buy--overlay-large {
  border-color: rgba(255, 255, 255, .78);
  background: rgba(255, 255, 255, .94);
  color: #102019;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2), inset 0 1px 0 #fff;
}
.product-card-buy--overlay-compact {
  min-width: 92px;
  min-height: 40px;
  padding: 0 14px;
  font-size: 12px;
}
.product-card-buy--overlay-compact .product-card-buy-icon,
.product-card-buy--overlay-large .product-card-buy-icon { background: #102019; color: #fff; }
.product-card-slider-dots--overlay {
  inset-block-end: 43%;
  background: rgba(0, 0, 0, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}
.product-card-slider-dots--inline {
  position: relative;
  inset: auto;
  align-self: center;
  margin: 1px 0 2px;
  transform: none;
  background: rgba(0, 0, 0, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}
html[dir="rtl"] .product-card-slider-dots--inline {
  transform: none;
}

.product-card-floating-price { grid-template-columns: minmax(0, 1fr) auto; }
.product-card-floating-price .product-card-price,
.product-card-floating-price .product-card-contact { font-size: clamp(18px, 1.55vw, 24px); }
.product-card-floating-copy { min-width: 0; }
.product-card-floating-copy h3 { -webkit-line-clamp: 1; }
.product-card-floating-footer {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, .15);
  color: rgba(255, 255, 255, .64);
  font-size: 9px;
}
.product-card-floating-footer > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-card-floating-footer--purchase {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-top: 0;
  border-top: 0;
  color: #fff;
  font-size: inherit;
}
.product-card-floating-footer--no-price {
  grid-template-columns: 1fr;
  justify-items: end;
}
.product-card-floating-footer-price { min-width: 0; }
.product-card-floating-footer-price .product-card-price,
.product-card-floating-footer-price .product-card-contact {
  font-size: clamp(18px, 1.55vw, 24px);
  color: #fff;
}
.product-card-hero-copy { min-width: 0; }
.product-card-hero-copy h3 {
  display: -webkit-box;
  overflow: hidden;
  min-height: calc(1.35em * 2);
  font-size: clamp(18px, 1.5vw, 23px);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-card-hero-purchase { grid-template-columns: minmax(0, .36fr) minmax(0, .64fr); margin-top: 2px; }
.product-card-hero-purchase--no-price { grid-template-columns: 1fr; }
.product-card-price-pill {
  display: flex;
  min-width: 0;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.product-card-price-pill .product-card-price,
.product-card-price-pill .product-card-contact { font-size: 15px; text-align: center; }
.product-card-catalog-price:empty,
.product-card-overlay-price:empty,
.product-card-price-pill:empty { display: none; }
.product-card-buy--overlay-large {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 0 18px;
  font-size: 13px;
}

/* List view adapts all card types without fixed or overlapping controls. */
.product-list .product-card {
  grid-template-areas: 'media body';
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  grid-template-rows: minmax(196px, auto);
  aspect-ratio: auto;
  min-height: 220px;
  padding: 12px;
  border-radius: 30px;
}
html[dir="rtl"] .product-list .product-card { grid-template-areas: 'body media'; }
.product-list .product-card-media {
  position: relative;
  aspect-ratio: auto;
  inset: auto;
  grid-area: media;
  min-height: 196px;
  border-radius: 24px;
}
.product-list .product-card-body {
  position: relative;
  grid-area: body;
  width: auto;
  min-height: 0;
  padding: 18px 22px;
  border: 0;
  border-radius: 24px;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.product-list .product-card--glass .product-card-body {
  border: 1px solid rgba(255, 255, 255, .64);
  background: rgba(255, 255, 255, .58);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
  backdrop-filter: blur(20px) saturate(130%);
}
.product-list .product-card-category { display: block; }
.product-list .product-card h3 { font-size: 21px; -webkit-line-clamp: 2; }
.product-list .product-card-description { -webkit-line-clamp: 2; }
.product-list .product-card-purchase { margin-top: auto; }
.product-list .product-card--feature .product-card-buy--full,
.product-list .product-card--catalog .product-card-buy--full { width: auto; min-width: 126px; align-self: flex-end; }
.product-list .product-card--showcase .product-card-buy--compact { width: 96px; }
.product-list .product-card--showcase .product-card-buy--compact .product-card-buy-label { width: auto; opacity: 1; }
.product-list .product-card-feature-row { max-width: 520px; }
.product-list .product-card-chip-row { max-height: none; }

.product-list .product-card--cinematic,
.product-list .product-card--floating,
.product-list .product-card--hero {
  display: flex;
  min-height: 300px;
  padding: 0;
  border-radius: 26px;
}
.product-list .product-card--cinematic .product-card-media,
.product-list .product-card--floating .product-card-media,
.product-list .product-card--hero .product-card-media {
  position: absolute;
  inset: 0;
  min-height: 0;
  border-radius: inherit;
}
.product-list .product-card--cinematic .product-card-overlay-body,
.product-list .product-card--floating .product-card-overlay-body,
.product-list .product-card--hero .product-card-overlay-body {
  width: min(620px, 72%);
  min-height: 0;
  margin-inline-start: auto;
  padding: 28px 30px 26px;
  background: linear-gradient(90deg, rgba(3, 17, 12, 0), rgba(3, 17, 12, .14) 12%, rgba(3, 17, 12, .78) 48%, rgba(3, 17, 12, .96) 100%);
}
html[dir="rtl"] .product-list .product-card--cinematic .product-card-overlay-body,
html[dir="rtl"] .product-list .product-card--floating .product-card-overlay-body,
html[dir="rtl"] .product-list .product-card--hero .product-card-overlay-body {
  margin-inline-start: 0;
  margin-inline-end: auto;
  background: linear-gradient(270deg, rgba(3, 17, 12, 0), rgba(3, 17, 12, .14) 12%, rgba(3, 17, 12, .78) 48%, rgba(3, 17, 12, .96) 100%);
}
.product-list .product-card--cinematic .product-card-slider-dots--overlay { inset-block-end: 40%; inset-inline-start: 20%; }
html[dir="rtl"] .product-list .product-card--cinematic .product-card-slider-dots--overlay { inset-inline-start: 80%; }

.detail-heading-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.product-detail-sku { background: var(--soft); box-shadow: none; }
.related-product-sku { margin-top: 4px; padding: 4px 7px; background: var(--soft); box-shadow: none; font-size: 10px; }

@media (hover: hover) and (pointer: fine) {
  .product-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, .98);
    box-shadow: 0 34px 76px rgba(15, 34, 74, .14), inset 0 1px 0 rgba(255, 255, 255, .96);
  }
  .product-card:hover .product-card-image--primary { transform: scale(1.035); }
  .product-card.has-secondary-image:hover .product-card-image--primary { opacity: 0; }
  .product-card.has-secondary-image:hover .product-card-image--secondary { opacity: 1; transform: scale(1.035); }
  .product-card-buy:not(:disabled):hover {
    transform: translateY(-2px);
    background: #fff;
    box-shadow: 0 17px 36px rgba(15, 23, 42, .16), inset 0 1px 0 #fff;
  }
  .product-card-buy--full:not(:disabled):hover {
    background: linear-gradient(180deg, #505050, #171717);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 13px 25px rgba(15, 23, 42, .2);
  }
  .product-card--showcase:hover .product-card-buy--compact { width: 96px; }
  .product-card--showcase:hover .product-card-buy--compact .product-card-buy-label { width: auto; opacity: 1; }
}
.product-card-buy:not(:disabled):active { transform: translateY(0) scale(.97); }

html[data-theme="dark"] .product-card--soft {
  border-color: rgba(148, 163, 184, .18);
  background: #101b2a;
  box-shadow: 0 28px 66px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .04);
}
html[data-theme="dark"] .product-card-media { background: #091522; }
html[data-theme="dark"] .product-card h3,
html[data-theme="dark"] .product-card-price,
html[data-theme="dark"] .product-card-contact { color: #f8fafc; }
html[data-theme="dark"] .product-card-category,
html[data-theme="dark"] .product-card-description { color: #aebdce; }
html[data-theme="dark"] .product-card-sku,
html[data-theme="dark"] .product-card-stock {
  border-color: rgba(148, 163, 184, .18);
  background: rgba(8, 20, 37, .68);
  color: #e6eef9;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
html[data-theme="dark"] .product-card-stock--available { color: #86efac; }
html[data-theme="dark"] .product-card-stock--out_of_stock { color: #fca5a5; }
html[data-theme="dark"] .product-card-stock--pre_order { color: #fcd34d; }
html[data-theme="dark"] .product-card--glass .product-card-body,
html[data-theme="dark"] .product-list .product-card--glass .product-card-body {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(8, 18, 31, .68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
html[data-theme="dark"] .product-card--glass .product-card-category,
html[data-theme="dark"] .product-card--glass .product-card-description { color: #d1d9e5; }
html[data-theme="dark"] .product-card--feature,
html[data-theme="dark"] .product-card--showcase,
html[data-theme="dark"] .product-card--catalog {
  border-color: rgba(148, 163, 184, .18);
  background: #101b2a;
  box-shadow: 0 24px 58px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .04);
}
html[data-theme="dark"] .product-card-feature-row { border-color: rgba(148, 163, 184, .16); }
html[data-theme="dark"] .product-card-feature + .product-card-feature { border-color: rgba(148, 163, 184, .16); }
html[data-theme="dark"] .product-card-feature,
html[data-theme="dark"] .product-card-catalog-extra,
html[data-theme="dark"] .product-card-catalog-heading p { color: #aebdce; }
html[data-theme="dark"] .product-card-chip { background: #17263a; color: #dce7f5; }
html[data-theme="dark"] .product-card-catalog-heading code { color: #dce7f5; }
html[data-theme="dark"] .product-card-buy { border-color: rgba(255, 255, 255, .7); background: rgba(255, 255, 255, .92); color: #111827; }
html[data-theme="dark"] .product-card-buy--full { border-color: rgba(255, 255, 255, .16); background: linear-gradient(180deg, #424242, #111); color: #fff; }
html[data-theme="dark"] .product-detail-sku,
html[data-theme="dark"] .related-product-sku { background: #081425; color: #d8e4f2; border-color: #29405c; }

@media (max-width: 850px) {
  .store-layout .product-grid .product-card {
    display: grid !important;
    aspect-ratio: 31 / 50 !important;
    min-height: 0 !important;
    border-radius: 16px !important;
  }
  .store-layout .product-grid .product-card--soft {
    grid-template-rows: minmax(0, 57%) minmax(0, 43%) !important;
    padding: 5px !important;
  }
  .store-layout .product-grid .product-card-media {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 12px !important;
  }
  .store-layout .product-grid .product-card--glass {
    display: flex !important;
    padding: 0 !important;
  }
  .store-layout .product-grid .product-card--glass .product-card-media {
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
  }
  .store-layout .product-grid .product-card-body {
    display: flex !important;
    width: auto !important;
    min-height: 0 !important;
    gap: 4px !important;
    padding: 6px 4px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .store-layout .product-grid .product-card--glass .product-card-body {
    width: 100% !important;
    min-height: 48% !important;
    margin-top: auto !important;
    padding: 7px 6px 6px !important;
    border-top: 1px solid rgba(255, 255, 255, .58) !important;
    border-radius: 12px 12px 16px 16px !important;
    background: rgba(255, 255, 255, .66) !important;
    -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
    backdrop-filter: blur(14px) saturate(125%) !important;
  }
  .store-layout .product-grid .product-card-category,
  .store-layout .product-grid .product-card-description { display: none !important; }
  .store-layout .product-grid .product-card h3 {
    display: -webkit-box !important;
    min-height: 2.8em !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
  .store-layout .product-grid .product-card-meta {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    min-width: 0 !important;
  }
  .store-layout .product-grid .product-card-sku {
    min-width: 0 !important;
    padding: 3px 4px !important;
    font-size: 6.5px !important;
  }
  .store-layout .product-grid .product-card-stock {
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }
  .store-layout .product-grid .product-card-stock::before { width: 6px; height: 6px; margin: auto; }
  .store-layout .product-grid .product-card-purchase {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 3px !important;
    margin-top: auto !important;
  }
  .store-layout .product-grid .product-card-purchase--no-price {
    grid-template-columns: 1fr !important;
    justify-items: end !important;
  }
  .store-layout .product-grid .product-card-price,
  .store-layout .product-grid .product-card-contact {
    display: block !important;
    min-width: 0 !important;
    font-size: 8px !important;
  }
  .store-layout .product-grid .product-card-buy {
    display: inline-flex !important;
    width: 27px !important;
    min-width: 27px !important;
    min-height: 27px !important;
    height: 27px !important;
    padding: 0 !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, .12) !important;
  }
  .store-layout .product-grid .product-card-buy-label { display: none !important; }
  .store-layout .product-grid .product-card-buy-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 14px !important;
  }
  .store-layout .product-grid .product-card--feature,
  .store-layout .product-grid .product-card--catalog {
    aspect-ratio: 34 / 50 !important;
    padding: 4px !important;
  }
  .store-layout .product-grid .product-card--feature { grid-template-rows: minmax(0, 44%) minmax(0, 56%) !important; }
  .store-layout .product-grid .product-card--showcase {
    grid-template-rows: minmax(0, 66%) minmax(0, 34%) !important;
    aspect-ratio: 36 / 50 !important;
    padding: 4px !important;
  }
  .store-layout .product-grid .product-card--catalog { grid-template-rows: minmax(0, 43%) minmax(0, 57%) !important; }
  .store-layout .product-grid .product-card--feature .product-card-body,
  .store-layout .product-grid .product-card--showcase .product-card-body,
  .store-layout .product-grid .product-card--catalog .product-card-body { padding: 5px 3px 3px !important; gap: 3px !important; }
  .store-layout .product-grid .product-card-badge {
    inset-block-start: 5px !important;
    inset-inline-start: 5px !important;
    width: 20px !important;
    min-height: 20px !important;
    padding: 3px !important;
    font-size: 0 !important;
  }
  .store-layout .product-grid .product-card-badge svg { width: 11px !important; height: 11px !important; }
  .store-layout .product-grid .product-card-media-control { inset-block-start: 5px !important; inset-inline-end: 5px !important; min-width: 21px !important; min-height: 18px !important; }
  .store-layout .product-grid .product-card-feature-row { min-height: 22px !important; }
  .store-layout .product-grid .product-card-feature { gap: 0 !important; padding: 4px 1px !important; font-size: 0 !important; }
  .store-layout .product-grid .product-card-feature-icon svg { width: 11px !important; height: 11px !important; }
  .store-layout .product-grid .product-card-chip-row { display: none !important; }
  .store-layout .product-grid .product-card-feature-price { margin-top: auto !important; }
  .store-layout .product-grid .product-card--feature .product-card-price,
  .store-layout .product-grid .product-card--feature .product-card-contact,
  .store-layout .product-grid .product-card--catalog .product-card-price,
  .store-layout .product-grid .product-card--catalog .product-card-contact { font-size: 7.5px !important; }
  .store-layout .product-grid .product-card-title-price { gap: 3px !important; }
  .store-layout .product-grid .product-card--showcase .product-card-title-price .product-card-price,
  .store-layout .product-grid .product-card--showcase .product-card-title-price .product-card-contact { font-size: 7px !important; }
  .store-layout .product-grid .product-card--showcase .product-card-feature-row { display: none !important; }
  .store-layout .product-grid .product-card-showcase-action { display: block !important; margin-top: auto !important; }
  .store-layout .product-grid .product-card-showcase-action .product-card-meta { display: none !important; }
  .store-layout .product-grid .product-card-buy--compact,
  .store-layout .product-grid .product-card-buy--full {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 24px !important;
    height: 24px !important;
    padding: 0 4px !important;
    gap: 3px !important;
    font-size: 7px !important;
  }
  .store-layout .product-grid .product-card-buy--compact .product-card-buy-label,
  .store-layout .product-grid .product-card-buy--full .product-card-buy-label { display: inline !important; width: auto !important; opacity: 1 !important; }
  .store-layout .product-grid .product-card-buy--compact .product-card-buy-icon,
  .store-layout .product-grid .product-card-buy--full .product-card-buy-icon { display: none !important; }
  .store-layout .product-grid .product-card-catalog-heading p { margin-top: 1px !important; font-size: 6px !important; }
  .store-layout .product-grid .product-card--catalog .product-card-feature-row { display: none !important; }
  .store-layout .product-grid .product-card-catalog-extra { gap: 3px !important; font-size: 6px !important; }
  .store-layout .product-grid .product-card-catalog-extra .product-card-stock { width: 14px !important; height: 14px !important; padding: 0 !important; }
  .store-layout .product-grid .product-card-slider-dots { inset-block-end: 5px !important; gap: 2px !important; padding: 3px 4px !important; }
  .store-layout .product-grid .product-card-slider-dots button { width: 4px !important; height: 4px !important; }
  .store-layout .product-grid .product-card-slider-dots button.active { width: 9px !important; }
  .store-layout .product-grid .product-card-slider-progress { inset-inline: 12px !important; inset-block-end: 22px !important; }
  .store-layout .product-grid .product-card-slider-progress--below-dots { inset-block-end: 1px !important; }
  .store-layout .product-grid .product-card-slider-progress--overlay { inset-inline: 14px !important; }
  .store-layout .product-grid .product-card-slider-progress--overlay.product-card-slider-progress--below-dots { inset-block-end: calc(39% - 12px) !important; }
  .store-layout .product-grid .product-card--cinematic .product-card-slider-progress--overlay,
  .store-layout .product-grid .product-card--cinematic .product-card-slider-progress--overlay.product-card-slider-progress--below-dots {
    inset-block-start: 3px !important;
    inset-block-end: auto !important;
  }
  .store-layout .product-grid .product-card--cinematic,
  .store-layout .product-grid .product-card--floating,
  .store-layout .product-grid .product-card--hero {
    display: flex !important;
    align-items: flex-end !important;
    padding: 0 !important;
    border-radius: 16px !important;
  }
  .store-layout .product-grid .product-card--cinematic { aspect-ratio: 7 / 10 !important; }
  .store-layout .product-grid .product-card--floating { aspect-ratio: 18 / 25 !important; }
  .store-layout .product-grid .product-card--hero { aspect-ratio: 37 / 50 !important; }
  .store-layout .product-grid .product-card--cinematic .product-card-media,
  .store-layout .product-grid .product-card--floating .product-card-media,
  .store-layout .product-grid .product-card--hero .product-card-media {
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
  }
  .store-layout .product-grid .product-card-overlay-body {
    width: 100% !important;
    min-height: 0 !important;
    margin-top: auto !important;
    padding: 7px 6px 6px !important;
    gap: 4px !important;
    color: #fff !important;
    background: transparent !important;
  }
  .store-layout .product-grid .product-card-overlay-body h3 {
    min-height: 0 !important;
    color: #fff !important;
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 1 !important;
  }
  .store-layout .product-grid .product-card--cinematic .product-card-overlay-heading {
    margin-top: 5px !important;
  }
  .store-layout .product-grid .product-card--cinematic .product-card-overlay-body h3 {
    min-height: calc(1.25em * 2) !important;
    -webkit-line-clamp: 2 !important;
  }
  .store-layout .product-grid .product-card--hero .product-card-overlay-body h3 {
    min-height: calc(1.25em * 2) !important;
    -webkit-line-clamp: 2 !important;
  }
  .store-layout .product-grid .product-card-overlay-subline {
    display: flex !important;
    gap: 2px !important;
    margin: 0 !important;
    font-size: 5.5px !important;
    line-height: 1.2 !important;
  }
  .store-layout .product-grid .product-card-overlay-subline span:first-child { max-width: 58% !important; }
  .store-layout .product-grid .product-card-overlay-heading,
  .store-layout .product-grid .product-card-floating-price,
  .store-layout .product-grid .product-card-overlay-footer,
  .store-layout .product-grid .product-card-floating-footer,
  .store-layout .product-grid .product-card-hero-purchase { gap: 3px !important; }
  .store-layout .product-grid .product-card-overlay-price .product-card-price,
  .store-layout .product-grid .product-card-overlay-price .product-card-contact,
  .store-layout .product-grid .product-card-floating-price .product-card-price,
  .store-layout .product-grid .product-card-floating-price .product-card-contact,
  .store-layout .product-grid .product-card-price-pill .product-card-price,
  .store-layout .product-grid .product-card-price-pill .product-card-contact {
    color: #fff !important;
    font-size: 7px !important;
  }
  .store-layout .product-grid .product-card--cinematic .product-card-overlay-footer {
    grid-template-columns: auto auto !important;
    justify-content: space-between !important;
  }
  .store-layout .product-grid .product-card--cinematic .product-card-overlay-footer-price .product-card-price,
  .store-layout .product-grid .product-card--cinematic .product-card-overlay-footer-price .product-card-contact {
    color: #fff !important;
    font-size: 8px !important;
  }
  .store-layout .product-grid .product-card-feature-row--overlay { min-height: 18px !important; }
  .store-layout .product-grid .product-card-feature-row--overlay .product-card-feature { padding: 3px 1px !important; }
  .store-layout .product-grid .product-card-floating-footer {
    padding-top: 4px !important;
    font-size: 5.5px !important;
  }
  .store-layout .product-grid .product-card-floating-footer--purchase {
    padding-top: 0 !important;
    border-top: 0 !important;
    font-size: inherit !important;
  }
  .store-layout .product-grid .product-card-floating-footer-price .product-card-price,
  .store-layout .product-grid .product-card-floating-footer-price .product-card-contact {
    color: #fff !important;
    font-size: 7px !important;
  }
  .store-layout .product-grid .product-card-floating-footer--no-price,
  .store-layout .product-grid .product-card-hero-purchase--no-price {
    grid-template-columns: 1fr !important;
    justify-items: end !important;
  }
  .store-layout .product-grid .product-card-overlay-footer .product-card-stock,
  .store-layout .product-grid .product-card-floating-footer .product-card-stock {
    width: 13px !important;
    height: 13px !important;
    padding: 0 !important;
    font-size: 0 !important;
  }
  .store-layout .product-grid .product-card-buy--overlay-compact {
    display: inline-flex !important;
    width: auto !important;
    min-width: 38px !important;
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 5px !important;
    gap: 2px !important;
    font-size: 6px !important;
  }
  .store-layout .product-grid .product-card-buy--overlay-compact .product-card-buy-label,
  .store-layout .product-grid .product-card-buy--overlay-large .product-card-buy-label {
    display: inline !important;
  }
  .store-layout .product-grid .product-card-buy--overlay-compact .product-card-buy-icon,
  .store-layout .product-grid .product-card-buy--overlay-large .product-card-buy-icon { display: none !important; }
  .store-layout .product-grid .product-card-slider-dots--overlay {
    inset-block-end: 46% !important;
    gap: 2px !important;
  }
  .store-layout .product-grid .product-card-slider-dots--inline {
    position: relative !important;
    inset: auto !important;
    align-self: center !important;
    margin: 0 0 1px !important;
    gap: 2px !important;
    padding: 3px 4px !important;
    transform: none !important;
  }
  .store-layout .product-grid .product-card-price-pill {
    min-height: 22px !important;
    padding: 0 4px !important;
  }
  .store-layout .product-grid .product-card-buy--overlay-large {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 22px !important;
    height: 22px !important;
    padding: 0 5px !important;
    font-size: 6px !important;
  }
  html[data-theme="dark"] .store-layout .product-grid .product-card--glass .product-card-body { background: rgba(8, 18, 31, .72) !important; }

  .store-layout .product-list .product-card {
    display: grid !important;
    grid-template-areas: 'media body' !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    aspect-ratio: auto !important;
    min-height: 120px !important;
    padding: 6px !important;
    border-radius: 18px !important;
  }
  html[dir="rtl"] .store-layout .product-list .product-card {
    grid-template-areas: 'body media' !important;
    grid-template-columns: minmax(0, 1fr) 96px !important;
  }
  .store-layout .product-list .product-card-media {
    position: relative !important;
    inset: auto !important;
    grid-area: media !important;
    width: auto !important;
    min-height: 108px !important;
    height: auto !important;
    border-radius: 14px !important;
  }
  .store-layout .product-list .product-card-body {
    position: relative !important;
    grid-area: body !important;
    width: auto !important;
    min-height: 0 !important;
    gap: 5px !important;
    padding: 8px 9px !important;
    border-radius: 14px !important;
  }
  .store-layout .product-list .product-card--glass .product-card-body {
    border: 1px solid rgba(255, 255, 255, .6) !important;
    background: rgba(255, 255, 255, .58) !important;
  }
  .store-layout .product-list .product-card-category { display: block !important; font-size: 8px !important; margin-bottom: 2px !important; }
  .store-layout .product-list .product-card h3 { min-height: 0 !important; font-size: 13px !important; line-height: 1.35 !important; }
  .store-layout .product-list .product-card-description { display: -webkit-box !important; margin-top: 3px !important; font-size: 10px !important; line-height: 1.45 !important; -webkit-line-clamp: 1 !important; }
  .store-layout .product-list .product-card-meta { gap: 4px !important; }
  .store-layout .product-list .product-card-sku,
  .store-layout .product-list .product-card-stock { padding: 4px 6px !important; font-size: 8px !important; }
  .store-layout .product-list .product-card-purchase { display: grid !important; margin-top: auto !important; }
  .store-layout .product-list .product-card-price,
  .store-layout .product-list .product-card-contact { font-size: 11px !important; }
  .store-layout .product-list .product-card-buy { min-width: 72px !important; min-height: 34px !important; padding: 0 10px !important; font-size: 10px !important; }
  .store-layout .product-list .product-card-buy-icon { width: 18px !important; height: 18px !important; font-size: 13px !important; }
  .store-layout .product-list .product-card--cinematic,
  .store-layout .product-list .product-card--floating,
  .store-layout .product-list .product-card--hero {
    display: flex !important;
    grid-template-areas: none !important;
    grid-template-columns: none !important;
    min-height: 210px !important;
    padding: 0 !important;
    border-radius: 18px !important;
  }
  .store-layout .product-list .product-card--cinematic .product-card-media,
  .store-layout .product-list .product-card--floating .product-card-media,
  .store-layout .product-list .product-card--hero .product-card-media {
    position: absolute !important;
    inset: 0 !important;
    min-height: 0 !important;
    border-radius: inherit !important;
  }
  .store-layout .product-list .product-card--cinematic .product-card-overlay-body,
  .store-layout .product-list .product-card--floating .product-card-overlay-body,
  .store-layout .product-list .product-card--hero .product-card-overlay-body {
    width: 82% !important;
    min-height: 0 !important;
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
    padding: 16px 17px 14px !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(3, 17, 12, 0), rgba(3, 17, 12, .84) 38%, rgba(3, 17, 12, .97) 100%) !important;
  }
  html[dir="rtl"] .store-layout .product-list .product-card--cinematic .product-card-overlay-body,
  html[dir="rtl"] .store-layout .product-list .product-card--floating .product-card-overlay-body,
  html[dir="rtl"] .store-layout .product-list .product-card--hero .product-card-overlay-body {
    margin-inline-start: 0 !important;
    margin-inline-end: auto !important;
    background: linear-gradient(270deg, rgba(3, 17, 12, 0), rgba(3, 17, 12, .84) 38%, rgba(3, 17, 12, .97) 100%) !important;
  }
  .store-layout .product-list .product-card-overlay-body h3 { color: #fff !important; }
}

@media (max-width: 390px) {
  .store-layout .product-grid .product-card h3 { font-size: 9px !important; }
  .store-layout .product-grid .product-card-sku { font-size: 6px !important; }
  .store-layout .product-list .product-card { grid-template-columns: 86px minmax(0, 1fr) !important; }
  html[dir="rtl"] .store-layout .product-list .product-card { grid-template-columns: minmax(0, 1fr) 86px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .product-card,
  .product-card-image,
  .product-card-buy { transition: none !important; }
  .product-card:hover,
  .product-card-buy:hover,
  .product-card-buy:active { transform: none !important; }
}


/* Dedicated store list cards: one stable horizontal structure for all eight styles. */
.product-list .product-card--list {
  --list-card-bg: #fff;
  --list-card-border: rgba(148, 163, 184, .2);
  --list-card-soft: #f6f8fb;
  --list-card-muted: #68778a;
  position: relative;
  display: grid;
  grid-template-areas: 'media body actions';
  grid-template-columns: clamp(190px, 18vw, 230px) minmax(0, 1fr) clamp(158px, 15vw, 188px);
  grid-template-rows: minmax(176px, auto);
  gap: 0;
  min-height: 196px;
  padding: 10px;
  overflow: hidden;
  border: 1px solid var(--list-card-border);
  border-radius: 26px;
  background: var(--list-card-bg);
  box-shadow: 0 20px 44px rgba(15, 34, 74, .08), inset 0 1px 0 rgba(255,255,255,.88);
  aspect-ratio: auto;
}
html[dir="rtl"] .product-list .product-card--list {
  grid-template-areas: 'actions body media';
}
.product-list .product-card--list-soft { --list-card-accent: #d9e5f0; }
.product-list .product-card--list-glass { --list-card-accent: #c5d9e8; --list-card-bg: rgba(255,255,255,.78); }
.product-list .product-card--list-feature { --list-card-accent: #cad8f4; }
.product-list .product-card--list-showcase { --list-card-accent: #ead8bd; --list-card-bg: #fffdfa; }
.product-list .product-card--list-catalog { --list-card-accent: #d7d7d7; --list-card-bg: #fdfdfd; }
.product-list .product-card--list-cinematic { --list-card-accent: #9db8a8; --list-card-bg: #fbfdfc; }
.product-list .product-card--list-floating { --list-card-accent: #a7c1a8; --list-card-bg: #fbfdfb; }
.product-list .product-card--list-hero { --list-card-accent: #87a997; --list-card-bg: #fafdfb; }

.product-list .product-card--list .product-list-card-media {
  position: relative;
  inset: auto;
  grid-area: media;
  width: 100%;
  height: 100%;
  min-height: 176px;
  overflow: hidden;
  border-radius: 20px;
  background: #eef2f5;
  aspect-ratio: auto;
}
.product-list .product-card--list .product-list-card-media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(15,23,42,0) 58%, rgba(15,23,42,.12) 100%);
}
.product-list .product-card--list .product-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-list .product-card--list .product-card-badge {
  inset-block-start: 12px;
  inset-inline-end: 12px;
  z-index: 3;
}
.product-list-card-gallery-count {
  position: absolute;
  inset-inline-start: 12px;
  inset-block-end: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #1f2937;
  box-shadow: 0 8px 20px rgba(15,23,42,.12);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  font-size: 10px;
  font-weight: 800;
}
.product-list-card-gallery-count svg {
  width: 14px;
  height: 14px;
}

.product-list .product-card--list .product-list-card-body {
  position: relative;
  display: flex;
  grid-area: body;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  gap: 10px;
  padding: 18px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--text);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.product-list-card-eyebrow {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--list-card-muted);
  font-size: 11px;
  line-height: 1.35;
}
.product-list-card-eyebrow span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-list-card-eyebrow code {
  flex: 0 0 auto;
  padding: 4px 7px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 999px;
  background: var(--list-card-soft);
  color: #334155;
  font: 700 10px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.product-list-card-copy {
  display: grid;
  min-width: 0;
  gap: 7px;
}
.product-list .product-card--list .product-list-card-copy h3 {
  display: -webkit-box;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  color: var(--text);
  font-size: clamp(18px, 1.65vw, 23px);
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-list .product-card--list .product-card-description {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--list-card-muted);
  font-size: 12px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-list-card-facts {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: auto;
}
.product-list-card-fact {
  display: inline-flex;
  max-width: 100%;
  min-height: 30px;
  align-items: center;
  gap: 6px;
  padding: 0 9px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 999px;
  background: var(--list-card-soft);
  color: #475569;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.product-list-card-fact > span:first-child {
  display: inline-flex;
  flex: 0 0 auto;
}
.product-list-card-fact svg {
  width: 14px;
  height: 14px;
}
.product-list-card-fact--available { color: #166534; background: #f0fdf4; border-color: #bbf7d0; }
.product-list-card-fact--out_of_stock { color: #b42318; background: #fff5f4; border-color: #fecaca; }
.product-list-card-fact--pre_order { color: #a16207; background: #fffbeb; border-color: #fde68a; }
.product-list-card-fact--tag {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-list-card-actions {
  display: grid;
  grid-area: actions;
  align-content: center;
  gap: 14px;
  min-width: 0;
  padding: 18px 18px 18px 20px;
  border-inline-start: 0;
}
.product-list-card-actions--no-price {
  align-content: center;
}
.product-list-card-actions .product-card-price {
  color: var(--text);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}
.product-list .product-card--list .product-card-buy--list {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 12px;
}
.product-list .product-card--list .product-card-buy--list .product-card-buy-label {
  width: auto;
  opacity: 1;
}
.product-list .product-card--list .product-card-buy--list .product-card-buy-icon {
  width: 28px;
  height: 28px;
}

html[data-theme="dark"] .product-list .product-card--list {
  --list-card-bg: #0d1724;
  --list-card-border: rgba(148, 163, 184, .18);
  --list-card-soft: #152335;
  --list-card-muted: #a9b7c9;
  background: var(--list-card-bg);
  box-shadow: 0 20px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="dark"] .product-list .product-card--list .product-list-card-copy h3,
html[data-theme="dark"] .product-list-card-actions .product-card-price { color: #edf4fb; }
html[data-theme="dark"] .product-list-card-eyebrow code,
html[data-theme="dark"] .product-list-card-fact {
  border-color: rgba(148,163,184,.18);
  background: #152335;
  color: #c7d3e1;
}
html[data-theme="dark"] .product-list-card-fact--available { color: #86efac; background: rgba(22,101,52,.22); }
html[data-theme="dark"] .product-list-card-fact--out_of_stock { color: #fca5a5; background: rgba(180,35,24,.22); }
html[data-theme="dark"] .product-list-card-fact--pre_order { color: #fcd34d; background: rgba(180,83,9,.2); }
html[data-theme="dark"] .product-list-card-actions { border-color: rgba(148,163,184,.16); }

@media (max-width: 850px) {
  .store-layout .product-list .product-card--list {
    display: grid !important;
    grid-template-areas: 'media body' 'media actions' !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-template-rows: minmax(92px, auto) auto !important;
    min-height: 150px !important;
    gap: 0 !important;
    padding: 7px !important;
    border-radius: 20px !important;
  }
  html[dir="rtl"] .store-layout .product-list .product-card--list {
    grid-template-areas: 'body media' 'actions media' !important;
    grid-template-columns: minmax(0, 1fr) 112px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-media {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 136px !important;
    border-radius: 15px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-body {
    display: flex !important;
    width: auto !important;
    min-height: 0 !important;
    gap: 5px !important;
    padding: 9px 10px 4px !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-eyebrow {
    gap: 5px !important;
    font-size: 8px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-eyebrow code {
    padding: 3px 5px !important;
    font-size: 7px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-copy {
    gap: 3px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-copy h3 {
    min-height: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 2 !important;
  }
  .store-layout .product-list .product-card--list .product-card-description {
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
    -webkit-line-clamp: 1 !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-facts {
    gap: 4px !important;
    margin-top: auto !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-fact {
    min-height: 22px !important;
    padding: 0 6px !important;
    font-size: 7px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-fact--tag {
    display: none !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-fact svg {
    width: 10px !important;
    height: 10px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-actions {
    display: flex !important;
    grid-area: actions !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 5px 10px 9px !important;
    border-inline-start: 0 !important;
    border-block-start: 1px solid rgba(148,163,184,.16) !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-actions--no-price {
    justify-content: flex-end !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-actions .product-card-price {
    min-width: 0 !important;
    overflow: visible !important;
    font-size: 11px !important;
    text-align: start !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
  .store-layout .product-list .product-card--list .product-card-buy--list {
    width: auto !important;
    min-width: 82px !important;
    min-height: 34px !important;
    padding: 0 9px !important;
    font-size: 9px !important;
  }
  .store-layout .product-list .product-card--list .product-card-buy--list .product-card-buy-icon {
    width: 20px !important;
    height: 20px !important;
  }
  .store-layout .product-list .product-card--list .product-card-badge {
    inset-block-start: 8px !important;
    inset-inline-end: 8px !important;
    min-height: 24px !important;
    padding: 0 7px !important;
    font-size: 7px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-gallery-count {
    inset-inline-start: 8px !important;
    inset-block-end: 8px !important;
    min-height: 23px !important;
    padding: 0 7px !important;
    font-size: 7px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-gallery-count svg {
    width: 10px !important;
    height: 10px !important;
  }
}

@media (max-width: 390px) {
  .store-layout .product-list .product-card--list {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    min-height: 138px !important;
  }
  html[dir="rtl"] .store-layout .product-list .product-card--list {
    grid-template-columns: minmax(0, 1fr) 94px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-media {
    min-height: 124px !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-copy h3 {
    font-size: 12px !important;
  }
  .store-layout .product-list .product-card--list .product-card-description {
    display: none !important;
  }
  .store-layout .product-list .product-card--list .product-list-card-fact:nth-child(n+2) {
    display: none !important;
  }
  .store-layout .product-list .product-card--list .product-card-buy--list {
    min-width: 74px !important;
  }
}


/* Editorial public gallery: visually distinct from product cards. */
.gallery-page {
  padding: clamp(72px, 8vw, 112px) 0 clamp(86px, 10vw, 132px);
  overflow: clip;
}
.gallery-editorial-head {
  max-width: 820px;
  margin-bottom: clamp(32px, 5vw, 58px);
}
.gallery-editorial-head .page-title {
  margin: 10px 0 14px;
}
.gallery-editorial-head .page-subtitle {
  max-width: 620px;
  margin: 0;
}
.gallery-editorial-shell {
  display: grid;
  gap: clamp(28px, 4vw, 54px);
}
.gallery-editorial-feature,
.gallery-editorial-item {
  position: relative;
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  overflow: hidden;
  color: inherit;
  background: #e9eef4;
  cursor: zoom-in;
  text-align: inherit;
  box-shadow: none;
}
.gallery-editorial-feature {
  min-height: clamp(340px, 58vw, 720px);
  border-radius: clamp(22px, 3vw, 38px);
}
.gallery-editorial-feature img {
  width: 100%;
  height: clamp(340px, 58vw, 720px);
  display: block;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.22, .61, .36, 1), filter .35s ease;
}
.gallery-editorial-feature::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgba(4, 12, 24, .42));
  pointer-events: none;
}
.gallery-editorial-feature-mark,
.gallery-editorial-number {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  background: rgba(7, 18, 34, .58);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  backdrop-filter: blur(10px);
}
.gallery-editorial-feature-mark {
  inset-inline-end: 22px;
  bottom: 22px;
}
.gallery-editorial-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .82fr) minmax(0, 1fr);
  gap: clamp(16px, 2.25vw, 30px);
  align-items: start;
}
.gallery-editorial-column {
  display: grid;
  gap: clamp(16px, 2.25vw, 30px);
  align-content: start;
}
.gallery-editorial-column.column-2 {
  padding-top: clamp(26px, 5vw, 84px);
}
.gallery-editorial-column.column-3 {
  padding-top: clamp(8px, 2vw, 30px);
}
.gallery-editorial-item {
  border-radius: clamp(16px, 2vw, 26px);
}
.gallery-editorial-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .5s cubic-bezier(.22, .61, .36, 1), filter .35s ease;
}
.gallery-editorial-number {
  inset-inline-start: 14px;
  bottom: 14px;
  min-width: 34px;
  height: 28px;
  padding: 0 9px;
  opacity: .9;
}
.gallery-editorial-feature:hover img,
.gallery-editorial-feature:focus-visible img,
.gallery-editorial-item:hover img,
.gallery-editorial-item:focus-visible img {
  transform: scale(1.025);
  filter: saturate(1.04) contrast(1.02);
}
.gallery-editorial-feature:focus-visible,
.gallery-editorial-item:focus-visible {
  outline: 3px solid var(--brand-500);
  outline-offset: 5px;
}

body.gallery-lightbox-open {
  overflow: hidden;
}
.gallery-lightbox {
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  color: #fff;
  background: rgba(2, 8, 18, .97);
  overflow: hidden;
}
.gallery-lightbox::backdrop {
  background: rgba(2, 8, 18, .97);
}
.gallery-lightbox-toolbar {
  position: absolute;
  z-index: 3;
  inset-inline: 0;
  top: 0;
  min-height: 72px;
  padding: 16px clamp(18px, 3vw, 38px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: linear-gradient(180deg, rgba(2, 8, 18, .86), transparent);
  pointer-events: none;
}
.gallery-lightbox-toolbar [data-gallery-lightbox-counter] {
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}
.gallery-lightbox-close,
.gallery-lightbox-nav {
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.gallery-lightbox-close {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 30px;
  line-height: 1;
  pointer-events: auto;
}
.gallery-lightbox-stage {
  width: 100%;
  height: 100%;
  padding: 82px clamp(18px, 3vw, 40px) 28px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 58px;
  gap: clamp(12px, 2vw, 30px);
  align-items: center;
  direction: ltr;
}
.gallery-lightbox-stage img {
  width: 100%;
  height: 100%;
  max-height: calc(100dvh - 116px);
  min-width: 0;
  display: block;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}
.gallery-lightbox-nav {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 40px;
  line-height: 1;
}
.gallery-lightbox-close:hover,
.gallery-lightbox-close:focus-visible,
.gallery-lightbox-nav:hover,
.gallery-lightbox-nav:focus-visible {
  background: rgba(255, 255, 255, .22);
  border-color: rgba(255, 255, 255, .5);
  transform: scale(1.04);
  outline: none;
}

html[data-theme="dark"] .gallery-editorial-feature,
html[data-theme="dark"] .gallery-editorial-item {
  background: #0c1928;
}

@media (max-width: 900px) {
  .gallery-editorial-columns {
    grid-template-columns: 1fr 1fr;
  }
  .gallery-editorial-column.column-2 {
    padding-top: 34px;
  }
  .gallery-editorial-column.column-3 {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }
}

@media (max-width: 620px) {
  .gallery-page {
    padding-top: 54px;
  }
  .gallery-editorial-head {
    margin-bottom: 26px;
  }
  .gallery-editorial-feature {
    min-height: 0;
    border-radius: 18px;
  }
  .gallery-editorial-feature img {
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
  .gallery-editorial-feature::after {
    background: linear-gradient(180deg, transparent 68%, rgba(4, 12, 24, .36));
  }
  .gallery-editorial-feature-mark {
    inset-inline-end: 12px;
    bottom: 12px;
  }
  .gallery-editorial-columns,
  .gallery-editorial-column.column-3 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .gallery-editorial-column,
  .gallery-editorial-column.column-2,
  .gallery-editorial-column.column-3 {
    display: contents;
    padding-top: 0;
  }
  .gallery-editorial-item {
    border-radius: 16px;
  }
  .gallery-lightbox-toolbar {
    min-height: 62px;
    padding: 10px 12px;
  }
  .gallery-lightbox-stage {
    padding: 66px 10px 78px;
    grid-template-columns: 1fr;
  }
  .gallery-lightbox-stage img {
    max-height: calc(100dvh - 148px);
  }
  .gallery-lightbox-nav {
    position: absolute;
    z-index: 2;
    bottom: 16px;
    width: 48px;
    height: 48px;
    font-size: 34px;
  }
  .gallery-lightbox-nav.previous {
    left: calc(50% - 58px);
  }
  .gallery-lightbox-nav.next {
    right: calc(50% - 58px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-editorial-feature img,
  .gallery-editorial-item img,
  .gallery-lightbox-close,
  .gallery-lightbox-nav {
    transition: none;
  }
}

/* Lightweight CMS public pages */
.cms-page { min-height: 55vh; }
.cms-block { position: relative; }
.cms-hero { min-height: clamp(360px, 58vw, 620px); display: grid; overflow: hidden; background: var(--surface-2, #eef2f7); }
.cms-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cms-hero-overlay { position: relative; z-index: 1; display: grid; align-items: center; min-height: inherit; background: linear-gradient(90deg, rgba(7, 18, 38, .78), rgba(7, 18, 38, .28)); }
[dir="rtl"] .cms-hero-overlay { background: linear-gradient(270deg, rgba(7, 18, 38, .78), rgba(7, 18, 38, .28)); }
.cms-hero:not(.has-image) .cms-hero-overlay { background: linear-gradient(135deg, #0d2347, #1e4f86); }
.cms-hero-content { color: #fff; display: grid; gap: 18px; justify-items: start; }
.cms-hero-content h1 { margin: 0; max-width: 820px; font-size: clamp(34px, 6vw, 72px); line-height: 1.12; }
.cms-hero-content p { margin: 0; max-width: 700px; font-size: clamp(16px, 2vw, 21px); line-height: 1.9; color: rgba(255,255,255,.86); }
.cms-text { padding: clamp(52px, 7vw, 96px) 0; }
.cms-narrow { max-width: 880px; }
.cms-text h2 { margin: 0 0 22px; font-size: clamp(27px, 4vw, 44px); }
.cms-text p { margin: 0 0 18px; line-height: 2.05; color: var(--muted); font-size: 17px; }
.cms-align-center { text-align: center; }
.cms-align-center .cms-narrow { margin-inline: auto; }
.cms-image { padding: clamp(24px, 5vw, 68px) 0; }
.cms-image figure { margin: 0; display: grid; gap: 12px; }
.cms-image img { width: 100%; max-height: 760px; object-fit: contain; border-radius: 28px; background: var(--surface-2, #eef2f7); }
.cms-image figcaption { color: var(--muted); text-align: center; line-height: 1.8; }
.cms-button { padding: 12px 0 clamp(52px, 7vw, 90px); }
.cms-button.cms-align-center .cms-narrow { display: flex; justify-content: center; }
@media (max-width: 720px) {
  .cms-hero { min-height: 460px; }
  .cms-hero-overlay { align-items: end; padding-block: 56px; background: linear-gradient(0deg, rgba(7,18,38,.88), rgba(7,18,38,.18)); }
  [dir="rtl"] .cms-hero-overlay { background: linear-gradient(0deg, rgba(7,18,38,.88), rgba(7,18,38,.18)); }
  .cms-image img { border-radius: 20px; }
}

.gallery-preview-section {
  background: transparent;
}

body.gallery-lightbox-open {
  overflow: hidden;
}

.gallery-lightbox {
  width: min(1100px, calc(100vw - 32px));
  max-width: 1100px;
}

.gallery-lightbox-toolbar {
  align-items: flex-start;
  gap: 18px;
}

.gallery-lightbox-meta {
  display: grid;
  gap: 4px;
}

.gallery-lightbox-meta strong {
  font-size: .95rem;
  font-weight: 600;
}

.gallery-lightbox-media {
  width: min(88vw, 820px);
  max-height: 78vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-lightbox-stage img,
.gallery-lightbox-stage video {
  max-width: 100%;
  max-height: 78vh;
  border-radius: 26px;
  object-fit: contain;
  background: rgba(255,255,255,.04);
}

@media (max-width: 640px) {

  .gallery-lightbox {
    width: calc(100vw - 16px);
    padding: 18px 10px 14px;
  }

  .gallery-lightbox-stage {
    gap: 10px;
  }

  .gallery-lightbox-nav {
    position: static;
  }
}

.gallery-layout-host {
  width: 100%;
}

body.immersive-gallery-page .site-header,
body.immersive-gallery-page .footer {
  display: none;
}

body.immersive-gallery-page {
  background: #030815;
}

body.immersive-gallery-page #app {
  min-height: 100dvh;
}

.gallery-mobile-story {
  min-height: 100dvh;
  padding: 0;
  background: #030815;
  color: #fff;
}

.gallery-mobile-story-screen {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 10px;
  padding: max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));
}

.gallery-mobile-story-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 0;
}

.gallery-mobile-story-brand {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.gallery-mobile-story-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gallery-mobile-story-icon {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.gallery-mobile-story-icon svg {
  width: 20px;
  height: 20px;
}

.gallery-mobile-story-media {
  position: relative;
  display: block;
  width: 100%;
  min-height: calc(100dvh - 78px - max(18px, env(safe-area-inset-bottom)));
  border: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 32px;
  background: #09111f;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .34);
  text-align: start;
  cursor: grab;
}

.gallery-mobile-story-media:active {
  cursor: grabbing;
}

.gallery-mobile-story-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gallery-mobile-story-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 8, 21, .12) 0%, rgba(3, 8, 21, .04) 26%, rgba(3, 8, 21, .24) 56%, rgba(3, 8, 21, .72) 100%);
}

.gallery-mobile-story-title {
  position: absolute;
  inset-inline: 20px;
  bottom: 110px;
  z-index: 1;
  display: block;
  font-size: clamp(1.95rem, 7.8vw, 2.55rem);
  line-height: 1.08;
  font-weight: 800;
  color: #fff;
  text-shadow: 0 10px 28px rgba(0, 0, 0, .42);
}

.gallery-mobile-story-progress {
  position: absolute;
  inset-inline: 20px;
  bottom: 68px;
  z-index: 1;
  display: block;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
}

.gallery-mobile-story-progress-fill {
  position: absolute;
  inset: 0;
  width: 0;
  border-radius: inherit;
  background: #1c93ff;
  animation: galleryStoryProgress var(--gallery-autoplay-ms, 3000ms) linear forwards;
}

.gallery-mobile-story-footer {
  position: absolute;
  inset-inline: 20px;
  bottom: 22px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.gallery-mobile-story-counter {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .04em;
  direction: ltr;
}

.gallery-mobile-story-next {
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

.gallery-mobile-story-next i {
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1;
}

.gallery-mobile-story-media:focus-visible,
.gallery-mobile-story-icon:focus-visible,
.gallery-mobile-story-next:focus-visible {
  outline: 3px solid rgba(28,147,255,.38);
  outline-offset: 4px;
}

@keyframes galleryStoryProgress {
  from { width: 0; }
  to { width: 100%; }
}

.accordion-carousel-gallery {
  min-height: clamp(620px, 78vh, 760px);
  padding: clamp(28px, 4vw, 52px) 0;
  background: #f5f5f4;
  display: grid;
  place-items: center;
}

.accordion-carousel-gallery--home {
  min-height: clamp(520px, 70vh, 660px);
}

.accordion-carousel-shell {
  width: min(90vw, 1280px);
  margin: 0 auto;
}

.accordion-carousel-stage {
  --accordion-collapsed-width: clamp(48px, 5vw, 72px);
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(10px, 1.5vw, 16px);
  min-height: clamp(350px, 48vw, 420px);
  outline: none;
}

.accordion-carousel-panel {
  position: relative;
  min-width: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  cursor: pointer;
  background: #d8d8d8;
  border-radius: 999px;
  flex: 0 0 var(--accordion-collapsed-width);
  opacity: var(--accordion-opacity, .92);
  transition:
    flex-basis .72s cubic-bezier(.22,1,.36,1),
    border-radius .72s cubic-bezier(.22,1,.36,1),
    opacity .45s ease,
    transform .24s ease;
}

.accordion-carousel-panel.is-active {
  flex: 1 1 0%;
  border-radius: clamp(28px, 3vw, 38px);
}

.accordion-carousel-panel.is-hidden {
  flex-basis: 0 !important;
  margin-inline: 0 !important;
  opacity: 0 !important;
}

.accordion-carousel-panel img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .72s cubic-bezier(.22,1,.36,1), object-position .72s cubic-bezier(.22,1,.36,1), filter .45s ease;
}

.accordion-carousel-panel-wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.accordion-carousel-panel-wash {
  background: rgba(255,255,255,.12);
  opacity: 1;
  transition: opacity .35s ease;
}

.accordion-carousel-panel.is-active .accordion-carousel-panel-wash,
.accordion-carousel-panel:hover.is-active .accordion-carousel-panel-wash {
  opacity: 0;
}

.accordion-carousel-panel.is-active:hover img,
.accordion-carousel-panel.is-active:focus-visible img {
  transform: scale(1.02);
}

.accordion-carousel-panel:not(.is-active):hover,
.accordion-carousel-panel:not(.is-active):focus-visible {
  transform: scaleX(1.04);
}

.accordion-carousel-panel:not(.is-active):hover .accordion-carousel-mini-icon,
.accordion-carousel-panel:not(.is-active):focus-visible .accordion-carousel-mini-icon {
  transform: scale(1.05);
  background: #f7f7f7;
}

.accordion-carousel-panel:focus-visible,
.accordion-carousel-stage:focus-visible {
  outline: 3px solid rgba(17, 24, 39, .16);
  outline-offset: 4px;
}

html[data-theme="dark"] .accordion-carousel-gallery {
  background: #ececec;
}

@media (max-width: 1024px) {
  .accordion-carousel-gallery {
    min-height: clamp(560px, 72vh, 680px);
  }

  .accordion-carousel-stage {
    --accordion-collapsed-width: clamp(44px, 5vw, 60px);
    min-height: clamp(320px, 46vw, 390px);
    gap: 10px;
  }

  .accordion-carousel-info-copy strong {
    font-size: 1.08rem;
  }
}

@media (max-width: 640px) {
  .accordion-carousel-gallery {
    min-height: 540px;
    padding: 20px 0;
  }

  .accordion-carousel-shell {
    width: min(94vw, 640px);
  }

  .accordion-carousel-stage {
    --accordion-collapsed-width: clamp(38px, 10vw, 52px);
    gap: 8px;
    min-height: clamp(300px, 82vw, 380px);
  }

  .accordion-carousel-panel.is-active {
    flex-basis: auto;
  }

  .accordion-carousel-info {
    inset-inline-start: 16px;
    inset-inline-end: 14px;
    bottom: 16px;
    gap: 10px;
  }

  .accordion-carousel-info-icon {
    width: 38px;
    height: 38px;
    font-size: .95rem;
  }

  .accordion-carousel-mini-icon {
    bottom: 8px;
    width: 36px;
    height: 36px;
    font-size: .92rem;
  }

  .accordion-carousel-info-copy strong {
    font-size: .98rem;
  }

  .accordion-carousel-info-copy small {
    font-size: .84rem;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .accordion-carousel-panel,
  .accordion-carousel-panel img,
  .accordion-carousel-panel-wash,
  .accordion-carousel-panel-gradient,
  .accordion-carousel-mini-icon,
  .accordion-carousel-info {
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
}

/* Stabilization v0.37.1: keep the full-image glass card readable without hiding the product photo in grid view. */
.store-layout .product-grid .product-card--glass .product-card-media::after {
  background: linear-gradient(180deg, rgba(255,255,255,0) 48%, rgba(244,247,248,.10) 72%, rgba(244,247,248,.30) 100%);
}
.store-layout .product-grid .product-card--glass .product-card-body {
  min-height: 40%;
  gap: 8px;
  padding: 19px 22px 20px;
  background: rgba(255,255,255,.42);
  border-top-color: rgba(255,255,255,.50);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 -10px 28px rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(12px) saturate(118%);
  backdrop-filter: blur(12px) saturate(118%);
}
.store-layout .product-grid .product-card--glass .product-card-description {
  display: none;
}
.store-layout .product-grid .product-card--glass .product-card-meta {
  margin-top: 1px;
}
html[data-theme="dark"] .store-layout .product-grid .product-card--glass .product-card-body {
  background: rgba(8,18,31,.48);
  border-top-color: rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(12px) saturate(112%);
  backdrop-filter: blur(12px) saturate(112%);
}

@media (max-width: 850px) {
  .store-layout .product-grid .product-card--glass .product-card-media::after {
    background: linear-gradient(180deg, rgba(255,255,255,0) 50%, rgba(244,247,248,.08) 74%, rgba(244,247,248,.26) 100%) !important;
  }
  .store-layout .product-grid .product-card--glass .product-card-body {
    min-height: 45% !important;
    gap: 3px !important;
    padding: 6px 5px 5px !important;
    background: rgba(255,255,255,.43) !important;
    border-top-color: rgba(255,255,255,.46) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
    backdrop-filter: blur(8px) saturate(112%) !important;
  }
  html[data-theme="dark"] .store-layout .product-grid .product-card--glass .product-card-body {
    background: rgba(8,18,31,.50) !important;
  }
}

/* v0.37.12: keep mobile store search visible while the secondary toolbar scrolls normally. */
@media (max-width: 850px) {
  .store-layout .store-search-form {
    position: sticky;
    top: 68px;
    z-index: 32;
    margin: 0 0 10px;
    background: var(--card);
    box-shadow: 0 12px 28px rgba(15, 34, 74, .10);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
    backdrop-filter: blur(14px) saturate(125%);
  }

  .store-layout .toolbar {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
  }
}

@media (max-width: 640px) {
  .store-layout .store-search-form {
    top: 62px;
  }
}

/* v0.37.13: keep separate fixed mobile grid/list designs and use icon-only view controls everywhere. */
.store-layout .view-btns {
  display: inline-flex;
  width: auto;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.store-layout .view-btns button {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
  color: var(--brand-900);
}
.store-layout .view-btns button svg {
  width: 20px;
  height: 20px;
}
.store-layout .view-btns button.active {
  border-color: var(--brand-900);
  background: var(--brand-900);
  color: #fff;
}
.store-layout .view-btns button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .22);
  outline-offset: 2px;
}

@media (max-width: 850px) {
  .store-layout .view-btns {
    display: inline-flex !important;
    width: auto !important;
    justify-self: center;
    align-self: center;
  }
  .store-layout .view-btns button {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
  }
  .store-layout .view-btns button svg {
    width: 18px;
    height: 18px;
  }
  .store-layout .product-grid--mobile-fixed {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .store-layout .product-list--mobile-fixed {
    display: flex !important;
    flex-direction: column;
    gap: 10px !important;
  }
}

/* v0.37.14: fixed, customer-first mobile Grid and List product cards. Desktop templates stay unchanged. */
@media (max-width: 850px) {
  .store-layout .product-grid--mobile-fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid {
    position: relative !important;
    display: block !important;
    aspect-ratio: auto !important;
    min-height: 338px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(148, 163, 184, .16) !important;
    border-radius: 28px !important;
    background: #091311 !important;
    box-shadow: 0 16px 34px rgba(15, 34, 74, .14) !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-height: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    background: #eef2f4 !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-media::after {
    content: '' !important;
    position: absolute !important;
    inset: 36% 0 0 !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0) 0%, rgba(4, 12, 24, .16) 22%, rgba(4, 14, 18, .54) 58%, rgba(4, 14, 18, .88) 100%) !important;
    pointer-events: none !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-media .product-card-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-body {
    position: absolute !important;
    inset-inline: 0 !important;
    inset-block-end: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-height: 0 !important;
    gap: 7px !important;
    padding: 0 14px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid h3 {
    display: -webkit-box !important;
    min-height: calc(1.35em * 2) !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    text-shadow: 0 3px 16px rgba(0, 0, 0, .35) !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-width: 0 !important;
    color: rgba(255, 255, 255, .84) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-meta > span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-meta code {
    flex: 0 0 auto !important;
    max-width: 48% !important;
    overflow: hidden !important;
    color: inherit !important;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 10px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-footer--no-price {
    grid-template-columns: 1fr !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-price {
    min-width: 0 !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-price .product-card-price {
    display: block !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    text-shadow: 0 3px 16px rgba(0, 0, 0, .32) !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card-buy--mobile-grid {
    display: inline-flex !important;
    width: auto !important;
    min-width: 94px !important;
    min-height: 40px !important;
    height: 40px !important;
    margin-top: 2px !important;
    justify-content: center !important;
    padding: 0 14px !important;
    gap: 0 !important;
    border: 1px solid rgba(15, 34, 74, .08) !important;
    border-radius: 999px !important;
    background: #102a67 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 18px rgba(16, 42, 103, .26) !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card-buy--mobile-grid .product-card-buy-label {
    display: inline-flex !important;
    opacity: 1 !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card-buy--mobile-grid .product-card-buy-icon {
    display: none !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid .product-card-badge,
  .store-layout .product-list--mobile-fixed .product-card--mobile-list .product-card-badge {
    inset-block-start: 9px !important;
    inset-inline-start: 9px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 29px !important;
    height: auto !important;
    padding: 0 9px !important;
    gap: 5px !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .12) !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid .product-card-badge svg,
  .store-layout .product-list--mobile-fixed .product-card--mobile-list .product-card-badge svg {
    width: 12px !important;
    height: 12px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-card-gallery-count,
  .store-layout .product-list--mobile-fixed .product-mobile-card-gallery-count {
    position: absolute !important;
    inset-inline-end: 9px !important;
    inset-block-end: 9px !important;
    z-index: 4 !important;
    display: inline-flex !important;
    min-height: 27px !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .9) !important;
    color: #162033 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .12) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-card-gallery-count {
    display: none !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-card-gallery-count svg,
  .store-layout .product-list--mobile-fixed .product-mobile-card-gallery-count svg {
    width: 12px !important;
    height: 12px !important;
  }

  .store-layout .product-list--mobile-fixed {
    gap: 12px !important;
  }

  .store-layout .product-list--mobile-fixed .product-card--mobile-list {
    display: grid !important;
    grid-template-areas: 'media body' !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    aspect-ratio: auto !important;
    min-height: 174px !important;
    padding: 8px !important;
    overflow: hidden !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    border-radius: 22px !important;
    background: var(--card) !important;
    box-shadow: 0 12px 28px rgba(15, 34, 74, .08) !important;
  }

  html[dir='rtl'] .store-layout .product-list--mobile-fixed .product-card--mobile-list {
    grid-template-areas: 'body media' !important;
    grid-template-columns: minmax(0, 1fr) 116px !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-media {
    position: relative !important;
    inset: auto !important;
    grid-area: media !important;
    width: 100% !important;
    min-height: 158px !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 17px !important;
    background: #eef2f4 !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-media .product-card-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-body {
    display: flex !important;
    grid-area: body !important;
    flex-direction: column !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    gap: 8px !important;
    padding: 6px 9px 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-eyebrow {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 7px !important;
    color: var(--muted) !important;
    font-size: 9px !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-eyebrow > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-eyebrow code {
    flex: 0 0 auto !important;
    padding: 4px 7px !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    background: var(--surface-soft) !important;
    color: var(--brand-900) !important;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important;
    font-size: 8px !important;
  }

  .store-layout .product-list--mobile-fixed .product-card--mobile-list h3 {
    display: -webkit-box !important;
    min-height: calc(1.4em * 2) !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--brand-900) !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 28px !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 0 9px !important;
    overflow: hidden !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock svg {
    width: 12px !important;
    height: 12px !important;
  }

  .product-mobile-card-stock--available {
    color: #166534 !important;
    background: #f0fdf4 !important;
  }
  .product-mobile-card-stock--out_of_stock {
    color: #b42318 !important;
    background: #fff5f4 !important;
  }
  .product-mobile-card-stock--pre_order {
    color: #a16207 !important;
    background: #fffbeb !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-purchase {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
    margin-top: auto !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-purchase--no-price {
    grid-template-columns: 1fr !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-purchase .product-card-price {
    min-width: 0 !important;
    overflow: visible !important;
    color: var(--brand-900) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  .store-layout .product-list--mobile-fixed .product-card-buy--mobile-list {
    display: inline-flex !important;
    width: auto !important;
    min-width: 98px !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-content: center !important;
    padding: 0 14px !important;
    gap: 0 !important;
    border: 1px solid rgba(15, 34, 74, .08) !important;
    border-radius: 999px !important;
    background: #102a67 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 18px rgba(16, 42, 103, .22) !important;
  }

  .store-layout .product-list--mobile-fixed .product-card-buy--mobile-list .product-card-buy-label {
    display: inline-flex !important;
    opacity: 1 !important;
  }

  .store-layout .product-list--mobile-fixed .product-card-buy--mobile-list .product-card-buy-icon {
    display: none !important;
  }

  html[data-theme='dark'] .store-layout .product-grid--mobile-fixed .product-card--mobile-grid,
  html[data-theme='dark'] .store-layout .product-list--mobile-fixed .product-card--mobile-list {
    border-color: rgba(148, 163, 184, .16) !important;
    background: #0c1726 !important;
  }

  html[data-theme='dark'] .store-layout .product-grid--mobile-fixed .product-card--mobile-grid h3,
  html[data-theme='dark'] .store-layout .product-grid--mobile-fixed .product-mobile-grid-price .product-card-price,
  html[data-theme='dark'] .store-layout .product-list--mobile-fixed .product-card--mobile-list h3,
  html[data-theme='dark'] .store-layout .product-list--mobile-fixed .product-mobile-list-purchase .product-card-price,
  html[data-theme='dark'] .store-layout .product-list--mobile-fixed .product-mobile-list-eyebrow code {
    color: #edf4fb !important;
  }
}

@media (max-width: 390px) {
  .store-layout .product-grid--mobile-fixed {
    gap: 9px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid {
    min-height: 312px !important;
    border-radius: 24px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-body {
    gap: 6px !important;
    padding: 0 12px 12px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid h3 {
    font-size: 15px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-mobile-grid-price .product-card-price {
    font-size: 13px !important;
  }

  .store-layout .product-grid--mobile-fixed .product-card-buy--mobile-grid {
    min-width: 88px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  .store-layout .product-list--mobile-fixed .product-card--mobile-list {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    min-height: 162px !important;
  }

  html[dir='rtl'] .store-layout .product-list--mobile-fixed .product-card--mobile-list {
    grid-template-columns: minmax(0, 1fr) 104px !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-media {
    min-height: 146px !important;
  }

  .store-layout .product-list--mobile-fixed .product-card--mobile-list h3 {
    font-size: 15px !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock {
    min-height: 25px !important;
    font-size: 8px !important;
  }

  .store-layout .product-list--mobile-fixed .product-card-buy--mobile-list {
    min-width: 92px !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 330px) {
  .store-layout .product-grid--mobile-fixed {
    grid-template-columns: 1fr !important;
  }
}

/* v0.37.17: one Vazirmatn font path for Store UI and narrow-mobile stock containment. */
.store-layout,
.store-layout button,
.store-layout input,
.store-layout select,
.store-layout option,
.store-layout textarea,
.store-layout code,
.store-layout small,
.store-layout label,
.store-layout span {
  font-family: "Vazirmatn", system-ui, sans-serif !important;
}

@media (max-width: 850px) {
  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid .product-card-badge,
  .store-layout .product-list--mobile-fixed .product-card--mobile-list .product-card-badge {
    max-width: calc(100% - 18px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-list-body {
    overflow: hidden !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock {
    flex: 0 1 auto !important;
    align-self: flex-start !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  .store-layout .product-grid--mobile-fixed .product-card--mobile-grid .product-card-badge,
  .store-layout .product-list--mobile-fixed .product-card--mobile-list .product-card-badge {
    inset-block-start: 7px !important;
    inset-inline-start: 7px !important;
    max-width: calc(100% - 14px) !important;
    min-height: 25px !important;
    padding-inline: 7px !important;
    gap: 4px !important;
    font-size: 8px !important;
  }

  .store-layout .product-list--mobile-fixed .product-mobile-card-stock {
    max-width: calc(100% - 2px) !important;
    min-height: 24px !important;
    padding-inline: 7px !important;
    gap: 4px !important;
    font-size: 7.5px !important;
  }
}

.store-layout .store-sort-control,
.store-layout .store-sort-control select,
.store-layout .store-sort-control option,
.store-layout .store-sort-title,
.store-layout .store-sort-hint,
.store-layout .store-count-label,
.store-layout .view-btns button,
.store-layout .product-grid--mobile-fixed .product-mobile-grid-meta code,
.store-layout .product-list--mobile-fixed .product-mobile-list-eyebrow code,
.store-layout .product-list .product-list-card-eyebrow code,
.store-layout .product-card-price {
  font-family: "Vazirmatn", system-ui, sans-serif !important;
}

/* Customer phone verification */
.auth-link {
  align-self: center;
  border: 0;
  padding: 4px 8px;
  background: transparent;
  color: var(--brand-700);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.auth-link:hover,
.auth-link:focus-visible { color: var(--brand-900); text-decoration: underline; }
.auth-link:disabled { color: var(--muted); cursor: default; text-decoration: none; }
.auth-success {
  margin-top: 18px;
  border: 1px solid rgba(22, 163, 74, .25);
  border-radius: 12px;
  padding: 12px 14px;
  background: rgba(22, 163, 74, .08);
  color: #166534;
  font-size: 13px;
  line-height: 1.8;
}
.otp-input {
  direction: ltr;
  text-align: center;
  letter-spacing: .42em;
  font-size: 22px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.auth-box input[readonly] { background: #f1f5f9; color: var(--muted); cursor: not-allowed; }
html[data-theme="dark"] .auth-link { color: #93c5fd; }
html[data-theme="dark"] .auth-link:hover,
html[data-theme="dark"] .auth-link:focus-visible { color: #dbeafe; }
html[data-theme="dark"] .auth-success {
  border-color: rgba(74, 222, 128, .25);
  background: rgba(74, 222, 128, .1);
  color: #bbf7d0;
}
html[data-theme="dark"] .auth-box input[readonly] { background: #101f34; color: #94a3b8; }

/* v0.37.44 account phone verification */
.account-profile-card { overflow-y: auto; }
.account-profile-card #profileForm,
.account-profile-card .account-phone-panel .form { flex: 0 0 auto; }
.account-phone-panel {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.account-phone-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.account-phone-head > div { display: grid; gap: 4px; }
.account-phone-head small { color: var(--muted); line-height: 1.7; }
.account-phone-verify {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
}
.account-phone-verify[hidden] { display: none; }
@media (max-width: 560px) {
  .account-phone-head { flex-direction: column; }
  .account-phone-verify .form-actions { align-items: stretch; }
  .account-phone-verify .form-actions .btn { width: 100%; }
}

/* v0.37.50 — public pages, contact channels, and stable initial loading */
body.app-booting .footer {
  visibility: hidden;
}
#app {
  min-height: calc(100svh - 78px);
}
.app-loading-shell {
  min-height: calc(100svh - 78px);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  color: var(--muted);
  font-weight: 700;
}
.app-loading-mark {
  width: 34px;
  height: 34px;
  border: 3px solid color-mix(in srgb, var(--brand-500) 24%, transparent);
  border-top-color: var(--brand-500);
  border-radius: 50%;
  animation: app-loading-spin .75s linear infinite;
}
@keyframes app-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .app-loading-mark { animation-duration: 1.6s; }
}

.brand-logo {
  min-width: 118px;
  min-height: 46px;
  justify-content: center;
}
.footer-logo { min-width: 132px; }
.footer-grid { grid-template-columns: 1.7fr 1fr 1fr; }

.page-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--brand-600);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.about-page,
.contact-page {
  background:
    radial-gradient(circle at 12% 18%, rgba(59, 113, 202, .08), transparent 34%),
    var(--bg);
}
.about-layout,
.contact-layout {
  min-height: calc(100svh - 78px);
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
  gap: clamp(36px, 6vw, 86px);
  align-items: center;
  padding-top: clamp(42px, 7vw, 86px);
  padding-bottom: clamp(42px, 7vw, 86px);
}
.about-copy h1,
.contact-copy h1 {
  margin: 0;
  color: var(--brand-900);
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.15;
}
.about-intro,
.contact-intro {
  max-width: 680px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.9;
}
.about-story-card {
  margin-top: 34px;
  padding: 28px 30px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  box-shadow: var(--shadow-soft);
}
.about-story-card h2 { margin: 0 0 14px; color: var(--brand-900); }
.about-story-card p { margin: 0; color: var(--muted); line-height: 2; }
.about-story-card p + p { margin-top: 12px; }
.about-visual,
.contact-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid var(--line);
  background: var(--soft);
  box-shadow: 0 28px 80px rgba(15, 34, 74, .14);
}
.about-visual { aspect-ratio: 4 / 4.35; }
.contact-media { aspect-ratio: 4 / 4.6; }
.about-visual::after,
.contact-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 62%, rgba(15, 34, 74, .12));
}
.about-visual img,
.contact-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-channels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
}
.contact-channel {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
a.contact-channel:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--brand-500) 45%, var(--line));
  box-shadow: var(--shadow);
}
.contact-channel--address { grid-column: 1 / -1; align-items: flex-start; }
.contact-channel-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: color-mix(in srgb, var(--brand-500) 12%, var(--surface));
  color: var(--brand-600);
}
.contact-channel-icon svg { width: 22px; height: 22px; }
.contact-channel-copy { min-width: 0; display: grid; gap: 4px; }
.contact-channel small { color: var(--muted); font-size: 12px; }
.contact-channel strong {
  min-width: 0;
  color: var(--text);
  font-size: 15px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.contact-address-text { color: var(--text); font-size: 15px; line-height: 1.65; }
.contact-address-text p { margin: 0; }
.contact-address-text p + p { margin-top: 4px; }
.contact-socials { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.contact-social {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--brand-900);
  font-weight: 800;
}
.contact-social svg { width: 20px; height: 20px; }
.contact-social:hover { border-color: var(--brand-500); color: var(--brand-600); }
.auth-form-note {
  margin: -2px 0 2px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

html[data-theme="dark"] .about-page,
html[data-theme="dark"] .contact-page {
  background:
    radial-gradient(circle at 12% 18%, rgba(91, 150, 245, .10), transparent 34%),
    var(--bg);
}
html[data-theme="dark"] .about-copy h1,
html[data-theme="dark"] .contact-copy h1,
html[data-theme="dark"] .about-story-card h2,
html[data-theme="dark"] .contact-social { color: #eef5ff; }
html[data-theme="dark"] .about-story-card,
html[data-theme="dark"] .contact-channel,
html[data-theme="dark"] .contact-social { background: #0b1729; border-color: #29405c; }
html[data-theme="dark"] .about-visual,
html[data-theme="dark"] .contact-media { background: #081425; border-color: #29405c; }

@media (max-width: 980px) {
  #app,
  .app-loading-shell { min-height: calc(100svh - 68px); }
  .brand-logo { min-width: 102px; min-height: 40px; }
  .about-layout,
  .contact-layout {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 36px;
    padding-bottom: 54px;
  }
  .about-visual,
  .contact-media {
    grid-row: 1;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 22px;
  }
  .about-copy,
  .contact-copy { grid-row: 2; }
  .about-copy h1,
  .contact-copy h1 { font-size: clamp(34px, 8vw, 52px); }
}

@media (max-width: 620px) {
  .footer-grid { grid-template-columns: 1fr; }
  .about-layout,
  .contact-layout { padding-inline: 16px; }
  .about-visual,
  .contact-media { aspect-ratio: 4 / 3; border-radius: 18px; }
  .about-story-card { padding: 22px 20px; border-radius: 18px; }
  .contact-channels { grid-template-columns: 1fr; }
  .contact-channel--address { grid-column: auto; }
  .contact-socials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-social { justify-content: center; padding-inline: 10px; }
}

/* v0.37.52 — compact footer hotfix */
.footer {
  position: relative;
  padding: 0;
  overflow: hidden;
  background: #102955;
  color: #c8d5ea;
}
.footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: rgba(139, 185, 255, .32);
}
.footer-shell { position: relative; }
.footer-main {
  display: grid;
  grid-template-columns: minmax(250px, 1.15fr) auto auto;
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
  padding-block: 28px 22px;
}
.footer-brand { min-width: 0; max-width: 430px; }
.footer .footer-logo {
  width: fit-content;
  min-width: 112px;
  min-height: 42px;
  margin: 0 0 10px;
  padding: 7px 14px;
  color: #fff;
  background: rgba(4, 16, 40, .42);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 14px;
  box-shadow: none;
}
.footer .footer-logo.has-image-logo {
  min-width: 0;
  min-height: 40px;
  padding: 4px 0;
  background: transparent;
  border-color: transparent;
}
.footer-brand > p {
  display: -webkit-box;
  max-width: 420px;
  margin: 0;
  overflow: hidden;
  color: #b9c9e1;
  font-size: 13px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  min-width: 0;
}
.footer-links a {
  width: fit-content;
  margin: 0;
  padding: 5px 0;
  color: #d0dced;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}
.footer-links a:hover { color: #fff; }
.footer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.footer-actions[hidden] { display: none; }
.footer-actions a {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 50%;
  background: rgba(255, 255, 255, .04);
  color: #cfe0f7;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.footer-actions a:hover {
  border-color: rgba(139, 185, 255, .72);
  background: rgba(139, 185, 255, .12);
  color: #fff;
  transform: translateY(-1px);
}
.footer-actions svg { width: 18px; height: 18px; }
.footer-bottom {
  min-height: 42px;
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: #91a7c7;
  font-size: 11px;
}

@media (max-width: 940px) {
  .footer-main {
    grid-template-columns: 1fr auto;
    gap: 20px 28px;
  }
  .footer-brand { grid-column: 1 / -1; max-width: 560px; }
  .footer-links { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 26px 18px;
  }
  .footer-brand { grid-column: auto; }
  .footer .footer-logo { margin-bottom: 8px; }
  .footer-links {
    justify-content: flex-start;
    gap: 5px 16px;
  }
  .footer-actions { justify-content: flex-start; }
  .footer-bottom { min-height: 44px; }
}


/* v0.37.53 — Home gallery teaser, viewport-contained Gallery and shared Home/Store cards */
.home-gallery-portal {
  width: 100%;
}
.home-gallery-portal-card {
  position: relative;
  display: grid;
  width: 100%;
  min-height: clamp(360px, 48vw, 560px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: clamp(26px, 3vw, 42px);
  background: #07142c;
  color: #fff;
  text-align: start;
  cursor: pointer;
  box-shadow: 0 28px 72px rgba(15, 34, 74, .16);
  isolation: isolate;
}
.home-gallery-portal-media,
.home-gallery-portal-media img,
.home-gallery-portal-shade {
  position: absolute;
  inset: 0;
}
.home-gallery-portal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22, 1, .36, 1);
}
.home-gallery-portal-shade {
  background:
    linear-gradient(90deg, rgba(3, 12, 29, .92) 0%, rgba(3, 12, 29, .72) 38%, rgba(3, 12, 29, .18) 72%, rgba(3, 12, 29, .05) 100%),
    linear-gradient(0deg, rgba(3, 12, 29, .28), transparent 46%);
}
html[dir='rtl'] .home-gallery-portal-shade {
  background:
    linear-gradient(270deg, rgba(3, 12, 29, .92) 0%, rgba(3, 12, 29, .72) 38%, rgba(3, 12, 29, .18) 72%, rgba(3, 12, 29, .05) 100%),
    linear-gradient(0deg, rgba(3, 12, 29, .28), transparent 46%);
}
.home-gallery-portal-copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(520px, 52%);
  min-width: 0;
  align-self: end;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: clamp(32px, 5vw, 68px);
}
.home-gallery-portal-copy .kicker {
  color: rgba(255,255,255,.72);
}
.home-gallery-portal-copy strong {
  max-width: 12ch;
  font-size: clamp(2rem, 4vw, 4.25rem);
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.home-gallery-portal-copy small {
  max-width: 45ch;
  color: rgba(255,255,255,.8);
  font-size: clamp(.95rem, 1.25vw, 1.08rem);
  line-height: 1.9;
}
.home-gallery-portal-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 6px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-weight: 900;
  backdrop-filter: blur(10px);
}
.home-gallery-portal-card:hover .home-gallery-portal-media img,
.home-gallery-portal-card:focus-visible .home-gallery-portal-media img {
  transform: scale(1.035);
}
.home-gallery-portal-card:focus-visible {
  outline: 3px solid rgba(47,125,246,.42);
  outline-offset: 5px;
}

/* The Home carousel must not override the display model of the eight approved Store cards. */
.product-carousel-track .product-card--soft,
.product-carousel-track .product-card--feature,
.product-carousel-track .product-card--showcase,
.product-carousel-track .product-card--catalog {
  display: grid;
}
.product-carousel-track .product-card--glass,
.product-carousel-track .product-card--cinematic,
.product-carousel-track .product-card--floating,
.product-carousel-track .product-card--hero {
  display: flex;
}

@media (min-width: 768px) {
  .gallery-page {
    padding: clamp(18px, 2.2vw, 34px) 0;
  }
  .gallery-page .container {
    width: min(96%, 1380px);
  }

  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) {
    min-height: 0;
    padding: clamp(18px, 2vw, 30px) 0;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-shell {
    width: min(94vw, 1320px);
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-stage {
    height: min(68dvh, 620px);
    min-height: 420px;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-panel.is-active {
    background: #e9eef3;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-panel.is-active img {
    object-fit: contain;
  }
}

@media (max-width: 767px) {
  .gallery-preview-section {
    padding-block: 32px 46px;
  }
  .accordion-carousel-gallery--home {
    min-height: 440px;
    padding: 14px 0;
    border-radius: 24px;
  }
  .accordion-carousel-gallery--home .accordion-carousel-shell {
    width: min(94vw, 620px);
  }
  .accordion-carousel-gallery--home .accordion-carousel-stage {
    min-height: clamp(286px, 78vw, 350px);
  }
}

html[data-theme='dark'] .home-gallery-portal-card {
  box-shadow: 0 28px 72px rgba(0, 0, 0, .34);
}

@media (prefers-reduced-motion: reduce) {
  .home-gallery-portal-media img {
    transition-duration: .01ms !important;
  }
}

/* v0.37.55 — frameless Gallery media and configurable Coming Soon */
body.coming-soon-active {
  overflow-x: hidden;
  background: #f8fafc;
}
body.coming-soon-active .site-header,
body.coming-soon-active .footer {
  display: none !important;
}
body.coming-soon-active #app {
  min-height: 100dvh;
}

.coming-soon-page {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
}
.coming-soon-page .brand-logo {
  display: inline-flex;
  align-items: baseline;
  font-size: clamp(1.5rem, 2vw, 2.15rem);
  font-weight: 950;
  letter-spacing: -.045em;
}
.coming-soon-brandbar,
.coming-soon-editorial-header {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  min-height: 88px;
  padding-inline: clamp(24px, 5vw, 78px);
}
.coming-soon-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #2f7df6;
  font-size: .92rem;
  font-weight: 850;
}
.coming-soon-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(24px, 3vw, 38px);
}
.coming-soon-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-weight: 900;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}
.coming-soon-action:hover { transform: translateY(-2px); }
.coming-soon-action.is-primary { background: #0d2e68; color: #fff; }
.coming-soon-action.is-secondary { border-color: rgba(13,46,104,.28); background: rgba(255,255,255,.76); color: #0d2e68; }
.coming-soon-target {
  display: block;
  margin-top: 28px;
  color: #667085;
}
.coming-soon-target b { color: #2f7df6; direction: ltr; unicode-bidi: isolate; }

.coming-soon-page--countdown {
  display: grid;
  grid-template-rows: auto 1fr;
  background: #020c1d;
  color: #fff;
}
.coming-soon-countdown-bg,
.coming-soon-countdown-shade {
  position: absolute;
  inset: 0;
}
.coming-soon-countdown-bg {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.75) contrast(1.03);
}
.coming-soon-countdown-shade {
  z-index: -2;
  background:
    radial-gradient(circle at 50% 36%, rgba(18,65,125,.2), transparent 42%),
    linear-gradient(90deg, rgba(1,10,25,.95), rgba(3,18,43,.82) 48%, rgba(1,10,25,.94));
}
.coming-soon-page--countdown::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .28;
  background-image: radial-gradient(circle, rgba(90,153,255,.42) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(135deg, transparent 54%, #000 92%);
}
.coming-soon-page--countdown .coming-soon-brandbar .brand-logo { color: #fff; }
.coming-soon-countdown-content {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(1080px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(30px, 4vh, 58px) 0 clamp(42px, 7vh, 78px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.coming-soon-countdown-content h1 {
  max-width: 16ch;
  margin: 18px 0 14px;
  color: #fff;
  font-size: clamp(2.6rem, 6vw, 6.2rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.coming-soon-countdown-content > p {
  max-width: 660px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(1rem, 1.6vw, 1.22rem);
  line-height: 1.95;
}
.coming-soon-countdown {
  display: grid;
  width: min(760px, 100%);
  margin-top: clamp(26px, 4vw, 46px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1.5vw, 16px);
}
.coming-soon-countdown-unit {
  display: flex;
  min-height: clamp(116px, 13vw, 158px);
  padding: 18px 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(116,171,255,.2);
  border-radius: 14px;
  background: rgba(7,26,56,.64);
  box-shadow: inset 0 1px rgba(255,255,255,.05);
  backdrop-filter: blur(12px);
}
.coming-soon-countdown-unit strong { font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1; }
.coming-soon-countdown-unit i { width: 24px; height: 2px; margin: 13px 0 10px; background: #2f7df6; }
.coming-soon-countdown-unit small { color: rgba(255,255,255,.78); }
.coming-soon-page--countdown .coming-soon-action.is-primary { background: linear-gradient(135deg, #1557d6, #347cf5); }
.coming-soon-page--countdown .coming-soon-action.is-secondary { border-color: rgba(255,255,255,.48); background: rgba(5,18,40,.44); color: #fff; }
.coming-soon-page--countdown .coming-soon-target { color: rgba(255,255,255,.54); }
.coming-soon-release-pending { margin-top: 34px; color: rgba(255,255,255,.72); }

.coming-soon-page--editorial {
  display: grid;
  grid-template-rows: auto 1fr;
  background: #fff;
  color: #07142c;
}
.coming-soon-editorial-header {
  border-bottom: 1px solid #e8edf4;
  background: rgba(255,255,255,.88);
}
.coming-soon-editorial-grid {
  display: grid;
  min-height: calc(100dvh - 88px);
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
}
.coming-soon-editorial-media {
  position: relative;
  min-height: 560px;
  margin: 0;
  overflow: hidden;
  background: #071b3b;
  clip-path: polygon(0 0, 88% 0, 100% 12%, 93% 50%, 100% 88%, 88% 100%, 0 100%);
}
html[dir='rtl'] .coming-soon-editorial-media {
  order: 2;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 88%, 7% 50%, 0 12%);
}
.coming-soon-editorial-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.65) contrast(1.04);
}
.coming-soon-editorial-media span {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(4,23,51,.02), rgba(5,31,70,.45));
}
.coming-soon-editorial-copy {
  display: flex;
  max-width: 760px;
  padding: clamp(52px, 7vw, 110px);
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
html[dir='rtl'] .coming-soon-editorial-copy { order: 1; }
.coming-soon-editorial-copy h1 {
  max-width: 13ch;
  margin: 28px 0 18px;
  font-size: clamp(2.7rem, 5.5vw, 5.7rem);
  line-height: 1.08;
  letter-spacing: -.055em;
}
.coming-soon-editorial-copy > p {
  max-width: 610px;
  margin: 18px 0 0;
  color: #667085;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 2;
}
.coming-soon-accent { width: 46px; height: 3px; background: #2f7df6; }
.coming-soon-page--editorial .coming-soon-eyebrow {
  padding: 9px 15px;
  border: 1px solid rgba(47,125,246,.55);
  border-radius: 999px;
}
.coming-soon-page--editorial .coming-soon-eyebrow i { width: 9px; height: 9px; border-radius: 50%; background: #2f7df6; }

/* Active Gallery media uses its own intrinsic aspect ratio; no gray letterbox frame. */
@media (min-width: 768px) {
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-stage {
    align-items: center;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-panel.is-active {
    display: flex;
    width: auto;
    height: auto;
    max-height: min(72dvh, 680px);
    flex: 0 1 auto;
    align-self: center;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border-radius: 0;
    background: transparent !important;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-panel.is-active img {
    width: auto;
    max-width: min(76vw, 1120px);
    height: auto;
    max-height: min(72dvh, 680px);
    object-fit: contain;
    border-radius: clamp(14px, 1.8vw, 24px);
    box-shadow: 0 22px 54px rgba(15,23,42,.16);
  }
}

@media (max-width: 767px) {
  .coming-soon-brandbar,
  .coming-soon-editorial-header { min-height: 70px; padding-inline: 20px; }
  .coming-soon-countdown-content { width: min(100% - 28px, 640px); padding-top: 22px; }
  .coming-soon-countdown-content h1 { font-size: clamp(2.25rem, 12vw, 4rem); }
  .coming-soon-countdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coming-soon-countdown-unit { min-height: 100px; }
  .coming-soon-actions { width: 100%; flex-direction: column; }
  .coming-soon-action { width: 100%; }
  .coming-soon-editorial-grid { display: flex; min-height: calc(100dvh - 70px); flex-direction: column; }
  .coming-soon-editorial-media,
  html[dir='rtl'] .coming-soon-editorial-media {
    order: 1;
    min-height: 40dvh;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 12% 100%, 0 88%);
  }
  .coming-soon-editorial-copy,
  html[dir='rtl'] .coming-soon-editorial-copy {
    order: 2;
    padding: 34px 22px 46px;
  }
  .coming-soon-editorial-copy h1 { margin-top: 20px; font-size: clamp(2.2rem, 10vw, 3.6rem); }
  .coming-soon-target { margin-top: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .coming-soon-action { transition: none; }
}

/* v0.37.56 — restore the classic accordion and add a dedicated circular variant */
@media (min-width: 768px) {
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-stage {
    width: 100%;
    height: min(70dvh, 680px);
    min-height: 440px;
    align-items: stretch;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel {
    height: 100%;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active {
    width: auto;
    height: 100%;
    max-height: none;
    flex: 1 1 0%;
    align-self: stretch;
    overflow: hidden;
    border-radius: clamp(22px, 2.5vw, 34px);
    background: transparent !important;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active img {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    object-fit: contain;
    border-radius: inherit;
    box-shadow: none;
  }
}

.accordion-carousel-gallery--round {
  min-height: 0;
  padding: clamp(24px, 4vw, 52px) 0;
  background: transparent;
}
.accordion-carousel-gallery--round .accordion-carousel-shell {
  width: min(94vw, 1280px);
}
.accordion-carousel-gallery--round .accordion-carousel-stage {
  min-height: clamp(360px, 62vw, 660px);
  align-items: center;
  gap: clamp(14px, 2.2vw, 30px);
}
.accordion-carousel-gallery--round .accordion-carousel-panel {
  width: clamp(72px, 8vw, 112px);
  height: clamp(72px, 8vw, 112px);
  flex: 0 0 clamp(72px, 8vw, 112px);
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 14px 36px rgba(15, 34, 74, .14);
}
.accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
  width: clamp(300px, 48vw, 620px);
  height: clamp(300px, 48vw, 620px);
  max-width: min(72dvh, 72vw);
  max-height: min(72dvh, 72vw);
  flex: 0 0 clamp(300px, 48vw, 620px);
  align-self: center;
  overflow: hidden;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: 0 24px 64px rgba(15, 34, 74, .18);
}
.accordion-carousel-gallery--round .accordion-carousel-panel img,
.accordion-carousel-gallery--round .accordion-carousel-panel.is-active img {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: none;
}
.accordion-carousel-gallery--round .accordion-carousel-panel-wash {
  border-radius: 50%;
}

@media (max-width: 767px) {
  .accordion-carousel-gallery--round .accordion-carousel-stage {
    min-height: clamp(300px, 96vw, 430px);
    gap: 10px;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel {
    width: clamp(52px, 16vw, 76px);
    height: clamp(52px, 16vw, 76px);
    flex-basis: clamp(52px, 16vw, 76px);
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
    width: min(68vw, 320px);
    height: min(68vw, 320px);
    max-width: min(68vw, 320px);
    max-height: min(68vw, 320px);
    flex-basis: min(68vw, 320px);
  }
}


/* v0.37.57 — Gallery geometry hotfix after real-browser review. */
@media (min-width: 768px) {
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-shell {
    width: min(96vw, 1180px);
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-stage {
    gap: clamp(6px, .8vw, 10px);
    overflow: hidden;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-panel.is-hidden {
    display: none !important;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel {
    --accordion-collapsed-width: clamp(44px, 4.5vw, 62px);
    border-radius: clamp(22px, 2vw, 30px);
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active,
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active img,
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel-wash {
    border-radius: clamp(24px, 2.2vw, 32px) !important;
  }

  .accordion-carousel-gallery--round .accordion-carousel-stage {
    --round-accordion-active: min(52vw, 66dvh, 560px);
    --round-accordion-side: clamp(66px, 7vw, 92px);
    min-height: calc(var(--round-accordion-active) + 28px);
    gap: clamp(10px, 1.3vw, 18px);
    overflow: hidden;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel {
    width: var(--round-accordion-side);
    height: var(--round-accordion-side);
    flex: 0 0 var(--round-accordion-side);
    aspect-ratio: 1;
    border-radius: 50% !important;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
    width: var(--round-accordion-active);
    height: var(--round-accordion-active);
    max-width: var(--round-accordion-active);
    max-height: var(--round-accordion-active);
    flex: 0 0 var(--round-accordion-active);
    aspect-ratio: 1;
    border-radius: 50% !important;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel img,
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-active img,
  .accordion-carousel-gallery--round .accordion-carousel-panel-wash {
    border-radius: 50% !important;
  }
}

@media (max-width: 767px) {
  .accordion-carousel-gallery--round .accordion-carousel-stage {
    --round-accordion-active: min(66vw, 250px);
    --round-accordion-side: clamp(38px, 12vw, 48px);
    min-height: calc(var(--round-accordion-active) + 20px);
    gap: 7px;
    overflow: hidden;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-hidden {
    display: none !important;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel,
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
    width: var(--round-accordion-side);
    height: var(--round-accordion-side);
    max-width: var(--round-accordion-side);
    max-height: var(--round-accordion-side);
    flex: 0 0 var(--round-accordion-side);
    border-radius: 50% !important;
  }
  .accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
    width: var(--round-accordion-active);
    height: var(--round-accordion-active);
    max-width: var(--round-accordion-active);
    max-height: var(--round-accordion-active);
    flex-basis: var(--round-accordion-active);
  }
}


/* v0.37.58 — route-only Coming Soon and stable editorial media frame. */
.coming-soon-page--editorial {
  overflow-x: hidden;
}
.coming-soon-editorial-grid {
  width: min(1500px, 100%);
  margin-inline: auto;
  padding: clamp(18px, 3vw, 42px);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.coming-soon-editorial-media,
html[dir='rtl'] .coming-soon-editorial-media {
  min-height: min(68dvh, 680px);
  margin: 0;
  overflow: hidden;
  border-radius: clamp(22px, 2.4vw, 34px);
  clip-path: none;
  background: #071b3b;
  box-shadow: 0 24px 70px rgba(7, 27, 59, .18);
}
.coming-soon-editorial-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.coming-soon-editorial-copy {
  padding: clamp(28px, 4vw, 72px) 0;
}
@media (max-width: 767px) {
  .coming-soon-editorial-grid {
    padding: 14px 14px 34px;
    gap: 16px;
  }
  .coming-soon-editorial-media,
  html[dir='rtl'] .coming-soon-editorial-media {
    min-height: 38dvh;
    border-radius: 22px;
    clip-path: none;
  }
}

/* v0.37.59 — compact classic Accordion and frameless circular Accordion. */
@media (min-width: 768px) {
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) {
    min-height: 0;
    padding: clamp(22px, 3vw, 40px) 0;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-shell {
    width: min(96vw, 1220px);
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-stage {
    width: 100%;
    height: auto;
    min-height: 0;
    gap: clamp(6px, .7vw, 9px);
    align-items: center;
    overflow: visible;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel {
    height: min(68dvh, 640px);
    border-radius: clamp(20px, 2vw, 28px);
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active {
    width: auto;
    max-width: min(72vw, 960px);
    height: min(68dvh, 640px);
    flex: 0 1 auto;
    align-self: center;
    border-radius: clamp(22px, 2.2vw, 30px) !important;
    background: transparent !important;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active img {
    width: auto;
    max-width: min(72vw, 960px);
    height: 100%;
    max-height: min(68dvh, 640px);
    object-fit: contain;
    border-radius: inherit !important;
  }
}

.accordion-carousel-gallery--round,
.accordion-carousel-gallery--round .accordion-carousel-shell,
.accordion-carousel-gallery--round .accordion-carousel-stage {
  overflow: visible !important;
}
.accordion-carousel-gallery--round .accordion-carousel-shell {
  width: min(94vw, 1240px);
  padding-inline: clamp(12px, 2vw, 28px);
}
.accordion-carousel-gallery--round .accordion-carousel-panel,
.accordion-carousel-gallery--round .accordion-carousel-panel.is-active {
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.accordion-carousel-gallery--round .accordion-carousel-panel img,
.accordion-carousel-gallery--round .accordion-carousel-panel.is-active img,
.accordion-carousel-gallery--round .accordion-carousel-panel-wash {
  border-radius: 0 !important;
  clip-path: circle(50% at 50% 50%);
  box-shadow: none !important;
}
@media (max-width: 767px) {
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-stage {
    min-height: min(82vw, 390px);
    gap: 6px;
  }
  .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active {
    border-radius: 20px !important;
  }
  .accordion-carousel-gallery--round .accordion-carousel-stage {
    --round-accordion-active: min(60vw, 235px);
    --round-accordion-side: clamp(36px, 10vw, 44px);
    gap: 6px;
  }
}

/* v0.37.60 — immersive desktop Gallery and linked Gallery branding. */
.gallery-mobile-story-brand,
.gallery-desktop-brand {
  text-decoration: none;
}
.gallery-mobile-story-brand:hover,
.gallery-mobile-story-brand:focus-visible,
.gallery-desktop-brand:hover,
.gallery-desktop-brand:focus-visible {
  color: #6ea8ff;
  outline: none;
}

@media (min-width: 768px) {
  body.immersive-gallery-page {
    overflow: hidden;
    background: #030815;
  }
  body.immersive-gallery-page #app {
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }
  .gallery-desktop-immersive {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: 68px minmax(0, 1fr);
    overflow: hidden;
    color: #fff;
    background:
      radial-gradient(circle at 50% 44%, rgba(32, 65, 116, .18), transparent 44%),
      #030815;
  }
  .gallery-desktop-topbar {
    position: relative;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 68px;
    padding: 0 clamp(24px, 4vw, 64px);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(3, 8, 21, .72);
    backdrop-filter: blur(16px);
  }
  .gallery-desktop-brand {
    color: #fff;
    font-size: clamp(1.12rem, 1.5vw, 1.42rem);
    font-weight: 950;
    letter-spacing: .04em;
  }
  .gallery-desktop-label {
    color: rgba(255,255,255,.58);
    font-size: .82rem;
    font-weight: 800;
  }
  .gallery-layout-host--immersive {
    min-height: 0;
    height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
  }
  .gallery-desktop-immersive .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-shell {
    width: min(96vw, 1540px);
    height: 100%;
    margin: 0 auto;
    padding: 0 clamp(18px, 3vw, 50px) 16px;
  }
  .gallery-desktop-immersive .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) .accordion-carousel-stage {
    width: 100%;
    height: 100%;
    min-height: 0;
    align-items: center;
    overflow: hidden;
  }
  .gallery-desktop-immersive .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel,
  .gallery-desktop-immersive .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active {
    height: min(calc(100dvh - 108px), 820px);
    max-height: calc(100dvh - 108px);
  }
  .gallery-desktop-immersive .accordion-carousel-gallery:not(.accordion-carousel-gallery--home):not(.accordion-carousel-gallery--round) .accordion-carousel-panel.is-active img {
    max-height: calc(100dvh - 108px);
  }
  .gallery-desktop-immersive .accordion-carousel-gallery--round .accordion-carousel-stage {
    --round-accordion-active: min(72dvh, 62vw, 740px);
    --round-accordion-side: clamp(68px, 7vw, 98px);
    min-height: 0;
  }
}


/* v0.37.61 — focused immersive Visual Diary slider. */

/* v0.38.3 — guest checkout visual parity with the signed-in checkout. */
.guest-checkout-page .checkout-head { margin-bottom: 26px; }
.guest-checkout-page .account-card-head { margin-bottom: 16px; }
.guest-checkout-page .account-card-head h2 { font-size: clamp(1.15rem, 2vw, 1.5rem); }
.guest-checkout-page .account-card-head span { max-width: 34rem; line-height: 1.8; text-wrap: balance; }
.guest-checkout-page .guest-address-form { margin: 0; }
.guest-checkout-page label small { color: var(--muted); font-weight: 500; }

.guest-checkout-otp,
.guest-account-option { display: grid; gap: 16px; }
.guest-otp-form,
.guest-account-fields { margin: 0; }
.guest-otp-form { display: grid; gap: 16px; }
.guest-otp-code-field,
.guest-account-fields label { display: grid; gap: 8px; }
.guest-otp-code-field > span,
.guest-account-fields label > span {
  color: var(--brand);
  font-weight: 800;
  line-height: 1.5;
}
.guest-otp-code-field input {
  min-height: 52px;
  text-align: center;
  letter-spacing: .35em;
  font-size: 1.15rem;
  direction: ltr;
}
.guest-otp-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.guest-otp-actions .btn { min-width: 132px; }
.guest-otp-status {
  margin: 0;
  border-radius: 14px;
  background: color-mix(in srgb, var(--soft) 88%, transparent);
  padding: 11px 13px;
  color: var(--muted);
  line-height: 1.75;
}
.guest-otp-status[data-state="sent"] { color: var(--brand); }
.guest-otp-status[data-state="success"] { color: #14834f; background: rgba(20,131,79,.08); font-weight: 700; }
.guest-otp-status[data-state="error"] { color: #b42318; background: rgba(180,35,24,.08); font-weight: 700; }

.guest-create-account-choice {
  width: 100%;
  margin: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}
.guest-create-account-choice input {
  width: 19px;
  height: 19px;
  margin: 0;
  accent-color: var(--brand-900);
}
.guest-create-account-choice strong { margin-bottom: 4px; }
.guest-create-account-choice.is-selected {
  border-color: rgba(59,113,202,.5);
  background: color-mix(in srgb, var(--brand-50) 70%, var(--card));
  box-shadow: 0 0 0 3px rgba(59,113,202,.08);
}
.guest-account-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.guest-account-fields[hidden] { display: none; }
.guest-account-fields input { min-height: 50px; }
.guest-privacy-note { margin: 14px 0 0; font-size: .82rem; line-height: 1.9; }

.guest-checkout-page .checkout-qty-controls { margin-top: 10px; }
.guest-checkout-page .checkout-qty-controls .qty-btn {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
}
.guest-checkout-page .checkout-remove-btn { min-height: 32px; }

@media (max-width: 720px) {
  .guest-checkout-page .account-card-head { gap: 6px; }
  .guest-otp-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-otp-actions .btn { width: 100%; min-width: 0; }
  .guest-account-fields { grid-template-columns: 1fr; }
  .guest-create-account-choice { align-items: flex-start; padding: 14px; }
}

/* v0.38.1 — deterministic three-card immersive Visual Diary slider. */


/* v0.38.2 — exact-centered immersive Visual Diary slider. */


/* v0.38.4 — deterministic immersive slider and explicit Gallery home navigation. */
.gallery-story-home-group {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.gallery-story-home-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.06);
  font-size: .78rem;
  font-weight: 850;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.gallery-story-home-link:hover,
.gallery-story-home-link:focus-visible {
  border-color: rgba(110,168,255,.65);
  color: #fff;
  background: rgba(110,168,255,.14);
  outline: none;
}
.gallery-story-home-link svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 520px) {
  .gallery-story-home-group { gap: 9px; }
  .gallery-story-home-link { min-height: 32px; padding-inline: 9px; font-size: .72rem; }
  .gallery-story-home-link span { display: inline; }
}

/* v0.39.0 advanced product filters */
.store-advanced-filters {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.store-filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.store-filter-heading h3 { margin: 0; }
.store-filter-heading button {
  border: 0;
  background: transparent;
  color: var(--accent);
  font: inherit;
  cursor: pointer;
}
.store-advanced-filter {
  display: grid;
  gap: 7px;
}
.store-advanced-filter > span {
  color: var(--muted);
  font-size: .85rem;
  font-weight: 700;
}
.store-advanced-filter select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
  color: var(--text);
  padding: 9px 11px;
  font: inherit;
}
.mobile-advanced-filter-group {
  display: grid;
  gap: 12px;
}
.product-advanced-meta {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
}
.product-advanced-meta h3 {
  margin: 0 0 12px;
  font-size: 1rem;
}
.product-advanced-meta dl {
  display: grid;
  gap: 10px;
  margin: 0;
}
.product-advanced-meta dl > div {
  display: grid;
  grid-template-columns: minmax(120px, .38fr) 1fr;
  gap: 12px;
  align-items: start;
}
.product-advanced-meta dt {
  color: var(--muted);
  font-weight: 700;
}
.product-advanced-meta dd {
  margin: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}
@media (max-width: 850px) {
  .sidebar .store-advanced-filters { display: none; }
  .mobile-filter-panel .store-advanced-filter select { background: var(--surface); }
}
@media (max-width: 560px) {
  .product-advanced-meta dl > div { grid-template-columns: 1fr; gap: 3px; }
}

/* v0.39.1 — the public Gallery always keeps the immersive black canvas. */
body.immersive-gallery-page,
body.immersive-gallery-page #app,
body.immersive-gallery-page .gallery-page,
body.immersive-gallery-page .gallery-page > .container,
body.immersive-gallery-page .gallery-layout-host,
body.immersive-gallery-page .accordion-carousel-gallery,
body.immersive-gallery-page .accordion-carousel-shell,
body.immersive-gallery-page .accordion-carousel-stage {
  background-color: #030815 !important;
}

body.immersive-gallery-page .gallery-page {
  min-height: 100dvh;
}

body.immersive-gallery-page .accordion-carousel-gallery:not(.accordion-carousel-gallery--home) {
  color: #fff;
}

/* v0.39.13 — product presentation stabilization */
body .store-layout .product-grid .product-card .product-card-price,
body .store-layout .product-list .product-card .product-card-price,
.home-featured-card-price {
  max-width: 100%;
  overflow: visible !important;
  overflow-wrap: normal;
  word-break: keep-all;
  text-overflow: clip !important;
  white-space: normal !important;
  font-variant-numeric: tabular-nums;
  unicode-bidi: isolate;
}

.store-layout .product-grid .product-card-stock {
  min-height: 0;
  padding-block: 4px;
  padding-inline: 7px;
  line-height: 1.15;
}

/* v0.39.26 — public SEO semantics and progressive route shell */
.seo-shell {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 56px 0 84px;
}
.seo-shell h1,
.store-page-heading h1 {
  color: var(--brand-900);
}
.seo-shell-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px 28px;
  padding: 0;
  list-style: none;
}
.seo-shell-list a,
.seo-shell-breadcrumbs a,
.public-breadcrumbs a {
  color: var(--brand-700);
}
.seo-shell-breadcrumbs,
.public-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}
.public-breadcrumbs {
  margin-bottom: 18px;
}
.store-page-heading {
  padding-top: 42px;
}
.store-page-heading h1 {
  margin: 0 0 8px;
  font-size: clamp(28px, 4vw, 44px);
}
.store-page-heading p {
  margin: 0 0 24px;
  color: var(--muted);
}
.product-card-title-link,
.article-title-link {
  color: inherit;
  text-decoration: none;
}
.product-card-title-link:focus-visible,
.article-title-link:focus-visible {
  outline: 2px solid var(--brand-500);
  outline-offset: 3px;
  border-radius: 4px;
}
.back,
.article-back {
  text-decoration: none;
}
.store-pagination a,
.store-pagination .store-page-nav {
  display: inline-grid;
  min-width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  transition: .18s ease;
}
.store-pagination a:hover,
.store-pagination a:focus-visible {
  border-color: var(--brand-500);
  color: var(--brand-600);
  transform: translateY(-1px);
}
.store-pagination a.active {
  background: var(--brand-900);
  border-color: var(--brand-900);
  color: #fff;
}
.store-pagination .store-page-nav.disabled {
  opacity: .4;
}
