:root {
  --ink: #281a21;
  --muted: #74666d;
  --berry: #6f2448;
  --berry-dark: #46142e;
  --berry-soft: #f4e4eb;
  --marigold: #e99a3e;
  --accent-soft: #faead7;
  --on-primary: #fff;
  --on-accent: #281a21;
  --theme-link: #6f2448;
  --theme-accent-link: #82411d;
  --saffron: #f4b25e;
  --sage: #dce8dc;
  --green: #20745b;
  --cream: #fff9f1;
  --paper: #fffdf9;
  --line: #e9ded5;
  --white: #fff;
  --shadow-sm: 0 8px 28px rgba(67, 35, 48, .08);
  --shadow-lg: 0 24px 72px rgba(67, 35, 48, .16);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 32px;
  --shell: min(1320px, calc(100vw - 48px));
  --display: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Checkout settings and stock feedback share the active storefront theme tokens. */
.checkout-availability,
.delivery-settings-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.55;
}
.delivery-settings-note {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
}
.delivery-threshold-note {
  margin: -9px 0 18px;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.45;
}
.checkout-method-note {
  display: grid;
  gap: 3px;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--muted);
  background: var(--paper);
  font-size: .62rem;
  line-height: 1.45;
}
.checkout-method-note strong {
  color: var(--ink);
  font-size: .68rem;
}
.checkout-method-note.is-available {
  border-color: var(--green);
  background: #e9f2ec;
}
.checkout-method-note.is-available strong { color: var(--green); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open, body.drawer-open { overflow: hidden; }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; }
.product-gallery, .product-info { min-width: 0; }
.storefront-body:has(.product-page) .whatsapp-float,
.storefront-body:has(.cart-page) .whatsapp-float,
.storefront-body:has(.whatsapp-order-page) .whatsapp-float,
.storefront-body:has(.account-page) .whatsapp-float { display: none; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.035em; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: 88px; }
.page-shell { padding-block: 28px 90px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 12px 18px; background: var(--white); border-radius: 8px; box-shadow: var(--shadow-lg); }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid rgba(233, 154, 62, .75); outline-offset: 3px; }
.eyebrow, .portal-eyebrow { display: block; margin-bottom: 12px; color: var(--theme-link); font-size: .73rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border: 0; border-radius: 999px; font-weight: 750; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--on-primary); background: var(--berry); box-shadow: 0 10px 24px rgba(111, 36, 72, .24); }
.button-primary:hover { background: var(--berry-dark); box-shadow: 0 14px 30px rgba(111, 36, 72, .3); }
.button-light { color: var(--berry-dark); background: var(--white); }
.button-full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--theme-link); font-weight: 750; text-decoration: underline; text-decoration-color: color-mix(in srgb,currentColor 35%,transparent); text-underline-offset: 5px; }
.text-link:hover { text-decoration-color: currentColor; }

/* Store chrome */
.announcement-bar { color: #fff9ee; background: var(--berry-dark); font-size: .75rem; font-weight: 650; letter-spacing: .02em; }
.announcement-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; }
.announcement-secondary { color: #eec9da; }
.site-header { position: relative; z-index: 50; background: rgba(255,253,249,.96); box-shadow: 0 1px 0 rgba(55,27,39,.1); }
.header-main { height: 78px; display: grid; grid-template-columns: 245px minmax(280px, 640px) 245px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand img { width: 44px; height: 44px; }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-family: var(--display); color: var(--berry-dark); font-size: 1.35rem; font-weight: 600; letter-spacing: -.03em; }
.brand-copy small { margin-top: 6px; color: #9a6b7f; font-size: .58rem; font-weight: 800; letter-spacing: .22em; }
.header-search { height: 46px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; padding-left: 16px; border: 1px solid var(--line); border-radius: 999px; background: #f9f4ee; transition: border .2s, box-shadow .2s; }
.header-search:focus-within { border-color: #c690aa; box-shadow: 0 0 0 4px rgba(111,36,72,.08); background: var(--white); }
.header-search svg, .header-action svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.header-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.header-search input::placeholder { color: #9b8c92; }
.header-search button { height: 34px; margin-right: 6px; padding: 0 16px; border: 0; border-radius: 999px; color: var(--on-primary); background: var(--berry); font-size: .78rem; font-weight: 750; }
.header-actions { display: flex; justify-content: flex-end; gap: 24px; }
.header-action { position: relative; display: flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 700; white-space: nowrap; }
.header-account-form { margin: 0; }
.header-account-form .header-action { padding: 0; border: 0; color: inherit; background: transparent; }
.mobile-account-form { margin: 0; }
.mobile-account-form button { min-height: 44px; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; }
.header-action:hover { color: var(--theme-link); }
.bag-action b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 99px; color: var(--white); background: var(--berry); font-size: .65rem; }
.desktop-nav-wrap { border-top: 1px solid #f1e8e1; }
.category-nav { height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 18px; overflow-x: auto; scrollbar-width: none; }
.category-nav a { position: relative; flex: none; padding-block: 15px 12px; font-size: .78rem; font-weight: 700; color: #584950; }
.category-nav a:hover, .category-nav a.is-active { color: var(--theme-link); }
.category-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--berry); }
.category-nav .nav-highlight { color: #a24b20; }
.mobile-only, .mobile-menu, .menu-scrim, .mobile-bottom-nav { display: none; }

/* Homepage */
.home-hero { position: relative; min-height: 630px; display: grid; align-items: center; overflow: hidden; background: #d8b078; }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% 57%; }
.hero-photo-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,248,235,.97) 0%, rgba(255,247,231,.88) 31%, rgba(255,246,228,.25) 57%, rgba(52,20,26,.06) 100%); }
.hero-content { position: relative; z-index: 1; }
.hero-copy { width: min(570px, 48vw); padding-block: 70px; }
.hero-copy .eyebrow { color: #82411d; }
.hero-copy h1 { margin-bottom: 24px; font-size: clamp(3.2rem, 5.7vw, 5.8rem); line-height: .94; color: #3f1c2e; }
.hero-copy h1 em { color: var(--berry); font-weight: 500; }
.hero-copy > p { max-width: 500px; margin-bottom: 30px; color: #5f4b4b; font-size: 1.07rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.hero-proof { margin-top: 48px; display: flex; gap: 0; color: #655253; font-size: .77rem; }
.hero-proof span { padding: 0 20px; border-left: 1px solid rgba(83,48,50,.2); }
.hero-proof span:first-child { padding-left: 0; border: 0; }
.hero-proof b { display: block; margin-bottom: 3px; color: #382127; font-family: var(--display); font-size: 1.12rem; }
.service-ribbon { border-block: 1px solid var(--line); background: var(--paper); }
.service-grid { min-height: 94px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.service-grid > div { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px 22px; border-left: 1px solid var(--line); }
.service-grid > div:first-child { border-left: 0; }
.service-grid > div > span { width: 34px; height: 34px; display: grid; flex: none; place-items: center; border-radius: 50%; color: var(--berry); background: var(--berry-soft); }
.service-grid p { display: grid; gap: 3px; margin: 0; }
.service-grid strong { font-family: var(--display); font-size: .97rem; }
.service-grid small { color: var(--muted); font-size: .7rem; }
.section-heading { margin-bottom: 34px; }
.section-heading h2 { margin: 0; font-size: clamp(2.25rem, 4vw, 3.4rem); line-height: 1.05; }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.split-heading > p { max-width: 440px; margin: 0 0 3px; color: var(--muted); line-height: 1.7; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.category-card { position: relative; min-height: 280px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 22px; border-radius: var(--radius); isolation: isolate; transition: transform .25s, box-shadow .25s; }
.category-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.category-card:nth-child(1), .category-card:nth-child(5) { grid-column: span 2; }
.category-card:nth-child(1) { min-height: 360px; }
.category-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.category-card:hover img { transform: scale(1.04); }
.category-photo-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(25,12,18,.04) 20%, rgba(36,14,25,.82) 100%); }
.category-card.has-photo { color: var(--white); }
.category-card.has-photo .category-count, .category-card.has-photo p { color: rgba(255,255,255,.76); }
.category-card.has-photo .category-symbol, .category-card.has-photo .category-arrow { color: var(--berry-dark); background: rgba(255,255,255,.92); }
.category-symbol { position: absolute; left: 20px; top: 20px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.68); color: var(--berry); font-size: 1.2rem; }
.category-count { margin-bottom: 8px; color: #76616a; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.category-card h3 { margin: 0 44px 7px 0; font-family: var(--display); font-size: 1.55rem; line-height: 1.05; }
.category-card p { max-width: 300px; margin: 0; color: #6e5961; font-size: .78rem; line-height: 1.5; }
.category-arrow { position: absolute; right: 20px; bottom: 20px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.68); }
.theme-rose { background: #f4dce5; }.theme-plum { background: #dbcbd8; }.theme-indigo { background: #d7d9eb; }.theme-sun { background: #f7e4ae; }.theme-sage { background: #dce8dc; }.theme-sky { background: #dbe9ec; }.theme-saffron { background: #f5d4a7; }
.section-tint { background: #f5eee8; }
.product-grid { display: grid; gap: 20px; }
.product-grid-four { grid-template-columns: repeat(4, 1fr); }
.product-card { min-width: 0; }
.product-image-wrap { position: relative; display: block; overflow: hidden; border-radius: var(--radius) var(--radius) 8px 8px; background: #efe6df; }
.product-image-wrap > a { display: block; }
.product-image-wrap > a > img { width: 100%; aspect-ratio: 6 / 7; object-fit: cover; transition: transform .45s; }
.product-card:hover .product-image-wrap > a > img { transform: scale(1.035); }
.product-badge { position: absolute; left: 12px; top: 12px; padding: 7px 11px; border-radius: 999px; color: var(--berry-dark); background: rgba(255,255,255,.9); backdrop-filter: blur(8px); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.wish-button { position: absolute; right: 12px; top: 12px; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--berry); background: rgba(255,255,255,.9); font-size: 1.35rem; transition: transform .2s, color .2s; }
.wish-button:hover, .wish-button.is-saved { transform: scale(1.07); color: #c52b5e; }
.product-card-body { padding: 15px 4px 4px; }
.product-category { color: var(--berry); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card h3 { margin: 6px 0; font-family: var(--display); font-size: 1.25rem; }
.product-card h3 a:hover { color: var(--berry); }
.product-desc { min-height: 39px; margin-bottom: 9px; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.rating-row { color: #795f63; font-size: .72rem; }
.rating-row > span { color: #d98a26; }.rating-row small { color: #97898e; }
.product-buy-row { min-height: 45px; display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-top: 8px; }
.price-stack { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.price-stack strong { font-size: 1.02rem; }.price-stack span { color: #998b90; font-size: .73rem; text-decoration: line-through; }.price-stack em { color: var(--green); font-size: .68rem; font-style: normal; font-weight: 800; }
.quick-add { width: 40px; height: 40px; border: 1px solid var(--berry); border-radius: 50%; color: var(--on-primary); background: var(--berry); font-size: 1.4rem; line-height: 1; transition: transform .2s, background .2s; }
.quick-add:hover { transform: rotate(90deg); background: var(--berry-dark); }
.sold-out { color: var(--muted); font-size: .72rem; font-weight: 700; }
.bundle-card { position: relative; min-height: 480px; display: grid; grid-template-columns: .88fr 1.35fr; overflow: hidden; border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 10% 12%, rgba(255,188,118,.28), transparent 30%), linear-gradient(135deg, #4a1834, #76264c 60%, #a04853); }
.bundle-card::after { content: ""; position: absolute; width: 360px; height: 360px; right: -140px; top: -170px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 52px rgba(255,255,255,.03), 0 0 0 104px rgba(255,255,255,.025); }
.bundle-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 60px; }
.bundle-copy .eyebrow { color: #f7bf76; }.bundle-copy h2 { margin-bottom: 16px; font-size: clamp(2.5rem,4vw,4rem); }.bundle-copy p { max-width: 440px; color: #ebcedb; line-height: 1.7; }
.bundle-price { display: flex; align-items: baseline; gap: 12px; margin: 10px 0 26px; }.bundle-price strong { font-family: var(--display); font-size: 2rem; }.bundle-price span { color: #d6aabc; text-decoration: line-through; }
.bundle-products { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 38px; }
.bundle-products a { width: min(46%, 270px); transform: rotate(-3deg); }.bundle-products a:nth-child(2) { transform: rotate(4deg) translateY(18px); }
.bundle-products img { width: 100%; aspect-ratio: 6 / 7; object-fit: cover; border: 8px solid var(--white); border-radius: 9px; box-shadow: 0 20px 45px rgba(22,4,13,.3); }
.bundle-products a span { display: block; margin-top: 12px; color: #f6dfe9; text-align: center; font-family: var(--display); }
.bundle-plus { width: 46px; height: 46px; display: grid; flex: none; place-items: center; border-radius: 50%; color: var(--berry); background: var(--white); font-size: 1.5rem; font-weight: 700; }
.story-banner { padding-block: 82px; color: #fdf6eb; background: #203e38; }
.story-banner-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 9vw; }
.story-visual { position: relative; height: 430px; overflow: hidden; border-radius: 48% 48% 18px 18px; background: linear-gradient(160deg,#e5b86a,#a34a3c); }
.story-arch { position: absolute; left: 50%; top: 50%; width: 48%; height: 68%; display: grid; place-content: center; transform: translate(-50%,-42%); border: 2px solid rgba(255,255,255,.6); border-radius: 48% 48% 8px 8px; text-align: center; }.story-arch b { font-family: var(--display); font-size: 3.5rem; }.story-arch small { letter-spacing: .15em; text-transform: uppercase; }
.story-sun { position: absolute; width: 200px; height: 200px; right: -35px; top: -35px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.05), 0 0 0 70px rgba(255,255,255,.04); }
.story-leaf { position: absolute; width: 34px; height: 120px; border: solid rgba(255,255,255,.45); border-width: 0 0 2px 2px; border-radius: 0 0 0 100%; }.leaf-one { left: 40px; bottom: 34px; transform: rotate(-20deg); }.leaf-two { right: 42px; bottom: 30px; transform: scaleX(-1) rotate(-15deg); }
.story-copy .eyebrow { color: #efb95d; }.story-copy h2 { font-size: clamp(2.8rem,5vw,4.7rem); line-height: .98; }.story-copy h2 em { color: #f0b760; font-weight: 500; }.story-copy > p { max-width: 650px; color: #c8d8d2; font-size: 1rem; line-height: 1.8; }
.story-values { display: flex; gap: 24px; margin-top: 38px; }.story-values span { min-width: 130px; display: grid; gap: 8px; color: #d9e5e1; font-size: .8rem; }.story-values b { color: #efb95d; font-family: var(--display); font-size: 1.3rem; }
.journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.journal-card { overflow: hidden; border-radius: var(--radius); transition: transform .25s, box-shadow .25s; }.journal-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.journal-art { height: 220px; display: grid; place-items: center; background: radial-gradient(circle at center, rgba(255,255,255,.65), rgba(255,255,255,.06)); overflow: hidden; }.journal-art span { width: 100px; height: 100px; display: grid; place-items: center; border: 1px solid rgba(78,36,52,.25); border-radius: 50%; color: var(--berry); font-family: var(--display); font-size: 2.8rem; }.journal-cover-image { width: 100%; height: 100%; object-fit: cover; }.article-cover-image { width: min(520px,100%); aspect-ratio: 16 / 11; justify-self: center; border-radius: var(--radius-lg); object-fit: cover; box-shadow: var(--shadow-lg); }.journal-empty-state { min-height: 320px; display: grid; }.journal-empty-state .featured-story-copy { min-height: 320px; }
.journal-card-copy { padding: 24px; background: rgba(255,255,255,.55); }.journal-card-copy > span { color: var(--berry); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.journal-card h3 { margin: 10px 0; font-family: var(--display); font-size: 1.45rem; line-height: 1.15; }.journal-card p { color: var(--muted); font-size: .78rem; line-height: 1.6; }.journal-card b { color: var(--berry); font-size: .75rem; }
.newsletter-section { padding-block: 62px; background: #f2d9cf; }.newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.newsletter-inner h2 { margin: 0; font-size: clamp(2rem,3.4vw,3rem); }.newsletter-form { width: min(500px,45%); height: 58px; display: flex; padding: 4px; border-radius: 999px; background: var(--white); box-shadow: var(--shadow-sm); }.newsletter-form input { min-width: 0; flex: 1; padding: 0 20px; border: 0; outline: 0; background: transparent; }

/* Footer */
.site-footer { padding: 72px 0 100px; color: #d9c8d0; background: #2f1125; }.footer-grid { display: grid; grid-template-columns: 1.65fr repeat(3,1fr); gap: 54px; }.brand-inverse .brand-copy strong { color: var(--white); }.brand-inverse .brand-copy small { color: #d29bb5; }.footer-brand > p { margin: 24px 0 8px; color: #f1d9e4; font-family: var(--display); font-size: 1.35rem; }.footer-brand .footer-note { max-width: 320px; margin-top: 12px; color: #bfa7b2; font-family: var(--sans); font-size: .8rem; line-height: 1.65; }.site-footer section:not(.footer-brand) { display: flex; flex-direction: column; gap: 12px; }.site-footer h2 { margin-bottom: 7px; color: var(--white); font-family: var(--sans); font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.site-footer section a, .site-footer section p, .site-footer section span { color: #c4afb9; font-size: .8rem; line-height: 1.5; }.site-footer section a:hover { color: var(--white); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 58px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #947d88; font-size: .68rem; }
.whatsapp-float { position: fixed; z-index: 40; right: 22px; bottom: 22px; min-height: 50px; display: flex; align-items: center; gap: 10px; padding: 0 18px; border-radius: 999px; color: var(--white); background: #167e5c; box-shadow: 0 12px 36px rgba(18,89,66,.32); font-size: .76rem; font-weight: 800; }.whatsapp-float svg { width: 24px; fill: currentColor; }
.toast-message { position: fixed; z-index: 100; left: 50%; bottom: 26px; transform: translateX(-50%); padding: 13px 22px; border-radius: 999px; color: var(--white); background: #2a1a22; box-shadow: var(--shadow-lg); font-size: .82rem; animation: toast-in .3s ease-out; } @keyframes toast-in { from { opacity: 0; transform: translate(-50%,20px); } }

/* Catalog */
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 22px; color: #93848a; font-size: .72rem; }.breadcrumbs a:hover { color: var(--berry); }.breadcrumbs span:last-child { color: #4f3d45; }
.catalog-header { position: relative; min-height: 230px; display: flex; align-items: end; justify-content: space-between; overflow: hidden; padding: 42px; border-radius: var(--radius-lg); background: radial-gradient(circle at 85% 10%,#f9dcae 0 5%,transparent 6%), linear-gradient(135deg,#f5dedf,#f3e9db); isolation: isolate; }.catalog-header > div { max-width: 670px; }.catalog-header h1, .page-heading h1 { margin-bottom: 10px; font-size: clamp(2.6rem,5vw,4.7rem); line-height: 1; }.catalog-header p { max-width: 600px; margin: 0; color: var(--muted); line-height: 1.65; }.catalog-count { flex: none; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.7); font-size: .72rem; font-weight: 750; }
.catalog-header-photo { min-height: 330px; color: var(--white); }.catalog-header-photo > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }.catalog-header-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(38,15,28,.88),rgba(52,19,36,.25) 70%); }.catalog-header-photo .eyebrow { color: #f6c47d; }.catalog-header-photo p { color: #f0dfe7; }.catalog-header-photo .catalog-count { color: var(--ink); }
.category-chips { display: flex; gap: 9px; padding-block: 25px; overflow-x: auto; scrollbar-width: none; }.category-chips a { flex: none; padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: .72rem; font-weight: 700; }.category-chips a:hover, .category-chips a.is-selected { border-color: var(--berry); color: var(--white); background: var(--berry); }
.catalog-toolbar { min-height: 62px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding-block: 12px; border-block: 1px solid var(--line); color: var(--muted); font-size: .76rem; }.catalog-toolbar form { display: flex; align-items: center; gap: 10px; }.catalog-toolbar select { padding: 9px 34px 9px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--paper); }.filter-mobile-button { display: none; }
.catalog-layout { display: grid; grid-template-columns: 230px 1fr; gap: 36px; }.filters-panel { align-self: start; }.filter-head { display: flex; align-items: center; justify-content: space-between; }.filter-head h2 { margin: 0; font-family: var(--sans); font-size: .9rem; }.filter-head button { display: none; }.filters-panel details { padding-block: 18px; border-bottom: 1px solid var(--line); }.filters-panel summary { display: flex; justify-content: space-between; font-size: .78rem; font-weight: 800; list-style: none; }.filters-panel summary::after { content: "+"; font-size: 1rem; }.filters-panel details[open] summary::after { content: "−"; }.range-display { display: flex; justify-content: space-between; margin-top: 18px; color: var(--muted); font-size: .68rem; }.filters-panel input[type=range] { accent-color: var(--berry); width: 100%; }.filter-checks { display: grid; gap: 11px; margin-top: 15px; }.filter-checks label { display: flex; align-items: center; gap: 9px; color: #5e4d55; font-size: .72rem; }.filter-checks input { accent-color: var(--berry); }.filter-checks small { margin-left: auto; color: #a09297; }.filter-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.filter-pills button { min-width: 39px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font-size: .68rem; }.filter-pills button:hover { border-color: var(--berry); color: var(--berry); }.filter-apply { display: none; }.catalog-product-grid { grid-template-columns: repeat(3,1fr); }.pagination { display: flex; justify-content: center; gap: 7px; margin-top: 54px; }.pagination a, .pagination button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); font-size: .72rem; }.pagination .is-current { color: var(--white); background: var(--berry); border-color: var(--berry); }.empty-state { min-height: 390px; display: grid; place-content: center; justify-items: center; padding: 40px; border: 1px dashed #d9c9cd; border-radius: var(--radius); text-align: center; }.empty-state > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; color: var(--berry); background: var(--berry-soft); font-size: 1.8rem; }.empty-state h2 { margin: 20px 0 8px; font-size: 2rem; }.empty-state p { max-width: 420px; color: var(--muted); }

/* Product detail */
.product-detail-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(400px,.88fr); gap: clamp(44px,7vw,92px); }
.product-gallery { display: grid; grid-template-columns: 74px 1fr; gap: 14px; align-items: start; }
.product-main-image { position: relative; grid-column: 2; grid-row: 1; overflow: hidden; border-radius: var(--radius); background: #eee4dc; }
.product-main-image > img { width: 100%; aspect-ratio: 6 / 7; object-fit: cover; }
.product-main-image > span { position: absolute; left: 16px; top: 16px; padding: 8px 12px; border-radius: 99px; background: rgba(255,255,255,.9); color: var(--berry); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.product-main-image > button { position: absolute; right: 16px; top: 16px; width: 43px; height: 43px; border: 0; border-radius: 50%; color: var(--berry); background: rgba(255,255,255,.9); font-size: 1.5rem; }
.product-thumbs { grid-column: 1; grid-row: 1; display: grid; gap: 10px; }
.product-thumbs > span { width: 72px; aspect-ratio: 6 / 7; display: grid; place-content: center; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; color: var(--berry); background: #f3eae3; }
.product-thumbs > span.is-selected { border: 2px solid var(--berry); }
.product-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.product-thumbs small { font-size: .55rem; }
.product-info { padding-top: 10px; }
.product-info h1 { margin: 8px 0 12px; font-size: clamp(2.4rem,4.5vw,4rem); line-height: 1; }
.detail-rating { display: flex; align-items: center; gap: 10px; font-size: .74rem; }
.detail-rating b { padding: 6px 9px; border-radius: 7px; color: #6f4a12; background: #f8e6b9; }
.detail-rating a { color: var(--berry); text-decoration: underline; }
.detail-lead { margin: 20px 0; color: var(--muted); line-height: 1.65; }
.detail-price { display: flex; align-items: baseline; gap: 11px; }
.detail-price strong { font-family: var(--display); font-size: 2rem; }
.detail-price span { color: #95888d; font-size: .8rem; text-decoration: line-through; }
.detail-price em { color: var(--green); font-size: .75rem; font-style: normal; font-weight: 800; }
.tax-note { color: #95888d; }
.choice-group { margin: 28px 0 0; padding: 0; border: 0; }
.choice-group legend { width: 100%; display: flex; justify-content: space-between; margin-bottom: 12px; font-size: .75rem; font-weight: 800; }
.choice-group legend span { color: var(--muted); font-weight: 500; }
.choice-group legend button { padding: 0; border: 0; color: var(--berry); background: transparent; font-size: .7rem; font-weight: 700; text-decoration: underline; }
.color-options, .size-options { display: flex; flex-wrap: wrap; gap: 9px; }
.color-options button { width: 35px; height: 35px; border: 4px solid var(--cream); border-radius: 50%; box-shadow: 0 0 0 1px #c9b9bf; }
.color-options button.is-selected { box-shadow: 0 0 0 2px var(--berry); }
.color-1 { background: #8a264d; }
.color-2 { background: #24566d; }
.color-3 { background: #d79a3e; }
.size-options button { min-width: 54px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font-size: .72rem; }
.size-options button:hover, .size-options button.is-selected { border-color: var(--berry); color: var(--white); background: var(--berry); }
.stock-note { margin-top: 24px; padding: 12px 14px; border-radius: 10px; color: #3e5a4a; background: #e8f1e8; font-size: .73rem; }
.stock-note > span { margin-right: 6px; color: #3c9a6f; font-size: .6rem; }
.detail-buy-form { display: grid; grid-template-columns: auto 70px 1fr; align-items: center; gap: 9px; margin-top: 12px; }
.detail-buy-form label { font-size: .7rem; font-weight: 700; }
.detail-buy-form select { height: 50px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); }
.whatsapp-button { color: var(--white); background: #167e5c; box-shadow: 0 10px 24px rgba(22,126,92,.2); }
.product-info > .whatsapp-button { width: 100%; margin-top: 10px; }
.pincode-check { margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.pincode-check label { display: block; margin-bottom: 9px; font-size: .74rem; font-weight: 800; }
.pincode-check > div { display: flex; }
.pincode-check input { flex: 1; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px 0 0 9px; }
.pincode-check button { padding-inline: 18px; border: 0; border-radius: 0 9px 9px 0; color: var(--berry); background: var(--berry-soft); font-weight: 750; }
.pincode-check small { display: block; margin-top: 9px; color: var(--muted); font-size: .65rem; }
.product-accordions { margin-top: 24px; border-top: 1px solid var(--line); }
.product-accordions details { padding: 18px 0; border-bottom: 1px solid var(--line); }
.product-accordions summary { display: flex; justify-content: space-between; list-style: none; font-size: .78rem; font-weight: 800; }
.product-accordions summary::after { content: "+"; }
.product-accordions details[open] summary::after { content: "−"; }
.product-accordions p, .product-accordions ul { margin: 14px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.unavailable-box { margin-top: 24px; padding: 20px; border-radius: 14px; background: #f2e8e4; }
.unavailable-box p { color: var(--muted); font-size: .76rem; }
.unavailable-box form { display: flex; gap: 8px; }
.unavailable-box input { min-width: 0; flex: 1; padding: 12px; border: 1px solid var(--line); border-radius: 999px; }
.related-section { padding-bottom: 0; }

/* Cart and forms */
.page-heading { max-width: 720px; margin: 16px 0 38px; }.page-heading h1 small { color: var(--muted); font-family: var(--sans); font-size: .82rem; letter-spacing: 0; }.page-heading p { color: var(--muted); line-height: 1.7; }.centered-heading { margin-inline: auto; text-align: center; }.cart-layout { display: grid; grid-template-columns: 1fr 390px; gap: 48px; align-items: start; }.cart-lines { border-top: 1px solid var(--line); }.cart-lines-head { display: flex; justify-content: space-between; padding: 18px 0; color: var(--muted); }.cart-lines-head h2 { margin: 0; font-family: var(--sans); font-size: .78rem; }.cart-lines-head span { font-size: .7rem; }.cart-line { display: grid; grid-template-columns: 130px 1fr auto; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }.cart-line > a img { width: 130px; aspect-ratio: .84; object-fit: cover; border-radius: 12px; }.cart-line-copy > span { color: var(--green); font-size: .65rem; font-weight: 750; }.cart-line-copy h3 { margin: 7px 0; font-family: var(--display); font-size: 1.28rem; }.cart-line-copy p { color: var(--muted); font-size: .72rem; }.cart-line-copy form { display: inline-block; margin-right: 12px; }.cart-line-copy label { color: var(--muted); font-size: .68rem; }.cart-line-copy select { margin-left: 5px; padding: 6px 22px 6px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }.cart-line-copy form > button { padding: 0; border: 0; color: var(--berry); background: transparent; font-size: .69rem; text-decoration: underline; }.cart-line-price { display: grid; align-content: start; justify-items: end; gap: 5px; }.cart-line-price span { color: #9c8d92; font-size: .72rem; text-decoration: line-through; }.cart-line-price small { color: var(--green); font-size: .66rem; }.continue-shopping { display: inline-block; margin-top: 20px; color: var(--berry); font-size: .76rem; font-weight: 750; }.order-summary { position: sticky; top: 20px; padding: 30px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); }.summary-head h2 { margin: 0 0 24px; font-size: 2rem; }.order-summary dl { margin: 0 0 22px; }.order-summary dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; font-size: .75rem; }.order-summary dt { color: var(--muted); }.order-summary dd { margin: 0; font-weight: 700; }.order-summary .saving dd { color: var(--green); }.order-summary .summary-total { margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .92rem; }.summary-total dd { display: grid; justify-items: end; font-family: var(--display); font-size: 1.35rem; }.summary-total small { color: var(--muted); font-family: var(--sans); font-size: .58rem; font-weight: 400; }.or-divider { position: relative; margin: 18px 0; border-top: 1px solid var(--line); text-align: center; }.or-divider span { position: relative; top: -8px; padding: 0 10px; color: #9d8f94; background: var(--paper); font-size: .65rem; }.summary-trust { margin: 18px 0; color: var(--muted); font-size: .63rem; text-align: center; }.promo-entry { padding-top: 18px; border-top: 1px solid var(--line); }.promo-entry label { display: block; margin-bottom: 8px; font-size: .7rem; font-weight: 750; }.promo-entry > div { display: flex; }.promo-entry input { min-width: 0; flex: 1; padding: 10px; border: 1px solid var(--line); border-radius: 8px 0 0 8px; }.promo-entry button { padding: 0 13px; border: 1px solid var(--line); border-left: 0; border-radius: 0 8px 8px 0; color: var(--berry); background: var(--berry-soft); font-weight: 700; }
.checkout-steps { max-width: 700px; display: grid; grid-template-columns: repeat(3,1fr); margin: 0 auto 40px; padding: 0; list-style: none; }.checkout-steps li { position: relative; display: grid; justify-items: center; gap: 7px; color: #9b8d92; font-size: .67rem; }.checkout-steps li:not(:last-child)::after { content: ""; position: absolute; left: calc(50% + 22px); top: 16px; width: calc(100% - 44px); height: 1px; background: var(--line); }.checkout-steps b { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); }.checkout-steps .is-current { color: var(--berry); font-weight: 750; }.checkout-steps .is-current b { color: var(--white); background: var(--berry); border-color: var(--berry); }.whatsapp-order-layout { display: grid; grid-template-columns: 1fr 420px; gap: 34px; max-width: 1040px; margin-inline: auto; }.wa-form-card, .wa-order-card { padding: 32px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); }.wa-card-title { display: flex; gap: 15px; margin-bottom: 28px; }.wa-card-title > span { width: 42px; height: 42px; display: grid; flex: none; place-items: center; border-radius: 50%; color: var(--white); background: #167e5c; }.wa-card-title h2 { margin: 0 0 4px; font-size: 1.65rem; }.wa-card-title p { margin: 0; color: var(--muted); font-size: .72rem; }.form-field { margin-bottom: 18px; }.form-field > label, .field-label-row label { display: block; margin-bottom: 8px; font-size: .72rem; font-weight: 750; }.form-field input, .form-field textarea, .form-field select { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #fffefa; }.form-field input:focus, .form-field textarea:focus { border-color: #b87a98; box-shadow: 0 0 0 3px rgba(111,36,72,.08); }.form-field > span, .field-validation-error { display: block; margin-top: 6px; color: #ad2e3d; font-size: .66rem; }.phone-field { display: grid; grid-template-columns: 52px 1fr; }.phone-field span { display: grid; place-items: center; border: 1px solid var(--line); border-right: 0; border-radius: 10px 0 0 10px; background: #f4ece7; color: var(--muted); font-size: .76rem; }.phone-field input { border-radius: 0 10px 10px 0; }.consent-check { min-height: 44px; display: flex; align-items: flex-start; gap: 9px; margin: 6px 0 10px; padding-block: 6px; color: var(--muted); font-size: .68rem; line-height: 1.45; }.consent-check input { width: 18px; height: 18px; flex: none; accent-color: var(--berry); margin-top: 1px; }.checkout-submit-errors { margin-bottom: 14px; }.checkout-submit-errors:empty { display: none; }.checkout-submit-errors > .field-validation-error { margin: 0; padding: 10px 12px; border-left: 3px solid #ad2e3d; border-radius: 6px; background: #fff2f4; font-weight: 700; }.checkout-submit-errors .validation-summary { margin-bottom: 10px; }.form-privacy { margin: 14px 0 0; color: var(--muted); font-size: .62rem; line-height: 1.5; text-align: center; }.validation-summary { margin-bottom: 16px; padding: 10px; border-radius: 8px; color: #8f2434; background: #f9e6e8; font-size: .7rem; }.validation-summary:empty { display: none; }.wa-order-card { align-self: start; }.wa-order-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }.wa-order-head h2 { margin: 0; font-size: 1.5rem; }.wa-order-head a { color: var(--berry); font-size: .68rem; font-weight: 750; text-decoration: underline; }.wa-order-line { display: grid; grid-template-columns: 58px 1fr auto; gap: 11px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }.wa-order-line img { width: 58px; aspect-ratio: .84; object-fit: cover; border-radius: 8px; }.wa-order-line h3 { margin: 0 0 4px; font-family: var(--display); font-size: .95rem; }.wa-order-line p { margin: 0; color: var(--muted); font-size: .62rem; }.wa-order-line strong { font-size: .75rem; }.wa-order-card dl { padding: 14px 0; border-block: 1px solid var(--line); }.wa-order-card dl div { display: flex; justify-content: space-between; margin: 8px 0; font-size: .7rem; }.wa-order-card dd { margin: 0; font-weight: 750; }.wa-order-card dl div:last-child { font-size: .82rem; }.wa-assurance { display: flex; gap: 10px; padding: 13px; border-radius: 10px; background: #e9f2ec; }.wa-assurance > span { width: 25px; height: 25px; display: grid; flex: none; place-items: center; border-radius: 50%; color: var(--white); background: var(--green); }.wa-assurance p { display: grid; gap: 3px; margin: 0; }.wa-assurance strong { font-size: .7rem; }.wa-assurance small { color: #5c7668; font-size: .6rem; }.confirmation-page { display: grid; place-items: center; min-height: 70vh; }.confirmation-card { width: min(620px,100%); padding: 48px; border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-lg); text-align: center; }.success-mark { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: var(--white); background: var(--green); font-size: 1.8rem; }.confirmation-card h1 { font-size: clamp(2.3rem,5vw,3.6rem); }.confirmation-card > p { color: var(--muted); line-height: 1.65; }.reference-card { display: grid; gap: 5px; margin: 24px 0; padding: 18px; border: 1px dashed #c8a6b5; border-radius: 12px; background: var(--berry-soft); }.reference-card span, .reference-card small { color: var(--muted); font-size: .64rem; }.reference-card strong { color: var(--berry); font-size: 1.25rem; letter-spacing: .08em; }.confirmation-card > .button { width: 100%; }.confirmation-card > .text-link { margin-top: 18px; }.next-steps { margin-top: 32px; padding-top: 25px; border-top: 1px solid var(--line); text-align: left; }.next-steps h2 { font-family: var(--sans); font-size: .78rem; }.next-steps ol { display: grid; gap: 12px; padding: 0; list-style: none; }.next-steps li { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .7rem; }.next-steps b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: var(--berry); background: var(--berry-soft); }

/* Journal and account */
.journal-header { max-width: 800px; padding: 42px 0; }.journal-header h1 { margin-bottom: 20px; font-size: clamp(3.6rem,7vw,6.5rem); line-height: .9; }.journal-header h1 em { color: var(--berry); font-weight: 500; }.journal-header p { max-width: 620px; color: var(--muted); font-size: 1rem; line-height: 1.7; }.topic-nav { display: flex; gap: 9px; padding-bottom: 24px; overflow-x: auto; }.topic-nav a { flex: none; padding: 9px 14px; border-radius: 99px; color: var(--muted); font-size: .7rem; font-weight: 700; }.topic-nav a.is-selected { color: var(--white); background: var(--berry); }.featured-story { overflow: hidden; border-radius: var(--radius-lg); }.featured-story > a { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 430px; }.featured-story-art { display: grid; place-items: center; align-content: center; gap: 20px; background: radial-gradient(circle,rgba(255,255,255,.8),transparent 50%); }.featured-story-art span { width: 150px; height: 150px; display: grid; place-items: center; border: 1px solid rgba(73,29,47,.25); border-radius: 50%; color: var(--berry); font-size: 4.5rem; }.featured-story-art small { color: var(--berry); font-size: .65rem; font-weight: 800; letter-spacing: .25em; }.featured-story-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 50px; background: rgba(255,255,255,.55); }.featured-story-copy > span { color: var(--berry); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.featured-story-copy h2 { margin: 15px 0; font-size: clamp(2rem,4vw,3.4rem); line-height: 1; }.featured-story-copy p { color: var(--muted); line-height: 1.7; }.featured-story-copy b { color: var(--berry); font-size: .78rem; }.featured-story-copy > small { margin-top: 28px; color: var(--muted); font-size: .65rem; }.journal-grid-page { margin-top: 24px; }.journal-signup { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 24px; margin-top: 70px; padding: 38px; border-radius: var(--radius); background: #f1d8ce; }.journal-signup > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--berry); }.journal-signup h2 { margin: 0; font-size: 2rem; }.journal-signup form { display: flex; }.journal-signup input { min-width: 280px; padding: 14px 18px; border: 0; border-radius: 99px 0 0 99px; }.journal-signup button { border-radius: 0 99px 99px 0; }.article-hero { padding: 75px 0; }.article-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 8vw; }.article-hero h1 { max-width: 760px; margin: 16px 0; font-size: clamp(3rem,6vw,5.7rem); line-height: .95; }.article-hero p { max-width: 650px; color: #5d4d53; line-height: 1.7; }.article-hero small { color: #7a6970; }.article-hero-art { width: min(360px,100%); aspect-ratio: 1; display: grid; place-items: center; justify-self: center; border: 1px solid rgba(81,34,52,.2); border-radius: 50%; box-shadow: inset 0 0 0 35px rgba(255,255,255,.18); }.article-hero-art span { font-size: 6rem; }.article-hero-art b { position: absolute; margin-top: 170px; color: var(--berry); letter-spacing: .2em; }.article-layout { display: grid; grid-template-columns: 90px minmax(0,700px); justify-content: center; gap: 50px; padding-block: 72px; }.article-share { position: sticky; top: 30px; align-self: start; display: grid; justify-items: center; gap: 10px; }.article-share > span { color: var(--muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; writing-mode: vertical-rl; }.article-share button { width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--berry); background: var(--paper); }.article-body { font-family: var(--display); font-size: 1.12rem; line-height: 1.9; }.article-intro { color: var(--berry); font-size: 1.45rem; line-height: 1.6; }.article-body section { margin-top: 48px; }.article-body h2 { font-size: 2.1rem; }.article-body p { color: #5e4d54; }.article-tip { margin-block: 30px; padding: 26px 30px; border-left: 4px solid var(--marigold); background: #f6e8d7; }.article-tip span { color: #9b5b18; font-family: var(--sans); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.article-tip p { margin: 8px 0 0; }.article-end { display: grid; justify-items: center; gap: 8px; margin-top: 55px; color: var(--berry); }.article-end span { font-size: 2rem; }.article-end p { color: var(--berry); font-style: italic; }
.account-page { min-height: calc(100vh - 34px); display: grid; grid-template-columns: 1.05fr .95fr; background: var(--paper); }.account-art { position: relative; min-height: 730px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 75% 20%,rgba(245,179,92,.4),transparent 24%), linear-gradient(145deg,#3b132c,#77294c 62%,#a35451); }.account-art::before, .account-art::after { content: ""; position: absolute; width: 400px; height: 400px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }.account-art::before { right: -160px; top: -120px; box-shadow: 0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025); }.account-art::after { left: -230px; bottom: -250px; }.account-art-copy { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(45px,7vw,110px); }.account-art-copy > .brand { position: absolute; left: clamp(45px,7vw,110px); top: 45px; }.account-art-copy > .eyebrow { margin-top: 40px; color: #f4bd72; }.account-art-copy h1 { margin: 8px 0 24px; font-size: clamp(3rem,5vw,5rem); line-height: .95; }.account-art-copy h1 em { color: #f3b960; font-weight: 500; }.account-art-copy > p { max-width: 530px; color: #e5cbd7; line-height: 1.75; }.account-quote { max-width: 420px; display: flex; gap: 15px; margin-top: 50px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.18); }.account-quote > span { color: #f3b960; font-family: var(--display); font-size: 3rem; line-height: .6; }.account-quote p { color: #d9bdca; font-family: var(--display); font-size: 1.05rem; font-style: italic; line-height: 1.5; }.login-panel { position: relative; display: grid; place-items: center; padding: 80px 40px; }.account-back { position: absolute; left: 38px; top: 32px; color: var(--muted); font-size: .72rem; font-weight: 700; }.login-wrap { width: min(430px,100%); }.login-wrap h2 { margin: 4px 0 5px; font-size: 3rem; }.login-wrap > p { color: var(--muted); font-size: .76rem; }.login-wrap > p a, .field-label-row a { color: var(--berry); font-weight: 750; text-decoration: underline; }.social-login { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 26px 0; }.social-login button { height: 48px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); font-size: .7rem; font-weight: 750; }.social-login button span { display: inline-grid; width: 22px; height: 22px; place-items: center; margin-right: 7px; border-radius: 50%; font-weight: 900; }.google-mark { color: #4285f4; background: #f2f6ff; }.facebook-mark { color: var(--white); background: #1877f2; }.login-wrap .or-divider { margin: 25px 0; }.login-wrap .or-divider span { background: var(--paper); }.field-label-row { display: flex; justify-content: space-between; }.field-label-row a { font-size: .65rem; }.password-field { position: relative; }.password-field button { position: absolute; right: 8px; top: 8px; height: 30px; border: 0; color: var(--berry); background: transparent; font-size: .65rem; font-weight: 750; }.demo-notice { margin: 15px 0; padding: 12px; border-radius: 9px; color: #42584e; background: #e7f1e9; font-size: .68rem; line-height: 1.5; }.login-terms { margin-top: 17px; text-align: center; font-size: .63rem !important; }.staff-links { display: flex; justify-content: center; gap: 12px; margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .65rem; }.staff-links a { color: var(--berry); font-weight: 750; }.narrow-page { position: relative; min-height: 75vh; display: grid; place-items: center; }.simple-form-card { width: min(500px,100%); padding: 44px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-lg); text-align: center; }.simple-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; color: var(--berry); background: var(--berry-soft); }.simple-form-card h1 { font-size: 2.8rem; }.simple-form-card > p { color: var(--muted); line-height: 1.6; }.simple-form-card .form-field { text-align: left; }

/* Public trust and recovery pages. */
.legal-page { max-width: 1180px; }
.legal-hero { margin-top: 18px; padding: clamp(34px,6vw,72px); border-radius: var(--radius-lg); color: var(--on-primary); background: linear-gradient(135deg,var(--berry-dark),var(--berry)); box-shadow: var(--shadow-sm); }
.legal-hero .eyebrow { color: var(--on-primary); }
.legal-hero h1 { max-width: 780px; margin-bottom: 18px; font-size: clamp(2.8rem,6vw,5.4rem); line-height: .96; }
.legal-hero p { max-width: 690px; margin-bottom: 24px; color: var(--on-primary); font-size: 1rem; line-height: 1.7; }
.legal-hero small { color: var(--on-primary); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.legal-layout { display: grid; grid-template-columns: minmax(220px,300px) minmax(0,1fr); gap: clamp(24px,5vw,64px); align-items: start; margin-top: 42px; }
.legal-summary { position: sticky; top: 24px; display: grid; gap: 11px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); }
.legal-summary > span { color: var(--theme-link); font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-summary h2 { margin: 0; font-size: 1.65rem; }
.legal-summary p { margin: 0 0 5px; color: var(--ink); font-size: .78rem; line-height: 1.65; }
.legal-summary a { min-height: 32px; display: inline-flex; align-items: center; color: var(--theme-link); font-size: .76rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-summary small { padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); line-height: 1.55; }
.legal-content { padding: clamp(28px,5vw,58px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-sm); }
.legal-content section + section { margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--line); }
.legal-content h2 { margin-bottom: 12px; color: var(--ink); font-size: 1.8rem; }
.legal-content p, .legal-content li { color: var(--ink); font-size: .9rem; line-height: 1.85; }
.legal-content p { margin-bottom: 0; }
.legal-content ul { display: grid; gap: 9px; margin: 0; padding-left: 20px; }
.legal-content a, .payment-consent a { color: var(--theme-link); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.payment-consent label { line-height: 1.55; }
.error-page { min-height: 68vh; display: grid; place-items: center; }
.error-card { width: min(760px,100%); padding: clamp(34px,7vw,72px); border: 1px solid var(--line); border-top: 6px solid var(--marigold); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-lg); text-align: center; }
.error-card h1 { margin-bottom: 18px; font-size: clamp(2.5rem,6vw,4.6rem); line-height: 1; }
.error-card > p { max-width: 590px; margin: 0 auto; color: var(--ink); line-height: 1.7; }
.error-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 30px 0 22px; }
.error-secondary-action { color: var(--theme-link); border: 1px solid var(--line); background: var(--paper); }
.error-support a { color: var(--theme-link); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.error-reference { margin-top: 22px !important; padding-top: 18px; border-top: 1px solid var(--line); font-size: .68rem; }
.error-reference code { overflow-wrap: anywhere; color: var(--ink); }

/* Portal */
.portal-body { min-height: 100vh; background: #f4f1ef; --portal-side: 260px; }.portal-sidebar { position: fixed; z-index: 60; inset: 0 auto 0 0; width: var(--portal-side); display: flex; flex-direction: column; padding: 24px 18px 16px; color: #dbc8d1; background: #301025; overflow-y: auto; }.portal-brand-row { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 18px; }.portal-brand-row > button { display: none; border: 0; color: var(--white); background: transparent; font-size: 1.6rem; }.portal-scope { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.055); }.portal-scope > span { width: 34px; height: 34px; display: grid; place-items: center; flex: none; border-radius: 9px; color: var(--berry-dark); background: #efb45d; font-family: var(--display); font-weight: 800; }.portal-scope div { min-width: 0; display: grid; gap: 3px; }.portal-scope strong { overflow: hidden; color: var(--white); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.portal-scope small { color: #ae909f; font-size: .58rem; }.portal-nav { display: grid; gap: 3px; margin-top: 18px; }.portal-nav > span { margin: 17px 12px 6px; color: #816474; font-size: .56rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.portal-nav a { min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 9px; color: #c7afbb; font-size: .69rem; font-weight: 650; }.portal-nav a:hover { color: var(--white); background: rgba(255,255,255,.06); }.portal-nav a.is-active { color: var(--white); background: #70264b; box-shadow: inset 3px 0 #f0b45f; }.portal-nav i { width: 20px; color: #c08aa4; font-style: normal; font-size: 1rem; text-align: center; }.portal-nav a.is-active i { color: #f1b863; }.portal-nav b { min-width: 20px; height: 20px; display: grid; place-items: center; margin-left: auto; border-radius: 99px; color: #e4bdcf; background: rgba(255,255,255,.1); font-size: .57rem; }.portal-nav .warning-count { color: #3e2810; background: #e8ad56; }.portal-side-footer { margin-top: auto; padding-top: 30px; }.portal-health { display: flex; align-items: center; gap: 10px; padding: 10px; border-top: 1px solid rgba(255,255,255,.1); }.portal-health > span { width: 8px; height: 8px; border-radius: 50%; background: #54c794; box-shadow: 0 0 0 4px rgba(84,199,148,.12); }.portal-health p { display: grid; gap: 3px; margin: 0; }.portal-health strong { color: #d7c3cd; font-size: .61rem; }.portal-health small { color: #856b78; font-size: .54rem; }.portal-side-footer > a { display: flex; justify-content: space-between; padding: 12px 10px 0; color: #b89daa; font-size: .64rem; }.portal-frame { min-height: 100vh; margin-left: var(--portal-side); }.portal-topbar { position: sticky; z-index: 30; top: 0; height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 30px; border-bottom: 1px solid #e2dcda; background: rgba(255,255,255,.92); backdrop-filter: blur(15px); }.portal-search { width: min(520px,50vw); height: 39px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border: 1px solid #e1d9d6; border-radius: 9px; background: #f7f4f2; }.portal-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font-size: .69rem; }.portal-search kbd { padding: 3px 6px; border: 1px solid #ddd3d0; border-radius: 5px; color: #93878b; background: var(--white); font: .55rem var(--sans); }.portal-top-actions { display: flex; align-items: center; gap: 10px; }.portal-top-actions button, .portal-top-actions > a { position: relative; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #e2d9d7; border-radius: 50%; color: #5c4a52; background: var(--white); }.portal-top-actions button b { position: absolute; right: -2px; top: -3px; width: 14px; height: 14px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: #c24758; font-size: .5rem; }.portal-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--white); background: var(--berry); font-size: .61rem; font-weight: 800; }.portal-menu-button { display: none; }.portal-main { padding: 30px; }.portal-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }.portal-page-head h1 { margin: 0 0 5px; font-size: 2.25rem; }.portal-page-head h1 span { color: var(--marigold); }.portal-page-head p { margin: 0; color: #817479; font-size: .72rem; }.portal-head-actions { display: flex; gap: 8px; }.portal-date-button, .portal-primary-button, .portal-secondary-button { min-height: 38px; padding: 0 14px; border: 1px solid #dcd2cf; border-radius: 8px; background: var(--white); color: #53444b; font-size: .65rem; font-weight: 750; }.portal-date-button span { margin-left: 12px; }.portal-primary-button { border-color: var(--berry); color: var(--white); background: var(--berry); }.portal-secondary-button { background: transparent; }.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.metric-card { position: relative; overflow: hidden; min-height: 150px; padding: 18px; border: 1px solid #e4dcda; border-radius: 14px; background: var(--white); box-shadow: 0 4px 14px rgba(57,33,43,.035); }.metric-card-top { display: flex; align-items: center; justify-content: space-between; color: #776b70; font-size: .64rem; font-weight: 700; }.metric-card-top i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; font-style: normal; background: #f3e8ed; }.metric-card > strong { display: block; margin: 17px 0 5px; font-family: var(--display); font-size: 1.75rem; }.metric-card > small { color: #488067; font-size: .59rem; }.metric-spark { position: absolute; right: 14px; bottom: 15px; height: 28px; display: flex; align-items: end; gap: 3px; opacity: .6; }.metric-spark i { width: 4px; border-radius: 5px 5px 0 0; background: var(--berry); }.metric-spark i:nth-child(1) { height: 30%; }.metric-spark i:nth-child(2) { height: 55%; }.metric-spark i:nth-child(3) { height: 42%; }.metric-spark i:nth-child(4) { height: 75%; }.metric-spark i:nth-child(5) { height: 62%; }.metric-spark i:nth-child(6) { height: 100%; }.metric-card.tone-positive .metric-card-top i { color: #257259; background: #e6f0ea; }.metric-card.tone-sun .metric-card-top i { color: #9b641e; background: #f8ecd7; }.metric-card.tone-sage .metric-card-top i { color: #34705c; background: #e5eeea; }.portal-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.7fr); gap: 14px; margin-top: 14px; }.portal-dashboard-grid.lower-grid { grid-template-columns: 1.2fr .8fr; }.portal-card { border: 1px solid #e4dcda; border-radius: 14px; background: var(--white); box-shadow: 0 4px 14px rgba(57,33,43,.035); }.portal-card > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 20px 0; }.portal-card h2 { margin: 0; font-family: var(--sans); font-size: .88rem; letter-spacing: 0; }.portal-card .portal-eyebrow { margin-bottom: 5px; font-size: .53rem; }.chart-legend { display: flex; align-items: center; gap: 15px; }.chart-legend span { color: #817479; font-size: .58rem; }.chart-legend i { width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 50%; background: var(--berry); }.chart-legend strong { font-size: .78rem; }.sales-chart { height: 250px; display: grid; grid-template-columns: repeat(7,1fr); gap: 15px; align-items: end; padding: 30px 24px 18px; background: repeating-linear-gradient(to bottom,transparent 0,transparent 48px,#eee9e7 49px); }.chart-column { height: 100%; display: grid; grid-template-rows: 18px 1fr 16px; justify-items: center; gap: 5px; }.chart-value { color: #85777c; font-size: .52rem; }.chart-track { width: 22px; height: 100%; display: flex; align-items: end; border-radius: 5px; background: #f3edef; }.chart-track i { width: 100%; min-height: 6px; display: block; border-radius: 5px; background: linear-gradient(#9d4d73,var(--berry)); }.chart-column small { color: #8b7e82; font-size: .55rem; }.sales-chart-card footer { display: flex; justify-content: space-between; padding: 13px 20px; border-top: 1px solid #ede7e5; color: #83767b; font-size: .59rem; }.sales-chart-card footer a { color: var(--berry); font-weight: 750; }.alert-total { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--berry); background: var(--berry-soft); font-size: .64rem; font-weight: 800; }.portal-alert { display: flex; gap: 10px; margin: 14px 16px 0; padding: 13px; border-radius: 10px; background: #faf4e7; }.portal-alert > span { width: 25px; height: 25px; display: grid; flex: none; place-items: center; border-radius: 50%; color: #8a5817; background: #f1d6a3; font-size: .62rem; font-weight: 800; }.portal-alert h3 { margin: 0 0 4px; font-size: .66rem; }.portal-alert p { margin: 0 0 8px; color: #7f7075; font-size: .58rem; line-height: 1.45; }.portal-alert button { padding: 0; border: 0; color: var(--berry); background: transparent; font-size: .57rem; font-weight: 750; }.portal-alert.tone-berry { background: #f5e9ee; }.portal-alert.tone-berry > span { color: var(--berry); background: #e7cad7; }.portal-card-link { display: block; margin: 13px 16px 15px; color: var(--berry); font-size: .58rem; font-weight: 700; text-align: center; }.activity-card header > a { color: var(--berry); font-size: .58rem; font-weight: 700; }.activity-list { padding: 10px 20px 14px; }.activity-list article { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid #eee8e6; }.activity-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: var(--berry); background: var(--berry-soft); font-size: .66rem; font-weight: 800; }.activity-icon.tone-positive { color: #28745b; background: #e4f1e9; }.activity-icon.tone-sky { color: #2e6875; background: #e2eff1; }.activity-icon.tone-sun { color: #9c6218; background: #f8e9cd; }.activity-list h3 { margin: 0 0 3px; font-size: .64rem; }.activity-list p, .activity-list time { margin: 0; color: #8c7e83; font-size: .55rem; }.channel-card > header > span { color: #8b7d82; font-size: .57rem; }.donut-row { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 15px; padding: 18px; }.donut-chart { width: 126px; height: 126px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--berry) 0 67%,#398a70 67% 93%,#e3a449 93%); }.donut-chart::before { content: ""; grid-area: 1/1; width: 82px; height: 82px; border-radius: 50%; background: var(--white); }.donut-chart span { z-index: 1; grid-area: 1/1; display: grid; justify-items: center; }.donut-chart b { font-family: var(--display); font-size: 1.2rem; }.donut-chart small { color: #8c7e83; font-size: .52rem; }.donut-row dl { display: grid; gap: 11px; margin: 0; }.donut-row dl div { display: flex; justify-content: space-between; font-size: .57rem; }.donut-row dt i { width: 7px; height: 7px; display: inline-block; margin-right: 6px; border-radius: 50%; }.dot-berry { background: var(--berry); }.dot-green { background: #398a70; }.dot-gold { background: #e3a449; }.donut-row dd { margin: 0; font-weight: 800; }.channel-card footer { padding: 13px 18px; border-top: 1px solid #eee8e6; color: #817479; font-size: .57rem; }.channel-card footer b { color: #33755d; }
.portal-mini-stats, .inventory-summary, .order-kanban-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 14px; }.portal-mini-stats article { padding: 15px 18px; border: 1px solid #e3dcda; border-radius: 12px; background: var(--white); }.portal-mini-stats span { color: #817479; font-size: .59rem; }.portal-mini-stats strong { display: block; margin: 5px 0 2px; font-family: var(--display); font-size: 1.35rem; }.portal-mini-stats small { color: #9a8e92; font-size: .54rem; }.portal-mini-stats .warn { border-left: 3px solid #dfa046; }.data-card { overflow: hidden; }.data-toolbar { min-height: 62px; padding: 12px 16px !important; border-bottom: 1px solid #ebe5e3; }.data-tabs { display: flex; gap: 4px; overflow-x: auto; }.data-tabs button { height: 34px; flex: none; padding: 0 11px; border: 0; border-radius: 7px; color: #81757a; background: transparent; font-size: .59rem; font-weight: 700; }.data-tabs button.is-active { color: var(--berry); background: var(--berry-soft); }.data-tabs b { min-width: 16px; height: 16px; display: inline-grid; place-items: center; margin-left: 4px; border-radius: 50%; color: #7d5019; background: #f5dba8; font-size: .5rem; }.data-tools { display: flex; gap: 7px; }.data-tools label { height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #e1d9d7; border-radius: 7px; }.data-tools input { width: 160px; border: 0; outline: 0; font-size: .58rem; }.data-tools button { padding: 0 11px; border: 1px solid #e1d9d7; border-radius: 7px; background: var(--white); color: #66585e; font-size: .58rem; }.responsive-table { overflow-x: auto; }.responsive-table table { width: 100%; border-collapse: collapse; font-size: .6rem; }.responsive-table th { height: 40px; padding: 0 12px; color: #8c7f83; background: #faf8f7; font-size: .53rem; font-weight: 800; text-align: left; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }.responsive-table td { height: 58px; padding: 8px 12px; border-top: 1px solid #eee9e7; color: #62545a; vertical-align: middle; }.responsive-table td > strong { color: #3f3037; }.responsive-table td > small, .table-product small, .sku-product small { display: block; margin-top: 3px; color: #9a8d91; font-size: .51rem; }.table-product { min-width: 190px; display: flex; align-items: center; gap: 9px; }.table-product img { width: 38px; height: 43px; object-fit: cover; border-radius: 6px; }.table-product span, .sku-product { display: grid; }.table-product strong, .sku-product strong { color: #403238; font-size: .61rem; }.row-menu { border: 0; color: #8b7e82; background: transparent; }.status-pill, .channel-pill, .area-pill { display: inline-flex; min-height: 23px; align-items: center; padding: 0 8px; border-radius: 99px; color: #2f755b; background: #e5f1e9; font-size: .51rem; font-weight: 750; white-space: nowrap; }.status-low-stock, .status-needs-follow-up, .status-to-confirm { color: #8e5b16; background: #f9ebd0; }.status-out-of-stock, .status-payment-failed { color: #9b3443; background: #f7e2e5; }.status-processing, .status-packed, .status-draft { color: var(--berry); background: var(--berry-soft); }.status-ready-to-ship, .status-shipped { color: #2c6b78; background: #e0eef1; }.channel-whatsapp { color: #257058; background: #e3f0e9; }.channel-online { color: #315d86; background: #e5edf5; }.order-number { color: var(--berry); font-weight: 800; }.data-footer { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid #eae4e2; color: #8e8185; font-size: .54rem; }.data-footer div { display: flex; gap: 4px; }.data-footer button { width: 27px; height: 27px; border: 1px solid #e1d9d7; border-radius: 6px; background: var(--white); font-size: .55rem; }.data-footer button.is-active { color: var(--white); background: var(--berry); }.inventory-summary article { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid #e3dcda; border-radius: 12px; background: var(--white); }.inventory-summary i { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 10px; background: #e4f0e8; font-style: normal; }.inventory-summary div { display: grid; grid-template-columns: 1fr auto; flex: 1; gap: 4px; }.inventory-summary span, .inventory-summary small { color: #817479; font-size: .57rem; }.inventory-summary strong { grid-row: span 2; font-family: var(--display); font-size: 1.4rem; }.inventory-summary small { grid-column: 1; }.tone-sky { color: #2c6d78 !important; background: #e2eef1 !important; }.tone-sun { color: #8f5b15 !important; background: #f8e9cd !important; }.tone-positive { color: #28745b !important; background: #e4f1e9 !important; }.table-adjust { padding: 6px 9px; border: 1px solid #d8cdd0; border-radius: 6px; color: var(--berry); background: var(--white); font-size: .53rem; font-weight: 750; }.stock-drawer { position: fixed; z-index: 100; inset: 0 0 0 auto; width: min(430px,100%); padding: 26px; background: var(--white); box-shadow: -20px 0 60px rgba(45,21,31,.18); overflow-y: auto; }.stock-drawer-head { display: flex; justify-content: space-between; margin-bottom: 25px; }.stock-drawer-head h2 { margin: 0; font-size: 1.7rem; }.stock-drawer-head button { border: 0; background: transparent; font-size: 1.7rem; }.adjust-choice { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 0 0 20px; padding: 0; border: 0; }.adjust-choice legend { margin-bottom: 8px; font-size: .7rem; font-weight: 750; }.adjust-choice button { height: 38px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font-size: .65rem; }.adjust-choice button.is-selected { color: var(--white); background: var(--berry); }.stock-stepper { display: grid; grid-template-columns: 48px 1fr 48px; height: 58px; margin-bottom: 20px; }.stock-stepper button, .stock-stepper input { border: 1px solid var(--line); background: #faf7f5; text-align: center; }.stock-stepper button:first-child { border-radius: 10px 0 0 10px; }.stock-stepper button:last-child { border-radius: 0 10px 10px 0; }.stock-stepper input { min-width: 0; border-inline: 0; font-family: var(--display); font-size: 1.5rem; }.drawer-scrim, .portal-scrim { position: fixed; z-index: 90; inset: 0; background: rgba(28,12,20,.48); backdrop-filter: blur(2px); }.order-kanban-summary article { padding: 18px; border-radius: 12px; }.order-kanban-summary article > span { font-size: .6rem; font-weight: 750; }.order-kanban-summary strong { display: block; margin: 6px 0; color: var(--ink); font-family: var(--display); font-size: 1.65rem; }.order-kanban-summary p { margin-bottom: 10px; color: #766a6f; font-size: .57rem; }.order-kanban-summary a { color: var(--berry); font-size: .56rem; font-weight: 750; }.operations-note { display: flex; align-items: center; gap: 13px; margin-top: 14px; padding: 16px 20px; border: 1px solid #e1d8d5; border-radius: 12px; background: #f5e9ee; }.operations-note > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--berry); background: var(--white); }.operations-note div { flex: 1; }.operations-note strong { font-size: .65rem; }.operations-note p { margin: 3px 0 0; color: #7f7076; font-size: .56rem; }.operations-note a { color: var(--berry); font-size: .58rem; font-weight: 750; }.permission-banner { display: flex; gap: 10px; margin-bottom: 14px; padding: 13px 16px; border-radius: 10px; color: #6c501e; background: #f8e9cc; }.permission-banner > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: #b57b25; font-family: var(--display); }.permission-banner p { margin: 0; font-size: .62rem; }.settings-layout { display: grid; grid-template-columns: 190px 1fr; gap: 20px; }.settings-nav { position: sticky; top: 95px; align-self: start; display: grid; gap: 4px; }.settings-nav > span { margin: 0 10px 6px; color: #9a8d91; font-size: .55rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.settings-nav a { padding: 10px; border-radius: 8px; color: #71646a; font-size: .61rem; }.settings-nav a:hover, .settings-nav a:first-of-type { color: var(--berry); background: var(--berry-soft); }.settings-groups { display: grid; gap: 14px; }.settings-card > header { justify-content: flex-start; padding: 20px; border-bottom: 1px solid #ebe5e3; }.settings-symbol { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 9px; color: var(--berry); background: var(--berry-soft); font-family: var(--display); }.settings-card header p { margin: 4px 0 0; color: #887b80; font-size: .57rem; }.settings-fields { padding: 0 20px; }.setting-field { min-height: 67px; display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: 25px; border-top: 1px solid #f0ebe9; }.setting-field:first-child { border-top: 0; }.setting-field label { display: block; color: #514249; font-size: .62rem; font-weight: 750; }.setting-field small { color: #9b8f93; font-size: .5rem; }.setting-field > input, .color-field input { height: 36px; width: 100%; padding: 0 11px; border: 1px solid #e0d7d4; border-radius: 7px; color: #51454a; background: #fff; font-size: .61rem; }.setting-field input[readonly] { color: #8f8387; background: #f6f3f2; }.color-field { display: grid; grid-template-columns: 30px 1fr; gap: 8px; }.color-field i { border: 3px solid #fff; border-radius: 7px; box-shadow: 0 0 0 1px #d9cecb; }.toggle-control { width: max-content; display: flex; align-items: center; gap: 9px; border: 0; background: transparent; }.toggle-control > span { width: 34px; height: 20px; padding: 3px; border-radius: 99px; background: #c7bdc0; }.toggle-control > span::after { content: ""; width: 14px; height: 14px; display: block; border-radius: 50%; background: var(--white); }.toggle-control.is-on > span { background: var(--green); }.toggle-control.is-on > span::after { margin-left: 14px; }.toggle-control b { color: #65585d; font-size: .58rem; }.settings-card footer { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-top: 1px solid #ebe5e3; }.settings-card footer span { color: #93868a; font-size: .53rem; }.help-hero { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px; border-radius: 15px; color: var(--white); background: radial-gradient(circle at 90% 20%,rgba(239,180,95,.35),transparent 24%),linear-gradient(135deg,#4a1835,#77264c); }.help-hero > div { display: flex; align-items: center; gap: 16px; }.help-hero > div > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; font-family: var(--display); font-size: 1.5rem; }.help-hero .portal-eyebrow { color: #efba68; }.help-hero h2 { margin: 0 0 5px; font-size: 1.25rem; }.help-hero p { margin: 0; color: #dcbfcd; font-size: .58rem; }.help-hero > label { width: min(390px,45%); height: 43px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border-radius: 9px; background: var(--white); color: #776970; }.help-hero input { min-width: 0; flex: 1; border: 0; outline: 0; font-size: .62rem; }.quick-guide-section { margin: 25px 0; }.quick-guide-section > header { display: flex; justify-content: space-between; margin-bottom: 10px; }.quick-guide-section h2 { font-family: var(--sans); font-size: .76rem; }.quick-guide-section header a { color: var(--berry); font-size: .57rem; font-weight: 750; }.quick-guide-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 9px; }.quick-guide-grid a { position: relative; min-height: 110px; display: grid; align-content: center; gap: 5px; padding: 15px; border: 1px solid #e1d9d6; border-radius: 10px; background: var(--white); }.quick-guide-grid span { color: #c49bad; font-family: var(--display); font-size: .8rem; }.quick-guide-grid strong { font-size: .61rem; line-height: 1.35; }.quick-guide-grid small { color: #93868b; font-size: .5rem; }.quick-guide-grid i { position: absolute; right: 12px; bottom: 10px; color: var(--berry); font-style: normal; }.page-directory > header { padding: 18px; border-bottom: 1px solid #e8e1df; }.page-directory header p { margin: 4px 0 0; color: #887b80; font-size: .56rem; }.area-pill { color: var(--berry); background: var(--berry-soft); }.page-directory code { display: block; margin-top: 3px; color: #8b7d82; font-size: .5rem; }.page-directory td:last-child a { color: var(--berry); font-size: .8rem; }.documentation-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 14px; }.documentation-cards a { display: grid; grid-template-columns: 36px 1fr auto; gap: 11px; align-items: center; padding: 15px; border: 1px solid #e1d9d6; border-radius: 10px; background: var(--white); }.documentation-cards > a > span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; color: var(--berry); background: var(--berry-soft); }.documentation-cards strong { display: block; font-size: .62rem; }.documentation-cards small { color: #908388; font-size: .5rem; }.documentation-cards i { color: var(--berry); font-style: normal; }.portal-mobile-nav { display: none; }

/* Responsive */
@media (max-width: 1100px) {
  :root { --shell: min(100% - 36px, 1000px); }
  .header-main { grid-template-columns: 230px 1fr 120px; }.category-nav { justify-content: flex-start; }.category-grid { grid-template-columns: repeat(3,1fr); }.category-card:nth-child(1), .category-card:nth-child(5) { grid-column: auto; }.category-card:nth-child(1) { min-height: 280px; }.product-grid-four { grid-template-columns: repeat(3,1fr); }.product-grid-four .product-card:nth-child(4) { display: none; }.bundle-copy { padding: 42px; }.catalog-product-grid { grid-template-columns: repeat(2,1fr); }.product-detail-grid { gap: 40px; }.cart-layout { grid-template-columns: 1fr 340px; gap: 28px; }.footer-grid { grid-template-columns: 1.4fr repeat(3,1fr); gap: 30px; }
  .portal-body { --portal-side: 225px; }.portal-scope strong { overflow: visible; white-space: normal; text-overflow: clip; line-height: 1.15; }.portal-main { padding: 24px; }.metric-grid { grid-template-columns: repeat(2,1fr); }.quick-guide-grid { grid-template-columns: repeat(3,1fr); }.quick-guide-grid a:nth-child(n+4) { display: none; }
}

@media (max-width: 860px) {
  :root { --shell: min(100% - 28px, 760px); }
  .announcement-secondary, .header-search, .desktop-nav-wrap, .desktop-action { display: none !important; }.mobile-only { display: grid; }.announcement-inner { justify-content: center; }.header-main { height: 66px; grid-template-columns: 42px 1fr auto; gap: 10px; }.brand { justify-self: center; }.brand img { width: 38px; height: 38px; }.brand-copy strong { font-size: 1.13rem; }.brand-copy small { font-size: .5rem; }.header-actions { gap: 8px; }.icon-button { width: 40px; height: 40px; place-items: center; padding: 0; border: 0; background: transparent; }.menu-lines, .menu-lines::before, .menu-lines::after { width: 20px; height: 2px; display: block; border-radius: 2px; background: var(--ink); }.menu-lines { position: relative; }.menu-lines::before, .menu-lines::after { content: ""; position: absolute; left: 0; }.menu-lines::before { top: -6px; }.menu-lines::after { top: 6px; }.bag-action svg { width: 24px; }.mobile-menu { position: fixed; z-index: 100; left: 0; top: 0; bottom: 0; width: min(380px,88vw); display: block; padding: 22px; color: var(--ink); background: var(--paper); box-shadow: var(--shadow-lg); overflow-y: auto; }.mobile-menu[hidden], .menu-scrim[hidden] { display: none; }.menu-scrim { position: fixed; z-index: 90; inset: 0; display: block; background: rgba(33,14,24,.5); backdrop-filter: blur(2px); }.mobile-menu-head { display: flex; align-items: center; justify-content: space-between; font-family: var(--display); font-size: 1.3rem; }.mobile-menu-head button { font-size: 1.8rem; }.mobile-search { height: 46px; display: flex; margin: 22px 0; border-radius: 9px; background: var(--cream); }.mobile-search input { min-width: 0; flex: 1; padding: 0 13px; border: 0; outline: 0; color: var(--ink); background: transparent; }.mobile-search input::placeholder { color: var(--muted); }.mobile-search button { padding: 0 15px; border: 0; border-radius: 0 9px 9px 0; color: var(--on-primary); background: var(--berry); }.mobile-menu nav { display: grid; }.mobile-menu nav a { display: flex; justify-content: space-between; padding: 15px 3px; border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 700; }.mobile-menu nav span { color: var(--muted); font-size: .65rem; }.mobile-menu-links { display: grid; gap: 12px; margin-top: 25px; color: var(--muted); font-size: .7rem; }
  .home-hero { min-height: 700px; align-items: end; }.hero-photo { object-position: 66% center; }.hero-photo-shade { background: linear-gradient(180deg,rgba(255,249,240,.03) 15%,rgba(255,248,236,.55) 46%,rgba(255,247,233,.98) 76%); }.hero-copy { width: min(600px,100%); padding: 310px 0 44px; }.hero-copy h1 { font-size: clamp(3.1rem,11vw,5rem); }.hero-copy > p { max-width: 560px; }.hero-proof { margin-top: 35px; }.service-grid { grid-template-columns: repeat(2,1fr); }.service-grid > div { min-height: 76px; justify-content: flex-start; border-bottom: 1px solid var(--line); }.category-grid { grid-template-columns: repeat(2,1fr); }.product-grid-four { grid-template-columns: repeat(2,1fr); }.product-grid-four .product-card:nth-child(4) { display: block; }.bundle-card { grid-template-columns: 1fr; }.bundle-copy { padding-bottom: 15px; }.bundle-products { padding-top: 20px; }.story-banner-grid { grid-template-columns: .85fr 1.15fr; gap: 40px; }.story-visual { height: 350px; }.story-values { display: grid; grid-template-columns: repeat(2,1fr); }.journal-grid { grid-template-columns: repeat(2,1fr); }.journal-grid .journal-card:nth-child(3) { display: none; }.newsletter-inner { align-items: flex-start; flex-direction: column; }.newsletter-form { width: 100%; }.footer-grid { grid-template-columns: repeat(2,1fr); }.whatsapp-float { bottom: 82px; }.mobile-bottom-nav { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; height: 64px; display: grid; grid-template-columns: repeat(5,1fr); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--line); background: color-mix(in srgb,var(--paper) 97%,transparent); backdrop-filter: blur(12px); }.mobile-bottom-nav a { position: relative; display: grid; place-content: center; justify-items: center; gap: 3px; color: var(--muted); font-size: .56rem; }.mobile-bottom-nav a > span { font-size: 1.05rem; }.mobile-bottom-nav a b { position: absolute; left: 55%; top: 7px; min-width: 15px; height: 15px; display: grid; place-items: center; border-radius: 99px; color: var(--on-primary); background: var(--berry); font-size: .48rem; }.mobile-bottom-nav .mobile-wa > span { width: 35px; height: 35px; display: grid; place-items: center; margin-top: -15px; border-radius: 50%; color: var(--white); background: #167e5c; box-shadow: 0 7px 18px rgba(22,126,92,.3); }.site-footer { padding-bottom: 135px; }
  .catalog-layout { grid-template-columns: 1fr; }.filter-mobile-button { display: inline-flex; gap: 7px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.filters-panel { position: fixed; z-index: 110; left: 0; right: 0; bottom: 0; max-height: 82vh; padding: 22px; border-radius: 22px 22px 0 0; background: var(--paper); box-shadow: 0 -18px 50px rgba(50,24,36,.2); overflow-y: auto; transform: translateY(105%); transition: transform .25s; }.filters-panel.is-open { transform: translateY(0); }.filter-head button { display: block; border: 0; background: transparent; font-size: 1.5rem; }.filter-apply { display: flex; margin-top: 18px; width: 100%; }.filter-scrim { position: fixed; z-index: 105; inset: 0; background: rgba(35,15,24,.45); }.filter-scrim[hidden] { display: none; }.product-detail-grid { grid-template-columns: 1fr; }.product-info { max-width: 650px; }.cart-layout { grid-template-columns: 1fr; }.order-summary { position: static; }.whatsapp-order-layout { grid-template-columns: 1fr; }.wa-order-card { grid-row: 1; }.featured-story > a { grid-template-columns: 1fr; }.featured-story-art { min-height: 300px; }.journal-signup { grid-template-columns: 50px 1fr; }.journal-signup form { grid-column: 1/-1; }.article-hero-grid { grid-template-columns: 1fr .55fr; }.account-page { grid-template-columns: 1fr; }.account-art { min-height: 440px; }.account-art-copy { padding-block: 100px 50px; }.login-panel { padding-top: 90px; }
  .portal-body { --portal-side: 0px; padding-bottom: 64px; }.portal-frame { margin-left: 0; }.portal-sidebar { width: min(300px,86vw); transform: translateX(-105%); transition: transform .25s; }.portal-sidebar.is-open { transform: translateX(0); }.portal-brand-row > button { display: block; }.portal-topbar { padding: 0 18px; }.portal-menu-button { width: 38px; display: grid; gap: 4px; padding: 9px; border: 0; background: transparent; }.portal-menu-button span { height: 2px; display: block; background: #514149; }.portal-search { width: min(450px,60vw); }.portal-main { padding: 20px; }.portal-page-head { align-items: flex-start; }.portal-dashboard-grid, .portal-dashboard-grid.lower-grid { grid-template-columns: 1fr; }.portal-mobile-nav { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; height: 64px; display: grid; grid-template-columns: repeat(5,1fr); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid #e1dad7; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }.portal-mobile-nav a { display: grid; place-content: center; justify-items: center; gap: 3px; color: #81747a; font-size: .52rem; }.portal-mobile-nav a > span { font-size: 1rem; }.portal-mobile-nav a.is-active { color: var(--berry); }.portal-mobile-nav .portal-mobile-add > span { width: 35px; height: 35px; display: grid; place-items: center; margin-top: -16px; border-radius: 50%; color: var(--white); background: var(--berry); box-shadow: 0 7px 18px rgba(111,36,72,.28); font-size: 1.25rem; }.settings-layout { grid-template-columns: 1fr; }.settings-nav { position: static; display: flex; overflow-x: auto; }.settings-nav > span { display: none; }.settings-nav a { flex: none; }.quick-guide-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 580px) {
  :root { --shell: calc(100% - 22px); }.section { padding-block: 62px; }.page-shell { padding-block: 18px 72px; }.announcement-bar { font-size: .66rem; }.brand-copy strong { font-size: 1.03rem; }.brand-copy small { letter-spacing: .16em; }.home-hero { min-height: 650px; }.hero-copy { padding: 240px 0 86px; }.hero-copy h1 { margin-bottom: 14px; font-size: 2.7rem; }.hero-copy > p { margin-bottom: 20px; font-size: .86rem; line-height: 1.48; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }.hero-proof { display: none; }.service-grid { grid-template-columns: 1fr 1fr; }.service-grid > div { padding: 12px 8px; gap: 8px; }.service-grid > div:nth-child(odd) { border-left: 0; }.service-grid > div > span { width: 29px; height: 29px; }.service-grid strong { font-size: .78rem; }.service-grid small { display: none; }.split-heading { align-items: flex-start; flex-direction: column; gap: 15px; }.split-heading > p { font-size: .8rem; }.section-heading h2 { font-size: 2.4rem; }.category-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.category-card, .category-card:nth-child(1) { min-height: 225px; padding: 15px; border-radius: 15px; }.category-symbol { left: 13px; top: 13px; width: 34px; height: 34px; }.category-count { font-size: .55rem; }.category-card h3 { margin-right: 0; font-size: 1.25rem; }.category-card p { display: none; }.category-arrow { right: 12px; bottom: 12px; width: 28px; height: 28px; }.product-grid, .product-grid-four { gap: 12px; }.product-card h3 { font-size: 1.05rem; }.product-desc { display: none; }.product-card-body { padding-top: 11px; }.price-stack { gap: 4px; }.price-stack strong { font-size: .9rem; }.price-stack em { width: 100%; }.quick-add { width: 35px; height: 35px; }.bundle-copy { padding: 34px 26px 10px; }.bundle-copy h2 { font-size: 2.7rem; }.bundle-products { gap: 8px; padding: 20px 15px 32px; }.bundle-products img { border-width: 5px; }.bundle-plus { width: 35px; height: 35px; }.story-banner-grid { grid-template-columns: 1fr; }.story-visual { height: 315px; }.story-copy h2 { font-size: 2.8rem; }.story-values { grid-template-columns: repeat(3,1fr); gap: 10px; }.story-values span { min-width: 0; font-size: .65rem; }.journal-grid { grid-template-columns: 1fr; }.journal-grid .journal-card:nth-child(3) { display: block; }.journal-art { height: 190px; }.newsletter-section { padding-block: 45px; }.newsletter-form { height: auto; display: grid; grid-template-columns: 1fr auto; }.newsletter-form input { width: 100%; padding: 12px 14px; }.newsletter-form .button { min-height: 46px; padding-inline: 16px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1/-1; }.footer-bottom { align-items: flex-start; flex-direction: column; }.whatsapp-float { right: 12px; bottom: 77px; width: 46px; height: 46px; min-height: 0; justify-content: center; padding: 0; }.whatsapp-float span { display: none; }
  .catalog-header { min-height: 220px; padding: 25px; }.catalog-header-photo { min-height: 280px; }.catalog-header h1 { font-size: 2.7rem; }.catalog-count { position: absolute; right: 18px; top: 18px; }.catalog-toolbar > span { display: none; }.catalog-toolbar form label { display: none; }.catalog-product-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }.product-gallery { display: block; }.product-thumbs { display: flex; margin-top: 10px; }.product-thumbs > span { width: 62px; }.product-info h1 { font-size: 2.65rem; }.detail-buy-form { grid-template-columns: 58px 1fr; }.detail-buy-form label { display: none; }.detail-buy-form .button { grid-column: 2; }.product-detail-grid { gap: 28px; }.cart-line { grid-template-columns: 92px 1fr; gap: 13px; }.cart-line > a img { width: 92px; }.cart-line-price { grid-column: 2; grid-row: 2; justify-items: start; display: flex; align-items: baseline; gap: 7px; }.order-summary { padding: 24px 20px; }.page-heading h1 { font-size: 2.8rem; }.checkout-steps span { font-size: .56rem; }.wa-form-card, .wa-order-card { padding: 22px 18px; }.confirmation-card { padding: 35px 20px; }.journal-header h1 { font-size: 4rem; }.featured-story-art { min-height: 240px; }.featured-story-art span { width: 110px; height: 110px; font-size: 3.4rem; }.featured-story-copy { padding: 30px 24px; }.journal-grid-page { grid-template-columns: 1fr; }.journal-signup { display: block; padding: 25px; }.journal-signup > span { margin-bottom: 17px; }.journal-signup form { display: grid; margin-top: 18px; }.journal-signup input, .journal-signup button { width: 100%; border-radius: 99px; }.journal-signup button { margin-top: 8px; }.article-hero { padding: 50px 0; }.article-hero-grid { grid-template-columns: 1fr; }.article-hero-art { display: none; }.article-hero h1 { font-size: 3.3rem; }.article-layout { display: block; padding-block: 45px; }.article-share { position: static; display: flex; justify-content: flex-start; margin-bottom: 30px; }.article-share > span { writing-mode: horizontal-tb; align-self: center; }.account-art { min-height: 520px; }.account-art-copy { padding: 100px 26px 45px; }.account-art-copy > .brand { left: 26px; }.account-art-copy h1 { font-size: 3.2rem; }.login-panel { padding: 90px 22px 55px; }.account-back { left: 22px; }.social-login { grid-template-columns: 1fr; }.staff-links { flex-wrap: wrap; }.simple-form-card { padding: 35px 22px; }
  .portal-topbar { height: 60px; padding: 0 12px; }.portal-search { flex: 1; width: auto; }.portal-search kbd, .portal-top-actions > a { display: none; }.portal-main { padding: 16px 11px 80px; }.portal-page-head { display: block; }.portal-page-head h1 { font-size: 1.9rem; }.portal-page-head p { max-width: 90%; }.portal-head-actions { margin-top: 16px; }.portal-head-actions > * { flex: 1; }.metric-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }.metric-card { min-height: 128px; padding: 14px; }.metric-card > strong { font-size: 1.4rem; }.metric-spark { display: none; }.portal-dashboard-grid { gap: 8px; margin-top: 8px; }.sales-chart { gap: 7px; padding-inline: 10px; }.chart-track { width: 16px; }.sales-chart-card footer { display: block; }.sales-chart-card footer a { display: block; margin-top: 7px; }.donut-row { grid-template-columns: 125px 1fr; }.portal-mini-stats, .inventory-summary, .order-kanban-summary { grid-template-columns: 1fr; gap: 7px; }.portal-mini-stats article { display: grid; grid-template-columns: 1fr auto; }.portal-mini-stats strong { grid-row: span 2; }.data-toolbar { align-items: stretch !important; flex-direction: column; }.data-tools label { flex: 1; }.data-tools input { width: 100%; }.responsive-table { padding: 0 10px; overflow: visible; }.responsive-table thead { display: none; }.responsive-table table, .responsive-table tbody { display: block; }.responsive-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; padding: 13px; border: 1px solid #e7dfdd; border-radius: 10px; background: #fff; }.responsive-table td { height: auto; display: block; padding: 0; border: 0; }.responsive-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 3px; color: #9b8e92; font-size: .49rem; text-transform: uppercase; }.responsive-table td:first-child, .responsive-table td:nth-child(2), .responsive-table td:last-child { grid-column: auto; }.responsive-table td:has(.table-product), .responsive-table td:has(.sku-product), .orders-card td:first-child { grid-column: 1/-1; }.responsive-table td > input[type=checkbox] { display: none; }.table-product { min-width: 0; }.data-footer { margin-top: 8px; }.inventory-summary article { min-height: 78px; }.order-kanban-summary article { min-height: 105px; }.operations-note { align-items: flex-start; flex-wrap: wrap; }.operations-note a { margin-left: 47px; }.settings-layout { gap: 10px; }.setting-field { grid-template-columns: 1fr; gap: 8px; padding: 13px 0; }.settings-card footer span { display: none; }.help-hero { align-items: flex-start; flex-direction: column; }.help-hero > label { width: 100%; }.quick-guide-grid { grid-template-columns: repeat(2,1fr); }.quick-guide-grid a:nth-child(3) { display: none; }.documentation-cards { grid-template-columns: 1fr; }
}

.demo-notice { display: grid; gap: 7px; }
.demo-notice > span { color: #62776d; font-size: .61rem; }
.demo-notice code { padding: 2px 5px; border-radius: 4px; color: #315f4c; background: rgba(255,255,255,.65); }
.demo-account { padding: 7px 9px; border: 1px solid #c9ded1; border-radius: 7px; color: #315f4c; background: rgba(255,255,255,.7); font-size: .58rem; text-align: left; }
.demo-account:hover { border-color: #72a68e; background: var(--white); }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* CSP-safe chart levels and validated demo theme swatches. */
.chart-track > .bar-0 { height: 0; }
.chart-track > .bar-1 { height: 10%; }
.chart-track > .bar-2 { height: 20%; }
.chart-track > .bar-3 { height: 30%; }
.chart-track > .bar-4 { height: 40%; }
.chart-track > .bar-5 { height: 50%; }
.chart-track > .bar-6 { height: 60%; }
.chart-track > .bar-7 { height: 70%; }
.chart-track > .bar-8 { height: 80%; }
.chart-track > .bar-9 { height: 90%; }
.chart-track > .bar-10 { height: 100%; }
.color-field > .swatch-primary { background: #6f2448; }
.color-field > .swatch-accent { background: #f2a65a; }
.color-field > .swatch-background { background: #fff9f1; }

.portal-feedback { margin: 0 0 16px; padding: 12px 15px; border: 1px solid; border-radius: 10px; font-size: .72rem; font-weight: 700; }
.portal-feedback-success { border-color: #b8d9c5; color: #285d40; background: #edf8f1; }
.portal-feedback-error { border-color: #e6b9b9; color: #7b2929; background: #fff0f0; }
.inline-operation-form { margin: 0; }
.inline-operation-form .table-adjust { width: auto; min-width: 0; padding: 7px 9px; white-space: nowrap; }
.operation-complete { color: #728078; font-size: .62rem; font-weight: 750; }
.toggle-control { cursor: pointer; }
.toggle-control:has(input:disabled) { cursor: not-allowed; opacity: .6; }
.color-field { grid-template-columns: 44px 1fr; align-items: center; }
.color-field .theme-color-picker { width: 44px; padding: 3px; }
.color-field code { color: #6e6166; font-size: .62rem; }

/* Senior UI/UX audit fixes: responsive media, focus, drawers, and operational readability. */
img { height: auto; }
:focus-visible { outline: 3px solid var(--berry); outline-offset: 3px; box-shadow: 0 0 0 2px var(--white); }
.input-validation-error { border-color: #a72f45 !important; box-shadow: 0 0 0 3px rgba(167,47,69,.12); }
.field-validation-error, .validation-summary-errors { color: #8f263c; }
.validation-summary-valid { display: none; }
.validation-summary-errors { margin-bottom: 16px; padding: 12px 14px; border: 1px solid #e4b8c1; border-radius: 10px; background: #fff2f4; }
.validation-summary-errors ul { margin: 0; padding-left: 20px; }
.toggle-control:focus-within { outline: 3px solid var(--berry); outline-offset: 4px; border-radius: 999px; }

.product-image-wrap > a { aspect-ratio: 6 / 7; overflow: hidden; }
.product-image-wrap > a > img { height: 100%; aspect-ratio: auto; }
.product-main-image { aspect-ratio: 6 / 7; }
.product-main-image > img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.product-main-image > button { width: 44px; height: 44px; }
.product-main-image > button.is-saved { color: #c52b5e; }
.cart-line > a { width: 130px; aspect-ratio: 6 / 7; overflow: hidden; border-radius: 12px; }
.cart-line > a img { width: 100%; height: 100%; object-fit: cover; }
.cart-line.is-unavailable { border-radius: 12px; background: color-mix(in srgb, var(--berry-soft) 55%, transparent); }
.cart-line.is-unavailable .cart-line-copy > span { color: var(--berry-dark); }
.cart-line.is-unavailable > a img { filter: grayscale(.55); opacity: .72; }
.wa-order-line img { height: auto; aspect-ratio: 6 / 7; object-fit: cover; }
.catalog-product-grid-single { grid-template-columns: minmax(260px, 370px); }
.rating-row small, .price-stack span, .breadcrumbs, .filter-checks small { color: var(--muted); }
.category-card:nth-child(5) { grid-column: auto; }
.product-grid-four:has(> .product-card:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.color-choice, .size-choice { position: relative; display: inline-grid; place-items: center; cursor: pointer; }
.color-choice { width: 44px; height: 44px; border: 4px solid var(--cream); border-radius: 50%; box-shadow: 0 0 0 1px #ad9ba3; }
.color-choice .color-swatch { width: 100%; height: 100%; display: block; border-radius: inherit; }
.color-choice:has(input:checked) { box-shadow: 0 0 0 3px var(--berry); }
.size-choice span { min-width: 56px; min-height: 44px; display: grid; place-items: center; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font-size: .76rem; }
.size-choice:hover span { border-color: var(--berry); color: var(--berry); background: var(--berry-soft); }
.size-choice:has(input:checked) span { border-color: var(--berry); color: var(--white); background: var(--berry); }
.color-choice:focus-within, .size-choice:focus-within { outline: 3px solid var(--berry); outline-offset: 3px; }
.pincode-result { min-height: 20px; margin: 10px 0 0; color: var(--green); font-size: .72rem; font-weight: 700; }
.pincode-result:empty { display: none; }
.pincode-result.is-warning { color: #8b5614; }
.review-summary { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; margin-top: 72px; padding: 34px 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.review-summary h2 { margin-bottom: 10px; font-size: clamp(2rem, 4vw, 3rem); }
.review-summary p { max-width: 680px; margin: 0; color: var(--muted); line-height: 1.65; }
.review-score { min-width: 180px; display: grid; justify-items: center; gap: 5px; padding: 20px; border-radius: 16px; background: var(--berry-soft); }
.review-score strong { color: var(--berry); font-family: var(--display); font-size: 2.6rem; }
.review-score span { color: #a96812; letter-spacing: .12em; }
.review-score small { color: #65565d; font-size: .68rem; }
.size-guide-dialog { width: min(480px, calc(100vw - 28px)); padding: 28px; border: 0; border-radius: var(--radius); color: var(--ink); background: var(--paper); box-shadow: var(--shadow-lg); }
.size-guide-dialog::backdrop { background: rgba(35, 15, 24, .52); backdrop-filter: blur(2px); }
.size-guide-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.size-guide-head h2 { margin: 0; font-size: 2.2rem; }
.size-guide-head button { width: 44px; height: 44px; flex: none; border: 0; border-radius: 50%; color: var(--berry); background: var(--berry-soft); font-size: 1.6rem; }
.size-guide-dialog > p { color: var(--muted); line-height: 1.65; }
.size-guide-dialog ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; padding: 0; list-style: none; }
.size-guide-dialog li { padding: 9px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); font-weight: 700; }
.catalog-layout-no-filters { grid-template-columns: 1fr; }
.filter-select-label { display: block; margin-top: 15px; color: var(--muted); font-size: .68rem; }
.filter-select { width: 100%; min-height: 42px; margin-top: 7px; padding: 8px 34px 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--paper); }
.filter-select:focus { border-color: var(--berry); box-shadow: 0 0 0 3px rgba(111,36,72,.1); outline: 0; }
.catalog-filter-actions { display: flex; align-items: center; gap: 10px; margin-top: 20px; }
.filter-reset { min-height: 44px; display: inline-flex; align-items: center; padding: 0 12px; border: 0; color: var(--theme-link); background: transparent; font-size: .72rem; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.server-filter-apply { min-height: 44px; flex: 1; justify-content: center; }
.catalog-filter-empty { margin-top: 0; }
.mobile-bottom-nav a.is-active { color: var(--theme-link); font-weight: 800; }
.mobile-bottom-nav a.is-active::after { content: ""; position: absolute; bottom: 4px; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }
.topic-nav button { flex: none; min-height: 44px; padding: 9px 14px; border: 0; border-radius: 99px; color: var(--muted); background: transparent; font-size: .72rem; font-weight: 700; }
.topic-nav button:hover, .topic-nav button.is-selected { color: var(--on-primary); background: var(--berry); }

.portal-sidebar { z-index: 100; }
.portal-scrim { z-index: 90; }
.portal-body [aria-disabled="true"] { cursor: not-allowed; opacity: .58; }
.portal-nav a { min-height: 44px; font-size: .78rem; }
.portal-nav > span { font-size: .64rem; }
.portal-scope strong { font-size: .8rem; }
.portal-scope small, .portal-health strong, .portal-side-footer > a { font-size: .7rem; }
.portal-health small { font-size: .64rem; }
.portal-search input, .portal-page-head p, .portal-date-button, .portal-primary-button, .portal-secondary-button { font-size: .78rem; }
.portal-date-button, .portal-primary-button, .portal-secondary-button { min-height: 44px; }
.metric-card-top, .portal-card h2, .portal-alert h3, .activity-list h3 { font-size: .78rem; }
.metric-card > small, .chart-legend span, .sales-chart-card footer, .portal-alert p, .portal-alert button,
.portal-card-link, .activity-card header > a, .activity-list p, .activity-list time, .channel-card > header > span,
.donut-row dl div, .channel-card footer, .portal-mini-stats span, .portal-mini-stats small,
.inventory-summary span, .inventory-summary small, .order-kanban-summary article > span,
.order-kanban-summary p, .order-kanban-summary a, .operations-note p, .operations-note a,
.settings-card header p, .settings-card footer span, .help-hero p, .quick-guide-section header a,
.quick-guide-grid small, .page-directory header p, .documentation-cards small { font-size: .68rem; }
.portal-alert button, .portal-alert-action, .portal-card-link, .activity-card header > a, .order-kanban-summary a, .operations-note a,
.quick-guide-section header a { min-height: 32px; display: inline-flex; align-items: center; }
.portal-alert-action { padding: 0; color: var(--berry); font-size: .68rem; font-weight: 750; }
.responsive-table table { font-size: .72rem; }
.responsive-table th { height: 44px; font-size: .64rem; }
.responsive-table td { min-height: 58px; color: #55464d; }
.responsive-table td > small, .table-product small, .sku-product small, .page-directory code { color: #6f6268; font-size: .64rem; }
.table-product strong, .sku-product strong, .settings-nav a, .setting-field label, .setting-field > input,
.color-field input, .help-hero input, .quick-guide-grid strong, .documentation-cards strong { font-size: .72rem; }
.portal-card .portal-eyebrow, .chart-value, .chart-column small { font-size: .7rem; }
.status-pill, .channel-pill, .area-pill, .table-adjust, .data-tabs button, .data-tools input, .data-tools button { font-size: .66rem; }
.data-tabs button, .data-tools label, .data-tools button, .table-adjust, .data-footer button { min-height: 44px; }
.data-tools label { height: 44px; }
.data-footer { font-size: .66rem; }
.data-footer button { width: 44px; height: 44px; }
.order-kanban-summary article.tone-berry { color: var(--berry); background: var(--berry-soft); border: 1px solid #e7ccd8; }
.order-kanban-summary article.tone-berry strong { color: var(--ink); }
.settings-nav { scrollbar-width: none; scroll-snap-type: x proximity; }
.settings-nav::-webkit-scrollbar, .topic-nav::-webkit-scrollbar, .category-chips::-webkit-scrollbar { display: none; }
.topic-nav, .category-chips { scrollbar-width: none; }
.settings-nav a { scroll-snap-align: start; }
.quick-guide-grid a { min-height: 124px; }
.quick-guide-grid a:nth-child(n) { display: grid; }

@media (min-width: 861px) and (max-width: 1100px) {
  .header-main { grid-template-columns: 230px minmax(0, 1fr) 176px; gap: 16px; }
  .header-actions { min-width: 0; justify-self: end; }
}

@media (max-width: 860px) {
  .whatsapp-float { display: none; }
  .toast-message { bottom: calc(78px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100vw - 24px); border-radius: 14px; text-align: center; }
  .category-card:nth-child(1) { grid-column: 1 / -1; }
  .product-grid-four:has(> .product-card:nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-grid-four:has(> .product-card:nth-child(3):last-child) > .product-card:last-child { width: calc(50% - 6px); grid-column: 1 / -1; justify-self: center; }
  .wa-order-card { grid-row: auto; }
  .portal-topbar { gap: 10px; }
  .portal-menu-button { width: 44px; height: 44px; flex: 0 0 44px; }
  .portal-search { min-width: 0; }
  .portal-top-actions { min-width: 0; flex: none; gap: 7px; }
  .portal-top-actions button, .portal-top-actions > a, .portal-avatar { width: 44px; height: 44px; flex: 0 0 44px; }
  .portal-brand-row > button, .filter-head button, .stock-drawer-head button { min-width: 44px; min-height: 44px; }
  .quick-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-guide-grid a:nth-child(n) { display: grid; }
}

@media (max-width: 580px) {
  .catalog-header { min-height: 250px; align-items: flex-start; flex-direction: column; justify-content: flex-end; gap: 16px; }
  .catalog-count { position: static; align-self: flex-start; }
  .catalog-product-grid-single { grid-template-columns: 1fr; }
  .quick-add, .wish-button, .filter-mobile-button, .color-options button { min-width: 44px; min-height: 44px; }
  .detail-buy-form { grid-template-columns: minmax(0, 58px) minmax(0, 1fr); }
  .detail-buy-form > *, .cart-line > *, .cart-line-copy, .cart-line-price { min-width: 0; }
  .cart-line { grid-template-columns: minmax(0, 92px) minmax(0, 1fr); }
  .cart-line > a { width: 92px; }
  .cart-line-price { flex-wrap: wrap; white-space: normal; }
  .journal-signup input { min-width: 0; }
  .settings-nav { padding-bottom: 4px; }
  .responsive-table td[data-label]::before { color: #6f6268; font-size: .62rem; }
  .portal-main { padding-inline: 12px; }
  .quick-guide-grid { grid-template-columns: 1fr; }
  .review-summary { grid-template-columns: 1fr; gap: 22px; margin-top: 50px; padding: 26px 22px; }
  .review-score { width: 100%; }
}

@media (max-width: 380px) {
  .catalog-product-grid, .product-grid-four, .product-grid-four:has(> .product-card:nth-child(3):last-child) { grid-template-columns: 1fr; }
  .product-grid-four:has(> .product-card:nth-child(3):last-child) > .product-card:last-child { width: auto; grid-column: auto; }
  .portal-topbar { padding-inline: 10px; gap: 6px; }
  .portal-top-actions > button:first-child, .portal-top-actions > a { display: none; }
  .portal-search { flex: 1 1 auto; width: auto; }
  .portal-avatar, .portal-top-actions button { width: 40px; height: 40px; flex-basis: 40px; }
}

/* Admin-managed global theme editor and live storefront sample. */
.button { min-height: var(--control-height, 50px); }
.portal-date-button, .portal-primary-button, .portal-secondary-button { min-height: var(--portal-control-height, 44px); }
.form-field input, .form-field textarea, .form-field select { padding-block: var(--field-block-padding, 13px); }
.setting-field { min-height: var(--setting-row-height, 67px); }
.setting-field > select,
.theme-color-value {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d9cecb;
  border-radius: 8px;
  color: #51454a;
  background: var(--white);
  font-size: .72rem;
}
.setting-field > select:disabled { cursor: not-allowed; color: #8f8387; background: #f6f3f2; }
.setting-field > div:first-child small { display: block; max-width: 250px; margin-top: 4px; color: #776b70; font-size: .64rem; line-height: 1.45; }
.theme-color-field { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 10px; }
.theme-color-picker {
  width: 48px;
  height: 42px;
  padding: 3px;
  border: 1px solid #cfc2bf;
  border-radius: 9px;
  background: var(--white);
}
.theme-color-value { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; letter-spacing: .04em; text-transform: uppercase; }
.theme-color-value:invalid { border-color: #a72f45; background: #fff7f8; }
.setting-field .toggle-control { width: max-content; display: flex; align-items: center; }
.setting-field .toggle-control > span { display: block; flex: 0 0 34px; }
.setting-field .toggle-control b { display: inline; }

.theme-preview-card { overflow: hidden; }
.theme-preview-card > header { align-items: flex-start; padding: 22px; border-bottom: 1px solid #e8e1df; }
.theme-preview-card > header p { max-width: 650px; margin: 6px 0 0; color: #74686d; font-size: .7rem; line-height: 1.55; }
.theme-preview-status { flex: none; padding: 7px 10px; border-radius: 999px; color: #32654f; background: #e5f2e9; font-size: .66rem; font-weight: 750; }
.theme-preview-status.is-dirty { color: #7e541b; background: #faebcc; }
.theme-preview-stage { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(215px, .7fr); gap: 18px; padding: 22px; background: var(--cream); }
.theme-preview-browser { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); }
.theme-preview-browser-bar { min-height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 12px; border-bottom: 1px solid var(--line); color: var(--muted); background: color-mix(in srgb, var(--paper) 86%, var(--ink)); font-size: .6rem; }
.theme-preview-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--line); }
.theme-preview-browser-bar i:first-child { background: var(--berry); }
.theme-preview-browser-bar i:nth-child(2) { background: var(--marigold); }
.theme-preview-browser-bar span { margin-left: 5px; }
.theme-preview-canvas { min-height: 255px; display: grid; align-content: center; justify-items: start; padding: clamp(26px, 5vw, 54px); color: var(--ink); background: radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--marigold) 20%, transparent), transparent 30%), var(--paper); }
.theme-preview-eyebrow { margin-bottom: 10px; color: var(--berry); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.theme-preview-canvas h3 { max-width: 520px; margin: 0 0 10px; font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3.1rem); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
.theme-preview-canvas p { max-width: 520px; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.theme-preview-canvas > div { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 22px; }
.theme-preview-accent { padding: 7px 10px; border-radius: var(--radius-sm); color: var(--ink); background: var(--marigold); font-size: .6rem; font-weight: 800; }
.theme-preview-canvas .theme-preview-button { min-height: var(--control-height, 50px); display: inline-flex; align-items: center; padding: 0 18px; border: 0; border-radius: var(--radius-lg); color: var(--white); background: var(--berry); font-size: .7rem; font-weight: 750; pointer-events: none; }
.theme-preview-checks { align-self: center; display: grid; gap: 9px; }
.theme-preview-checks > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #ddd4d1; border-radius: 10px; background: rgba(255,255,255,.84); }
.theme-preview-checks span { color: #55484d; font-size: .66rem; font-weight: 700; }
.theme-preview-checks output { min-width: 76px; padding: 5px 7px; border-radius: 6px; color: #4d5e54; background: #e7eee9; font-size: .6rem; font-weight: 800; text-align: center; }
.theme-preview-checks output.is-pass { color: #245a41; background: #def0e5; }
.theme-preview-checks output.is-fail { color: #872d3c; background: #f9dfe4; }
.theme-preview-checks > p { margin: 3px 0 0; color: #6f6368; font-size: .62rem; line-height: 1.5; }
.theme-preview-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; border-top: 1px solid #e8e1df; background: var(--white); }
.theme-preview-card > footer > span { color: #75696d; font-size: .66rem; }
.theme-preview-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.theme-reset-button { color: #872d3c; }

@media (max-width: 1050px) {
  .theme-preview-stage { grid-template-columns: 1fr; }
  .theme-preview-checks { grid-template-columns: repeat(3, 1fr); align-self: auto; }
  .theme-preview-checks > div { grid-template-columns: 1fr; }
  .theme-preview-checks > p { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .theme-preview-card > header, .theme-preview-card > footer { align-items: stretch; flex-direction: column; }
  .theme-preview-status { align-self: flex-start; }
  .theme-preview-stage { padding: 14px; }
  .theme-preview-canvas { min-height: 230px; padding: 26px 20px; }
  .theme-preview-checks { grid-template-columns: 1fr; }
  .theme-preview-checks > p { grid-column: auto; }
  .theme-preview-actions { justify-content: stretch; }
  .theme-preview-actions > button { flex: 1 1 180px; }
  .setting-field-color { gap: 10px; }
}

/* Theme library: the current storefront plus the four selected visual directions. */
.theme-library-card > header { padding: 24px; border-bottom: 1px solid #e8e1df; }
.theme-library-card > header h2 { margin: 4px 0 7px; }
.theme-library-card > header p { max-width: 780px; margin: 0; color: #74686d; font-size: .7rem; line-height: 1.55; }
.theme-library { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; padding: 18px; }
.theme-preset-card { position: relative; min-width: 0; min-height: 164px; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid #ded4d1; border-radius: 14px; color: #332b2e; background: #fff; text-align: left; transition: border-color .2s, box-shadow .2s, transform .2s; }
.theme-preset-card:hover { transform: translateY(-2px); border-color: #bcaeaa; box-shadow: 0 12px 28px rgba(58,37,44,.09); }
.theme-preset-card.is-selected { border-color: var(--berry); box-shadow: 0 0 0 2px color-mix(in srgb, var(--berry) 22%, transparent); }
.theme-preset-colors { height: 52px; display: grid; grid-template-columns: 1.3fr .8fr .6fr; overflow: hidden; border-radius: 9px; border: 1px solid rgba(33,26,29,.1); }
.theme-preset-colors i { display: block; }
.theme-preset-colors-heritage-default i:nth-child(1) { background: #6f2448; }
.theme-preset-colors-heritage-default i:nth-child(2) { background: #f2a65a; }
.theme-preset-colors-heritage-default i:nth-child(3) { background: #fff9f1; }
.theme-preset-colors-jaipur-editorial i:nth-child(1) { background: #10284d; }
.theme-preset-colors-jaipur-editorial i:nth-child(2) { background: #d56317; }
.theme-preset-colors-jaipur-editorial i:nth-child(3) { background: #faf7f0; }
.theme-preset-colors-modern-bazaar i:nth-child(1) { background: #00524d; }
.theme-preset-colors-modern-bazaar i:nth-child(2) { background: #e3483e; }
.theme-preset-colors-modern-bazaar i:nth-child(3) { background: #fffdf7; }
.theme-preset-colors-desert-modern i:nth-child(1) { background: #a43d27; }
.theme-preset-colors-desert-modern i:nth-child(2) { background: #3f6757; }
.theme-preset-colors-desert-modern i:nth-child(3) { background: #f7f2ea; }
.theme-preset-colors-moonlit-bazaar i:nth-child(1) { background: #102a3a; }
.theme-preset-colors-moonlit-bazaar i:nth-child(2) { background: #b8783e; }
.theme-preset-colors-moonlit-bazaar i:nth-child(3) { background: #071926; }
.theme-preset-copy { min-width: 0; display: grid; gap: 3px; }
.theme-preset-copy small { color: #84777c; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.theme-preset-copy strong { overflow: hidden; font-family: var(--sans); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.theme-preset-copy > span { color: #776a6f; font-size: .62rem; line-height: 1.4; }
.theme-preset-card > b { align-self: flex-start; padding: 5px 8px; border-radius: 99px; color: #6e6065; background: #f3efed; font-size: .58rem; }
.theme-preset-card.is-selected > b { color: #fff; background: var(--berry); }

/* Shared alternate-theme polish. Structural rules stay scoped to public storefronts. */
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .site-header { box-shadow: 0 1px 0 color-mix(in srgb, var(--ink) 12%, transparent); }
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .category-card,
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .product-image-wrap,
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .journal-card { border-radius: var(--radius-sm); }
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .category-card:nth-child(1),
.storefront-body:is(.storefront-theme-jaipur-editorial,.storefront-theme-modern-bazaar,.storefront-theme-desert-modern,.storefront-theme-moonlit-bazaar) .category-card:nth-child(5) { grid-column: auto; min-height: unset; }

/* Selected option 1 — Jaipur Editorial. */
.storefront-theme-jaipur-editorial .announcement-bar { color: var(--on-primary); background: var(--berry); }
.storefront-theme-jaipur-editorial .announcement-secondary { color: var(--on-primary); }
.storefront-theme-jaipur-editorial .site-header { background: color-mix(in srgb,var(--paper) 98%,transparent); }
.storefront-theme-jaipur-editorial .brand-copy strong { color: var(--theme-link); }
.storefront-theme-jaipur-editorial .header-search { border-color: var(--line); border-radius: 5px; background: var(--paper); }
.storefront-theme-jaipur-editorial .header-search button,
.storefront-theme-jaipur-editorial .button,
.storefront-theme-jaipur-editorial .category-chips a,
.storefront-theme-jaipur-editorial .filter-pills button { border-radius: 4px; }
.storefront-theme-jaipur-editorial .desktop-nav-wrap { border-color: var(--line); }
.storefront-theme-jaipur-editorial .category-nav a { color: var(--ink); font-family: Georgia, "Times New Roman", serif; }
.storefront-theme-jaipur-editorial .category-nav a:hover,
.storefront-theme-jaipur-editorial .category-nav a.is-active { color: var(--theme-link); }
.storefront-theme-jaipur-editorial .category-nav a.is-active::after { background: var(--marigold); }
.storefront-theme-jaipur-editorial .home-hero { min-height: 660px; background: var(--cream); }
.storefront-theme-jaipur-editorial .hero-photo { object-position: 59% 55%; }
.storefront-theme-jaipur-editorial .hero-photo-shade { background: linear-gradient(90deg,var(--cream) 0%,color-mix(in srgb,var(--cream) 94%,transparent) 33%,color-mix(in srgb,var(--cream) 34%,transparent) 57%,transparent 100%); }
.storefront-theme-jaipur-editorial .hero-copy { width: min(610px, 50vw); }
.storefront-theme-jaipur-editorial .hero-copy .eyebrow { color: var(--theme-link); }
.storefront-theme-jaipur-editorial .hero-copy h1 { color: var(--ink); font-size: clamp(3.3rem,6vw,6.15rem); }
.storefront-theme-jaipur-editorial .hero-copy h1 em { color: var(--ink); text-decoration: underline; text-decoration-color: var(--marigold); text-decoration-thickness: .08em; text-underline-offset: .08em; }
.storefront-theme-jaipur-editorial .hero-copy > p,
.storefront-theme-jaipur-editorial .hero-proof { color: var(--ink); }
.storefront-theme-jaipur-editorial .hero-proof b { color: var(--ink); }
.storefront-theme-jaipur-editorial .service-ribbon { border-color: var(--line); background: var(--paper); }
.storefront-theme-jaipur-editorial .service-grid > div { border-color: var(--line); }
.storefront-theme-jaipur-editorial .service-grid > div > span { border-radius: 4px; color: var(--theme-accent-link); background: var(--accent-soft); }
.storefront-theme-jaipur-editorial .category-section { padding-top: 74px; }
.storefront-theme-jaipur-editorial .category-grid { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; }
.storefront-theme-jaipur-editorial .category-card { min-height: 258px; padding: 17px; border: 1px solid var(--line); }
.storefront-theme-jaipur-editorial .category-card h3 { margin-right: 30px; font-size: 1.25rem; }
.storefront-theme-jaipur-editorial .category-card p { display: none; }
.storefront-theme-jaipur-editorial .category-symbol { width: 34px; height: 34px; left: 15px; top: 15px; border-radius: 4px; }
.storefront-theme-jaipur-editorial .category-arrow { width: 30px; height: 30px; right: 14px; bottom: 14px; border-radius: 3px; }
.storefront-theme-jaipur-editorial .section-tint { background: color-mix(in srgb,var(--cream) 88%,var(--ink)); }
.storefront-theme-jaipur-editorial .product-image-wrap { border: 1px solid var(--line); }
.storefront-theme-jaipur-editorial .bundle-card { border-radius: 6px; background: linear-gradient(135deg,var(--berry-dark),var(--berry) 62%,var(--marigold)); }
.storefront-theme-jaipur-editorial .story-banner { color: var(--on-primary); background: var(--berry); }
.storefront-theme-jaipur-editorial .story-visual { border-radius: 3px; background: linear-gradient(145deg,var(--marigold),var(--berry-dark)); }
.storefront-theme-jaipur-editorial .journal-card { border: 1px solid var(--line); }
.storefront-theme-jaipur-editorial .journal-card-copy { background: var(--paper); }
.storefront-theme-jaipur-editorial .newsletter-section { color: var(--on-primary); background: var(--berry); }
.storefront-theme-jaipur-editorial .newsletter-section .eyebrow { color: var(--on-primary); }
.storefront-theme-jaipur-editorial .site-footer { background: var(--berry-dark); }

/* Selected option 2 — Modern Bazaar. */
.storefront-theme-modern-bazaar { letter-spacing: -.005em; }
.storefront-theme-modern-bazaar .announcement-bar { color: var(--on-primary); background: var(--berry); }
.storefront-theme-modern-bazaar .announcement-secondary { color: var(--on-primary); }
.storefront-theme-modern-bazaar .site-header { background: var(--paper); }
.storefront-theme-modern-bazaar .brand-copy strong,
.storefront-theme-modern-bazaar .brand-copy small { color: var(--theme-link); font-family: "Segoe UI",Arial,sans-serif; font-weight: 850; text-transform: uppercase; }
.storefront-theme-modern-bazaar .header-search { height: 48px; border: 2px solid var(--line); border-radius: 6px; background: var(--paper); }
.storefront-theme-modern-bazaar .header-search button { height: 100%; margin: 0; border-radius: 0 4px 4px 0; color: var(--on-accent); background: var(--marigold); }
.storefront-theme-modern-bazaar .desktop-nav-wrap { border: 0; background: var(--accent-soft); }
.storefront-theme-modern-bazaar .category-nav { height: 66px; justify-content: center; gap: 7px; }
.storefront-theme-modern-bazaar .category-nav a { padding: 12px 15px; border-radius: 999px; color: var(--ink); font-size: .72rem; font-weight: 800; }
.storefront-theme-modern-bazaar .category-nav a:hover,
.storefront-theme-modern-bazaar .category-nav a.is-active { color: var(--on-primary); background: var(--berry); }
.storefront-theme-modern-bazaar .category-nav a.is-active::after { display: none; }
.storefront-theme-modern-bazaar .category-nav .nav-highlight { color: var(--on-accent); background: var(--marigold); }
.storefront-theme-modern-bazaar .home-hero { min-height: 590px; background: var(--berry); }
.storefront-theme-modern-bazaar .hero-photo { object-position: 72% 56%; }
.storefront-theme-modern-bazaar .hero-photo-shade { background: linear-gradient(90deg,var(--berry) 0%,var(--berry) 46%,color-mix(in srgb,var(--berry) 70%,transparent) 53%,transparent 75%); }
.storefront-theme-modern-bazaar .hero-copy { width: min(570px,45vw); }
.storefront-theme-modern-bazaar .hero-copy .eyebrow { width: max-content; padding: 7px 12px; border-radius: 999px; color: var(--on-accent); background: var(--marigold); }
.storefront-theme-modern-bazaar .hero-copy h1 { color: var(--on-primary); font-family: "Segoe UI",Arial,sans-serif; font-size: clamp(3rem,5.5vw,5.3rem); font-weight: 900; line-height: .92; letter-spacing: -.055em; text-transform: uppercase; }
.storefront-theme-modern-bazaar .hero-copy h1 em { color: var(--on-primary); font-style: normal; font-weight: 900; text-decoration: underline; text-decoration-color: var(--marigold); text-decoration-thickness: .08em; text-underline-offset: .08em; }
.storefront-theme-modern-bazaar .hero-copy > p { color: var(--on-primary); font-size: 1.08rem; }
.storefront-theme-modern-bazaar .hero-copy .button-primary { color: var(--on-accent); background: var(--marigold); box-shadow: none; }
.storefront-theme-modern-bazaar .hero-copy .text-link { color: var(--on-primary); text-decoration-color: currentColor; }
.storefront-theme-modern-bazaar .hero-proof,
.storefront-theme-modern-bazaar .hero-proof b { color: var(--on-primary); }
.storefront-theme-modern-bazaar .hero-proof span { border-color: var(--marigold); }
.storefront-theme-modern-bazaar .service-ribbon { background: var(--paper); }
.storefront-theme-modern-bazaar .service-grid > div > span { border-radius: 8px; color: var(--theme-link); background: var(--berry-soft); font-size: 1.25rem; }
.storefront-theme-modern-bazaar .section-heading h2 { font-weight: 900; letter-spacing: -.045em; text-transform: uppercase; }
.storefront-theme-modern-bazaar .category-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.storefront-theme-modern-bazaar .category-card { min-height: 300px; padding: 16px; border: 1px solid var(--line); }
.storefront-theme-modern-bazaar .category-card h3 { font-family: "Segoe UI",Arial,sans-serif; font-size: 1.08rem; font-weight: 850; }
.storefront-theme-modern-bazaar .category-card p { display: none; }
.storefront-theme-modern-bazaar .category-symbol { border-radius: 8px; color: var(--theme-link); }
.storefront-theme-modern-bazaar .category-arrow { border-radius: 8px; }
.storefront-theme-modern-bazaar .section-tint { background: var(--accent-soft); }
.storefront-theme-modern-bazaar .product-card { padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.storefront-theme-modern-bazaar .product-card h3 { font-family: "Segoe UI",Arial,sans-serif; font-size: 1rem; font-weight: 800; }
.storefront-theme-modern-bazaar .quick-add { border-radius: 7px; color: var(--on-accent); background: var(--marigold); border-color: var(--marigold); }
.storefront-theme-modern-bazaar .bundle-card { border-radius: 8px; background: linear-gradient(120deg,var(--berry-dark),var(--berry) 55%,var(--marigold)); }
.storefront-theme-modern-bazaar .story-banner { color: var(--on-primary); background: var(--berry); }
.storefront-theme-modern-bazaar .story-visual { border-radius: 8px; background: linear-gradient(145deg,var(--marigold),var(--berry)); }
.storefront-theme-modern-bazaar .journal-card { border: 1px solid var(--line); background: var(--paper); }
.storefront-theme-modern-bazaar .journal-card-copy { background: var(--paper); }
.storefront-theme-modern-bazaar .newsletter-section { color: var(--on-accent); background: var(--marigold); }
.storefront-theme-modern-bazaar .newsletter-section .eyebrow { color: var(--on-accent); }
.storefront-theme-modern-bazaar .newsletter-form .button { color: var(--on-primary); background: var(--berry); }
.storefront-theme-modern-bazaar .site-footer { background: var(--berry-dark); }

/* Selected option 5 — Desert Modern. */
.storefront-theme-desert-modern .announcement-bar { color: var(--ink); background: var(--cream); border-bottom: 1px solid var(--line); }
.storefront-theme-desert-modern .announcement-secondary { color: var(--ink); }
.storefront-theme-desert-modern .site-header { background: color-mix(in srgb,var(--paper) 97%,transparent); }
.storefront-theme-desert-modern .brand-copy strong { color: var(--ink); font-family: "Segoe UI",Arial,sans-serif; font-size: 1.15rem; font-weight: 700; text-transform: uppercase; }
.storefront-theme-desert-modern .brand-copy small { color: var(--ink); }
.storefront-theme-desert-modern .header-search { border-radius: 2px; background: var(--paper); }
.storefront-theme-desert-modern .header-search button { border-radius: 0; color: var(--on-primary); background: var(--berry); }
.storefront-theme-desert-modern .desktop-nav-wrap { color: var(--on-primary); border: 0; background: var(--berry); }
.storefront-theme-desert-modern .category-nav a,
.storefront-theme-desert-modern .category-nav .nav-highlight { color: var(--on-primary); }
.storefront-theme-desert-modern .category-nav a:hover,
.storefront-theme-desert-modern .category-nav a.is-active { color: var(--on-primary); }
.storefront-theme-desert-modern .category-nav a.is-active::after { background: var(--on-primary); }
.storefront-theme-desert-modern .home-hero { min-height: 600px; background: var(--cream); }
.storefront-theme-desert-modern .hero-photo { object-position: 61% 52%; }
.storefront-theme-desert-modern .hero-photo-shade { background: linear-gradient(90deg,var(--cream) 0%,color-mix(in srgb,var(--cream) 88%,transparent) 37%,color-mix(in srgb,var(--cream) 15%,transparent) 63%,transparent 82%); }
.storefront-theme-desert-modern .hero-copy { width: min(540px,44vw); }
.storefront-theme-desert-modern .hero-copy .eyebrow { color: var(--ink); }
.storefront-theme-desert-modern .hero-copy h1 { color: var(--ink); font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.2rem,5.5vw,5.7rem); }
.storefront-theme-desert-modern .hero-copy h1 em { color: var(--theme-link); }
.storefront-theme-desert-modern .hero-copy > p,
.storefront-theme-desert-modern .hero-proof { color: var(--ink); }
.storefront-theme-desert-modern .hero-proof b { color: var(--ink); }
.storefront-theme-desert-modern .button,
.storefront-theme-desert-modern .header-search,
.storefront-theme-desert-modern .category-chips a,
.storefront-theme-desert-modern .product-image-wrap { border-radius: 2px; }
.storefront-theme-desert-modern .service-ribbon { background: var(--paper); }
.storefront-theme-desert-modern .service-grid > div > span { border: 1px solid var(--line); border-radius: 50%; color: var(--theme-link); background: transparent; }
.storefront-theme-desert-modern .category-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.storefront-theme-desert-modern .category-card { min-height: 310px; border-radius: 2px; }
.storefront-theme-desert-modern .category-card p { display: none; }
.storefront-theme-desert-modern .category-symbol,
.storefront-theme-desert-modern .category-arrow { border-radius: 0; }
.storefront-theme-desert-modern .section-tint { background: var(--accent-soft); }
.storefront-theme-desert-modern .product-card-body { padding-inline: 0; }
.storefront-theme-desert-modern .product-card h3 { font-family: "Segoe UI",Arial,sans-serif; font-size: .98rem; }
.storefront-theme-desert-modern .quick-add { border-radius: 2px; color: var(--on-accent); background: var(--marigold); border-color: var(--marigold); }
.storefront-theme-desert-modern .bundle-card { border-radius: 2px; background: linear-gradient(135deg,var(--berry-dark),var(--berry) 64%,var(--marigold)); }
.storefront-theme-desert-modern .story-banner { color: var(--on-primary); background: var(--berry); }
.storefront-theme-desert-modern .story-visual { border-radius: 2px; background: linear-gradient(150deg,var(--accent-soft),var(--marigold)); }
.storefront-theme-desert-modern .journal-card { border-radius: 2px; border: 1px solid var(--line); }
.storefront-theme-desert-modern .journal-card-copy { background: var(--paper); }
.storefront-theme-desert-modern .newsletter-section { color: var(--on-primary); background: var(--berry); }
.storefront-theme-desert-modern .newsletter-section .eyebrow { color: var(--on-primary); }
.storefront-theme-desert-modern .site-footer { background: var(--berry-dark); }

/* Selected option 8 — Moonlit Bazaar. */
.storefront-theme-moonlit-bazaar { background: var(--cream); }
.storefront-theme-moonlit-bazaar .announcement-bar { color: var(--on-primary); background: var(--berry-dark); border-bottom: 1px solid var(--marigold); }
.storefront-theme-moonlit-bazaar .announcement-secondary { color: var(--on-primary); }
.storefront-theme-moonlit-bazaar .site-header { color: var(--ink); background: var(--paper); box-shadow: 0 1px 0 var(--line); }
.storefront-theme-moonlit-bazaar .brand-copy strong,
.storefront-theme-moonlit-bazaar .brand-copy small { color: var(--ink); }
.storefront-theme-moonlit-bazaar .header-search { border-color: var(--line); border-radius: 3px; background: var(--cream); }
.storefront-theme-moonlit-bazaar .header-search:focus-within { border-color: var(--marigold); background: var(--cream); }
.storefront-theme-moonlit-bazaar .header-search input { color: var(--ink); }
.storefront-theme-moonlit-bazaar .header-search input::placeholder { color: var(--muted); }
.storefront-theme-moonlit-bazaar .header-search button { border-radius: 0; color: var(--on-accent); background: var(--marigold); }
.storefront-theme-moonlit-bazaar .bag-action b { color: var(--on-accent); background: var(--marigold); }
.storefront-theme-moonlit-bazaar .desktop-nav-wrap { border-color: var(--line); background: var(--paper); }
.storefront-theme-moonlit-bazaar .category-nav a { color: var(--ink); }
.storefront-theme-moonlit-bazaar .category-nav a:hover,
.storefront-theme-moonlit-bazaar .category-nav a.is-active,
.storefront-theme-moonlit-bazaar .category-nav .nav-highlight { color: var(--ink); }
.storefront-theme-moonlit-bazaar .category-nav a.is-active::after { background: var(--marigold); }
.storefront-theme-moonlit-bazaar .home-hero { min-height: 620px; background: var(--cream); }
.storefront-theme-moonlit-bazaar .hero-photo { object-position: 58% 52%; }
.storefront-theme-moonlit-bazaar .hero-photo-shade { background: linear-gradient(90deg,var(--cream) 0%,color-mix(in srgb,var(--cream) 86%,transparent) 38%,color-mix(in srgb,var(--cream) 22%,transparent) 65%,color-mix(in srgb,var(--cream) 10%,transparent) 100%); }
.storefront-theme-moonlit-bazaar .hero-copy { width: min(570px,46vw); }
.storefront-theme-moonlit-bazaar .hero-copy .eyebrow { color: var(--theme-accent-link); }
.storefront-theme-moonlit-bazaar .hero-copy h1 { color: var(--ink); font-size: clamp(3.25rem,5.5vw,5.65rem); }
.storefront-theme-moonlit-bazaar .hero-copy h1 em { color: var(--ink); text-decoration: underline; text-decoration-color: var(--marigold); text-decoration-thickness: .08em; text-underline-offset: .08em; }
.storefront-theme-moonlit-bazaar .hero-copy > p,
.storefront-theme-moonlit-bazaar .hero-proof { color: var(--ink); }
.storefront-theme-moonlit-bazaar .hero-proof b { color: var(--ink); }
.storefront-theme-moonlit-bazaar .hero-proof span { border-color: var(--marigold); }
.storefront-theme-moonlit-bazaar .hero-copy .button-primary { color: var(--on-accent); background: var(--marigold); box-shadow: 0 12px 28px rgba(0,0,0,.32); }
.storefront-theme-moonlit-bazaar .hero-copy .text-link { color: var(--ink); text-decoration-color: var(--marigold); }
.storefront-theme-moonlit-bazaar .service-ribbon { color: var(--ink); border-color: var(--line); background: var(--paper); }
.storefront-theme-moonlit-bazaar .service-grid > div { border-color: var(--line); }
.storefront-theme-moonlit-bazaar .service-grid > div > span { color: var(--theme-accent-link); background: var(--accent-soft); }
.storefront-theme-moonlit-bazaar .service-grid small { color: var(--muted); }
.storefront-theme-moonlit-bazaar .category-section { color: var(--ink); }
.storefront-theme-moonlit-bazaar .category-section .eyebrow { color: var(--theme-accent-link); }
.storefront-theme-moonlit-bazaar .category-grid { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 16px; }
.storefront-theme-moonlit-bazaar .category-card { min-height: 188px; align-items: center; justify-content: flex-end; overflow: visible; padding: 0 8px 10px; border-radius: 0; background: transparent; text-align: center; }
.storefront-theme-moonlit-bazaar .category-card:hover { transform: translateY(-3px); box-shadow: none; }
.storefront-theme-moonlit-bazaar .category-card img { z-index: 0; inset: 0 auto auto 50%; width: 138px; height: 138px; transform: translateX(-50%); border: 1px solid var(--marigold); border-radius: 50%; }
.storefront-theme-moonlit-bazaar .category-card:hover img { transform: translateX(-50%) scale(1.035); }
.storefront-theme-moonlit-bazaar .category-photo-shade,
.storefront-theme-moonlit-bazaar .category-symbol,
.storefront-theme-moonlit-bazaar .category-count,
.storefront-theme-moonlit-bazaar .category-card p,
.storefront-theme-moonlit-bazaar .category-arrow { display: none; }
.storefront-theme-moonlit-bazaar .category-card h3 { position: relative; z-index: 2; margin: 0; color: var(--ink); font-family: var(--sans); font-size: .76rem; }
.storefront-theme-moonlit-bazaar .section-tint { color: var(--ink); background: var(--paper); }
.storefront-theme-moonlit-bazaar .section-tint .product-card { color: var(--ink); }
.storefront-theme-moonlit-bazaar .section-tint .product-desc,
.storefront-theme-moonlit-bazaar .section-tint .rating-row small { color: var(--muted); }
.storefront-theme-moonlit-bazaar .product-image-wrap { border: 1px solid var(--marigold); }
.storefront-theme-moonlit-bazaar .product-badge { color: var(--on-accent); background: var(--marigold); }
.storefront-theme-moonlit-bazaar .quick-add { border-radius: 3px; color: var(--on-accent); background: var(--marigold); border-color: var(--marigold); }
.storefront-theme-moonlit-bazaar .bundle-card { border: 1px solid var(--marigold); border-radius: 4px; background: linear-gradient(120deg,var(--berry-dark),var(--berry) 58%,var(--marigold)); }
.storefront-theme-moonlit-bazaar .story-banner { color: var(--on-primary); background: var(--berry); }
.storefront-theme-moonlit-bazaar .story-visual { border: 1px solid var(--marigold); border-radius: 4px; background: linear-gradient(145deg,var(--berry),var(--marigold)); }
.storefront-theme-moonlit-bazaar .journal-preview { color: var(--ink); }
.storefront-theme-moonlit-bazaar .journal-card { border: 1px solid var(--line); background: var(--paper); }
.storefront-theme-moonlit-bazaar .journal-card-copy { color: var(--ink); background: var(--paper); }
.storefront-theme-moonlit-bazaar .journal-card p { color: var(--muted); }
.storefront-theme-moonlit-bazaar .newsletter-section { color: var(--ink); background: var(--paper); border-top: 1px solid var(--marigold); }
.storefront-theme-moonlit-bazaar .newsletter-section .eyebrow { color: var(--theme-accent-link); }
.storefront-theme-moonlit-bazaar .newsletter-form { background: var(--white); }
.storefront-theme-moonlit-bazaar .site-footer { color: var(--on-primary); background: var(--berry-dark); border-top: 1px solid var(--marigold); }
.storefront-theme-moonlit-bazaar .page-shell { margin-top: 28px; margin-bottom: 72px; padding: 38px; border-radius: 8px; color: var(--ink); background: var(--paper); }
.storefront-theme-moonlit-bazaar .reference-card strong { color: var(--ink); }
.storefront-theme-moonlit-bazaar .page-shell .journal-card-copy { color: var(--ink); }
.storefront-theme-moonlit-bazaar .catalog-toolbar select,
.storefront-theme-moonlit-bazaar .filters-panel .filter-select,
.storefront-theme-moonlit-bazaar .filters-panel .filter-pills button,
.storefront-theme-moonlit-bazaar .category-chips a { color: var(--ink); background: var(--cream); }
.storefront-theme-moonlit-bazaar .filters-panel .filter-checks label { color: var(--ink); }
.storefront-theme-moonlit-bazaar .account-page,
.storefront-theme-moonlit-bazaar .article-page { color: var(--ink); background: var(--paper); }
.storefront-theme-moonlit-bazaar .article-hero { color: var(--on-primary); background: var(--berry); }
.storefront-theme-moonlit-bazaar .article-hero p,
.storefront-theme-moonlit-bazaar .article-hero small,
.storefront-theme-moonlit-bazaar .article-hero .breadcrumbs { color: var(--on-primary); }

@media (min-width: 1051px) {
  .storefront-theme-moonlit-bazaar:has(.home-hero) .desktop-nav-wrap { position: absolute; left: 0; top: 78px; width: 132px; height: 620px; border-right: 1px solid #314653; }
  .storefront-theme-moonlit-bazaar:has(.home-hero) .category-nav { width: 100%; height: 100%; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 4px; padding: 18px 10px; }
  .storefront-theme-moonlit-bazaar:has(.home-hero) .category-nav a { width: 100%; padding: 13px 8px; border-radius: 4px; font-size: .68rem; }
  .storefront-theme-moonlit-bazaar:has(.home-hero) .category-nav a.is-active { background: #102938; }
  .storefront-theme-moonlit-bazaar:has(.home-hero) .category-nav a.is-active::after { left: 8px; right: auto; bottom: 6px; width: 24px; }
  .storefront-theme-moonlit-bazaar:has(.home-hero) .home-hero { margin-left: 132px; }
}

@media (min-width: 861px) and (max-width: 1400px) {
  .storefront-body .whatsapp-float { width: 50px; height: 50px; justify-content: center; padding: 0; }
  .storefront-body .whatsapp-float span { display: none; }
}

@media (max-width: 1120px) {
  .theme-library { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
  .storefront-theme-jaipur-editorial .category-grid,
  .storefront-theme-moonlit-bazaar .category-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .storefront-theme-modern-bazaar .category-grid,
  .storefront-theme-desert-modern .category-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .theme-library { grid-template-columns: repeat(2,minmax(145px,1fr)); }
  .storefront-theme-modern-bazaar .site-header,
  .storefront-theme-desert-modern .site-header,
  .storefront-theme-moonlit-bazaar .site-header { background: var(--paper); color: var(--ink); }
  .storefront-theme-modern-bazaar .brand-copy strong,
  .storefront-theme-desert-modern .brand-copy strong { color: var(--theme-link); }
  .storefront-theme-moonlit-bazaar .brand-copy strong,
  .storefront-theme-moonlit-bazaar .brand-copy small { color: var(--ink); }
  .storefront-theme-moonlit-bazaar .bag-action b { color: var(--on-accent); background: var(--marigold); }
  .storefront-theme-moonlit-bazaar .mobile-bottom-nav { color: var(--ink); border-color: var(--line); background: color-mix(in srgb,var(--paper) 97%,transparent); }
  .storefront-theme-moonlit-bazaar .mobile-bottom-nav a { color: var(--ink); }
  .storefront-theme-moonlit-bazaar .mobile-bottom-nav a.is-active { color: var(--ink); }
  .storefront-theme-jaipur-editorial .home-hero,
  .storefront-theme-modern-bazaar .home-hero,
  .storefront-theme-desert-modern .home-hero,
  .storefront-theme-moonlit-bazaar .home-hero { min-height: 620px; }
  .storefront-theme-modern-bazaar .hero-photo-shade { background: linear-gradient(90deg,var(--berry),color-mix(in srgb,var(--berry) 74%,transparent) 65%,color-mix(in srgb,var(--berry) 25%,transparent)); }
  .storefront-theme-jaipur-editorial .category-grid,
  .storefront-theme-modern-bazaar .category-grid,
  .storefront-theme-desert-modern .category-grid,
  .storefront-theme-moonlit-bazaar .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .storefront-theme-moonlit-bazaar .page-shell { margin-top: 18px; padding: 24px; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-summary { position: static; }
}

@media (max-width: 580px) {
  .theme-library { grid-template-columns: 1fr; }
  .theme-preset-card { min-height: 0; display: grid; grid-template-columns: 92px 1fr auto; align-items: center; }
  .theme-preset-colors { width: 92px; height: 58px; }
  .theme-preset-card > b { align-self: center; }
  .storefront-theme-jaipur-editorial .hero-copy,
  .storefront-theme-modern-bazaar .hero-copy,
  .storefront-theme-desert-modern .hero-copy,
  .storefront-theme-moonlit-bazaar .hero-copy { width: 100%; }
  .storefront-theme-jaipur-editorial .hero-photo-shade { background: linear-gradient(90deg,var(--cream),color-mix(in srgb,var(--cream) 78%,transparent)); }
  .storefront-theme-desert-modern .hero-photo-shade { background: linear-gradient(90deg,var(--cream),color-mix(in srgb,var(--cream) 72%,transparent)); }
  .storefront-theme-moonlit-bazaar .hero-photo-shade { background: linear-gradient(90deg,var(--cream),color-mix(in srgb,var(--cream) 72%,transparent)); }
  .storefront-theme-jaipur-editorial .category-grid,
  .storefront-theme-modern-bazaar .category-grid,
  .storefront-theme-desert-modern .category-grid { grid-template-columns: 1fr; }
  .storefront-theme-jaipur-editorial .category-card,
  .storefront-theme-modern-bazaar .category-card,
  .storefront-theme-desert-modern .category-card { min-height: 280px; }
  .storefront-theme-moonlit-bazaar .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .storefront-theme-moonlit-bazaar .category-card { min-height: 150px; }
  .storefront-theme-moonlit-bazaar .category-card img { width: 108px; height: 108px; }
  .storefront-theme-moonlit-bazaar .page-shell { width: calc(100vw - 20px); padding: 20px 14px; }
  .legal-hero { padding: 34px 22px; }
  .legal-content { padding: 28px 20px; }
  .error-actions { flex-direction: column; }
  .error-actions .button { width: 100%; }
}
