:root {
  --ink: #1e2927;
  --muted: #68716d;
  --paper: #f5f4ef;
  --cream: #e8e9df;
  --line: #d8dbd2;
  --coral: #d7795f;
  --sage: #aebcae;
  --white: #fffefa;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", "Segoe UI", sans-serif;
  --page-background: #f5f4ef;
  --button-radius: 0px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--page-background); font-family: var(--sans); font-size: 15px; line-height: 1.5; overflow-x: hidden; }
body[data-font-style="modern"] { --serif: var(--sans); }
body[data-font-style="soft"] { --serif: Georgia, serif; }
body[data-spacing="airy"] section { padding-bottom: 120px; padding-top: 120px; }
body[data-spacing="compact"] section { padding-bottom: 55px; padding-top: 55px; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--coral); outline-offset: 3px; }
.announcement { background: var(--ink); color: var(--paper); font-size: 11px; letter-spacing: .08em; padding: 9px 5%; text-align: center; text-transform: uppercase; }
.announcement span { color: var(--coral); margin: 0 8px; }
.site-header { align-items: center; backdrop-filter: blur(14px); background: rgba(245,244,239,.94); border-bottom: 1px solid rgba(216,219,210,.75); display: flex; justify-content: space-between; padding: 18px 5%; position: sticky; top: 0; z-index: 8; }
.brand { font-size: 25px; font-weight: 700; letter-spacing: -.09em; }
.brand span { color: var(--coral); }
.main-nav { display: flex; gap: 34px; margin-left: 7%; }
.main-nav a, .header-actions button, .site-footer a { font-size: 13px; }
.admin-link { align-items: center; display: inline-flex; gap: 5px; }
.admin-link { justify-content: center; }
.admin-symbol { height: 12px; width: 12px; }
.main-nav a, .site-footer a { transition: color .2s ease; }
.main-nav a:hover, .site-footer a:hover { color: var(--coral); }
.header-actions { align-items: center; display: flex; gap: 18px; }
.auth-link { background: transparent; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 12px; padding: 10px 14px; transition: all .2s ease; }
.auth-symbol { height: 15px; margin-right: 5px; vertical-align: -3px; width: 15px; }
.auth-label { display: inline; }
.auth-link:hover, .auth-link:focus-visible { border-color: var(--coral); color: var(--coral); outline: none; }
.auth-link-primary { background: var(--ink); border-color: var(--ink); color: var(--white); }
.auth-link-primary:hover, .auth-link-primary:focus-visible { background: var(--coral); border-color: var(--coral); color: var(--white); }
.icon-button, .cart-button { background: transparent; border: 0; color: var(--ink); padding: 0; transition: color .2s ease; }
.icon-button:hover, .cart-button:hover, .icon-button:focus-visible, .cart-button:focus-visible { color: var(--coral); outline: 0; }
.icon-button:active, .cart-button:active { color: var(--coral); }
.cart-symbol { color: currentColor; height: 17px; margin-right: 4px; vertical-align: -4px; width: 17px; }
.cart-label { display: inline; }
.cart-button .cart-count { background: var(--coral); border-radius: 50%; color: var(--white); display: inline-grid; font-size: 10px; height: 18px; margin-left: 5px; place-items: center; width: 18px; }
.hero { background: var(--cream); display: grid; grid-template-columns: 43% 57%; min-height: 610px; overflow: hidden; position: relative; }
.hero-copy { align-self: center; max-width: 530px; padding: 7% 8% 8% 12%; position: relative; z-index: 1; }
.eyebrow { color: var(--coral); font-size: 11px; font-weight: 700; letter-spacing: .15em; margin: 0 0 18px; text-transform: uppercase; }
h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.04em; line-height: 1.02; margin: 0; }
h1 { font-size: clamp(48px, 6vw, 83px); }
h1 em { color: var(--coral); font-style: normal; }
h2 { font-size: clamp(34px, 4vw, 58px); }
.hero-text { color: var(--muted); font-size: 16px; margin: 28px 0 34px; max-width: 350px; }
.button { align-items: center; border: 0; border-radius: var(--button-radius); display: inline-flex; gap: 26px; justify-content: space-between; padding: 15px 18px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: var(--coral); }
.hero-art { background: linear-gradient(145deg, rgba(255,255,255,.1), transparent), url("https://images.unsplash.com/photo-1610701596007-11502861dcfa?auto=format&fit=crop&w=1400&q=85") center/cover; min-height: 500px; position: relative; }
.hero-art-label { background: rgba(30,41,39,.86); bottom: 26px; color: var(--white); display: grid; gap: 5px; max-width: 230px; padding: 15px 17px; position: absolute; right: 26px; }
.hero-art-label span { color: var(--coral); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero-art-label strong { font-family: var(--serif); font-size: 17px; font-weight: 500; line-height: 1.15; }
.hero-note { bottom: 26px; color: var(--paper); font-size: 11px; left: auto; letter-spacing: .12em; line-height: 1.7; position: absolute; right: 26px; text-transform: uppercase; }
.hero-note strong { color: var(--white); font-weight: 500; }
.trust-row { background: var(--white); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 0; grid-template-columns: repeat(4, 1fr); padding: 0 5%; }
.trust-item { align-items: center; display: flex; gap: 13px; min-width: 0; padding: 23px 20px; position: relative; }
.trust-item + .trust-item { border-left: 1px solid var(--line); }
.trust-icon { align-items: center; background: rgba(215,121,95,.12); border: 1px solid rgba(215,121,95,.32); border-radius: 50%; color: var(--coral); display: inline-flex; flex: 0 0 34px; font-size: 18px; height: 34px; justify-content: center; width: 34px; }
.trust-copy { display: grid; gap: 3px; min-width: 0; }
.trust-copy strong { color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
.trust-copy small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.category-section { padding: 100px 5% 110px; }
.compact-heading { margin-bottom: 30px; }
.category-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, 1fr); }
.category-card { align-items: flex-start; aspect-ratio: 1.25; background: var(--cream) center/cover; color: var(--ink); display: flex; flex-direction: column; justify-content: end; overflow: hidden; padding: 0 22px 18px; position: relative; transition: transform .3s ease, box-shadow .3s ease; }
.category-card::after { background: inherit; content: ""; inset: 0; position: absolute; transform: scale(1); transition: transform .5s ease; z-index: 0; }
.category-card::before { background: rgba(250,248,243,.96); bottom: 0; content: ""; height: 96px; left: 0; position: absolute; right: 0; z-index: 1; }
.category-card span, .category-card small { position: relative; z-index: 1; }
.category-card span { font-family: var(--serif); font-size: 27px; line-height: 1.05; }
.category-card small { color: var(--muted); font-size: 10px; letter-spacing: .1em; margin-top: 5px; text-transform: uppercase; }
.category-card:hover { box-shadow: 0 16px 30px rgba(30,41,39,.12); transform: translateY(-4px); }
.category-card:hover::after { transform: scale(1.05); }
.feature-section { background: var(--cream); display: grid; grid-template-columns: 1fr 1fr; }
.feature-coming-soon { background: linear-gradient(135deg, #f6e6d9, var(--cream) 50%, #d7e3dc); box-shadow: inset 0 1px 0 rgba(255,255,255,.65); min-height: 580px; overflow: hidden; position: relative; }
.feature-coming-soon::before { border: 1px solid rgba(215,121,95,.25); border-radius: 50%; content: ""; height: 420px; position: absolute; right: -130px; top: -170px; width: 420px; }
.feature-coming-soon::after { animation: gift-flash 5.5s ease-in-out infinite; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.72) 50%, transparent 65%); content: ""; inset: 0; pointer-events: none; position: absolute; transform: translateX(-100%); z-index: 3; }
.feature-image { background: linear-gradient(145deg, rgba(30,41,39,.05), rgba(215,121,95,.12)), url("https://images.unsplash.com/photo-1549465220-1a8b9238cd48?auto=format&fit=crop&w=1200&q=85") center/cover; min-height: 580px; overflow: hidden; position: relative; }
.feature-image::after { background: linear-gradient(180deg, rgba(30,41,39,.02), rgba(30,41,39,.58)); content: ""; inset: 0; position: absolute; }
.feature-copy { align-self: center; max-width: 540px; padding: 12%; }
.feature-copy { position: relative; z-index: 1; }
.flash-badge { align-items: center; animation: gift-pulse 2.5s ease-in-out infinite; background: var(--ink); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; box-shadow: 0 10px 24px rgba(30,41,39,.2); color: var(--white); display: inline-flex; font-size: 10px; font-weight: 700; gap: 8px; letter-spacing: .16em; margin-bottom: 22px; padding: 9px 13px; text-transform: uppercase; }
.flash-badge i { background: var(--coral); border-radius: 50%; box-shadow: 0 0 0 4px rgba(215,121,95,.16); display: inline-block; height: 6px; width: 6px; }
.feature-coming-soon .feature-copy .eyebrow { letter-spacing: .2em; }
.feature-coming-soon .feature-copy h2 { font-size: clamp(42px, 5vw, 70px); max-width: 500px; }
.feature-coming-soon .feature-copy > p:not(.eyebrow) { font-size: 16px; max-width: 390px; }
.feature-meta { border-bottom: 1px solid rgba(30,41,39,.16); border-top: 1px solid rgba(30,41,39,.16); display: flex; gap: 24px; margin: 28px 0 25px; max-width: 390px; padding: 12px 0; }
.feature-meta span { color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.feature-coming-soon .text-link { align-items: center; border-bottom: 1px solid var(--ink); display: inline-flex; font-size: 12px; font-weight: 700; gap: 25px; letter-spacing: .08em; padding-bottom: 9px; text-transform: uppercase; }
.feature-image-stamp { align-items: center; background: var(--coral); border: 1px solid rgba(255,255,255,.65); border-radius: 50%; color: var(--white); display: flex; font-family: var(--serif); font-size: 18px; height: 112px; justify-content: center; line-height: 1.05; position: absolute; right: 28px; text-align: center; top: 28px; transform: rotate(10deg); width: 112px; z-index: 1; }
.feature-image-ribbon { background: var(--white); box-shadow: 0 10px 25px rgba(30,41,39,.16); color: var(--muted); font-size: 9px; left: 28px; letter-spacing: .14em; line-height: 1.7; padding: 12px 14px; position: absolute; text-transform: uppercase; top: 28px; transform: rotate(-4deg); z-index: 1; }
.feature-image-ribbon strong { color: var(--ink); font-family: var(--serif); font-size: 16px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.feature-image-note { bottom: 28px; color: var(--white); font-size: 11px; left: 30px; letter-spacing: .14em; line-height: 1.7; position: absolute; text-transform: uppercase; z-index: 1; }
.feature-image-count { bottom: 28px; color: rgba(255,255,255,.8); font-size: 11px; letter-spacing: .12em; position: absolute; right: 30px; z-index: 1; }
.feature-image-count i { color: var(--coral); font-style: normal; margin: 0 5px; }
.feature-copy .eyebrow { border: 1px solid var(--coral); display: inline-block; padding: 7px 10px; }
.feature-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; margin: 25px 0 30px; }
@keyframes gift-flash { 0%, 55% { transform: translateX(-100%); } 75%, 100% { transform: translateX(100%); } }
@keyframes gift-pulse { 0%, 100% { box-shadow: 0 10px 24px rgba(215,121,95,.24); transform: translateY(0); } 50% { box-shadow: 0 14px 30px rgba(215,121,95,.42); transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .feature-coming-soon::after, .flash-badge { animation: none; } }
.shop-section { padding: 110px 5% 125px; }
.section-heading { align-items: end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 42px; min-width: 0; }
.section-heading .eyebrow { margin-bottom: 14px; }
.shop-controls { align-items: center; display: flex; gap: 26px; min-width: 0; }
.filter-tabs { display: flex; flex-wrap: nowrap; gap: 18px; min-width: 0; }
.filter-tab { background: none; border: 0; border-bottom: 1px solid transparent; color: var(--muted); padding: 6px 0; }
.filter-tab { white-space: nowrap; }
.filter-tab.active, .filter-tab:hover { border-color: var(--coral); color: var(--ink); }
.sort-menu { color: var(--muted); font-size: 12px; position: relative; }
.sort-menu summary { align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; color: var(--ink); cursor: pointer; display: inline-flex; gap: 7px; list-style: none; padding: 10px 13px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.sort-menu summary::-webkit-details-marker { display: none; }
.sort-menu summary:hover, .sort-menu[open] summary { border-color: var(--coral); box-shadow: 0 8px 20px rgba(30,41,39,.08); transform: translateY(-1px); }
.sort-symbol { height: 16px; width: 16px; }
.sort-chevron { color: var(--coral); font-size: 16px; line-height: 10px; margin-left: 2px; }
.sort-options { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 16px 34px rgba(30,41,39,.14); display: grid; gap: 4px; min-width: 178px; padding: 7px; position: absolute; right: 0; top: calc(100% + 9px); z-index: 5; }
.sort-option { background: transparent; border: 0; border-radius: 9px; color: var(--muted); cursor: pointer; font: inherit; padding: 10px 11px; text-align: left; transition: background .2s ease, color .2s ease; }
.sort-option:hover, .sort-option.active { background: var(--cream); color: var(--ink); }
.sort-option.active { box-shadow: inset 3px 0 var(--coral); }
.product-grid { display: grid; gap: 46px 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { min-width: 0; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.variant-editor { border-top: 1px solid var(--line); padding-top: 18px; }
.variant-editor-head { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 10px; }
.variant-editor-head > div { display: grid; gap: 2px; }
.variant-editor-head small { color: var(--muted); font-size: 11px; }
.variant-editor-actions { align-items: center; display: flex !important; flex-wrap: wrap; gap: 8px; }
.variant-row { align-items: center; display: grid; gap: 8px; grid-template-columns: 1fr 1fr 100px 100px 90px 1fr auto; margin-bottom: 8px; }
.variant-row input { border: 1px solid var(--line); min-width: 0; padding: 10px; }
.product-variant-options { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 10px; }
.product-variant-options label { display: grid; gap: 5px; }
.product-variant-options label span { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.product-variant-options select { border: 1px solid var(--line); background: var(--white); padding: 9px 28px 9px 10px; }
.product-modal-stock { color: var(--muted); font-size: 12px; min-height: 18px; }
.product-modal-stock:empty { display: none; }
.add-button.is-disabled, .button.is-disabled { cursor: not-allowed; opacity: .58; }
.cart-variant { display: block; color: var(--coral); }
.product-card:focus-visible { outline: 2px solid var(--coral); outline-offset: 5px; }
.product-card:hover { transform: translateY(-3px); }
.products-refreshing .product-card { animation: product-arrive .45s both; }
.products-refreshing .product-card:nth-child(2) { animation-delay: .05s; }
.products-refreshing .product-card:nth-child(3) { animation-delay: .1s; }
.products-refreshing .product-card:nth-child(4) { animation-delay: .15s; }
.products-refreshing .product-card:nth-child(5) { animation-delay: .2s; }
.products-refreshing .product-card:nth-child(6) { animation-delay: .25s; }
.products-refreshing .product-card:nth-child(7) { animation-delay: .3s; }
.products-refreshing .product-card:nth-child(8) { animation-delay: .35s; }
@keyframes product-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
[data-animation="lift"] .products-refreshing .product-card { animation-name: product-lift; }
[data-animation="none"] .products-refreshing .product-card { animation: none; }
@keyframes product-lift { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .products-refreshing .product-card { animation: none; } }
@media (max-width: 820px) { .product-modal-panel { grid-template-columns: 1fr; grid-template-rows: minmax(260px, 42dvh) minmax(0, 1fr); overflow: hidden; } .product-modal-image { min-height: 0; } .product-modal-copy { max-width: none; padding: 34px 24px 40px; } .product-modal-copy h2 { font-size: 38px; } .product-modal-footer { align-items: flex-start; flex-direction: column; } .product-modal-footer .button { width: 100%; } }
.product-image { aspect-ratio: .95; background: var(--cream) center/cover; margin-bottom: 18px; overflow: hidden; position: relative; transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.product-image::before { display: none; }
.product-image::after { background: linear-gradient(180deg, rgba(30,41,39,0) 48%, rgba(30,41,39,.22)); content: ""; inset: 0; opacity: 0; position: absolute; transition: opacity .35s ease; }
.product-card:hover .product-image { filter: saturate(1.06); transform: translateY(-5px); }
.product-card:hover .product-image::after { opacity: 1; }
.product-badge { background: rgba(255,254,250,.92); border: 1px solid rgba(216,219,210,.8); font-size: 9px; left: 20px; letter-spacing: .14em; padding: 7px 9px; position: absolute; text-transform: uppercase; top: 20px; z-index: 2; }
.sale-ribbon { animation: sale-pulse 1.8s ease-in-out infinite; background: var(--coral); color: var(--white); font-size: 10px; font-weight: 700; letter-spacing: .12em; padding: 8px 10px; position: absolute; right: 10px; text-transform: uppercase; top: 10px; z-index: 2; }
.sale-active::before { border: 1px solid rgba(215,121,95,.75); content: ""; inset: 5px; pointer-events: none; position: absolute; z-index: 1; }
@keyframes sale-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(215,121,95,.35); transform: rotate(0); } 50% { box-shadow: 0 0 0 7px rgba(215,121,95,0); transform: rotate(-2deg); } }
@media (prefers-reduced-motion: reduce) { .sale-ribbon { animation: none; } }
.product-info { align-items: start; display: flex; justify-content: space-between; gap: 14px; }
.product-name { font-family: var(--serif); font-size: 22px; font-weight: 500; letter-spacing: -.03em; margin: 0; }
.product-category { color: var(--muted); font-size: 10px; letter-spacing: .13em; margin: 5px 0 0; text-transform: uppercase; }
.product-price { color: var(--ink); font-size: 13px; font-weight: 600; margin: 2px 0 0; white-space: nowrap; }
.product-price del { color: var(--muted); font-size: 11px; font-weight: 400; }
.add-button { background: transparent; border: 0; border-bottom: 1px solid var(--coral); color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin-top: 15px; padding: 0 0 5px; text-transform: uppercase; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.add-button:hover { border-color: var(--ink); color: var(--coral); transform: translateX(4px); }
.product-modal { align-items: stretch; background: rgba(30,41,39,.9); display: flex; inset: 0; justify-content: stretch; opacity: 0; padding: 0; pointer-events: none; position: fixed; transition: opacity .3s ease; z-index: 14; }
.product-modal.open { opacity: 1; pointer-events: auto; }
.product-modal-panel { background: var(--white); box-shadow: 0 30px 90px rgba(8,18,16,.32); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr); height: 100dvh; max-height: none; max-width: none; overflow: hidden; position: relative; width: 100vw; }
.product-modal-panel .close-button { position: absolute; right: 18px; top: 16px; z-index: 2; }
.product-modal-image { background: var(--cream) center/cover; border-right: 1px solid rgba(30,41,39,.16); min-height: 100%; position: relative; }
.product-gallery-main { background: var(--cream) center/cover; inset: 0; position: absolute; }
.product-gallery-thumbs { bottom: 28px; display: flex; gap: 8px; left: 28px; position: absolute; z-index: 1; }
.product-gallery-thumb { background: var(--cream) center/cover; border: 2px solid rgba(255,255,255,.7); border-radius: 6px; cursor: pointer; height: 58px; opacity: .72; padding: 0; transition: opacity .2s ease, border-color .2s ease, transform .2s ease; width: 58px; }
.product-gallery-thumb.active, .product-gallery-thumb:hover { border-color: #fff; opacity: 1; transform: translateY(-2px); }
.product-modal-image::after { background: linear-gradient(90deg, transparent 80%, rgba(30,41,39,.12)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.product-modal-copy { align-self: stretch; background: #fffefa; max-width: 620px; overflow-y: auto; padding: 84px clamp(30px, 5vw, 82px) 48px; scrollbar-color: rgba(215,121,95,.5) transparent; scrollbar-width: thin; }
.product-modal-copy h2 { font-size: clamp(36px, 4vw, 58px); margin-top: 12px; }
.product-modal-description-block { border-top: 1px solid var(--line); margin: 24px 0 26px; padding-top: 17px; }
.product-modal-description-label { color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .14em; margin: 0 0 8px; text-transform: uppercase; }
.product-modal-description { color: var(--muted); font-size: 15px; line-height: 1.85; margin: 0; max-width: 420px; }
.product-modal-details { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 8px; margin-bottom: 28px; padding: 13px 0; }
.product-modal-details span { color: var(--muted); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.product-modal-footer { align-items: center; background: linear-gradient(180deg, rgba(255,254,250,.78), var(--white) 28%); bottom: 0; display: flex; gap: 18px; justify-content: space-between; padding-top: 18px; position: sticky; }
.product-modal-footer strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.product-modal-footer del { color: var(--muted); font-family: var(--sans); font-size: 12px; margin-right: 5px; }
@media (max-width: 820px) { .product-modal-panel { grid-template-columns: 1fr; grid-template-rows: minmax(260px, 42dvh) minmax(0, 1fr); overflow: hidden; } .product-modal-image { border-bottom: 1px solid rgba(30,41,39,.16); border-right: 0; min-height: 0; } .product-modal-image::after { background: linear-gradient(180deg, transparent 78%, rgba(30,41,39,.14)); } .product-modal-copy { max-width: none; padding: 34px 24px 40px; } .product-modal-copy h2 { font-size: 38px; } .product-modal-footer { align-items: flex-start; flex-direction: column; } .product-modal-footer .button { width: 100%; } }
.story-section { background: var(--sage); display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.story-visual { min-height: 540px; }
.story-image { background: url("https://images.unsplash.com/photo-1514228742587-6b1558fcca3d?auto=format&fit=crop&w=1200&q=85") center/cover; height: 100%; min-height: 540px; }
.story-copy { align-self: center; max-width: none; padding: 12%; }
.story-copy h2 { max-width: 390px; }
.story-copy p:not(.eyebrow):not(.story-quote) { color: #485651; line-height: 1.8; margin: 27px 0; }
.story-rule { align-items: center; display: flex; gap: 10px; margin: 25px 0 0; }
.story-rule::before { background: var(--coral); content: ""; height: 1px; width: 42px; }
.story-rule span { border: 1px solid var(--coral); border-radius: 50%; height: 6px; width: 6px; }
.story-quote { color: var(--ink); font-family: var(--serif); font-size: 20px; line-height: 1.35; margin: 0 0 28px; max-width: 300px; }
.text-link { border-bottom: 1px solid var(--ink); display: inline-flex; font-size: 13px; gap: 22px; padding-bottom: 7px; }
.testimonial-section { display: grid; gap: 9%; grid-template-columns: .8fr 1.2fr; padding: 110px 12%; }
.testimonial-heading > p:last-child { color: var(--muted); margin-top: 24px; }
.testimonial-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.testimonial-grid blockquote { border-left: 1px solid var(--coral); font-family: var(--serif); font-size: 18px; line-height: 1.45; margin: 0; padding: 0 18px; }
.testimonial-grid cite { color: var(--muted); display: block; font-family: var(--sans); font-size: 11px; font-style: normal; letter-spacing: .08em; margin-top: 22px; text-transform: uppercase; }
.newsletter { align-items: center; display: flex; gap: 10%; justify-content: space-between; padding: 100px 12%; }
.newsletter-form { min-width: 42%; }
.newsletter-form label { color: var(--muted); display: block; font-size: 12px; margin-bottom: 8px; }
.newsletter-form > div { border-bottom: 1px solid var(--ink); display: flex; gap: 8px; }
.newsletter-form input { background: none; border: 0; flex: 1; min-width: 0; outline: 0; padding: 12px 0; }
.form-message { color: var(--coral); font-size: 12px; min-height: 18px; }
.closing-cta { background: var(--coral); color: var(--white); padding: 100px 8%; text-align: center; }
.closing-cta .eyebrow { color: var(--white); }
.closing-cta h2 { margin: 0 auto 30px; max-width: 680px; }
.button-light { background: var(--white); color: var(--ink); }
.button-light:hover { background: var(--ink); color: var(--white); }
.sale-section { background: var(--sale-accent, var(--coral)); color: var(--white); min-height: 330px; overflow: hidden; padding: 76px 8%; position: relative; text-align: center; }
.sale-copy { margin: 0 auto; max-width: 650px; position: relative; z-index: 1; }
.sale-section .eyebrow { color: var(--white); }
.sale-section h2 { font-size: clamp(38px, 5vw, 66px); margin: 0 auto 18px; }
.sale-section #sale-text { font-size: 16px; margin: 0 auto 30px; max-width: 470px; opacity: .88; }
.sale-section .button-light { box-shadow: 0 10px 25px rgba(30,41,39,.12); }
.sale-spark { color: rgba(255,254,250,.75); font-size: 38px; position: absolute; }
.sale-spark-one { left: 12%; top: 22%; }
.sale-spark-two { bottom: 20%; right: 13%; }
.sale-section[data-animation="shine"]::before { background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.2) 45%, transparent 65%); content: ""; inset: 0; position: absolute; transform: translateX(-100%); animation: sale-shine 4.5s ease-in-out infinite; }
.sale-section[data-animation="float"] .sale-spark-one { animation: sale-float 3s ease-in-out infinite; }
.sale-section[data-animation="float"] .sale-spark-two { animation: sale-float 3.5s ease-in-out .5s infinite reverse; }
.sale-section[data-animation="pulse"] { animation: sale-pulse-section 2.8s ease-in-out infinite; }
.custom-home-section { align-items: center; background: var(--custom-bg); color: var(--custom-text); display: grid; grid-template-columns: 1fr; min-height: var(--custom-min-height); overflow: hidden; }
.custom-home-section.has-image.custom-layout-image-left, .custom-home-section.has-image.custom-layout-image-right { grid-template-columns: 1fr 1fr; }
.custom-layout-image-right .custom-section-image { order: 2; }
.custom-section-image { align-self: stretch; background: var(--custom-image) var(--custom-image-position, center)/cover; min-height: var(--custom-min-height); }
.custom-section-copy { max-width: 680px; padding: var(--custom-padding); }
.custom-align-center .custom-section-copy { margin: 0 auto; text-align: center; }
.custom-align-right .custom-section-copy { margin-left: auto; text-align: right; }
.custom-align-center .custom-section-copy > p:not(.eyebrow), .custom-align-right .custom-section-copy > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
.custom-section-copy h2 { font-size: clamp(34px, 4vw, 58px); margin: 0 0 18px; }
.custom-section-copy > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; margin: 0 0 28px; max-width: 520px; }
.custom-section-copy > p:not(.eyebrow) { color: color-mix(in srgb, var(--custom-text) 68%, transparent); }
.custom-section-button { background: var(--custom-accent); border-color: var(--custom-accent); color: var(--white); margin-top: 2px; }
.custom-section-button:hover { background: var(--custom-text); border-color: var(--custom-text); color: var(--white); }
.custom-animation-fade .custom-section-copy { animation: custom-section-fade .65s ease both; }
.custom-animation-lift .custom-section-copy { animation: custom-section-lift .65s ease both; }
.maison-points-explanation { background: #f3eee7; padding: 100px 8%; }
.maison-points-explanation-heading { margin: 0 auto 48px; max-width: 720px; text-align: center; }
.maison-points-explanation-heading h2 { font-size: clamp(34px, 4vw, 58px); margin: 0 0 18px; }
.maison-points-explanation-heading > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; margin: 0 auto; max-width: 620px; }
.maison-points-tier-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; max-width: 1180px; }
.maison-points-tier { background: rgba(255,255,255,.68); border: 1px solid rgba(30,41,39,.1); padding: 30px; }
.maison-points-tiers .maison-points-explanation-heading { margin-bottom: 58px; }
.maison-points-tiers .maison-points-tier-grid { align-items: stretch; gap: 24px; position: relative; }
.maison-points-tiers .maison-points-tier-grid::before { background: linear-gradient(90deg, #b9c1c8, #c9982e, #68737c); content: ""; height: 2px; left: 13%; position: absolute; right: 13%; top: 50px; }
.maison-points-tiers .maison-points-tier { min-height: 280px; padding: 34px; position: relative; z-index: 1; }
.maison-points-tiers .maison-points-tier-number { align-items: center; background: var(--white); border: 2px solid currentColor; border-radius: 50%; display: flex; height: 44px; justify-content: center; margin-bottom: 32px; width: 44px; }
.maison-points-tiers .maison-points-tier h3 { font-size: 38px; }
.maison-points-tiers .maison-points-tier p:last-child { max-width: 290px; }
.maison-points-tier-silver { background: linear-gradient(145deg, #f5f6f7, #d9dee2); border-color: #b9c1c8; }
.maison-points-tier-gold { background: linear-gradient(145deg, #fff8df, #e5bf62); border-color: #c9982e; }
.maison-points-tier-platinum { background: linear-gradient(145deg, #eef1f3, #8d969e); border-color: #68737c; color: #182126; }
.maison-points-tier-silver .maison-points-tier-number { color: #68747d; }
.maison-points-tier-gold .maison-points-tier-number { color: #866014; }
.maison-points-tier-platinum .maison-points-tier-number { color: #36434c; }
.maison-points-tier-platinum p { color: #34434c; }
.maison-points-tier-number { color: var(--accent); display: block; font-size: 12px; font-weight: 700; letter-spacing: .14em; margin-bottom: 34px; }
.maison-points-tier h3 { font-family: var(--display); font-size: 32px; margin: 0 0 8px; }
.maison-points-tier p { color: var(--muted); line-height: 1.7; margin: 0; }
.maison-points-tier .maison-points-tier-range { color: var(--ink); font-size: 13px; font-weight: 700; letter-spacing: .08em; margin-bottom: 16px; text-transform: uppercase; }
.maison-points-page { background: #fbfaf7; }
.maison-points-page .site-header { border-bottom: 1px solid var(--line); }
.maison-points-hero { background: #e8e9df; padding: 130px 8%; text-align: center; }
.maison-points-hero h1 { font-size: clamp(48px, 8vw, 96px); line-height: .98; margin: 0 auto 26px; max-width: 900px; }
.maison-points-hero > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; margin: 0 auto 32px; max-width: 650px; }
.maison-points-how { background: linear-gradient(135deg, #f3eee7, #ebe8dc); display: grid; gap: 48px; padding: 110px 8%; position: relative; }
.maison-points-how::before { border: 1px solid rgba(215,121,95,.2); content: ""; inset: 24px; pointer-events: none; position: absolute; }
.maison-points-how-heading { margin: 0 auto; max-width: 650px; position: relative; text-align: center; }
.maison-points-how-heading h2 { font-size: clamp(34px, 4vw, 58px); margin: 0 0 16px; }
.maison-points-how-heading > p:not(.eyebrow) { color: var(--muted); line-height: 1.7; margin: 0 auto; max-width: 470px; }
.maison-points-steps { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; max-width: 1180px; position: relative; width: 100%; }
.maison-points-steps article { align-items: flex-start; background: rgba(255,255,255,.72); border: 1px solid rgba(30,41,39,.1); border-top: 4px solid var(--coral); box-shadow: 0 18px 45px rgba(30,41,39,.07); display: flex; gap: 22px; min-height: 230px; padding: 28px; transition: transform .25s ease, box-shadow .25s ease; }
.maison-points-steps article:hover { box-shadow: 0 24px 55px rgba(30,41,39,.12); transform: translateY(-5px); }
.maison-points-step-icon { align-items: center; background: var(--coral); border: 5px solid rgba(215,121,95,.14); border-radius: 50%; color: var(--white); display: flex; flex: 0 0 56px; font-size: 12px; font-weight: 700; height: 56px; justify-content: center; letter-spacing: .12em; }
.maison-points-step-label { color: var(--coral); display: block; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.maison-points-steps h3 { font-family: var(--display); font-size: 32px; margin: 18px 0 12px; }
.maison-points-steps p { color: var(--muted); line-height: 1.7; margin: 0; }
.maison-points-how-heading .eyebrow, .maison-points-explanation-heading .eyebrow { position: relative; }
.maison-points-how-heading .eyebrow::before, .maison-points-how-heading .eyebrow::after, .maison-points-explanation-heading .eyebrow::before, .maison-points-explanation-heading .eyebrow::after { background: var(--coral); content: ""; display: inline-block; height: 1px; margin: 0 12px 4px; opacity: .55; width: 34px; }
.maison-points-steps article:nth-child(1) { background: #f8e8df; border-top-color: #d7795f; }
.maison-points-steps article:nth-child(2) { background: #e8eee6; border-top-color: #647c68; }
.maison-points-steps article:nth-child(3) { background: #f3ead7; border-top-color: #b38a4a; }
.maison-points-steps article:nth-child(1) .maison-points-step-icon { background: #d7795f; }
.maison-points-steps article:nth-child(2) .maison-points-step-icon { background: var(--ink); }
.maison-points-steps article:nth-child(2) .maison-points-step-label { color: #647c68; }
.maison-points-steps article:nth-child(3) .maison-points-step-icon { background: #b38a4a; }
.maison-points-steps article:nth-child(3) .maison-points-step-label { color: #9a7337; }
.maison-points-tiers { background: #f3eee7; padding: 110px 8%; }
.maison-points-tiers .maison-points-tier { box-shadow: 0 22px 60px rgba(0,0,0,.18); }
.loyalty-tier-tier-silver { border-left: 4px solid #9ca8b0; }
.loyalty-tier-tier-gold { border-left: 4px solid #c9982e; }
.loyalty-tier-tier-platinum { border-left: 4px solid #68737c; }
.policy-page { background: #f8f5ef; }
.policy-hero { background: #e8e9df; padding: 108px 8% 78px; text-align: center; }
.policy-hero h1 { font-size: clamp(48px, 8vw, 92px); line-height: .98; margin: 0 auto 24px; }
.policy-hero > p:not(.eyebrow):not(.policy-updated) { color: var(--muted); line-height: 1.8; margin: 0 auto; max-width: 690px; }
.policy-updated { color: var(--ink); font-size: 11px; letter-spacing: .12em; margin: 26px 0 0; text-transform: uppercase; }
.policy-layout { align-items: start; display: grid; gap: 76px; grid-template-columns: minmax(220px, 300px) minmax(0, 760px); margin: 0 auto; max-width: 1240px; padding: 92px 8% 120px; }
.policy-summary { background: #efe5d8; border: 1px solid rgba(30,41,39,.12); padding: 30px; position: sticky; top: 24px; }
.policy-summary .eyebrow { color: var(--coral); margin-bottom: 26px; }
.policy-summary div { border-top: 1px solid rgba(30,41,39,.16); padding: 18px 0; }
.policy-summary strong, .policy-summary span { display: block; }
.policy-summary strong { font-family: var(--display); font-size: 30px; font-weight: 500; }
.policy-summary span { color: var(--muted); font-size: 12px; margin-top: 4px; }
.policy-summary .button { display: block; margin-top: 16px; text-align: center; }
.policy-content { min-width: 0; }
.policy-content section { border-top: 1px solid var(--line); padding: 34px 0 40px; }
.policy-content section:first-child { border-top: 0; padding-top: 0; }
.policy-content .eyebrow { color: var(--coral); margin-bottom: 13px; }
.policy-content h2 { font-family: var(--display); font-size: clamp(30px, 4vw, 45px); font-weight: 500; line-height: 1.08; margin: 0 0 18px; }
.policy-content p, .policy-content li { color: var(--muted); font-size: 15px; line-height: 1.8; }
.policy-content p { margin: 0 0 15px; }
.policy-content p:last-child { margin-bottom: 0; }
.policy-content strong { color: var(--ink); }
.policy-content a { color: var(--coral); text-decoration: underline; text-underline-offset: 3px; }
.policy-content ul, .policy-steps { display: grid; gap: 12px; margin: 0 0 17px; padding-left: 24px; }
.policy-steps { counter-reset: policy-step; list-style: none; padding-left: 0; }
.policy-steps li { counter-increment: policy-step; padding-left: 46px; position: relative; }
.policy-steps li::before { align-items: center; background: var(--coral); border-radius: 50%; color: var(--white); content: counter(policy-step, decimal-leading-zero); display: flex; font-size: 10px; font-weight: 700; height: 28px; justify-content: center; left: 0; letter-spacing: .08em; position: absolute; top: 2px; width: 28px; }
.return-request-section { background: linear-gradient(145deg, #f3e7d9, #eee3d7); border: 1px solid rgba(30,41,39,.12) !important; box-shadow: 0 24px 70px rgba(30,41,39,.09); margin: 10px 0 0; overflow: hidden; padding: 42px !important; position: relative; }
.return-request-section::after { border: 1px solid rgba(215,121,95,.18); content: ""; inset: 14px; pointer-events: none; position: absolute; }
.return-request-section > * { position: relative; z-index: 1; }
.return-request-form { background: rgba(255,255,255,.38); border: 1px solid rgba(30,41,39,.1); margin-top: 32px; padding: 24px; }
.return-form-intro { align-items: center; border-bottom: 1px solid rgba(30,41,39,.14); display: flex; gap: 14px; margin-bottom: 24px; padding-bottom: 20px; }
.return-form-badge { align-items: center; background: var(--coral); border-radius: 50%; color: var(--white); display: flex; flex: 0 0 38px; font-size: 11px; font-weight: 700; height: 38px; justify-content: center; letter-spacing: .08em; }
.return-form-intro strong, .return-form-intro small { display: block; }
.return-form-intro strong { font-family: var(--display); font-size: 20px; font-weight: 500; }
.return-form-intro small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.return-form-secure { color: var(--coral); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin-left: auto; text-transform: uppercase; }
.return-form-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.return-request-form label { display: grid; gap: 8px; }
.return-request-form label span { color: var(--ink); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.return-request-form input, .return-request-form select, .return-request-form textarea { background: rgba(255,255,255,.8); border: 1px solid rgba(30,41,39,.18); border-radius: 2px; color: var(--ink); font: inherit; min-height: 48px; padding: 13px 14px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; width: 100%; }
.return-request-form textarea { resize: vertical; }
.return-request-form input:focus, .return-request-form select:focus, .return-request-form textarea:focus { background: var(--white); border-color: var(--coral); box-shadow: 0 0 0 3px rgba(215,121,95,.14); outline: 0; }
.return-form-wide { grid-column: 1 / -1; }
.return-form-divider { align-items: center; color: var(--coral); display: flex; font-size: 10px; font-weight: 700; gap: 12px; letter-spacing: .12em; margin-top: 4px; text-transform: uppercase; }
.return-form-divider::after { background: rgba(30,41,39,.14); content: ""; flex: 1; height: 1px; }
.return-request-form .button { border: 0; cursor: pointer; margin-top: 24px; min-width: 230px; }
.return-form-note { color: var(--coral) !important; font-size: 13px !important; margin: 14px 0 0 !important; min-height: 20px; }
.return-upload-field { background: rgba(255,255,255,.28); border: 1px dashed rgba(215,121,95,.55); padding: 18px; }
.return-upload-field input[type="file"] { background: transparent; border: 0; min-height: auto; padding: 4px 0; }
.return-upload-field input[type="file"]::file-selector-button { background: var(--ink); border: 0; color: var(--white); cursor: pointer; font: inherit; font-size: 12px; margin-right: 12px; padding: 11px 15px; }
.return-upload-field > span:first-child small { color: var(--muted); font-size: 10px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.return-upload-help, .return-upload-list { color: var(--muted); display: block; font-size: 12px; line-height: 1.5; }
.return-upload-list { color: var(--ink); margin-top: 8px; overflow-wrap: anywhere; }
.cart-drawer { background: #f5f4ee; border-left: 2px solid #1e2927; box-shadow: -18px 0 0 rgba(215,121,95,.18), -28px 0 65px rgba(30,41,39,.24); color: #1e2927; padding: 24px 24px 20px; }
.cart-drawer .drawer-header { align-items: center; border-bottom: 0; padding: 4px 0 18px; }
.cart-drawer .drawer-header::after { background: #c9ed67; border: 2px solid #1e2927; border-radius: 999px; content: "GOOD CHOICES"; color: #1e2927; font-size: 9px; font-weight: 800; left: 25px; letter-spacing: .12em; padding: 5px 9px; position: absolute; top: 25px; transform: rotate(-4deg); }
.cart-drawer .drawer-header > div { padding-top: 30px; }
.cart-drawer .drawer-header .eyebrow { color: #d7795f; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.cart-drawer .drawer-header h2 { font-family: var(--sans); font-size: clamp(31px, 7vw, 42px); font-weight: 800; letter-spacing: -.07em; line-height: .92; }
.cart-drawer .close-button { background: #1e2927; border: 2px solid #1e2927; color: #f5f4ee; font-weight: 700; height: 42px; width: 42px; }
.cart-drawer .close-button:hover { background: #d7795f; color: #1e2927; transform: rotate(90deg); }
.cart-drawer .cart-items { border-top: 2px solid #1e2927; padding: 18px 0 14px; }
.cart-drawer .cart-item { align-items: center; background: #fffdfa; border: 2px solid #1e2927; box-shadow: 5px 5px 0 #c9ed67; gap: 13px; margin: 0 4px 18px 0; padding: 12px; }
.cart-drawer .cart-item img { border: 2px solid #1e2927; height: 88px; width: 78px; }
.cart-drawer .cart-item-details p { font-family: var(--sans); font-size: 16px; font-weight: 800; letter-spacing: -.03em; }
.cart-drawer .cart-item-details small { font-size: 11px; }
.cart-drawer .quantity-controls { background: #c9ed67; border: 2px solid #1e2927; border-radius: 999px; gap: 11px; margin-top: 10px; padding: 2px 8px; }
.cart-drawer .quantity-controls button { color: #1e2927; font-weight: 800; }
.cart-drawer .cart-summary { background: #1e2927; border: 0; color: #fffdfa; padding: 22px 18px 18px; }
.cart-drawer .cart-summary::before { color: #c9ed67; content: "YOUR BAG"; }
.cart-drawer .cart-summary .summary-line span { color: rgba(255,253,250,.7); }
.cart-drawer .cart-summary .summary-line strong { color: #fffdfa; }
.cart-drawer .cart-summary .total-row { border-top-color: rgba(255,253,250,.3); }
.cart-drawer .cart-summary .total-row span, .cart-drawer .cart-summary .total-row strong { color: #fffdfa; font-size: 21px; }
.cart-drawer .checkout-button { background: #d7795f; border: 2px solid #fffdfa; box-shadow: 4px 4px 0 #c9ed67; color: #1e2927; font-weight: 800; margin-top: 13px; }
.cart-drawer .checkout-button:hover { background: #c9ed67; box-shadow: 2px 2px 0 #fffdfa; transform: translate(2px, 2px); }
.cart-drawer .checkout-form { background: #fffdfa; border: 2px solid #1e2927; padding: 18px; }
.cart-drawer .checkout-form::before { color: #d7795f; font-weight: 800; }
.cart-drawer { background: #fff; border-left: 1px solid #e7e3dc; box-shadow: -12px 0 40px rgba(30,41,39,.12); color: var(--ink); max-width: 520px; padding: 28px 30px 24px; z-index: 20; }
.cart-drawer .drawer-header { align-items: center; border-bottom: 1px solid #ece8e2; padding: 0 0 22px; }
.cart-drawer .drawer-header::after { display: none; }
.cart-drawer .drawer-header > div { padding-top: 0; }
.cart-drawer .drawer-header .eyebrow { color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.cart-drawer .drawer-header h2 { font-family: var(--display); font-size: 38px; font-weight: 500; letter-spacing: -.04em; line-height: 1; margin-top: 5px; }
.cart-drawer .close-button { background: #f5f3ef; border: 1px solid #e4dfd7; color: var(--ink); height: 40px; width: 40px; }
.cart-drawer .close-button:hover { background: #eee9e1; color: var(--ink); transform: none; }
.cart-drawer .cart-items { border-top: 0; padding: 24px 0 16px; }
.cart-drawer .cart-item { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #ece8e2; box-shadow: none; gap: 16px; margin: 0; padding: 0 0 20px; }
.cart-drawer .cart-item + .cart-item { padding-top: 20px; }
.cart-drawer .cart-item img { border: 0; border-radius: 10px; height: 100px; width: 88px; }
.cart-drawer .cart-item-details p { font-family: var(--sans); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.cart-drawer .quantity-controls { background: #fff; border: 1px solid #d9d4cc; border-radius: 6px; gap: 12px; margin-top: 12px; padding: 3px 8px; }
.cart-drawer .quantity-controls button { color: var(--ink); font-size: 14px; font-weight: 500; }
.cart-drawer .cart-summary { background: #f8f6f2; border: 0; border-radius: 12px; color: var(--ink); padding: 22px 20px 18px; }
.cart-drawer .cart-summary::before { color: var(--muted); content: "Order summary"; font-size: 10px; letter-spacing: .12em; }
.cart-drawer .cart-summary .summary-line span { color: var(--muted); }
.cart-drawer .cart-summary .summary-line strong { color: var(--ink); }
.cart-drawer .cart-summary .total-row { border-top-color: #ded9d1; }
.cart-drawer .cart-summary .total-row span, .cart-drawer .cart-summary .total-row strong { color: var(--ink); font-size: 19px; }
.cart-drawer .checkout-button { background: var(--ink); border: 0; border-radius: 6px; box-shadow: none; color: #fff; font-size: 13px; font-weight: 600; margin-top: 14px; padding: 16px 18px; }
.cart-drawer .checkout-button:hover { background: #374744; box-shadow: none; transform: none; }
.cart-drawer .checkout-form { background: #f8f6f2; border: 0; border-radius: 12px; padding: 20px; }
.cart-drawer .checkout-form::before { color: var(--muted); font-weight: 700; }
.drawer-overlay { z-index: 19; }
@media (max-width: 850px) { .maison-points-how::before { inset: 14px; } .maison-points-steps { grid-template-columns: 1fr; } .maison-points-tiers .maison-points-tier-grid::before { bottom: 12%; height: auto; left: 51px; right: auto; top: 8%; width: 2px; } .maison-points-tiers .maison-points-tier-grid { gap: 16px; } .maison-points-tiers .maison-points-tier { min-height: 0; } }
@keyframes custom-section-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes custom-section-lift { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .custom-animation-fade .custom-section-copy, .custom-animation-lift .custom-section-copy { animation: none; } }
 :root { --custom-padding-compact: 48px 8%; --custom-padding-standard: 66px 10%; --custom-padding-airy: 88px 10%; --custom-height-short: 260px; --custom-height-medium: 360px; --custom-height-tall: 480px; }
@keyframes sale-shine { 0%, 35% { transform: translateX(-100%); } 70%, 100% { transform: translateX(100%); } }
@keyframes sale-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-14px) rotate(12deg); } }
@keyframes sale-pulse-section { 0%, 100% { box-shadow: inset 0 0 0 0 rgba(255,255,255,0); } 50% { box-shadow: inset 0 0 45px rgba(255,255,255,.13); } }
@media (prefers-reduced-motion: reduce) { .sale-section[data-animation], .sale-section[data-animation]::before, .sale-spark { animation: none; } }
.site-footer { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: 1fr 1fr 1fr auto; padding: 30px 5%; }
.site-footer p, .site-footer small { color: var(--muted); font-size: 11px; margin: 0; }
.site-footer .footer-description-link { color: var(--muted); font-size: 11px; margin: 0; text-decoration: none; }
.site-footer .footer-description-link:hover { color: var(--coral); }
.site-footer .footer-policy { display: inline-flex; flex-direction: column; gap: 6px; }
.site-footer .footer-policy > span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-footer .footer-policy .footer-description-link { color: var(--ink); font-size: 13px; text-decoration: underline; text-decoration-color: var(--coral); text-underline-offset: 4px; }
.site-footer div { align-items: center; display: flex; gap: 22px; }
.footer-contact { display: inline-flex; flex-direction: column; gap: 2px; }
.footer-contact > span { color: var(--muted); font-size: 11px; }
.footer-contact a { color: var(--ink); font-size: 12px; }
.footer-phone { color: var(--muted) !important; }
.cart-drawer { background: linear-gradient(180deg, #fffdfa 0%, #f7f2eb 100%); bottom: 0; box-shadow: -22px 0 70px rgba(30,41,39,.2); display: flex; flex-direction: column; max-width: 500px; overflow-y: auto; padding: 30px 34px 24px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform .35s ease; width: 100%; z-index: 10; }
.cart-drawer.open { transform: translateX(0); }
.drawer-overlay { background: rgba(30,41,39,.3); inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .35s; z-index: 9; }
.drawer-overlay.open { opacity: 1; pointer-events: auto; }
.drawer-header { align-items: start; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 22px; }
.drawer-header h2 { font-size: 37px; margin-top: 3px; }
.drawer-header .eyebrow { color: var(--coral); }
.close-button { align-items: center; background: rgba(30,41,39,.06); border: 1px solid rgba(30,41,39,.1); border-radius: 50%; color: var(--ink); display: inline-flex; font-size: 24px; height: 38px; justify-content: center; line-height: 1; padding: 0 0 3px; transition: background .2s ease, transform .2s ease; width: 38px; }
.close-button:hover { background: rgba(215,121,95,.14); transform: rotate(8deg); }
.cart-items { flex: 1; min-height: 160px; overflow: auto; padding: 20px 2px 12px; }
.empty-cart { background: rgba(255,255,255,.52); border: 1px dashed rgba(30,41,39,.2); color: var(--muted); font-size: 14px; margin: 14px 0; padding: 30px 20px; text-align: center; }
.cart-summary { background: rgba(255,255,255,.7); border: 1px solid rgba(30,41,39,.1); padding: 21px 20px 18px; position: sticky; bottom: 0; }
.cart-summary::before { color: var(--coral); content: "Order summary"; display: block; font-size: 10px; font-weight: 700; letter-spacing: .14em; margin-bottom: 16px; text-transform: uppercase; }
.cart-item { background: rgba(255,255,255,.66); border: 1px solid rgba(30,41,39,.1); box-shadow: 0 8px 20px rgba(30,41,39,.05); display: flex; gap: 15px; margin-bottom: 12px; padding: 12px; }
.cart-item img { background: #eee7de; border: 1px solid rgba(30,41,39,.08); height: 94px; object-fit: cover; width: 84px; }
.cart-item-details { flex: 1; }
.cart-item-details p { font-family: var(--display); font-size: 18px; margin: 2px 0 6px; }
.cart-item-details small { color: var(--muted); display: block; font-size: 11px; line-height: 1.45; }
.quantity-controls { align-items: center; border: 1px solid rgba(30,41,39,.15); display: inline-flex; gap: 12px; margin-top: 12px; padding: 3px 8px; }
.quantity-controls button { background: transparent; border: 0; color: var(--coral); font-size: 16px; line-height: 1; padding: 3px 4px; }
.quantity-controls button:hover { color: var(--ink); }
.cart-summary .summary-line { display: flex; justify-content: space-between; margin-bottom: 12px; }
.summary-line span { color: var(--muted); }
.gift-wrap-option { align-items: center; background: rgba(215,121,95,.07); border: 1px solid rgba(215,121,95,.25); cursor: pointer; display: flex; justify-content: space-between; margin: 16px 0 12px; padding: 12px 13px; }
.gift-wrap-option span { display: grid; gap: 3px; }
.gift-wrap-option strong { color: var(--ink); font-size: 13px; font-weight: 600; }
.gift-wrap-option small { color: var(--muted); font-size: 11px; }
.gift-wrap-option input { accent-color: var(--coral); height: 18px; margin: 0; width: 18px; }
.cart-adjustment-line strong { color: var(--coral); }
.cart-charge-manager { border-top: 1px solid var(--line); grid-column: 1 / -1; margin: 8px 0 18px; padding-top: 18px; }
.cart-charge-list { display: grid; gap: 10px; margin: 12px 0; }
.cart-charge-row { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(160px, 1fr) 130px auto auto; }
.cart-charge-row input { min-width: 0; }
.cart-charge-row .settings-check { align-items: center; flex-direction: row; gap: 6px; margin: 0; white-space: nowrap; }
@media (max-width: 700px) { .cart-charge-row { align-items: stretch; grid-template-columns: 1fr 1fr; } }
.total-row { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.total-row span, .total-row strong { font-size: 18px; color: var(--ink); }
.checkout-button { box-shadow: 0 12px 24px rgba(30,41,39,.14); justify-content: center; margin-top: 8px; width: 100%; }
.checkout-form { background: rgba(255,255,255,.72); border: 1px solid rgba(30,41,39,.1); display: none; margin-top: 18px; padding: 22px; }
.checkout-form.open { display: block; }
.checkout-form::before { color: var(--coral); content: "Delivery details"; display: block; font-size: 10px; font-weight: 700; letter-spacing: .14em; margin-bottom: 18px; text-transform: uppercase; }
.payment-options { border: 0; display: grid; gap: 10px; margin: 22px 0 18px; padding: 0; }
.payment-options legend { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-bottom: 9px; text-transform: uppercase; }
.payment-option { align-items: center; border: 1px solid var(--line); display: flex; gap: 11px; padding: 12px; transition: border-color .2s ease, background .2s ease; }
.payment-option:has(input:checked) { background: rgba(215,121,95,.08); border-color: var(--coral); }
.payment-option input { accent-color: var(--coral); margin: 0; }
.payment-option span { display: grid; gap: 2px; }
.payment-option strong { font-size: 13px; font-weight: 600; }
.payment-option small { color: var(--muted); font-size: 11px; }
.checkout-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.checkout-grid label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 12px; }
.checkout-grid input { background: var(--white); border: 1px solid var(--line); border-radius: 0; font: inherit; padding: 12px 14px; width: 100%; }
.checkout-grid input:focus { border-color: var(--coral); outline: none; }
.full-width { grid-column: 1 / -1; }
.checkout-submit { margin-top: 18px; width: 100%; }
.checkout-message { color: var(--coral); font-size: 12px; min-height: 18px; margin: 12px 0 0; }
.auth-modal { align-items: center; background: rgba(30,41,39,.58); display: flex; inset: 0; justify-content: center; opacity: 0; padding: 24px; pointer-events: none; position: fixed; transition: opacity .25s; z-index: 15; }
.auth-modal.open { opacity: 1; pointer-events: auto; }
.auth-panel { background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,245,239,.98)); box-shadow: 0 24px 70px rgba(18,29,27,.24); max-height: min(92vh, 760px); max-width: 520px; overflow-y: auto; padding: 42px 38px 30px; position: relative; width: min(100%, 520px); }
.auth-panel .close-button { position: absolute; right: 20px; top: 18px; }
.auth-intro { border-bottom: 1px solid var(--line); margin-bottom: 20px; padding-bottom: 20px; }
.auth-intro .eyebrow { color: var(--coral); margin-bottom: 8px; }
.auth-intro h2 { font-family: var(--serif); font-size: clamp(30px, 5vw, 42px); font-weight: 500; letter-spacing: -.03em; line-height: 1; margin: 0 0 10px; }
.auth-intro > p:last-child { color: var(--muted); font-size: 13px; margin: 0; }
.auth-tabs { border-bottom: 1px solid var(--line); display: flex; gap: 24px; margin-bottom: 24px; }
.auth-tab { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--muted); cursor: pointer; flex: 1; font-weight: 600; padding: 10px 8px 13px; }
.auth-tab.active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.auth-form { display: none; }
.auth-form.active { display: block; }
.social-auth { display: grid; gap: 10px; margin-bottom: 12px; }
.social-button { align-items: center; background: rgba(255,255,255,.65); border: 1px solid var(--line); color: var(--ink); display: flex; font-weight: 600; gap: 11px; padding: 12px 14px; text-align: left; transition: border-color .2s ease, transform .2s ease, background .2s ease; }
.social-icon { flex: 0 0 18px; height: 18px; width: 18px; }
.social-facebook .social-icon { color: #1877f2; }
.social-button:hover { background: var(--white); border-color: var(--coral); transform: translateY(-1px); }
.divider { align-items: center; display: flex; gap: 12px; margin: 18px 0; }
.divider::before, .divider::after { background: var(--line); content: ""; flex: 1; height: 1px; }
.divider span { color: var(--muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.auth-form label { color: var(--muted); display: flex; flex-direction: column; font-size: 12px; gap: 6px; margin-bottom: 14px; }
.auth-form input { background: rgba(255,255,255,.72); border: 1px solid var(--line); font: inherit; padding: 13px 14px; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.auth-form input:focus { border-color: var(--coral); outline: 0; }
.auth-form input:focus { background: var(--white); box-shadow: 0 0 0 3px rgba(215,121,95,.12); }
.two-col { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-submit { margin-top: 8px; width: 100%; }
.auth-message { color: var(--coral); font-size: 12px; min-height: 18px; margin: 12px 0 0; }
.maison-points-account { display: grid; gap: 18px; }
.maison-points-account h2 { font-family: var(--serif); font-size: clamp(30px, 5vw, 42px); font-weight: 500; line-height: 1; margin: 0; }
.maison-points-account-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.maison-points-account-summary > div { background: rgba(255,255,255,.72); border: 1px solid var(--line); padding: 14px; }
.maison-points-account-summary small { color: var(--muted); display: block; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.maison-points-account-summary strong { display: block; font-family: var(--serif); font-size: 27px; margin-top: 8px; }
.maison-points-account-progress { border-top: 1px solid var(--line); padding-top: 16px; }
.maison-points-account-progress-head { color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; margin-bottom: 8px; }
.maison-points-account-progress-bar { background: #dfe2df; height: 8px; overflow: hidden; }
.maison-points-account-progress-bar span { background: linear-gradient(90deg, #aab5bb, #c9982e, #68737c); display: block; height: 100%; transition: width .3s ease; }
.maison-points-account > p:not(.eyebrow) { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 0; }
.maison-points-account .maison-points-expiry-note { color: var(--ink); font-size: 11px; }
.maison-points-signout { background: none; border: 0; cursor: pointer; justify-self: start; padding: 0; }
@media (max-width: 520px) { .maison-points-account-summary { grid-template-columns: 1fr; } }
.search-modal { align-items: start; background: rgba(30,41,39,.7); display: flex; inset: 0; justify-content: center; opacity: 0; overflow: hidden; padding: 24px; pointer-events: none; position: fixed; transition: opacity .3s ease; z-index: 12; }
.search-modal.open { opacity: 1; pointer-events: auto; }
.search-panel { animation: search-panel-in .45s cubic-bezier(.2,.8,.2,1) both; background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,241,232,.98)); box-shadow: 0 30px 90px rgba(8,18,16,.35); margin-top: 8vh; max-width: 700px; overflow: hidden; padding: 48px 42px 32px; position: relative; width: min(100%, 700px); }
.search-panel::before { background: var(--coral); content: ""; height: 4px; left: 0; position: absolute; right: 0; top: 0; }
.search-orb { border: 1px solid rgba(215,121,95,.2); border-radius: 50%; pointer-events: none; position: absolute; }
.search-orb-one { height: 230px; right: -90px; top: -120px; width: 230px; }
.search-orb-two { bottom: -150px; height: 280px; left: -170px; width: 280px; }
.search-panel .close-button { position: absolute; right: 20px; top: 18px; }
.search-heading { border-bottom: 1px solid var(--line); margin-bottom: 20px; padding-bottom: 18px; }
.search-heading .eyebrow { color: var(--coral); margin-bottom: 8px; }
.search-heading h2 { font-family: var(--serif); font-size: clamp(34px, 5vw, 48px); font-weight: 500; letter-spacing: -.04em; line-height: .98; margin: 0 0 13px; position: relative; }
.search-heading h2 em { color: var(--coral); font-style: italic; }
.search-heading > p:last-child { color: var(--muted); font-size: 13px; margin: 0; }
.search-input-wrap { align-items: center; background: rgba(255,255,255,.72); border: 1px solid var(--line); display: flex; gap: 11px; padding: 0 13px; transition: border-color .2s ease, box-shadow .2s ease; }
.search-input-wrap:focus-within { background: var(--white); border-color: var(--coral); box-shadow: 0 0 0 3px rgba(215,121,95,.12); }
.search-input-wrap svg { fill: none; flex: 0 0 18px; height: 18px; stroke: var(--muted); stroke-linecap: round; stroke-width: 1.7; width: 18px; }
.search-panel input { background: transparent; border: 0; font: inherit; min-width: 0; outline: 0; padding: 14px 0; width: 100%; }
.search-panel input:focus { background: transparent; border-color: transparent; box-shadow: none; }
#clear-search { background: transparent; border: 0; color: var(--muted); cursor: pointer; font-size: 18px; line-height: 1; padding: 4px; }
#clear-search:hover { color: var(--coral); }
.search-hint { color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; margin-top: 9px; }
.search-hint span { color: var(--coral); font-size: 15px; }
.search-results-head { border-bottom: 1px solid var(--line); color: var(--muted); display: flex; font-size: 10px; justify-content: space-between; letter-spacing: .1em; margin-top: 24px; padding-bottom: 8px; text-transform: uppercase; }
#search-results { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 6px; }
.search-result { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 46px 1fr auto; padding: 12px 4px; transition: background .2s ease, padding .2s ease; }
.search-result:hover { background: rgba(215,121,95,.08); padding-left: 10px; padding-right: 10px; }
.search-result img { background: var(--paper); height: 46px; object-fit: cover; width: 46px; }
.search-result span { display: grid; gap: 4px; }
.search-result span strong { color: var(--ink); font-size: 13px; }
.search-result span small { color: var(--muted); font-size: 11px; }
.search-result b { color: var(--coral); font-size: 13px; font-weight: 600; }
.search-empty { color: var(--muted); font-size: 13px; padding: 18px 4px 8px; }
.search-empty-muted { text-align: center; }
@keyframes search-panel-in { from { opacity: 0; transform: translateY(-18px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.crm-page { background: #f4f2ee; color: var(--ink); min-height: 100vh; }
.admin-page { background: radial-gradient(circle at 85% 0%, rgba(215,121,95,.11), transparent 28rem), #f1f0eb; }
.crm-lock-screen { align-items: center; background: radial-gradient(circle at 12% 20%, rgba(215,121,95,.2), transparent 24rem), radial-gradient(circle at 92% 90%, rgba(174,188,174,.24), transparent 28rem), #e9e8e1; display: flex; inset: 0; justify-content: center; min-height: 100vh; padding: 24px; position: fixed; z-index: 30; }
.crm-lock-screen[hidden], .admin-shell[hidden] { display: none !important; }
.admin-panel [hidden], .trust-row[hidden], .category-section[hidden], .feature-section[hidden], .shop-section[hidden], .story-section[hidden], .testimonial-section[hidden], .sale-section[hidden], .closing-cta[hidden] { display: none !important; }
.custom-section-manager { display: grid; gap: 14px; }
.section-layout-studio { background: linear-gradient(135deg, rgba(232,233,223,.78), rgba(255,254,250,.82)); border: 1px solid rgba(174,188,174,.6); border-radius: 18px; box-shadow: 0 18px 35px rgba(30,41,39,.06); padding: 22px 26px; }
.section-layout-studio-head { align-items: flex-start; display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.section-layout-studio-head h3 { margin: 2px 0 5px; }
.section-layout-studio-head p:not(.eyebrow) { color: var(--muted); margin: 0; max-width: 560px; }
.section-layout-studio-mark { color: var(--coral); font-family: var(--serif); font-size: 18px; white-space: nowrap; }
.section-layout-manager { display: grid; gap: 8px; }
.section-layout-row { align-items: center; background: rgba(255,254,250,.8); border: 1px solid rgba(216,219,210,.88); border-radius: 12px; display: grid; gap: 12px; grid-template-columns: 34px minmax(0,1fr) auto auto; padding: 11px 12px; transition: border-color .2s ease, transform .2s ease; }
.section-layout-row:hover { border-color: rgba(215,121,95,.48); transform: translateX(2px); }
.section-layout-row.is-fixed { background: var(--ink); color: var(--white); }
.section-layout-index { color: var(--coral); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.section-layout-copy { display: grid; gap: 2px; min-width: 0; }
.section-layout-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.section-layout-copy small { color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.section-layout-row.is-fixed .section-layout-copy small { color: rgba(255,254,250,.62); }
.section-layout-toggle { align-items: center; color: var(--muted); display: flex; flex-direction: row !important; font-size: 11px; gap: 6px !important; white-space: nowrap; }
.section-layout-toggle input { accent-color: var(--coral); }
.section-layout-actions { display: flex; gap: 5px; }
.section-layout-actions .crm-button { min-width: 32px; padding: 7px 9px; }
.section-layout-actions .crm-button:disabled { cursor: not-allowed; opacity: .35; }
.custom-section-manager-row { background: rgba(255,254,250,.74); border: 1px solid rgba(216,219,210,.8); border-radius: 14px; padding: 18px; }
.custom-section-manager-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 16px; }
.custom-section-manager-head strong { color: var(--ink); font-size: 14px; }
.custom-section-manager-actions { align-items: center; display: flex; gap: 6px; }
.custom-section-manager-actions .crm-button { min-width: 34px; padding: 8px 10px; }
.custom-section-manager-actions .crm-button:disabled { cursor: not-allowed; opacity: .4; }
.admin-editor-heading { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 18px; }
.admin-editor-heading h3 { font-family: var(--serif); font-size: 20px; font-weight: 500; margin: 0 0 5px; }
.admin-editor-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.category-manager { display: grid; gap: 12px; }
.category-manager-row { align-items: end; background: var(--paper); border: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 1fr 1fr 1.5fr auto; padding: 14px; }
.category-manager-row label { color: var(--muted); display: flex; flex-direction: column; font-size: 11px; gap: 6px; }
.category-manager-row input { background: var(--white); border: 1px solid var(--line); padding: 10px 11px; }
.category-manager-row input:focus { border-color: var(--coral); outline: 0; }
.category-manager-actions { align-items: center; display: flex; gap: 12px; }
.category-manager-actions small { color: var(--muted); font-size: 11px; }
.settings-check { align-items: center; flex-direction: row !important; gap: 9px !important; }
.settings-check input { accent-color: var(--coral); height: 16px; width: 16px; }
.crm-lock-panel { animation: lock-panel-in .55s ease both; background: rgba(255,254,250,.94); border: 1px solid rgba(216,219,210,.9); box-shadow: 0 28px 80px rgba(30,41,39,.16); max-width: 470px; padding: 34px 36px 32px; position: relative; width: min(100%, 470px); }
.lock-brand { color: var(--ink); font-size: 22px; font-weight: 700; letter-spacing: -.09em; margin-bottom: 30px; }
.lock-brand span:first-child { color: var(--coral); }
.lock-brand-dot { color: var(--coral); }
.lock-icon { align-items: center; background: var(--ink); border-radius: 50%; color: var(--white); display: flex; font-family: var(--serif); font-size: 13px; height: 48px; justify-content: center; letter-spacing: -.12em; margin-bottom: 24px; width: 48px; }
.crm-lock-panel h2 { font-size: clamp(30px, 4vw, 40px); margin-bottom: 14px; }
.crm-lock-copy { color: var(--muted); margin-bottom: 18px; }
.crm-lock-field { color: var(--muted); display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.crm-lock-field input { background: #f8f7f2; border: 1px solid var(--line); border-radius: 5px; padding: 13px 14px; }
.crm-lock-field input:focus { border-color: var(--coral); outline: none; }
.crm-remember { align-items: center; color: var(--muted); display: flex; gap: 10px; margin: 0 0 18px; }
.crm-remember input { accent-color: var(--coral); }
.crm-lock-message { color: var(--coral); font-size: 12px; min-height: 18px; margin: 12px 0 0; }
.lock-submit { align-items: center; display: flex; justify-content: space-between; width: 100%; }
.lock-submit span { font-size: 20px; line-height: 1; }
@keyframes lock-panel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.crm-access-message { align-items: center; background: #f4f2ee; display: flex; justify-content: center; min-height: 100vh; padding: 32px 18px; }
.crm-access-card { background: var(--white); border: 1px solid var(--line); max-width: 540px; padding: 32px 28px; text-align: center; }
.crm-access-card h2 { font-size: clamp(30px, 4vw, 42px); margin-bottom: 16px; }
.crm-access-card p { color: var(--muted); margin-bottom: 22px; }
.crm-button.secondary { background: transparent; border: 1px solid var(--line); color: var(--ink); }
.crm-button.secondary:hover { background: var(--paper); color: var(--ink); }

.admin-page { --admin-surface: rgba(255,254,250,.82); --admin-surface-strong: #fffefa; --admin-wash: #eeeee7; background: radial-gradient(circle at 12% 0%, rgba(174,188,174,.24), transparent 30rem), radial-gradient(circle at 100% 30%, rgba(215,121,95,.08), transparent 28rem), #eeeee9; }
.admin-shell { display: grid; gap: 30px; grid-template-columns: 248px minmax(0, 1fr); margin: 0 auto; max-width: 1480px; padding: 34px; }
.admin-sidebar { align-self: start; background: rgba(255,254,250,.72); border: 1px solid rgba(216,219,210,.85); border-radius: 18px; box-shadow: 0 22px 55px rgba(30,41,39,.07); padding: 24px 16px; position: sticky; top: 24px; }
.admin-brand-wrap { align-items: center; display: flex; justify-content: space-between; margin: 0 8px 30px; }
.admin-sidebar .crm-brand { font-size: 21px; letter-spacing: -.07em; }
.brand-tag { background: var(--admin-wash); border: 0; border-radius: 999px; color: var(--muted); font-size: 9px; letter-spacing: .12em; padding: 6px 9px; text-transform: uppercase; }
.admin-nav { display: grid; gap: 6px; }
.admin-nav-item { background: transparent; border: 0; border-radius: 10px; color: var(--muted); font-size: 13px; padding: 13px 14px; text-align: left; transition: background .2s ease, color .2s ease, transform .2s ease; }
.admin-nav-item::before { color: var(--coral); content: "·"; display: inline-block; font-size: 20px; line-height: 0; margin-right: 9px; vertical-align: -2px; }
.admin-nav-item:hover { background: rgba(232,233,223,.7); color: var(--ink); transform: translateX(2px); }
.admin-nav-item.active { background: var(--ink); border-left: 0; box-shadow: 0 9px 18px rgba(30,41,39,.12); color: var(--white); font-weight: 600; padding-left: 14px; }
.admin-main { display: grid; gap: 22px; min-width: 0; }
.admin-topbar { align-items: center; background: var(--admin-surface); border: 1px solid rgba(216,219,210,.85); border-radius: 18px; box-shadow: 0 18px 48px rgba(30,41,39,.06); display: flex; justify-content: space-between; padding: 25px 28px; }
.admin-topbar h1 { font-size: clamp(30px, 3vw, 44px); }
.admin-topbar-right { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.admin-panel { background: var(--admin-surface); border: 1px solid rgba(216,219,210,.85); border-radius: 18px; box-shadow: 0 18px 48px rgba(30,41,39,.06); display: none; padding: 28px; }
.admin-panel.active { animation: admin-panel-in .28s ease both; display: block; }
@keyframes admin-panel-in { from { opacity: .35; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.admin-metrics { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-metric { background: linear-gradient(145deg, rgba(232,233,223,.58), rgba(255,254,250,.82)); border: 0; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(216,219,210,.7); padding: 20px 18px; }
.admin-metric small { color: var(--muted); display: block; letter-spacing: .12em; text-transform: uppercase; }
.admin-metric strong { display: block; font-family: var(--serif); font-size: clamp(28px, 2.2vw, 38px); margin-top: 12px; }
.overview-hero { align-items: end; background: linear-gradient(118deg, var(--ink), #344b45 62%, #6d8274); border-radius: 16px; color: var(--white); display: flex; justify-content: space-between; margin-bottom: 18px; overflow: hidden; padding: 28px 30px; position: relative; }
.overview-hero::after { border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; height: 220px; position: absolute; right: 8%; top: -112px; width: 220px; }
.overview-hero .eyebrow { color: #f3ae97; margin-bottom: 9px; position: relative; z-index: 1; }
.overview-hero h2 { font-size: clamp(31px, 3.5vw, 48px); position: relative; z-index: 1; }
.overview-hero-copy { color: rgba(255,254,250,.72); font-size: 13px; margin: 12px 0 0; max-width: 430px; position: relative; z-index: 1; }
.overview-hero-meta { align-items: end; display: flex; flex-direction: column; gap: 12px; position: relative; text-align: right; z-index: 1; }
.overview-date { color: rgba(255,254,250,.72); font-size: 12px; }
.overview-status { align-items: center; background: rgba(255,254,250,.12); border: 1px solid rgba(255,254,250,.2); border-radius: 999px; display: inline-flex; font-size: 11px; gap: 7px; padding: 8px 11px; }
.overview-status i { background: #9ed1aa; border-radius: 50%; box-shadow: 0 0 0 4px rgba(158,209,170,.15); height: 7px; width: 7px; }
.overview-stock-summary { align-items: center; background: rgba(232,233,223,.62); border: 1px solid rgba(216,219,210,.8); border-radius: 14px; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto auto; margin-top: 18px; padding: 18px 20px; }
.overview-stock-summary .eyebrow { margin-bottom: 5px; }
.overview-stock-summary h3 { font-family: var(--serif); font-size: 22px; font-weight: 500; margin: 0; }
.overview-stock-summary p:not(.eyebrow) { color: var(--muted); font-size: 12px; margin: 5px 0 0; }
.overview-stock-counts { display: flex; gap: 18px; }
.overview-stock-counts span { border-left: 1px solid var(--line); min-width: 78px; padding-left: 16px; }
.overview-stock-counts strong, .overview-stock-counts small { display: block; }
.overview-stock-counts strong { color: var(--coral); font-family: var(--serif); font-size: 25px; line-height: 1; }
.overview-stock-counts small { color: var(--muted); font-size: 10px; margin-top: 5px; white-space: nowrap; }
.overview-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.overview-actions .eyebrow { margin: 0 8px 0 0; }
.overview-actions button { background: transparent; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 11px; padding: 9px 12px; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.overview-actions button:hover { background: var(--white); border-color: var(--coral); color: var(--coral); }
.overview-actions button span { color: var(--coral); font-size: 15px; margin-right: 4px; vertical-align: -1px; }
.admin-quick-grid { display: grid; gap: 18px; grid-template-columns: 1.3fr .7fr; margin-top: 20px; }
.admin-card { background: rgba(245,244,239,.62); border: 0; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(216,219,210,.72); padding: 20px; }
.admin-topbar .eyebrow { margin-bottom: 9px; }
.admin-topbar h1 { font-size: clamp(32px, 3vw, 48px); }
.admin-topbar-right { gap: 9px; }
.crm-chip { background: var(--admin-wash); border: 0; border-radius: 999px; padding: 8px 12px; }
.crm-button { border-radius: 999px; box-shadow: 0 5px 12px rgba(30,41,39,.08); font-size: 12px; padding: 11px 16px; }
.admin-table th { color: var(--coral); }
.admin-table tr:last-child td { border-bottom: 0; }
.orders-hero { align-items: end; background: linear-gradient(120deg, #1e2927 0%, #3a5149 65%, #7d9482 100%); border-radius: 17px; color: var(--white); display: flex; justify-content: space-between; margin-bottom: 18px; overflow: hidden; padding: 30px; position: relative; }
.orders-hero::after { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 260px; position: absolute; right: 7%; top: -155px; width: 260px; }
.orders-hero > div:first-child { position: relative; z-index: 1; }
.orders-hero .eyebrow { color: #f3ae97; margin-bottom: 9px; }
.orders-hero h2 { font-size: clamp(29px, 3vw, 43px); max-width: 560px; }
.orders-hero p:not(.eyebrow) { color: rgba(255,254,250,.72); font-size: 13px; margin-top: 11px; max-width: 480px; }
.orders-hero-note { align-items: end; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 13px; display: flex; flex-direction: column; min-width: 150px; padding: 14px 16px; position: relative; text-align: right; z-index: 1; }
.orders-hero-note span, .orders-hero-note small { color: rgba(255,255,255,.7); font-size: 11px; }
.orders-hero-note strong { font-family: var(--serif); font-size: 32px; line-height: 1.1; margin: 3px 0; }
.orders-kpis { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; }
.orders-kpis .admin-metric { padding: 17px 18px 15px; }
.orders-kpis .admin-metric strong { font-size: 28px; margin-top: 8px; }
.orders-kpis .admin-metric span { color: var(--muted); display: block; font-size: 11px; margin-top: 6px; }
.orders-kpis .orders-revenue { background: linear-gradient(145deg, rgba(215,121,95,.17), rgba(255,254,250,.85)); }
.orders-toolbar { background: rgba(232,233,223,.42); border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; padding: 10px; }
.orders-toolbar .crm-search { background: var(--white); max-width: none; }
.orders-table-wrap { background: var(--admin-surface-strong); border: 1px solid var(--line); border-radius: 13px; }
.orders-table { min-width: 820px; }
.orders-table td { vertical-align: middle; }
.orders-table td small, .orders-table td .order-customer + small { color: var(--muted); display: block; font-size: 11px; margin-top: 3px; }
.orders-table td:first-child { color: var(--coral); }
.order-view-button { font-size: 11px; padding: 7px 10px; }
.orders-kpis .admin-metric { position: relative; overflow: hidden; }
.orders-kpis .admin-metric::after { border: 1px solid rgba(215,121,95,.2); border-radius: 50%; content: ""; height: 92px; position: absolute; right: -28px; top: -32px; width: 92px; }
.orders-kpis .admin-metric:nth-child(2) { background: linear-gradient(145deg, rgba(248,230,210,.78), rgba(255,254,250,.9)); }
.orders-kpis .admin-metric:nth-child(3) { background: linear-gradient(145deg, rgba(228,238,231,.82), rgba(255,254,250,.9)); }
.orders-kpis .admin-metric:nth-child(4) { background: linear-gradient(145deg, rgba(215,121,95,.2), rgba(255,254,250,.9)); }
.orders-table thead { background: #f1f0ea; }
.orders-table th { border-bottom: 0; color: var(--muted); font-size: 10px; letter-spacing: .14em; padding: 14px 16px; }
.orders-table td { border-bottom: 1px solid rgba(216,219,210,.7); padding: 17px 16px; }
.orders-table tbody tr { transition: background .2s ease, transform .2s ease; }
.orders-table tbody tr:hover { background: rgba(215,121,95,.06); }
.orders-table tbody tr:hover td:first-child { color: var(--ink); }
.orders-table .status-pill { border-radius: 999px; font-size: 10px; letter-spacing: .08em; padding: 6px 9px; text-transform: uppercase; }
.orders-table .status-pill.pending, .orders-table .status-pill.processing { background: #f8e6d2; color: #8b5b20; }
.orders-table .status-pill.paid { background: #ede9dd; color: var(--ink); }
.orders-table .status-pill.shipped, .orders-table .status-pill.completed { background: #e4eee7; color: #28634d; }
.orders-toolbar { box-shadow: 0 8px 20px rgba(30,41,39,.04); }
.orders-toolbar .crm-select { background-color: var(--white); border-radius: 999px; }
.order-modal-backdrop { backdrop-filter: blur(4px); }
.order-modal-card { border: 0; border-top: 4px solid var(--coral); }
.order-detail-summary strong { color: var(--coral); }
.order-detail-items > div { background: rgba(232,233,223,.42); border: 1px solid rgba(216,219,210,.7); border-radius: 10px; padding: 12px 13px; }
.admin-page { --admin-surface: rgba(255,252,246,.9); --admin-surface-strong: #fffdf8; --admin-wash: #f0eee5; background: radial-gradient(circle at 12% 0%, rgba(174,188,174,.3), transparent 30rem), radial-gradient(circle at 100% 30%, rgba(215,121,95,.12), transparent 28rem), #ebe9e1; }
.admin-sidebar { background: rgba(255,253,248,.86); }
.admin-nav-item.active { background: #263a35; }
.orders-hero { background: linear-gradient(120deg, #263a35 0%, #426458 58%, #a87864 100%); }
.orders-hero .eyebrow { color: #f5b7a4; }
.orders-kpis .admin-metric:first-child { background: linear-gradient(145deg, #e8eee8, #fffdf8); }
.orders-kpis .admin-metric:nth-child(2) { background: linear-gradient(145deg, #f8e4d5, #fffdf8); }
.orders-kpis .admin-metric:nth-child(3) { background: linear-gradient(145deg, #e0eee8, #fffdf8); }
.orders-kpis .admin-metric:nth-child(4) { background: linear-gradient(145deg, #efd8cf, #fffdf8); }
.orders-table thead { background: #eee9df; }
.orders-table th { color: #61716a; }
.orders-table .status-pill.pending, .orders-table .status-pill.processing { background: #fae2c8; color: #8a5a25; }
.orders-table .status-pill.paid { background: #e7e1d4; color: #4d5b53; }
.orders-table .status-pill.shipped, .orders-table .status-pill.completed { background: #dcebe2; color: #28634d; }
.orders-table tbody tr:hover { background: rgba(215,121,95,.09); }
.order-modal-card { background: #fffdf8; }
.orders-empty-note { color: var(--muted); font-size: 12px; margin: 14px 2px 0; }
.order-modal[hidden] { display: none; }
.order-modal { inset: 0; position: fixed; z-index: 20; }
.order-modal-backdrop { background: rgba(30,41,39,.46); inset: 0; position: absolute; }
.order-modal-card { animation: admin-panel-in .22s ease both; background: var(--admin-surface-strong); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 25px 80px rgba(30,41,39,.25); left: 50%; max-height: min(680px, calc(100vh - 40px)); max-width: 560px; overflow: auto; padding: 28px; position: absolute; top: 50%; transform: translate(-50%, -50%); width: calc(100% - 36px); }
.order-modal-card h2 { font-size: 31px; margin: 4px 0 20px; }
.order-modal-close { background: var(--paper); border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font-size: 22px; height: 32px; line-height: 1; position: absolute; right: 18px; top: 18px; width: 32px; }
.order-detail-summary { align-items: end; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 18px; }
.order-detail-summary span { font-size: 17px; font-weight: 600; }
.order-detail-summary strong { color: var(--coral); font-family: var(--serif); font-size: 27px; }
.order-detail-meta { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); padding: 19px 0 22px; }
.order-detail-meta span { color: var(--ink); font-size: 13px; }
.order-detail-meta small { color: var(--muted); display: block; font-size: 10px; letter-spacing: .1em; margin-bottom: 5px; text-transform: uppercase; }
.order-detail-meta .status-pill { width: fit-content; }
.order-modal-card h3 { border-top: 1px solid var(--line); font-size: 15px; padding-top: 18px; }
.order-detail-items { display: grid; gap: 10px; margin-top: 12px; }
.order-detail-items > div { align-items: center; background: var(--paper); display: flex; justify-content: space-between; padding: 11px 12px; }
.order-detail-items small { color: var(--muted); }
.sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (max-width: 850px) { .orders-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .orders-toolbar { align-items: stretch; flex-direction: column; } .orders-toolbar .crm-toolbar-left, .orders-toolbar .crm-toolbar-right { width: 100%; } .orders-toolbar .crm-toolbar-right { justify-content: stretch; } .orders-toolbar .crm-select { flex: 1; } }
@media (max-width: 520px) { .orders-hero { align-items: start; flex-direction: column; gap: 20px; padding: 24px 20px; } .orders-hero-note { align-items: start; text-align: left; } .orders-kpis { gap: 8px; } .orders-kpis .admin-metric { padding: 14px 12px; } .orders-kpis .admin-metric strong { font-size: 23px; } .orders-toolbar .crm-toolbar-right { flex-direction: column; } .orders-toolbar .crm-select { width: 100%; } .order-modal-card { padding: 23px 19px; } }
.product-admin-item, .task-item { background: rgba(245,244,239,.56); border-color: rgba(216,219,210,.85); border-radius: 12px; }
.settings-form { background: rgba(245,244,239,.42); border: 1px solid rgba(216,219,210,.68); border-radius: 14px; padding: 20px; }
.settings-grid input, .settings-grid select, .settings-grid textarea { background: var(--admin-surface-strong); border-color: rgba(216,219,210,.95); border-radius: 9px; padding: 12px 13px; }
.settings-grid input:focus, .settings-grid select:focus, .settings-grid textarea:focus { box-shadow: 0 0 0 3px rgba(215,121,95,.12); }
.category-manager-row { background: rgba(255,254,250,.74); border: 0; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(216,219,210,.8); }
.category-manager-row input { border-radius: 8px; }
.crm-lock-panel { border: 0; border-radius: 22px; box-shadow: 0 28px 80px rgba(30,41,39,.13); padding: 40px 38px 34px; }
.lock-icon { background: var(--coral); box-shadow: 0 9px 18px rgba(215,121,95,.2); }
.crm-lock-field input { border-radius: 10px; }
@media (prefers-reduced-motion: reduce) { .admin-panel.active { animation: none; } }
.admin-panel[data-panel="settings"] { max-width: 1180px; }
.admin-panel[data-panel="products"] { max-width: 1180px; }
.admin-panel[data-panel="owner-tools"] { background: radial-gradient(circle at 88% 4%, rgba(111,224,190,.2), transparent 23%), radial-gradient(circle at 8% 28%, rgba(147,111,255,.2), transparent 28%), linear-gradient(145deg, #11182c 0%, #19233d 48%, #172b37 100%); border: 1px solid rgba(125,236,207,.22); border-radius: 24px; box-shadow: 0 24px 70px rgba(10,16,34,.2); max-width: 1180px; overflow: hidden; padding: 22px; position: relative; }
.admin-panel[data-panel="owner-tools"]::before { background-image: linear-gradient(rgba(133,239,213,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(133,239,213,.07) 1px, transparent 1px); background-size: 34px 34px; content: ""; inset: 0; mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 78%); pointer-events: none; position: absolute; }
.admin-panel[data-panel="owner-tools"] > * { position: relative; z-index: 1; }
.owner-tools-head { align-items: end; background: linear-gradient(135deg, rgba(25,35,67,.96), rgba(30,72,76,.88)); border: 1px solid rgba(125,236,207,.3); border-radius: 20px; box-shadow: 0 14px 35px rgba(5,10,25,.25); color: #edfdf8; margin-bottom: 18px; padding: 26px 28px; }
.owner-tools-head h2 { color: #f4fffc; }
.owner-tools-head p:not(.eyebrow) { color: rgba(233,255,249,.7); }
.owner-tools-head .eyebrow { color: #78e5c5; }
.owner-tools-head h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.03em; }
.owner-security-badge { background: rgba(120,229,197,.12); border: 1px solid rgba(120,229,197,.35); border-radius: 999px; color: #8ff0d1; font-size: 10px; letter-spacing: .1em; padding: 8px 11px; text-transform: uppercase; white-space: nowrap; }
.owner-tools-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-tool-card { background: linear-gradient(145deg, rgba(30,43,74,.96), rgba(25,53,62,.9)); border: 1px solid rgba(120,229,197,.2); box-shadow: 0 14px 28px rgba(5,10,25,.22); color: #eefefa; min-height: 265px; padding: 23px; }
.owner-tool-icon { align-items: center; background: linear-gradient(135deg, rgba(120,229,197,.22), rgba(154,119,255,.25)); border: 1px solid rgba(120,229,197,.3); border-radius: 12px; color: #8ff0d1; display: flex; font-size: 24px; height: 45px; justify-content: center; margin-bottom: 20px; width: 45px; }
.owner-tool-card .eyebrow { color: #8ff0d1; font-size: 10px; margin-bottom: 5px; }
.owner-tool-card h3, .owner-readiness-card h3 { color: #f4fffc; font-family: var(--serif); font-size: 23px; font-weight: 500; margin: 0 0 10px; }
.owner-tool-card p:not(.eyebrow) { color: rgba(233,255,249,.7); font-size: 13px; line-height: 1.65; min-height: 65px; }
.owner-tool-card .crm-button { margin-top: 12px; }
.admin-panel[data-panel="owner-tools"] .crm-button { background: linear-gradient(135deg, #5de0bb, #4eb5d2); border-color: rgba(143,240,209,.7); box-shadow: 0 8px 18px rgba(8,20,36,.28); color: #102335; font-weight: 700; }
.admin-panel[data-panel="owner-tools"] .crm-button:hover { background: linear-gradient(135deg, #92f2d5, #7bd3ed); border-color: #b0ffe8; color: #102335; }
.admin-panel[data-panel="owner-tools"] .crm-button.secondary { background: rgba(120,229,197,.1); border-color: rgba(120,229,197,.5); color: #b8ffea; }
.admin-panel[data-panel="owner-tools"] .crm-button.secondary:hover { background: rgba(120,229,197,.22); border-color: #9ff5d7; color: #effffb; }
.admin-panel[data-panel="owner-tools"] .owner-inline-button { background: rgba(120,229,197,.1); border: 1px solid rgba(120,229,197,.4); border-radius: 999px; color: #b8ffea; padding: 8px 12px; }
.admin-panel[data-panel="owner-tools"] .owner-inline-button:hover { background: rgba(120,229,197,.22); color: #effffb; }
.owner-export-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.owner-export-actions .crm-button { margin-top: 0; padding: 9px 11px; }
.owner-operations-grid { display: grid; gap: 18px; grid-template-columns: 1.2fr .8fr; margin-top: 18px; }
.owner-status-card { background: rgba(22,35,58,.93); border: 1px solid rgba(120,229,197,.2); color: #eefefa; padding: 23px 25px; }
.owner-status-card .admin-section-head { border-bottom: 1px solid var(--line); padding-bottom: 14px; }
.owner-status-card h3 { color: #f4fffc; font-family: var(--serif); font-size: 23px; font-weight: 500; margin: 0; }
.owner-inline-button { background: none; border: 0; cursor: pointer; padding: 0; }
.owner-status-list { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-top: 17px; }
.owner-status-list > div { background: rgba(120,229,197,.08); border: 1px solid rgba(120,229,197,.16); border-radius: 10px; padding: 11px; }
.owner-status-list strong, .owner-status-list span, .owner-status-list small { display: block; }
.owner-status-list strong { color: var(--coral); font-size: 20px; }
.owner-status-list span { color: #eefefa; font-size: 11px; margin-top: 3px; }
.owner-status-list small { color: rgba(233,255,249,.6); font-size: 10px; margin-top: 3px; }
.owner-setting-field { display: block; margin: 17px 0 10px; }
.owner-setting-field span { display: block; font-size: 11px; margin-bottom: 6px; }
.owner-setting-field input { width: 100%; }
.owner-setting-help { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 14px 0 0; }
.owner-checklist .owner-check-ok > span { background: #eaf2eb; color: #287044; }
.owner-checklist .owner-check-warning > span { background: #fff1df; color: #b76c27; }
.owner-readiness-card { background: rgba(22,35,58,.93); border: 1px solid rgba(120,229,197,.2); color: #eefefa; margin-top: 18px; padding: 25px 28px; }
.owner-readiness-card .admin-section-head { border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.owner-checklist { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-top: 20px; }
.owner-checklist > div { align-items: start; display: flex; gap: 11px; }
.owner-checklist > div > span { align-items: center; background: #eaf2eb; border-radius: 50%; color: #287044; display: inline-flex; flex: 0 0 23px; font-size: 12px; height: 23px; justify-content: center; }
.owner-checklist > div:last-child > span { background: #fff1df; color: #b76c27; }
.owner-checklist strong, .owner-checklist small { display: block; }
.owner-checklist strong { font-size: 13px; }
.owner-checklist small { color: rgba(233,255,249,.64); font-size: 11px; line-height: 1.55; margin-top: 4px; }
.owner-tool-message { color: var(--coral); font-size: 12px; min-height: 18px; margin: 20px 0 0; }
.hosting-guide-card { margin-top: 18px; padding: 25px 28px; }
.hosting-guide-card .admin-section-head { align-items: start; border-bottom: 1px solid var(--line); display: block; padding-bottom: 17px; }
.hosting-guide-card .admin-section-head h3 { font-family: var(--serif); font-size: 27px; font-weight: 500; margin: 0 0 5px; }
.hosting-options { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; }
.hosting-option { background: rgba(245,244,239,.58); border: 1px solid rgba(216,219,210,.82); border-radius: 14px; display: flex; flex-direction: column; min-height: 315px; padding: 18px; }
.hosting-option-top { align-items: center; display: flex; justify-content: space-between; }
.hosting-option-number { color: var(--coral); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.hosting-option h4 { font-family: var(--serif); font-size: 23px; font-weight: 500; margin: 18px 0 7px; }
.hosting-option p { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0 0 12px; }
.hosting-option ol { color: var(--muted); font-size: 11px; line-height: 1.65; margin: 0 0 16px; padding-left: 18px; }
.hosting-option li { padding-left: 3px; }
.hosting-option .text-link { color: var(--coral); font-size: 12px; margin-top: auto; }
.hosting-option code { background: var(--white); border: 1px solid var(--line); border-radius: 4px; color: var(--ink); padding: 1px 4px; }
.hosting-note { color: var(--muted); font-size: 11px; line-height: 1.55; margin-top: auto; }
.hosting-launch-path { background: rgba(215,121,95,.1); border: 1px solid rgba(215,121,95,.22); border-radius: 12px; color: var(--ink); display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 18px; padding: 14px 16px; }
.hosting-launch-path span { color: var(--muted); font-size: 12px; }
.admin-panel[data-panel="products"] .admin-section-head { align-items: end; background: linear-gradient(135deg, rgba(255,254,250,.92), rgba(236,239,231,.78)); border: 1px solid rgba(216,219,210,.72); border-radius: 20px; margin-bottom: 18px; padding: 26px 28px; }
.admin-panel[data-panel="products"] .admin-section-head h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.03em; }
.admin-panel-subtitle { color: var(--muted); font-size: 13px; margin: 8px 0 0; max-width: 480px; }
.product-admin-form { background: rgba(255,254,250,.75); border: 1px solid rgba(216,219,210,.82); border-radius: 20px; box-shadow: 0 18px 45px rgba(30,41,39,.06); padding: 24px 28px; }
.product-form-heading, .product-list-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
.product-form-heading { border-bottom: 1px solid var(--line); padding-bottom: 18px; }
.product-form-heading h3, .product-list-heading h3 { font-family: var(--serif); font-size: 24px; font-weight: 500; margin: 0; }
.product-form-heading > span, .product-list-heading > span { color: var(--muted); font-size: 11px; }
.product-form-heading .eyebrow, .product-list-heading .eyebrow { color: var(--coral); font-size: 10px; margin: 0 0 3px; }
.product-admin-form .settings-grid { padding: 0; }
.product-options-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin: 4px 0 14px; }
.product-options-grid .settings-check { margin: 0; }
.product-form-actions { display: flex; gap: 10px; margin-top: 4px; }
.product-list-heading { border-bottom: 1px solid var(--line); margin: 28px 0 14px; padding: 0 2px 12px; }
.product-admin-item { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.product-admin-item:hover { border-color: rgba(215,121,95,.45); box-shadow: 0 10px 24px rgba(30,41,39,.07); transform: translateY(-1px); }
.product-admin-item img { border-radius: 10px; }
.product-admin-details { min-width: 0; }
.product-admin-title { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.product-admin-details p { color: var(--muted); font-size: 12px; margin: 7px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-admin-meta { align-items: end; display: flex; flex-direction: column; gap: 5px; }
.product-admin-meta small { color: var(--muted); font-size: 11px; }
.product-admin-actions { display: flex; gap: 7px; }
.product-status { border-radius: 999px; font-size: 9px; letter-spacing: .07em; padding: 4px 7px; text-transform: uppercase; }
.product-status.featured { background: #f8eadb; color: #a85838; }
.product-status.sale { background: #fbe4df; color: #b84e3d; }
.product-status.hidden { background: #e6e7e2; color: var(--muted); }
.admin-panel[data-panel="settings"] .admin-section-head { background: linear-gradient(135deg, rgba(255,254,250,.92), rgba(236,239,231,.78)); border: 1px solid rgba(216,219,210,.72); border-radius: 20px; margin-bottom: 18px; padding: 26px 28px; }
.admin-panel[data-panel="settings"] .admin-section-head h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.03em; }
.admin-panel[data-panel="settings"] .admin-section-head::after { color: var(--coral); content: "Shape every detail of your storefront"; font-size: 11px; letter-spacing: .08em; margin-left: auto; max-width: 180px; text-align: right; text-transform: uppercase; }
.admin-panel[data-panel="settings"] .settings-form { background: rgba(255,254,250,.68); border: 1px solid rgba(216,219,210,.82); border-radius: 20px; box-shadow: 0 18px 45px rgba(30,41,39,.06); gap: 0; overflow: hidden; padding: 0; }
.admin-panel[data-panel="settings"] .settings-grid { gap: 0 18px; padding: 25px 28px 10px; }
.admin-panel[data-panel="settings"] .settings-grid > label { margin-bottom: 18px; }
.admin-panel[data-panel="settings"] .settings-grid > label > span { color: var(--ink); font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.admin-panel[data-panel="settings"] .settings-grid input, .admin-panel[data-panel="settings"] .settings-grid textarea, .admin-panel[data-panel="settings"] .settings-grid select { box-shadow: 0 2px 0 rgba(30,41,39,.02); min-height: 44px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.admin-panel[data-panel="settings"] .settings-grid input:hover, .admin-panel[data-panel="settings"] .settings-grid textarea:hover, .admin-panel[data-panel="settings"] .settings-grid select:hover { background: #fffefa; border-color: #c8cec3; }
.admin-panel[data-panel="settings"] .settings-grid input[type="color"] { cursor: pointer; min-height: 44px; padding: 5px; }
.admin-panel[data-panel="settings"] .settings-grid input[type="file"] { align-items: center; display: flex; padding: 9px 11px; }
.admin-panel[data-panel="settings"] .settings-grid small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.admin-panel[data-panel="settings"] .admin-editor-heading { background: linear-gradient(90deg, rgba(232,233,223,.72), rgba(232,233,223,.2)); border: 0; border-left: 3px solid var(--coral); border-radius: 0 12px 12px 0; margin: 17px 0 18px; padding: 16px 18px; }
.admin-panel[data-panel="settings"] .admin-editor-heading:first-child { margin-top: 0; }
.admin-panel[data-panel="settings"] .admin-editor-heading { align-items: center; display: flex; gap: 14px; position: relative; scroll-margin-top: 20px; }
.admin-panel[data-panel="settings"] .admin-editor-heading::before { align-items: center; background: var(--coral); border-radius: 50%; color: var(--white); content: counter(settings-section); counter-increment: settings-section; display: inline-flex; flex: 0 0 25px; font-size: 11px; font-weight: 700; height: 25px; justify-content: center; width: 25px; }
.admin-panel[data-panel="settings"] .settings-grid { counter-reset: settings-section; }
.admin-panel[data-panel="settings"] .admin-editor-heading .eyebrow { color: var(--coral); font-size: 10px; margin-bottom: 4px; }
.admin-panel[data-panel="settings"] .admin-editor-heading h3 { font-size: 22px; }
.admin-panel[data-panel="settings"] .category-manager, .admin-panel[data-panel="settings"] .custom-section-manager { padding: 0 28px 4px; }
.admin-panel[data-panel="settings"] .category-manager-row, .admin-panel[data-panel="settings"] .custom-section-manager-row { background: rgba(245,244,239,.58); border: 1px solid rgba(216,219,210,.82); box-shadow: none; }
.admin-panel[data-panel="settings"] .category-manager-actions { background: rgba(232,233,223,.32); margin: 0 28px 20px; padding: 13px 15px; }
.admin-panel[data-panel="settings"] .settings-check { align-items: center; background: rgba(232,233,223,.38); border: 1px solid rgba(216,219,210,.72); border-radius: 10px; flex-direction: row; gap: 10px; margin-bottom: 18px; min-height: 44px; padding: 10px 12px; }
.admin-panel[data-panel="settings"] .settings-check input { accent-color: var(--coral); min-height: auto; width: 17px; }
.admin-panel[data-panel="settings"] > form > .crm-button[type="submit"] { background: rgba(30,41,39,.97); border: 1px solid rgba(255,254,250,.28); border-radius: 14px; bottom: 18px; box-shadow: 0 14px 28px rgba(30,41,39,.2); color: var(--white); margin: 0 28px 8px auto; min-width: 190px; padding: 14px 20px; position: sticky; z-index: 4; }
.admin-panel[data-panel="settings"] > form > .crm-button[type="submit"]::after { color: var(--coral); content: "  ↗"; font-size: 15px; margin-left: 7px; }
.admin-panel[data-panel="settings"] > form > .crm-button[type="submit"]:hover { background: var(--coral); transform: translateY(-2px); }
.admin-panel[data-panel="settings"] > form > .crm-button:not([type="submit"]) { margin: 0 28px 8px; }
.admin-panel[data-panel="settings"] > form > .settings-message { margin: 0 28px 25px; }
.admin-panel[data-panel="settings"] > form > .settings-message:empty { min-height: 10px; }
.admin-panel[data-panel="settings"] .custom-section-manager-row { transition: box-shadow .2s ease, transform .2s ease; }
.admin-panel[data-panel="settings"] .custom-section-manager-row:hover, .admin-panel[data-panel="settings"] .category-manager-row:hover { box-shadow: 0 8px 20px rgba(30,41,39,.06); transform: translateY(-1px); }
.admin-panel[data-panel="settings"] .custom-section-manager-head { background: rgba(232,233,223,.4); border-radius: 9px; padding: 8px 10px; }
.admin-panel[data-panel="settings"] .custom-section-manager-head strong::before { color: var(--coral); content: "✦ "; }
.admin-panel[data-panel="settings"] .settings-grid > label:not(.settings-wide):nth-child(even) { }
@media (max-width: 650px) { .admin-panel[data-panel="settings"] .admin-section-head { align-items: start; flex-direction: column; gap: 10px; padding: 22px 20px; } .admin-panel[data-panel="settings"] .admin-section-head::after { margin-left: 0; max-width: none; text-align: left; } .admin-panel[data-panel="settings"] .settings-grid { padding-left: 20px; padding-right: 20px; } .admin-panel[data-panel="settings"] .category-manager, .admin-panel[data-panel="settings"] .custom-section-manager { padding-left: 20px; padding-right: 20px; } .admin-panel[data-panel="settings"] .category-manager-actions { margin-left: 20px; margin-right: 20px; } .admin-panel[data-panel="settings"] > form > .crm-button, .admin-panel[data-panel="settings"] > form > .settings-message { margin-left: 20px; margin-right: 20px; } .section-head-actions { justify-content: flex-start; } }
@media (max-width: 850px) { .owner-tools-grid, .owner-checklist { grid-template-columns: 1fr; } .owner-tools-head { align-items: start; flex-direction: column; gap: 12px; } }
@media (max-width: 850px) { .owner-operations-grid { grid-template-columns: 1fr; } .owner-status-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 1050px) { .hosting-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .hosting-guide-card { padding: 21px 18px; } .hosting-options { grid-template-columns: 1fr; } }
/* Settings / visual field */
.admin-panel[data-panel="settings"] { position: relative; }
.settings-hero { align-items: stretch; background: linear-gradient(125deg, #213a34 0%, #34574d 53%, #ad7564 100%); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; box-shadow: 0 24px 55px rgba(30,41,39,.16); color: #fffdf8; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); margin-bottom: 18px; min-height: 295px; overflow: hidden; position: relative; }
.settings-hero::before { background: radial-gradient(circle, rgba(255,255,255,.16) 1px, transparent 1.5px); background-size: 15px 15px; content: ""; inset: 0 0 0 58%; opacity: .45; position: absolute; }
.settings-hero-copy { padding: 36px 38px; position: relative; z-index: 1; }
.settings-kicker { align-items: center; color: #f6c2af; display: flex; font-size: 10px; font-weight: 700; gap: 8px; letter-spacing: .15em; text-transform: uppercase; }
.settings-kicker-mark { align-items: center; border: 1px solid rgba(246,194,175,.65); border-radius: 50%; display: inline-flex; font-size: 11px; height: 22px; justify-content: center; width: 22px; }
.settings-hero h2 { color: #fffdf8; font-family: var(--serif); font-size: clamp(34px, 5vw, 58px); font-weight: 500; letter-spacing: -.045em; line-height: 1; margin: 24px 0 14px; max-width: 580px; }
.settings-hero-copy > p { color: rgba(255,253,248,.76); font-size: 14px; line-height: 1.65; margin: 0; max-width: 500px; }
.settings-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.settings-anchor { background: #fffdf8; border-radius: 999px; color: #263a35; font-size: 11px; font-weight: 700; letter-spacing: .05em; padding: 11px 16px; text-decoration: none; text-transform: uppercase; }
.settings-anchor span { color: var(--coral); font-size: 16px; margin-left: 5px; }
.settings-save-note { color: rgba(255,253,248,.68); font-size: 11px; }
.settings-save-note i { background: #bfe1c9; border-radius: 50%; display: inline-block; height: 7px; margin-right: 6px; width: 7px; }
.settings-hero-preview { align-items: center; display: flex; justify-content: center; min-height: 270px; overflow: hidden; position: relative; }
.settings-preview-orbit { border: 1px solid rgba(255,255,255,.25); border-radius: 50%; height: 230px; position: absolute; width: 230px; }
.settings-preview-orbit::after { background: #f6c2af; border-radius: 50%; content: ""; height: 8px; left: 26px; position: absolute; top: 26px; width: 8px; }
.orbit-one { transform: rotate(28deg) scaleX(1.4); }
.orbit-two { height: 170px; transform: rotate(-38deg) scaleX(1.35); width: 170px; }
.orbit-two::after { background: #f2d898; bottom: 10px; left: auto; right: 8px; top: auto; }
.settings-preview-card { backdrop-filter: blur(8px); background: rgba(255,253,248,.12); border: 1px solid rgba(255,255,255,.35); border-radius: 16px; box-shadow: 0 18px 38px rgba(21,37,33,.16); display: grid; gap: 12px; max-width: 245px; padding: 20px; position: relative; transform: rotate(4deg); width: calc(100% - 42px); z-index: 1; }
.settings-preview-label { color: #f6c2af; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.settings-preview-card strong { color: #fffdf8; font-family: var(--serif); font-size: 23px; font-weight: 500; line-height: 1.1; }
.settings-preview-line { background: rgba(255,255,255,.38); height: 1px; width: 72%; }
.settings-preview-meta { align-items: center; display: flex; font-size: 10px; justify-content: space-between; }
.settings-preview-meta b { color: #fffdf8; font-weight: 600; }
.settings-preview-meta em { color: var(--preview-accent, #f6c2af); font-size: 9px; font-style: normal; letter-spacing: .08em; }
.admin-panel[data-panel="settings"] .settings-form { background: rgba(255,253,248,.68); border: 1px solid rgba(216,219,210,.78); border-radius: 20px; box-shadow: 0 18px 50px rgba(30,41,39,.06); padding: 10px 0 22px; }
.admin-panel[data-panel="settings"] .settings-grid { background: linear-gradient(180deg, rgba(255,253,248,.6), rgba(241,239,231,.35)); border-radius: 18px; gap: 0 22px; padding: 30px 32px 14px; }
.admin-panel[data-panel="settings"] .settings-grid > label { background: rgba(255,255,255,.34); border: 1px solid transparent; border-radius: 12px; padding: 12px; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.admin-panel[data-panel="settings"] .settings-grid > label:hover { background: rgba(255,255,255,.75); border-color: rgba(215,121,95,.18); transform: translateY(-1px); }
.admin-panel[data-panel="settings"] .settings-grid > label.settings-wide { background: rgba(255,255,255,.24); padding: 13px 14px; }
.admin-panel[data-panel="settings"] .admin-editor-heading { background: linear-gradient(105deg, #e4e9df, #f7f1e9 72%); border-left-width: 4px; box-shadow: 0 8px 18px rgba(30,41,39,.04); margin: 26px 0 14px; padding: 17px 20px; }
.admin-panel[data-panel="settings"] .admin-editor-heading h3 { color: #263a35; font-size: clamp(20px, 2.5vw, 27px); letter-spacing: -.025em; }
.admin-panel[data-panel="settings"] .admin-editor-heading p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 0; max-width: 520px; }
.admin-panel[data-panel="settings"] .admin-editor-heading::before { background: #263a35; box-shadow: 0 0 0 4px rgba(38,58,53,.1); }
.admin-panel[data-panel="settings"] .category-manager, .admin-panel[data-panel="settings"] .custom-section-manager { padding: 0 32px 4px; }
.admin-panel[data-panel="settings"] .category-manager-row, .admin-panel[data-panel="settings"] .custom-section-manager-row { background: rgba(255,255,255,.72); border: 1px solid rgba(216,219,210,.8); box-shadow: 0 8px 18px rgba(30,41,39,.035); }
.admin-panel[data-panel="settings"] .category-manager-actions { background: linear-gradient(90deg, rgba(215,121,95,.09), rgba(232,233,223,.4)); border: 1px solid rgba(215,121,95,.14); margin: 0 32px 20px; }
.admin-panel[data-panel="settings"] .settings-check { background: rgba(231,238,231,.62); border-color: rgba(121,151,132,.22); }
.admin-panel[data-panel="settings"] > form > .crm-button[type="submit"] { margin-right: 32px; }
.admin-panel[data-panel="settings"] > form > .settings-message { margin-left: 32px; margin-right: 32px; }
@media (max-width: 720px) { .settings-hero { grid-template-columns: 1fr; } .settings-hero-copy { padding: 28px 24px 10px; } .settings-hero-preview { min-height: 220px; } .settings-hero h2 { margin-top: 18px; } }
@media (max-width: 650px) { .admin-panel[data-panel="settings"] .settings-grid { padding-left: 18px; padding-right: 18px; } .admin-panel[data-panel="settings"] .category-manager, .admin-panel[data-panel="settings"] .custom-section-manager { padding-left: 18px; padding-right: 18px; } .admin-panel[data-panel="settings"] .category-manager-actions { margin-left: 18px; margin-right: 18px; } .admin-panel[data-panel="settings"] > form > .crm-button[type="submit"], .admin-panel[data-panel="settings"] > form > .settings-message { margin-left: 18px; margin-right: 18px; } }
.chart-card { min-height: 300px; }
.revenue-card-head { margin-bottom: 12px; }
.revenue-card-head h2 { margin-top: 3px; }
.revenue-range { background: rgba(232,233,223,.58); border: 1px solid rgba(216,219,210,.85); border-radius: 999px; color: var(--muted); font-size: 10px; letter-spacing: .06em; padding: 7px 10px; text-transform: uppercase; }
.revenue-summary { display: grid; gap: 10px; grid-template-columns: 1.35fr 1fr 1fr; margin-bottom: 20px; }
.revenue-summary div { border-left: 2px solid rgba(215,121,95,.42); padding-left: 10px; }
.revenue-summary small { color: var(--muted); display: block; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.revenue-summary strong { color: var(--ink); display: block; font-size: 19px; margin-top: 4px; }
.revenue-summary .trend-up { color: #557b62; }
.revenue-summary .trend-down { color: #b35d52; }
.lower-grid { grid-template-columns: 1fr 1fr; }
.admin-section-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 16px; }
.admin-section-head h2 { font-size: 24px; }
.section-head-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.section-export-row { display: flex; justify-content: flex-end; margin: -4px 0 14px; }
.settings-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.mini-list { display: grid; gap: 12px; }
.mini-order { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.mini-order:last-child { border-bottom: 0; padding-bottom: 0; }
.mini-order strong, .mini-order small { display: block; }
.mini-order small { color: var(--muted); }
.mini-order span { background: var(--white); border: 1px solid var(--line); color: var(--muted); font-size: 11px; padding: 4px 8px; text-transform: uppercase; }
.mini-chart { background: linear-gradient(135deg, rgba(232,233,223,.22), rgba(255,254,250,.72)); border-bottom: 1px solid var(--line); border-radius: 14px; height: 190px; overflow: visible; padding: 0 2px; }
.revenue-chart-svg { display: block; height: 100%; overflow: visible; width: 100%; }
.revenue-guides line { stroke: rgba(216,219,210,.8); stroke-dasharray: 3 7; stroke-width: 1; }
.revenue-area { fill: url(#revenue-area-gradient); }
.revenue-line { fill: none; stroke: #d7795f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.revenue-point { cursor: pointer; }
.revenue-point-halo { fill: rgba(215,121,95,.16); transition: r .2s ease, fill .2s ease; }
.revenue-point-core { fill: #fffdf8; stroke: #d7795f; stroke-width: 3; transition: r .2s ease, fill .2s ease; }
.revenue-point text { fill: var(--ink); font-size: 11px; font-weight: 700; opacity: .84; }
.revenue-point .revenue-axis-label { fill: var(--muted); font-size: 10px; font-weight: 500; }
.revenue-point:hover .revenue-point-halo { fill: rgba(215,121,95,.3); r: 14; }
.revenue-point:hover .revenue-point-core { fill: #d7795f; r: 6; }
.revenue-chart-foot { color: var(--muted); display: flex; font-size: 10px; justify-content: space-between; margin-top: 28px; text-transform: uppercase; letter-spacing: .08em; }
.activity-feed { display: grid; gap: 12px; }
.activity-item { border-left: 2px solid var(--coral); padding-left: 12px; }
.activity-item strong { display: block; }
.activity-item small { color: var(--muted); }
.add-customer-card { margin-top: 18px; }
.tasks-hero { align-items: end; background: linear-gradient(118deg, #e8e9df, #f6eee6); border: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 18px; padding: 30px; }
.tasks-hero h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(30px, 4vw, 48px); font-weight: 500; margin: 6px 0 10px; }
.tasks-hero p:not(.eyebrow) { color: var(--muted); margin: 0; max-width: 540px; }
.tasks-hero-note, .tasks-hero-note span, .tasks-hero-note strong, .tasks-hero-note small { display: block; text-align: right; }
.tasks-hero-note { min-width: 150px; }.tasks-hero-note span, .tasks-hero-note small { color: var(--muted); font-size: 12px; }.tasks-hero-note strong { color: var(--coral); font-size: 42px; line-height: 1; margin: 7px 0; }
.tasks-kpis { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); margin-bottom: 18px; }
.tasks-kpis .admin-metric span { color: var(--muted); display: block; font-size: 11px; margin-top: 6px; }
.task-add-card { margin-bottom: 18px; padding: 22px; }.task-form { align-items: end; display: grid; gap: 12px; grid-template-columns: 2fr repeat(4, 1fr) auto; }
.task-form label { color: var(--muted); display: flex; flex-direction: column; font-size: 11px; gap: 7px; }.task-form input, .task-form select { background: var(--white); border: 1px solid var(--line); min-width: 0; padding: 11px 12px; }
.task-list-heading { align-items: end; background: linear-gradient(135deg, #fffdf8, #f1eee5); border: 1px solid rgba(216,219,210,.8); border-radius: 16px 16px 0 0; margin: 24px 0 0; padding: 20px 22px 14px; }.task-list-heading h2 { font-size: 28px; margin-top: 4px; }.task-list-heading #tasks-result-count { background: #e7e1d4; border-radius: 999px; color: #52615a; font-size: 11px; padding: 7px 11px; }.tasks-toolbar { background: #f1eee5; border: 1px solid rgba(216,219,210,.8); border-top: 0; margin-bottom: 0; padding: 12px 14px; }.tasks-toolbar .crm-search, .tasks-toolbar .crm-select { background: #fffdf8; border-color: #d8dbd2; border-radius: 999px; }
.tasks-table-wrap { background: #fffdf8; border: 1px solid rgba(216,219,210,.8); border-radius: 0 0 16px 16px; box-shadow: 0 14px 30px rgba(30,41,39,.05); overflow-x: auto; }.tasks-table { min-width: 820px; }.tasks-table thead { background: #eee9df; }.tasks-table th { color: #61716a; font-size: 10px; letter-spacing: .14em; padding: 14px 16px; }.tasks-table td { border-bottom: 1px solid rgba(216,219,210,.65); padding: 16px; vertical-align: middle; }.tasks-table tbody tr { transition: background .2s ease; }.tasks-table tbody tr:hover { background: rgba(215,121,95,.07); }.task-title-cell { align-items: center; display: flex; gap: 11px; }.task-title-cell input { accent-color: var(--coral); height: 17px; width: 17px; }.task-title-cell span { font-weight: 600; }.task-row.done { background: rgba(220,235,226,.35); }.task-row.done .task-title-cell span { color: var(--muted); text-decoration: line-through; }.task-row.overdue { background: rgba(215,121,95,.08); }.task-row.overdue .task-title-cell span { color: #9d4d3b; }
.task-priority, .task-status { border: 0; border-radius: 999px; display: inline-block; font-size: 10px; letter-spacing: .08em; padding: 6px 10px; text-transform: uppercase; }.task-priority.high { background: #f7dcd3; color: #a64d3c; }.task-priority.medium { background: #f8e8c9; color: #8d6e1a; }.task-priority.low { background: #dcebe2; color: #356449; }.task-status { background: #e7e1d4; color: #52615a; }.task-row.done .task-status { background: #dcebe2; color: #28634d; }.task-row.overdue .task-status { background: #f7dcd3; color: #a64d3c; }.task-due.is-overdue { color: #a64d3c; font-weight: 700; }.task-actions { white-space: nowrap; }.task-actions .crm-button { font-size: 10px; margin-left: 5px; padding: 7px 9px; }
@media (max-width: 1050px) { .task-form { grid-template-columns: repeat(3, 1fr); }.task-form label:first-child { grid-column: 1 / -1; }.task-form .crm-button { justify-self: start; }.tasks-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px) { .tasks-hero { align-items: start; flex-direction: column; gap: 25px; padding: 22px; }.tasks-hero-note, .tasks-hero-note span, .tasks-hero-note strong, .tasks-hero-note small { text-align: left; }.task-form { grid-template-columns: 1fr 1fr; }.task-form label:first-child { grid-column: 1 / -1; }.tasks-kpis { grid-template-columns: 1fr 1fr; } }
.status-pill { border: 1px solid var(--line); display: inline-block; font-size: 10px; letter-spacing: .12em; padding: 5px 8px; text-transform: uppercase; }
.status-pill.paid { background: #edf5ef; color: #1d5d3c; }
.status-pill.processing { background: #fff6dc; color: #8d6e1a; }
.status-pill.shipped { background: #edf3ff; color: #2d5ac1; }
.settings-form { display: grid; gap: 18px; }
.settings-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-wide { grid-column: 1 / -1; }
.settings-grid label { color: var(--muted); display: flex; flex-direction: column; gap: 8px; font-size: 12px; }
.settings-grid input, .settings-grid textarea, .settings-grid select { background: var(--white); border: 1px solid var(--line); padding: 12px 14px; }
.settings-grid textarea { min-height: 82px; resize: vertical; }
.settings-message { color: var(--coral); font-size: 12px; min-height: 18px; }
.product-admin-form { background: rgba(245,244,239,.82); border: 1px solid var(--line); margin-bottom: 20px; padding: 20px; }
.product-image-upload { background: rgba(232,233,223,.34); border: 1px solid rgba(216,219,210,.82); border-radius: 14px; padding: 14px; }
.product-image-upload-head { align-items: center; display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.product-image-upload-head span, .product-image-upload-head small { display: block; }
.product-image-upload-head span { font-weight: 600; }
.product-image-upload-head small { color: var(--muted); font-size: 11px; margin-top: 4px; }
.product-image-upload-grid { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.2fr) 110px; }
.product-image-file-field input { border: 1px dashed rgba(215,121,95,.55); cursor: pointer; padding: 10px; }
.product-image-preview { align-items: center; background: var(--cream); border: 1px solid var(--line); border-radius: 10px; color: var(--muted); display: flex; height: 86px; justify-content: center; overflow: hidden; text-align: center; }
.product-image-preview img { height: 100%; object-fit: cover; width: 100%; }
.product-image-preview { align-content: center; display: grid; gap: 5px; grid-template-columns: repeat(3, 1fr); padding: 5px; }
.product-image-preview span { grid-column: 1 / -1; }
.product-image-preview img { min-height: 0; }
.product-image-preview-item { border: 1px solid var(--line); border-radius: 10px; min-width: 0; padding: 5px; position: relative; }
.product-image-preview-item.is-main { border-color: var(--coral); box-shadow: 0 0 0 2px rgba(215,121,95,.16); }
.product-image-preview-item img { border-radius: 6px; display: block; height: 76px; object-fit: cover; width: 100%; }
.product-image-main-button { background: rgba(30,41,39,.88); border: 0; border-radius: 5px; bottom: 9px; color: var(--white); cursor: pointer; font-size: 9px; left: 9px; padding: 5px 6px; position: absolute; right: 9px; }
.product-image-preview-item.is-main .product-image-main-button { background: var(--coral); }
.product-image-upload .settings-message { margin: 10px 0 0; }
.product-admin-list { display: grid; gap: 10px; }
.product-admin-item { align-items: center; background: rgba(245,244,239,.82); border: 1px solid var(--line); display: grid; gap: 14px; grid-template-columns: 58px minmax(0, 1fr) auto auto; padding: 10px; }
.product-admin-item img { height: 58px; object-fit: cover; width: 58px; }
.product-admin-gallery-preview { height: 58px; position: relative; width: 58px; }
.product-admin-gallery-preview img { display: block; }
.product-admin-gallery-preview span { background: rgba(30,41,39,.82); bottom: 3px; color: #fffdf8; font-size: 8px; left: 3px; padding: 3px 4px; position: absolute; right: 3px; text-align: center; }
.product-admin-item strong, .product-admin-item small { display: block; }
.product-admin-item small { color: var(--muted); margin-top: 3px; }
.crm-button.danger { background: transparent; border-color: #d9a49a; color: #a64d3c; }
.crm-button.danger:hover { background: #a64d3c; border-color: #a64d3c; color: var(--white); }
.crm-shell { display: grid; gap: 24px; grid-template-columns: 260px 1fr; margin: 0 auto; max-width: 1360px; padding: 28px 24px 48px; }
.crm-sidebar { background: var(--white); border: 1px solid var(--line); padding: 22px 18px; }
.crm-brand { display: block; font-size: 32px; font-weight: 700; letter-spacing: -.08em; margin-bottom: 18px; }
.crm-brand span { color: var(--coral); }
.crm-side-links { display: grid; gap: 10px; margin-top: 18px; }
.crm-side-links a { color: var(--muted); font-size: 13px; padding: 10px 12px; }
.crm-side-links a:hover { background: var(--paper); color: var(--ink); }
.crm-main { display: grid; gap: 24px; }
.crm-topbar { align-items: center; background: var(--white); border: 1px solid var(--line); display: flex; justify-content: space-between; padding: 18px 22px; }
.crm-topbar h1 { font-size: clamp(28px, 3vw, 42px); }
.crm-topbar-right { align-items: center; display: flex; gap: 12px; }
.crm-chip { background: var(--paper); border: 1px solid var(--line); color: var(--muted); font-size: 12px; padding: 8px 10px; }
.crm-stats { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crm-stat { background: var(--white); border: 1px solid var(--line); padding: 18px 18px 16px; }
.crm-stat small { color: var(--muted); display: block; letter-spacing: .12em; text-transform: uppercase; }
.crm-stat strong { display: block; font-family: var(--serif); font-size: clamp(28px, 2vw, 38px); margin-top: 12px; }
.crm-panel { background: var(--white); border: 1px solid var(--line); padding: 18px 20px; }
.crm-toolbar { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 16px; }
.crm-toolbar-left, .crm-toolbar-right { align-items: center; display: flex; gap: 12px; }
.crm-search { border: 1px solid var(--line); flex: 1; max-width: 350px; min-width: 160px; padding: 10px 12px; }
.crm-select { border: 1px solid var(--line); padding: 10px 12px; }
.crm-button { background: var(--ink); border: 1px solid var(--ink); border-radius: 6px; color: var(--white); padding: 11px 18px; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.crm-button:hover { background: var(--coral); border-color: var(--coral); transform: translateY(-1px); }
.crm-table-wrap { overflow-x: auto; }
.crm-table { border-collapse: collapse; width: 100%; }
.crm-table th, .crm-table td { border-bottom: 1px solid var(--line); padding: 14px 10px; text-align: left; }
.crm-table th { color: var(--muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.crm-table td { font-size: 14px; }
.stock-table td { vertical-align: middle; }
.stock-table td:first-child { min-width: 150px; }
.stock-table td:first-child small { color: var(--muted); display: block; font-size: 11px; margin-top: 2px; }
.stock-input { border: 1px solid var(--line); max-width: 100px; padding: 9px 8px; width: 100%; }
.stock-input:focus { border-color: var(--coral); outline: 0; }
.stock-movement { border-radius: 999px; display: inline-block; font-size: 11px; padding: 5px 9px; }
.stock-movement.fast { background: #f8dfd8; color: #a64d3c; }
.stock-movement.steady { background: #e8e9df; color: var(--ink); }
.stock-movement.slow { background: #e4eee7; color: #28634d; }
.stock-kpis { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 20px 0; }
.stock-kpis .admin-metric { padding: 18px; }
.stock-kpis .admin-metric strong { font-size: 25px; }
.stock-toolbar { margin-bottom: 12px; }
.stock-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.stock-alert-note { color: var(--muted); font-size: 12px; margin: 14px 0 0; }
.stock-row-urgent { background: rgba(215,121,95,.08); }
.stock-row-low { background: rgba(215,121,95,.035); }
.stock-status { border-radius: 999px; display: inline-block; font-size: 11px; padding: 5px 9px; white-space: nowrap; }
.stock-status.out-of-stock { background: #f4d6d0; color: #963d2e; }
.stock-status.low-stock { background: #f8e6d2; color: #8b5b20; }
.stock-status.healthy { background: #e4eee7; color: #28634d; }
@media (max-width: 850px) { .stock-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .stock-toolbar { align-items: stretch; } }
@media (max-width: 520px) { .stock-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stock-toolbar .crm-toolbar-right { flex-direction: column; align-items: stretch; } .stock-toolbar .crm-select { width: 100%; } }
.crm-provider { display: inline-block; font-size: 11px; letter-spacing: .08em; padding: 6px 8px; text-transform: uppercase; }
.crm-provider.email { background: #ede9dd; color: var(--ink); }
.crm-provider.facebook { background: #e8eefb; color: #204fa8; }
.crm-provider.google { background: #fbe9e5; color: #b24d3c; }
.crm-provider.apple { background: #ecf3ee; color: #1a5b49; }
.customers-hero { align-items: end; background: linear-gradient(120deg, rgba(30,41,39,.98), #3b4a43 68%, #52645a); border-radius: 15px; color: var(--white); display: flex; justify-content: space-between; margin-bottom: 18px; overflow: hidden; padding: 28px 30px; position: relative; }
.customers-hero::after { border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; height: 220px; position: absolute; right: 12%; top: -115px; width: 220px; }
.customers-hero h2 { color: var(--white); font-family: var(--serif); font-size: clamp(28px, 3vw, 42px); font-weight: 500; margin: 3px 0 8px; max-width: 620px; }
.customers-hero p:not(.eyebrow) { color: rgba(255,255,255,.72); margin: 0; max-width: 560px; }
.customers-hero .eyebrow { color: #e9b09e; }
.customers-hero-note { border-left: 1px solid rgba(255,255,255,.2); display: grid; gap: 3px; min-width: 150px; padding-left: 24px; position: relative; z-index: 1; }
.customers-hero-note span, .customers-hero-note small { color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.customers-hero-note strong { color: #f2c0ae; font-family: var(--serif); font-size: 40px; font-weight: 500; line-height: 1; }
.customers-kpis { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 28px; }
.customers-kpis .admin-metric { min-height: 122px; padding: 18px; }
.customers-kpis .admin-metric:nth-child(2) { background: linear-gradient(145deg, rgba(215,121,95,.16), var(--admin-surface-strong)); }
.customers-kpis .admin-metric:nth-child(3) { background: linear-gradient(145deg, rgba(232,233,223,.82), var(--admin-surface-strong)); }
.customers-kpis .admin-metric:nth-child(4) { background: linear-gradient(145deg, rgba(228,238,231,.9), var(--admin-surface-strong)); }
.customers-kpis .admin-metric strong { font-size: 30px; }
.customers-kpis .admin-metric span { color: var(--muted); display: block; font-size: 11px; margin-top: 6px; }
.customers-list-heading { align-items: end; margin-bottom: 15px; }
.customers-list-heading h2 { margin-top: 2px; }
.customers-result-count { color: var(--muted); font-size: 12px; }
.customers-toolbar { background: rgba(255,254,250,.68); border: 1px solid rgba(216,219,210,.8); border-radius: 12px; margin-bottom: 12px; padding: 10px 12px; }
.customers-table-wrap { background: var(--admin-surface-strong); border: 1px solid rgba(216,219,210,.8); border-radius: 12px; box-shadow: 0 14px 32px rgba(30,41,39,.045); }
.customers-table { min-width: 760px; }
.customers-table th { background: #f4f3ed; color: #61716a; }
.customers-table td, .customers-table th { padding: 15px 14px; }
.customers-table tbody tr { transition: background .2s ease; }
.customers-table tbody tr:hover { background: rgba(215,121,95,.055); }
.customer-name { display: block; font-size: 13px; font-weight: 600; }
.customer-meta { color: var(--muted); display: none; font-size: 11px; margin-top: 3px; }
.customer-status { border-radius: 999px; display: inline-block; font-size: 10px; letter-spacing: .08em; padding: 5px 9px; text-transform: uppercase; }
.customer-status.new { background: #f8dfd8; color: #a64d3c; }
.customer-status.active { background: #e4eee7; color: #28634d; }
@media (max-width: 850px) { .customers-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .customers-hero { align-items: start; flex-direction: column; gap: 22px; } .customers-hero-note { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding-left: 0; padding-top: 14px; width: 100%; } .customers-toolbar { align-items: stretch; flex-direction: column; } .customers-toolbar .crm-toolbar-right { justify-content: stretch; } .customers-toolbar .crm-select { flex: 1; } }
@media (max-width: 520px) { .customers-kpis { grid-template-columns: 1fr 1fr; } .customers-hero { padding: 24px 20px; } .customers-table { min-width: 680px; } .customers-table th, .customers-table td { padding-left: 11px; padding-right: 11px; } .customer-meta { display: block; } .customers-toolbar .crm-toolbar-right { flex-direction: column; } .customers-toolbar .crm-select { width: 100%; } }
.crm-empty { color: var(--muted); padding: 20px 0 10px; }
.crm-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.crm-form-grid label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 12px; }
.crm-form-grid input, .crm-form-grid select { border: 1px solid var(--line); padding: 11px 12px; }
.crm-form-grid input:focus, .crm-form-grid select:focus { border-color: var(--coral); outline: 0; }
.crm-form-submit { margin-top: 10px; }
.crm-message { color: var(--coral); font-size: 12px; min-height: 18px; margin-top: 12px; }
@media (max-width: 850px) { .main-nav { margin-left: 0; } .hero { grid-template-columns: 1fr; } .hero-copy { padding: 70px 8% 55px; } .hero-art { min-height: 390px; } .hero-note { left: auto; right: 8%; } .trust-row { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 6%; } .trust-item { padding: 18px 12px; } .trust-item:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); } .trust-item:nth-child(4) { border-top: 1px solid var(--line); } .section-heading { align-items: start; flex-direction: column; gap: 28px; } .category-grid { grid-template-columns: repeat(2, 1fr); } .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .feature-section, .story-section, .custom-home-section.has-image.custom-layout-image-left, .custom-home-section.has-image.custom-layout-image-right { grid-template-columns: 1fr; } .custom-layout-image-right .custom-section-image { order: 0; } .feature-image, .story-visual, .custom-section-image { min-height: 390px; } .feature-image { min-height: 430px; } .feature-image-stamp { right: 22px; top: 22px; } .feature-image-ribbon { left: 22px; top: 22px; } .story-image { min-height: 390px; } .feature-copy, .story-copy { padding: 70px 8%; } .testimonial-section { display: block; padding: 75px 8%; } .testimonial-grid { margin-top: 45px; } .newsletter { align-items: start; flex-direction: column; padding: 75px 8%; } .newsletter-form { width: 100%; } .site-footer { grid-template-columns: 1fr 1fr; } .admin-shell { grid-template-columns: 1fr; } .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .admin-quick-grid { grid-template-columns: 1fr; } .crm-shell { grid-template-columns: 1fr; } .crm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .maison-points-tier-grid { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .category-manager-row { grid-template-columns: 1fr 1fr; } .category-manager-row .category-remove { grid-column: 2; justify-self: start; } }
@media (max-width: 850px) { .overview-hero { align-items: start; flex-direction: column; gap: 22px; } .overview-hero-meta { align-items: start; text-align: left; } .overview-stock-summary { grid-template-columns: 1fr auto; } .overview-stock-summary .crm-button { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 520px) { .overview-hero { padding: 24px 20px; } .overview-stock-summary { align-items: start; grid-template-columns: 1fr; } .overview-stock-counts { gap: 12px; } .overview-stock-summary .crm-button { grid-column: auto; } .overview-actions { align-items: stretch; flex-direction: column; } .overview-actions .eyebrow { margin: 0 0 2px; } .overview-actions button { text-align: left; } }
@media (max-width: 850px) { .variant-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .variant-row .crm-button { grid-column: 2; } }
@media (max-width: 520px) { .site-header { gap: 12px; padding: 16px 6%; } .brand { font-size: 20px; } .main-nav { display: none; } .header-actions { gap: 14px; } .auth-link { align-items: center; display: inline-flex; flex: 0 0 42px; font-size: 0; height: 42px; justify-content: center; padding: 0; width: 42px; } .auth-label { display: none; } .auth-symbol { display: block; height: 20px; margin: 0; width: 20px; } .cart-button { align-items: center; display: inline-flex; flex: 0 0 28px; height: 42px; justify-content: center; position: relative; width: 28px; } .cart-label { display: none; } .cart-symbol { height: 20px; margin: 0; width: 20px; } .cart-button .cart-count { margin: 0; position: absolute; right: -7px; top: 1px; } .admin-link { display: none; } .hero-copy { padding-left: 6%; padding-right: 6%; } .hero-art { min-height: 300px; } .trust-row { grid-template-columns: 1fr; padding: 0 6%; } .trust-item, .trust-item:nth-child(3), .trust-item:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); padding: 16px 4px; } .trust-item:first-child { border-top: 0; } .trust-icon { flex-basis: 32px; height: 32px; width: 32px; } .category-section { padding: 75px 6%; } .category-grid { grid-template-columns: 1fr; } .category-card { aspect-ratio: 1.4; } .feature-image, .story-visual { min-height: 320px; } .feature-image { min-height: 360px; } .feature-image-stamp { height: 88px; right: 18px; top: 18px; width: 88px; font-size: 15px; } .feature-image-ribbon { left: 18px; top: 18px; } .feature-image-note { bottom: 22px; left: 20px; } .feature-image-count { bottom: 22px; right: 20px; } .feature-copy, .story-copy { padding: 58px 8%; } .feature-meta { align-items: flex-start; flex-direction: column; gap: 7px; } .story-image { min-height: 320px; } .shop-section { padding: 75px 6%; } .shop-controls { align-items: start; flex-direction: column; gap: 13px; width: 100%; } .filter-tabs { gap: 13px; overflow-x: auto; max-width: 100%; padding-bottom: 4px; width: 100%; } .sort-options { left: 0; right: auto; } .product-grid { gap: 28px 12px; } .testimonial-grid { grid-template-columns: 1fr; } .testimonial-grid blockquote { margin-bottom: 12px; } .site-footer { padding: 26px 6%; } .site-footer div { align-items: flex-start; flex-direction: column; gap: 12px; } .site-footer p { grid-column: 1 / -1; } .site-footer small { grid-column: 1 / -1; } .cart-drawer { padding: 26px; } .checkout-grid { grid-template-columns: 1fr; } .full-width { grid-column: auto; } .admin-metrics { grid-template-columns: 1fr; } .settings-grid { grid-template-columns: 1fr; } .crm-stats { grid-template-columns: 1fr; } .crm-toolbar { flex-direction: column; align-items: stretch; } .crm-toolbar-left, .crm-toolbar-right { width: 100%; } .crm-search { max-width: none; } .crm-form-grid { grid-template-columns: 1fr; } .product-admin-item { align-items: start; grid-template-columns: 48px 1fr; } .product-admin-item img { height: 48px; width: 48px; } .product-admin-item .crm-button { grid-column: 2; } .category-manager-row { grid-template-columns: 1fr; } .category-manager-row .category-remove { grid-column: auto; } .category-manager-actions { align-items: start; flex-direction: column; } }
.loyalty-heading{margin-top:3rem}
.loyalty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.loyalty-list{display:grid;gap:.5rem;margin-top:1rem}
.loyalty-list-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid rgba(38,35,31,.12);background:rgba(255,255,255,.45)}
.loyalty-list-row span{display:grid;gap:.2rem}.loyalty-list-row small{color:var(--muted,#756f68)}
.loyalty-list-row .crm-button{padding:.35rem .55rem;font-size:.75rem}
@media (max-width:900px){.loyalty-grid{grid-template-columns:1fr}}
@media (max-width:850px){.policy-layout{gap:42px;grid-template-columns:1fr;padding-top:70px}.policy-summary{position:static}}
@media (max-width:520px){.policy-hero{padding:78px 6% 58px}.policy-layout{padding:58px 6% 80px}.policy-summary{padding:24px}.policy-content section{padding:28px 0 34px}}
@media (max-width:520px){.return-request-section{padding:26px !important}.return-form-grid{grid-template-columns:1fr}.return-form-wide{grid-column:auto}.return-request-form{padding:18px}.return-form-intro{align-items:flex-start;flex-wrap:wrap}.return-form-secure{margin-left:52px;width:100%}.return-request-form .button{width:100%}}
.cart-drawer { z-index: 20; }
.drawer-overlay { z-index: 19; }
.cart-drawer.open { opacity: 1; pointer-events: auto; transform: translateX(0) !important; visibility: visible; }
.cart-drawer:not(.open) { pointer-events: none; }
