  :root{
    --bg:#efe8db;
    --surface:#f7f3ea;
    --surface-2:#e4dbc8;
    --text:#241f1a;
    --text-muted:#6b6154;
    --accent:#8a6534;
    --accent-strong:#6e4f27;
    --accent-2:#7a3b2e;
    --border:#d9cfba;
    --focus:#8a6534;
    --shadow:0 20px 50px -25px rgba(36,31,26,.45);
    --overlay:rgba(28,24,21,.42);
    color-scheme:light;
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --bg:#1c1815;
      --surface:#242019;
      --surface-2:#2c2620;
      --text:#efe6d8;
      --text-muted:#b3a794;
      --accent:#c9a876;
      --accent-strong:#dabb8c;
      --accent-2:#c17762;
      --border:#3a332a;
      --shadow:0 20px 50px -25px rgba(0,0,0,.6);
      --overlay:rgba(10,8,6,.6);
      color-scheme:dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#1c1815;
    --surface:#242019;
    --surface-2:#2c2620;
    --text:#efe6d8;
    --text-muted:#b3a794;
    --accent:#c9a876;
    --accent-strong:#dabb8c;
    --accent-2:#c17762;
    --border:#3a332a;
    --shadow:0 20px 50px -25px rgba(0,0,0,.6);
    --overlay:rgba(10,8,6,.6);
    color-scheme:dark;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body::before{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:999;
    opacity:.035;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%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");
  }
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body::before{opacity:.06;mix-blend-mode:overlay;}}
  :root[data-theme="dark"] body::before{opacity:.06;mix-blend-mode:overlay;}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces','Iowan Old Style',Georgia,serif;
    font-weight:500;
    letter-spacing:-0.01em;
    text-wrap:balance;
    margin:0;
  }
  a{color:inherit;}
  button{font-family:inherit;}
  img{max-width:100%;display:block;}
  .eyebrow{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--text-muted);
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  @media (max-width:640px){.wrap{padding:0 24px;}}

  /* ---------- nav ---------- */
  .nav{
    position:sticky;top:0;z-index:40;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    border-top:2px solid var(--accent);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:10px;padding-bottom:10px;gap:20px;
    min-height:92px;
  }
  @media (max-width:640px){.nav-inner{min-height:70px;}}
  .logo{
    display:flex;align-items:center;
    text-decoration:none;
    white-space:nowrap;
    position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
  }
  .logo-img{
    height:76px;width:auto;display:block;
  }
  @media (max-width:640px){.logo-img{height:58px;}}
  /* the logo art is dark brown line-work on a transparent ground — lighten
     it in dark mode so it stays visible against the dark background */
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-img{filter:brightness(0) invert(1) opacity(.92);}}
  :root[data-theme="dark"] .logo-img{filter:brightness(0) invert(1) opacity(.92);}
  .nav-right{display:flex;align-items:center;gap:14px;margin-left:auto;}
  .lang-switch{display:flex;gap:2px;border:1px solid var(--border);border-radius:999px;padding:2px;flex-shrink:0;}
  .lang-btn{
    background:none;border:none;font-size:.68rem;font-weight:700;letter-spacing:.03em;
    padding:6px 10px;border-radius:999px;cursor:pointer;color:var(--text-muted);
    font-family:'Manrope',sans-serif;
  }
  .lang-btn:hover{color:var(--text);}
  .lang-btn[aria-pressed="true"]{background:var(--text);color:var(--bg);}
  .icon-btn{
    background:none;border:1px solid var(--border);border-radius:999px;
    width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;color:var(--text);position:relative;flex-shrink:0;
  }
  .icon-btn:hover,.icon-btn:focus-visible{border-color:var(--accent);}
  .cart-count{
    position:absolute;top:-6px;right:-6px;background:var(--accent-2);color:#fff;
    font-size:.65rem;font-weight:700;border-radius:999px;min-width:18px;height:18px;
    display:flex;align-items:center;justify-content:center;padding:0 4px;
  }
  .menu-toggle{display:inline-flex;}
  .hamburger{position:relative;width:18px;height:13px;display:inline-block;flex-shrink:0;}
  .hamburger span{
    position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px;
    transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .18s ease,top .28s cubic-bezier(.4,0,.2,1);
  }
  .hamburger span:nth-child(1){top:0;}
  .hamburger span:nth-child(2){top:6px;}
  .hamburger span:nth-child(3){top:12px;}
  .menu-toggle.open .hamburger span:nth-child(1){top:6px;transform:rotate(45deg);}
  .menu-toggle.open .hamburger span:nth-child(2){opacity:0;}
  .menu-toggle.open .hamburger span:nth-child(3){top:6px;transform:rotate(-45deg);}

  /* dropdown menu — hidden until .menu-toggle is clicked, at every width */
  .nav-links{
    display:flex;flex-direction:column;gap:0;list-style:none;margin:0;
    position:absolute;top:100%;left:0;right:0;
    background:color-mix(in srgb, var(--bg) 94%, transparent);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    border-radius:0 0 18px 18px;
    box-shadow:0 28px 48px -26px rgba(15,23,42,.45);
    padding:8px 26px 16px;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-10px) scaleY(.98);transform-origin:top center;
    transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1),visibility 0s linear .32s;
  }
  .nav-links.open{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scaleY(1);
    transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1),visibility 0s;
  }
  .nav-line{display:contents;}
  /* direct-child scoped so it never styles the EN/KA buttons nested one
     level deeper inside .lang-switch-mobile on the last line */
  .nav-links > li > button{
    background:none;border:none;color:var(--text);cursor:pointer;
    padding:15px 2px;border-bottom:1px solid var(--border);width:100%;text-align:left;
    display:flex;align-items:center;justify-content:space-between;
    font-size:.92rem;letter-spacing:.03em;
    opacity:0;transform:translateY(-6px);
    transition:opacity .28s ease,transform .28s ease,color .15s ease;
  }
  .nav-links.open > li > button{opacity:1;transform:translateY(0);}
  .nav-line:nth-of-type(1) > button{transition-delay:.03s;}
  .nav-line:nth-of-type(2) > button{transition-delay:.08s;}
  .nav-line:nth-of-type(3) > button{transition-delay:.13s;}
  .nav-links > li > button:hover,.nav-links > li > button:focus-visible{color:var(--accent-strong);}
  .nav-links > li > button::after{
    content:'';width:6px;height:6px;flex-shrink:0;
    border-right:1.4px solid var(--text-muted);border-top:1.4px solid var(--text-muted);
    transform:rotate(45deg);opacity:.5;transition:transform .18s ease,opacity .18s ease;
  }
  .nav-links > li > button:hover::after,.nav-links > li > button:active::after{
    transform:rotate(45deg) translate(-2px,-2px);opacity:.9;
  }
  #navContact{border-bottom:none;}
  .lang-switch-mobile{display:none;}

  /* ---------- header mega-menu: Women / Men -> Group -> Subcategory ---------- */
  .nav-mega-toggle[aria-expanded="true"]::after{transform:rotate(135deg);opacity:.9;}
  .nav-mega-panel{
    overflow:hidden auto;max-height:52vh;
    background:var(--surface-2);border-bottom:1px solid var(--border);
    margin:0 -2px 4px;padding:4px 2px 10px;
  }
  .mega-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px;}
  @media (min-width:640px){.mega-groups{grid-template-columns:repeat(3,1fr);}}
  .mega-group{padding:10px 0;}
  .mega-group-title{
    font-family:'Fraunces',serif;font-size:.8rem;font-weight:600;
    color:var(--text-muted);margin:0 0 6px;letter-spacing:.02em;
  }
  .mega-leaf{
    display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;
    color:var(--text);font-size:.82rem;padding:5px 0;opacity:.88;
  }
  .mega-leaf:hover,.mega-leaf:focus-visible{color:var(--accent-strong);opacity:1;}

  /* the tag quick-links reuse the nav button look but sit two-per-line */
  .nav-tags-line{display:flex !important;gap:10px;}
  .nav-tags-line > button{width:auto !important;flex:1;font-size:.78rem !important;}

  /* very narrow phones: the centered logo + lang switch + 3 icon buttons no
     longer all fit on one row — drop the language pill into the dropdown
     menu and let the logo sit left instead of absolutely centered, so
     nothing overlaps or gets clipped */
  @media (max-width:480px){
    .logo{position:static;left:auto;top:auto;transform:none;}
    .logo-img{height:42px;}
    .nav-right{gap:8px;}
    .icon-btn{width:34px;height:34px;}
    .lang-switch-header{display:none;}
    .lang-switch-mobile{display:flex;margin:10px 0 2px;}
  }

  /* ---------- marquee ---------- */
  .marquee-wrap{
    border-bottom:1px solid var(--border);overflow:hidden;background:var(--surface-2);
  }
  .marquee{display:flex;width:max-content;animation:marquee 32s linear infinite;}
  .marquee span{
    display:flex;align-items:center;padding:12px 0;white-space:nowrap;
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);
  }
  .marquee span i{font-style:normal;color:var(--accent-strong);padding:0 30px;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- hero ---------- */
  .hero{padding:64px 0 56px;}
  .hero .eyebrow{animation:reveal .5s ease both;}
  .hero-lede{animation:reveal .5s ease both .12s;}
  .hero-grid{
    display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  }
  @media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:34px;}}
  @media (max-width:640px){.hero{padding:36px 0 40px;}}
  .hero h1{font-size:clamp(2.3rem,4.8vw,3.7rem);line-height:1.04;margin:14px 0 20px;letter-spacing:-.015em;animation:reveal .5s ease both .06s;}
  .hero h1 em{font-style:italic;color:var(--accent-strong);}
  .hero p{color:var(--text-muted);max-width:46ch;font-size:1.02rem;}
  .hero-cta{
    margin-top:28px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;
    animation:reveal .5s ease both .18s;
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:var(--text);color:var(--bg);border:1px solid var(--text);
    padding:13px 26px;font-size:.85rem;font-weight:700;letter-spacing:.04em;
    text-transform:uppercase;cursor:pointer;border-radius:2px;
    transition:transform .15s ease,opacity .15s ease;
  }
  .btn:hover{opacity:.85;}
  .btn:active{transform:translateY(1px);}
  .btn-outline{background:transparent;color:var(--text);border:1px solid var(--border);}
  .btn-outline:hover{border-color:var(--accent);opacity:1;}
  .btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;}
  .btn:disabled{opacity:.45;cursor:not-allowed;}
  .btn-block{width:100%;}
  .link-quiet{
    background:none;border:none;color:var(--text-muted);font-size:.85rem;
    text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0;
  }

  .swatch{
    border-radius:2px;position:relative;overflow:hidden;
    background-color:var(--swatch-color,#8a6534);
    background-image:
      repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 2px, transparent 2px 7px),
      repeating-linear-gradient(45deg, rgba(0,0,0,.07) 0 1px, transparent 1px 6px),
      radial-gradient(120% 140% at 15% 10%, rgba(255,255,255,.22), transparent 55%);
  }
  .swatch img{width:100%;height:100%;object-fit:cover;display:block;}
  .hero-swatch{
    aspect-ratio:4/5;display:flex;align-items:flex-end;padding:20px;
    box-shadow:var(--shadow);
    animation:reveal .8s ease both .1s;
  }
  @media (max-width:860px){.hero-swatch{aspect-ratio:16/10;}}
  @media (max-width:480px){.hero-swatch{aspect-ratio:4/3;}}
  .hero-swatch .tag{
    background:color-mix(in srgb, var(--bg) 78%, transparent);
    backdrop-filter:blur(6px);
    padding:10px 14px;font-size:.75rem;color:var(--text);
    border:1px solid color-mix(in srgb, var(--border) 60%, transparent);
    position:relative;z-index:1;
  }
  .hero-swatch .tag b{font-family:'Fraunces',serif;font-weight:600;display:block;font-size:.9rem;margin-bottom:2px;}
  .hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity .6s ease;}
  .hero-media.hero-media-active{opacity:1;}
  @keyframes reveal{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

  /* ---------- filters ---------- */
  .filters{
    display:flex;gap:10px;flex-wrap:wrap;padding:8px 0 30px;
    border-bottom:1px solid var(--border);margin-bottom:36px;
  }
  .chip{
    background:none;border:1px solid var(--border);color:var(--text-muted);
    padding:8px 16px;border-radius:999px;font-size:.8rem;cursor:pointer;
    letter-spacing:.02em;
  }
  .chip[aria-pressed="true"]{background:var(--text);border-color:var(--text);color:var(--bg);}
  .chip:hover{border-color:var(--accent);}

  /* ---------- grid ---------- */
  .grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:34px 24px;padding-bottom:80px;
  }
  .card{
    border:none;background:none;padding:0;text-align:left;cursor:pointer;color:inherit;
    display:flex;flex-direction:column;
  }
  .card-swatch{aspect-ratio:4/5;margin-bottom:14px;transition:transform .35s ease,box-shadow .35s ease;}
  .card-swatch img,.card-swatch.swatch{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
  .card:hover .card-swatch,.card:focus-visible .card-swatch{transform:translateY(-4px);box-shadow:var(--shadow);}
  .card:hover .card-swatch img,.card:focus-visible .card-swatch img{transform:scale(1.07);}
  .card:hover .card-swatch:not(:has(img)),.card:focus-visible .card-swatch:not(:has(img)){transform:translateY(-4px) scale(1.03);}
  .card:focus-visible{outline:2px solid var(--focus);outline-offset:4px;}
  .card-brand{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);}
  .card-name{font-family:'Fraunces',serif;font-size:1.08rem;margin:5px 0 6px;font-weight:500;}
  .card-price{font-size:.92rem;font-variant-numeric:tabular-nums;color:var(--text);}
  /* sale pricing: struck-through original + the real (lower) price, reused
     wherever a price is shown — card, product panel, cart, checkout */
  .price-was{color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1px;margin-right:7px;}
  .price-now{color:var(--accent-2);font-weight:700;}
  .pd-price-sale .price-was{font-size:.88em;}
  .card-add{
    margin-top:10px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--accent-strong);opacity:0;transition:opacity .2s ease;
  }
  .card:hover .card-add,.card:focus-visible .card-add{opacity:1;}

  /* ---------- category rail (quick jump to each catalogue section) — plain
     text links, no imagery ---------- */
  .cat-rail-wrap{padding:4px 0 26px;border-bottom:1px solid var(--border);}
  .cat-rail{display:flex;flex-wrap:wrap;row-gap:8px;}
  .cat-chip{
    background:none;border:none;border-right:1px solid var(--border);cursor:pointer;color:var(--text);
    display:flex;align-items:baseline;gap:7px;
    padding:4px 22px;font-family:'Fraunces',serif;
  }
  .cat-chip:first-child{padding-left:0;}
  .cat-chip:last-child{border-right:none;padding-right:0;}
  .cat-chip-label{font-size:1.02rem;font-weight:500;transition:color .15s ease;}
  .cat-chip:hover .cat-chip-label,.cat-chip:focus-visible .cat-chip-label{color:var(--accent-strong);}
  .cat-chip-count{font-family:'Manrope',sans-serif;font-size:.68rem;color:var(--text-muted);letter-spacing:.02em;}

  .active-filter-bar{
    display:flex;align-items:center;gap:14px;margin-bottom:14px;
    font-family:'Manrope',sans-serif;font-size:.82rem;color:var(--text-muted);
  }
  .active-filter-bar span{color:var(--text);font-weight:600;}
  .active-filter-bar button{
    background:none;border:1px solid var(--border);border-radius:999px;cursor:pointer;
    padding:5px 12px;font-size:.74rem;color:var(--text-muted);
  }
  .active-filter-bar button:hover{border-color:var(--accent);color:var(--text);}


  /* ---------- catalogue: one editorial section per category, each followed
     by that category's own product grid (the homepage "lookbook") ---------- */
  .cat-section{padding:64px 0;border-top:1px solid var(--border);}
  .cat-section:nth-of-type(even){background:var(--surface);}
  .cat-section-inner{
    display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
    margin-bottom:48px;
  }
  .cat-media{order:1;}
  .cat-content{order:2;}
  .cat-reverse .cat-media{order:2;}
  .cat-reverse .cat-content{order:1;}
  .cat-media-swatch{aspect-ratio:4/5;box-shadow:var(--shadow);animation:reveal .7s ease both;}
  .cat-content{animation:reveal .7s ease both .08s;}
  .cat-content .eyebrow{margin-bottom:14px;}
  .cat-title{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:16px;letter-spacing:-.01em;}
  .cat-desc{color:var(--text-muted);max-width:42ch;font-size:1rem;line-height:1.65;}
  .cat-grid.grid{padding-bottom:0;}
  @media (max-width:860px){
    .cat-section-inner{grid-template-columns:1fr;gap:26px;margin-bottom:34px;}
    .cat-media,.cat-reverse .cat-media{order:0;}
    .cat-content,.cat-reverse .cat-content{order:0;}
    .cat-media-swatch{aspect-ratio:16/10;}
    .cat-section{padding:44px 0;}
  }

  /* ---------- overlays ---------- */
  .scrim{
    position:fixed;inset:0;background:var(--overlay);z-index:50;
    opacity:0;pointer-events:none;transition:opacity .25s ease;
  }
  .scrim.show{opacity:1;pointer-events:auto;}
  .panel{
    position:fixed;top:0;right:0;bottom:0;
    width:min(460px,100%);background:var(--surface);z-index:60;
    box-shadow:var(--shadow);
    transform:translateX(100%);transition:transform .3s ease;
    display:flex;flex-direction:column;
  }
  .panel.show{transform:translateX(0);}
  .panel-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0;
  }
  .panel-head h2{font-size:1rem;letter-spacing:.03em;}
  .panel-body{padding:24px;overflow-y:auto;flex:1;}
  .panel-close{
    background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--text);
    line-height:1;padding:4px;
  }

  /* ---------- currency gate (country picker) ---------- */
  .gate-scrim{
    position:fixed;inset:0;background:var(--overlay);z-index:200;
    display:flex;align-items:center;justify-content:center;padding:20px;
  }
  .gate-box{
    max-width:380px;width:100%;background:var(--surface);border:1px solid var(--border);
    border-radius:2px;padding:36px 32px;text-align:center;box-shadow:var(--shadow);
  }
  .gate-box h2{margin-bottom:8px;}
  .gate-box p{color:var(--text-muted);font-size:.86rem;margin-bottom:20px;}
  .gate-box select{margin-bottom:18px;}

  /* product detail */
  .pd-swatch{aspect-ratio:4/5;margin-bottom:12px;}
  .pd-thumbs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
  .pd-thumb{
    width:56px;height:70px;padding:0;border:1.5px solid transparent;border-radius:2px;
    overflow:hidden;cursor:pointer;background:var(--surface-2);flex-shrink:0;
  }
  .pd-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .pd-thumb[aria-pressed="true"]{border-color:var(--accent);}
  .pd-brand{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);}
  .pd-name{font-family:'Fraunces',serif;font-size:1.5rem;margin:8px 0 6px;}
  .pd-price{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums;margin-bottom:16px;}
  .pd-desc{color:var(--text-muted);font-size:.92rem;margin-bottom:20px;}
  .field-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:8px;}
  .size-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
  .size-btn{
    border:1px solid var(--border);background:none;color:var(--text);
    width:44px;height:40px;border-radius:2px;cursor:pointer;font-size:.82rem;
  }
  .size-btn[aria-pressed="true"]{border-color:var(--text);background:var(--text);color:var(--bg);}
  .size-btn:hover{border-color:var(--accent);}
  .qty-row{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
  .qty-step{
    display:flex;align-items:center;border:1px solid var(--border);border-radius:2px;
  }
  .qty-step button{background:none;border:none;width:36px;height:38px;cursor:pointer;font-size:1rem;color:var(--text);}
  .qty-step span{width:28px;text-align:center;font-variant-numeric:tabular-nums;}
  details.care{border-top:1px solid var(--border);padding-top:14px;margin-top:6px;}
  details.care summary{cursor:pointer;font-size:.82rem;font-weight:700;letter-spacing:.03em;}
  details.care p{color:var(--text-muted);font-size:.85rem;margin:10px 0 0;}

  /* cart */
  .cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);}
  .cart-item .swatch{width:76px;height:95px;flex-shrink:0;}
  .cart-item-info{flex:1;min-width:0;}
  .cart-item-name{font-family:'Fraunces',serif;font-size:.98rem;}
  .cart-item-meta{color:var(--text-muted);font-size:.8rem;margin:2px 0 10px;}
  .cart-item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .remove-btn{background:none;border:none;color:var(--text-muted);font-size:.78rem;text-decoration:underline;cursor:pointer;padding:0;}
  .cart-empty{color:var(--text-muted);padding:40px 0;text-align:center;font-size:.92rem;}
  .cart-footer{border-top:1px solid var(--border);padding:20px 24px;flex-shrink:0;}
  .subtotal-row{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:6px;}
  .subtotal-note{color:var(--text-muted);font-size:.78rem;margin-bottom:16px;}

  /* ---------- checkout ---------- */
  .checkout{padding:48px 0 100px;scroll-margin-top:90px;}
  .steps{display:flex;gap:8px;margin-bottom:40px;flex-wrap:wrap;}
  .step-pill{
    display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted);
    padding:7px 14px 7px 8px;border:1px solid var(--border);border-radius:999px;
  }
  .step-pill .num{
    width:20px;height:20px;border-radius:999px;background:var(--surface-2);
    display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;
  }
  .step-pill.active{color:var(--text);border-color:var(--text);}
  .step-pill.active .num{background:var(--text);color:var(--bg);}
  .step-pill.done .num{background:var(--accent);color:#fff;}
  .checkout-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:start;}
  @media (max-width:860px){.checkout-grid{grid-template-columns:1fr;}}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .form-row.single{grid-template-columns:1fr;}
  @media (max-width:520px){.form-row{grid-template-columns:1fr;}}
  label{display:block;}
  .field{margin-bottom:0;}
  .field span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:7px;}
  input{
    width:100%;padding:12px 13px;border:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-radius:2px;
    background:var(--surface-2);color:var(--text);font-size:.92rem;font-family:inherit;
  }
  input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent);}
  input::placeholder{color:var(--text-muted);opacity:.75;}
  .checkbox-row{display:flex;align-items:center;gap:10px;margin:18px 0 26px;font-size:.85rem;color:var(--text-muted);}
  .checkbox-row input{width:16px;height:16px;padding:0;}
  .err{color:var(--accent-2);font-size:.76rem;margin-top:5px;min-height:1em;}
  .summary-card{
    background:var(--surface);border:1px solid var(--border);padding:22px;border-radius:2px;
  }
  .summary-card h3{font-size:.95rem;margin-bottom:14px;}
  .summary-line{display:flex;justify-content:space-between;font-size:.85rem;padding:9px 0;border-bottom:1px solid var(--border);color:var(--text-muted);}
  .summary-line b{color:var(--text);font-weight:600;}
  .summary-total{display:flex;justify-content:space-between;padding-top:14px;font-size:1.02rem;font-family:'Fraunces',serif;}
  .review-item{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;padding:10px 0;border-bottom:1px solid var(--border);}
  .review-item .n{color:var(--text-muted);}
  .step-actions{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap;}

  .confirm{max-width:520px;margin:0 auto;text-align:center;padding:40px 0 20px;}
  .confirm .mark{
    width:56px;height:56px;border-radius:999px;border:1.5px solid var(--accent);
    display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:var(--accent);
  }
  .order-id{
    font-family:'Fraunces',serif;font-size:1.2rem;background:var(--surface);
    border:1px solid var(--border);padding:14px 20px;display:inline-block;margin:18px 0 26px;
    letter-spacing:.04em;
  }

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--border);padding:56px 0 34px;margin-top:30px;background:var(--surface-2);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;}
  @media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  .footer-grid h4{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;}
  .footer-grid p{color:var(--text-muted);font-size:.87rem;max-width:32ch;}
  .footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-grid a,.footer-grid button{
    background:none;border:none;padding:0;color:var(--text-muted);font-size:.87rem;
    text-align:left;cursor:pointer;text-decoration:none;
  }
  .footer-grid a:hover,.footer-grid button:hover{color:var(--accent-strong);}
  .newsletter{display:flex;gap:8px;margin-top:6px;}
  .newsletter input{flex:1;}
  .foot-bottom{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    margin-top:44px;padding-top:22px;border-top:1px solid var(--border);
    font-size:.76rem;color:var(--text-muted);
  }
  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

  /* ---------- admin ----------
     Deliberately plain and practical — a light, neutral, blue-accented
     operator UI, independent of the storefront's boutique styling and of
     the site-wide dark theme. Re-declaring the shared tokens on #adminRoot
     is enough: every existing rule below (and every .btn-*, .badge, etc.)
     already reads these variables, so nothing else needs to change. */
  #adminRoot{
    --bg:#eef0f3;
    --surface:#ffffff;
    --surface-2:#e4e7ec;
    --text:#1a1e27;
    --text-muted:#525a68;
    --accent:#2f6fed;
    --accent-strong:#1d4fc4;
    --accent-2:#d92d20;
    --ok:#1fa971;
    --warn:#dc9614;
    --purple:#7c5cff;
    --border:#c9cfd8;
    --shadow:0 8px 24px -14px rgba(15,23,42,.18);
    --overlay:rgba(15,23,42,.4);
    background:var(--bg);
    color:var(--text);
    min-height:100vh;
    color-scheme:light;
  }
  #adminRoot h1, #adminRoot h2, #adminRoot h3, #adminRoot .display{
    font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
    font-weight:700;
  }
  .admin-bar{
    background:var(--text);color:var(--bg);
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 28px;font-size:.82rem;flex-wrap:wrap;gap:10px;
  }
  .admin-bar a{color:var(--bg);text-decoration:underline;text-underline-offset:3px;}
  .admin-bar button{background:none;border:1px solid color-mix(in srgb, var(--bg) 40%, transparent);color:var(--bg);padding:6px 14px;border-radius:999px;font-size:.76rem;cursor:pointer;}
  .admin-wrap{max-width:1080px;margin:0 auto;padding:40px 28px 100px;}
  .admin-tabs{display:flex;gap:6px;margin-bottom:32px;border-bottom:1px solid var(--border);}
  .admin-tab{
    background:none;border:none;cursor:pointer;padding:10px 4px 14px;margin-right:22px;
    font-size:.86rem;color:var(--text-muted);border-bottom:2px solid transparent;
    font-family:'Manrope',sans-serif;
  }
  .admin-tab:hover{color:var(--text);}
  .admin-tab.active{color:var(--text);border-bottom-color:var(--accent-strong);font-weight:700;}
  .login-page{min-height:100vh;background:var(--bg);padding:20px;display:flex;align-items:center;justify-content:center;}
  .login-box{
    max-width:360px;width:100%;padding:36px 32px;
    background:var(--surface);border:1px solid var(--border);border-radius:2px;
    text-align:center;
  }
  .login-box h2{margin-bottom:6px;}
  .login-box p{color:var(--text-muted);font-size:.86rem;margin-bottom:24px;}
  .login-box input{margin-bottom:14px;}
  .admin-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:28px;}
  .table-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;}
  .admin-table{width:100%;border-collapse:collapse;font-size:.86rem;}
  .admin-table th{
    text-align:left;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--text-muted);font-weight:700;padding:12px 12px;border-bottom:1px solid var(--border);
    background:var(--surface-2);
  }
  .admin-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle;}
  .admin-table tr:last-child td{border-bottom:none;}
  .admin-thumb{width:48px;height:60px;border-radius:2px;overflow:hidden;flex-shrink:0;background:var(--surface-2);}
  .admin-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .admin-name-cell{display:flex;align-items:center;gap:12px;}
  .admin-name-cell b{font-family:'Manrope',sans-serif;font-weight:700;}
  .badge{
    font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);
    background:var(--surface-2);
    display:inline-block;
  }
  .badge.live{color:var(--accent-strong);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));}
  .row-actions{display:flex;gap:14px;}
  .row-actions button{background:none;border:none;color:var(--text-muted);font-size:.8rem;text-decoration:underline;cursor:pointer;padding:0;}
  .row-actions button:hover{color:var(--text);}
  .row-actions .danger:hover{color:var(--accent-2);}
  .admin-empty{padding:60px 0;text-align:center;color:var(--text-muted);}

  .admin-form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start;}
  @media (max-width:760px){.admin-form-grid{grid-template-columns:1fr;}}

  .stage-section{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:24px;margin-bottom:32px;}
  .stage-stepper{display:flex;align-items:flex-start;margin-bottom:22px;overflow-x:auto;padding-bottom:4px;}
  .stage-dot{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;min-width:76px;}
  .stage-dot-mark{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);background:var(--surface);display:block;}
  .stage-dot-label{font-size:.72rem;color:var(--text-muted);text-align:center;letter-spacing:.02em;}
  .stage-dot.done .stage-dot-mark{background:var(--accent-strong);border-color:var(--accent-strong);}
  .stage-dot.done .stage-dot-label{color:var(--text);}
  .stage-dot.current .stage-dot-mark{border-color:var(--accent-strong);background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-strong) 25%, transparent);}
  .stage-dot.current .stage-dot-label{color:var(--text);font-weight:700;}
  .stage-line{flex:1 1 auto;height:2px;background:var(--border);margin:6px 2px 0;min-width:16px;}
  .stage-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

  .filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
  .filter-pill{
    background:var(--surface-2);border:1px solid var(--border);border-radius:999px;
    padding:7px 16px;font-size:.82rem;color:var(--text-muted);cursor:pointer;
    font-family:'Manrope',sans-serif;
  }
  .filter-pill:hover{color:var(--text);}
  .filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}
  .upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .upload-slot{
    aspect-ratio:4/5;border:1.5px dashed var(--border);border-radius:2px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    color:var(--text-muted);font-size:1.4rem;cursor:pointer;position:relative;overflow:hidden;
  }
  .upload-slot.empty:hover{border-color:var(--accent);}
  .upload-slot.filled{border-style:solid;}
  .upload-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .upload-slot input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .slot-main-tag{
    position:absolute;left:5px;bottom:5px;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;
    background:var(--bg);color:var(--text);padding:2px 6px;border-radius:999px;border:1px solid var(--border);
  }
  .slot-remove{
    position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:999px;border:none;
    background:var(--bg);color:var(--text);font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  }
  .upload-hint{font-size:.72rem;color:var(--text-muted);margin-top:10px;display:block;}
  .chip-toggle-row{display:flex;gap:8px;flex-wrap:wrap;}
  .chip-toggle{
    border:1px solid var(--border);background:none;color:var(--text);
    padding:7px 14px;border-radius:999px;font-size:.78rem;cursor:pointer;
  }
  .chip-toggle[aria-pressed="true"]{background:var(--text);border-color:var(--text);color:var(--bg);}
  .id-tag{
    font-family:'Fraunces',serif;font-size:.85rem;background:var(--surface-2);
    border:1px solid var(--border);padding:8px 12px;display:inline-block;color:var(--text-muted);
  }
  select,textarea{
    width:100%;padding:12px 13px;border:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-radius:2px;
    background:var(--surface-2);color:var(--text);font-size:.92rem;font-family:inherit;
  }
  textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent);}
  .switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .toggle{
    width:40px;height:24px;border-radius:999px;border:1px solid var(--border);
    background:var(--surface-2);position:relative;cursor:pointer;flex-shrink:0;
  }
  .toggle[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);}
  .toggle::after{
    content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;
    background:var(--surface);transition:transform .15s ease;
  }
  .toggle[aria-pressed="true"]::after{transform:translateX(16px);background:#fff;}
  .save-bar{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;align-items:center;}
  .form-note{color:var(--text-muted);font-size:.78rem;}

  /* ---------- admin: sidebar shell ---------- */
  .adm-shell{display:grid;grid-template-columns:260px 1fr;align-items:start;}
  .adm-sidebar{
    position:sticky;top:0;height:100vh;overflow-y:auto;
    background:var(--surface);border-right:1px solid var(--border);
    display:flex;flex-direction:column;padding:20px 14px;gap:20px;z-index:20;
  }
  .adm-brand{display:flex;align-items:center;gap:10px;padding:2px 8px;}
  .adm-brand-mark{
    width:32px;height:32px;border-radius:9px;background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:1rem;flex-shrink:0;
  }
  .adm-brand-name{font-weight:800;font-size:1rem;letter-spacing:-.01em;}
  .adm-brand-name span{font-weight:500;color:var(--text-muted);}
  .adm-sidebar-close{margin-left:auto;display:none;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;}

  .adm-nav{display:flex;flex-direction:column;gap:2px;flex:1;}
  .adm-nav-link{
    display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;
    color:var(--text-muted);font-size:.86rem;font-weight:600;cursor:pointer;border:none;background:none;width:100%;text-align:left;
    font-family:'Manrope',sans-serif;
  }
  .adm-nav-link svg{flex-shrink:0;opacity:.8;}
  .adm-nav-link:hover{background:var(--surface-2);color:var(--text);}
  .adm-nav-link.active{background:color-mix(in srgb, var(--accent) 11%, var(--surface));color:var(--accent-strong);}
  .adm-nav-link.active svg{opacity:1;}
  .adm-nav-caret{margin-left:auto;transition:transform .18s ease;opacity:.6;flex-shrink:0;}
  .adm-nav-link[aria-expanded="true"] .adm-nav-caret{transform:rotate(90deg);}
  .adm-nav-sub{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 21px;padding-left:23px;border-left:1px solid var(--border);}
  .adm-nav-sub[hidden]{display:none;}
  .adm-nav-sub-link{
    padding:8px 10px;border-radius:8px;font-size:.81rem;color:var(--text-muted);cursor:pointer;
    border:none;background:none;text-align:left;font-family:'Manrope',sans-serif;
  }
  .adm-nav-sub-link:hover{background:var(--surface-2);color:var(--text);}
  .adm-nav-sub-link.active{color:var(--accent-strong);font-weight:700;}

  .adm-promo{background:linear-gradient(160deg, var(--text) 0%, #10141d 100%);color:#fff;border-radius:14px;padding:17px 15px;}
  .adm-promo-crown{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;margin-bottom:9px;}
  .adm-promo b{display:block;font-family:'Fraunces',serif;font-size:1rem;margin-bottom:2px;}
  .adm-promo span{font-size:.77rem;color:rgba(255,255,255,.62);}

  .adm-main{min-width:0;}
  .adm-topbar{
    position:sticky;top:0;z-index:15;background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:14px;padding:13px 24px;
  }
  .adm-menu-btn{
    display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);
    align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;
  }
  .adm-search{
    flex:1;max-width:400px;display:flex;align-items:center;gap:9px;
    background:var(--surface);border:1px solid var(--border);border-radius:999px;
    padding:9px 16px;color:var(--text-muted);
  }
  .adm-search svg{flex-shrink:0;}
  .adm-search input{border:none;background:none;outline:none;font-size:.83rem;color:var(--text);width:100%;font-family:inherit;}
  .adm-topbar-right{display:flex;align-items:center;gap:12px;margin-left:auto;}
  .adm-bell{
    width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:var(--surface);
    display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;color:var(--text-muted);flex-shrink:0;
  }
  .adm-profile{display:flex;align-items:center;gap:9px;padding:4px 6px 4px 4px;border-radius:999px;}
  .adm-avatar{
    width:34px;height:34px;border-radius:999px;background:var(--accent);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.84rem;flex-shrink:0;
  }
  .adm-profile-info{line-height:1.25;display:none;}
  .adm-profile-info b{display:block;font-size:.81rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .adm-profile-info span{font-size:.71rem;color:var(--text-muted);}
  @media (min-width:640px){.adm-profile-info{display:block;}}
  .adm-logout{
    background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;
    padding:7px 14px;font-size:.76rem;cursor:pointer;font-family:'Manrope',sans-serif;flex-shrink:0;
  }
  .adm-logout:hover{color:var(--text);border-color:var(--text-muted);}

  .adm-content{max-width:1180px;margin:0 auto;padding:26px 24px 100px;}
  .adm-breadcrumb{font-size:.78rem;color:var(--text-muted);margin-bottom:14px;}
  .adm-breadcrumb b{color:var(--text);font-weight:600;}
  .adm-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:26px;}
  .adm-page-head h1{font-size:1.44rem;letter-spacing:-.01em;margin-bottom:4px;}
  .adm-page-head p{color:var(--text-muted);font-size:.85rem;}

  /* ---------- admin: home dashboard ---------- */
  .adm-home-head-right{display:flex;align-items:center;gap:12px;}
  .adm-home-date{font-size:.82rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);padding:9px 14px;border-radius:10px;white-space:nowrap;}
  .adm-btn svg{vertical-align:-2px;margin-right:5px;}

  .adm-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;}
  @media (max-width:1100px){.adm-stats-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:640px){.adm-stats-grid{grid-template-columns:repeat(2,1fr);}}
  .adm-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;}
  .adm-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .adm-stat-icon.blue{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent-strong);}
  .adm-stat-icon.purple{background:color-mix(in srgb, var(--purple) 14%, var(--surface));color:var(--purple);}
  .adm-stat-icon.green{background:color-mix(in srgb, var(--ok) 14%, var(--surface));color:var(--ok);}
  .adm-stat-icon.orange{background:color-mix(in srgb, var(--warn) 16%, var(--surface));color:var(--warn);}
  .adm-stat-icon.gray{background:var(--surface-2);color:var(--text-muted);}
  .adm-stat-value{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
  .adm-stat-label{font-size:.79rem;color:var(--text-muted);margin-top:2px;}
  .adm-stat-foot{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:.72rem;flex-wrap:wrap;}
  .adm-stat-trend{display:inline-flex;align-items:center;gap:3px;font-weight:700;padding:2px 6px;border-radius:999px;}
  .adm-stat-trend.up{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);}
  .adm-stat-trend.down{color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 12%, transparent);}
  .adm-stat-trend.flat{color:var(--text-muted);background:var(--surface-2);}
  .adm-stat-period{color:var(--text-muted);}

  .adm-home-grid{display:grid;grid-template-columns:1.9fr 1.15fr 1fr;gap:20px;margin-bottom:20px;align-items:start;}
  .adm-home-grid > *{min-width:0;}
  @media (max-width:1000px){.adm-home-grid{grid-template-columns:1fr;}}
  .adm-home-col3{display:flex;flex-direction:column;gap:20px;min-width:0;}

  .adm-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
  .adm-panel-head h3{font-size:.94rem;font-weight:700;}
  .adm-panel-link{background:none;border:none;color:var(--accent-strong);font-size:.78rem;font-weight:600;cursor:pointer;font-family:'Manrope',sans-serif;white-space:nowrap;padding:0;}
  .adm-panel-link:hover{text-decoration:underline;}

  .adm-chart-legend{display:flex;gap:14px;font-size:.74rem;color:var(--text-muted);flex-shrink:0;}
  .adm-chart-legend .dot{width:8px;height:8px;border-radius:999px;display:inline-block;margin-right:5px;}
  .adm-chart-legend .dot.accent{background:var(--accent);}
  .adm-chart-legend .dot.muted{background:var(--text-muted);}
  .adm-chart-svg{width:100%;height:auto;display:block;margin-top:10px;}

  .adm-donut-wrap{position:relative;display:flex;justify-content:center;margin:2px 0 18px;}
  .adm-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;}
  .adm-donut-center b{display:block;font-size:1.3rem;font-weight:800;}
  .adm-donut-center span{font-size:.68rem;color:var(--text-muted);}
  .adm-donut-legend{display:flex;flex-direction:column;gap:9px;}
  .adm-donut-legend-row{display:flex;align-items:center;gap:8px;font-size:.79rem;}
  .adm-donut-legend-row .dot{width:9px;height:9px;border-radius:999px;flex-shrink:0;}
  .adm-donut-legend-row span{flex:1;min-width:0;color:var(--text-muted);}
  .adm-donut-legend-row b{font-variant-numeric:tabular-nums;}

  .adm-quick-actions{display:flex;flex-direction:column;gap:5px;}
  .adm-quick-action-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px;border:none;background:none;cursor:pointer;width:100%;text-align:left;font-family:'Manrope',sans-serif;font-size:.82rem;color:var(--text);}
  .adm-quick-action-row:hover{background:var(--surface-2);}
  .adm-quick-action-row span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .adm-quick-action-row svg.adm-nav-caret{opacity:.45;flex-shrink:0;}
  .adm-quick-action-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .adm-quick-action-icon.blue{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent-strong);}
  .adm-quick-action-icon.green{background:color-mix(in srgb, var(--ok) 14%, var(--surface));color:var(--ok);}
  .adm-quick-action-icon.gray{background:var(--surface-2);color:var(--text-muted);}

  .adm-top-list{display:flex;flex-direction:column;gap:13px;}
  .adm-top-row{display:flex;align-items:center;gap:10px;}
  .adm-top-rank{width:16px;font-size:.78rem;font-weight:700;color:var(--text-muted);flex-shrink:0;}
  .adm-top-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
  .adm-top-info b{font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .adm-top-info span{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .adm-top-count{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;}
  .adm-stock-warn{font-size:.77rem;font-weight:700;color:var(--accent-2);white-space:nowrap;flex-shrink:0;}

  .adm-notif-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
  .adm-notif-row:last-child{border-bottom:none;padding-bottom:0;}
  .adm-notif-row:first-child{padding-top:0;}
  .adm-notif-dot{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
  .adm-notif-dot.green{background:color-mix(in srgb, var(--ok) 16%, var(--surface));color:var(--ok);}
  .adm-notif-dot.blue{background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent-strong);}
  .adm-notif-dot.orange{background:color-mix(in srgb, var(--warn) 18%, var(--surface));color:var(--warn);}
  .adm-notif-info{display:flex;flex-direction:column;gap:1px;min-width:0;}
  .adm-notif-info span{font-size:.81rem;}
  .adm-notif-info small{font-size:.7rem;color:var(--text-muted);}

  .adm-home-banner{
    margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:24px;
    background:linear-gradient(135deg, var(--text) 0%, #10141d 100%);color:#fff;border-radius:18px;
    padding:32px 36px;overflow:hidden;position:relative;
  }
  .adm-home-banner-text{max-width:420px;}
  .adm-home-banner-eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);display:block;margin-bottom:10px;}
  .adm-home-banner-text h2{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;margin-bottom:8px;color:#fff;}
  .adm-home-banner-text p{font-size:.85rem;color:rgba(255,255,255,.72);margin-bottom:18px;line-height:1.55;}
  .adm-home-banner .adm-btn-primary{background:#fff;border-color:#fff;color:var(--text);}
  .adm-home-banner-mark{font-family:'Fraunces',serif;font-size:5rem;font-weight:600;color:rgba(255,255,255,.08);letter-spacing:.02em;flex-shrink:0;white-space:nowrap;}
  @media (max-width:700px){.adm-home-banner{flex-direction:column;align-items:flex-start;}.adm-home-banner-mark{display:none;}}

  @media (max-width:900px){
    .adm-shell{display:block;}
    .adm-sidebar{
      position:fixed;top:0;left:0;bottom:0;width:264px;z-index:60;
      transform:translateX(-100%);transition:transform .26s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow);
    }
    .adm-sidebar.open{transform:translateX(0);}
    .adm-sidebar-close{display:block;}
    .adm-menu-btn{display:inline-flex;}
  }
  .adm-sidebar-scrim{
    position:fixed;inset:0;background:var(--overlay);z-index:55;opacity:0;pointer-events:none;transition:opacity .22s ease;
  }
  .adm-sidebar-scrim.show{opacity:1;pointer-events:auto;}

  /* ---------- admin: card-based product form ---------- */
  .adm-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:22px;align-items:start;}
  @media (max-width:860px){.adm-grid{grid-template-columns:1fr;}}

  .adm-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;margin-bottom:20px;}
  .adm-card-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
  .adm-card-icon{
    width:30px;height:30px;border-radius:9px;background:color-mix(in srgb, var(--accent) 12%, var(--surface));
    display:flex;align-items:center;justify-content:center;font-size:.94rem;flex-shrink:0;
  }
  .adm-card-head h3{font-size:.94rem;font-weight:700;flex:1;}
  .adm-card-count{font-size:.76rem;color:var(--text-muted);font-variant-numeric:tabular-nums;}

  .adm-dropzone{
    border:1.5px dashed var(--border);border-radius:14px;background:var(--surface-2);
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    padding:30px 18px;cursor:pointer;gap:4px;position:relative;
  }
  .adm-dropzone:hover,.adm-dropzone.drag{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-2));}
  .adm-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;}
  .adm-dropzone-icon{
    width:44px;height:44px;border-radius:999px;background:var(--surface);border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;margin-bottom:4px;color:var(--accent);
  }
  .adm-dropzone b{font-size:.87rem;}
  .adm-dropzone-sub{font-size:.77rem;color:var(--text-muted);}
  .adm-dropzone-btn{
    margin-top:8px;background:var(--accent);color:#fff;border:none;padding:9px 18px;
    border-radius:9px;font-size:.79rem;font-weight:700;pointer-events:none;
  }
  .adm-dropzone-hint{font-size:.72rem;color:var(--text-muted);margin-top:14px;}

  .adm-thumbrow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px;}
  .adm-thumb-slot{
    aspect-ratio:1;border:1.5px dashed var(--border);border-radius:11px;
    display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
    color:var(--text-muted);font-size:1.1rem;cursor:pointer;background:var(--surface);
  }
  .adm-thumb-slot.filled{border-style:solid;}
  .adm-thumb-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .adm-thumb-slot input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
  .adm-thumb-main-tag{
    position:absolute;left:3px;bottom:3px;font-size:.56rem;font-weight:700;letter-spacing:.02em;
    background:var(--accent);color:#fff;padding:2px 5px;border-radius:999px;line-height:1.3;
  }
  .adm-thumb-remove{
    position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:999px;border:none;
    background:rgba(20,20,20,.55);color:#fff;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  }

  .adm-info-box{
    display:flex;gap:10px;background:color-mix(in srgb, var(--accent) 8%, var(--surface));
    border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-radius:12px;
    padding:13px 15px;font-size:.79rem;color:var(--text-muted);line-height:1.55;margin-top:16px;
  }
  .adm-info-box[hidden]{display:none;
  }
  .adm-info-box svg{flex-shrink:0;color:var(--accent);margin-top:2px;}

  .adm-field{margin-bottom:16px;}
  .adm-field:last-child{margin-bottom:0;}
  .adm-field > span{font-size:.73rem;font-weight:700;letter-spacing:.02em;color:var(--text-muted);display:block;margin-bottom:7px;}
  .adm-field input[type="text"],.adm-field input[type="number"],.adm-field select,.adm-field textarea{
    width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;
    background:var(--surface);color:var(--text);font-size:.87rem;font-family:inherit;
  }
  .adm-field input:focus-visible,.adm-field select:focus-visible,.adm-field textarea:focus-visible{
    outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
  }
  .adm-field textarea{resize:vertical;min-height:84px;}
  .adm-field-count{display:block;text-align:right;font-size:.7rem;color:var(--text-muted);margin-top:5px;}
  .adm-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media (max-width:480px){.adm-row2{grid-template-columns:1fr;}}

  .adm-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
  .adm-swatch{
    width:30px;height:30px;border-radius:999px;border:2px solid transparent;cursor:pointer;position:relative;
    box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 14%, transparent);padding:0;
  }
  .adm-swatch[data-selected="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--accent);}
  .adm-swatch[data-selected="true"]::after{
    content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:.76rem;text-shadow:0 1px 2px rgba(0,0,0,.55);
  }
  .adm-swatch-custom-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;}
  .adm-swatch-custom-wrap input[type="color"]{
    width:30px;height:30px;border-radius:999px;border:1.5px dashed var(--border);padding:0;cursor:pointer;background:none;
  }
  .adm-swatch-custom-wrap span{font-size:.62rem;color:var(--text-muted);}

  .adm-sizes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
  .adm-size-pill{
    min-width:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);
    color:var(--text);font-size:.8rem;cursor:pointer;font-weight:600;text-align:center;font-family:'Manrope',sans-serif;
  }
  .adm-size-pill[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;}
  .adm-size-add{
    width:36px;height:36px;border-radius:10px;border:1.5px dashed var(--border);background:none;
    color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;
  }
  .adm-size-add:hover{border-color:var(--accent);color:var(--accent);}
  .adm-size-input{width:72px;padding:8px 10px;border-radius:10px;border:1px solid var(--accent);font-size:.8rem;text-align:center;font-family:inherit;}

  .adm-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  @media (max-width:480px){.adm-toggle-grid{grid-template-columns:1fr;}}
  .adm-toggle-row{
    display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
    border:1px solid var(--border);border-radius:12px;padding:13px 14px;
  }
  .adm-toggle-row b{display:block;font-size:.83rem;margin-bottom:2px;font-weight:700;}
  .adm-toggle-row span{font-size:.72rem;color:var(--text-muted);}

  .adm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px;}
  .adm-btn{
    padding:11px 20px;border-radius:10px;font-size:.84rem;font-weight:700;cursor:pointer;
    font-family:'Manrope',sans-serif;border:1px solid transparent;
  }
  .adm-btn-ghost{background:none;border-color:var(--border);color:var(--text-muted);}
  .adm-btn-ghost:hover{color:var(--text);border-color:var(--text-muted);}
  .adm-btn-outline{background:var(--surface);border-color:var(--border);color:var(--text);}
  .adm-btn-outline:hover{border-color:var(--accent);color:var(--accent-strong);}
  .adm-btn-primary{background:var(--text);border-color:var(--text);color:var(--bg);}
  .adm-btn-primary:hover{opacity:.88;}
  .adm-btn:disabled{opacity:.5;cursor:not-allowed;}
  @media (max-width:520px){.adm-actions{justify-content:stretch;}.adm-actions .adm-btn{flex:1;}}

/* ---------- account panel (new) ---------- */
.auth-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:22px;}
.auth-tab{
  flex:1;background:none;border:none;padding:12px 0;font-size:.8rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.auth-tab[aria-selected="true"]{color:var(--text);border-color:var(--accent);}
.auth-form{display:flex;flex-direction:column;gap:14px;}
.divider-row{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:.78rem;}
.divider-row::before,.divider-row::after{content:'';flex:1;height:1px;background:var(--border);}
.btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  padding:12px 18px;font-size:.85rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border-radius:2px;
  text-decoration:none;
}
.btn-google:hover{border-color:var(--accent);}
.account-summary{padding:4px 0 20px;border-bottom:1px solid var(--border);margin-bottom:20px;}
.account-summary .who{font-family:'Fraunces',serif;font-size:1.15rem;margin-bottom:2px;}
.account-summary .email{color:var(--text-muted);font-size:.85rem;}
.order-hist-item{padding:16px 0;border-bottom:1px solid var(--border);}
.order-hist-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.88rem;margin-bottom:8px;}
.order-hist-head b{font-family:'Fraunces',serif;font-size:.98rem;}
.order-hist-meta{color:var(--text-muted);font-size:.78rem;margin-bottom:8px;}
.order-hist-lines{color:var(--text-muted);font-size:.82rem;}
.order-hist-status{
  font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:2px 8px;border-radius:999px;border:1px solid var(--border);display:inline-block;
}
.account-empty{color:var(--text-muted);padding:40px 0;text-align:center;font-size:.9rem;}
.demo-note{
  background:var(--surface-2);border:1px solid var(--border);border-radius:2px;
  padding:12px 14px;font-size:.78rem;color:var(--text-muted);margin-bottom:18px;line-height:1.5;
}
.demo-note b{color:var(--text);}
.field-hint{font-size:.74rem;color:var(--text-muted);margin-top:5px;}
.auth-switch{text-align:center;font-size:.83rem;color:var(--text-muted);margin-top:4px;}
.auth-switch button{background:none;border:none;color:var(--accent-strong);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit;}
