/* Schleizer Commerce · Premium light theme · 3.0
 * Loaded after app.css. Tokens are shared across every commerce surface.
 * Merchant branding remains overridable through the validated inline variables.
 */
@font-face {
  font-family: Schleizer;
  src: url(../fonts/alexandria.woff2) format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --primary: #005a32;
  --brand-dark: #005a32;
  --accent: #123526;
  --bg: #f7fcf5;
  --surface: #ffffff;
  --ink: #123526;
  --muted: #5d7464;
  --line: #dbe8d7;
  --tint: #e5f5e0;
  --success: #237451;
  --radius: 16px;
  --font-size: 16px;
  --shadow: 0 12px 40px #1235260b;
  --mobile-nav-height: 68px;
}
html { scroll-padding-top: 24px; }
body {
  font-family: Schleizer, Nawa, Tahoma, sans-serif;
  background: var(--bg);
  color: var(--ink);
  font-size: var(--font-size);
  line-height: 1.8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
*, *::before, *::after { font-style: normal; }
button, input, select, textarea { font-family: inherit; font-style: normal; }
h1, h2, h3, h4, em, i { font-style: normal; letter-spacing: 0; }
h1, h2, h3 { font-weight: 650; }
button, a { touch-action: manipulation; }
button, input, select, textarea { transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}
button:disabled { opacity: .45; cursor: not-allowed; }
svg.icon { stroke-width: 1.7; }
::selection { background: #005a3224; color: var(--ink); }

/* Application shell and navigation */
.shell { display: block; max-width: 1360px; min-height: 100dvh; margin: 0 auto; background: var(--surface); }
.sidebar { display: none; }
.app-body { max-width: 1280px; padding: 32px 40px 40px; margin: 0 auto; }
#main { min-height: 40dvh; outline: 0; }
.market-topline {
  min-height: 36px; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 7px 40px; background: var(--bg); color: var(--muted); font-size: 12px;
}
.market-topline span, .market-topline a { display: flex; align-items: center; gap: 7px; }
.market-topline .icon { width: 15px; height: 15px; color: var(--primary); }
.topbar.market-header {
  display: flex; min-height: 94px; padding: 18px 40px; gap: 32px;
  border-bottom: 1px solid var(--line); background: var(--surface);
}
.topbar .mobile-brand { display: flex; flex-shrink: 0; }
.brand { gap: 10px; }
.brand img { max-height: 43px; max-width: 165px; width: auto; }
.brand-mark { width: 44px; height: 44px; border-radius: 13px; background: var(--primary); color: #fff; transform: none; }
.brand-mark svg { width: 30px; height: 30px; }
.brand-name { font-size: 24px; font-weight: 650; line-height: 1.45; }
.brand-name small { color: var(--muted); font: 400 12px/1.8 Schleizer, sans-serif; margin-top: 1px; letter-spacing: 0; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn { height: 44px; width: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--ink); }
.icon-btn:hover { border-color: #c7bcb3; background: var(--bg); }
.icon-btn .icon { height: 21px; width: 21px; }
.top-actions .desktop-account { font-size: 13px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 8px 0; }
.desktop-account .icon { width: 20px; height: 20px; }
.desktop-search {
  flex: 1; min-width: 0; max-width: 570px; padding: 0 16px;
  margin: 0; border-radius: 12px; background: var(--bg); min-height: 48px; font-size: 13px;
}
.desktop-search > b { margin-inline-start: auto; background: var(--ink); color: white; padding: 6px 18px; font-size: 12px; font-weight: 550; border-radius: 7px; }
.market-links { padding: 8px 40px; display: flex; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; white-space: nowrap; }
.market-links > button { display: flex; align-items: center; gap: 9px; padding: 10px 0; font-weight: 600; color: var(--ink); }
.market-links .icon { width: 17px; height: 17px; }
.market-links > button .icon:last-child { width: 12px; height: 12px; transform: rotate(-90deg); }
.market-links > a:hover { color: var(--primary); }
.market-cod-tag { margin-inline-start: auto; display: flex; align-items: center; gap: 7px; color: var(--primary); font-size: 12px; }
.count { min-width: 19px; height: 19px; border: 2px solid var(--surface); background: var(--primary); color: #fff; font: 650 10px Schleizer, sans-serif; }
.bottom-nav { display: none; }

/* Shared components */
.button { min-height: 48px; padding: 12px 24px; border-radius: 12px; font-size: 14px; font-weight: 600; line-height: 1.6; gap: 9px; }
.button-dark, .button-primary { background: var(--primary); color: #fff; border: 1px solid transparent; }
.button-dark:hover, .button-primary:hover { background: var(--brand-dark); }
.button-gold { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.button-gold:hover { background: #433e3a; }
.button-outline { background: var(--surface); color: var(--ink); border: 1px solid #c4bbb4; }
.button .icon { width: 18px; height: 18px; }
.text-link { color: var(--primary); font-size: 12px; font-weight: 500; gap: 5px; }
.text-link .icon { width: 14px; height: 14px; }
.chip { min-height: 38px; border-radius: 99px; padding: 7px 13px; font-size: 12px; color: var(--muted); background: var(--surface); border: 1px solid var(--line); }
.chip.active { background: var(--tint); color: var(--primary); border-color: #005a3240; font-weight: 550; }
.price { font-family: Schleizer, sans-serif; font-size: 22px; font-weight: 650; letter-spacing: -.3px; }
.price small { font-family: inherit; font-size: 12px; font-weight: 450; letter-spacing: 0; }
.old-price { font-size: 12px; color: var(--muted); line-height: 1.8; min-height: 0; }
.rating { font-size: 12px; color: var(--muted); gap: 5px; }
.rating .star, .stars { color: #aa7613; }
.stars { font-family: Arial, sans-serif; font-size: 18px; letter-spacing: 2px; line-height: 1; }
.section-head { margin-bottom: 20px; align-items: flex-end; }
.section-head h2 { font-size: 24px; font-weight: 650; line-height: 1.5; }
.section-head .overline { font-family: inherit; font-size: 12px; color: var(--muted); letter-spacing: 0; margin-bottom: 4px; }
.section-head .text-link { font-size: 12px; }
.home-section { margin-top: 40px; }
.page-heading { margin: 0 0 24px; gap: 14px; }
.page-heading h1 { font-size: 28px; line-height: 1.55; }
.page-heading p { font-size: 13px; color: var(--muted); }
.page-heading .icon-btn { width: 44px; height: 44px; }

/* Home: an editorial greeting, honest service and product-led campaigns */
.home-intro { margin: 0 0 24px; max-width: 800px; }
.home-intro .eyebrow, .welcome-line .eyebrow { color: var(--primary); font-size: 12px; font-weight: 550; margin-bottom: 6px; letter-spacing: 0; }
.home-intro h1 { font-size: 34px; line-height: 1.6; font-weight: 650; }
.home-intro h1 em, .welcome-line h1 em { color: var(--primary); font-style: normal; }
.home-intro > p:last-child { font-size: 14px; color: var(--muted); margin-top: 6px; }
.welcome-line { margin: 0 0 22px; }
.welcome-line h1 { font-size: 30px; }
.welcome-line h1 em::after { display: none; }
.home-heart { display: none; }
.home-search { width: 100%; min-width: 0; margin: 0 0 24px; border-radius: 12px; padding: 12px 17px; min-height: 52px; background: var(--bg); font-size: 14px; color: var(--muted); }
.search-hint { margin-inline-start: auto; font-size: 12px; color: var(--muted); }
.hero-carousel { margin-bottom: 0; }
.campaign-slide {
  min-height: 380px; padding: 40px; display: flex; align-items: center;
  isolation: isolate; position: relative; border-radius: 20px; overflow: hidden;
  background: var(--tint); color: var(--ink); grid-template-columns: none;
}
.campaign-slide::after { display: none; }
.campaign-photo { position: absolute; inset: 0; z-index: -2; overflow: hidden; border-radius: inherit; }
.campaign-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left center; mix-blend-mode: normal; }
.campaign-slide::before { content: ''; position: absolute; inset: 0; background: linear-gradient(270deg, #f7f3ecf5 0%, #f7f3eceb 30%, #f7f3ec55 49%, transparent 64%); z-index: -1; pointer-events: none; }
.hero-copy { width: 43%; max-width: 440px; position: relative; padding: 0 0 8px; transform: none; }
.hero-copy .eyebrow { font-size: 12px; color: var(--primary); font-weight: 550; letter-spacing: 0; margin-bottom: 13px; gap: 7px; }
.hero-copy .eyebrow > span { width: 6px; height: 6px; border-radius: 50%; background: var(--primary); }
.hero-copy h2 { font-size: 38px; line-height: 1.55; font-weight: 650; white-space: pre-line; letter-spacing: 0; }
.hero-copy p { font-size: 14px; line-height: 1.95; color: #655e57; max-width: 310px; margin-top: 12px; }
.hero-copy .button { margin-top: 23px; padding: 11px 20px; min-height: 46px; font-size: 13px; border-radius: 10px; }
.hero-copy .button .icon { width: 17px; height: 17px; }
.carousel-footer { position: absolute; bottom: 20px; left: 24px; gap: 9px; color: var(--ink); }
.carousel-dots { gap: 6px; }
.carousel-dots button { background: #12352640; height: 6px; width: 6px; border-radius: 6px; position: relative; }
.carousel-dots button::after { content: ''; position: absolute; inset: -12px -6px; }
.carousel-dots button.active { background: var(--primary); width: 22px; }
.carousel-control { width: 30px; height: 30px; border-color: #12352630; background: #ffffffd9; color: var(--ink); font-size: 11px; }
.service-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 21px 0; border-bottom: 1px solid var(--line); }
.service-strip article { display: flex; justify-content: center; align-items: center; gap: 11px; padding: 4px 15px; border-inline-end: 1px solid var(--line); }
.service-strip article:last-child { border-inline-end: 0; }
.service-strip article > .icon { width: 23px; height: 23px; color: var(--primary); }
.service-strip b { display: block; font-size: 13px; font-weight: 550; line-height: 1.7; }
.service-strip small { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.7; }
.home-service { margin: 0 0 8px; }
.cod-wallet { padding: 22px 24px; margin: 0 0 24px; background: var(--tint); border: 1px solid var(--line); border-radius: 16px; display: flex; justify-content: space-between; align-items: center; }
.cod-wallet::before { display: none; }
.cod-wallet small { font-size: 12px; color: var(--primary); }
.cod-wallet h2 { font-size: 24px; margin-top: 4px; }
.cod-wallet p { font-size: 13px; color: var(--muted); margin-top: 6px; }
.cod-benefits { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.cod-benefits span, .cod-benefits a { background: #ffffffb3; border: 1px solid #eadfd8; border-radius: 99px; color: var(--ink); font-size: 12px; display: flex; align-items: center; gap: 5px; padding: 5px 10px; }
.cod-benefits .icon { width: 14px; height: 14px; }
.cod-emblem { background: #fff; width: 66px; height: 66px; border-radius: 18px; display: grid; place-items: center; color: var(--primary); transform: none; margin-inline-start: 20px; }
.cod-emblem > .icon { width: 32px; height: 32px; }
.cod-emblem > span { display: none; }
.category-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 24px; }
.category-card { gap: 10px; }
.category-art, .category-card:nth-child(3n + 1) .category-art, .category-card:nth-child(3n + 2) .category-art, .category-card:nth-child(3n) .category-art {
  width: 92px; height: 92px; border-radius: 50%; background: var(--bg); border: 1px solid #efe9e2; color: var(--ink);
}
.category-art img { width: 75%; height: 75%; object-fit: contain; border-radius: 0; }
.category-art .icon { width: 34px; height: 34px; stroke-width: 1.5; }
.category-card:hover .category-art { background: var(--tint); }
.category-card span { font-size: 13px; font-weight: 500; line-height: 1.7; }
.category-card small { font-size: 12px; }
.category-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 20px; }
.category-grid .category-art { width: 106px; height: 106px; }
.budget-tabs { display: flex; gap: 9px; margin: 0 0 20px; overflow: auto; scrollbar-width: none; }
.budget-tabs button { border: 1px solid var(--line); border-radius: 99px; padding: 9px 18px; color: var(--muted); font-size: 13px; line-height: 1.7; white-space: nowrap; min-height: 44px; }
.budget-tabs button.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.campaign-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.campaign-tile { position: relative; min-height: 265px; isolation: isolate; overflow: hidden; border-radius: 16px; background: var(--bg); color: var(--ink); }
.campaign-tile > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; z-index: -2; }
.campaign-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(270deg, #f7f3ecf5, #f7f3ecd9 35%, transparent 80%); z-index: -1; }
.campaign-tile > div { width: 60%; padding: 28px; }
.campaign-tile small { font-size: 12px; color: var(--primary); }
.campaign-tile h3 { font-size: 25px; line-height: 1.7; white-space: pre-line; margin-top: 6px; }
.campaign-tile span { display: flex; align-items: center; gap: 7px; font-size: 12px; margin-top: 18px; color: var(--ink); font-weight: 550; }
.campaign-tile .icon { width: 15px; height: 15px; }
.collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.collection, .collection:nth-child(2), .collection:nth-child(3) { background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 22px; min-height: 125px; }
.collection h3 { font-size: 21px; line-height: 1.7; }
.collection span { color: var(--muted); font-size: 12px; }
.collection > .icon { color: var(--primary); width: 35px; height: 35px; transform: none; }
.assurance { background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 28px; gap: 24px; }
.assurance .icon { color: var(--primary); width: 25px; height: 25px; }
.assurance b { font-size: 14px; }
.assurance p { font-size: 12px; line-height: 1.9; }
.brands-grid { gap: 12px; }
.brand-tile { border-radius: 12px; min-height: 65px; min-width: 140px; padding: 16px 20px; font-size: 14px; }

/* Product cards, category lists and search */
.product-grid, .loading-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { border-radius: 16px; border: 1px solid var(--line); box-shadow: none; background: var(--surface); transition: border-color 180ms ease, box-shadow 180ms ease; }
.product-card:hover { transform: none; border-color: #d4c9bf; box-shadow: 0 8px 25px #12352608; }
.product-image { aspect-ratio: 1; margin: 0; border-radius: 15px 15px 0 0; background: var(--bg); }
.product-image > img { width: 91%; height: 91%; object-fit: contain; mix-blend-mode: multiply; }
.product-card:hover .product-image > img { transform: scale(1.025); }
.product-actions { inset: 12px 12px auto; direction: rtl; }
.product-info { padding: 16px; }
.product-category { font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.product-title { font-size: 15px; font-weight: 500; line-height: 1.8; min-height: 54px; }
.price-row { margin-top: 12px; gap: 8px; align-items: center; }
.product-badge { display: inline-block; background: #fff; border: 1px solid #f0ded6; color: var(--primary); border-radius: 6px; padding: 4px 7px; font-size: 12px; font-weight: 600; line-height: 1.5; direction: ltr; }
.wish-btn { width: 36px; height: 36px; background: #fffffff2; color: var(--ink); border: 1px solid #e6ddd4; }
.wish-btn .icon { width: 18px; height: 18px; }
.wish-btn.saved { color: var(--primary); background: var(--tint); border-color: #005a3238; }
.add-btn { width: 38px; height: 38px; border: 1px solid #e6d9d1; color: var(--primary); background: var(--tint); }
.add-btn:hover { color: white; background: var(--primary); border-color: var(--primary); }
.add-btn .icon { width: 18px; height: 18px; }
.delivery-label { font-size: 12px; line-height: 1.7; color: var(--success); margin-top: 10px; }
.delivery-label .icon { width: 14px; height: 14px; }
.out-label { font-size: 12px; margin-top: 9px; }
.search-form { background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 4px 15px; }
.search-form input { min-height: 46px; font-size: 15px; }
.search-form:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px #005a320b; }
.search-content { margin-top: 28px; }
.search-content h2 { font-size: 19px; }
.recent-row { font-size: 14px; padding: 15px 0; }
.search-suggestion { display: flex; align-items: center; gap: 14px; padding: 15px 0; font-size: 14px; border-bottom: 1px solid var(--line); }
.search-suggestion > img { width: 60px; height: 60px; border-radius: 10px; background: var(--bg); object-fit: contain; }
.search-suggestion > span { flex: 1; min-width: 0; }
.search-suggestion small { display: block; color: var(--muted); font-size: 13px; margin-top: 5px; }
.search-suggestion small small { display: inline; font-size: 12px; }
.search-suggestion > .icon { width: 18px; height: 18px; }
.toolbar { padding: 12px 0; border-bottom: 1px solid var(--line); margin: 18px 0 20px; gap: 12px; flex-wrap: wrap; }
.toolbar p { font-size: 13px; }
.toolbar-actions { gap: 8px; align-items: center; }
.toolbar select, .filter-button { min-height: 42px; font-size: 12px; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; }
.catalog-view { width: 42px; display: grid; place-items: center; padding: 9px; }
.catalog-view .icon { width: 18px; height: 18px; }
.catalog-category-links { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 3px 1px 8px; margin-top: 20px; }
.catalog-category-links .chip { white-space: nowrap; flex-shrink: 0; }
.list-view { grid-template-columns: 1fr !important; }
.list-view .product-card { display: grid; grid-template-columns: 185px 1fr; align-items: center; }
.list-view .product-image { margin: 8px; border-radius: 12px; }
.list-view .product-actions { right: 20px; left: auto; width: 148px; }
.list-view .product-info { padding: 20px; }
.list-view .product-title { min-height: 0; font-size: 17px; }
.filter-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.category-menu-all, .category-menu-parent { display: flex; align-items: center; gap: 12px; padding: 17px 0; font-size: 14px; border-bottom: 1px solid var(--line); }
.category-menu-parent { font-weight: 550; }
.category-menu-parent > span { flex: 1; }
.category-menu-parent small { font-size: 12px; color: var(--muted); display: block; font-weight: 400; margin-top: 4px; }
.category-menu-parent > .icon:first-child { width: 22px; height: 22px; color: var(--primary); background: var(--tint); padding: 10px; border-radius: 12px; box-sizing: content-box; }
.category-menu-parent > .icon:last-child { width: 17px; height: 17px; color: var(--muted); }
.category-menu section > div { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 0; }
.category-menu-all { color: var(--primary); font-weight: 550; }
.category-menu-all > .icon:last-child { margin-inline-start: auto; }

/* Product detail: large gallery, decisive buying area and evidence */
.product-breadcrumb { display: flex; align-items: center; gap: 9px; margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.product-breadcrumb > .icon { width: 12px; height: 12px; }
.product-breadcrumb .icon-btn { margin-inline-start: auto; width: 40px; height: 40px; }
.product-breadcrumb > span { white-space: nowrap; }
.marketplace-product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 260px; gap: 24px; align-items: start; }
.product-gallery { position: sticky; top: 24px; min-width: 0; }
.main-photo { width: 100%; aspect-ratio: 1; background: var(--bg); border: 1px solid var(--line); border-radius: 18px; }
.main-photo > img { width: 96%; height: 96%; object-fit: contain; mix-blend-mode: multiply; cursor: zoom-in; }
.gallery-wish { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; }
.gallery-open { position: absolute; left: 14px; bottom: 14px; height: 40px; width: 40px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); background: #fffffff2; cursor: zoom-in; }
.gallery-open .icon { height: 18px; width: 18px; }
.gallery-count { position: absolute; right: 16px; bottom: 18px; font-size: 12px; line-height: 1.5; background: #ffffffeb; padding: 5px 9px; border: 1px solid #ebe6e0; border-radius: 99px; color: var(--muted); direction: ltr; }
.gallery-nav { position: absolute; top: 50%; margin-top: -20px; border-radius: 50%; width: 40px; height: 40px; display: grid; place-items: center; background: #ffffffed; border: 1px solid var(--line); z-index: 2; }
.gallery-nav.prev { right: 12px; }
.gallery-nav.next { left: 12px; }
.gallery-thumbs { display: flex; gap: 9px; overflow-x: auto; scrollbar-width: thin; margin-top: 12px; padding: 2px 0; }
.gallery-thumbs button { width: 62px; min-width: 62px; height: 62px; border-radius: 10px; padding: 5px; background: var(--surface); border: 1px solid var(--line); }
.gallery-thumbs button.active { border: 2px solid var(--primary); background: var(--tint); }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.store-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; background: var(--tint); color: var(--primary); border-radius: 7px; font-size: 12px; }
.store-tag .icon { width: 14px; height: 14px; }
.product-detail { min-width: 0; }
.product-detail h1 { font-size: 25px; line-height: 1.85; font-weight: 650; margin: 14px 0; overflow-wrap: anywhere; }
.detail-rating { font-size: 12px; gap: 9px; flex-wrap: wrap; }
.detail-rating button { color: var(--muted); font-size: 12px; padding: 3px 0; text-decoration: underline; text-underline-offset: 4px; }
.detail-price-panel { padding: 18px 0; margin: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-detail .detail-price { font-size: 34px; color: var(--ink); font-weight: 650; line-height: 1.5; }
.detail-price small { font-size: 14px; font-weight: 450; }
.detail-discount { display: flex; align-items: center; gap: 9px; margin-top: 7px; }
.detail-discount .old-price { font-size: 14px; margin: 0; }
.discount-chip { background: var(--tint); color: var(--primary); border-radius: 6px; padding: 3px 8px; font-size: 12px; }
.detail-line { font-size: 12px; color: var(--success); margin: 10px 0 0; gap: 7px; }
.detail-line .icon { width: 15px; height: 15px; }
.detail-summary { font-size: 14px; line-height: 2; color: var(--muted); margin: 18px 0; }
.pdp-benefits { margin: 16px 0 20px; }
.pdp-benefits ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pdp-benefits li { position: relative; display: flex; gap: 9px; font-size: 13px; line-height: 1.9; color: var(--ink); padding-inline-start: 0; }
.pdp-benefits li > .icon { color: var(--primary); width: 17px; height: 17px; margin-top: 4px; }
.pdp-benefits li::marker { color: var(--primary); }
.quantity-control { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.quantity-control button { width: 34px; height: 46px; }
.quantity-control input { width: 32px; font-family: inherit; font-size: 15px; }
.detail-buy { display: flex; flex-wrap: nowrap; gap: 10px; margin: 20px 0 11px; }
.detail-buy .quantity-control { min-width: 100px; }
.detail-buy .button { min-width: 0; padding: 11px 14px; font-size: 13px; }
.buy-now-button { width: 100%; min-height: 48px; font-size: 13px; }
.detail-meta { display: flex; gap: 8px; margin-top: 16px; }
.detail-meta .chip { min-height: 42px; font-size: 12px; padding: 7px 11px; }
.detail-meta .icon { width: 16px; height: 16px; }
.variant-fields { margin: 19px 0 13px; gap: 12px; }
.variant-fields label { font-size: 13px; }
.variant-fields select { min-height: 48px; border-radius: 10px; background: var(--surface); font-size: 14px; border-color: #d4cac1; }
.variant-feedback { font-size: 12px; color: var(--muted); margin-top: 8px; }
.delivery-card { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; overflow: hidden; }
.delivery-card h2 { padding: 17px; border-bottom: 1px solid var(--line); font-size: 16px; }
.delivery-location { padding: 13px 17px; display: flex; gap: 8px; background: var(--bg); color: var(--muted); font-size: 12px; }
.delivery-location .icon { height: 15px; width: 15px; margin-top: 3px; }
.delivery-card article { padding: 18px 17px; display: flex; gap: 11px; border-bottom: 1px solid var(--line); }
.delivery-card article > .icon { height: 23px; width: 23px; margin-top: 3px; color: var(--primary); }
.delivery-card article b { display: block; font-size: 13px; font-weight: 600; }
.delivery-card article p { color: var(--muted); font-size: 12px; line-height: 1.95; margin-top: 7px; }
.delivery-card article small { display: block; font-size: 12px; color: var(--muted); margin-top: 7px; line-height: 1.85; }
.delivery-card article .text-link { margin-top: 9px; font-size: 12px; }
.seller-card { display: flex; align-items: center; gap: 10px; padding: 17px; }
.seller-card > .icon { width: 22px; height: 22px; color: var(--primary); }
.seller-card small { font-size: 12px; color: var(--muted); display: block; }
.seller-card b { font-size: 13px; }
.seller-card a { display: flex; align-items: center; gap: 3px; color: var(--primary); font-size: 12px; margin-inline-start: auto; }
.seller-card a .icon { height: 13px; width: 13px; }
.product-tabs { display: flex; gap: 30px; margin-top: 40px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.product-tabs button { padding: 16px 0; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; font-size: 14px; }
.product-tabs button:first-child { color: var(--ink); border-color: var(--ink); font-weight: 600; }
.product-content-card { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; padding: 26px 28px; margin-top: 20px; scroll-margin-top: 24px; }
.product-content-card h2 { font-size: 22px; margin-bottom: 16px; }
.product-content-card > p, .product-content-card .rich-description { font-size: 14px; color: var(--muted); line-height: 2.1; white-space: pre-line; }
.product-content-card .rich-description h2, .product-content-card .rich-description h3 { margin: 24px 0 12px; color: var(--ink); font-size: 20px; }
.product-content-card .rich-description img { border-radius: 12px; margin: 18px auto; height: auto; max-width: 100%; }
.product-content-card video, .product-video video { display: block; max-width: 100%; width: 100%; max-height: 560px; object-fit: contain; background: #181615; border-radius: 14px; }
.product-extras { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.product-extras .product-content-card { min-width: 0; }
.box-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.box-list li { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.box-list li:last-child { border-bottom: 0; }
.box-list .icon { width: 18px; height: 18px; color: var(--primary); }
.spec-table { width: 100%; border-collapse: collapse; text-align: start; font-size: 14px; }
.spec-table th, .spec-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); vertical-align: top; }
.spec-table th { width: 34%; background: var(--bg); color: var(--muted); font-weight: 450; }
.spec-table tr:last-child > * { border-bottom: 0; }
.spec-table td { color: var(--ink); }
.review-overview { display: grid; grid-template-columns: 180px 1fr; gap: 35px; padding: 5px 0 24px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.rating-score { padding: 16px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; border-inline-end: 1px solid var(--line); }
.rating-score > strong, .rating-score > b { font-size: 44px; font-weight: 650; line-height: 1; }
.rating-score small, .rating-score p { font-size: 12px; color: var(--muted); }
.rating-bars { display: grid; gap: 8px; align-content: center; }
.rating-bar { display: flex; gap: 12px; align-items: center; font-size: 12px; color: var(--muted); }
.rating-bar > b { min-width: 20px; font-size: 12px; color: var(--ink); font-weight: 500; }
.rating-bar > small { font-size: 12px; width: 30px; text-align: end; }
.rating-track { height: 6px; background: var(--bg); border-radius: 99px; flex: 1; overflow: hidden; }
.rating-track span { display: block; height: 100%; border-radius: inherit; background: #c49b54; }
.review-row { margin: 12px 0; padding: 20px; border-radius: 12px; border: 1px solid var(--line); font-size: 14px; }
.review-row header { gap: 12px; }
.review-row p { font-size: 14px; line-height: 2; color: var(--muted); }
.review-row small { font-size: 12px; color: var(--success); margin-top: 8px; display: block; }
.product-faq details { padding: 18px 0; border-top: 1px solid var(--line); font-size: 14px; }
.product-faq details:first-of-type { border-top: 0; }
.product-faq summary { font-size: 14px; font-weight: 550; cursor: pointer; padding-inline-end: 20px; line-height: 1.9; }
.product-faq details p { font-size: 14px; color: var(--muted); line-height: 2; padding-top: 13px; }
.product-buy-dock { display: none; }

/* Full-screen product gallery */
.gallery-viewer { width: min(1080px, 100%); height: min(850px, 92dvh); display: flex; flex-direction: column; background: var(--surface); border-radius: 18px; padding: 20px; overflow: hidden; }
.gallery-viewer .sheet-head { margin-bottom: 12px; }
.gallery-viewer .sheet-head h2 { font-size: 18px; max-width: 80%; line-height: 1.8; }
.gallery-full-image { flex: 1; min-height: 0; width: 100%; object-fit: contain; border-radius: 12px; background: var(--bg); }
.gallery-full-image > img { width: 100%; height: 100%; object-fit: contain; }
.gallery-tools { display: flex; align-items: center; justify-content: center; gap: 18px; padding-top: 16px; font-size: 13px; }
.gallery-tools .icon-btn { width: 44px; height: 44px; }
.gallery-tools > span { min-width: 50px; text-align: center; direction: ltr; }

/* Cart and checkout */
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
.cart-item { gap: 18px; padding: 24px 0; }
.cart-item:first-child { padding-top: 0; }
.cart-item-img { height: 106px; width: 106px; border-radius: 14px; background: var(--bg); object-fit: contain; }
.cart-item h3 { font-size: 15px; line-height: 1.9; font-weight: 550; }
.cart-item .variation-text { font-size: 12px; }
.cart-item-controls { gap: 20px; margin-top: 14px; }
.cart-item .price { font-size: 20px; }
.cart-item .quantity-control button { width: 32px; height: 36px; }
.cart-item .quantity-control input { width: 28px; font-size: 13px; }
.cart-item .remove-item { width: 40px; height: 40px; border: 0; color: var(--muted); }
.cart-item .remove-item .icon { width: 18px; height: 18px; }
.cart-summary { background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 26px; top: 24px; }
.cart-summary h2 { font-size: 22px; margin-bottom: 23px; }
.summary-line { font-size: 14px; margin: 14px 0; color: var(--muted); }
.summary-line > :last-child { color: var(--ink); text-align: end; }
.summary-line.total { font-size: 21px; padding-top: 18px; margin-top: 18px; font-weight: 650; }
.summary-line.total small { font-size: 13px; }
.cart-summary .button { width: 100%; margin-top: 20px; font-size: 14px; }
.cart-summary > small { font-size: 12px; color: var(--muted); line-height: 2; margin-top: 15px; }
.coupon-form { margin-top: 22px; gap: 7px; }
.coupon-form input { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 12px; font-size: 13px; min-height: 44px; }
.coupon-form button { background: var(--ink); color: #fff; font-size: 12px; padding: 10px 14px; border-radius: 10px; }
.coupon-chip { background: var(--tint); color: var(--primary); border: 1px solid #edccc7; font-size: 12px; padding: 5px 10px; }
.cart-errors, .checkout-errors:not(:empty) { color: #a52b36; background: #fff1f1; border: 1px solid #efc8cd; padding: 15px; border-radius: 12px; margin: 15px 0; font-size: 13px; line-height: 1.9; }
.checkout-progress { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; margin: 0 0 27px; flex-wrap: wrap; }
.checkout-progress .current { color: var(--ink); font-weight: 600; }
.checkout-progress .icon { height: 12px; width: 12px; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; align-items: start; }
.checkout-form-panel { padding: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; }
.checkout-form-panel h2 { font-size: 23px; display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.checkout-form-panel h2 > .icon { width: 23px; height: 23px; color: var(--primary); }
.checkout-form-panel > p { font-size: 13px; color: var(--muted); line-height: 2; margin-bottom: 25px; }
.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.checkout-field { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 500; min-width: 0; }
.checkout-field.wide { grid-column: 1 / -1; }
.checkout-field span > small { font-size: 12px; font-weight: 400; color: var(--muted); }
.checkout-field input, .checkout-field select, .checkout-field textarea { width: 100%; min-height: 50px; padding: 12px 14px; background: var(--surface); border: 1px solid #cfc5bd; border-radius: 10px; font-size: 15px; line-height: 1.6; }
.checkout-field input:focus, .checkout-field select:focus, .checkout-field textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px #005a320c; }
.checkout-field textarea { resize: vertical; min-height: 94px; }
.checkout-field input[type=tel], .checkout-field input[type=email] { text-align: right; direction: ltr; }
.checkout-payment { display: flex; gap: 13px; align-items: center; border: 1px solid #dfd2c5; border-radius: 12px; background: var(--bg); padding: 18px; margin-top: 27px; }
.checkout-payment > .icon { width: 28px; height: 28px; color: var(--primary); }
.checkout-payment b { display: block; font-size: 14px; font-weight: 600; }
.checkout-payment p { font-size: 12px; color: var(--muted); margin-top: 5px; line-height: 1.9; }
.selected-dot { height: 17px; width: 17px; flex-shrink: 0; border-radius: 50%; border: 5px solid var(--primary); background: #fff; margin-inline-start: auto; }
.shipping-options { margin-top: 25px; }
.shipping-options h3 { font-size: 16px; margin-bottom: 12px; }
.shipping-option { display: flex; align-items: center; gap: 10px; padding: 15px 0; font-size: 13px; border-bottom: 1px solid var(--line); }
.shipping-option input { width: 18px; height: 18px; accent-color: var(--primary); }
.shipping-option b { margin-inline-start: auto; font-size: 13px; white-space: nowrap; }
.shipping-options > p, .shipping-options > div > p { font-size: 13px; color: var(--muted); line-height: 1.9; }
.quote-refresh { color: var(--primary); text-decoration: underline; text-underline-offset: 4px; font-size: 13px; min-height: 44px; padding: 8px 0; margin-top: 8px; }
.quote-status { font-size: 12px; color: var(--muted); line-height: 1.9; margin: 0; }
.checkout-sidebar { border: 1px solid var(--line); border-radius: 16px; background: var(--bg); padding: 26px; position: sticky; top: 24px; }
.checkout-sidebar h2 { font-size: 22px; margin-bottom: 20px; }
.checkout-mini-item { display: flex; gap: 12px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }
.checkout-mini-item img { width: 62px; height: 62px; background: #fff; border: 1px solid var(--line); border-radius: 10px; object-fit: contain; }
.checkout-mini-item > span { flex: 1; min-width: 0; font-size: 13px; line-height: 1.9; }
.checkout-mini-item small { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); }
.checkout-mini-item b { font-size: 15px; font-weight: 550; white-space: nowrap; }
.checkout-mini-item b small { display: inline; color: var(--ink); font-size: 12px; }
.checkout-sidebar .button { width: 100%; font-size: 13px; margin-top: 15px; min-height: 50px; }
.checkout-sidebar > small { display: block; font-size: 12px; line-height: 2; color: var(--muted); margin-top: 14px; }
.checkout-terms { display: flex; gap: 10px; font-size: 12px; line-height: 1.9; padding: 16px 0 3px; }
.checkout-terms input { width: 18px; height: 18px; accent-color: var(--primary); margin-top: 3px; flex-shrink: 0; }
.checkout-terms a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.checkout-trust { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--muted); margin-top: 18px; }
.checkout-trust span { display: flex; align-items: center; gap: 6px; }
.checkout-trust .icon { width: 15px; height: 15px; }

/* Account, secure receipt and order status */
.account-hero { padding: 30px; background: var(--tint); border: 1px solid var(--line); border-radius: 16px; gap: 18px; }
.account-hero .avatar { background: #fff; color: var(--primary); height: 66px; width: 66px; flex-shrink: 0; }
.account-hero h2 { font-size: 25px; }
.account-hero p { font-size: 13px; color: var(--muted); line-height: 2; }
.account-link { border: 1px solid var(--line); border-radius: 14px; padding: 22px; gap: 14px; }
.account-link > .icon:first-child { color: var(--primary); width: 24px; height: 24px; }
.account-link strong { font-size: 15px; font-weight: 550; }
.account-link small { font-size: 12px; line-height: 1.9; }
.account-about h3 { font-size: 20px; }
.account-about p { font-size: 14px; }
.order-receipt, .demo-confirmation { max-width: 760px; margin: 20px auto; padding: 36px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.receipt-icon, .demo-confirmation > .icon { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #edf6ef; color: var(--success); margin: 0 auto 20px; padding: 19px; }
.receipt-icon .icon { width: 30px; height: 30px; }
.order-receipt > h1, .demo-confirmation h1 { text-align: center; font-size: 29px; line-height: 1.65; }
.order-receipt > p, .demo-confirmation > p { text-align: center; font-size: 14px; color: var(--muted); line-height: 2; margin-top: 12px; }
.receipt-summary { background: var(--bg); border: 1px solid var(--line); border-radius: 14px; padding: 21px; margin: 26px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.receipt-summary small { font-size: 12px; color: var(--muted); display: block; }
.receipt-summary b, .receipt-summary strong { font-size: 15px; font-weight: 600; display: block; margin-top: 4px; }
.receipt-summary .price { font-size: 21px; }
.status-card { border: 1px solid var(--line); border-radius: 14px; padding: 22px; margin: 22px 0; }
.status-card h2 { font-size: 19px; margin-bottom: 15px; }
.status-step { padding: 15px 0; display: flex; align-items: flex-start; gap: 13px; border-top: 1px solid var(--line); }
.status-step .icon { width: 21px; height: 21px; color: var(--muted); margin-top: 3px; }
.status-step.current .icon, .status-step.complete .icon { color: var(--success); }
.status-step b { font-size: 14px; display: block; }
.status-step p, .status-step small { font-size: 12px; color: var(--muted); line-height: 1.9; margin-top: 5px; }
.order-receipt > .button { margin: 10px 0; }
.order-receipt .receipt-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.order-receipt .receipt-actions .button { flex: 1; }
.demo-confirmation { text-align: center; }
.demo-confirmation > div { padding: 20px; background: var(--bg); border-radius: 12px; margin: 25px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; text-align: right; }
.demo-confirmation > div small { font-size: 12px; color: var(--muted); }
.demo-confirmation > div b { font-size: 14px; }

/* Sheets, empty states, feedback and footer */
.overlay-backdrop { background: #12352670; backdrop-filter: blur(4px); }
.sheet { border-radius: 20px; max-width: 500px; padding: 28px; background: var(--surface); }
.sheet-head { margin-bottom: 22px; }
.sheet-head h2 { font-size: 23px; line-height: 1.65; }
.sheet p { font-size: 14px; line-height: 2; }
.sheet .field, .sheet .check-field { font-size: 14px; }
.sheet input[type=number], .sheet select { font-size: 15px; border-radius: 10px; background: var(--bg); min-height: 48px; }
.sheet input[type=checkbox] { accent-color: var(--primary); width: 18px; height: 18px; }
.sheet .button { margin-top: 18px; }
.sheet .ios-instructions { border-radius: 12px; font-size: 14px; background: var(--bg); }
.empty-state { padding: 65px 20px; max-width: 500px; }
.empty-illustration { background: var(--tint); border: 1px solid #e9dbd2; border-radius: 30px; transform: none; color: var(--primary); width: 108px; height: 108px; }
.empty-illustration .icon { transform: none; width: 48px; height: 48px; }
.empty-illustration::after { display: none; }
.empty-state h2 { font-size: 26px; }
.empty-state p { font-size: 14px; line-height: 2; }
.empty-state .button { margin-top: 24px; }
.skeleton { height: 360px; border-radius: 16px; background: linear-gradient(105deg, #efebe6 20%, #faf9f7 40%, #efebe6 60%); background-size: 200% 100%; }
.inline-loader { font-size: 14px; color: var(--muted); padding: 48px 20px; }
.spinner { border-color: #ded6cd; border-top-color: var(--primary); }
#nawa-toast { font-size: 13px; line-height: 1.9; border-radius: 12px; background: var(--ink); color: #fff; padding: 13px 20px; box-shadow: 0 8px 30px #12352620; }
.install-mini { border-radius: 14px; background: var(--bg); border-color: var(--line); padding: 18px; gap: 12px; }
.install-mini > .icon { color: var(--primary); width: 26px; height: 26px; }
.install-mini b { font-size: 13px; }
.install-mini small { font-size: 12px; line-height: 1.8; }
.install-mini button { color: #fff; background: var(--primary); border-radius: 9px; font-size: 12px; padding: 10px 14px; }
.install-mini .dismiss-install { background: transparent; color: var(--muted); min-width: 30px; }
.app-footer { margin-top: 48px; padding: 32px 0 4px; border-top: 1px solid var(--line); gap: 24px; display: flex; align-items: flex-start; justify-content: space-between; font-size: 12px; }
.app-footer .brand img { max-width: 145px; max-height: 37px; }
.app-footer .brand-name { font-size: 21px; }
.app-footer .brand-mark { height: 36px; width: 36px; }
.app-footer .brand-mark svg { height: 25px; width: 25px; }
.app-footer p { color: var(--muted); font-size: 12px; margin-top: 12px; max-width: 300px; line-height: 2; }
.app-footer > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 20px; max-width: 50%; }
.app-footer small { display: block; width: 100%; text-align: left; color: var(--muted); font-size: 12px; }
.boot-screen .boot-mark, .boot-mark { background: var(--primary); color: #fff; border-radius: 18px; }
.connection-indicator { background: var(--ink); color: #fff; font-size: 12px; line-height: 1.8; padding: 8px 16px; }

/* Intermediate screens keep the same spacious rhythm, without a desktop sidebar. */
@media (max-width: 1179px) {
  .app-body { padding-right: 32px; padding-left: 32px; }
  .topbar.market-header, .market-topline { padding-right: 32px; padding-left: 32px; }
  .market-links { gap: 22px; padding-right: 32px; padding-left: 32px; }
  .marketplace-product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
  .delivery-card { grid-column: 2; margin-top: -5px; }
  .product-gallery { grid-row: 1 / 3; }
  .product-grid, .loading-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .home-section .product-grid .product-card:nth-child(4) { display: block; }
  .category-strip { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
  .category-strip .category-card:nth-child(n + 7) { display: none; }
  .hero-copy h2 { font-size: 34px; }
  .hero-copy { width: 47%; }
  .campaign-slide { min-height: 350px; padding: 32px; }
  .cart-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 25px; }
  .checkout-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; }
  .checkout-form-panel, .checkout-sidebar { padding: 24px; }
  .campaign-tile > div { width: 65%; padding: 24px; }
  .campaign-tile h3 { font-size: 23px; }
}

/* Mobile shell: full width navigation, all labels visible, safe-area aware. */
@media (max-width: 960px) {
  .shell { max-width: none; }
  .market-topline, .market-links { display: none; }
  .topbar.market-header { min-height: 80px; padding: 16px 24px; gap: 18px; }
  .topbar .mobile-brand { display: flex; }
  .top-actions .desktop-cart, .top-actions .desktop-account, .desktop-search { display: none; }
  .top-actions .icon-btn { height: 42px; width: 42px; background: var(--bg); border: 0; }
  .app-body { max-width: 850px; padding: 24px 24px calc(100px + env(safe-area-inset-bottom)); }
  .brand img { max-height: 38px; max-width: 150px; }
  .brand-name { font-size: 23px; }
  .bottom-nav {
    display: flex; position: fixed; z-index: 30; bottom: 0; right: 0; left: 0;
    width: 100%; max-width: none; height: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
    transform: none; align-items: flex-start; justify-content: space-around; gap: 0;
    padding: 5px 12px calc(5px + env(safe-area-inset-bottom)); background: #fffffff5;
    border: 0; border-top: 1px solid var(--line); border-radius: 0;
    box-shadow: 0 -4px 25px #12352605; backdrop-filter: blur(16px);
  }
  .bottom-nav .nav-link, .bottom-nav .nav-link.active {
    flex: 1; min-width: 0; height: 56px; display: flex; flex-direction: column; justify-content: center;
    align-items: center; gap: 3px; border-radius: 10px; padding: 5px 3px;
    font-size: 12px; font-weight: 450; color: var(--muted); background: transparent;
  }
  .bottom-nav .nav-link span:not(.count), .bottom-nav .nav-link.active > span:not(.count) { display: block; font-size: 12px; line-height: 1.65; }
  .bottom-nav .nav-link .icon { width: 22px; height: 22px; }
  .bottom-nav .nav-link.active { color: var(--primary); font-weight: 600; }
  .bottom-nav .nav-link.active::before { content: ''; position: absolute; left: 35%; right: 35%; top: -5px; height: 2px; border-radius: 2px; background: var(--primary); }
  .bottom-nav .count, .bottom-nav .nav-link.active .count { right: calc(50% - 22px); top: 0; min-width: 17px; height: 17px; font-size: 9px; }
  .home-intro h1 { font-size: 30px; }
  .home-section { margin-top: 34px; }
  .home-section .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-copy h2 { font-size: 32px; }
  .campaign-slide { min-height: 330px; padding: 30px; }
  .category-art, .category-card:nth-child(3n + 1) .category-art, .category-card:nth-child(3n + 2) .category-art, .category-card:nth-child(3n) .category-art { width: 80px; height: 80px; }
  .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 18px; }
  .product-detail h1 { font-size: 23px; }
  .detail-buy .button { font-size: 12px; }
  .delivery-card { margin-top: 0; }
  .product-gallery { position: sticky; top: 24px; }
  .cart-layout, .checkout-layout { grid-template-columns: 1fr; gap: 28px; }
  .cart-summary, .checkout-sidebar { position: static; }
  .cart-item:first-child { padding-top: 8px; }
  .checkout-form-panel, .checkout-sidebar { padding: 28px; }
  .app-footer { margin-top: 36px; }
  #nawa-toast { bottom: calc(86px + env(safe-area-inset-bottom)); }
  body[data-page=product] .app-body { padding-bottom: calc(190px + env(safe-area-inset-bottom)); }
  body[data-page=product] #nawa-toast { bottom: calc(168px + env(safe-area-inset-bottom)); }
  .product-buy-dock {
    display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0;
    bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)); z-index: 35;
    border-top: 1px solid var(--line); background: #fffffff5; backdrop-filter: blur(16px);
    padding: 11px 24px; box-shadow: 0 -8px 28px #12352607;
  }
  .product-buy-dock .price { font-size: 23px; margin-inline-end: auto; }
  .product-buy-dock .price small { font-size: 12px; }
  .product-buy-dock .button { min-height: 46px; padding: 10px 20px; font-size: 13px; border-radius: 10px; }
  .product-buy-dock .button .icon { width: 18px; height: 18px; }
  body[data-page=checkout] .bottom-nav, body[data-page=order] .bottom-nav { display: none; }
  body[data-page=checkout] .app-body, body[data-page=order] .app-body { padding-bottom: calc(38px + env(safe-area-inset-bottom)); }
  body[data-page=checkout] .app-footer { display: none; }
}

/* Phone layouts: 20px margins, readable upright labels and generous imagery. */
@media (max-width: 600px) {
  body { font-size: 15px; }
  .topbar.market-header { min-height: 76px; padding: 16px 20px; }
  .brand img { max-height: 34px; max-width: 140px; }
  .brand-mark { width: 39px; height: 39px; border-radius: 11px; }
  .brand-name { font-size: 22px; }
  .brand-name small { font-size: 12px; }
  .top-actions { gap: 8px; }
  .top-actions .icon-btn { height: 40px; width: 40px; }
  .top-actions .icon-btn .icon { width: 20px; height: 20px; }
  .app-body { padding: 23px 20px calc(100px + env(safe-area-inset-bottom)); }
  .home-intro { margin-bottom: 20px; }
  .home-intro .eyebrow { font-size: 12px; margin-bottom: 5px; }
  .home-intro h1 { font-size: 26px; line-height: 1.65; }
  .home-intro > p:last-child { font-size: 13px; line-height: 1.9; margin-top: 6px; }
  .welcome-line h1 { font-size: 25px; }
  .welcome-line .eyebrow { font-size: 12px; }
  .home-search { min-height: 50px; padding: 12px 14px; margin: 0 0 20px; font-size: 13px; border-radius: 12px; }
  .home-search .icon { width: 20px; height: 20px; }
  .search-hint { display: none; }
  .campaign-slide { min-height: 294px; padding: 24px 20px; border-radius: 16px; }
  .hero-copy { width: 53%; padding-bottom: 16px; }
  .hero-copy .eyebrow { font-size: 12px; margin-bottom: 8px; line-height: 1.6; gap: 5px; }
  .hero-copy .eyebrow > span { width: 5px; height: 5px; }
  .hero-copy h2 { font-size: 24px; line-height: 1.65; font-weight: 650; letter-spacing: 0; }
  .hero-copy p { font-size: 12px; line-height: 1.95; margin-top: 8px; max-width: 180px; }
  .hero-copy .button { min-height: 42px; padding: 9px 13px; font-size: 12px; margin-top: 15px; gap: 6px; }
  .hero-copy .button .icon { width: 15px; height: 15px; }
  .campaign-slide::before { background: linear-gradient(270deg, #f7f3ecf7 0%, #f7f3ecde 31%, #f7f3ec32 57%, transparent 70%); }
  .campaign-photo img { object-position: 32% center; }
  .carousel-footer { bottom: 15px; left: 16px; }
  .carousel-dots button { width: 5px; height: 5px; }
  .carousel-dots button.active { width: 17px; }
  .carousel-control { height: 27px; width: 27px; font-size: 11px; }
  .service-strip { gap: 0; padding: 19px 0; }
  .service-strip article { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; text-align: center; gap: 7px; padding: 0 7px; }
  .service-strip article > .icon { height: 22px; width: 22px; }
  .service-strip b { font-size: 12px; line-height: 1.8; font-weight: 550; }
  .service-strip small { font-size: 12px; line-height: 1.8; margin-top: 2px; }
  .cod-wallet { padding: 20px; border-radius: 14px; gap: 12px; }
  .cod-wallet h2 { font-size: 22px; }
  .cod-wallet small, .cod-wallet p { font-size: 12px; }
  .cod-benefits span, .cod-benefits a { font-size: 12px; padding: 5px 8px; }
  .cod-emblem { display: none; }
  .home-section { margin-top: 32px; }
  .section-head { margin-bottom: 17px; gap: 12px; }
  .section-head h2 { font-size: 21px; line-height: 1.6; }
  .section-head .overline { font-size: 12px; margin-bottom: 4px; }
  .section-head .text-link { font-size: 12px; }
  .section-head .text-link .icon { width: 13px; height: 13px; }
  .category-strip { display: flex; overflow-x: auto; scrollbar-width: none; gap: 18px; margin-left: -20px; margin-right: 0; padding-left: 20px; padding-bottom: 4px; }
  .category-strip .category-card { display: flex !important; flex: 0 0 76px; gap: 8px; min-width: 76px; }
  .category-art, .category-card:nth-child(3n + 1) .category-art, .category-card:nth-child(3n + 2) .category-art, .category-card:nth-child(3n) .category-art { width: 74px; height: 74px; }
  .category-art .icon { width: 30px; height: 30px; }
  .category-art img { width: 80%; height: 80%; }
  .category-card span { font-size: 12px; line-height: 1.8; }
  .category-card small { font-size: 12px; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 12px; }
  .category-grid .category-art { width: 80px; height: 80px; }
  .product-grid, .loading-grid, .home-section .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .home-section .product-grid .product-card:nth-child(4) { display: block; }
  .product-card { border-radius: 14px; }
  .product-image { aspect-ratio: .95; border-radius: 13px 13px 0 0; }
  .product-image > img { width: 95%; height: 95%; }
  .product-info { padding: 12px; }
  .product-category { font-size: 12px; margin-bottom: 5px; }
  .product-title { font-size: 13px; line-height: 1.85; min-height: 48px; }
  .price-row { margin-top: 12px; gap: 5px; flex-wrap: wrap; }
  .price { font-size: 21px; line-height: 1.65; }
  .price small { font-size: 12px; }
  .old-price { font-size: 12px; margin-top: 2px; }
  .product-actions { inset: 10px 10px auto; }
  .product-badge { font-size: 12px; padding: 3px 6px; }
  .wish-btn { height: 33px; width: 33px; }
  .wish-btn .icon { height: 17px; width: 17px; }
  .add-btn { height: 34px; width: 34px; margin-inline-start: auto; }
  .add-btn .icon { height: 17px; width: 17px; }
  .rating { font-size: 12px; margin: 9px 0 0; flex-wrap: wrap; }
  .rating .star { font-size: 14px; }
  .delivery-label { font-size: 12px; margin-top: 8px; line-height: 1.8; gap: 5px; }
  .delivery-label .icon { width: 13px; height: 13px; }
  .budget-tabs { margin-bottom: 18px; gap: 8px; }
  .budget-tabs button { font-size: 12px; min-height: 42px; padding: 8px 14px; }
  .campaign-tiles { grid-template-columns: 1fr; gap: 15px; }
  .campaign-tile { min-height: 230px; border-radius: 16px; }
  .campaign-tile > div { width: 58%; padding: 24px 20px; }
  .campaign-tile h3 { font-size: 25px; line-height: 1.7; }
  .campaign-tile small { font-size: 12px; }
  .campaign-tile span { font-size: 12px; margin-top: 15px; }
  .campaign-tile > img { object-position: 30% center; }
  .collection-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 22px; }
  .collection, .collection:nth-child(2), .collection:nth-child(3) { display: flex; padding: 20px; min-height: 105px; border-radius: 14px; }
  .collection:last-child { display: flex; }
  .collection h3 { font-size: 21px; }
  .collection span { font-size: 12px; }
  .collection > .icon { width: 31px; height: 31px; }
  .brands-grid { flex-wrap: nowrap; overflow-x: auto; gap: 10px; scrollbar-width: none; }
  .brand-tile { font-size: 13px; min-width: 140px; padding: 16px; }
  .assurance { display: flex; flex-direction: column; gap: 22px; padding: 24px; border-radius: 14px; }
  .assurance article { gap: 14px; }
  .assurance b { font-size: 14px; }
  .assurance p { font-size: 12px; }
  .page-heading { margin: 0 0 22px; gap: 12px; }
  .page-heading h1 { font-size: 24px; line-height: 1.65; }
  .page-heading p { font-size: 12px; line-height: 1.9; }
  .page-heading .icon-btn { height: 42px; width: 42px; }
  .search-form { border-radius: 12px; padding: 4px 12px; }
  .search-form input { min-height: 46px; font-size: 15px; }
  .toolbar { padding: 10px 0 15px; margin: 14px 0 18px; gap: 11px; }
  .toolbar p { font-size: 12px; width: 100%; }
  .toolbar-actions { gap: 7px; width: 100%; }
  .toolbar select, .filter-button { font-size: 12px; min-height: 42px; padding: 9px 11px; border-radius: 10px; }
  .toolbar select { flex: 1; min-width: 0; }
  .catalog-view { width: 42px; flex-shrink: 0; padding: 10px; }
  .catalog-category-links { gap: 7px; margin-top: 17px; }
  .catalog-category-links .chip { font-size: 12px; min-height: 38px; padding: 7px 13px; }
  .list-view .product-card { grid-template-columns: 115px minmax(0, 1fr); }
  .list-view .product-image { margin: 7px; }
  .list-view .product-info { padding: 12px; }
  .list-view .product-title { font-size: 13px; line-height: 1.8; }
  .list-view .product-actions { right: 13px; width: 91px; }
  .list-view .product-badge { font-size: 12px; }
  .product-breadcrumb { gap: 6px; margin: 0 0 16px; font-size: 12px; flex-wrap: wrap; line-height: 1.8; }
  .product-breadcrumb .icon-btn { width: 36px; height: 36px; }
  .marketplace-product { display: block; }
  .product-gallery { position: static; margin-bottom: 25px; }
  .main-photo { aspect-ratio: 1; border-radius: 16px; }
  .main-photo > img { height: 98%; width: 98%; }
  .gallery-thumbs { margin-top: 12px; gap: 9px; }
  .gallery-thumbs button { width: 58px; height: 58px; min-width: 58px; border-radius: 9px; }
  .gallery-wish { top: 12px; right: 12px; height: 38px; width: 38px; }
  .gallery-open { left: 12px; bottom: 12px; height: 38px; width: 38px; }
  .gallery-count { right: 14px; bottom: 16px; font-size: 12px; }
  .store-tag { font-size: 12px; padding: 6px 10px; }
  .product-detail h1 { font-size: 24px; line-height: 1.85; margin: 13px 0; }
  .detail-rating { font-size: 12px; gap: 9px; }
  .detail-rating .stars { font-size: 17px; }
  .detail-rating button { font-size: 12px; }
  .detail-price-panel { padding: 17px 0; margin: 18px 0; }
  .product-detail .detail-price { font-size: 34px; }
  .detail-price small { font-size: 14px; }
  .detail-discount .old-price { font-size: 14px; }
  .discount-chip { font-size: 12px; }
  .detail-line { font-size: 12px; }
  .detail-summary { font-size: 14px; line-height: 2.1; }
  .pdp-benefits li { font-size: 14px; }
  .detail-buy { gap: 10px; margin: 21px 0 12px; }
  .detail-buy .button { min-height: 48px; font-size: 13px; padding: 11px 14px; }
  .quantity-control button { height: 46px; width: 34px; }
  .quantity-control input { width: 30px; font-size: 15px; }
  .buy-now-button { min-height: 48px; font-size: 13px; }
  .detail-meta .chip { font-size: 12px; padding: 8px 12px; }
  .delivery-card { margin-top: 27px; border-radius: 14px; }
  .delivery-card h2 { font-size: 18px; padding: 18px; }
  .delivery-card article { padding: 20px 18px; gap: 13px; }
  .delivery-card article b { font-size: 14px; }
  .delivery-card article p, .delivery-card article small { font-size: 12px; }
  .delivery-location { font-size: 12px; padding: 14px 18px; }
  .seller-card { padding: 18px; }
  .seller-card b { font-size: 14px; }
  .seller-card small, .seller-card a { font-size: 12px; }
  .product-tabs { margin-top: 30px; gap: 26px; padding: 0; }
  .product-tabs button { padding: 15px 0; font-size: 13px; }
  .product-content-card { padding: 23px 18px; border-radius: 14px; margin-top: 17px; }
  .product-content-card h2 { font-size: 21px; line-height: 1.65; margin-bottom: 15px; }
  .product-content-card > p, .product-content-card .rich-description { font-size: 14px; line-height: 2.1; }
  .product-extras { grid-template-columns: 1fr; gap: 0; }
  .box-list li { font-size: 14px; }
  .spec-table { font-size: 13px; line-height: 1.9; }
  .spec-table th, .spec-table td { padding: 12px; overflow-wrap: anywhere; }
  .spec-table th { width: 37%; }
  .review-overview { grid-template-columns: 100px 1fr; gap: 20px; padding-bottom: 20px; }
  .rating-score { padding: 14px 10px; gap: 10px; }
  .rating-score > strong, .rating-score > b { font-size: 34px; }
  .rating-score .stars { font-size: 14px; letter-spacing: 1px; }
  .rating-score small { text-align: center; font-size: 12px; }
  .rating-bar { gap: 8px; }
  .review-row { padding: 18px 15px; }
  .review-row header { align-items: flex-start; flex-wrap: wrap; gap: 7px; }
  .product-faq summary, .product-faq details p { font-size: 14px; }
  .product-buy-dock { padding: 10px 16px; gap: 8px; }
  .product-buy-dock .price { font-size: 21px; }
  .product-buy-dock .price small { font-size: 12px; }
  .product-buy-dock .button { min-height: 46px; padding: 10px 14px; font-size: 12px; gap: 6px; }
  .product-buy-dock .button .icon { width: 17px; height: 17px; }
  .cart-layout { gap: 26px; }
  .cart-item { gap: 12px; padding: 22px 0; }
  .cart-item-img { width: 82px; height: 93px; border-radius: 12px; }
  .cart-item h3 { font-size: 13px; line-height: 1.95; }
  .cart-item .price { font-size: 18px; }
  .cart-item-controls { gap: 12px; margin-top: 12px; flex-wrap: wrap; }
  .cart-item .remove-item { width: 32px; height: 36px; }
  .cart-item .quantity-control button { width: 30px; height: 34px; }
  .cart-item .quantity-control input { width: 25px; font-size: 13px; }
  .cart-summary { padding: 24px 20px; border-radius: 14px; }
  .cart-summary h2 { font-size: 22px; }
  .summary-line { font-size: 13px; line-height: 1.9; }
  .summary-line.total { font-size: 21px; }
  .cart-summary .button { font-size: 13px; min-height: 50px; }
  .cart-summary > small { font-size: 12px; }
  .checkout-progress { font-size: 12px; gap: 8px; margin-bottom: 23px; }
  .checkout-layout { gap: 21px; }
  .checkout-form-panel, .checkout-sidebar { padding: 23px 18px; border-radius: 14px; }
  .checkout-form-panel h2 { font-size: 21px; gap: 9px; line-height: 1.75; }
  .checkout-form-panel > p { font-size: 13px; margin-bottom: 23px; }
  .checkout-fields { grid-template-columns: 1fr; gap: 18px; }
  .checkout-field { font-size: 13px; gap: 8px; }
  .checkout-field input, .checkout-field select, .checkout-field textarea { min-height: 50px; font-size: 16px; padding: 12px; }
  .checkout-field span > small { font-size: 12px; }
  .checkout-payment { margin-top: 25px; padding: 17px 14px; gap: 11px; }
  .checkout-payment b { font-size: 14px; }
  .checkout-payment p { font-size: 12px; }
  .checkout-payment > .icon { height: 25px; width: 25px; }
  .checkout-sidebar h2 { font-size: 22px; }
  .checkout-mini-item { gap: 10px; padding: 15px 0; }
  .checkout-mini-item img { width: 57px; height: 57px; }
  .checkout-mini-item > span { font-size: 13px; line-height: 1.95; }
  .checkout-mini-item b { font-size: 15px; }
  .checkout-sidebar .summary-line { font-size: 13px; }
  .checkout-sidebar .summary-line.total { font-size: 23px; }
  .checkout-sidebar .button { font-size: 13px; line-height: 1.9; min-height: 52px; }
  .checkout-sidebar > small, .checkout-terms, .checkout-trust { font-size: 12px; }
  .checkout-errors { font-size: 13px; }
  .shipping-options h3 { font-size: 16px; }
  .shipping-option { font-size: 13px; }
  .checkout-trust { gap: 12px; }
  .account-hero { padding: 25px 20px; gap: 14px; }
  .account-hero .avatar { height: 52px; width: 52px; }
  .account-hero h2 { font-size: 23px; line-height: 1.7; }
  .account-hero p { font-size: 13px; }
  .account-links { grid-template-columns: 1fr; gap: 12px; }
  .account-link { padding: 20px 17px; }
  .account-link strong { font-size: 14px; }
  .account-link small { font-size: 12px; }
  .order-receipt, .demo-confirmation { margin: 5px 0; padding: 27px 20px; border-radius: 16px; }
  .order-receipt > h1, .demo-confirmation h1 { font-size: 26px; }
  .order-receipt > p, .demo-confirmation > p { font-size: 13px; }
  .receipt-summary { padding: 18px; gap: 17px 12px; }
  .receipt-summary b { font-size: 14px; }
  .receipt-summary .price { font-size: 20px; }
  .status-card { padding: 20px 17px; }
  .status-card h2 { font-size: 19px; }
  .order-receipt .receipt-actions { flex-direction: column; }
  .gallery-viewer { border-radius: 0; height: 100dvh; max-height: 100dvh; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
  .gallery-viewer .sheet-head h2 { font-size: 15px; }
  .gallery-viewer .sheet-head { margin-top: 0; }
  .gallery-full-image { border-radius: 12px; }
  .sheet { padding: 16px 22px calc(28px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; max-height: 90dvh; }
  .sheet-handle { background: #d7cfc8; width: 38px; height: 4px; border-radius: 4px; margin: 0 auto 20px; }
  .sheet-head h2 { font-size: 23px; }
  .sheet-head .icon-btn { width: 40px; height: 40px; }
  .sheet .field, .sheet .check-field { font-size: 14px; }
  .sheet input[type=number], .sheet select { font-size: 16px; }
  .empty-state { padding: 50px 10px; }
  .empty-state h2 { font-size: 24px; }
  .empty-state p { font-size: 14px; }
  .empty-state .button { font-size: 13px; }
  .skeleton { height: 335px; border-radius: 14px; }
  .install-mini { padding: 17px 15px; gap: 10px; flex-wrap: wrap; }
  .install-mini > span { flex: 1; }
  .install-mini b { font-size: 13px; }
  .install-mini small { font-size: 12px; }
  .install-mini button { font-size: 12px; padding: 10px 12px; }
  .install-mini .dismiss-install { padding: 3px; }
  .app-footer { margin-top: 34px; gap: 26px; padding-top: 28px; flex-direction: column; }
  .app-footer > div:first-child { max-width: none; }
  .app-footer > div:last-child { max-width: none; justify-content: flex-start; gap: 12px 20px; font-size: 12px; }
  .app-footer p { font-size: 12px; }
  .app-footer small { font-size: 12px; text-align: right; }
  #nawa-toast { font-size: 13px; max-width: calc(100vw - 32px); border-radius: 11px; }
}

/* Narrow phones: preserve 12px labels, split PDP price from two actions. */
@media (max-width: 360px) {
  .topbar.market-header { padding-right: 16px; padding-left: 16px; }
  .brand img { max-width: 124px; }
  .top-actions { gap: 6px; }
  .top-actions .icon-btn { width: 38px; height: 38px; }
  .app-body { padding-right: 16px; padding-left: 16px; }
  .home-intro h1 { font-size: 24px; }
  .campaign-slide { min-height: 300px; padding: 22px 17px; }
  .hero-copy { width: 58%; }
  .hero-copy h2 { font-size: 22px; line-height: 1.65; }
  .hero-copy p { font-size: 12px; }
  .hero-copy .eyebrow { font-size: 12px; }
  .hero-copy .button { padding: 9px 11px; font-size: 12px; }
  .section-head h2 { font-size: 20px; }
  .section-head .text-link { font-size: 12px; }
  .category-strip { margin-left: -16px; padding-left: 16px; gap: 15px; }
  .product-grid, .loading-grid, .home-section .product-grid { gap: 10px; }
  .product-info { padding: 11px 10px; }
  .product-title { font-size: 13px; }
  .price { font-size: 20px; }
  .price small { font-size: 12px; }
  .service-strip article { padding: 0 5px; }
  .service-strip b, .service-strip small { font-size: 12px; }
  .campaign-tile > div { width: 63%; }
  .campaign-tile h3 { font-size: 23px; }
  .product-buy-dock { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 9px 16px 11px; }
  .product-buy-dock .price { grid-column: 1 / -1; font-size: 19px; line-height: 1.5; margin: 0; }
  .product-buy-dock .button { padding: 10px 12px; min-height: 44px; font-size: 12px; }
  body[data-page=product] .app-body { padding-bottom: calc(220px + env(safe-area-inset-bottom)); }
  body[data-page=product] #nawa-toast { bottom: calc(199px + env(safe-area-inset-bottom)); }
  .bottom-nav { padding-right: 7px; padding-left: 7px; }
  .bottom-nav .nav-link span:not(.count), .bottom-nav .nav-link.active > span:not(.count) { font-size: 12px; }
  .cart-item { gap: 10px; }
  .cart-item-img { height: 82px; width: 67px; }
  .cart-item .remove-item { width: 28px; }
  .review-overview { grid-template-columns: 86px 1fr; gap: 14px; }
  .rating-bar { gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Media and receipt composition shared with the interaction layer. */
.service-strip article>a{display:flex;align-items:center;justify-content:center;gap:11px;color:inherit}
.service-strip article>a>.icon{width:23px;height:23px;color:var(--primary);flex-shrink:0}
.checkout-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gallery-sheet{max-width:1000px;width:calc(100% - 32px);max-height:96dvh}
.gallery-sheet .gallery-viewer{height:min(700px,74dvh);width:100%;padding:0}
.gallery-full-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;border-radius:12px;background:var(--bg);direction:ltr}
.gallery-full-stage .gallery-full-image{max-height:100%;height:100%;width:100%;object-fit:contain}
.gallery-full-stage.zoomed{display:block;cursor:zoom-out}
.gallery-full-stage.zoomed .gallery-full-image{max-height:none;max-width:none;width:190%;height:auto}
.product-video{width:100%;aspect-ratio:16/9;border:0;background:#171717;border-radius:12px}
.gallery-viewer>p{font-size:12px!important;color:var(--muted);text-align:center;margin-top:10px}
.video-thumb .icon{height:22px;width:22px}.video-thumb span{font-size:12px}
.active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}
.pdp-benefits ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pdp-benefits li{display:flex;gap:9px;align-items:flex-start;font-size:13px}.pdp-benefits li>.icon{color:var(--primary);width:18px;height:18px;flex-shrink:0;margin-top:4px}
.product-content-card h2>.icon{width:22px;height:22px;vertical-align:middle}.product-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.product-faq summary>.icon{flex-shrink:0;height:18px;width:18px}.product-faq details[open] summary>.icon{transform:rotate(45deg)}
.status-pill{display:inline-flex;background:var(--tint);color:var(--primary);padding:7px 13px;border-radius:30px;font-size:12px;margin-bottom:15px}.status-card>p{font-size:13px;color:var(--muted);line-height:1.9}.status-card ol{padding:0;margin:18px 0;list-style:none}.receipt-summary>span{font-size:12px;color:var(--muted)}.receipt-summary b{color:var(--ink)}.receipt-items h2{font-size:19px}.carrier-info{display:grid;gap:8px;padding:16px 0}.order-copy-input{width:100%;padding:12px;direction:ltr;border:1px solid var(--line);border-radius:8px}
.category-art>.icon{stroke-width:1.35;width:40px;height:40px}.category-card:hover .category-art>.icon{transform:translateY(-2px);transition:transform 180ms ease}.no-motion .category-card .icon{transform:none!important}
@media(max-width:767px){.service-strip article>a{flex-direction:column;gap:7px}.gallery-sheet{width:100%;max-height:96dvh;padding:20px}.gallery-sheet .gallery-viewer{height:72dvh}.category-art>.icon{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.category-art>.icon{transition:none!important;transform:none!important}}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
.skeleton{background:var(--surface);padding:12px;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;height:auto;min-height:270px}
.skeleton-photo{display:block;aspect-ratio:1/1;border-radius:12px;background:#efebe6}
.skeleton-line{display:block;width:90%;height:11px;border-radius:4px;background:#efebe6}.skeleton-line.short{width:62%}.skeleton-line.price-line{width:38%;height:18px;margin-top:6px}.motion .skeleton{animation:none}.motion .skeleton>span{background:linear-gradient(105deg,#efebe6 20%,#faf9f7 40%,#efebe6 60%);background-size:200% 100%;animation:shimmer 1.5s infinite}
@media(prefers-reduced-motion:reduce){.skeleton>span{animation:none!important}}
.dock-price-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0}
.dock-price-label>small{font-size:10px;line-height:1.5;color:var(--muted)}
.product-buy-dock .dock-price-label .price{font-size:19px;white-space:nowrap;line-height:1.5}
.product-buy-dock .dock-price-label .price small{display:inline;font-size:11px;margin-inline-start:3px}
@media(min-width:768px){.campaign-photo img{object-fit:contain;object-position:left center;background:#f4ede5}.campaign-slide{min-height:410px}}
@media(min-width:768px){.campaign-photo img{mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 51%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 51%)}}

/* Schleizer 4 · forest, mint and illustrated categories */
:root{--brand-dark:#005a32;--tint:#e5f5e0;--line:#dbe8d7;--muted:#5d7464}
.category-art{background:#e5f5e0!important;border:0!important;border-radius:50%!important;box-shadow:none!important}
.category-art>.color-icon{width:57px;height:57px;stroke-width:2}
.color-icon{fill:none;flex-shrink:0}
.category-card:nth-child(3n+2) .category-art{background:#fceceb!important}
.category-card:nth-child(3n) .category-art{background:#edf5f7!important}
.motion .category-art .category-steam{animation:schleizer-steam 3.4s ease-in-out infinite;transform-origin:center}
.motion .category-art .category-spin{animation:schleizer-spin 10s linear infinite;transform-origin:32px 26px}
.motion .category-card:hover .color-icon{animation:schleizer-nod 600ms ease-in-out}
@keyframes schleizer-steam{0%,100%{opacity:.75;transform:translateY(1px)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes schleizer-spin{to{transform:rotate(360deg)}}
@keyframes schleizer-nod{50%{transform:translateY(-4px) rotate(-3deg)}}
.product-views{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin:8px 0 16px}
.product-views .icon{width:17px;height:17px;color:var(--primary)}
[hidden]{display:none!important}
.app-footer.schleizer-footer{display:grid;grid-template-columns:1fr 1fr;gap:44px;background:#005a32;color:#f7fcf5;border:0;border-radius:24px;padding:42px 36px;margin-top:64px;align-items:start}
.schleizer-footer .brand img{filter:brightness(0) invert(1);max-width:150px;max-height:46px}
.schleizer-footer h2{font-size:27px;line-height:1.6;margin:24px 0 12px;font-weight:600;color:#f7fcf5}
.schleizer-footer p,.schleizer-footer small{color:#c7e9c0;font-size:12px}
.schleizer-footer .footer-intro{display:block}
.schleizer-footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-top:8px}
.footer-links section{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-links h3{font-size:13px;margin:0 0 8px;color:#a1d99b}
.schleizer-footer a{font-size:12px;color:inherit}
.schleizer-footer .social-links{display:flex;flex-direction:row;gap:9px;margin-top:23px}
.social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #74c47666;border-radius:50%;transition:background .2s,transform .2s}
.social-links a:hover{background:#238b45;transform:translateY(-2px)}
.social-links .icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
.schleizer-footer .footer-bottom{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid #74c47655;padding-top:20px;gap:15px}
.footer-bottom span{display:flex;align-items:center;gap:7px;font-size:11px;color:#c7e9c0}
.footer-bottom .icon{width:17px;height:17px}
.footer-email{direction:ltr;word-break:break-word}
.invoice-auth{display:grid;gap:18px;padding:8px 0 15px;text-align:center}
.invoice-auth p{line-height:1.9;color:var(--muted)}
.invoice-auth .receipt-icon{margin:0 auto;background:var(--tint);color:var(--primary)}
.invoice-auth small{color:var(--muted);font-size:11px}
.invoice-request{width:100%;margin-bottom:14px}
@media(max-width:767px){
 .category-art{width:78px;height:78px}.category-art>.color-icon{width:53px;height:53px}
 .app-footer.schleizer-footer{grid-template-columns:1fr;gap:30px;border-radius:22px;padding:30px 22px;margin-top:42px}
 .schleizer-footer h2{font-size:23px}.schleizer-footer .footer-links{gap:18px;padding:0}
 .schleizer-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
 .product-buy-dock{grid-template-columns:76px .9fr 1.45fr;gap:7px;align-items:center}
 .product-buy-dock .button{font-size:11px;line-height:1.7;padding:8px 7px;white-space:normal;min-height:51px;gap:5px}
 .product-buy-dock .button .icon{width:15px;height:15px;flex-shrink:0}
 .product-buy-dock .price{font-size:15px}.dock-price-label small{font-size:9px}
 .buy-now-button{white-space:normal;font-size:14px;min-height:54px}
}
@media(max-width:350px){.product-buy-dock{grid-template-columns:1fr 1.45fr}.product-buy-dock .dock-price-label{grid-column:1/-1;display:flex;gap:10px;align-items:center}.category-art{width:69px;height:69px}}
@media(prefers-reduced-motion:reduce){.category-steam,.category-spin,.color-icon{animation:none!important;transition:none!important}}
.no-motion .category-steam,.no-motion .category-spin,.no-motion .color-icon{animation:none!important}

/* Schleizer 5 · curated product rails, native two-item offer and helpful checkout. */
.recommendation-rail{display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 18px;scrollbar-width:thin;scrollbar-color:#a1d99b transparent}
.recommendation-rail>.product-card{flex:0 0 calc((100% - 75px)/6);min-width:166px;scroll-snap-align:start}
#related-products-two .section-head .overline{color:var(--muted)}
#pdp-bundle:empty{display:none}
.bundle-panel{background:linear-gradient(145deg,#f7fcf5,#fff 55%);border:1px solid #c7e9c0;border-radius:24px;padding:30px;margin:32px 0 38px}
.bundle-panel>header{margin-bottom:24px}
.bundle-panel>header h2{font-size:25px;line-height:1.7;color:var(--primary);margin:7px 0 0;font-weight:650}
.bundle-panel .eyebrow{font-size:11px;letter-spacing:0;color:var(--muted)}
.bundle-items{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:20px}
.bundle-item{display:grid;grid-template-columns:22px 110px 1fr;gap:14px;align-items:center;min-width:0}
.bundle-item>div{min-width:0}.bundle-item h3{font-size:14px;line-height:1.9;margin:3px 0 10px;font-weight:550;overflow-wrap:anywhere}
.bundle-item small{font-size:10px;color:var(--muted)}
.bundle-check{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--primary);color:#fff}
.bundle-check .icon{width:13px;height:13px;stroke-width:2.3}
.bundle-photo{display:block;aspect-ratio:1;border-radius:15px;background:#fff;border:1px solid var(--line);overflow:hidden}
.bundle-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.bundle-item-price{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0}
.bundle-item-price strong{font-size:19px;color:var(--ink);white-space:nowrap}.bundle-item-price del{font-size:12px;color:var(--muted);white-space:nowrap}
.bundle-item-price small{font-size:10px}
.bundle-plus{width:35px;height:35px;display:grid;place-items:center;background:#e5f5e0;border-radius:50%;color:var(--primary)}
.bundle-plus .icon{width:17px;height:17px}
.bundle-total{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:23px;margin-top:25px;font-size:14px}
.bundle-total>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.bundle-total strong{font-size:28px;color:var(--primary);white-space:nowrap}.bundle-total strong small{font-size:12px}
.bundle-total del{font-size:16px;color:var(--muted);white-space:nowrap}
.bundle-submit{width:100%;min-height:54px;border-radius:14px;margin-top:18px;font-size:15px}
.bundle-caption{font-size:10px;text-align:center;color:var(--muted);margin-top:10px}
.bundle-note,.bundle-choice,.bundle-feedback{font-size:12px;line-height:1.9;color:var(--muted);margin:10px 0 0;text-align:center}
.bundle-choice{color:var(--primary)}.bundle-feedback:empty{display:none}.bundle-feedback a{color:var(--primary);font-weight:650;text-decoration:underline}
.bundle-questions{display:grid;margin-top:25px;border-top:1px solid var(--line)}
.bundle-questions details{border-bottom:1px solid var(--line);padding:0}
.bundle-questions summary{display:flex;gap:11px;align-items:center;list-style:none;min-height:62px;font-size:14px;cursor:pointer;padding:15px 0}
.bundle-questions summary::-webkit-details-marker{display:none}.bundle-questions summary>.icon:first-child{width:22px;height:22px;color:var(--primary)}
.bundle-questions summary>.icon:last-child{margin-inline-start:auto;width:17px;height:17px;color:var(--muted)}
.bundle-questions details[open] summary>.icon:last-child{transform:rotate(45deg)}
.bundle-questions details p{font-size:13px;line-height:2;color:var(--muted);padding:0 32px 20px;margin:0;white-space:pre-line}
.footer-help-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid #74c47655;padding-top:25px}
.schleizer-footer .footer-help-grid>a{display:flex;gap:10px;align-items:center;min-height:67px;padding:13px;background:#ffffff0b;border:1px solid #74c47655;border-radius:13px;font-size:12px;line-height:1.9}
.footer-help-grid>a>.icon:first-child{width:22px;height:22px;color:#a1d99b;flex-shrink:0}.footer-help-grid>a>.icon:last-child{width:14px;height:14px;margin-inline-start:auto;flex-shrink:0;color:#a1d99b}
.footer-help-grid a:hover{background:#ffffff18}
.help-page{max-width:850px;margin:0 auto}
.help-page>header{text-align:center;padding:34px 16px;border-bottom:1px solid var(--line)}
.help-page-mark{display:grid;place-items:center;margin:0 auto 21px;width:67px;height:67px;border-radius:21px;background:var(--tint);color:var(--primary)}
.help-page-mark .icon{width:29px;height:29px}.help-page header h1{font-size:34px;line-height:1.7;margin:12px 0 0}
.help-page .eyebrow{font-size:11px;color:var(--muted)}
.help-page-content{padding:30px 5px;color:var(--muted);font-size:15px;line-height:2.2;overflow-wrap:anywhere}
.help-page-content h2,.help-page-content h3{color:var(--ink);font-size:21px;margin:24px 0 12px}.help-page-content li{margin:12px 0}.help-page-content a{color:var(--primary);text-decoration:underline}.help-page-content img{max-width:100%;height:auto}
.help-page-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.help-page-links a{display:flex;gap:9px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:13px;font-size:12px}.help-page-links .icon{width:19px;height:19px;color:var(--primary);flex-shrink:0}.help-page-links a .icon:last-child{margin-inline-start:auto;width:14px}
.checkout-submit-block{margin:25px 0 17px;border-radius:18px;background:var(--bg);padding:21px;border:1px solid #c7e9c0}
.checkout-inline-totals{margin-bottom:16px}.checkout-inline-totals .summary-line{font-size:13px;padding:7px 0}.checkout-inline-totals .summary-line.total{font-size:22px;line-height:1.6;color:var(--primary);padding-top:14px}
.checkout-submit-block>#cod-submit{width:100%;min-height:57px;font-size:14px;white-space:normal;line-height:1.8;border-radius:13px;gap:9px}
.checkout-submit-block>small{display:block;text-align:center;font-size:10px;color:var(--muted);margin-top:10px;line-height:1.9}
.checkout-submit-block .checkout-terms{font-size:11px;margin:0 0 15px}
.checkout-form-panel>.shipping-options{margin-top:22px}.checkout-form-panel .checkout-payment{background:#fff}
.order-receipt>h1,.demo-confirmation h1{font-size:35px;font-weight:700;color:var(--primary);line-height:1.65}
.order-receipt>.order-success-message,.demo-confirmation>.order-success-message{font-size:16px;line-height:2.1;color:var(--ink);max-width:610px;margin:17px auto 25px}
.demo-confirmation .demo-note{font-size:11px;padding:10px;border-radius:10px;background:var(--bg)}
@media(max-width:767px){
 .recommendation-rail{gap:12px;margin-inline-end:0;padding-inline-end:2px;max-width:100%}.recommendation-rail>.product-card{flex-basis:46%;min-width:153px}
 .bundle-panel{padding:22px 17px;margin:25px 0 30px;border-radius:20px}.bundle-panel>header h2{font-size:22px}
 .bundle-items{grid-template-columns:1fr;gap:15px}.bundle-item{grid-template-columns:20px 95px 1fr;gap:11px}.bundle-item h3{font-size:12px;margin:2px 0 7px}.bundle-item-price strong{font-size:18px}.bundle-item-price del{font-size:11px}
 .bundle-plus{margin:0 62px;width:28px;height:28px}.bundle-plus .icon{width:14px;height:14px}.bundle-total{margin-top:20px;padding-top:18px}.bundle-total strong{font-size:26px}.bundle-total del{font-size:14px}
 .bundle-questions summary{font-size:13px;min-height:60px}.bundle-questions details p{font-size:12px;padding-inline:4px}
 .footer-help-grid{grid-template-columns:1fr 1fr;gap:9px}.schleizer-footer .footer-help-grid>a{font-size:10px;padding:11px 9px;gap:7px;min-height:70px}.footer-help-grid>a>.icon:first-child{width:19px;height:19px}.footer-help-grid>a>.icon:last-child{display:none}
 .help-page header h1{font-size:27px}.help-page-content{font-size:13px;padding:18px 0}.help-page-content h2{font-size:19px}.help-page-links{grid-template-columns:1fr}.help-page-links a{font-size:12px}
 .checkout-submit-block{padding:17px 13px;border-radius:15px}.checkout-inline-totals .summary-line.total{font-size:21px}.checkout-submit-block>#cod-submit{font-size:13px;min-height:56px}
 .order-receipt>h1,.demo-confirmation h1{font-size:29px}.order-receipt>.order-success-message,.demo-confirmation>.order-success-message{font-size:14px;line-height:2.05}
}
@media(max-width:350px){.bundle-item{grid-template-columns:18px 78px 1fr;gap:9px}.bundle-total strong{font-size:23px}.bundle-item-price{gap:6px}.bundle-item h3{font-size:11px}.bundle-total del{font-size:12px}}
.checkout-fields>.shipping-options{grid-column:1/-1;margin:8px 0 0}.checkout-fields>.shipping-options:empty{display:none}
.help-page-content table{display:block;max-width:100%;overflow-x:auto}.help-page-content img{max-width:100%}
.bundle-total strong .bundle-from{display:block;font-size:10px;color:var(--muted);font-weight:450;line-height:1.8}

/* v5.1 merchant-managed home shortcuts and footer. */
.custom-home-categories .category-custom-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.custom-home-categories .category-art{overflow:hidden}
.motion .custom-home-categories .category-custom-image{transition:transform .3s ease}
.motion .custom-home-categories a:hover .category-custom-image{transform:scale(1.06)}
.app-footer.schleizer-footer{background:var(--footer-bg,#005A32);color:var(--footer-ink,#F7FCF5)}
.schleizer-footer h2{color:var(--footer-ink,#F7FCF5)}
.schleizer-footer p,.schleizer-footer small,.schleizer-footer h3,.schleizer-footer .footer-bottom span,.schleizer-footer .footer-help-grid .icon{color:var(--footer-muted,#C7E9C0)}
.schleizer-footer .footer-links a{display:flex;gap:7px;align-items:center;overflow-wrap:anywhere}
.schleizer-footer .footer-links a .icon{width:17px;height:17px;flex-shrink:0}
.schleizer-footer>div:last-child{max-width:none}
.schleizer-footer [data-footer-block]{min-width:0}
.schleizer-footer .footer-help-grid>a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.custom-home-categories .category-custom-image{transition:none!important;transform:none!important}}

/* EXPLORE / 6.0 — reference-led mobile commerce, one shared component system. */
:root{--brand-dark:var(--primary);--muted:#747474;--line:#e8e8e8;--tint:var(--accent);--shadow:0 8px 28px #00000006}
body{letter-spacing:-.2px}.button{border-radius:12px}.button-dark,.button-gold{background:var(--primary);border-color:var(--primary);color:#181818;font-weight:650}.button-dark:hover,.button-gold:hover{filter:brightness(.96);background:var(--primary)}
.market-topline{background:var(--ink);color:#fff}.market-header{background:var(--bg);border-bottom:0}.market-links{border-color:var(--line)}.market-cod-tag{background:var(--accent);color:var(--ink)}
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:12px;margin-bottom:20px}.home-intro h1{font-size:32px;font-weight:650;line-height:1.5;margin:2px 0}.home-intro>div>p:last-child{font-size:13px;color:var(--muted);margin:3px 0}.home-intro .eyebrow{font-size:11px;color:var(--muted)}
.welcome-bag{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;flex-shrink:0}.welcome-bag .icon{width:23px;height:23px}.welcome-bag .count{position:absolute;top:-3px;left:-3px;background:var(--primary);color:var(--ink)}
.home-search{display:inline-flex;width:calc(100% - 60px);height:51px;background:var(--surface);border:0;border-radius:30px;margin-bottom:24px;padding:0 18px;font-size:13px;vertical-align:top}.home-search .search-hint{display:none}.home-filter-circle{width:49px;height:49px;border:0;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:#fff;margin-inline-start:10px;vertical-align:top}.home-filter-circle .icon{width:20px;height:20px}
#section-categories{margin-top:0;margin-bottom:24px}.section-head{align-items:center;margin-bottom:16px}.section-head h2{font-size:20px;font-weight:650}.section-head .overline{display:none}.section-head .text-link{font-size:11px;color:var(--muted)}
.category-strip{gap:17px;padding:3px 0 7px}.category-card{min-width:72px;max-width:84px;gap:9px;text-align:center}.category-art{width:69px;height:69px;border-radius:50%;background:var(--surface);border:4px solid #fff;box-shadow:0 0 0 1px var(--line)}.category-art .icon{width:49px;height:49px}.category-card>span{font-size:11px;font-weight:500;line-height:1.6}.category-grid .category-art{margin:auto}
.hero-carousel{border-radius:17px;overflow:visible;margin-bottom:25px}.campaign-slide{border-radius:17px;overflow:hidden;min-height:240px}.campaign-photo{width:50%;inset-inline-start:auto;inset-inline-end:0}.campaign-photo img{object-fit:cover}.hero-copy{padding:28px;max-width:58%;position:relative;z-index:2}.hero-copy h2{font-size:31px;line-height:1.35;letter-spacing:-1px}.hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.8}.hero-copy .eyebrow{font-size:10px}.hero-copy .button{font-size:11px;padding:9px 13px;min-height:37px;background:var(--ink);border-color:var(--ink);color:#fff}.hero-copy .button .icon{width:15px}.carousel-footer{background:transparent;justify-content:center;padding-top:12px;min-height:20px}.carousel-dots button{width:6px;height:6px;background:#cecece}.carousel-dots button.active{background:var(--primary);width:18px;border-radius:5px}
.service-strip{border:0;background:transparent;padding:6px 0;gap:10px;margin-bottom:24px}.service-strip article{background:#fff;border:0;border-radius:12px;padding:12px 8px;gap:7px}.service-strip .icon{color:var(--primary);width:22px}.service-strip small{font-size:9px}.service-strip b{font-size:10px}
.product-card{background:var(--surface);border-radius:15px;overflow:hidden;border:0;box-shadow:none;padding:0}.product-image{aspect-ratio:1/1.08;background:#eee;border-radius:14px;overflow:hidden;margin:0}.product-image img{width:100%;height:100%;object-fit:contain;padding:7px;mix-blend-mode:multiply}.product-info{padding:12px 11px}.product-category{display:none}.product-title{font-size:12px;font-weight:500;line-height:1.7;min-height:40px;margin-bottom:6px}.product-info .price{font-size:15px;font-weight:700}.old-price{font-size:10px}.add-btn{width:28px;height:28px;border-radius:50%;color:var(--ink);background:var(--accent)}.product-actions{top:9px;padding:0 9px;gap:5px}.wish-btn,.compare-btn{width:29px;height:29px;border-radius:50%;background:#ffffffd9;display:grid;place-items:center;border:0;color:var(--ink)}.wish-btn .icon,.compare-btn .icon{width:16px;height:16px}.compare-btn.selected,.compare-btn[aria-pressed=true]{background:var(--primary)}.product-badge{background:var(--primary);color:var(--ink);font-size:10px;border-radius:6px;padding:3px 6px}.product-grid{gap:16px}.product-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(158px,23%);gap:14px;overflow:auto;scroll-snap-type:x mandatory}.product-row>.product-card{scroll-snap-align:start}
.toolbar .filter-button,.toolbar select{border:0;background:#fff;border-radius:11px}.toolbar .catalog-view{background:var(--ink);color:#fff}.chip{border-radius:10px;background:#fff}.chip.active{background:var(--ink);color:#fff}.cart-item{border:0;background:#fff;border-radius:15px;padding:14px;margin-bottom:13px}.cart-item-image{border-radius:10px}.cart-summary,.checkout-form-panel,.checkout-sidebar{border:0;box-shadow:none;border-radius:17px}.checkout-submit-block{background:var(--accent);border-color:var(--line)}.product-gallery{background:#fff;border-radius:18px}.product-buy-dock .button-dark{color:var(--ink)}.pdp-tools{display:flex;gap:10px;margin:22px 0}.bundle-panel{background:linear-gradient(140deg,var(--accent),#fff);border-color:var(--line)}.bundle-panel h2,.bundle-panel .price,.bundle-item-price strong{color:var(--ink)}.bundle-check,.bundle-plus{background:var(--accent);color:var(--ink)}.bundle-submit{background:var(--ink);border-color:var(--ink);color:#fff}.bundle-total{border-color:var(--line)}
.hub-welcome{display:flex;align-items:center;gap:17px;padding:24px 0}.hub-welcome h1{font-size:26px;margin:0}.hub-welcome p{font-size:12px;color:var(--muted);margin:3px 0;overflow-wrap:anywhere}.hub-welcome .avatar{width:65px;height:65px;background:var(--accent);color:var(--ink);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.hub-welcome .avatar .icon{width:29px;height:29px}.hub-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:25px}.hub-shortcuts a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#fff;padding:18px 6px;border-radius:14px;font-size:11px}.hub-shortcuts .icon{width:23px;height:23px;color:var(--primary)}.hub-section{margin:28px 0}.hub-section>h2{font-size:20px}.hub-order{display:block;background:#fff;border-radius:16px;padding:18px;margin-bottom:14px}.hub-order-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.hub-order-head .status-pill{font-size:10px;background:var(--accent);color:var(--ink)}.hub-order-items{display:flex;align-items:center;gap:8px;margin:16px 0}.hub-order-items img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:var(--bg)}.hub-order-items span{font-size:11px;color:var(--muted)}.hub-order-items b{margin-inline-start:auto;font-size:13px}.hub-order>small{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;background:#fff;border-radius:16px}.profile-form .field{font-size:12px}.profile-form input{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--bg)}.profile-form>button,.profile-form>p{grid-column:1/-1}.hub-pagination{display:flex;align-items:center;justify-content:center;gap:15px;font-size:12px}.hub-guest{background:#fff;border-radius:18px;padding:22px;margin:18px 0}.hub-guest h2{font-size:21px}.hub-guest p{font-size:13px;color:var(--muted);line-height:1.9}
.notice-toolbar{display:flex;justify-content:space-between;margin:20px 0}.notice-toolbar button{font-size:11px}.notice-list{display:grid;gap:13px}.notice-card{display:flex;gap:15px;background:#fff;border-radius:15px;padding:20px;align-items:flex-start;border:1px solid transparent}.notice-card.unread{border-color:var(--primary)}.notice-mark{width:43px;height:43px;display:grid;place-items:center;background:var(--accent);border-radius:50%;flex-shrink:0}.notice-mark .icon{width:21px;height:21px}.notice-card small{font-size:10px;color:var(--muted)}.notice-card h2{font-size:15px;margin:3px 0}.notice-card p{font-size:12px;color:var(--muted);line-height:1.9;margin:5px 0}.notice-card>.icon{width:16px;height:16px;flex-shrink:0;margin-inline-start:auto}.notice-card.read{opacity:.7}
.compare-scroll{max-width:100%;overflow:auto;border-radius:17px;background:#fff}.compare-table{border-collapse:collapse;width:100%;text-align:start}.compare-table th,.compare-table td{padding:17px;border-bottom:1px solid var(--line);min-width:180px;vertical-align:top;font-size:12px}.compare-table th{min-width:90px;max-width:120px;text-align:start;color:var(--muted);font-weight:500}.compare-table img{width:130px;height:130px;object-fit:contain;margin:auto}.compare-table h3{font-size:13px;font-weight:600}.compare-table .text-link{font-size:11px}.compare-table .button{font-size:11px;white-space:nowrap}.compare-dock{position:fixed;bottom:24px;inset-inline-end:25px;background:var(--ink);color:#fff;border:1px solid #fff5;box-shadow:0 5px 22px #0002;border-radius:30px;padding:12px 18px;display:flex;gap:10px;align-items:center;z-index:40;font-size:12px}.compare-dock .icon{width:17px;height:17px}.compare-dock b{color:var(--primary)}body[data-page=checkout] .compare-dock,body[data-page=cart] .compare-dock,body[data-page=product] .compare-dock{bottom:160px}
@media(max-width:700px){
 .app-body{padding-inline:20px}.home-intro{padding-top:8px;margin-bottom:18px}.home-intro h1{font-size:24px}.home-intro>div>p:last-child{font-size:10px}.home-intro .eyebrow{font-size:10px}.welcome-bag{width:40px;height:40px}.topbar{min-height:55px;padding-block:8px}.mobile-brand .brand img{max-height:26px;max-width:115px}.market-header .top-actions .icon-btn{width:33px;height:33px}.market-header{position:relative}.home-search{height:47px;margin-bottom:22px;width:calc(100% - 55px)}.home-filter-circle{width:45px;height:45px;margin-inline-start:8px}.home-search>span{font-size:12px}.section-head h2{font-size:17px}.section-head{margin-bottom:13px}.category-strip{gap:13px}.category-card{min-width:60px;max-width:64px}.category-art{width:58px;height:58px;border-width:3px}.category-art .icon{width:43px;height:43px}.category-card>span{font-size:9px}.campaign-slide{min-height:180px}.hero-copy{padding:20px 17px;max-width:60%}.hero-copy h2{font-size:25px}.hero-copy>p:not(.eyebrow){font-size:10px;max-width:160px;margin:7px 0 11px}.hero-copy .eyebrow{font-size:8px}.hero-copy .button{font-size:9px;padding:7px 11px;min-height:31px}.hero-copy .button .icon{width:12px}.campaign-photo{width:48%}.hero-carousel{margin-bottom:20px}.service-strip{gap:7px}.service-strip article{padding:10px 5px}.service-strip small{display:none}.service-strip b{font-size:9px}.service-strip .icon{width:18px}.product-grid{gap:12px}.product-info{padding:9px}.product-info .price{font-size:13px}.product-title{font-size:11px;min-height:38px}.product-row{grid-auto-columns:44%;gap:12px}.product-actions{top:7px;padding:0 7px}.wish-btn,.compare-btn{width:25px;height:25px}.wish-btn .icon,.compare-btn .icon{width:14px;height:14px}.product-badge{font-size:8px}.bottom-nav{height:75px;padding:3px 12px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:0;border-radius:22px 22px 0 0;box-shadow:0 -5px 28px #00000007;overflow:visible;align-items:center}.bottom-nav .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent!important;border-radius:0;color:#777;min-width:0;padding:8px 4px;font-size:8px;flex:1}.bottom-nav .nav-link .icon{width:22px;height:22px}.bottom-nav .nav-link.active{color:var(--primary)}.bottom-nav [data-nav=cart]{background:var(--primary)!important;color:var(--ink);width:55px;height:55px;flex:0 0 55px;border:5px solid var(--bg);border-radius:50%;transform:translateY(-17px);box-shadow:0 5px 12px #00000006}.bottom-nav [data-nav=cart]>span:not(.count){display:none}.bottom-nav [data-nav=cart] .icon{width:22px;height:22px}.bottom-nav [data-nav=cart] .count{right:-2px;top:-4px;left:auto;background:var(--ink);color:#fff}.profile-form{grid-template-columns:1fr;padding:17px}.hub-shortcuts{gap:8px}.hub-shortcuts a{font-size:9px;padding:15px 4px}.hub-order{padding:15px}.hub-order-items img{width:37px;height:37px}.hub-order-items{gap:5px}.hub-order-items span{font-size:9px}.hub-order-items b{font-size:12px}.notice-card{padding:15px;gap:11px}.notice-card h2{font-size:13px}.notice-card p{font-size:11px}.notice-mark{width:35px;height:35px}.compare-dock{bottom:90px;inset-inline-end:15px;font-size:10px;padding:9px 14px}.pdp-tools .chip{font-size:11px}.product-buy-dock{bottom:75px}.toolbar{gap:9px}.toolbar-actions{gap:6px}
}
/* Keep the neutral canvas visible behind white cards, as in the supplied reference. */
.shell{background:var(--bg)}
.home-section .product-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(170px,23%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.home-section .product-grid>.product-card{scroll-snap-align:start}
body[data-page=account] .compare-dock,body[data-page=order] .compare-dock,body[data-page=compare] .compare-dock{display:none}
@media(max-width:700px){.home-section .product-grid{grid-auto-columns:44%;gap:12px}.home-section{margin-top:28px}.app-body{padding-top:15px}}
.button-dark,.button-gold,.product-buy-dock .button-dark,.bottom-nav [data-nav=cart]{color:var(--on-primary,#181818)}
.hero-copy .button,.bundle-submit{color:#fff}
