/* =========================================================
   NOOSHANA — mobile-first stylesheet
   Base styles target phones. Enhance with min-width queries.
   Breakpoints: 480 / 640 / 768 / 900 / 1024 / 1200
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  --ink:        #14181A;
  --ink-70:     rgba(20,24,26,.7);
  --ink-45:     rgba(20,24,26,.62);
  --paper:      #F7F8FA;
  --paper-2:    #FFFFFF;
  --stone-100:  #EEF1F4;
  --stone-200:  #DFE4E9;
  --stone-300:  #C9D0D7;
  --glacier:    #1F4B5C;
  --glacier-d:  #163640;
  --glacier-tint: #E3ECEC;
  --moss:       #45523B;
  --moss-tint:  #E9ECE3;
  --clay:       #A8402F;
  --clay-tint:  #F3E2DD;
  --gold:       #B08A4E;
  --gold-tint:  #F3E9D2;
  --gold-text:  #8A6A1F;

  --radius-s: 4px;
  --radius-m: 8px;
  --radius-l: 14px;

  --shadow-s: 0 1px 2px rgba(20,24,26,.06), 0 1px 1px rgba(20,24,26,.04);
  --shadow-m: 0 8px 24px rgba(20,24,26,.08);
  --shadow-l: 0 24px 60px rgba(20,24,26,.14);

  --ease: cubic-bezier(.22,.68,0,1);
  --container: 1280px;
  --header-h: 64px;
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Vazirmatn', sans-serif;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  line-height:1.7;
  overflow-x:clip;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-weight:800; letter-spacing:-.01em; line-height:1.35; }
p{ margin:0 0 1em; }
:focus-visible{ outline:2px solid var(--glacier); outline-offset:3px; }
::selection{ background:var(--glacier); color:#fff; }

.sr-only,.visually-hidden{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---------- 3. Layout ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:16px;
}
@media (min-width:640px){ .container{ padding-inline:24px; } }
@media (min-width:900px){ .container{ padding-inline:40px; } }

.eyebrow{
  font-size:12.5px; font-weight:600; letter-spacing:.02em;
  color:var(--glacier); display:flex; align-items:center; gap:8px;
  margin:0 0 12px;
}
.eyebrow .ring-dot{
  width:7px; height:7px; border-radius:50%; border:2px solid var(--glacier);
  flex-shrink:0;
}
.sec-title{ font-size:clamp(24px,3vw,38px); }
.sec-head{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:14px; margin-bottom:26px;
}
.sec-desc{ color:var(--ink-70); font-size:15px; max-width:460px; margin-top:10px; font-weight:400; }
@media (min-width:640px){
  .sec-head{ flex-direction:row; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; }
  .sec-desc{ font-size:16px; }
}

/* ---------- 4. Buttons & links ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:12px 22px; border-radius:999px; border:1px solid transparent;
  font-size:14.5px; font-weight:700; line-height:1.2;
  transition:transform .35s var(--ease), background .25s, box-shadow .25s;
  text-align:center;
}
@media (min-width:640px){ .btn{ min-height:52px; padding:15px 28px; font-size:15px; } }
.btn-primary{ background:var(--glacier); color:#fff; box-shadow:var(--shadow-s); }
.btn-primary:hover{ background:var(--glacier-d); box-shadow:var(--shadow-m); transform:translateY(-2px); }
.btn-primary:disabled{ background:var(--stone-300); color:var(--ink-45); cursor:not-allowed; transform:none; box-shadow:none; }
.btn-ghost{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-ghost:hover{ background:var(--ink); color:var(--paper); }
.btn-light{ background:var(--paper-2); color:var(--ink); border-color:var(--stone-200); }
.btn-light:hover{ border-color:var(--ink); }
.btn-danger{ background:var(--clay); color:#fff; }
.btn-secondary{ background:var(--stone-100); color:var(--ink); border-color:var(--stone-200); }
.btn-block{ width:100%; }
.btn-sm{ min-height:42px; padding:9px 16px; font-size:13px; }
.link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14px; }
.link-arrow svg{ transition:transform .3s var(--ease); }
.link-arrow:hover svg{ transform:translateX(-4px); }
.link-danger{ color:var(--clay); font-size:13.5px; font-weight:700; }
.link-danger:hover{ text-decoration:underline; }

/* ---------- 5. Photo placeholders ---------- */
.photo{
  position:relative; overflow:hidden; background:var(--stone-100);
  display:flex; align-items:center; justify-content:center;
}
.photo::before{
  content:""; position:absolute; inset:0; opacity:.5; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.photo svg{ position:relative; z-index:1; opacity:.9; }
.photo-duo-gym{ background:linear-gradient(155deg,#1c2a2c 0%,#2f4045 55%,#3f5a55 100%); }
.photo-duo-office{ background:linear-gradient(155deg,#e4e0d4 0%,#cfc9b8 60%,#b9b19c 100%); }
.photo-duo-outdoor{ background:linear-gradient(155deg,#2b3324 0%,#45523b 55%,#6a7a55 100%); }
.photo-duo-coffee{ background:linear-gradient(155deg,#2a201a 0%,#4a382c 55%,#8a6a4e 100%); }
.photo-duo-kid{ background:linear-gradient(155deg,#dfe7e6 0%,#c3d3d2 55%,#9fb8b6 100%); }
.photo-duo-flat{ background:linear-gradient(155deg,#eeece5 0%,#e2ded2 100%); }
.photo-duo-hero{ background:linear-gradient(150deg,#16232a 0%,#1f4b5c 45%,#3d6a72 78%,#7d9a8e 100%); }
.photo-duo-lifestyle{ background:linear-gradient(155deg,#20261d 0%,#3c4630 45%,#8a8060 100%); }

/* ---------- 6. Header ---------- */
header{
  position:sticky; top:0; z-index:100; background:rgba(246,245,241,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s;
}
header.scrolled{ border-color:var(--stone-200); box-shadow:0 4px 20px rgba(20,24,26,.05); }
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:var(--header-h); gap:10px;
}
.logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; min-width:0; }
.logo-word{ font-size:19px; font-weight:800; letter-spacing:0; }
.logo-img{ max-height:34px; width:auto; object-fit:contain; }
.footer-logo-img{ max-height:34px; margin-bottom:14px; }
.admin-logo-img{ max-height:38px; margin-bottom:4px; }
.logo-sub{ font-size:9px; letter-spacing:.26em; color:var(--ink-45); font-weight:600; margin-top:1px; }

.nav-main{ display:none; align-items:center; gap:30px; }
.nav-main a{ font-size:14.5px; font-weight:600; color:var(--ink-70); position:relative; padding:6px 0; transition:color .2s; }
.nav-main a:hover{ color:var(--ink); }
.nav-main a::after{
  content:""; position:absolute; right:0; bottom:0; height:2px; width:0%;
  background:var(--glacier); transition:width .3s var(--ease);
}
.nav-main a:hover::after{ width:100%; }
.nav-main .admin-link{ color:#e67e22; font-weight:800; }

.header-actions{ display:flex; align-items:center; gap:2px; flex-shrink:0; }
.icon-btn{
  width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; color:var(--ink); position:relative; transition:background .2s;
}
.icon-btn:hover{ background:var(--stone-100); }

/* Search: compact trigger on phones, inline field on desktop */
.search-wrap{ display:none; align-items:center; background:var(--stone-100); border-radius:999px; padding:0 6px 0 14px; height:42px; width:230px; transition:width .3s var(--ease), background .2s; }
.search-wrap:focus-within{ background:var(--paper-2); box-shadow:0 0 0 1.5px var(--glacier); }
.search-wrap input{
  border:none; background:transparent; outline:none; font-family:inherit;
  font-size:16px; width:100%; padding:0 8px; color:var(--ink);
}
.search-toggle{ display:flex; }
.search-submit{ background:none; border:none; padding:0; display:flex; color:inherit; cursor:pointer; flex-shrink:0; }
.photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cart-count{
  position:absolute; top:-2px; left:-2px; background:var(--glacier); color:#fff; font-size:10px; font-weight:800;
  min-width:18px; height:18px; padding:0 4px; border-radius:999px; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--paper);
}

/* Category ribbon: disclosure on phones, inline list on wider screens */
.header-cats{
  border-top:1px solid var(--stone-200); display:flex; min-height:46px; align-items:center; position:relative;
}
.header-cats-toggle{
  display:flex; align-items:center; gap:9px; width:100%; min-height:46px; padding:0; cursor:pointer;
  background:none; border:none; font-family:inherit; font-size:13.5px; font-weight:700; color:var(--ink);
}
.header-cats-toggle .chev{ margin-inline-start:auto; transition:transform .25s var(--ease); }
.header-cats-toggle[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.header-cats-list{
  display:none; position:absolute; top:100%; inset-inline:0; z-index:110; padding:6px 16px;
  flex-direction:column; align-items:stretch; gap:0;
  background:var(--paper-2); border-top:1px solid var(--stone-200);
  border-radius:0 0 var(--radius-m) var(--radius-m); box-shadow:var(--shadow-m);
  max-height:60vh; overflow-y:auto;
}
.header-cats-list.is-open{ display:flex; }
.header-cats-list a{ padding:12px 6px; font-size:14px; color:var(--ink-70); font-weight:600; border-radius:var(--radius-s); }
.header-cats-list a:hover{ color:var(--glacier); }
.header-cats-list a.is-active{ color:var(--glacier); background:var(--glacier-tint); }
.header-cats .cats-all{
  margin-top:6px; padding-top:18px !important; color:var(--ink-45) !important;
  border-top:1px solid var(--stone-200); border-radius:0 !important;
}

/* Mobile menu drawer */
.mobile-menu-toggle{ display:flex; }
.mobile-menu{
  position:fixed; top:0; right:0; bottom:0; z-index:200;
  width:min(360px,88vw); background:var(--paper-2);
  display:flex; flex-direction:column; gap:18px;
  padding:18px; overflow-y:auto; box-shadow:var(--shadow-l);
  transform:translateX(100%); visibility:hidden;
  transition:transform .3s var(--ease), visibility .3s;
}
.mobile-menu.is-open{ transform:translateX(0); visibility:visible; }
.mobile-menu-backdrop{
  position:fixed; inset:0; z-index:190; background:rgba(20,24,26,.45);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease);
}
.mobile-menu-backdrop.is-open{ opacity:1; pointer-events:auto; }
.mobile-menu-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mobile-menu-title{ font-size:16px; font-weight:800; }
.mobile-search{ display:flex; align-items:center; gap:6px; background:var(--stone-100); border-radius:999px; padding:5px 6px 5px 16px; }
.mobile-search:focus-within{ background:var(--paper-2); box-shadow:0 0 0 1.5px var(--glacier); }
.mobile-search input{
  flex:1; min-width:0; height:42px; border:none; background:transparent; outline:none;
  font-family:inherit; font-size:16px; color:var(--ink);
}
.mobile-search button{
  flex-shrink:0; width:40px; height:40px; border:none; border-radius:50%;
  background:var(--glacier); color:#fff; display:flex; align-items:center; justify-content:center;
}
.mobile-nav{ display:flex; flex-direction:column; gap:2px; }
.mobile-nav a{ display:flex; align-items:center; gap:10px; padding:13px 12px; border-radius:var(--radius-m); font-size:14.5px; font-weight:600; color:var(--ink-70); }
.mobile-nav a:hover,.mobile-nav a.is-active{ background:var(--glacier-tint); color:var(--glacier); }
.mobile-nav a i{ flex-shrink:0; width:18px; text-align:center; font-size:15px; }
.mobile-nav .admin-link{ color:#e67e22; font-weight:800; }
.mobile-menu-footer{ margin-top:auto; padding-top:16px; border-top:1px solid var(--stone-200); display:flex; flex-direction:column; gap:8px; }
.mobile-menu-footer a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--radius-m); font-size:13.5px; font-weight:600; color:var(--ink-70); }
.mobile-menu-footer a:hover{ background:var(--stone-100); }

@media (min-width:640px){
  .logo-word{ font-size:22px; }
  .logo-img{ max-height:40px; }
  .header-inner{ min-height:72px; }
  .header-cats{ min-height:44px; }
  .header-cats-toggle{ display:none; }
  .header-cats-list{
    display:flex; position:static; flex-direction:row; align-items:center;
    gap:20px; padding:0; background:none; border:none; box-shadow:none;
    max-height:none; overflow:visible;
  }
  .header-cats-list a{ padding:6px 0; font-size:13px; white-space:nowrap; }
  .header-cats-list a.is-active{ background:none; }
  .header-cats .cats-all{ display:none; }
}
@media (min-width:900px){
  .header-inner{ min-height:76px; gap:28px; }
}
@media (min-width:1024px){
  .nav-main{ display:flex; }
  .search-wrap{ display:flex; }
  .search-toggle,.mobile-menu-toggle{ display:none; }
  .mobile-menu,.mobile-menu-backdrop{ display:none !important; }
}

/* ---------- 7. Breadcrumb ---------- */
.breadcrumb-bar{ border-bottom:1px solid var(--stone-200); }
.breadcrumb{
  display:flex; align-items:center; gap:8px; min-height:48px; padding-block:8px;
  font-size:12.5px; color:var(--ink-45); overflow-x:auto; white-space:nowrap;
  scrollbar-width:none;
}
.breadcrumb::-webkit-scrollbar{ display:none; }
.breadcrumb a{ color:var(--ink-45); transition:color .2s; }
.breadcrumb a:hover{ color:var(--glacier); }
.breadcrumb span.current{ color:var(--ink); font-weight:600; }
.breadcrumb svg{ flex-shrink:0; }

/* ---------- 8. Hero ---------- */
.hero{ padding:32px 0 0; }
.hero-grid{ display:grid; grid-template-columns:1fr; gap:28px; align-items:center; }
.hero-copy{ order:2; padding-bottom:0; }
.hero-title{ font-size:clamp(30px,8vw,64px); line-height:1.16; margin:0 0 16px; }
.hero-title .stroke{ -webkit-text-stroke:1.2px var(--ink); color:transparent; }
.hero-text{ font-size:15px; color:var(--ink-70); max-width:400px; margin:0 0 24px; }
.hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:28px; }
.hero-trust{ display:flex; flex-direction:column; gap:14px; }
.hero-trust div{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--ink-70); font-weight:600; }
.hero-photo{ order:1; aspect-ratio:4/3.6; border-radius:var(--radius-l); position:relative; width:100%; }
.hero-photo .badge-float{
  position:absolute; bottom:16px; right:16px; background:rgba(246,245,241,.94);
  backdrop-filter:blur(6px); padding:12px 14px; border-radius:var(--radius-m);
  box-shadow:var(--shadow-m); display:flex; align-items:center; gap:10px; max-width:240px;
}
.badge-float strong{ display:block; font-size:13px; }
.badge-float span{ font-size:11.5px; color:var(--ink-70); }
@media (min-width:640px){
  .hero-trust{ flex-direction:row; flex-wrap:wrap; gap:28px; }
  .hero-ctas{ margin-bottom:36px; }
}
@media (min-width:900px){
  .hero{ padding:64px 0 0; }
  .hero-grid{ grid-template-columns:1fr 1.05fr; gap:64px; }
  .hero-copy{ order:1; padding-bottom:60px; }
  .hero-title{ font-size:clamp(38px,5.4vw,64px); margin-bottom:22px; }
  .hero-title .stroke{ -webkit-text-stroke:1.5px var(--ink); }
  .hero-text{ font-size:17px; margin-bottom:34px; }
  .hero-ctas{ margin-bottom:44px; }
  .hero-photo{ order:2; aspect-ratio:4/5.1; }
  .hero-photo .badge-float{ bottom:26px; right:26px; padding:14px 18px; max-width:250px; }
}

/* ---------- 9. Sections ---------- */
section{ padding:56px 0; }
@media (min-width:900px){ section{ padding:96px 0; } }
.section-alt{ background:var(--stone-100); }
.section-tight{ padding-top:28px; }
@media (min-width:900px){ .section-tight{ padding-top:48px; }
.section-list{ padding-top:28px; }
@media (min-width:640px){ .section-list{ padding-top:40px; } } }

/* ---------- 10. Categories (bento) ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; gap:12px; }
.cat-card{ position:relative; border-radius:var(--radius-l); overflow:hidden; display:block; color:#fff; }
.cat-card .photo{ position:absolute; inset:0; transition:transform .7s var(--ease); }
.cat-card:hover .photo{ transform:scale(1.05); }
.cat-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%); }
.cat-label{ position:absolute; right:14px; bottom:14px; z-index:2; }
.cat-label strong{ font-size:15px; display:block; }
.cat-label span{ font-size:11px; opacity:.85; }
.cat-card.on-light .cat-label{ color:var(--ink); }
.cat-card.on-light::after{ background:linear-gradient(0deg, rgba(246,245,241,.75) 0%, rgba(246,245,241,0) 58%); }
.cat-card .photo > i{ position:relative; z-index:1; font-size:38px; opacity:.5; }
.cat-card.on-light .photo > i{ color:var(--ink); opacity:.35; }
.cat-1{ grid-column:1/3; }
.cat-2,.cat-3,.cat-4,.cat-5{ grid-column:span 1; }
@media (min-width:640px){
  .cat-grid{ grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:16px; }
  .cat-1{ grid-column:1/3; grid-row:1/3; }
  .cat-2{ grid-column:3/5; }
  .cat-3,.cat-4{ grid-column:span 1; }
  .cat-5{ grid-column:3/5; }
  .cat-label{ right:18px; bottom:16px; }
  .cat-label strong{ font-size:17px; }
  .cat-label span{ font-size:12px; }
  .cat-card .photo > i{ font-size:46px; }
  .cat-1 .photo > i{ font-size:64px; }
}
@media (min-width:900px){
  .cat-grid{ grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(2,220px); grid-auto-rows:auto; gap:18px; }
  .cat-1{ grid-column:1/4; grid-row:1/3; }
  .cat-2{ grid-column:4/7; grid-row:1/2; }
  .cat-3{ grid-column:4/5; grid-row:2/3; }
  .cat-4{ grid-column:5/6; grid-row:2/3; }
  .cat-5{ grid-column:6/7; grid-row:2/3; }
  .cat-label{ right:22px; bottom:20px; }
  .cat-label strong{ font-size:18px; }
  .cat-label span{ font-size:12.5px; }
}

/* ---------- 11. Product cards & grid ---------- */
.prod-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px 12px; }
@media (min-width:640px){ .prod-grid{ grid-template-columns:repeat(3,1fr); gap:24px 20px; } }
@media (min-width:1024px){ .prod-grid{ grid-template-columns:repeat(4,1fr); gap:28px; } }

.prod-card{ display:flex; flex-direction:column; min-width:0; }
.prod-media{ aspect-ratio:1/1.08; border-radius:var(--radius-m); position:relative; margin-bottom:10px; }
.prod-media .photo{ position:absolute; inset:0; transition:transform .6s var(--ease); }
.prod-card:hover .prod-media .photo{ transform:scale(1.04); }
.prod-badges{ position:absolute; top:8px; right:8px; display:flex; flex-direction:column; gap:5px; z-index:2; }
.badge{ font-size:10px; font-weight:800; padding:4px 8px; border-radius:999px; letter-spacing:.01em; }
.badge-sale{ background:var(--clay); color:#fff; }
.badge-new{ background:var(--ink); color:#fff; }
.fav-btn{
  position:absolute; top:8px; left:8px; z-index:2; width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.95); border:none; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-s); transition:transform .25s var(--ease);
}
.fav-btn:hover{ transform:scale(1.08); }
.fav-btn.active svg{ fill:var(--clay); stroke:var(--clay); }
.quick-add{
  position:absolute; left:8px; right:8px; bottom:8px; z-index:2;
  background:var(--ink); color:#fff; border:none; border-radius:999px; min-height:40px; padding:9px;
  font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:6px;
  opacity:1; transform:none; transition:opacity .3s var(--ease), transform .3s var(--ease);
}
@media (hover:hover) and (min-width:900px){
  .quick-add{ opacity:0; transform:translateY(10px); min-height:44px; padding:12px; font-size:13.5px; }
  .prod-card:hover .quick-add{ opacity:1; transform:translateY(0); }
  .fav-btn{ width:36px; height:36px; top:12px; left:12px; }
  .prod-badges{ top:12px; right:12px; }
  .badge{ font-size:11px; padding:5px 10px; }
}

.prod-cat{ font-size:11px; color:var(--ink-45); font-weight:600; margin-bottom:3px; }
.prod-name{ font-size:13.5px; font-weight:700; margin-bottom:5px; line-height:1.55; }
.prod-name a{ transition:color .2s; }
.prod-name a:hover{ color:var(--glacier); }
.prod-rating{ display:flex; align-items:center; flex-wrap:wrap; gap:3px; margin-bottom:7px; color:var(--gold); }
.prod-rating svg{ width:12px; height:12px; }
.prod-rating span{ font-size:11px; color:var(--ink-45); }
.prod-price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; margin-top:auto; }
.price-now{ font-size:14px; font-weight:800; }
.price-old{ font-size:12px; color:var(--ink-45); text-decoration:line-through; }
.toman{ font-size:10.5px; font-weight:600; color:var(--ink-45); }
@media (min-width:640px){
  .prod-media{ margin-bottom:14px; }
  .prod-cat{ font-size:12px; margin-bottom:4px; }
  .prod-name{ font-size:15px; margin-bottom:6px; }
  .prod-rating{ gap:5px; margin-bottom:10px; }
  .prod-rating svg{ width:13px; height:13px; }
  .prod-rating span{ font-size:12.5px; }
  .price-now{ font-size:16px; }
  .price-old{ font-size:13px; }
  .toman{ font-size:11px; }
}

/* ---------- 12. Lifestyle banner ---------- */
.lifestyle{ position:relative; border-radius:var(--radius-l); overflow:hidden; min-height:380px; display:flex; align-items:flex-end; }
.lifestyle .photo{ position:absolute; inset:0; }
.lifestyle::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.1) 70%); }
.lifestyle-copy{ position:relative; z-index:2; color:#fff; padding:28px 22px; max-width:460px; }
.lifestyle-copy h2{ font-size:clamp(24px,4vw,36px); margin-bottom:12px; }
.lifestyle-copy p{ font-size:14.5px; opacity:.88; margin-bottom:22px; }
@media (min-width:700px){
  .lifestyle{ min-height:480px; }
  .lifestyle::after{ background:linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.1) 60%); }
  .lifestyle-copy{ padding:56px; }
  .lifestyle-copy p{ font-size:15.5px; margin-bottom:28px; }
}

/* ---------- 13. Carousel ---------- */
.carousel-wrap{ position:relative; }
.carousel{
  display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:8px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.carousel::-webkit-scrollbar{ display:none; }
.carousel .prod-card{ min-width:150px; width:44vw; max-width:230px; scroll-snap-align:start; }
.car-nav{ display:flex; gap:10px; }
.car-btn{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--stone-300); background:var(--paper-2);
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.car-btn:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
@media (min-width:640px){ .carousel{ gap:24px; } .carousel .prod-card{ min-width:220px; width:auto; max-width:none; } }
@media (min-width:1024px){ .carousel .prod-card{ min-width:270px; } }

/* ---------- 14. Why us ---------- */
.why-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:480px){ .why-grid{ grid-template-columns:repeat(2,1fr); gap:28px; } }
@media (min-width:800px){ .why-grid{ grid-template-columns:repeat(4,1fr); gap:8px; } }
.why-item{ padding:0; }
@media (min-width:800px){
  .why-item{ padding:0 30px; border-right:1px solid var(--stone-200); }
  .why-item:first-child{ border-right:none; }
}
.why-icon{
  width:46px; height:46px; border-radius:50%; background:var(--glacier-tint); color:var(--glacier);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.why-item h3{ font-size:15.5px; margin-bottom:6px; }
.why-item p{ font-size:13.5px; color:var(--ink-70); margin:0; }

/* ---------- 15. Community / Instagram ---------- */
.community-grid{ display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:120px; gap:10px; }
.comm-tile{ position:relative; border-radius:var(--radius-m); overflow:hidden; display:block; }
.comm-tile .photo{ position:absolute; inset:0; transition:transform .7s var(--ease); }
.comm-tile-link:hover .photo{ transform:scale(1.04); }
.comm-handle{
  position:absolute; bottom:8px; right:10px; color:#fff; font-size:11px; font-weight:700; z-index:2;
  display:flex; align-items:center; gap:6px;
}
.comm-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,0) 45%); }
.comm-handle-on-photo{ color:#fff; background:rgba(0,0,0,.38); padding:5px 10px; border-radius:999px; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
@media (min-width:640px){
  .community-grid{ grid-template-columns:repeat(3,1fr); grid-auto-rows:110px; gap:12px; }
  .comm-tile:nth-child(1){ grid-column:span 2; grid-row:span 2; }
}
@media (min-width:900px){
  .community-grid{ grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:14px; }
  .comm-tile:nth-child(n){ grid-column:span 1; grid-row:span 1; }
  .comm-tile:nth-child(1){ grid-column:span 2; grid-row:span 2; }
  .comm-tile:nth-child(2),.comm-tile:nth-child(3),.comm-tile:nth-child(4){ grid-column:span 2; grid-row:span 1; }
  .comm-tile:nth-child(5){ grid-column:span 2; grid-row:span 2; }
  .comm-tile:nth-child(6){ grid-column:span 2; grid-row:span 1; }
}

/* ---------- 16. Newsletter ---------- */
.newsletter{ text-align:center; }
.newsletter-inner{ max-width:560px; margin:0 auto; }
.newsletter h2{ font-size:clamp(22px,3vw,32px); margin-bottom:10px; }
.newsletter p{ color:var(--ink-70); font-size:14.5px; margin-bottom:24px; }
.newsletter-form{ display:flex; flex-direction:column; gap:10px; }
.newsletter-form input{
  flex:1; min-height:52px; border-radius:999px; border:1px solid var(--stone-300); background:var(--paper-2);
  padding:0 20px; font-family:inherit; font-size:16px; outline:none; transition:border-color .2s;
}
.newsletter-form input:focus{ border-color:var(--glacier); }
.newsletter-form button{ min-height:52px; }
.newsletter-note{ margin-top:14px; font-size:12px; color:var(--ink-45); }
@media (min-width:560px){
  .newsletter-form{ flex-direction:row; }
  .newsletter-form button{ width:auto; padding-inline:30px; }
}

/* ---------- 17. Footer ---------- */
footer{ background:var(--ink); color:rgba(255,255,255,.72); padding:48px 0 24px; }
.footer-top{ display:grid; grid-template-columns:1fr; gap:28px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand .logo-word{ color:#fff; }
.footer-brand p{ font-size:13.5px; line-height:1.8; margin:14px 0 20px; max-width:320px; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s;
}
.footer-social a:hover{ background:#fff; color:var(--ink); border-color:#fff; }
.footer-col h4{ color:#fff; font-size:13.5px; margin:0 0 14px; font-weight:700; }
.footer-col ul li{ margin-bottom:10px; }
.footer-col a{ font-size:13.5px; transition:color .2s; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;
  gap:14px; padding-top:22px; font-size:12.5px;
}
.footer-badges{ display:flex; gap:12px; }
.footer-badge{
  width:64px; height:38px; border-radius:6px; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; font-size:9.5px; font-weight:700; letter-spacing:.03em;
}
@media (min-width:640px){
  footer{ padding:64px 0 28px; }
  .footer-top{ grid-template-columns:1fr 1fr; row-gap:36px; }
  .footer-bottom{ flex-direction:row; align-items:center; }
}
@media (min-width:800px){
  footer{ padding:72px 0 28px; }
  .footer-top{ grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; }
}

/* ---------- 18. Product detail ---------- */
.pd-grid{ display:grid; grid-template-columns:1fr; gap:28px; align-items:flex-start; }
@media (min-width:900px){ .pd-grid{ grid-template-columns:.95fr 1fr; gap:64px; } }

.pd-gallery{ position:static; min-width:0; }
.pd-main-photo{
  aspect-ratio:1/1.02; border-radius:var(--radius-l); position:relative; margin-bottom:12px;
  transition:aspect-ratio .28s var(--ease); touch-action:pan-y;
}
.pd-main-photo.is-video{ aspect-ratio:16/9; }
.pd-main-photo .prod-badges{ top:12px; right:12px; }
.pd-thumbs{ display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.pd-thumbs::-webkit-scrollbar{ display:none; }
.pd-thumb{
  width:66px; height:66px; border-radius:var(--radius-m); overflow:hidden; position:relative; flex:0 0 66px;
  border:2px solid transparent; padding:0; transition:border-color .2s; scroll-margin-inline:12px;
}
.pd-thumb.is-active{ border-color:var(--glacier); }
.pd-thumb .photo{ position:absolute; inset:0; }
.pd-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.9); color:var(--glacier);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--shadow-m); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  cursor:pointer; z-index:3;
  transition:transform .25s var(--ease), background .2s, opacity .2s;
}
.pd-nav:hover{ background:#fff; transform:translateY(-50%) scale(1.08); }
.pd-nav:active{ transform:translateY(-50%) scale(.94); }
.pd-nav:focus-visible{ outline:2px solid var(--glacier); outline-offset:2px; }
.pd-nav.is-hidden{ display:none; }
.pd-nav-prev{ right:8px; }
.pd-nav-next{ left:8px; }
#pd-main-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:var(--radius-l); }
.pd-main-photo > svg{ position:absolute; inset:0; margin:auto; }
.pd-brand{ font-size:12.5px; color:var(--ink-45); display:block; margin-top:-4px; margin-bottom:10px; }
.review-form-panel{ display:none; max-width:800px; margin:0 auto 28px; }
.review-form-panel.is-open{ display:block; }
.review-form-field{ margin-bottom:20px; }
.star-input-group svg{ cursor:pointer; }
@keyframes pd-slide-next{ from{ opacity:0; transform:translateX(14px); } to{ opacity:1; transform:none; } }
@keyframes pd-slide-prev{ from{ opacity:0; transform:translateX(-14px); } to{ opacity:1; transform:none; } }
#pd-main-img.pd-anim-next{ animation:pd-slide-next .28s var(--ease); }
#pd-main-img.pd-anim-prev{ animation:pd-slide-prev .28s var(--ease); }
.pd-thumb-play{
  position:absolute; inset:0; margin:auto; width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.55); color:#fff; backdrop-filter:blur(2px);
}
.pd-thumb-play svg{ margin-right:-1px; }
#pd-video-slot{ position:absolute; inset:0; overflow:hidden; border-radius:14px; background:#000; }
#pd-video-slot iframe,#pd-video-slot video{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
#pd-video-slot video{ object-fit:contain; }

@media (min-width:900px){
  .pd-gallery{ position:sticky; top:96px; }
  .pd-main-photo{ margin-bottom:16px; }
  .pd-main-photo .prod-badges{ top:16px; right:16px; }
  .pd-thumbs{ gap:12px; }
  .pd-thumb{ width:76px; height:76px; flex-basis:76px; }
  .pd-nav{ width:38px; height:38px; }
  .pd-nav-prev{ right:12px; }
  .pd-nav-next{ left:12px; }
}

.pd-info{ min-width:0; padding-top:0; }
.pd-cat-link{ font-size:12.5px; color:var(--glacier); font-weight:700; margin-bottom:8px; display:block; }
.pd-title{ font-size:clamp(22px,4.5vw,32px); margin-bottom:12px; }
.pd-rating-row{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.pd-rating-row .prod-rating{ margin:0; }
.pd-rating-row a{ font-size:12.5px; color:var(--ink-70); border-right:1px solid var(--stone-300); padding-right:12px; }
.pd-rating-row a:hover{ color:var(--glacier); }
.pd-price-row{ display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:18px; row-gap:8px; }
.pd-price-row .price-now{ font-size:22px; }
.pd-price-row .price-old{ font-size:14px; }
.pd-price-row .badge-sale{ align-self:center; font-size:11px; }
.pd-save{ font-size:12px; font-weight:800; color:var(--clay); background:var(--clay-tint); padding:4px 10px; border-radius:999px; }
.pd-desc{ font-size:14px; color:var(--ink-70); margin-bottom:24px; max-width:480px; }

.variant-group{ margin-bottom:22px; }
.variant-label{ display:flex; align-items:baseline; gap:8px; font-size:13px; font-weight:700; margin-bottom:10px; }
.variant-label span.value{ color:var(--ink-70); font-weight:500; }
.swatches{ display:flex; flex-wrap:wrap; gap:10px; }
.swatch{
  width:38px; height:38px; border-radius:50%; border:2px solid var(--paper-2);
  box-shadow:0 0 0 1.5px var(--stone-300); cursor:pointer; padding:0; transition:box-shadow .2s;
}
.swatch.is-active{ box-shadow:0 0 0 2px var(--ink); }
.size-pills{ display:flex; flex-wrap:wrap; gap:8px; }
.size-pill{
  min-height:42px; padding:9px 18px; border-radius:999px; border:1.5px solid var(--stone-300); background:var(--paper-2);
  font-size:13px; font-weight:700; transition:all .2s; display:inline-flex; align-items:center; justify-content:center;
}
.size-pill.is-active{ border-color:var(--ink); background:var(--ink); color:#fff; }
.size-pill:not(.is-active):hover{ border-color:var(--ink); }

.pd-buy-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.qty-stepper{
  display:flex; align-items:center; border:1.5px solid var(--stone-300); border-radius:999px;
  height:48px; flex-shrink:0;
}
.qty-stepper button{ width:44px; height:100%; background:none; border:none; font-size:18px; color:var(--ink); }
.qty-stepper button:hover{ color:var(--glacier); }
.qty-stepper span{ width:32px; text-align:center; font-weight:700; font-size:14px; }
.pd-buy-row .btn-primary{ flex:1 1 auto; min-width:0; white-space:normal; }
.pd-buy-row .btn-primary{ order:-1; flex:1 1 100%; }
.pd-fav-btn{
  width:48px; height:48px; border-radius:50%; border:1.5px solid var(--stone-300); background:var(--paper-2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:border-color .2s;
}
.pd-fav-btn:hover{ border-color:var(--clay); }
.pd-fav-btn.active svg{ fill:var(--clay); stroke:var(--clay); }

.pd-trust{ display:flex; flex-direction:column; gap:10px; padding:16px; background:var(--stone-100); border-radius:var(--radius-m); margin-bottom:24px; }
.pd-trust div{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-70); font-weight:600; }
.pd-trust svg{ flex-shrink:0; color:var(--glacier); }

@media (min-width:640px){
  .pd-info{ padding-top:4px; }
  .pd-title{ margin-bottom:14px; }
  .pd-rating-row{ margin-bottom:22px; }
  .pd-price-row{ margin-bottom:22px; }
  .pd-price-row .price-now{ font-size:26px; }
  .pd-price-row .price-old{ font-size:15px; }
  .pd-desc{ font-size:15px; margin-bottom:28px; }
  .variant-group{ margin-bottom:24px; }
  .pd-buy-row{ gap:12px; margin-bottom:28px; }
  .qty-stepper{ height:54px; }
  .qty-stepper button{ width:44px; }
  .qty-stepper span{ width:34px; font-size:14.5px; }
  .pd-buy-row .btn-primary{ order:0; flex:1 1 auto; }
  .pd-fav-btn{ width:54px; height:54px; }
  .pd-trust{ padding:20px; margin-bottom:28px; }
}

.accordion-item{ border-top:1px solid var(--stone-200); }
.accordion-item:last-child{ border-bottom:1px solid var(--stone-200); }
.accordion-head{
  width:100%; background:none; border:none; display:flex; align-items:center; justify-content:space-between;
  min-height:52px; padding:14px 2px; font-size:14px; font-weight:700; text-align:right; color:var(--ink);
}
.accordion-head svg{ transition:transform .3s var(--ease); flex-shrink:0; color:var(--ink-45); }
.accordion-item.is-open .accordion-head svg{ transform:rotate(45deg); }
.accordion-body{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.accordion-body-inner{ padding:0 2px 18px; font-size:13.5px; color:var(--ink-70); line-height:1.85; }

.specs-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.specs-table tr{ border-bottom:1px solid var(--stone-200); }
.specs-table tr:last-child{ border-bottom:none; }
.specs-table td{ padding:14px 4px; }
.specs-table td:first-child{ color:var(--ink-45); width:40%; font-weight:600; }
.specs-table td:last-child{ font-weight:700; }

/* Reviews */
.review-summary{ display:flex; flex-direction:column; align-items:stretch; gap:22px; padding:22px; background:var(--stone-100); border-radius:var(--radius-l); margin-bottom:28px; }
.review-score{ text-align:center; }
.review-score strong{ font-size:40px; display:block; line-height:1; }
.review-score .prod-rating{ justify-content:center; margin:8px 0 6px; }
.review-score span{ font-size:12.5px; color:var(--ink-45); }
.review-bars{ flex:1; min-width:0; display:flex; flex-direction:column; gap:7px; }
.review-bar-row{ display:flex; align-items:center; gap:10px; font-size:12px; color:var(--ink-70); }
.review-bar-track{ flex:1; height:6px; border-radius:999px; background:var(--stone-200); overflow:hidden; }
.review-bar-fill{ height:100%; background:var(--gold); border-radius:999px; }
.review-list{ display:flex; flex-direction:column; gap:22px; }
.review-card{ border-bottom:1px solid var(--stone-200); padding-bottom:22px; }
.review-card:last-child{ border-bottom:none; padding-bottom:0; }
.review-top{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:8px; }
.review-author{ font-weight:700; font-size:14px; display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.review-verified{ font-size:11px; color:var(--moss); background:var(--moss-tint); padding:3px 9px; border-radius:999px; font-weight:700; }
.review-date{ font-size:12.5px; color:var(--ink-45); }
.review-card .prod-rating{ margin-bottom:10px; }
.review-text{ font-size:14px; color:var(--ink-70); line-height:1.85; }
@media (min-width:640px){
  .review-summary{ flex-direction:row; align-items:center; gap:36px; padding:32px; margin-bottom:36px; }
  .review-score strong{ font-size:44px; }
  .review-top{ flex-direction:row; align-items:center; justify-content:space-between; }
  .review-list{ gap:28px; }
  .review-card{ padding-bottom:28px; }
  .review-text{ font-size:14.5px; }
}

/* ---------- 19. Page header ---------- */
.page-head{ margin-bottom:28px; }
.page-head h1{ font-size:clamp(22px,2.8vw,32px); margin-bottom:8px; }
.page-head p{ color:var(--ink-70); font-size:14.5px; margin:0; }
@media (min-width:900px){ .page-head{ margin-bottom:40px; } }

/* ---------- 20. Cart ---------- */
.cart-grid{ display:grid; grid-template-columns:1fr; gap:28px; align-items:flex-start; }
@media (min-width:900px){ .cart-grid{ grid-template-columns:1fr .42fr; gap:56px; } }
.cart-head-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; }
.cart-count-label{ font-size:13px; color:var(--ink-45); }
.cart-items,.cart-list{ border-top:1px solid var(--stone-200); }
.cart-item{
  display:grid; grid-template-columns:84px 1fr; gap:14px;
  padding:18px 0; border-bottom:1px solid var(--stone-200); align-items:start;
}
.cart-item-media{ width:84px; height:84px; border-radius:var(--radius-m); position:relative; overflow:hidden; flex-shrink:0; }
.cart-item-media .photo{ position:absolute; inset:0; }
.cart-item-body{ min-width:0; display:flex; flex-direction:column; }
.cart-item-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:4px; }
.cart-item-cat{ font-size:11.5px; color:var(--ink-45); font-weight:600; margin-bottom:3px; }
.cart-item-name{ font-size:14px; font-weight:700; margin-bottom:4px; line-height:1.5; }
.cart-item-name a:hover{ color:var(--glacier); }
.cart-item-variant{ font-size:12px; color:var(--ink-70); margin-bottom:10px; }
.cart-item-remove{
  display:inline-flex; align-items:center; gap:5px; min-height:40px; padding:0 4px;
  font-size:12px; color:var(--ink-45); background:none; border:none; flex-shrink:0; transition:color .2s;
}
.cart-item-remove:hover{ color:var(--clay); }
.cart-item-bottom{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cart-item-actions{ display:flex; align-items:center; justify-content:space-between; gap:12px; grid-column:1/-1; }
.cart-item-price{ font-size:14px; font-weight:800; white-space:nowrap; }
.cart-item-price .toman{ font-size:10.5px; font-weight:600; color:var(--ink-45); margin-right:4px; }
.qty-stepper.sm,.qty-stepper-sm{ height:42px; }
.qty-stepper.sm button,.qty-stepper-sm button{ width:38px; font-size:15px; }
.qty-stepper.sm span{ width:30px; font-size:13.5px; }
@media (min-width:560px){
  .cart-item{ grid-template-columns:104px 1fr auto; gap:22px; align-items:center; padding:26px 0; }
  .cart-item-media{ width:104px; height:104px; }
  .cart-item-actions{ grid-column:auto; flex-direction:column; align-items:flex-end; }
}

.cart-summary,.summary-card{
  position:static; background:var(--paper-2); border:1px solid var(--stone-200);
  border-radius:var(--radius-l); padding:20px;
}
.summary-card{ background:var(--stone-100); border:none; }
@media (min-width:900px){
  .cart-summary,.summary-card{ position:sticky; top:96px; padding:28px; }
}
.cart-summary h3,.summary-title{ font-size:16px; font-weight:800; margin-bottom:18px; }
.summary-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:13.5px; color:var(--ink-70); margin-bottom:12px; }
.summary-row strong{ color:var(--ink); font-weight:700; }
.summary-row.discount strong,.summary-row.free .free,.summary-row .free{ color:var(--moss); font-weight:700; }
.summary-row.total{
  font-size:16px; font-weight:800; color:var(--ink);
  padding-top:14px; border-top:1px solid var(--stone-200); margin-top:6px; margin-bottom:18px;
}
.summary-row.total span:first-child{ font-size:14.5px; }
.summary-row.total .price-now{ font-size:20px; }
.summary-divider{ height:1px; background:var(--stone-300); margin:18px 0; }
.summary-total{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; }
.summary-total span:first-child{ font-size:14.5px; font-weight:800; }
.summary-total .total-value{ font-size:20px; font-weight:800; }
.summary-total .toman{ font-size:11px; color:var(--ink-45); font-weight:600; margin-right:4px; }

.promo-row,.coupon-row{ display:flex; gap:8px; margin-bottom:18px; }
.promo-row input,.coupon-row input{
  flex:1; min-width:0; min-height:46px; border-radius:var(--radius-m); border:1.5px solid var(--stone-300);
  background:var(--paper); padding:0 14px; font-family:inherit; font-size:16px; outline:none; transition:border-color .2s;
}
.promo-row input:focus,.coupon-row input:focus{ border-color:var(--glacier); }
.promo-row button,.coupon-row button{ min-height:46px; padding:0 18px; border-radius:var(--radius-m); font-size:13px; flex-shrink:0; }
.promo-note,.coupon-msg{ font-size:12.5px; margin:-10px 0 16px; min-height:16px; }
.promo-note.success,.coupon-msg.success{ color:var(--moss); }
.promo-note.error,.coupon-msg.error{ color:var(--clay); }
.cart-summary-trust,.summary-trust,.pd-trust{ display:flex; flex-direction:column; gap:10px; }
.cart-summary-trust{ margin-top:18px; }
.summary-trust{ margin-top:20px; padding-top:20px; border-top:1px solid var(--stone-300); }
.cart-summary-trust div,.summary-trust div{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:var(--ink-70); font-weight:600; }
.cart-summary-trust svg,.summary-trust svg{ color:var(--glacier); flex-shrink:0; }

.cart-empty,.empty-state{
  text-align:center; padding:56px 16px; border-top:1px solid var(--stone-200);
}
.empty-state{ border-top:none; }
.cart-empty-icon,.empty-icon,.empty-state .empty-icon{
  width:74px; height:74px; border-radius:50%; background:var(--stone-100); color:var(--ink-45);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
}
.cart-empty h2,.cart-empty h3,.empty-state h3{ font-size:19px; margin-bottom:8px; }
.cart-empty p,.empty-state p{ font-size:13.5px; color:var(--ink-70); margin-bottom:22px; }
.cart-continue{ margin-top:24px; }
@media (min-width:900px){
  .cart-empty{ padding:80px 20px; }
  .cart-empty-icon{ width:84px; height:84px; margin-bottom:24px; }
}

/* ---------- 21. Checkout ---------- */
.checkout-header{
  position:sticky; top:0; z-index:100; background:rgba(246,245,241,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--stone-200); margin-bottom:16px;
}
.checkout-header-inner{ min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.checkout-secure-note{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--ink-70); font-weight:600; }
.checkout-secure-note svg{ color:var(--glacier); flex-shrink:0; }
.checkout-progress{ display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:28px; flex-wrap:wrap; }
.progress-step{ display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; color:var(--ink-45); }
.progress-step .dot{
  width:24px; height:24px; border-radius:50%; border:1.5px solid var(--stone-300);
  display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0;
}
.progress-step.done{ color:var(--moss); }
.progress-step.done .dot{ background:var(--moss); border-color:var(--moss); color:#fff; }
.progress-step.active{ color:var(--ink); }
.progress-step.active .dot{ border-color:var(--ink); background:var(--ink); color:#fff; }
.progress-line{ width:20px; height:1px; background:var(--stone-300); }
.checkout-grid{ display:grid; grid-template-columns:1fr; gap:28px; align-items:flex-start; }
.checkout-grid > *{ min-width:0; }
@media (min-width:640px){
  .checkout-header-inner{ min-height:76px; }
  .checkout-secure-note{ font-size:12.5px; }
  .checkout-progress{ gap:10px; margin-bottom:40px; }
  .progress-step{ font-size:13px; gap:9px; }
  .progress-step .dot{ width:22px; height:22px; }
  .progress-line{ width:46px; }
}
@media (min-width:900px){ .checkout-grid{ grid-template-columns:1fr .42fr; gap:56px; } .checkout-progress{ margin-bottom:52px; } }

.checkout-section{ background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); padding:20px; margin-bottom:18px; }
@media (min-width:600px){ .checkout-section{ padding:28px; margin-bottom:24px; } }
.checkout-section-head{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.checkout-step-num{
  width:30px; height:30px; border-radius:50%; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; flex-shrink:0;
}
.checkout-section-head h3{ font-size:15.5px; }
@media (min-width:600px){ .checkout-section-head{ margin-bottom:26px; } .checkout-section-head h3{ font-size:16.5px; } }

.form-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:560px){ .form-grid{ grid-template-columns:1fr 1fr; gap:18px; } }
.form-field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.form-field.full{ grid-column:1/-1; }
.form-field label{ font-size:12.5px; font-weight:700; color:var(--ink-70); }
.form-field input,.form-field select,.form-field textarea{
  min-height:48px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m); padding:0 14px;
  font-family:inherit; font-size:16px; background:var(--paper); outline:none; transition:border-color .2s; color:var(--ink);
  width:100%;
}
.form-field textarea{ min-height:90px; padding:12px 14px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{ border-color:var(--glacier); }
.form-field select{ cursor:pointer; }
@media (min-width:640px){
  .form-field input,.form-field select,.form-field textarea{ min-height:50px; font-size:14.5px; }
  .form-field label{ font-size:13px; }
}
/* Custom file picker */
.form-field input[type="file"]{
  min-height:54px; padding:6px; border:1.5px dashed var(--stone-300); border-radius:var(--radius-m);
  background:var(--paper); color:var(--ink-45); font-family:inherit; font-size:12.5px;
  cursor:pointer; transition:border-color .2s, background .2s;
}
.form-field input[type="file"]:hover{ border-color:var(--glacier); background:var(--glacier-tint); }
.form-field input[type="file"]:focus-visible{ border-color:var(--glacier); outline:2px solid var(--glacier); outline-offset:2px; }
.form-field input[type="file"]::file-selector-button{
  appearance:none; -webkit-appearance:none; border:0; border-radius:999px;
  background:var(--ink); color:#fff; font:inherit; font-size:12.5px; font-weight:700;
  padding:10px 18px; margin-inline-end:12px; cursor:pointer;
  transition:background .2s, transform .2s;
}
.form-field input[type="file"]::file-selector-button:hover{ background:var(--glacier); transform:translateY(-1px); }
.form-field input[type="file"]::-webkit-file-upload-button{
  appearance:none; -webkit-appearance:none; border:0; border-radius:999px;
  background:var(--ink); color:#fff; font:inherit; font-size:12.5px; font-weight:700;
  padding:10px 18px; margin-inline-end:12px; cursor:pointer;
  transition:background .2s, transform .2s;
}
.form-field input[type="file"]::-webkit-file-upload-button:hover{ background:var(--glacier); transform:translateY(-1px); }

.file-picker{
  position:relative; display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  min-height:54px; padding:6px; border:1.5px dashed var(--stone-300);
  border-radius:var(--radius-m); background:var(--paper);
  transition:border-color .2s, background .2s;
}
.file-picker:hover,.file-picker:focus-within{ border-color:var(--glacier); background:var(--glacier-tint); }
.file-picker input.file-picker-input{
  position:absolute; width:1px; height:1px; min-height:0; padding:0; margin:-1px;
  border:0; opacity:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}
.file-picker-btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:42px;
  padding:10px 18px; border:0; border-radius:999px; background:var(--ink); color:#fff;
  font-family:inherit; font-size:12.5px; font-weight:700; line-height:1.2;
  cursor:pointer; transition:background .2s, transform .2s;
}
.file-picker-btn:hover{ background:var(--glacier); transform:translateY(-1px); }
.file-picker-btn:focus-visible{ outline:2px solid var(--glacier); outline-offset:2px; }
.file-picker-name{
  flex:1 1 120px; min-width:0; font-size:12px; color:var(--ink-45);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.file-picker.has-file .file-picker-name{ color:var(--ink); font-weight:700; }

.form-checkbox,.checkbox-row{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-70); }
.form-checkbox input,.checkbox-row input{ width:18px; height:18px; accent-color:var(--glacier); flex-shrink:0; }
.form-field input[type="checkbox"],
.form-field input[type="radio"],
.admin-checkbox-row input[type="checkbox"],
.admin-checkbox-row input[type="radio"],
.delete-checkbox input[type="checkbox"]{
  width:18px; height:18px; min-height:18px; padding:0; margin:0;
  flex:0 0 18px; border-radius:4px; accent-color:var(--glacier); cursor:pointer;
}
.form-hint{ font-size:12px; color:var(--ink-45); margin-top:4px; }

.option-card{
  position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m); cursor:pointer;
  transition:border-color .2s, background .2s; margin-bottom:10px;
}
.option-card:last-child{ margin-bottom:0; }
.option-card:hover{ border-color:var(--ink); }
.option-card.is-active{ border-color:var(--glacier); background:var(--glacier-tint); }
.option-card input{ position:absolute; opacity:0; pointer-events:none; }
.option-card-main{ display:flex; align-items:center; gap:12px; min-width:0; }
.option-radio{ width:20px; height:20px; border-radius:50%; border:2px solid var(--stone-300); flex-shrink:0; position:relative; transition:border-color .2s; }
.option-card.is-active .option-radio{ border-color:var(--glacier); }
.option-card.is-active .option-radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--glacier); }
.option-icon{ width:38px; height:38px; border-radius:50%; background:var(--stone-100); display:flex; align-items:center; justify-content:center; color:var(--ink); flex-shrink:0; }
.option-card.is-active .option-icon{ background:#fff; color:var(--glacier); }
.option-text{ min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.option-text strong{ display:block; font-size:13.5px; margin-bottom:2px; }
.option-text span{ font-size:12px; color:var(--ink-45); }
.option-price{ font-size:12.5px; font-weight:800; flex-shrink:0; white-space:nowrap; }
.option-price.free{ color:var(--moss); }
@media (min-width:640px){
  .option-card{ padding:18px 20px; margin-bottom:12px; }
  .option-text strong{ font-size:14.5px; }
  .option-text span{ font-size:12.5px; }
  .option-price{ font-size:13.5px; }
}

.checkout-summary-items{ display:flex; flex-direction:column; gap:14px; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--stone-200); }
.checkout-summary-item{ display:flex; gap:12px; align-items:center; min-width:0; }
.checkout-summary-item-media{ width:52px; height:52px; border-radius:var(--radius-s); position:relative; flex-shrink:0; }
.checkout-summary-item-media .photo{ position:absolute; inset:0; }
.checkout-summary-item-media .qty-badge{
  position:absolute; top:-6px; left:-6px; background:var(--ink); color:#fff; font-size:10px; font-weight:800;
  min-width:18px; height:18px; padding:0 4px; border-radius:999px; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--paper-2);
}
.checkout-summary-item-body{ flex:1; min-width:0; }
.checkout-summary-item-body strong{ display:block; font-size:12.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.checkout-summary-item-body span{ font-size:11.5px; color:var(--ink-45); }
.checkout-summary-item-price{ font-size:12.5px; font-weight:700; flex-shrink:0; }
.checkout-edit-link{ font-size:12.5px; color:var(--glacier); font-weight:700; flex-shrink:0; }
.checkout-summary-title-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.checkout-summary-title-row h3{ font-size:16px; }

/* Order success */
.order-success{ text-align:center; padding:64px 16px; max-width:520px; margin:0 auto; }
.order-success-icon{
  width:76px; height:76px; border-radius:50%; background:var(--moss-tint); color:var(--moss);
  display:flex; align-items:center; justify-content:center; margin:0 auto 22px;
}
.order-success h2{ font-size:22px; margin-bottom:10px; }
.order-success p{ font-size:14px; color:var(--ink-70); margin-bottom:22px; }
.order-number{
  display:inline-flex; align-items:center; gap:10px; background:var(--stone-100); border-radius:999px;
  padding:11px 18px; font-size:13.5px; font-weight:800; letter-spacing:.02em; margin-bottom:28px; flex-wrap:wrap; justify-content:center;
}
.order-number span{ color:var(--ink-45); font-weight:600; font-size:12.5px; }
@media (min-width:900px){ .order-success{ padding:110px 20px; } .order-success-icon{ margin-bottom:26px; } .order-success h2{ font-size:24px; } .order-success p{ font-size:14.5px; } }

/* ---------- 22. Account / dashboard ---------- */
.account-grid,.account-layout{ display:grid; grid-template-columns:1fr; gap:24px; align-items:flex-start; }
.account-grid > *,.account-layout > *{ min-width:0; }
@media (min-width:860px){
  .account-grid{ grid-template-columns:260px 1fr; gap:48px; }
  .account-layout{ grid-template-columns:.28fr 1fr; gap:40px; }
}
.account-sidebar{
  background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l);
  padding:10px; position:static;
}
@media (min-width:860px){ .account-sidebar{ position:sticky; top:96px; padding:12px; } }
.account-user{ display:flex; align-items:center; gap:13px; padding:14px 12px; margin-bottom:8px; border-bottom:1px solid var(--stone-200); }
.account-avatar{ width:46px; height:46px; border-radius:50%; background:var(--glacier); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; flex-shrink:0; }
.account-user-name{ font-size:14px; font-weight:700; }
.account-user-sub{ font-size:12px; color:var(--ink-45); margin-top:2px; }
.account-nav{ display:flex; flex-direction:column; gap:3px; }
.account-nav a,.account-nav-item{
  display:flex; align-items:center; gap:12px; min-height:46px; padding:11px 12px; border-radius:var(--radius-m);
  font-size:13.5px; font-weight:600; color:var(--ink-70); transition:background .2s, color .2s;
  cursor:pointer; border:none; background:none; width:100%; text-align:right; font-family:inherit;
}
.account-nav a svg,.account-nav-item svg{ flex-shrink:0; color:var(--ink-45); transition:color .2s; }
.account-nav a:hover,.account-nav-item:hover{ background:var(--stone-100); color:var(--ink); }
.account-nav a.is-active,.account-nav-item.is-active{ background:var(--ink); color:#fff; }
.account-nav a.is-active svg,.account-nav-item.is-active svg{ color:#fff; }
.account-nav-divider{ height:1px; background:var(--stone-200); margin:8px 6px; }
.account-nav-item.logout{ color:var(--clay); margin-top:8px; padding-top:14px; border-top:1px solid var(--stone-200); border-radius:0; }
.account-nav-item.logout svg{ color:var(--clay); }
.account-nav-item.logout:hover{ background:var(--clay-tint); }

.account-panel{ display:none; }
.account-panel.is-active{ display:block; }
.account-panel-head{ margin-bottom:22px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.account-panel-head h2{ font-size:20px; margin-bottom:4px; }
.account-panel-head p{ font-size:13.5px; color:var(--ink-70); margin:0; }
@media (min-width:640px){
  .account-panel-head{ flex-direction:row; align-items:flex-end; justify-content:space-between; gap:16px; }
}

.order-filter-tabs,.filter-tabs,.blog-filter-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.filter-tabs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; }
.filter-tabs::-webkit-scrollbar{ display:none; }
.filter-tab{
  min-height:42px; padding:9px 16px; border-radius:999px; border:1.5px solid var(--stone-300); background:var(--paper-2);
  font-size:13px; font-weight:700; white-space:nowrap; transition:all .2s; flex-shrink:0;
}
.filter-tab.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.filter-tab:not(.is-active):hover{ border-color:var(--ink); }

.orders-list{ display:flex; flex-direction:column; gap:16px; }
.order-card{ background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); margin-bottom:16px; overflow:hidden; transition:box-shadow .2s, border-color .2s; }
.order-card:hover{ box-shadow:var(--shadow-m); }
.order-card-head,.order-card-top{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;
  gap:12px; padding:16px; border-bottom:1px solid var(--stone-200); flex-wrap:wrap;
}
.order-card-head-info{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.order-meta{ display:flex; flex-direction:column; gap:2px; font-size:12px; color:var(--ink-45); }
.order-meta strong{ display:block; font-size:13px; color:var(--ink); font-weight:700; }
.order-number{ font-weight:800; font-size:15px; margin-bottom:4px; }
.order-date{ font-size:12.5px; color:var(--ink-45); }
.order-status,.status-badge{ font-size:11.5px; font-weight:800; padding:5px 12px; border-radius:999px; white-space:nowrap; }
.order-status.processing,.status-processing{ background:var(--glacier-tint); color:var(--glacier); }
.order-status.shipped,.status-shipped{ background:#F1E6CC; color:var(--gold-text); }
.order-status.delivered,.status-delivered{ background:var(--moss-tint); color:var(--moss); }
.order-status.cancelled,.status-cancelled{ background:var(--clay-tint); color:var(--clay); }
.order-status.paid{ background:var(--glacier-tint); color:var(--glacier); }
.order-card-body{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;
  gap:14px; padding:16px; flex-wrap:wrap;
}
.order-thumbs{ display:flex; }
.order-thumb{
  width:52px; height:52px; border-radius:var(--radius-s); overflow:hidden; position:relative;
  border:2px solid var(--paper-2); margin-right:-12px;
}
.order-thumb:first-child{ margin-right:0; }
.order-thumb .photo{ position:absolute; inset:0; }
.order-thumb-more{
  width:52px; height:52px; border-radius:var(--radius-s); background:var(--stone-100);
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800;
  color:var(--ink-70); border:2px solid var(--paper-2); margin-right:-12px;
}
.order-card-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.order-card-actions .btn{ padding:9px 16px; font-size:12.5px; min-height:42px; }
.order-total{ font-size:14px; font-weight:800; white-space:nowrap; }
.order-total .toman{ font-weight:600; }
.order-detail{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); background:var(--stone-100); }
.order-detail.is-open{ max-height:2000px; }
.order-detail-inner{ padding:20px 16px; }
.order-detail-cols,.order-detail-columns{ display:grid; grid-template-columns:1fr; gap:20px; margin-top:18px; padding-top:18px; border-top:1px solid var(--stone-200); }
.order-detail-heading{ font-size:13px; font-weight:800; margin-bottom:10px; color:var(--ink-70); }
.order-detail-item{ display:flex; gap:12px; align-items:center; padding:8px 0; }
.order-detail-item-media{ width:48px; height:48px; border-radius:var(--radius-s); position:relative; flex-shrink:0; }
.order-detail-item-media .photo{ position:absolute; inset:0; }
.order-detail-item-body{ flex:1; font-size:12.5px; min-width:0; }
.order-detail-item-body strong{ display:block; font-size:13px; }
.order-detail-item-body span{ color:var(--ink-45); font-size:11.5px; }
.order-detail-item-price{ font-size:12.5px; font-weight:700; flex-shrink:0; }
.order-address{ font-size:13px; color:var(--ink-70); line-height:1.9; background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-m); padding:14px; overflow-wrap:anywhere; word-break:break-word; }
.order-address strong{ display:block; color:var(--ink); margin-bottom:4px; }
.order-totals{ background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-m); padding:14px; margin-top:14px; }
.order-totals .summary-row{ margin-bottom:8px; font-size:13px; }
.order-totals .summary-row.total{ margin-bottom:0; }
@media (min-width:640px){
  .order-card-head,.order-card-top{ flex-direction:row; align-items:center; padding:18px 22px; }
  .order-card-body{ flex-direction:row; align-items:center; padding:18px 22px; }
  .order-detail-inner{ padding:24px 22px; }
  .order-card-actions .btn{ padding:10px 18px; }
}
@media (min-width:700px){
  .order-detail-cols,.order-detail-columns{ grid-template-columns:1fr 1fr; gap:28px; }
}

.order-timeline{ display:flex; align-items:flex-start; margin:6px 0 4px; overflow-x:auto; padding-bottom:6px; }
.timeline-step{ flex:1 1 0; min-width:0; text-align:center; position:relative; padding-top:6px; }
.timeline-step::before{ content:""; position:absolute; top:12px; left:50%; width:100%; height:2px; background:var(--stone-300); z-index:1; }
.timeline-step:first-child::before{ display:none; }
.timeline-step.done::before{ background:var(--moss); }
.timeline-step .dot{ display:block; width:14px; height:14px; border-radius:50%; background:var(--stone-300); margin:0 auto 10px; position:relative; z-index:2; }
.timeline-step.done .dot{ background:var(--moss); }
.timeline-step.active .dot{ background:var(--glacier); box-shadow:0 0 0 4px var(--glacier-tint); }
.timeline-step strong{ display:block; font-size:11.5px; font-weight:700; margin-bottom:3px; }
.timeline-step span{ font-size:10.5px; color:var(--ink-45); }
.cancel-note{ display:flex; align-items:center; gap:10px; background:var(--clay-tint); color:var(--clay); padding:12px 14px; border-radius:var(--radius-m); font-size:12.5px; font-weight:600; }
.cancel-note svg{ flex-shrink:0; }

/* Addresses */
.addresses-toolbar,.wishlist-toolbar{ display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-bottom:20px; }
@media (min-width:600px){ .addresses-toolbar,.wishlist-toolbar{ flex-direction:row; align-items:center; justify-content:space-between; gap:16px; } }
.address-card{
  background:var(--paper-2); border:1.5px solid var(--stone-300); border-radius:var(--radius-l);
  padding:18px; margin-bottom:14px; position:relative; transition:border-color .2s;
  min-width:0; overflow-wrap:anywhere;
}
.address-card.is-default{ border-color:var(--glacier); }
.address-default-badge{ position:absolute; top:16px; left:16px; font-size:10.5px; font-weight:800; background:var(--glacier); color:#fff; padding:4px 10px; border-radius:999px; }
.address-card-head{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:12px; }
.address-label{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:800; }
.address-label svg{ color:var(--glacier); flex-shrink:0; }
.default-badge{ font-size:11px; font-weight:800; padding:4px 11px; border-radius:999px; background:var(--glacier-tint); color:var(--glacier); }
.address-card strong,.address-card-body strong{ display:block; color:var(--ink); font-size:14px; margin-bottom:2px; }
.address-card p,.address-card-body{ font-size:13px; color:var(--ink-70); line-height:1.8; margin-bottom:14px; overflow-wrap:anywhere; word-break:break-word; }
.address-card-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; min-width:0; font-size:12.5px; font-weight:700; padding-top:12px; border-top:1px solid var(--stone-200); }
.address-card-actions button{
  background:none; border:none; color:var(--ink-70); display:flex; align-items:center; gap:6px;
  padding:6px 0; min-height:40px; transition:color .2s; font-size:12.5px; font-weight:700;
}
.address-card-actions button:hover{ color:var(--glacier); }
.address-card-actions button.set-default{ color:var(--glacier); }
.address-card-actions button.delete-addr:hover,.address-card-actions button.danger:hover{ color:var(--clay); }
.address-card-actions .spacer{ flex:1; }
.address-form-panel{ display:none; }
.address-form-panel.is-open{ display:block; }
.address-label-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
@media (min-width:600px){
  .address-card{ padding:22px; }
  .address-card-head{ flex-direction:row; align-items:center; justify-content:space-between; }
  .address-card-actions{ gap:20px; }
}

/* Profile / settings */
.profile-header{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:20px; background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); margin-bottom:20px; }
.profile-avatar{ width:72px; height:72px; border-radius:50%; background:var(--glacier); color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:800; flex-shrink:0; letter-spacing:-1px; }
.profile-header-info h2{ font-size:18px; margin-bottom:4px; }
.profile-header-info p{ font-size:12.5px; color:var(--ink-45); margin:0; }
.profile-edit-avatar{ font-size:12.5px; color:var(--glacier); font-weight:700; margin-top:8px; display:inline-block; }
.setting-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 0; border-bottom:1px solid var(--stone-200); }
.setting-row:last-child{ border-bottom:none; }
.setting-row-text strong{ display:block; font-size:13.5px; margin-bottom:3px; }
.setting-row-text span{ font-size:12px; color:var(--ink-45); }
.toggle-switch{ position:relative; display:inline-block; width:48px; height:28px; flex-shrink:0; }
.toggle-switch input{ opacity:0; width:0; height:0; position:absolute; }
.toggle-slider{ position:absolute; inset:0; background:var(--stone-300); border-radius:999px; cursor:pointer; transition:background .25s; }
.toggle-slider::before{ content:""; position:absolute; width:22px; height:22px; right:3px; top:3px; background:#fff; border-radius:50%; transition:transform .25s; box-shadow:var(--shadow-s); }
.toggle-switch input:checked + .toggle-slider{ background:var(--glacier); }
.toggle-switch input:checked + .toggle-slider::before{ transform:translateX(-20px); }
.toggle-switch input:focus-visible + .toggle-slider{ outline:2px solid var(--glacier); outline-offset:2px; }
.field-with-badge{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.field-with-badge input{ flex:1; min-width:0; }
.danger-zone{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.account-save-bar{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.account-save-bar .btn{ width:100%; }
@media (min-width:600px){
  .profile-header{ flex-direction:row; align-items:center; gap:24px; padding:28px; margin-bottom:24px; }
  .profile-avatar{ width:84px; height:84px; font-size:26px; }
  .profile-header-info h2{ font-size:19px; }
  .danger-zone{ flex-direction:row; align-items:center; justify-content:space-between; }
  .account-save-bar{ flex-direction:row; justify-content:flex-end; gap:12px; }
  .account-save-bar .btn{ width:auto; }
}

/* ---------- 23. Wishlist ---------- */
.wishlist-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.wishlist-actions .btn{ flex:1; min-width:120px; }
.wishlist-remove{
  width:44px; height:44px; border-radius:50%; border:1.5px solid var(--stone-300); background:var(--paper-2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--ink-45);
  transition:border-color .2s, color .2s;
}
.wishlist-remove:hover{ border-color:var(--clay); color:var(--clay); }
.wishlist-card{ transition:opacity .35s var(--ease), transform .35s var(--ease); }
.wishlist-card.is-removing{ opacity:0; transform:scale(.94); }

/* ---------- 24. Category / listing page ---------- */
.category-hero{ padding:28px 0 4px; }
.category-hero p{ font-size:14px; color:var(--ink-70); max-width:560px; margin-top:8px; }
.plp-header{ padding-bottom:8px; }
.plp-desc{ color:var(--ink-70); font-size:14px; max-width:620px; margin-top:8px; }

.plp-layout,.listing-layout{ display:grid; grid-template-columns:1fr; gap:20px; align-items:flex-start; }
@media (min-width:900px){
  .plp-layout,.listing-layout{ grid-template-columns:.27fr 1fr; gap:40px; }
}

/* Filters are a full-height drawer on phones and a sidebar on desktop */
.mobile-filter-toggle{ display:inline-flex; margin-bottom:16px; }
@media (min-width:900px){ .mobile-filter-toggle{ display:none; } }

.filter-sidebar,.filters-sidebar{
  position:fixed; top:0; right:0; bottom:0; z-index:300;
  width:min(340px,88vw); overflow-y:auto; padding:18px;
  background:var(--paper-2); border:none; border-radius:0;
  box-shadow:var(--shadow-l); transform:translateX(100%); visibility:hidden;
  transition:transform .3s var(--ease), visibility .3s;
}
.filter-sidebar.is-open,.filters-sidebar.is-open{ transform:translateX(0); visibility:visible; }
.filter-sidebar-head,.filter-drawer-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-bottom:10px; position:sticky; top:-18px; z-index:2;
  background:var(--paper-2); padding:12px 0;
}
.filter-sidebar-head h3,.filter-drawer-title{ font-size:15px; font-weight:800; }
.filter-close{ width:40px; height:40px; border-radius:50%; border:none; background:var(--stone-100); color:var(--ink); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.filter-clear{ font-size:12.5px; color:var(--glacier); font-weight:700; background:none; border:none; padding:0; }
.filter-group{ padding:16px 0; border-bottom:1px solid var(--stone-200); }
.filter-group:first-of-type{ padding-top:0; }
.filter-group:last-child{ border-bottom:none; padding-bottom:0; }
.filter-group-title{ font-size:13px; font-weight:800; margin-bottom:12px; }
.filter-checkbox,.filter-checkbox-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  min-height:40px; padding:5px 0; font-size:13px; color:var(--ink-70); cursor:pointer;
}
.filter-checkbox input,.filter-checkbox-row input{ width:18px; height:18px; accent-color:var(--glacier); flex-shrink:0; }
.filter-checkbox .count,.filter-checkbox-row .count{ color:var(--ink-45); font-size:11.5px; }
.filter-checkbox-row .row-main{ display:flex; align-items:center; gap:9px; }
.filter-swatches{ display:flex; flex-wrap:wrap; gap:10px; }
.filter-swatches .swatch{ width:32px; height:32px; }
.filter-sizes{ display:flex; flex-wrap:wrap; gap:8px; }
.filter-sizes .size-pill{ padding:7px 14px; font-size:12px; min-height:38px; }
.filter-price-inputs{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.filter-price-inputs span{ color:var(--ink-45); font-size:12px; flex-shrink:0; }
.filter-price-inputs input{
  width:100%; min-width:0; min-height:44px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m);
  padding:0 10px; font-size:16px; font-family:inherit; outline:none; transition:border-color .2s; background:var(--paper);
}
.filter-price-inputs input:focus{ border-color:var(--glacier); }
.filter-price-presets{ display:flex; flex-direction:column; gap:2px; }
.filter-price-preset{ text-align:right; background:none; border:none; font-size:13px; color:var(--ink-70); padding:8px 0; }
.filter-price-preset:hover{ color:var(--glacier); }
.filter-price-apply{ margin-top:14px; padding:11px; }
.color-swatch{
  display:inline-block; width:28px; height:28px; border-radius:50%; cursor:pointer;
  border:2px solid #fff; box-shadow:0 0 0 1px #ccc;
}
.color-swatch:has(input:checked){ box-shadow:0 0 0 2px var(--ink); }
.color-swatch input{ display:none; }

.filter-backdrop,.drawer-backdrop{
  position:fixed; inset:0; z-index:290; background:rgba(20,24,26,.45);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease);
}
.filter-backdrop.is-open,.drawer-backdrop.is-open{ opacity:1; pointer-events:auto; }
@media (min-width:900px){
  .filter-sidebar,.filters-sidebar{
    position:sticky; top:96px; right:auto; bottom:auto; z-index:1;
    width:auto; max-height:none; overflow:visible; padding:26px;
    border:1px solid var(--stone-200); border-radius:var(--radius-l);
    box-shadow:none; transform:none; visibility:visible;
  }
  .filter-drawer-head,.filter-close,.filter-backdrop,.drawer-backdrop{ display:none !important; }
  .filter-sidebar-head{ position:static; padding:0; margin-bottom:6px; }
}

.listing-toolbar,.plp-toolbar{ display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-bottom:20px; }
.listing-toolbar-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.listing-result-count,.plp-result-count{ font-size:13px; color:var(--ink-70); }
.plp-result-count strong{ color:var(--ink); }
.sort-select,.plp-sort select,.admin-filter-select{
  min-height:46px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m); padding:0 14px;
  font-family:inherit; font-size:13.5px; background:var(--paper-2); outline:none; cursor:pointer; color:var(--ink);
  width:100%;
}
.sort-select:focus,.plp-sort select:focus{ border-color:var(--glacier); }
.plp-sort{ width:100%; }
@media (min-width:640px){
  .listing-toolbar,.plp-toolbar{ flex-direction:row; align-items:center; justify-content:space-between; gap:16px; }
  .plp-sort{ width:auto; }
  .sort-select,.plp-sort select,.admin-filter-select{ width:auto; }
}

.active-filter-chips,.filter-chips{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.filter-chip{
  display:flex; align-items:center; gap:8px; background:var(--glacier-tint); color:var(--glacier);
  font-size:12px; font-weight:700; padding:7px 8px 7px 14px; border-radius:999px;
}
.filter-chip button{
  background:rgba(255,255,255,.6); border:none; width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--glacier);
}
.clear-filters-link{ font-size:12.5px; font-weight:700; color:var(--clay); background:none; border:none; padding:0; }
.clear-filters-link:hover{ text-decoration:underline; }

.pagination{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin-top:36px; }
.page-btn{
  min-width:42px; height:42px; padding:0 8px; border-radius:999px; border:1.5px solid var(--stone-300);
  background:var(--paper-2); display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; transition:all .2s; color:var(--ink);
}
.page-btn.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.page-btn:hover:not(.is-active){ border-color:var(--ink); }
.page-btn:disabled{ opacity:.4; cursor:not-allowed; }
@media (min-width:900px){ .pagination{ margin-top:52px; gap:8px; } }

/* Search page */
.search-query-heading{ font-size:clamp(21px,2.6vw,30px); }
.search-query-heading span{ color:var(--glacier); }
.popular-searches{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.popular-search-chip{
  background:var(--stone-100); border:none; border-radius:999px; padding:9px 14px; font-size:12.5px;
  font-weight:700; color:var(--ink-70); transition:background .2s, color .2s;
}
.popular-search-chip:hover{ background:var(--ink); color:#fff; }

/* ---------- 25. Payment success / receipt ---------- */
.payment-success-hero{ text-align:center; padding:40px 16px 8px; max-width:560px; margin:0 auto; }
.payment-success-icon{
  width:80px; height:80px; border-radius:50%; background:var(--moss-tint); color:var(--moss);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px; animation:successPop .5s var(--ease);
}
@keyframes successPop{ 0%{ transform:scale(.6); opacity:0; } 100%{ transform:scale(1); opacity:1; } }
@media (prefers-reduced-motion:reduce){ .payment-success-icon{ animation:none; } }
.payment-success-hero h1{ font-size:clamp(21px,2.8vw,28px); margin-bottom:10px; }
.payment-success-hero p{ font-size:14px; color:var(--ink-70); }
.payment-meta-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--stone-200);
  border:1px solid var(--stone-200); border-radius:var(--radius-l); overflow:hidden; margin:24px 0;
}
.payment-meta-item{ text-align:center; background:var(--paper-2); padding:18px 10px; }
.payment-meta-item span{ display:block; font-size:11px; color:var(--ink-45); margin-bottom:6px; }
.payment-meta-item strong{ font-size:13.5px; }
.payment-success-actions{ display:flex; flex-direction:column; gap:10px; justify-content:center; margin:8px 0 12px; }
.payment-success-actions .btn{ width:100%; }
.next-steps{ display:grid; grid-template-columns:1fr; gap:20px; margin:8px 0; }
.next-step{ text-align:center; }
.next-step-icon{ width:46px; height:46px; border-radius:50%; background:var(--glacier-tint); color:var(--glacier); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.next-step h4{ font-size:14px; margin-bottom:6px; }
.next-step p{ font-size:12.5px; color:var(--ink-70); margin:0; }
@media (min-width:700px){
  .payment-success-hero{ padding:56px 20px 8px; }
  .payment-success-icon{ width:88px; height:88px; margin-bottom:24px; }
  .payment-meta-grid{ grid-template-columns:repeat(4,1fr); margin:32px 0; }
  .payment-success-actions{ flex-direction:row; gap:14px; }
  .payment-success-actions .btn{ width:auto; }
  .next-steps{ grid-template-columns:repeat(3,1fr); gap:24px; }
}

@keyframes pop-in{ 0%{ transform:scale(.6); opacity:0; } 60%{ transform:scale(1.08); opacity:1; } 100%{ transform:scale(1); } }
.success-icon-anim{ animation:pop-in .5s var(--ease) both; }
@media (prefers-reduced-motion:reduce){ .success-icon-anim{ animation:none; } }
.receipt-card{
  background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l);
  padding:20px; margin:0 auto 22px; text-align:right;
}
.receipt-section-title{ font-size:12.5px; font-weight:800; color:var(--ink-70); margin-bottom:12px; }
.receipt-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--stone-200); font-size:13px; color:var(--ink-70); }
.receipt-row:last-child{ border-bottom:none; }
.receipt-row strong{ color:var(--ink); font-weight:700; }
.receipt-row.copyable{ cursor:pointer; }
.receipt-row.copyable:hover strong{ color:var(--glacier); }
.receipt-actions{ display:flex; flex-direction:column; gap:10px; justify-content:center; margin-top:8px; }
.receipt-actions .btn{ width:100%; }
@media (min-width:600px){
  .receipt-card{ padding:32px; max-width:640px; margin-bottom:28px; }
  .receipt-actions{ flex-direction:row; flex-wrap:wrap; }
  .receipt-actions .btn{ width:auto; }
}

/* ---------- 26. Blog ---------- */
.blog-tag{
  display:inline-flex; align-self:flex-start; font-size:11px; font-weight:800;
  padding:5px 12px; border-radius:999px; background:var(--glacier-tint); color:var(--glacier); margin-bottom:12px;
}
.blog-tag.lifestyle{ background:var(--glacier-tint); color:var(--glacier); }
.blog-tag.fitness{ background:var(--moss-tint); color:var(--moss); }
.blog-tag.travel{ background:var(--stone-100); color:var(--ink-70); }
.blog-tag.care{ background:var(--clay-tint); color:var(--clay); }
.blog-tag.news{ background:rgba(176,138,78,.14); color:var(--gold-text); }
.blog-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--ink-45); }
.blog-meta .dot,.blog-meta .dot-sep{ width:3px; height:3px; border-radius:50%; background:var(--stone-300); flex-shrink:0; }
.author-avatar,.blog-author-avatar,.blog-meta .avatar-mini{
  width:28px; height:28px; border-radius:50%; background:var(--glacier); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; flex-shrink:0;
}

.blog-featured{ display:grid; grid-template-columns:1fr; gap:24px; align-items:center; margin-bottom:36px; }
.blog-featured-photo,.blog-featured-media{ aspect-ratio:4/3; border-radius:var(--radius-l); position:relative; }
.blog-featured .photo{ position:absolute; inset:0; }
.blog-featured-title,.blog-featured-copy h2{ font-size:clamp(22px,4vw,34px); margin-bottom:12px; line-height:1.35; }
.blog-featured-title a:hover,.blog-featured-copy h2 a:hover{ color:var(--glacier); }
.blog-featured-excerpt,.blog-featured-copy p{ font-size:14px; color:var(--ink-70); margin-bottom:18px; max-width:520px; }
.blog-featured-copy{ position:relative; }
@media (min-width:860px){
  .blog-featured{ grid-template-columns:1.1fr .9fr; gap:44px; margin-bottom:60px; }
  .blog-featured-photo{ aspect-ratio:4/3.1; }
  .blog-featured-excerpt,.blog-featured-copy p{ font-size:15px; }
}
/* Overlay variant used by some blog layouts */
.blog-featured.is-cover{ position:relative; display:flex; align-items:flex-end; min-height:380px; overflow:hidden; border-radius:var(--radius-l); padding:0; }
.blog-featured.is-cover .blog-featured-copy,.blog-featured.is-cover > .blog-featured-copy{ color:#fff; padding:24px 20px; z-index:2; }
.blog-featured.is-cover::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.05) 65%); }
@media (min-width:700px){ .blog-featured.is-cover{ min-height:420px; } .blog-featured.is-cover .blog-featured-copy{ padding:44px; } }

.featured-post{ display:grid; grid-template-columns:1fr; border-radius:var(--radius-l); overflow:hidden; background:var(--paper-2); border:1px solid var(--stone-200); margin-bottom:28px; }
.featured-post-media{ position:relative; min-height:220px; }
.featured-post-media .photo{ position:absolute; inset:0; }
.featured-post-body{ padding:22px; display:flex; flex-direction:column; justify-content:center; }
.featured-post-body h2{ font-size:clamp(19px,2.6vw,27px); margin-bottom:12px; line-height:1.4; }
.featured-post-body h2 a:hover{ color:var(--glacier); }
.featured-post-body p{ font-size:14px; color:var(--ink-70); margin-bottom:18px; }
@media (min-width:700px){ .featured-post{ grid-template-columns:1fr 1fr; } .featured-post-body{ padding:32px; } }
@media (min-width:900px){ .featured-post-media{ min-height:320px; } .featured-post-body{ padding:40px; } }

.blog-grid{ display:grid; grid-template-columns:1fr; gap:28px; }
@media (min-width:640px){ .blog-grid{ grid-template-columns:repeat(2,1fr); gap:32px 28px; } }
@media (min-width:1024px){ .blog-grid{ grid-template-columns:repeat(3,1fr); gap:36px 32px; } }
.blog-card{ display:flex; flex-direction:column; background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); overflow:hidden; transition:box-shadow .3s var(--ease), transform .3s var(--ease); }
.blog-card:hover{ box-shadow:var(--shadow-m); transform:translateY(-3px); }
.blog-card-photo,.blog-card-media{ aspect-ratio:16/10; border-radius:0; position:relative; margin-bottom:0; overflow:hidden; }
.blog-card .blog-card-photo[style],.blog-card .blog-card-media[style]{ border-radius:0; }
.blog-card-photo .photo,.blog-card-media .photo{ position:absolute; inset:0; transition:transform .6s var(--ease); }
.blog-card:hover .blog-card-photo .photo,.blog-card:hover .blog-card-media .photo{ transform:scale(1.04); }
.blog-card-cat{ position:absolute; top:12px; right:12px; background:var(--paper-2); color:var(--ink); font-size:10.5px; font-weight:800; padding:5px 11px; border-radius:999px; z-index:2; }
.blog-card-body{ padding:18px; display:flex; flex-direction:column; flex:1; }
.blog-card-title,.blog-card h3{ font-size:15.5px; font-weight:800; margin-bottom:8px; line-height:1.55; }
.blog-card-title a:hover,.blog-card h3 a:hover{ color:var(--glacier); }
.blog-card-excerpt,.blog-card p{ font-size:13px; color:var(--ink-70); line-height:1.8; margin-bottom:14px; flex:1; }
.blog-card-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:11.5px; color:var(--ink-45); padding-top:12px; border-top:1px solid var(--stone-200); margin-top:auto; }
.blog-card .blog-tag{ position:absolute; top:12px; right:12px; background:var(--paper-2); color:var(--ink); z-index:2; }
@media (min-width:900px){
  .blog-card-body{ padding:22px; }
  .blog-card-title,.blog-card h3{ font-size:16.5px; }
  .blog-card-excerpt,.blog-card p{ font-size:13.5px; }
}

.blog-sidebar-card{ background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); padding:20px; margin-bottom:20px; }
.blog-sidebar-title{ font-size:14px; font-weight:800; margin-bottom:16px; }
.blog-layout{ display:grid; grid-template-columns:1fr; gap:28px; align-items:flex-start; }
@media (min-width:900px){ .blog-layout{ grid-template-columns:1fr .32fr; gap:48px; } }
.popular-post{ display:flex; gap:12px; margin-bottom:14px; }
.popular-post:last-child{ margin-bottom:0; }
.popular-post-media{ width:60px; height:60px; border-radius:var(--radius-s); position:relative; flex-shrink:0; overflow:hidden; }
.popular-post-media .photo{ position:absolute; inset:0; }
.popular-post-body strong{ display:block; font-size:12.5px; font-weight:700; line-height:1.5; margin-bottom:4px; }
.popular-post-body strong a:hover{ color:var(--glacier); }
.popular-post-body span{ font-size:11.5px; color:var(--ink-45); }
.blog-category-list a{ display:flex; align-items:center; justify-content:space-between; min-height:42px; padding:8px 0; font-size:13px; color:var(--ink-70); border-bottom:1px solid var(--stone-200); }
.blog-category-list a:last-child{ border-bottom:none; }
.blog-category-list a:hover{ color:var(--glacier); }
.blog-category-list .count{ color:var(--ink-45); font-size:12px; }
.blog-newsletter-mini h4{ font-size:14.5px; margin-bottom:8px; }
.blog-newsletter-mini p{ font-size:12.5px; color:var(--ink-70); margin-bottom:14px; }
.blog-newsletter-mini input{
  width:100%; min-height:44px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m); padding:0 14px;
  font-family:inherit; font-size:16px; margin-bottom:10px; outline:none; background:var(--paper); transition:border-color .2s;
}
.blog-newsletter-mini input:focus{ border-color:var(--glacier); }
.blog-newsletter-mini button{ width:100%; }

/* Article */
.reading-progress-track{ position:sticky; top:var(--header-h); height:3px; background:var(--stone-200); z-index:90; }
.reading-progress-bar{ height:100%; width:0%; background:var(--glacier); transition:width .1s linear; }
.article-header{ max-width:720px; margin:0 auto; text-align:center; padding-bottom:24px; }
.article-cat-tag{ display:inline-block; background:var(--glacier-tint); color:var(--glacier); font-size:11.5px; font-weight:800; padding:6px 14px; border-radius:999px; margin-bottom:16px; }
.article-title{ font-size:clamp(24px,5.5vw,40px); line-height:1.35; margin-bottom:16px; }
.article-meta-row{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; font-size:12.5px; color:var(--ink-45); }
.article-meta-row .blog-author-avatar{ width:30px; height:30px; font-size:11px; }
.article-hero-photo{ aspect-ratio:16/10; border-radius:var(--radius-l); margin:24px auto; max-width:960px; position:relative; }
.article-inline-photo{ aspect-ratio:16/9; border-radius:var(--radius-l); margin:28px 0; position:relative; }
.article-body{ max-width:680px; margin:0 auto; font-size:15.5px; line-height:1.95; color:var(--ink-70); }
.article-body h2{ font-size:19px; margin:32px 0 14px; color:var(--ink); font-weight:800; line-height:1.5; }
.article-body p{ margin:0 0 20px; }
.article-body ul{ margin:0 0 22px; padding-right:22px; list-style:disc; }
.article-body li{ margin-bottom:10px; }
.article-pullquote,.article-pull-quote{ font-size:17px; font-weight:700; color:var(--ink); border-right:3px solid var(--glacier); padding:2px 18px; margin:32px 0; line-height:1.8; }
.article-share,.share-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; justify-content:center; margin:32px auto 0; max-width:680px; padding-top:22px; border-top:1px solid var(--stone-200); }
.article-share span,.share-row span{ font-size:12.5px; color:var(--ink-45); font-weight:600; }
.article-share a,.share-btn{ width:42px; height:42px; border-radius:50%; border:1px solid var(--stone-300); background:var(--paper-2); display:flex; align-items:center; justify-content:center; transition:all .2s; }
.article-share a:hover,.share-btn:hover{ background:var(--ink); border-color:var(--ink); color:#fff; }
.share-buttons{ display:flex; gap:10px; }
.article-author-box,.author-box{ display:flex; align-items:center; gap:14px; max-width:680px; margin:36px auto 0; padding:18px; background:var(--stone-100); border-radius:var(--radius-l); }
.article-author-box .author-avatar,.author-box-avatar{ width:52px; height:52px; font-size:16px; }
.article-author-box strong,.author-box-text strong{ display:block; font-size:14px; margin-bottom:4px; }
.article-author-box span,.author-box-text span{ font-size:12.5px; color:var(--ink-45); }
@media (min-width:768px){
  .article-header{ padding-bottom:36px; }
  .article-title{ margin-bottom:22px; }
  .article-hero-photo{ aspect-ratio:21/9; margin:36px auto; }
  .article-body{ font-size:16.5px; }
  .article-body h2{ font-size:21px; margin:40px 0 16px; }
  .article-body p{ margin-bottom:22px; }
  .article-pullquote,.article-pull-quote{ font-size:20px; padding-right:22px; margin:40px 0; }
  .article-author-box,.author-box{ padding:24px; margin-top:48px; }
}

/* Legacy Bootstrap-ish cards used by a few includes / admin forms */
.card{ background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-m); overflow:hidden; }
.card-body{ padding:16px; }
.card-title{ font-size:14px; font-weight:700; margin-bottom:6px; }
.card-text{ font-size:13px; color:var(--ink-70); }
.card-img-top{ width:100%; display:block; }
.alert{ padding:12px 16px; border-radius:var(--radius-m); font-size:13px; margin-bottom:14px; border:1px solid transparent; }
.alert-info{ background:var(--glacier-tint); color:var(--glacier); }
.alert-warning{ background:var(--gold-tint); color:var(--gold-text); }
.alert-danger{ background:var(--clay-tint); color:var(--clay); }
.progress{ height:8px; background:var(--stone-200); border-radius:999px; overflow:hidden; }
.progress-bar{ height:100%; background:var(--gold); transition:width .3s; }
.helpful-btn{ min-height:40px; }
.review-checkbox{ width:18px; height:18px; accent-color:var(--glacier); }
.star-input-group{ display:flex; gap:4px; }
.star-input-group input{ accent-color:var(--gold); }

/* ---------- 27. Auth ---------- */
.auth-shell{ min-height:calc(100vh - var(--header-h)); display:flex; align-items:center; justify-content:center; padding:32px 16px 48px; }
.auth-card{ width:100%; max-width:420px; background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); padding:28px 20px; box-shadow:var(--shadow-m); }
.auth-logo{ text-align:center; margin-bottom:22px; }
.auth-logo .logo{ display:inline-flex; }
.auth-title{ font-size:21px; text-align:center; margin-bottom:8px; }
.auth-subtitle{ font-size:13px; color:var(--ink-70); text-align:center; margin-bottom:26px; line-height:1.8; }
.auth-form .form-field{ margin-bottom:16px; }
.ltr-input{ direction:ltr; text-align:left; font-family:inherit; }
.segmented-toggle{ display:flex; background:var(--stone-100); border-radius:999px; padding:4px; margin-bottom:20px; }
.segmented-toggle button{
  flex:1; min-height:44px; padding:10px; border:none; background:none; border-radius:999px;
  font-size:13px; font-weight:700; color:var(--ink-70); transition:background .2s, color .2s, box-shadow .2s;
}
.segmented-toggle button.is-active{ background:var(--paper-2); color:var(--ink); box-shadow:var(--shadow-s); }
.auth-forgot-link{ display:block; text-align:left; font-size:12.5px; color:var(--glacier); font-weight:700; margin:-6px 0 18px; }
.auth-footer-link{ text-align:center; font-size:13px; color:var(--ink-70); margin-top:22px; }
.auth-footer-link a{ color:var(--glacier); font-weight:700; }
.auth-edit-number{ text-align:center; font-size:13px; color:var(--ink-45); margin-bottom:24px; }
.auth-edit-number strong{ color:var(--ink); font-weight:700; direction:ltr; display:inline-block; }
.auth-edit-number a{ color:var(--glacier); font-weight:700; margin-right:8px; }
.otp-inputs{ display:flex; gap:8px; justify-content:center; direction:ltr; margin-bottom:10px; }
.otp-inputs input{
  width:clamp(40px,13vw,52px); height:56px; text-align:center; font-size:21px; font-weight:800;
  border:1.5px solid var(--stone-300); border-radius:var(--radius-m); font-family:inherit;
  outline:none; transition:border-color .2s; background:var(--paper);
}
.otp-inputs input:focus{ border-color:var(--glacier); }
.otp-inputs input.otp-error{ border-color:var(--clay); }
.otp-error-text{ text-align:center; font-size:12.5px; color:var(--clay); font-weight:600; min-height:18px; margin-bottom:8px; }
.otp-timer{ text-align:center; font-size:13px; color:var(--ink-45); margin:8px 0 24px; }
.otp-timer strong{ color:var(--ink); font-variant-numeric:tabular-nums; }
.otp-resend-btn{ background:none; border:none; color:var(--glacier); font-weight:700; font-size:13px; padding:0; }
.otp-resend-btn:disabled{ color:var(--ink-45); cursor:not-allowed; }
@media (min-width:480px){ .auth-card{ padding:40px 32px; } }
@media (min-width:768px){ .auth-shell{ padding:60px 20px; } }

/* ---------- 28. Admin panel ---------- */
.admin-shell{ display:block; min-height:100vh; background:var(--stone-100); }
.admin-sidebar{
  position:fixed; top:0; right:0; bottom:0; z-index:250;
  width:min(280px,86vw); background:var(--ink); color:rgba(255,255,255,.78);
  display:flex; flex-direction:column; height:100dvh;
  transform:translateX(100%); visibility:hidden;
  transition:transform .3s var(--ease), visibility .3s;
  box-shadow:var(--shadow-l);
}
.admin-sidebar.is-open{ transform:translateX(0); visibility:visible; }
.admin-sidebar-backdrop{
  position:fixed; inset:0; z-index:240; background:rgba(0,0,0,.45);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease);
}
.admin-sidebar-backdrop.is-open{ opacity:1; pointer-events:auto; }
.admin-sidebar-logo{ padding:20px; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-sidebar-logo .logo-word{ color:#fff; }
.admin-sidebar-logo .logo-sub{ color:rgba(255,255,255,.4); }
.admin-sidebar-close{
  display:flex; width:36px; height:36px; border-radius:50%; border:none;
  background:rgba(255,255,255,.1); color:#fff; align-items:center; justify-content:center;
}
.admin-sidebar-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-nav{ padding:12px; flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:3px; }
.admin-nav a{
  display:flex; align-items:center; gap:12px; min-height:46px; padding:11px 14px; border-radius:var(--radius-m);
  font-size:13.5px; font-weight:600; color:rgba(255,255,255,.68); transition:background .2s, color .2s;
}
.admin-nav a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.admin-nav a.is-active{ background:var(--glacier); color:#fff; }
.admin-nav a svg{ flex-shrink:0; }
.admin-sidebar-footer{ padding:16px 20px; border-top:1px solid rgba(255,255,255,.1); }
.admin-sidebar-footer a{ font-size:12.5px; color:rgba(255,255,255,.55); display:flex; align-items:center; gap:8px; min-height:40px; }
.admin-sidebar-footer a:hover{ color:#fff; }
.admin-sidebar-tag{ font-size:11px; letter-spacing:.15em; color:rgba(255,255,255,.4); margin-top:2px; }
.admin-avatar{ width:36px; height:36px; border-radius:50%; background:var(--glacier); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; color:#fff; flex-shrink:0; }
.admin-sidebar-footer div strong{ display:block; font-size:12.5px; color:#fff; }
.admin-sidebar-footer div span{ font-size:11px; color:rgba(255,255,255,.45); }

.admin-main{ flex:1; min-width:0; }
.admin-topbar{
  position:sticky; top:0; z-index:120; min-height:60px;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 16px; background:var(--paper-2); border-bottom:1px solid var(--stone-200);
}
.admin-mobile-toggle{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border:1px solid var(--stone-200); border-radius:var(--radius-m);
  background:var(--paper-2); color:var(--ink); flex-shrink:0;
}
.admin-mobile-toggle:hover{ background:var(--stone-100); }
.admin-topbar-title{ font-size:14px; font-weight:800; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--ink-70); min-width:0; }
.admin-user span{ display:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-avatar{
  width:36px; height:36px; border-radius:50%; background:var(--glacier); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800; flex-shrink:0;
}
.admin-content{ padding:16px; width:100%; max-width:1280px; margin:0 auto; }
.admin-page-head{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:20px; }
.admin-page-head h1,.admin-page-head h2{ font-size:19px; }
.admin-page-head p{ font-size:13px; color:var(--ink-70); margin:0; }
.admin-toolbar{
  display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-bottom:18px;
}
.admin-search{ position:relative; min-width:0; }
.admin-search input{
  width:100%; min-height:46px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m);
  background:var(--paper-2); padding:0 42px 0 14px; font-family:inherit; font-size:16px; color:var(--ink);
  outline:none; transition:border-color .2s;
}
.admin-search input:focus{ border-color:var(--glacier); }
.admin-search svg{ position:absolute; top:50%; right:14px; transform:translateY(-50%); color:var(--ink-45); pointer-events:none; }
.admin-card{
  background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l);
  margin-bottom:18px; overflow:hidden;
}
.admin-card > h3,.admin-card > .admin-card-head{ padding:18px 20px; border-bottom:1px solid var(--stone-200); font-size:15px; }
.data-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.data-table{ width:100%; min-width:680px; border-collapse:collapse; font-size:12.5px; }
.data-table th,.data-table td{ padding:12px 14px; text-align:right; vertical-align:middle; border-bottom:1px solid var(--stone-200); }
.data-table th{ background:var(--stone-100); font-size:11.5px; font-weight:800; color:var(--ink-70); white-space:nowrap; }
.data-table tbody tr:last-child td{ border-bottom:none; }
.data-table tbody tr:hover{ background:rgba(31,75,92,.03); }
.dt-product-cell{ display:flex; align-items:center; gap:10px; min-width:190px; }
.dt-thumb{
  width:46px; height:46px; border-radius:var(--radius-s); overflow:hidden; position:relative;
  background:var(--stone-100); flex-shrink:0;
}
.dt-thumb img{ width:100%; height:100%; object-fit:cover; }
.dt-product-name{ font-size:13px; font-weight:700; line-height:1.5; }
.dt-product-sku{ font-size:11px; color:var(--ink-45); margin-top:2px; }
.dt-actions{ display:flex; align-items:center; gap:6px; }
.dt-action-btn{
  width:38px; height:38px; border-radius:var(--radius-m); border:1px solid var(--stone-200);
  background:var(--paper-2); color:var(--ink-70); display:flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s, border-color .2s;
}
.dt-action-btn:hover{ background:var(--stone-100); color:var(--ink); border-color:var(--stone-300); }
.dt-action-btn.delete:hover{ background:var(--clay-tint); color:var(--clay); border-color:var(--clay); }
.stock-badge{
  display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:999px;
  font-size:11px; font-weight:800; white-space:nowrap;
}
.stock-badge.in-stock{ background:var(--moss-tint); color:var(--moss); }
.stock-badge.low-stock{ background:var(--gold-tint); color:var(--gold-text); }
.stock-badge.out-stock{ background:var(--clay-tint); color:var(--clay); }
.status-chip{
  display:inline-flex; align-items:center; padding:5px 11px; border-radius:999px;
  font-size:11px; font-weight:800; white-space:nowrap;
}
.status-chip.active{ background:var(--moss-tint); color:var(--moss); }
.status-chip.inactive{ background:var(--stone-100); color:var(--ink-45); }
.admin-table-footer{
  display:flex; flex-direction:column; align-items:stretch; gap:12px;
  padding:14px 16px; border-top:1px solid var(--stone-200);
}
.admin-table-count{ font-size:12.5px; color:var(--ink-45); font-weight:600; }
.admin-empty{ text-align:center; padding:44px 16px; color:var(--ink-45); }
.admin-empty svg{ margin:0 auto 12px; }
.admin-empty h3{ font-size:15px; color:var(--ink); margin-bottom:6px; }
.admin-empty p{ font-size:12.5px; margin:0; }

/* Admin form sections */
.admin-form-section{ padding:18px 16px; border-bottom:1px solid var(--stone-200); }
.admin-form-section:last-child{ border-bottom:none; }
.admin-form-section h3{ font-size:15px; margin-bottom:14px; }
.admin-form-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.admin-checkbox-row{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:10px 14px; border:1px solid var(--stone-200); border-radius:var(--radius-m); }
.admin-checkbox-row label{ display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--ink-70); margin:0; }
.formset-row{
  display:grid; grid-template-columns:1fr; gap:12px; align-items:end;
  border-bottom:1px solid var(--stone-200); padding-bottom:16px; margin-bottom:16px;
}
.formset-row:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.formset-row .form-field{ margin-bottom:0; }
.form-field.checkbox-field{ justify-content:flex-end; }
.form-field.checkbox-field label{
  display:flex; align-items:center; gap:8px; min-height:50px; padding:0 14px;
  border:1.5px solid var(--stone-300); border-radius:var(--radius-m); background:var(--paper);
  font-size:12.5px; font-weight:700; color:var(--ink-70); white-space:nowrap; cursor:pointer;
  transition:border-color .2s, background .2s;
}
.form-field.checkbox-field label:hover{ border-color:var(--glacier); background:var(--glacier-tint); }
.form-field.checkbox-field input[type="checkbox"]{ accent-color:var(--glacier); }
.delete-checkbox{
  display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 12px;
  border:1.5px solid transparent; border-radius:var(--radius-m); background:var(--clay-tint);
  font-size:12px; font-weight:700; color:var(--clay); align-self:end;
  transition:border-color .2s, background .2s;
}
.delete-checkbox:hover{ border-color:var(--clay); }
.delete-checkbox label{ margin:0; cursor:pointer; }
.delete-checkbox input{ width:18px; height:18px; accent-color:var(--clay); }
.logo-remove-row{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-70); min-height:40px; cursor:pointer; }
.logo-remove-row input{ width:17px; height:17px; accent-color:var(--clay); }

/* Settings page */
.settings-errors{
  background:var(--clay-tint); border:1px solid var(--clay); color:var(--clay);
  border-radius:var(--radius-m); padding:14px 16px; font-size:13px; margin-bottom:18px;
}
.settings-errors ul{ margin:8px 0 0; padding-right:20px; list-style:disc; }
.settings-section{
  background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l);
  padding:18px 16px; margin-bottom:16px;
}
.settings-section-title{ font-size:15px; font-weight:800; margin-bottom:16px; }
.settings-save-hint{ font-size:12px; color:var(--ink-45); }
.field-hint{ font-size:12px; color:var(--ink-45); margin:4px 0 0; line-height:1.7; }
.file-dropzone{
  position:relative; border:1.5px dashed var(--stone-300); border-radius:var(--radius-m);
  background:var(--paper); padding:18px; text-align:center; transition:border-color .2s, background .2s;
}
.file-dropzone.is-dragover{ border-color:var(--glacier); background:var(--glacier-tint); }
.file-dropzone input[type="file"]{
  position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer;
}
.file-dropzone-icon{
  width:40px; height:40px; border-radius:50%; background:var(--stone-100); color:var(--ink-70);
  display:flex; align-items:center; justify-content:center; margin:0 auto 10px;
}
.file-dropzone p{ font-size:12.5px; font-weight:700; margin:0 0 4px; }
.file-dropzone span{ font-size:11.5px; color:var(--ink-45); }
.file-preview{ display:none; align-items:center; gap:12px; text-align:right; }
.file-preview.is-visible{ display:flex; }
.file-preview img{ width:64px; height:64px; border-radius:var(--radius-m); object-fit:contain; background:var(--paper-2); border:1px solid var(--stone-200); }
.file-preview-name{ font-size:12px; font-weight:700; word-break:break-all; }
.file-preview-remove{ background:none; border:none; color:var(--clay); font-size:12px; font-weight:700; padding:4px 0; }
.help-setting-block{ border-top:1px solid var(--stone-200); padding-top:16px; margin-top:16px; }
.help-setting-heading{ font-size:13.5px; font-weight:800; margin-bottom:12px; }
.site-image-slot{ border-top:1px solid var(--stone-200); padding-top:16px; margin-top:16px; }
.site-image-slot-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.site-image-slot-title{ font-size:13.5px; font-weight:800; }
.site-image-slot-on{ font-size:10.5px; font-weight:800; padding:3px 9px; border-radius:999px; background:var(--moss-tint); color:var(--moss); }
.site-image-current{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:8px; }
.site-image-current img{ width:80px; height:56px; border-radius:var(--radius-s); object-fit:cover; border:1px solid var(--stone-200); }
.form-control,.form-select{
  width:100%; min-height:48px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m);
  padding:0 14px; font-family:inherit; font-size:16px; background:var(--paper-2); color:var(--ink);
  outline:none; transition:border-color .2s;
}
textarea.form-control{ min-height:96px; padding:12px 14px; resize:vertical; line-height:1.7; }
.form-control:focus,.form-select:focus{ border-color:var(--glacier); }
.form-select{ cursor:pointer; padding-left:34px; }
.card-header{ padding:14px 16px; border-bottom:1px solid var(--stone-200); font-size:13.5px; font-weight:800; }

/* Modal */
.modal-overlay{
  position:fixed; inset:0; z-index:400; display:flex; align-items:center; justify-content:center;
  padding:16px; background:rgba(20,24,26,.5); opacity:0; pointer-events:none;
  transition:opacity .25s var(--ease);
}
.modal-overlay.is-open{ opacity:1; pointer-events:auto; }
.modal-panel{
  width:100%; max-width:480px; max-height:90dvh; overflow-y:auto;
  background:var(--paper-2); border-radius:var(--radius-l); box-shadow:var(--shadow-l);
  transform:translateY(12px) scale(.98); transition:transform .25s var(--ease);
}
.modal-overlay.is-open .modal-panel{ transform:none; }
.modal-panel.modal-sm{ max-width:380px; }
.modal-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 20px; border-bottom:1px solid var(--stone-200);
}
.modal-head h3{ font-size:15px; }
.modal-close-btn{
  width:40px; height:40px; border-radius:50%; border:none; background:var(--stone-100);
  color:var(--ink); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.modal-body{ padding:20px; }
.modal-footer{
  display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px;
  padding:16px 20px; border-top:1px solid var(--stone-200);
}
.modal-warning-icon{
  width:56px; height:56px; border-radius:50%; background:var(--clay-tint); color:var(--clay);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
}
.modal-confirm-text{ text-align:center; font-size:13.5px; line-height:1.9; margin:0; color:var(--ink-70); }
.modal-confirm-text strong{ color:var(--ink); }

/* Toast messages */
.django-toast-container{
  position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:500;
  display:flex; flex-direction:column; gap:8px; width:calc(100% - 28px); max-width:400px;
  pointer-events:none;
}
.nooshana-toast{
  display:flex; align-items:center; gap:10px; width:100%;
  padding:12px 14px; border-radius:var(--radius-m); background:var(--ink); color:#fff;
  font-size:12.5px; font-weight:600; line-height:1.7; box-shadow:var(--shadow-l);
  pointer-events:auto; animation:toast-in .25s var(--ease);
}
.nooshana-toast.success{ background:var(--moss); }
.nooshana-toast.error{ background:var(--clay); }
.nooshana-toast.warning{ background:var(--gold-text); }
.nooshana-toast.static{ position:static; margin-bottom:14px; }
.toast-icon{ display:flex; flex-shrink:0; }
@keyframes toast-in{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
.reorder-toast{
  position:fixed; left:50%; bottom:24px; transform:translate(-50%,16px); z-index:500;
  display:flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px;
  background:var(--ink); color:#fff; font-size:12.5px; font-weight:700; box-shadow:var(--shadow-l);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease), transform .25s var(--ease);
  white-space:nowrap; max-width:calc(100% - 28px);
}
.reorder-toast.is-visible{ opacity:1; transform:translate(-50%,0); }

/* Customer admin + order detail extras */
.customer-profile-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.customer-profile-avatar{
  width:52px; height:52px; border-radius:50%; background:var(--glacier); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:800; flex-shrink:0;
}
.customer-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--stone-200); border:1px solid var(--stone-200); border-radius:var(--radius-m); overflow:hidden; margin-bottom:16px; }
.customer-stat{ background:var(--paper-2); padding:12px 8px; text-align:center; }
.customer-stat strong{ display:block; font-size:14px; margin-bottom:2px; }
.customer-stat span{ font-size:10.5px; color:var(--ink-45); }
.customer-order-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 0; border-bottom:1px solid var(--stone-200); font-size:12.5px;
}
.customer-order-row:last-child{ border-bottom:none; }
.order-id{ font-weight:800; font-size:12px; color:var(--glacier); }

.vertical-timeline{ position:relative; padding-right:26px; margin:8px 0; }
.vertical-timeline::before{
  content:""; position:absolute; top:6px; bottom:6px; right:8px; width:2px; background:var(--stone-300);
}
.vt-item{ position:relative; padding:0 0 20px; }
.vt-item:last-child{ padding-bottom:0; }
.vt-marker{
  position:absolute; top:4px; right:-26px; width:16px; height:16px; border-radius:50%;
  background:var(--paper); border:2px solid var(--stone-300); z-index:1;
}
.vt-marker.done{ background:var(--moss); border-color:var(--moss); }
.vt-marker.active{ background:var(--glacier); border-color:var(--glacier); box-shadow:0 0 0 4px var(--glacier-tint); }
.vt-content strong{ display:block; font-size:13px; margin-bottom:2px; }
.vt-content span{ font-size:11.5px; color:var(--ink-45); }

/* Error pages */
.err-page{ max-width:640px; margin:0 auto; text-align:center; padding-block:24px; }
.err-code{
  font-size:clamp(64px,16vw,110px); font-weight:800; line-height:1;
  color:var(--stone-200); letter-spacing:-.04em; margin-bottom:12px;
}
.err-title{ font-size:clamp(21px,4vw,30px); margin-bottom:10px; }
.err-text{ font-size:13.5px; color:var(--ink-70); line-height:1.9; margin-bottom:22px; }
.err-search{
  display:flex; align-items:center; gap:6px; max-width:460px; margin:0 auto 22px;
  background:var(--paper-2); border:1.5px solid var(--stone-300); border-radius:999px; padding:5px 6px 5px 16px;
}
.err-search:focus-within{ border-color:var(--glacier); }
.err-search input{
  flex:1; min-width:0; height:42px; border:none; background:transparent; outline:none;
  font-family:inherit; font-size:16px; color:var(--ink);
}
.err-search button{
  width:40px; height:40px; border-radius:50%; border:none; background:var(--glacier); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.err-actions{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.help-nav{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.help-section{ margin-bottom:40px; }
.help-section{ max-width:820px; margin:0 auto 48px; }
.help-section .why-grid{ grid-template-columns:1fr; gap:18px; }
.help-contact-grid{ margin:18px 0 16px; }
.help-ltr{ text-align:right; }
.about-story{ font-size:14.5px; line-height:2; color:var(--ink-70); }
.about-story h2,.about-story h3{ color:var(--ink); margin:24px 0 10px; }
.about-story p{ margin-bottom:14px; }
.about-story ul{ padding-right:22px; list-style:disc; margin-bottom:14px; }
.about-story a{ color:var(--glacier); text-decoration:underline; }
@media (min-width:640px){
  .help-section{ margin-bottom:56px; }
  .help-section .why-grid{ grid-template-columns:repeat(3,1fr); gap:10px; }
}
@media (min-width:900px){
  .help-nav{ margin-bottom:48px; }
}

/* Reveal animation */
.reveal{ opacity:0; transform:translateY(14px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

@media (min-width:480px){
  .err-actions{ flex-direction:row; justify-content:center; }
}
@media (min-width:640px){
  .admin-topbar{ min-height:68px; padding:10px 24px; }
  .admin-topbar-title{ font-size:16px; }
  .admin-user span{ display:block; }
  .admin-content{ padding:24px; }
  .admin-page-head{ flex-direction:row; align-items:center; justify-content:space-between; gap:20px; }
  .admin-page-head h1,.admin-page-head h2{ font-size:21px; }
  .admin-toolbar{ flex-direction:row; align-items:center; gap:12px; }
  .admin-search{ flex:1; max-width:420px; }
  .admin-search input{ font-size:14.5px; }
  .admin-filter-select{ width:auto; min-width:180px; }
  .admin-table-footer{ flex-direction:row; align-items:center; justify-content:space-between; padding:14px 20px; }
  .admin-form-section,.settings-section{ padding:22px; }
  .form-control,.form-select{ font-size:14.5px; }
  .formset-row.color-row{ grid-template-columns:2fr 1fr 1fr 1fr auto auto; }
  .formset-row.image-row{ grid-template-columns:2fr 1fr 2fr 1fr auto; }
  .formset-row.video-row{ grid-template-columns:2fr 3fr 1fr 1fr 1fr auto auto; }
  .modal-body{ padding:24px; }
  .modal-head,.modal-footer{ padding:18px 24px; }
  .help-section .why-grid{ grid-template-columns:repeat(3,1fr); }
  .site-image-current img{ width:96px; height:64px; }
}
@media (min-width:1024px){
  .admin-shell{ display:flex; align-items:flex-start; }
  .admin-sidebar{
    position:sticky; top:0; right:auto; transform:none; visibility:visible;
    width:260px; height:100dvh; flex-shrink:0; box-shadow:none;
  }
  .admin-sidebar-backdrop,.admin-sidebar-close,.admin-mobile-toggle{ display:none !important; }
  .admin-main{ min-height:100dvh; }
  .admin-content{ padding:32px 36px; }
}
@media (min-width:1200px){
  .admin-sidebar{ width:280px; }
}
/* ---------- Checkout helpers ---------- */
.option-card-address{ align-items:flex-start; margin-bottom:12px; }
.option-card-address .option-card-main{ align-items:flex-start; }
.option-card-address .option-radio{ margin-top:4px; }
.address-lines{ display:block; margin-top:6px; line-height:1.8; overflow-wrap:anywhere; word-break:break-word; }
.address-add-link{ margin-top:15px; display:inline-flex; }
.muted-note{ color:var(--ink-70); font-size:13.5px; margin-bottom:12px; }
.checkout-summary-item-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.checkout-footer{ text-align:center; padding:20px 0; font-size:12.5px; color:var(--ink-45); }
.checkout-footer a{ text-decoration:underline; }
.auth-terms{ margin-bottom:24px; align-items:flex-start; line-height:1.8; }
.auth-terms a{ color:var(--glacier); font-weight:700; }

/* ---------- Account helpers ---------- */
.form-narrow{ max-width:800px; margin:0 auto; }
.form-error{ color:var(--clay); font-size:12px; margin-top:4px; display:block; }
.inline-form{ display:inline; }
#address-form-panel{ margin-bottom:24px; }
#address-form-panel .account-save-bar{ margin-top:22px; }
.profile-title{ margin-bottom:24px; }
.input-readonly{ background:var(--stone-100); }
.forgot-old-pwd-row{ margin-top:8px; }
.forgot-old-pwd-link{ font-size:12.5px; font-weight:700; display:inline-flex; align-items:center; gap:4px; }
.otp-input-row{ display:flex; gap:10px; align-items:center; }
.otp-input-row input{ flex:1; min-width:0; }
#btn-send-otp{ flex-shrink:0; height:50px; }
.account-user-mobile{ display:none; }
@media (max-width:859px){
  .account-sidebar{ padding:10px; overflow:visible; }
  .account-user-mobile{ display:flex; margin-bottom:10px; padding:10px 8px 14px; border-bottom:1px solid var(--stone-200); }
  .account-nav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; }
  .account-nav a,.account-nav-item{
    width:100%; min-height:82px; padding:12px 8px; flex-direction:column; justify-content:center;
    gap:7px; white-space:normal; text-align:center; font-size:12.5px; line-height:1.5;
    background:var(--stone-100);
  }
  .account-nav a:hover,.account-nav-item:hover{ background:var(--stone-200); }
  .account-nav a.is-active,.account-nav-item.is-active,
  .account-nav a.is-active:hover,.account-nav-item.is-active:hover{ background:var(--ink); color:#fff; }
  .account-nav .account-nav-orders{ grid-column:1/-1; flex-direction:row !important; justify-content:flex-start; min-height:54px; padding:12px 14px; text-align:right; font-size:13.5px; }
  .account-nav-divider{ display:none; }
  .account-nav-item.logout{ grid-column:1/-1; flex-direction:row; justify-content:center; min-height:48px; margin:2px 0 0; padding:12px; border-top:0; }
}

/* ---------- Order detail ---------- */
.order-thumb img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.order-detail-head{ margin-bottom:24px; flex-wrap:wrap; gap:14px; }
.order-detail-num{ color:var(--glacier); }
.order-detail-sub{ color:var(--ink-70); font-size:13.5px; margin-top:5px; }
.order-items-section{ padding:0; overflow:hidden; margin-bottom:24px; }
.order-items-head{ border-bottom:1px solid var(--stone-200); margin-bottom:0; }
.order-items-list{ padding:8px 0; }
.order-item-row{ padding:14px 16px; border-bottom:1px solid var(--stone-200); }
.order-item-row:last-child{ border-bottom:none; }
.order-item-row .checkout-summary-item-media img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.order-item-total-note{ display:block; color:var(--ink-45); font-size:11px; margin-top:4px; }
.order-summary-box{ padding:16px; background:var(--stone-100); }
.order-summary-total{ border-top:1px solid var(--stone-300); padding-top:15px; margin-top:8px; }
.order-timeline-section{ padding:20px; }
.order-timeline-head{ margin-bottom:20px; }
.order-empty-note{ text-align:center; color:var(--ink-45); padding:20px 0; }
.order-side{ display:flex; flex-direction:column; gap:20px; }
.order-status-card{ text-align:center; border-top:4px solid var(--glacier); }
.order-status-title{ font-size:18px; margin-bottom:5px; }
.order-status-text{ color:var(--ink-70); font-size:13px; }
.order-delivery-card h3.order-delivery-title{ font-size:16px; margin-bottom:20px; }
.order-delivery-card{ min-width:0; }
.order-delivery-row{ margin-bottom:16px; min-width:0; }
.order-delivery-label{ color:var(--ink-45); display:block; margin-bottom:4px; }
.order-delivery-value{ font-weight:700; overflow-wrap:anywhere; word-break:break-word; }
.order-delivery-value.order-ltr{ direction:ltr; text-align:right; }
.order-delivery-muted{ color:var(--ink-70); }
.order-delivery-address{ line-height:1.8; font-size:13.5px; color:var(--ink-70); overflow-wrap:anywhere; word-break:break-word; }
.order-delivery-extra{ margin:20px 0; padding-top:20px; border-top:1px solid var(--stone-200); }
.order-delivery-extra-top{ margin-top:20px; }
.order-tracking-code{ color:var(--glacier); font-weight:800; font-size:18px; direction:ltr; text-align:right; }
.order-payment-id{ font-size:12px; color:var(--ink-70); word-break:break-all; direction:ltr; text-align:right; }
.vt-title{ font-weight:700; font-size:14px; }
.vt-note{ color:var(--ink-70); font-size:13px; margin-top:4px; }
.vt-date{ color:var(--ink-45); font-size:12px; display:block; margin-top:6px; }
.vt-marker.bg-success{ background:var(--moss); border-color:var(--moss); }
.vt-marker.bg-danger{ background:var(--clay); border-color:var(--clay); }
.vt-marker.bg-info{ background:var(--glacier); border-color:var(--glacier); }
.vt-marker.bg-primary{ background:var(--ink); border-color:var(--ink); }
.vt-marker.bg-secondary{ background:var(--stone-300); border-color:var(--stone-300); }
@media (min-width:600px){
  .order-item-row{ padding:16px 28px; }
  .order-summary-box{ padding:20px 28px; }
  .order-timeline-section{ padding:28px; }
  .order-timeline-head{ margin-bottom:24px; }
  .order-side{ gap:24px; }
  .order-detail-head{ margin-bottom:30px; }
}

/* ---------- Dashboard reviews ---------- */
.dashboard-review-card{ border:1px solid var(--stone-200); border-radius:var(--radius-l); padding:18px; background:var(--paper-2); }
.dashboard-review-card:last-child{ padding-bottom:18px; }
.review-author-product{ gap:12px; align-items:center; }
.review-product-thumb{ width:48px; height:48px; border-radius:var(--radius-m); object-fit:cover; flex-shrink:0; position:relative; }
.review-thumb-icon{ position:absolute; inset:0; margin:auto; }
.review-product-link{ font-size:14px; font-weight:700; color:var(--ink); }
.review-date{ color:var(--ink-45); font-size:12px; display:block; margin-top:2px; }
.review-pending{ background:var(--gold-tint); color:var(--gold-text); }
.review-title{ display:block; font-size:14px; margin-bottom:6px; }
@media (min-width:640px){
  .dashboard-review-card{ padding:24px; }
  .review-product-link{ font-size:15px; }
}
.blog-featured-block{ margin-bottom:28px; }
.blog-list-section{ padding-top:0; }
@media (min-width:640px){ .blog-featured-block{ margin-bottom:36px; } }
.admin-topbar-left{ display:flex; align-items:center; gap:14px; min-width:0; }
.cart-icon-link{ position:relative; }
.eyebrow-on-dark{ color:#fff; }
.eyebrow-on-dark .ring-dot{ border-color:#fff; }
.link-underline{ text-decoration:underline; }
.footer-admin-link{ color:inherit; text-decoration:underline; }

/* ---------- Review forms ---------- */
.review-form-card{ margin-bottom:16px; }
.review-form-head{ margin-bottom:20px; }
.review-form-head p{ color:var(--ink-70); font-size:13.5px; margin:6px 0 0; }
.review-product-summary{ display:flex; align-items:center; gap:14px; padding:14px; background:var(--stone-100); border-radius:var(--radius-m); margin-bottom:22px; }
.review-product-media{ width:64px; height:64px; border-radius:var(--radius-m); overflow:hidden; position:relative; flex-shrink:0; background:var(--stone-200); }
.review-product-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.review-product-info{ min-width:0; }
.review-product-info strong{ display:block; font-size:14px; margin-bottom:4px; }
.review-product-info p{ color:var(--ink-70); font-size:12.5px; margin:0; line-height:1.7; }
.review-form .form-field{ margin-bottom:16px; }
.review-form-card input:not([type="checkbox"]),.review-form-card select,.review-form-card textarea{
  width:100%; min-height:48px; border:1.5px solid var(--stone-300); border-radius:var(--radius-m);
  padding:0 14px; font-family:inherit; font-size:16px; background:var(--paper); outline:none; color:var(--ink);
}
.review-form-card textarea{ min-height:110px; padding:12px 14px; resize:vertical; }
.review-form-card input:focus,.review-form-card select:focus,.review-form-card textarea:focus{ border-color:var(--glacier); }
.form-errors-box{ background:var(--clay-tint); border:1px solid rgba(166,83,60,.25); color:var(--clay); border-radius:var(--radius-m); padding:14px; margin-bottom:20px; font-size:13px; line-height:1.8; }
.form-errors-box ul{ margin:8px 18px 0 0; padding:0; }
.required-mark{ color:var(--clay); }
.review-form-actions{ display:flex; flex-direction:column-reverse; gap:10px; margin-top:22px; }
.review-form-actions .btn{ width:100%; }
.review-form-back{ text-align:center; margin-top:18px; }
.delete-review-wrap{ max-width:560px; }
.delete-review-card{ text-align:center; padding:28px 20px; }
.delete-review-icon{ width:72px; height:72px; border-radius:50%; background:var(--clay-tint); color:var(--clay); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.delete-review-text{ color:var(--ink-70); font-size:13.5px; margin-bottom:24px; }
.delete-review-actions{ display:flex; flex-direction:column-reverse; gap:10px; }
.delete-review-actions .btn{ width:100%; }
.btn-danger-solid{ background:var(--clay); color:#fff; border-color:var(--clay); }
.btn-danger-solid:hover{ background:#8f4534; border-color:#8f4534; }
@media (min-width:480px){
  .review-form-actions,.delete-review-actions{ flex-direction:row; justify-content:flex-start; }
  .review-form-actions .btn,.delete-review-actions .btn{ width:auto; }
  .delete-review-actions{ justify-content:center; }
}
@media (min-width:640px){
  .review-product-media{ width:76px; height:76px; }
  .review-form-card{ padding:28px; }
  .review-form .form-field{ margin-bottom:18px; }
}

/* ---------- Missing component styles ---------- */
.btn-warning{ background:var(--gold-tint); color:var(--gold-text); border-color:rgba(176,138,78,.3); }
.btn-warning:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.btn-edit-address{ min-height:42px; padding:9px 16px; font-size:12.5px; }
.image-preview{ display:none; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; padding:10px; border:1px dashed var(--stone-300); border-radius:var(--radius-m); background:var(--stone-100); }
.image-preview.has-preview{ display:flex; }
.image-preview img{ width:72px; height:52px; object-fit:cover; border-radius:var(--radius-s); }
.image-preview-body{ flex:1 1 160px; min-width:0; }
.image-preview-name,.image-preview-hint{ display:block; min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.image-preview-name{ font-size:12px; font-weight:700; }
.image-preview-hint{ font-size:11px; color:var(--ink-45); margin-top:2px; }
.admin-stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:20px; }
.blog-hero-desc{ color:var(--ink-70); font-size:14px; max-width:640px; margin-top:8px; line-height:1.8; }
.blog-featured-cat{ display:inline-block; font-size:11px; font-weight:800; color:var(--glacier); background:var(--glacier-tint); padding:4px 10px; border-radius:999px; margin-bottom:12px; }
.blog-featured-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:11.5px; color:var(--ink-45); }
.success-next-steps{ margin-top:24px; }
.item-qty{ min-width:30px; text-align:center; font-size:13.5px; font-weight:700; }
.err-code-muted{ color:var(--stone-300); }
.helpful-count,.not-helpful-count{ font-weight:800; }
.pd-thumb-video{ border:2px solid transparent; }
.pd-thumb-video.is-active{ border-color:var(--glacier); }
@media (min-width:640px){
  .admin-stats-grid{ gap:14px; margin-bottom:24px; }
  .image-preview img{ width:84px; height:60px; }
}
.eyebrow-center{ justify-content:center; }

/* ---------- Admin form helpers ---------- */
.admin-page-desc{ margin-top:0; }
.admin-card-spaced{ margin-bottom:20px; }
.admin-card-head-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.admin-card-title{ margin:0; font-size:16px; }
.admin-card-body{ padding:0 16px 18px; }
.admin-error-box{ background:var(--clay-tint); border:1px solid rgba(168,64,47,.3); color:var(--clay); padding:14px; border-radius:var(--radius-m); margin-bottom:20px; font-size:13px; line-height:1.8; }
.form-help{ color:var(--ink-45); font-size:11px; display:block; margin-top:4px; }
.form-field-spaced{ margin-bottom:15px; }
.admin-form-footer{ margin-top:20px; display:flex; justify-content:flex-start; gap:10px; flex-wrap:wrap; }
@media (min-width:640px){
  .admin-card-body{ padding:0 20px 20px; }
}
.settings-wrap{ max-width:860px; }
.settings-checkbox{ margin:14px 0; }
.settings-hint-spaced{ margin-bottom:18px; }
:root{ --surface: var(--paper-2); --border: var(--stone-200); }
.about-story-intro{ max-width:820px; margin:0 auto; text-align:center; }
.about-intro-text{ font-size:16px; line-height:2; color:var(--ink-70); margin:0; }
.why-grid-3{ grid-template-columns:1fr; }
@media (min-width:480px){ .why-grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:800px){ .why-grid-3{ grid-template-columns:repeat(3,1fr); } }
.ltr-align-end{ text-align:right; }
.receipt-section-spaced{ margin-top:24px; }
.receipt-items{ border-bottom:none; padding-bottom:0; margin-bottom:0; }
.wishlist-title{ margin-bottom:6px; }
.help-services{ padding-top:40px; }
.pd-review-actions{ margin-top:20px; border:none; padding:0; }
.admin-stat-card{ background:var(--paper-2); border:1px solid var(--stone-200); padding:14px; border-radius:var(--radius-m); }
.admin-stat-label{ color:var(--ink-45); font-size:12px; }
.admin-stat-value{ display:block; font-size:22px; margin-top:6px; }

/* ---------- Reviews include ---------- */
.reviews-section{ margin-top:44px; }
.review-count-pill{ display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 8px; border-radius:999px; background:var(--stone-100); color:var(--ink-70); font-size:12px; vertical-align:middle; }
.reviews-summary{ display:grid; grid-template-columns:1fr; gap:20px; padding:18px; background:var(--paper-2); border:1px solid var(--stone-200); border-radius:var(--radius-l); margin-bottom:20px; }
.review-summary-score{ text-align:center; }
.review-score-value{ font-size:42px; font-weight:800; line-height:1; color:var(--gold-text); }
.review-score-stars{ color:var(--gold); font-size:18px; letter-spacing:2px; margin:8px 0 4px; }
.review-summary-score small{ color:var(--ink-45); font-size:12px; }
.review-distribution{ min-width:0; }
.review-dist-row{ display:flex; align-items:center; gap:10px; font-size:12px; margin-bottom:8px; }
.review-dist-label{ width:58px; color:var(--ink-70); flex-shrink:0; }
.review-dist-track{ flex:1; height:6px; background:var(--stone-100); border-radius:999px; overflow:hidden; }
.review-dist-fill{ height:100%; background:var(--gold); border-radius:999px; }
.review-dist-count{ width:36px; color:var(--ink-45); text-align:left; flex-shrink:0; }
.review-status-banner{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:14px; border-radius:var(--radius-m); background:var(--glacier-tint); color:var(--glacier); font-size:13px; margin-bottom:20px; }
.review-status-banner a{ text-decoration:underline; font-weight:700; }
.review-add-btn{ margin-bottom:20px; }
.review-add-btn,.review-status-banner .btn{ width:100%; }
.reviews-section .review-card{ padding:16px 0; }
.review-rating{ color:var(--gold-text); font-size:14px; }
.review-pro,.review-con{ font-size:12.5px; margin-top:8px; }
.review-pro{ color:var(--moss); }
.review-con{ color:var(--clay); }
.review-owner-actions{ display:flex; gap:14px; margin-top:12px; font-size:12.5px; font-weight:700; }
.review-owner-actions a{ color:var(--glacier); }
.review-owner-actions a.danger{ color:var(--clay); }
.review-helpful{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:14px; padding-top:14px; border-top:1px solid var(--stone-200); }
.review-helpful small{ color:var(--ink-45); margin-left:auto; }
@media (min-width:560px){
  .reviews-summary{ grid-template-columns:.34fr 1fr; align-items:center; gap:28px; padding:24px; }
  .review-summary-score{ border-left:1px solid var(--stone-200); }
  .review-status-banner{ flex-direction:row; align-items:center; justify-content:space-between; }
  .review-add-btn,.review-status-banner .btn{ width:auto; }
}
.admin-bulk-bar{ margin-bottom:16px; padding:14px 20px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.admin-bulk-title{ font-size:13px; }
.admin-bulk-danger{ color:var(--clay) !important; }
.admin-bulk-count{ font-size:12px; color:var(--ink-45); margin-right:auto; }
.review-comment-cell{ max-width:280px; }
.review-comment-snippet{ max-height:38px; overflow:hidden; }
.order-number-cell{ font-weight:700; }
.currency-note{ color:var(--ink-45); font-size:11.5px; }
.pagination-flush{ margin-top:0; }
.receipt-row-spaced{ margin-top:8px; }
.form-field-spaced{ margin-top:12px; }
.ltr-field{ direction:ltr; text-align:left; }
.modal-body-spaced{ padding-top:32px; }
.modal-footer-center{ justify-content:center; }
.btn-clay{ background:var(--clay) !important; border-color:var(--clay) !important; }
