:root {
  --ink: #2a2420;
  --muted: #79706a;
  --brand: #c9601e;
  --brand-dark: #9c4315;
  --brand-soft: #fbe4ce;
  --brand-deep: #7a3418;
  --brand-deep-light: #d98a48;
  --blush: #fff6ef;
  --cream: #fffaf5;
  --paper: #ffffff;
  --sage: #edf3ee;
  --line: #eae2da;
  --success: #2e7d5b;
  --danger: #b43d4f;
  --shadow-sm: 0 8px 24px rgba(70, 45, 25, .07);
  --shadow-md: 0 18px 46px rgba(70, 45, 25, .12);
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 22px;
  --container: 1180px;
  --font-display: "Bricolage Grotesque", "Manrope", ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; max-width: 100%; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::selection { background: var(--brand-soft); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 10px 14px; color: white; background: var(--ink); border-radius: 8px; }
.skip-link:focus { top: 16px; }

.announcement-bar { color: white; background: var(--ink); font-size: 12px; letter-spacing: .02em; }
.announcement-inner { min-height: 34px; display: flex; justify-content: center; align-items: center; gap: 22px; }
.announcement-inner a { color: #ffe2c4; font-weight: 800; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(234, 222, 210, .78); background: rgba(255, 250, 245, .92); backdrop-filter: blur(18px); transition: box-shadow .25s ease, background .25s ease; }
.site-header.scrolled { background: rgba(255, 255, 255, .96); box-shadow: 0 10px 35px rgba(70, 45, 25, .08); }
.header-row { min-height: 94px; display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr); align-items: center; gap: 32px; }
.brand { justify-self: start; display: inline-flex; align-items: center; gap: 13px; min-width: max-content; }
.brand-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; color: white; background: linear-gradient(145deg, var(--brand), var(--brand-dark)); box-shadow: 0 10px 22px rgba(201, 96, 30, .25); font-size: 24px; font-weight: 900; }
.brand-icon { width: 58px; height: 58px; flex: 0 0 58px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(201, 96, 30, .18), 0 0 0 1px var(--line); }
.brand-icon img { width: 88%; height: 88%; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy strong { font-size: 26px; font-weight: 800; letter-spacing: -.03em; color: var(--ink); }
.brand-copy small { margin-top: 4px; display: block; color: var(--muted); font-size: 10.5px; font-weight: 700; letter-spacing: .04em; }
.brand-a-wrap { position: relative; display: inline-block; }
.brand-heart { position: absolute; left: 50%; top: -.18em; width: .38em; height: .38em; transform: translateX(-50%) rotate(-6deg); fill: var(--brand); }
.site-nav { display: flex; justify-content: center; align-items: center; gap: 28px; }
.site-nav a { position: relative; color: #54494f; font-size: 13px; font-weight: 700; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; border-radius: 99px; background: var(--brand); transition: right .2s ease; }
.site-nav a:hover, .site-nav a.active { color: var(--brand-dark); }
.site-nav a:hover::after, .site-nav a.active::after { right: 0; }
.nav-item { position: relative; display: inline-flex; align-items: center; }
.mega-toggle { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 1px; border: 0; background: transparent; color: #54494f; }
.mega-toggle svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s ease; }
.mega-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.mega-panel { position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%); z-index: 60; width: min(560px, 86vw); padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-md); }
.mega-panel-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.mega-tile { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 6px; border-radius: 14px; text-align: center; font-size: 11px; font-weight: 800; color: var(--ink); transition: background .18s ease, transform .18s ease; }
.mega-tile:hover { background: var(--brand-soft); transform: translateY(-2px); }
.mega-tile-icon { width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden; border-radius: 13px; color: var(--brand); background: var(--brand-soft); font-weight: 900; }
.mega-tile-icon img { width: 100%; height: 100%; object-fit: cover; }
.mega-tile-icon svg { width: 20px; height: 20px; }
.mega-tile-all .mega-tile-icon { background: var(--ink); color: #fff; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.search-toggle, .cart-link, .nav-toggle { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.8); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.search-toggle:hover, .cart-link:hover, .nav-toggle:hover { transform: translateY(-2px); border-color: #e0c3a8; box-shadow: var(--shadow-sm); }
.search-toggle svg, .cart-link svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-link { position: relative; }
.cart-link span { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; display: grid; place-items: center; padding: 0 5px; border: 2px solid var(--cream); border-radius: 999px; color: white; background: var(--brand); font-size: 9px; font-weight: 900; }
.nav-toggle { display: none; gap: 4px; }
.nav-toggle span { width: 18px; height: 2px; display: block; border-radius: 99px; background: currentColor; transition: transform .2s ease; }
.header-search { border-top: 1px solid var(--line); background: white; animation: searchReveal .2s ease both; }
.header-search form { padding-block: 18px; }
.header-search label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.header-search form > div { display: flex; gap: 10px; }
.header-search input { flex: 1; min-height: 48px; padding: 0 15px; border: 1px solid var(--line); border-radius: 13px; outline: none; }
.header-search input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.header-search button { padding: 0 22px; border: 0; border-radius: 13px; color: white; background: var(--brand); font-weight: 800; }
@keyframes searchReveal { from { opacity: 0; transform: translateY(-8px); } }


main { animation: pageEnter .32s ease both; }
@keyframes pageEnter { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.flash { margin-top: 18px; padding: 13px 16px; border-radius: 14px; font-size: 13px; font-weight: 700; animation: fadeUp .35s ease both; }
.flash-success { color: var(--success); background: #e6f4ed; border: 1px solid #cce8da; }
.flash-error { color: var(--danger); background: #fcebed; border: 1px solid #f1ccd2; }

.hero { position: relative; overflow: hidden; padding: 74px 0 60px; }
.hero::before { content: ""; position: absolute; width: 440px; height: 440px; left: -240px; top: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(252, 220, 184, .78), rgba(252, 220, 184, 0) 68%); pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 68px; }
.hero-copy { animation: fadeUp .65s ease both; }
.eyebrow { margin: 0 0 14px; color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.hero h1, .page-hero h1 { margin: 0; max-width: 720px; font-family: var(--font-display); font-weight: 700; font-size: clamp(40px, 5.6vw, 68px); line-height: 1.03; letter-spacing: -.02em; }
h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -.015em; }
.brand-copy strong { font-family: var(--font-display); font-weight: 700; }
.hero-copy > p:not(.eyebrow) { max-width: 590px; margin: 25px 0 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { min-height: 48px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 0 20px; border: 1px solid transparent; border-radius: 14px; font-size: 13px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: linear-gradient(135deg, var(--brand), var(--brand-dark)); box-shadow: 0 13px 26px rgba(201,96,30,.22); }
.button-primary:hover { box-shadow: 0 18px 34px rgba(201,96,30,.3); }
.button-ghost { color: var(--ink); background: white; border-color: var(--line); }
.button-ghost:hover { border-color: #e0c3a8; box-shadow: var(--shadow-sm); }
.button-whatsapp { color: white; background: #1f9f63; }
.button-block { width: 100%; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 27px; color: var(--muted); font-size: 12px; font-weight: 700; }
.hero-proof span { display: inline-flex; align-items: center; gap: 7px; }
.hero-proof span::before { content: "✓"; width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: var(--success); background: #e6f4ed; font-size: 10px; }

.hero-showcase { position: relative; min-height: 420px; display: grid; place-items: center; animation: fadeUp .75s .08s ease both; }

.trust-strip { padding: 0 0 32px; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.trust-item { display: flex; align-items: center; gap: 13px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.72); }
.trust-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 13px; color: var(--brand); background: var(--brand-soft); font-weight: 900; }
.trust-item strong, .trust-item small { display: block; }
.trust-item strong { font-size: 12px; }
.trust-item small { margin-top: 2px; color: var(--muted); font-size: 10px; }

.section { padding: 82px 0; }
.section-soft { background: #fdf3ea; }
.section-white { background: white; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 30px; }
.section-heading h2, .policy-content h1, .contact-card h1 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.055em; }
.section-heading > a { color: var(--brand-dark); font-size: 12px; font-weight: 900; }
.section-heading > a:hover { text-decoration: underline; text-underline-offset: 5px; }

.category-strip-wrap { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; -webkit-mask-image: linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent); mask-image: linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent); }
.category-strip { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.category-strip::-webkit-scrollbar { display: none; }
.category-chip { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; padding: 7px 14px 7px 7px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 12px; font-weight: 700; color: var(--ink); white-space: nowrap; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.category-chip:hover { transform: translateY(-1px); border-color: #e0c3a8; box-shadow: var(--shadow-sm); }
.category-chip-icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; color: var(--brand); background: var(--brand-soft); }
.category-chip-icon svg { width: 15px; height: 15px; }
.category-chip-icon img { width: 100%; height: 100%; object-fit: cover; }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.product-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); }
.product-image { position: relative; aspect-ratio: 1 / 1.02; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #fdf1e7, #fff); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.product-card:hover .product-image img { transform: scale(1.055); }
.product-placeholder { width: 84px; height: 84px; display: grid; place-items: center; border-radius: var(--radius); color: var(--brand); background: rgba(255,255,255,.74); }
.product-placeholder svg { width: 34px; height: 34px; }
.product-badge { position: absolute; left: 14px; top: 14px; z-index: 2; padding: 6px 9px; border-radius: 999px; color: white; background: var(--brand); font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.product-card-body { padding: 18px; }
.product-card-body > p { margin: 0 0 7px; color: var(--brand); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.product-card h3 { min-height: 44px; margin: 0; font-size: 15px; line-height: 1.45; letter-spacing: -.025em; }
.product-card h3 a:hover { color: var(--brand-dark); }
.price-row { display: flex; align-items: baseline; gap: 8px; margin-top: 13px; }
.price-row strong { font-size: 17px; }
.price-row del { color: #a89b8f; font-size: 11px; }
.stock-text { display: inline-flex; margin-top: 10px; color: var(--success); font-size: 10px; font-weight: 800; }
.stock-text.out { color: var(--danger); }
.empty-state { padding: 58px 26px; border: 1px dashed #e2cdb5; border-radius: 25px; text-align: center; background: rgba(255,255,255,.75); }
.empty-state h2, .empty-state h3, .empty-state h1 { margin: 0; }
.empty-state p { max-width: 520px; margin: 10px auto 20px; color: var(--muted); }

.promo-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.promo-card { position: relative; min-height: 330px; overflow: hidden; padding: 38px; border-radius: 30px; }
.promo-card.primary { color: white; background: linear-gradient(135deg, var(--brand-deep), var(--brand-deep-light)); }
.promo-card.secondary { background: linear-gradient(145deg, #f3e7d9, #fffaf4); }
.promo-card::after { content: ""; position: absolute; width: 250px; height: 250px; right: -60px; bottom: -100px; border-radius: 50%; background: rgba(255,255,255,.13); }
.promo-card .eyebrow { color: inherit; opacity: .75; }
.promo-card h3 { max-width: 480px; margin: 0; font-size: clamp(30px, 4vw, 50px); line-height: 1.05; letter-spacing: -.055em; }
.promo-card p { max-width: 500px; margin: 17px 0 26px; opacity: .8; }
.promo-card.secondary p { color: var(--muted); }
.promo-stamp { position: absolute; right: 32px; top: 32px; width: 82px; height: 82px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 900; text-align: center; transform: rotate(8deg); opacity: .72; }

.location-section { padding-top: 0; }
.location-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; padding: 33px 38px; border: 1px solid var(--line); border-radius: 26px; background: white; box-shadow: var(--shadow-sm); }
.location-card p { margin: 5px 0 0; color: var(--muted); }
.location-card strong { font-size: 20px; }

.page-hero { padding: 66px 0 46px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fff6ee, #fffaf5); }
.page-hero .container { display: grid; justify-items: start; }
.page-hero.compact h1 { font-size: clamp(36px, 5vw, 58px); }
.page-hero p:last-child { max-width: 680px; margin: 18px 0 0; color: var(--muted); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 30px; color: var(--muted); font-size: 11px; }
.breadcrumbs a:hover { color: var(--brand); }

.shop-layout { display: grid; grid-template-columns: 230px 1fr; gap: 42px; align-items: start; }
.shop-sidebar { position: sticky; top: 115px; display: grid; gap: 24px; }
.search-form label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 900; }
.search-form > div { display: flex; }
.search-form input { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px 0 0 12px; outline: none; }
.search-form button { border: 0; border-radius: 0 12px 12px 0; color: white; background: var(--brand); font-size: 11px; font-weight: 800; }
.category-filter { display: grid; gap: 4px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.category-filter strong { margin-bottom: 7px; font-size: 11px; }
.category-filter a { padding: 8px 10px; border-radius: 10px; color: var(--muted); font-size: 11px; font-weight: 700; }
.category-filter a:hover, .category-filter a.active { color: var(--brand-dark); background: var(--brand-soft); }
.results-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; color: var(--muted); font-size: 11px; font-weight: 700; }
.results-bar a { color: var(--brand); }
.shop-results { min-width: 0; }
.shop-results .product-grid { grid-template-columns: repeat(3,1fr); }

.product-detail-section { padding-top: 38px; }
.product-detail-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: start; }
.detail-image { aspect-ratio: 1/1; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: linear-gradient(145deg,#fdf1e6,#fff); }
.detail-image img { width: 100%; height: 100%; object-fit: cover; }
.detail-image span { color: var(--muted); }
.detail-copy { padding-top: 20px; }
.detail-copy h1 { margin: 0; font-size: clamp(36px,5vw,58px); line-height: 1.05; letter-spacing: -.055em; }
.detail-price { display: flex; align-items: baseline; gap: 12px; margin-top: 20px; }
.detail-price strong { font-size: 28px; }
.detail-price del { color: var(--muted); }
.lead { color: var(--muted); font-size: 16px; }
.add-cart-form { display: grid; grid-template-columns: 110px 1fr; gap: 12px; margin-top: 25px; }
.add-cart-form label { color: var(--muted); font-size: 10px; font-weight: 800; }
.add-cart-form input { width: 100%; min-height: 48px; margin-top: 4px; padding: 0 12px; border: 1px solid var(--line); border-radius: 13px; }
.add-cart-form .button { align-self: end; }
.detail-notes { display: grid; gap: 9px; margin-top: 24px; padding: 18px; border-radius: 17px; background: white; border: 1px solid var(--line); }
.detail-notes span { color: var(--muted); font-size: 11px; }
.product-description { max-width: 830px; margin: 65px auto 0; padding: 34px; border: 1px solid var(--line); border-radius: 25px; background: white; }
.product-description h2 { margin-top: 0; font-size: 27px; letter-spacing: -.04em; }
.product-description p, .product-description div { color: var(--muted); }

.cart-layout, .checkout-grid, .tracking-layout { display: grid; grid-template-columns: 1fr 340px; gap: 30px; align-items: start; }
.cart-list { display: grid; gap: 12px; }
.cart-item { display: grid; grid-template-columns: 84px 1fr auto auto auto; align-items: center; gap: 17px; padding: 16px; border: 1px solid var(--line); border-radius: 19px; background: white; }
.cart-thumb { width: 84px; height: 84px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; background: var(--blush); color: var(--muted); font-size: 9px; }
.cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cart-item h2 { margin: 0; font-size: 14px; }
.cart-item p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.quantity-form { display: flex; gap: 5px; }
.quantity-form input { width: 62px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; }
.quantity-form button, .text-danger { border: 0; background: none; font-size: 10px; font-weight: 800; }
.quantity-form button { color: var(--brand); }
.text-danger { color: var(--danger); }
.order-summary { padding: 24px; border: 1px solid var(--line); border-radius: 21px; background: white; box-shadow: var(--shadow-sm); }
.order-summary.sticky { position: sticky; top: 115px; }
.order-summary h2 { margin: 0 0 18px; font-size: 20px; }
.order-summary > div, .summary-item { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 12px; }
.order-summary hr { border: 0; border-top: 1px solid var(--line); margin: 13px 0; }
.summary-total { font-size: 16px !important; }
.summary-note { color: var(--muted); font-size: 10px; }
.order-summary .button { margin-top: 10px; }

.checkout-form { display: grid; gap: 16px; }
.form-panel { padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: white; }
.form-panel h2 { margin: 0 0 20px; font-size: 21px; letter-spacing: -.035em; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.form-panel label, .tracking-form label, .form-stack label { display: block; margin-top: 13px; color: #4d4248; font-size: 11px; font-weight: 800; }
.form-panel label:first-of-type { margin-top: 0; }
.form-panel label small { color: var(--muted); font-weight: 500; }
.form-panel input, .form-panel textarea, .tracking-form input, .form-stack input { width: 100%; margin-top: 6px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fffdfc; outline: none; }
.form-panel input:focus, .form-panel textarea:focus, .tracking-form input:focus, .form-stack input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.payment-options { display: grid; gap: 10px; }
.payment-options > label { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 15px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.payment-options > label:has(input:checked) { border-color: var(--brand); background: var(--blush); }
.payment-options input { width: auto; margin: 3px 0 0; accent-color: var(--brand); }
.payment-options strong, .payment-options small { display: block; }
.payment-options strong { font-size: 12px; }
.payment-options small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.payment-number { margin-top: 6px; color: var(--brand-dark) !important; font-weight: 900; }
.manual-payment-fields { margin-top: 14px; padding: 17px; border-radius: 15px; background: var(--blush); }
.manual-payment-fields[hidden] { display: none; }
.manual-payment-fields p { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.form-errors { margin-bottom: 15px; padding: 13px 15px; border: 1px solid #f0cbd1; border-radius: 13px; color: var(--danger); background: #fcebed; font-size: 11px; font-weight: 700; }
.form-errors p { margin: 3px 0; }

.success-section { min-height: 70vh; display: grid; align-items: center; }
.success-card { max-width: 620px; padding: 42px; border: 1px solid var(--line); border-radius: 29px; background: white; text-align: center; box-shadow: var(--shadow-md); }
.success-icon { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: white; background: var(--success); font-size: 25px; }
.success-card h1 { margin: 0; font-size: 38px; letter-spacing: -.05em; }
.success-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 25px 0; }
.success-summary > div { padding: 14px; border-radius: 14px; background: var(--blush); }
.success-summary span, .success-summary strong { display: block; }
.success-summary span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.success-summary strong { margin-top: 5px; font-size: 12px; }
.small-note { color: var(--muted); font-size: 10px; }

.tracking-layout { grid-template-columns: 330px 1fr; }
.tracking-form, .tracking-result { padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: white; }
.tracking-form { display: grid; gap: 10px; }
.tracking-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.tracking-head h2 { margin: 0; font-size: 29px; }
.timeline { margin-top: 23px; }
.timeline-item { position: relative; display: grid; grid-template-columns: 18px 1fr; gap: 14px; padding-bottom: 24px; }
.timeline-item::after { content: ""; position: absolute; left: 7px; top: 15px; bottom: 0; width: 2px; background: var(--line); }
.timeline-item:last-child::after { display: none; }
.timeline-item > span { width: 16px; height: 16px; z-index: 1; border: 4px solid var(--brand-soft); border-radius: 50%; background: var(--brand); }
.timeline-item strong { font-size: 12px; }
.timeline-item p { margin: 3px 0; color: var(--muted); font-size: 11px; }
.timeline-item small { color: var(--muted); font-size: 9px; }
.courier-box { padding: 15px; border-radius: 14px; background: var(--blush); }
.courier-box p { margin: 4px 0 0; color: var(--muted); }

.policy-wrap { display: grid; grid-template-columns: 230px 1fr; gap: 48px; align-items: start; }
.policy-nav { position: sticky; top: 115px; display: grid; gap: 7px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.policy-nav a { padding: 8px 10px; border-radius: 9px; color: var(--muted); font-size: 11px; font-weight: 700; }
.policy-nav a:hover { color: var(--brand); background: var(--blush); }
.policy-content { max-width: 790px; }
.policy-content .updated { color: var(--muted); font-size: 11px; }
.policy-content h2 { margin: 36px 0 10px; font-size: 24px; letter-spacing: -.04em; }
.policy-content p, .policy-content li { color: var(--muted); }
.policy-content ul { padding-left: 20px; }

.contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: stretch; }
.contact-card { padding: 35px; border: 1px solid var(--line); border-radius: 27px; background: white; }
.contact-options { display: grid; gap: 12px; margin-top: 25px; }
.contact-option { display: flex; align-items: center; gap: 14px; padding: 15px; border-radius: 15px; background: var(--blush); }
.contact-option span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; color: var(--brand); background: white; font-weight: 900; }
.contact-option strong, .contact-option small { display: block; }
.contact-option small { color: var(--muted); }
.contact-visual { min-height: 430px; display: grid; align-content: end; padding: 34px; border-radius: 27px; color: white; background: linear-gradient(145deg, var(--brand-deep), var(--brand-deep-light)); }
.contact-visual h2 { margin: 0; max-width: 430px; font-size: 40px; line-height: 1.08; letter-spacing: -.05em; }

.auth-section { min-height: 72vh; display: grid; place-items: center; padding: 60px 20px; }
.auth-card { width: min(100%, 430px); padding: 35px; border: 1px solid var(--line); border-radius: 26px; background: white; box-shadow: var(--shadow-md); }
.auth-card h1 { margin: 0; font-size: 36px; letter-spacing: -.05em; }
.auth-card > p:not(.eyebrow) { color: var(--muted); }
.form-stack { display: grid; gap: 13px; }

.site-footer { padding: 0 0 22px; color: var(--ink); background: var(--cream); border-top: 1px solid var(--line); }
.footer-top { padding-top: 30px; display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 30px; }
.footer-brand .brand { margin-bottom: 12px; }
.footer-social { display: flex; gap: 8px; }
.footer-social a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line); color: var(--muted); transition: color .15s ease, border-color .15s ease; }
.footer-social a:hover { color: var(--brand-dark); border-color: #e0c3a8; }
.footer-social svg { width: 15px; height: 15px; }
.footer-top > div:not(.footer-brand) { display: grid; align-content: start; gap: 8px; }
.footer-top > div:not(.footer-brand) strong { margin-bottom: 3px; font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--ink); }
.footer-top a, .footer-top span { color: var(--muted); font-size: 12.5px; }
.footer-top a:hover { color: var(--brand-dark); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10.5px; }
.floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 45; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 19px; color: white; background: #1f9f63; box-shadow: 0 16px 35px rgba(31,159,99,.28); transition: transform .2s ease; }
.floating-whatsapp:hover { transform: translateY(-4px) scale(1.03); }
.floating-whatsapp svg { width: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }

@media (max-width: 1050px) {
  .header-row { grid-template-columns: auto 1fr auto; }
  .site-nav { gap: 18px; }
  .hero-grid { gap: 34px; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .trust-grid { grid-template-columns: repeat(2,1fr); }
  .footer-top { grid-template-columns: 1.3fr repeat(2,1fr); }
  .footer-top > div:last-child { grid-column: 2; }
}

@media (max-width: 820px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .announcement-inner { justify-content: space-between; }
  .header-row { min-height: 68px; gap: 12px; }
  .brand-mark { width: 42px; height: 42px; border-radius: 13px; font-size: 18px; }
  .brand-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .brand-copy strong { font-size: 19px; }
  .site-nav { position: fixed; left: 14px; right: 14px; top: 112px; display: grid; justify-content: stretch; gap: 3px; padding: 15px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.98); box-shadow: var(--shadow-md); opacity: 0; transform: translateY(-12px) scale(.98); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
  .site-nav.open { opacity: 1; transform: none; pointer-events: auto; }
  .site-nav a { padding: 11px 12px; border-radius: 10px; }
  .site-nav a::after { display: none; }
  .site-nav a.active { background: var(--brand-soft); }
  .nav-item { display: block; }
  .mega-toggle { position: absolute; right: 8px; top: 8px; width: 34px; height: 34px; }
  .mega-panel { position: static; width: auto; max-width: none; transform: none; padding: 6px 2px 12px; border: 0; box-shadow: none; }
  .mega-panel-inner { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .nav-toggle { display: grid; }
  .hero { padding-top: 48px; }
  .hero-grid, .contact-grid, .home-page .home-hero .hero-grid { grid-template-columns: 1fr; }
  .hero-showcase { min-height: 430px; margin-top: 10px; }
  .product-grid, .shop-results .product-grid { grid-template-columns: repeat(2,1fr); }
  .promo-grid { grid-template-columns: 1fr; }
  .shop-layout { grid-template-columns: 1fr; gap: 24px; }
  .shop-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .category-filter { max-height: 260px; overflow: auto; }
  .product-detail-grid { grid-template-columns: 1fr; gap: 28px; }
  .cart-layout, .checkout-grid, .tracking-layout { grid-template-columns: 1fr; }
  .order-summary.sticky { position: static; }
  .policy-wrap { grid-template-columns: 1fr; }
  .policy-nav { position: static; display: flex; overflow-x: auto; }
  .policy-nav a { white-space: nowrap; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .footer-top > div:last-child { grid-column: auto; }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .announcement-inner { min-height: 38px; font-size: 10px; }
  .announcement-inner a { display: none; }
  .brand-copy small { display: none; }
  .search-toggle { display: none; }
  .hero { padding: 38px 0 38px; }
  .hero h1 { font-size: 43px; }
  .hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .button { padding-inline: 11px; }
  .hero-showcase { min-height: 350px; }
  .hero-blob { inset: 16px 8px 20px 28px; }
  .showcase-main { width: 75%; left: 0; bottom: 25px; padding: 20px; }
  .showcase-small { width: 50%; right: 0; top: 45px; padding: 18px; }
  .showcase-product { height: 105px; font-size: 43px; }
  .showcase-card strong { font-size: 17px; }
  .showcase-chip { right: 20px; bottom: 20px; }
  .trust-grid { grid-template-columns: 1fr; }
  .section { padding: 58px 0; }
  .section-heading { align-items: start; }
  .section-heading h2 { font-size: 34px; }
  .product-grid, .shop-results .product-grid { gap: 10px; }
  .product-card { border-radius: 18px; }
  .product-card-body { padding: 13px; }
  .product-card h3 { min-height: 40px; font-size: 13px; }
  .price-row strong { font-size: 15px; }
  .promo-card { min-height: 290px; padding: 27px; border-radius: 24px; }
  .promo-card h3 { font-size: 35px; }
  .promo-stamp { width: 65px; height: 65px; right: 20px; top: 20px; font-size: 9px; }
  .location-card { grid-template-columns: 1fr; padding: 25px; }
  .shop-sidebar { grid-template-columns: 1fr; }
  .page-hero { padding: 48px 0 34px; }
  .cart-item { grid-template-columns: 68px 1fr auto; gap: 12px; }
  .cart-thumb { width: 68px; height: 68px; }
  .quantity-form { grid-column: 2; }
  .cart-item > strong { grid-column: 3; grid-row: 2; }
  .cart-item > form:last-child { grid-column: 2; }
  .form-grid.two { grid-template-columns: 1fr; }
  .success-card { padding: 28px 20px; }
  .success-summary { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .floating-whatsapp { right: 14px; bottom: 14px; width: 50px; height: 50px; border-radius: 17px; }
  .policy-content, .contact-card { padding-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
.hero-banner-image { position: absolute; z-index: 2; inset: 38px 18px 32px 36px; overflow: hidden; border: 8px solid rgba(255,255,255,.72); border-radius: 34px; background: white; box-shadow: var(--shadow-md); transform: rotate(1deg); }
.hero-banner-image img { width: 100%; height: 100%; object-fit: cover; }
@media(max-width:560px){.hero-banner-image{inset:28px 4px 24px 20px;border-width:5px;border-radius:25px}}

/* Account, wishlist and checkout additions */
.wishlist-link { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.8); color: var(--brand); font-size: 24px; line-height: 1; }
.wishlist-link span { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; display: grid; place-items: center; padding: 0 5px; border: 2px solid var(--cream); border-radius: 999px; color: #fff; background: var(--brand); font-size: 9px; font-weight: 900; }
.auth-shell { width: min(100%, 560px); }
.auth-card { padding: 30px; display: grid; gap: 17px; }
.auth-card label, .checkout-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 800; }
.auth-card input { width: 100%; min-height: 50px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; outline: none; }
.auth-card input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.auth-links { display: flex; justify-content: space-between; gap: 15px; color: var(--brand-dark); font-size: 12px; font-weight: 800; }
.account-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.account-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 50px; }
.account-actions a { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--blush); transition: transform .2s ease, box-shadow .2s ease; }
.account-actions a:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.account-actions strong,.account-actions span { display: block; }.account-actions span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.account-orders { display: grid; gap: 12px; }
.account-orders article { display: grid; grid-template-columns: 1.5fr .6fr auto; align-items: center; gap: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.account-orders h3 { margin: 9px 0 2px; }.account-orders p { margin: 0; color: var(--muted); font-size: 11px; }
.account-order-links { display: flex; gap: 8px; align-items: center; }.account-order-links a,.account-order-links span { padding: 8px 10px; border-radius: 9px; background: var(--brand-soft); color: var(--brand-dark); font-size: 10px; font-weight: 800; }.account-order-links span { color: var(--muted); background: #f3efe9; }
.order-receipt { margin: 22px 0; padding: 16px 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--blush); text-align: left; }
.order-receipt p { display: flex; justify-content: space-between; gap: 18px; margin: 7px 0; }.order-receipt span { color: var(--muted); }.credential { color: var(--brand-dark); letter-spacing: .06em; }.privacy-note { padding: 12px; border-radius: 10px; color: #735019; background: #fff6dc; font-size: 12px; }
.coupon-success { padding: 10px 12px; border-radius: 10px; color: var(--success); background: #e6f4ed; font-size: 12px; font-weight: 800; }
.social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }.social-links a { color: var(--brand-dark); font-weight: 800; }
.wishlist-form { margin-top: 10px; }.text-button { padding: 0; border: 0; color: var(--brand-dark); background: transparent; font-weight: 800; }
.wishlist-login-link { display:inline-flex; margin-top:10px; font-size:12px; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #795216; background: #fff1d2; font-size: 9px; font-weight: 900; text-transform: uppercase; }.status-delivered,.status-payment_verified { color: #21664c; background: #e3f3ec; }.status-cancelled { color: #9e3445; background: #fbe7e9; }.status-confirmed,.status-processing,.status-shipped { color: #345f9d; background: #e8effa; }
@media(max-width:760px){.account-actions{grid-template-columns:1fr}.account-orders article{grid-template-columns:1fr}.account-order-links{flex-wrap:wrap}.wishlist-link{display:none}.auth-card{padding:22px}}

/* Premium catalogue and configurable product experience */
.hero { background: radial-gradient(circle at 78% 22%, #fcdcb8 0, transparent 28%), linear-gradient(135deg,#fffaf5 0%,#fff3e6 60%,#f6e3d2 100%); }
.hero-copy h1 { max-width: 680px; text-wrap: balance; }
.hero-showcase { display: grid; place-items: center; }
.hero-scene { position: relative; width: min(100%,420px); height: 320px; }
.hero-blob { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .6; animation: blobDrift 7s ease-in-out infinite; }
.hero-blob-a { width: 230px; height: 230px; left: -30px; top: 6px; background: radial-gradient(circle,var(--brand-soft),transparent 72%); }
.hero-blob-b { width: 190px; height: 190px; right: -30px; bottom: -10px; background: radial-gradient(circle,#ffe3c2,transparent 72%); animation-delay: -3.2s; }
@keyframes blobDrift { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(10px,-14px) scale(1.06); } }
.hero-trail { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.hero-trail path { fill: none; stroke: var(--brand); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 5 11; opacity: .3; animation: trailDash 5s linear infinite; }
@keyframes trailDash { to { stroke-dashoffset: -160; } }
.hero-flower { position: absolute; width: 30px; height: 30px; animation: flowerSway 3.4s ease-in-out infinite; }
.hero-flower svg { width: 100%; height: 100%; }
.hero-flower-a { left: 4%; bottom: 18%; }
.hero-flower-b { right: 10%; top: 10%; width: 24px; height: 24px; animation-delay: -1.6s; }
.hero-flower-c { right: 26%; bottom: 6%; width: 20px; height: 20px; animation-delay: -2.5s; }
@keyframes flowerSway { 0%,100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
.bee-illustration { position: absolute; left: 50%; top: 50%; width: 150px; height: 150px; margin: -75px 0 0 -75px; animation: beeFlyPath 7s ease-in-out infinite; }
.bee-illustration svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 12px 14px rgba(122,52,24,.18)); }
.bee-body, .bee-head { fill: url(#beeBodyGrad); stroke: #2a2420; stroke-width: 2; }
.bee-shine { fill: #fff; opacity: .5; }
.bee-stripe { fill: #2a2420; }
.bee-eye { fill: #2a2420; }
.bee-eye-shine { fill: #fff; }
.bee-cheek { fill: #ff9d7a; opacity: .55; }
.bee-smile { fill: none; stroke: #2a2420; stroke-width: 1.4; stroke-linecap: round; }
.bee-antenna, .bee-fuzz, .bee-leg { fill: none; stroke: #2a2420; stroke-width: 2; stroke-linecap: round; }
.bee-fuzz { stroke-width: 1.6; opacity: .7; }
.bee-leg { stroke-width: 1.8; opacity: .85; }
.bee-antenna-tip { fill: #2a2420; }
.bee-stinger { fill: none; stroke: #2a2420; stroke-width: 2.5; stroke-linecap: round; }
.bee-heart { fill: #ffb0c8; stroke: #2a2420; stroke-width: 1.4; stroke-linejoin: round; transform-origin: 92px 52px; animation: beeHeart 1.8s ease-in-out infinite; }
.bee-wing { fill: url(#beeWingGrad); stroke: rgba(42,36,32,.4); stroke-width: 1.2; transform-box: fill-box; }
.bee-wing-l { transform-origin: 100% 55%; animation: beeWingL .22s ease-in-out infinite; }
.bee-wing-r { transform-origin: 0% 55%; animation: beeWingR .22s ease-in-out infinite; }
.hero-sparkle { position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #ffc94a; box-shadow: 0 0 6px rgba(255,201,74,.75); animation: beeFlyPath 7s ease-in-out infinite, sparkleTwinkle 1s ease-in-out infinite; }
.hero-sparkle-a { animation-delay: -.3s, -.1s; }
.hero-sparkle-b { animation-delay: -.6s, -.4s; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; background: #ff9d7a; }
.hero-sparkle-c { animation-delay: -.9s, -.7s; width: 4px; height: 4px; margin: -2px 0 0 -2px; }
@keyframes beeFlyPath {
  0%   { transform: translate(-120px,55px) rotate(-8deg) scale(1); }
  25%  { transform: translate(-35px,-75px) rotate(10deg) scale(1.04); }
  50%  { transform: translate(80px,15px) rotate(-6deg) scale(.97); }
  75%  { transform: translate(25px,-55px) rotate(12deg) scale(1.03); }
  100% { transform: translate(-120px,55px) rotate(-8deg) scale(1); }
}
@keyframes beeWingL { 0%,100% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(.5) rotate(-10deg); } }
@keyframes beeWingR { 0%,100% { transform: scaleY(1) rotate(0deg); } 50% { transform: scaleY(.5) rotate(10deg); } }
@keyframes beeHeart { 0%,100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.15); opacity: 1; } }
@keyframes sparkleTwinkle { 0%,100% { opacity: 0; transform: scale(.4); } 50% { opacity: .95; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .bee-illustration, .bee-wing-l, .bee-wing-r, .bee-heart, .hero-blob, .hero-flower, .hero-trail path, .hero-sparkle { animation: none; display: none; }
}
.trust-grid { grid-template-columns: repeat(3,1fr); }
.promo-section { background:#fff; }
.dynamic-promos { grid-template-columns:repeat(3,1fr); }
.dynamic-promos .promo-card { min-height:360px; display:grid; align-items:end; color:#fff; background:linear-gradient(180deg,rgba(30,20,14,.02),rgba(30,20,14,.9)),var(--promo-image,linear-gradient(145deg,var(--brand-deep),var(--brand-deep-light))); background-size:cover; background-position:center; }
.dynamic-promos .promo-card > div { position:relative; z-index:2; }
.dynamic-promos .promo-card h3 { font-size:clamp(26px,3vw,40px); }
.dynamic-promos .promo-card p { margin:12px 0 20px; }
.product-gallery { min-width:0; }
.detail-image { aspect-ratio:1; overflow:hidden; border-radius:30px; background:linear-gradient(145deg,#fdf1e6,#fff); box-shadow:var(--shadow-sm); }
.detail-image img { width:100%; height:100%; object-fit:cover; transition:opacity .2s ease; }
.gallery-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:12px; }
.gallery-thumbs button { aspect-ratio:1; padding:0; overflow:hidden; border:2px solid transparent; border-radius:14px; background:#fff; }
.gallery-thumbs button.active { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.product-quick-facts { display:flex; gap:10px; margin:20px 0; }
.product-quick-facts span { min-width:105px; display:grid; padding:12px 14px; border:1px solid var(--line); border-radius:14px; color:var(--muted); font-size:10px; background:#fff; }
.product-quick-facts strong { color:var(--ink); font-size:15px; }
.product-buy-form { display:grid; gap:15px; }
.purchase-options { display:grid; gap:9px; margin:5px 0; padding:0; border:0; }
.purchase-options legend { margin-bottom:9px; font-size:12px; font-weight:900; }
.purchase-option { position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 15px 14px 44px; border:1px solid var(--line); border-radius:16px; background:#fff; cursor:pointer; transition:.2s ease; }
.purchase-option:hover { border-color:#e0c3a8; transform:translateY(-1px); }
.purchase-option:has(input:checked) { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
.purchase-option.disabled { opacity:.48; cursor:not-allowed; }
.purchase-option input { position:absolute; left:15px; width:17px; height:17px; accent-color:var(--brand); }
.purchase-option > span { display:grid; }
.purchase-option > span:last-child { flex:0 0 auto; justify-items:end; }
.purchase-option strong { font-size:13px; }
.purchase-option small { color:var(--muted); font-size:10px; }
.purchase-option b { font-size:14px; }
.purchase-option s { color:#a89b8f; font-size:10px; }
.purchase-option em { width:max-content; margin-bottom:4px; padding:3px 7px; border-radius:99px; color:#fff; background:var(--brand); font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }
.bundle-option { background:linear-gradient(135deg,#fff8ee,#fff); border-color:#ead5b8; }
.button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.product-information-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:25px; margin-top:54px; align-items:start; }
.product-description,.specification-card { margin:0; padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.product-description h2,.specification-card h2 { margin:0 0 18px; font-size:24px; letter-spacing:-.04em; }
.feature-list { display:grid; gap:9px; margin:22px 0 0; padding:0; list-style:none; }
.feature-list li { position:relative; padding-left:25px; }
.feature-list li::before { content:"✓"; position:absolute; left:0; color:var(--success); font-weight:900; }
.specification-card dl { margin:0; }
.specification-card dl div { display:grid; grid-template-columns:.8fr 1.2fr; gap:15px; padding:11px 0; border-bottom:1px solid var(--line); }
.specification-card dl div:last-child { border:0; }
.specification-card dt { color:var(--muted); font-size:11px; }
.specification-card dd { margin:0; font-size:12px; font-weight:700; }
.cart-lines { display:grid; gap:12px; }
.cart-line { display:grid; grid-template-columns:96px 1fr auto auto; gap:18px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.cart-line-image { width:96px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border-radius:14px; background:var(--blush); }
.cart-line-image img { width:100%; height:100%; object-fit:cover; }
.cart-line-info h2 { margin:0; font-size:15px; }
.cart-line-info s { color:var(--muted); font-size:10px; }
.cart-option { margin:3px 0; color:var(--brand-dark); font-size:11px; font-weight:800; }
.cart-option small,.summary-item small { display:block; color:var(--muted); font-size:9px; font-weight:500; }
.remove-link { color:var(--danger)!important; }

@media(max-width:820px){.dynamic-promos{grid-template-columns:1fr 1fr}.product-information-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.cart-line{grid-template-columns:76px 1fr auto}.cart-line-total{grid-column:3;grid-row:2}.quantity-form{grid-column:2}}
@media(max-width:560px){.dynamic-promos{grid-template-columns:1fr}.hero-showcase{min-height:180px}.hero-scene{height:200px}.bee-illustration{width:100px;height:100px;margin:-50px 0 0 -50px}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.purchase-option{align-items:start}.cart-line{grid-template-columns:68px 1fr}.cart-line-total{grid-column:2}.quantity-form{grid-column:2}.product-description,.specification-card{padding:22px}}

/* Compact product-first homepage */
.home-page { background:#fff; }
.home-page .home-hero { padding:30px 0; background:radial-gradient(circle at 84% 20%,rgba(249,207,157,.72),transparent 24%),linear-gradient(135deg,#fffaf5,#fff3e6); }
.home-page .home-hero::before { width:260px; height:260px; }
.home-page .home-hero .hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(240px,.55fr); gap:32px; align-items:center; }
.home-page .home-hero h1 { max-width:560px; font-size:clamp(28px,3.2vw,38px); line-height:1.08; }
.home-page .home-hero .eyebrow { margin-bottom:10px; }
.home-page .home-hero .hero-copy > p:not(.eyebrow) { max-width:460px; margin-top:12px; font-size:14px; line-height:1.6; }
.home-page .home-hero .hero-actions { margin-top:18px; }
.home-page .home-hero .hero-showcase { min-height:220px; }
.home-page .home-hero .hero-banner-image { inset:0; border:5px solid rgba(255,255,255,.82); border-radius:24px; transform:none; box-shadow:0 22px 55px rgba(75,45,24,.15); }

.home-category-section { overflow:hidden; padding:25px 0 28px; border-top:1px solid #f2e6dc; border-bottom:1px solid var(--line); background:#fff; }
.compact-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.compact-section-heading h2 { margin:0; font-size:20px; letter-spacing:-.035em; }
.compact-section-heading a { color:var(--brand-dark); font-size:10px; font-weight:900; }

.home-page .home-products { padding:48px 0 54px; background:#fffaf8; }
.home-page .home-section-heading { margin-bottom:20px; }
.home-page .home-section-heading .eyebrow { margin-bottom:5px; font-size:9px; }
.home-page .home-section-heading h2 { font-size:clamp(27px,3vw,38px); }
.home-page .home-product-grid { grid-template-columns:repeat(auto-fill,minmax(210px,240px)); justify-content:start; gap:18px; }
.home-page .home-product-card { border-radius:16px; box-shadow:0 5px 20px rgba(70,45,25,.045); }
.home-page .home-product-card:hover { transform:translateY(-4px); box-shadow:0 13px 30px rgba(70,45,25,.1); }
.home-page .home-product-card .product-image { aspect-ratio:1; }
.home-page .home-product-card .product-badge { left:9px; top:9px; padding:4px 7px; font-size:8px; }
.home-page .home-product-card .product-placeholder { width:65px; height:65px; border-radius:19px; font-size:24px; }
.home-page .home-product-card .product-card-body { padding:15px 16px 17px; }
.home-page .home-product-card .product-card-body > p { margin-bottom:5px; font-size:9px; }
.home-page .home-product-card h3 { min-height:42px; display:-webkit-box; overflow:hidden; font-size:14px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home-page .home-product-card .price-row { gap:7px; margin-top:10px; }
.home-page .home-product-card .price-row strong { font-size:17px; }
.home-page .home-product-card .price-row del { font-size:11px; }

.home-page .home-promotions { padding:44px 0; background:#fff; }
.home-page .home-promotions .dynamic-promos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-page .home-promotions .promo-card { min-height:235px; padding:23px; border-radius:18px; }
.home-page .home-promotions .promo-card h3 { max-width:300px; font-size:clamp(22px,2.3vw,31px); }
.home-page .home-promotions .promo-card .eyebrow { margin-bottom:8px; font-size:8px; }
.home-page .home-promotions .promo-card a { display:inline-flex; margin-top:15px; color:#fff; font-size:10px; font-weight:900; }

.home-page .home-trust-strip { padding:15px 0 30px; background:#fff; }
.home-page .home-trust-strip .trust-grid { grid-template-columns:repeat(3,1fr); gap:10px; }
.home-page .home-trust-strip .trust-item { min-height:58px; padding:10px 13px; border-radius:13px; background:#fffaf8; }
.home-page .home-trust-strip .trust-icon { width:34px; height:34px; flex-basis:34px; border-radius:10px; font-size:10px; }
.home-page .home-trust-strip .trust-item strong { font-size:11px; }

@media(max-width:1050px){
  .home-page .home-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:32px}
  .home-page .home-product-grid{grid-template-columns:repeat(auto-fill,minmax(190px,225px))}
}
@media(max-width:820px){
  .home-page .home-hero{padding:34px 0 38px}
  .home-page .home-hero .hero-grid{grid-template-columns:1fr;gap:25px}
  .home-page .home-hero h1{font-size:38px}
  .home-page .home-hero .hero-showcase{width:min(100%,540px);min-height:280px;margin:0 auto}
  .home-page .home-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,190px))}
  .home-page .home-promotions .dynamic-promos{grid-template-columns:repeat(3,minmax(230px,1fr));overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}
  .home-page .home-promotions .promo-card{scroll-snap-align:start}
}
@media(max-width:640px){
  .home-page .home-hero{padding:27px 0 25px}
  .home-page .home-hero .hero-grid{grid-template-columns:1fr;gap:22px}
  .home-page .home-hero h1{font-size:34px;line-height:1.04}
  .home-page .home-hero .eyebrow{margin-bottom:9px;font-size:9px}
  .home-page .home-hero .hero-copy > p:not(.eyebrow){margin-top:13px;font-size:13px;line-height:1.55}
  .home-page .home-hero .hero-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
  .home-page .home-hero .hero-actions .button{min-height:43px;border-radius:11px;font-size:11px}
  .home-page .home-hero .hero-showcase{min-height:180px}
  .home-page .home-hero .hero-banner-image{border-width:3px;border-radius:16px}
  .home-page .home-hero .hero-scene{height:190px}
  .home-page .home-hero .bee-illustration{width:100px;height:100px;margin:-50px 0 0 -50px}
  .home-category-section{padding:19px 0 21px}
  .compact-section-heading{margin-bottom:11px}
  .compact-section-heading h2{font-size:17px}
  .home-page .home-products{padding:32px 0 38px}
  .home-page .home-section-heading{align-items:end;margin-bottom:15px}
  .home-page .home-section-heading h2{font-size:25px}
  .home-page .home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .home-page .home-product-card{border-radius:13px}
  .home-page .home-product-card .product-card-body{padding:9px 10px 11px}
  .home-page .home-product-card h3{min-height:38px;font-size:13px}
  .home-page .home-product-card .price-row{align-items:center;flex-wrap:wrap;margin-top:6px}
  .home-page .home-product-card .price-row strong{font-size:15px}
  .home-page .home-promotions{padding:30px 0}
  .home-page .home-promotions .dynamic-promos{grid-template-columns:repeat(3,minmax(78vw,1fr));gap:10px}
  .home-page .home-promotions .promo-card{min-height:205px;padding:20px;border-radius:15px}
  .home-page .home-promotions .promo-card h3{font-size:24px}
  .home-page .home-trust-strip{padding:8px 0 24px}
  .home-page .home-trust-strip .trust-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .home-page .home-trust-strip .trust-grid::-webkit-scrollbar{display:none}
  .home-page .home-trust-strip .trust-item{min-width:150px;flex:0 0 auto}
}

/* Storefront refinement */
.page-hero { padding:38px 0 31px; background:#fff8f2; }
.page-hero.compact h1 { font-size:clamp(31px,4vw,46px); }
.page-hero p:last-child { margin-top:11px; font-size:13px; }
.section { padding:58px 0; }
.button { min-height:44px; padding-inline:18px; border-radius:11px; font-size:12px; }

.product-grid { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:20px; }
.product-card { border-radius:18px; box-shadow:0 6px 22px rgba(60,40,20,.055); }
.product-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(60,40,20,.11); }
.product-image { aspect-ratio:1; }
.product-badge { left:11px; top:11px; padding:5px 8px; font-size:9px; }
.product-card-body { padding:15px 16px 17px; }
.product-card-body > p { margin-bottom:6px; font-size:10px; }
.product-card h3 { min-height:42px; display:-webkit-box; overflow:hidden; font-size:14px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.price-row { gap:8px; margin-top:11px; }
.price-row strong { font-size:17px; }
.price-row strong small { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.price-row del { font-size:11px; }
.stock-text { align-items:center; gap:6px; margin-top:9px; font-size:10px; font-weight:900; }
.stock-text.low { color:#a96d12; }
.stock-text i { width:6px; height:6px; display:inline-block; flex:0 0 6px; border-radius:50%; background:currentColor; }
.product-card-action { margin-top:8px; }

.shop-page .section { padding-top:38px; }
.shop-layout { grid-template-columns:205px minmax(0,1fr); gap:28px; }
.shop-sidebar { top:96px; gap:15px; }
.search-form label { margin-bottom:7px; font-size:11px; }
.search-form input { min-height:44px; padding:9px 11px; border-radius:9px 0 0 9px; font-size:13px; }
.search-form button { padding-inline:12px; border-radius:0 9px 9px 0; font-size:11px; }
.category-filter { gap:2px; padding:11px; border-radius:11px; }
.category-filter strong { margin:4px 8px 7px; font-size:11px; }
.category-filter a { padding:9px 9px; border-radius:7px; font-size:12px; }
.results-bar { margin-bottom:13px; }
.shop-results .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

.product-view-section { padding:30px 0 64px; background:#fff; }
.product-page .breadcrumbs { margin-bottom:20px; }
.product-page .product-detail-grid { grid-template-columns:minmax(0,590px) minmax(380px,1fr); gap:64px; max-width:1180px; margin-inline:auto; }
.product-image-stage { position:relative; }
.product-page .detail-image { width:100%; padding:0; border:1px solid var(--line); border-radius:20px; background:#fdf6f0; box-shadow:none; cursor:zoom-in; }
.product-page .detail-image:focus-visible { outline:3px solid var(--brand-soft); outline-offset:3px; }
.image-zoom-hint,.gallery-count { position:absolute; z-index:2; bottom:13px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(35,27,31,.72); font-size:10px; font-weight:800; pointer-events:none; }
.image-zoom-hint { right:13px; }
.gallery-count { left:13px; }
.product-page .gallery-thumbs { display:flex; gap:9px; margin-top:10px; overflow-x:auto; padding:2px 2px 5px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.product-page .gallery-thumbs button { width:76px; flex:0 0 76px; border-radius:10px; scroll-snap-align:start; }
.gallery-lightbox[hidden] { display:none; }
.gallery-lightbox { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:30px; background:rgba(20,16,18,.9); }
.gallery-lightbox > button { position:absolute; top:18px; right:20px; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(0,0,0,.32); font-size:28px; }
.gallery-lightbox img { max-width:min(92vw,1100px); max-height:90vh; object-fit:contain; }
body.gallery-open { overflow:hidden; }
.product-page .detail-copy { padding-top:8px; }
.product-page .detail-copy .eyebrow { margin-bottom:9px; font-size:10px; }
.product-page .detail-copy h1 { max-width:620px; font-size:clamp(34px,3.6vw,48px); line-height:1.08; }
.product-page .detail-price { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:17px; }
.product-page .detail-price strong { font-size:30px; letter-spacing:-.04em; }
.product-page .detail-price del { font-size:15px; }
.price-saving { padding:5px 8px; border-radius:999px; color:#116448; background:#e5f5ee; font-size:10px; font-weight:900; }
.product-short-description { max-width:620px; margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.product-page .product-quick-facts { gap:8px; margin:17px 0 2px; }
.product-page .product-quick-facts span { min-width:105px; padding:10px 12px; border-radius:11px; }
.product-page .product-quick-facts strong { font-size:14px; }
.product-page .product-buy-form { gap:14px; margin-top:20px; }
.product-page .purchase-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.product-page .purchase-options legend { grid-column:1/-1; margin-bottom:0; font-size:13px; }
.product-page .purchase-option { min-height:68px; padding:12px 13px 12px 42px; border-radius:12px; }
.product-page .purchase-option input { left:13px; width:17px; height:17px; }
.product-page .purchase-option strong { font-size:13px; }
.product-page .purchase-option small { margin-top:2px; font-size:10px; }
.product-page .purchase-option .option-stock-note { margin-top:4px; color:var(--danger); font-size:9px; font-weight:900; }
.product-page .purchase-option b { font-size:14px; }
.product-page .purchase-option em { margin-bottom:3px; padding:3px 6px; font-size:8px; }
.product-page .bundle-options { margin-top:3px; padding-top:12px; border-top:1px solid var(--line); }
.product-stock-notice { width:max-content; max-width:100%; padding:8px 11px; border:1px solid transparent; border-radius:999px; font-size:11px; font-weight:900; }
.product-stock-notice[hidden] { display:none; }
.product-stock-notice.in-stock { color:#176246; border-color:#cde9dd; background:#ecf8f3; }
.product-stock-notice.sold-out { color:#9d263e; border-color:#f0c9d1; background:#fff1f4; }
.product-stock-notice.low-stock { color:#8b5a10; border-color:#efd9ad; background:#fff8e9; }
.product-purchase-actions { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; align-items:end; }
.product-quantity-control { display:grid; gap:7px; }
.product-quantity-control > label { color:var(--muted); font-size:11px; font-weight:800; }
.quantity-selector { height:52px; display:grid!important; grid-template-columns:42px minmax(0,1fr) 42px; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#fff; }
.quantity-selector button { border:0; color:var(--text); background:#fff; font-size:18px; }
.quantity-selector button:hover { background:#fdf1e6; }
.product-quantity-control input { width:100%; height:50px; margin:0; padding:0 4px; border:0; border-inline:1px solid var(--line); border-radius:0; background:#fff; font-weight:800; text-align:center; outline:none; -moz-appearance:textfield; }
.product-quantity-control input::-webkit-outer-spin-button,.product-quantity-control input::-webkit-inner-spin-button { margin:0; -webkit-appearance:none; }
.product-quantity-control input:focus { border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft); }
.product-add-button { width:100%; height:52px; font-size:14px; }
.product-sold-button { width:100%; min-height:52px; border:1px solid #e6dcd2; color:#8b7d73; background:#f5f0ea; cursor:not-allowed; }
.product-purchase-notes { display:flex; flex-wrap:wrap; gap:7px 16px; padding-top:13px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.product-purchase-notes span::before { content:'✓'; margin-right:5px; color:var(--success); font-weight:900; }
.product-purchase-notes a { color:var(--brand-dark); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.wishlist-button { margin-top:10px; color:var(--brand-dark); }
.product-page .product-information-grid { grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:17px; max-width:1120px; margin:38px auto 0; }
.product-page .product-information-grid.single-column { grid-template-columns:1fr; }
.product-page .product-description,.product-page .specification-card { padding:23px; border-radius:15px; box-shadow:none; }
.product-page .product-description h2,.product-page .specification-card h2 { margin-bottom:13px; font-size:20px; }
.product-page .product-description h3 { margin:21px 0 10px; font-size:14px; }
.product-page .product-description p { color:var(--muted); font-size:13px; line-height:1.75; }
.product-page .feature-list { gap:6px; margin-top:16px; font-size:12px; }
.related-products-section { padding:44px 0 52px; background:#fff8f2; }
.related-products-section .section-heading { margin-bottom:18px; }
.related-products-section .section-heading h2 { font-size:clamp(25px,3vw,35px); }
.related-product-grid { grid-template-columns:repeat(auto-fill,minmax(200px,235px)); justify-content:start; gap:16px; }

.commerce-page-section { padding:42px 0 60px; background:#fff; }
.commerce-heading { margin-bottom:22px; }
.commerce-heading h1 { margin:0; font-size:clamp(30px,4vw,44px); letter-spacing:-.05em; }
.cart-layout,.checkout-grid { gap:22px; }
.cart-line { grid-template-columns:82px minmax(0,1fr) auto auto; gap:13px; padding:12px; border-radius:13px; }
.cart-line-image { width:82px; border-radius:10px; }
.cart-line-info h2 { font-size:13px; }
.order-summary { padding:19px; border-radius:15px; box-shadow:0 8px 24px rgba(70,45,25,.06); }
.form-panel { padding:20px; border-radius:15px; }
.form-panel h2 { margin-bottom:15px; font-size:17px; }
.form-panel input,.form-panel textarea { border-radius:9px; }
.payment-options > label { padding:12px; border-radius:10px; }


@media(max-width:1050px){
  .shop-results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-page .product-detail-grid{grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:34px}
}
@media(max-width:820px){
  .shop-page .page-hero{padding:29px 0 24px}
  .shop-layout{grid-template-columns:1fr;gap:18px}
  .shop-sidebar{position:static;display:grid;grid-template-columns:1fr;gap:10px}
  .category-filter{display:flex;overflow-x:auto;padding:7px;white-space:nowrap;scrollbar-width:none}
  .category-filter::-webkit-scrollbar{display:none}
  .category-filter strong{display:none}
  .category-filter a{flex:0 0 auto}
  .shop-results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-page .product-detail-grid{grid-template-columns:1fr;gap:24px}
  .product-page .product-gallery{width:min(100%,620px);margin-inline:auto}
  .product-page .detail-copy{padding-top:0}
  .product-page .product-information-grid{grid-template-columns:1fr}
  .related-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .page-hero{padding:27px 0 23px}
  .page-hero.compact h1{font-size:30px}
  .page-hero p:last-child{font-size:11px;line-height:1.55}
  .section{padding:38px 0}
  .product-grid,.shop-results .product-grid,.related-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .product-card{border-radius:13px}
  .product-card-body{padding:11px 12px 13px}
  .product-card h3{min-height:37px;font-size:13px}
  .price-row strong{font-size:15px}
  .product-view-section{padding:18px 0 38px}
  .product-page .breadcrumbs{margin-bottom:13px;font-size:9px}
  .product-page .detail-image{border-radius:13px}
  .product-page .gallery-thumbs{display:flex;margin-inline:-2px}
  .product-page .gallery-thumbs button{width:64px;flex-basis:64px}
  .image-zoom-hint{display:none}
  .gallery-lightbox{padding:14px}
  .product-page .detail-copy h1{font-size:30px}
  .product-page .detail-price strong{font-size:26px}
  .product-short-description{font-size:13px;line-height:1.65}
  .product-page .purchase-options{grid-template-columns:1fr}
  .product-page .purchase-option{align-items:center}
  .product-purchase-actions{grid-template-columns:126px minmax(0,1fr);gap:9px}
  .quantity-selector,.product-add-button{height:50px}
  .quantity-selector{grid-template-columns:36px minmax(0,1fr) 36px}
  .product-quantity-control input{height:48px}
  .product-purchase-notes{gap:7px 12px;font-size:9px}
  .product-page .product-information-grid{margin-top:28px}
  .product-page .product-description,.product-page .specification-card{padding:17px}
  .related-products-section{padding:33px 0 40px}
  .commerce-page-section{padding:30px 0 45px}
  .cart-layout,.checkout-grid{grid-template-columns:1fr}
  .cart-line{grid-template-columns:68px minmax(0,1fr);gap:10px}
  .cart-line-image{width:68px}
  .cart-line .quantity-form,.cart-line-total{grid-column:2}
  .order-summary.sticky{position:static}
  .form-grid.two{grid-template-columns:1fr}
}
