/*
Theme Name: blue•j 2026
Description: Tema WooCommerce di blue•j in stile boutique (crema, nero e marrone, titoli Bodoni maiuscoli): header scuro, landing tipo × colore, scheda prodotto con colori e taglie a bottoni. Home, fascia, servizi e newsletter si modificano da Aspetto › Personalizza.
Author: Sirio Media House
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
WC requires at least: 9.0
Text Domain: bluej26
*/

  :root{
    color-scheme: only light;
    --bg:#FBF8F4; --cream:#F3ECE3; --card:#F6F0E8; --ink:#141110; --dark:#151210; --muted:#857869;
    --rule:#DCCFBF; --line:#E8DED2; --tile:var(--card); --band:var(--cream);
    --accent:#8A5A3B; --accent-ink:#FBF8F4; --sale:#A8322A;
    --font-display:'BJBodoni', 'Bodoni Moda', Didot, Georgia, serif;
    --font-body:'Jost', -apple-system, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    --gutter:clamp(16px, 3vw, 48px);
  }
  *,*::before,*::after{ box-sizing:border-box; }
  body{ margin:0; background:var(--bg); color:var(--ink); font:400 15px/1.6 var(--font-body); -webkit-font-smoothing:antialiased; }
  img,video{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  button,input,select{ font:inherit; color:inherit; }
  button{ background:none; border:0; cursor:pointer; padding:0; }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  h1,h2,h3{ text-wrap:balance; margin:0; font-weight:500; }
  .wrap{ padding-inline:var(--gutter); }
  .eyebrow{ font-size:11.5px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
  .eyebrow.ac,.ac{ color:var(--accent); }
  .display{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:.98; font-size:clamp(30px,3.4vw,48px); }
  .display.xl{ font-size:clamp(52px,7.4vw,112px); line-height:.9; }
  .orn{ display:flex; align-items:center; gap:12px; color:var(--accent); width:160px; font-size:11px; }
  .orn::before,.orn::after{ content:''; flex:1; height:1px; background:currentColor; opacity:.5; }
  .ico{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.4; flex:none; }
  @media (prefers-reduced-motion: reduce){ *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

  /* bottoni: pieno nero, contorno, chiaro su scuro */
  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 26px; font-size:12px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; background:var(--ink); color:var(--bg); border:1px solid var(--ink); transition:background .2s, color .2s; }
  .btn .ico{ width:16px; height:16px; transition:transform .2s; }
  .btn:hover .ico{ transform:translateX(3px); }
  .btn:hover{ background:var(--accent); border-color:var(--accent); }
  .btn.ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
  .btn.ghost:hover{ background:var(--ink); color:var(--bg); }
  .btn.line{ background:transparent; color:var(--bg); border-color:rgba(251,248,244,.6); }
  .btn.line:hover{ background:var(--bg); color:var(--ink); }
  .btn.light{ background:var(--bg); color:var(--ink); border-color:var(--bg); }
  .btn.sm{ padding:10px 18px; font-size:11px; }
  .btn.wide{ width:100%; }

  /* ---------- fascia + header scuro ---------- */
  .ribbon{ background:var(--cream); color:var(--accent); font-size:11px; letter-spacing:.18em; text-transform:uppercase; text-align:center; padding:8px 16px; }
  .ribbon b{ font-weight:600; color:var(--ink); }
  header.site{ position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--dark); color:var(--bg); }
  .h-bar{ display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:'logo nav tools'; align-items:center; gap:24px; padding:16px var(--gutter); }
  .logo{ grid-area:logo; display:grid; justify-items:center; line-height:1; }
  .logo .lg{ font-family:var(--font-display); font-size:clamp(28px,2.6vw,36px); letter-spacing:.02em; }
  .logo .lg i{ font-style:normal; color:#C9A27E; }
  .logo small{ font-size:8.5px; letter-spacing:.42em; text-transform:uppercase; opacity:.7; margin-top:5px; padding-left:.42em; }
  .logo img{ max-height:40px; width:auto; filter:invert(1); mix-blend-mode:screen; } /* logo jpg nero su bianco: diventa chiaro e il fondo sparisce */
  nav.main{ grid-area:nav; display:flex; justify-content:center; gap:clamp(14px,2.4vw,36px); overflow-x:auto; scrollbar-width:none; }
  nav.main::-webkit-scrollbar,nav.sub::-webkit-scrollbar{ display:none; }
  nav.main button,nav.main a{ font-size:11.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; padding:6px 0; border-bottom:1px solid transparent; white-space:nowrap; color:var(--bg); opacity:.85; }
  nav.main .on,nav.main button[aria-expanded="true"],nav.main a:hover,nav.main button:hover{ opacity:1; border-bottom-color:#C9A27E; }
  nav.main .sale{ color:#E39B8B; }
  .h-tools{ grid-area:tools; display:flex; justify-content:flex-end; align-items:center; gap:18px; }
  .h-search{ display:flex; align-items:center; gap:6px; border-bottom:1px solid rgba(251,248,244,.35); }
  .h-search input{ border:0; outline:0; background:transparent; width:120px; padding:3px 0; font-size:12px; color:var(--bg); }
  .h-search input::placeholder{ color:rgba(251,248,244,.6); letter-spacing:.12em; text-transform:uppercase; font-size:10.5px; }
  .bag{ position:relative; }
  .bag i{ position:absolute; top:-6px; right:-8px; font-style:normal; font-size:9.5px; background:#C9A27E; color:var(--dark); border-radius:9px; min-width:16px; height:16px; display:grid; place-items:center; padding:0 4px; }
  nav.sub{ display:flex; justify-content:center; gap:clamp(14px,2vw,30px); padding:12px var(--gutter); background:var(--cream); color:var(--ink); overflow-x:auto; scrollbar-width:none; }
  nav.sub a{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; }
  nav.sub a:hover,nav.sub a.on{ color:var(--accent); }
  @media (max-width:900px){
    .h-bar{ grid-template-columns:1fr auto; grid-template-areas:'logo tools' 'nav nav'; gap:12px; padding-block:12px 8px; }
    .logo{ justify-items:start; }
    .h-search input{ width:90px; }
    nav.main{ justify-content:flex-start; }
  }
  @media (max-width:520px){ .h-search{ display:none; } }

  /* ---------- card prodotto: foto che si fonde nel crema ---------- */
  .card{ display:flex; flex-direction:column; background:var(--card); min-width:0; transition:box-shadow .25s; }
  .card:hover{ box-shadow:0 12px 32px -18px rgba(20,17,16,.35); }
  .ph{ position:relative; aspect-ratio:4/5; max-width:100%; background:var(--card); overflow:hidden; }
  /* i fondi dei packshot non sono tutti bianco puro: un filo di luminosità li porta a bianco, così spariscono nel crema */
  .ph img,.lx-hero .pk img,.story .media img{ filter:brightness(1.06) contrast(1.02); }
  .ph img{ width:100%; height:100%; object-fit:contain; padding:7%; mix-blend-mode:multiply; transition:transform .6s ease; }
  .card:hover .ph img{ transform:scale(1.04); }
  .ph .type{ position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:12px; font-family:var(--font-display); text-transform:uppercase; font-size:clamp(20px,2vw,26px); color:#8a7b69; }
  .ph .type small{ display:block; font-family:var(--font-body); font-size:10px; letter-spacing:.2em; color:var(--muted); margin-top:8px; }
  .c-body{ display:grid; gap:6px; padding:14px 16px 4px; }
  .c-brand{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
  .c-brand.own{ color:var(--accent); }
  .card h3{ font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .card .line{ font-size:12.5px; color:var(--muted); line-height:1.4; }
  .c-cta{ display:flex; align-items:center; justify-content:space-between; margin:12px 16px 16px; padding:10px 14px; border:1px solid var(--ink); font-size:10.5px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; transition:background .2s,color .2s; }
  .c-cta .ico{ width:15px; height:15px; }
  .card:hover .c-cta{ background:var(--ink); color:var(--bg); }
  .price{ font-size:13.5px; font-variant-numeric:tabular-nums; }
  .price s{ color:var(--muted); margin-right:6px; }
  .price .now{ color:var(--sale); }
  .dots{ display:flex; gap:6px; padding-top:2px; }
  .dot{ width:11px; height:11px; border-radius:50%; border:1px solid rgba(0,0,0,.15); }

  /* ---------- home ---------- */
  .lx-hero{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(82vh,760px); background:linear-gradient(100deg,var(--cream) 0%,var(--cream) 55%,#EADFD1 100%); }
  .lx-hero .copy{ display:grid; align-content:center; justify-items:start; gap:22px; padding:clamp(40px,6vw,96px) var(--gutter); }
  .lx-hero .sub{ margin:0; font-size:13px; letter-spacing:.24em; text-transform:uppercase; line-height:1.8; max-width:28ch; }
  .perks-row{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:0; }
  .perks-row li{ display:grid; justify-items:center; gap:8px; text-align:center; padding:0 22px; border-left:1px solid var(--rule); max-width:150px; }
  .perks-row li:first-child{ border-left:0; padding-left:0; }
  .perks-row .ico{ width:24px; height:24px; color:var(--accent); }
  .perks-row b{ font-size:9.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; line-height:1.4; }
  .lx-hero .media{ position:relative; overflow:hidden; }
  .lx-hero .media video,.lx-hero .media .photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .lx-hero .pk{ position:absolute; display:block; }
  .lx-hero .pk img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
  .lx-hero .pk0{ inset:6% 22% 4% 4%; }
  .lx-hero .pk1{ inset:34% 2% 6% 58%; }
  @media (max-width:860px){
    .lx-hero{ grid-template-columns:1fr; min-height:0; }
    .lx-hero .media{ height:min(110vw,560px); order:-1; }
    .perks-row li{ padding:0 12px; }
  }
  .edit{ padding-block:clamp(56px,7vw,104px) 0; }
  .sec-head{ display:grid; grid-template-columns:1fr auto 1fr; grid-template-areas:'. eye .' '. title btn'; align-items:end; gap:10px 24px; margin-bottom:clamp(24px,3vw,40px); text-align:center; }
  .sec-head .eyebrow{ grid-area:eye; }
  .sec-head h2{ grid-area:title; }
  .sec-head .btn{ grid-area:btn; justify-self:end; }
  @media (max-width:760px){ .sec-head{ grid-template-columns:1fr; grid-template-areas:'eye' 'title' 'btn'; } .sec-head .btn{ justify-self:center; } }
  .cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,22px); }
  @media (max-width:1000px){ .cards{ grid-template-columns:repeat(4,72vw); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; } .cards > *{ scroll-snap-align:start; } }
  @media (min-width:600px) and (max-width:1000px){ .cards{ grid-template-columns:repeat(4,40vw); } }
  .story{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); background:var(--dark); color:var(--bg); margin-top:clamp(56px,7vw,104px); }
  .story .copy{ display:grid; align-content:center; justify-items:start; gap:20px; padding:clamp(48px,7vw,110px) var(--gutter); }
  .story .display{ font-size:clamp(40px,5.4vw,80px); line-height:.95; }
  .story .ac{ color:#C9A27E; }
  .story .orn{ color:#C9A27E; }
  .story p{ margin:0; max-width:44ch; font-size:14.5px; color:rgba(251,248,244,.75); }
  .story .media{ background:var(--cream); display:grid; place-items:center; min-height:420px; }
  .story .media img{ width:100%; height:100%; max-height:620px; object-fit:contain; padding:6%; mix-blend-mode:multiply; }
  @media (max-width:860px){ .story{ grid-template-columns:1fr; } .story .media{ min-height:0; height:min(100vw,520px); } }
  .lines{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:clamp(12px,1.6vw,22px); }
  .line-tile{ display:grid; gap:10px; background:var(--card); padding-bottom:4px; }
  .line-tile .ph{ aspect-ratio:1/1; }
  .line-tile h3{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(24px,2.2vw,32px); padding:0 18px; line-height:1; }
  .line-tile p{ margin:0; padding:0 18px; font-size:13.5px; color:var(--muted); }
  .line-tile .c-cta{ margin-top:6px; }
  .line-tile:hover .c-cta{ background:var(--ink); color:var(--bg); }
  .trust{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(56px,7vw,104px); border-block:1px solid var(--line); }
  .trust > div{ display:flex; gap:14px; align-items:center; justify-content:center; padding:26px var(--gutter); border-left:1px solid var(--line); }
  .trust > div:first-child{ border-left:0; }
  .trust .ico{ width:28px; height:28px; color:var(--accent); }
  .trust span{ display:grid; gap:2px; font-size:12.5px; color:var(--muted); max-width:34ch; }
  .trust b{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); }
  @media (max-width:760px){ .trust{ grid-template-columns:1fr; } .trust > div{ border-left:0; border-top:1px solid var(--line); justify-content:flex-start; } .trust > div:first-child{ border-top:0; } }

  /* ---------- elenco prodotti ---------- */
  .crumbs{ font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); display:flex; flex-wrap:wrap; gap:8px; padding-top:24px; }
  .crumbs a:hover{ color:var(--accent); }
  .l-head{ display:grid; gap:12px; padding-block:22px 30px; max-width:820px; }
  .l-head h1{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(38px,4.6vw,68px); line-height:.95; }
  .l-head h2{ font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); }
  .l-head p{ margin:0; color:#4a4038; max-width:68ch; }
  .l-head strong{ font-weight:600; }
  .fbar{ position:sticky; top:var(--hh,90px); z-index:20; background:var(--bg); display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding-block:14px; border-block:1px solid var(--line); margin-bottom:26px; }
  .fbar .count{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-right:auto; font-variant-numeric:tabular-nums; }
  .chips{ display:flex; gap:6px; flex-wrap:wrap; }
  .chip{ font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:7px 13px; border:1px solid var(--rule); background:transparent; display:inline-flex; align-items:center; gap:7px; }
  .chip.on{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
  .chip .dot{ width:10px; height:10px; }
  .fbar select{ font-size:12px; border:1px solid var(--rule); background:var(--bg); padding:6px 8px; }
  .fbar label{ font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:8px; }
  .grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.6vw,22px); }
  @media (max-width:1000px){ .grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media (max-width:700px){ .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .fbar{ position:static; } .c-cta{ margin:10px 10px 12px; padding:8px 10px; } .c-body{ padding:12px 10px 2px; } }
  .more{ display:grid; justify-items:center; gap:12px; padding-block:40px 10px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
  .seo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,72px); padding-block:clamp(48px,6vw,80px); border-top:1px solid var(--line); margin-top:56px; }
  .seo-text{ display:grid; gap:24px; }
  .seo-text h2{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:22px; }
  .seo-text p{ margin:8px 0 0; color:#4a4038; max-width:68ch; }
  .cloud h3{ font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; margin-bottom:14px; }
  .cloud ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:9px 18px; font-size:13.5px; }
  .cloud a:hover{ color:var(--accent); }
  @media (max-width:800px){ .seo{ grid-template-columns:1fr; } }
  .brandband{ padding-block:clamp(56px,8vw,120px); display:grid; gap:16px; background:var(--dark)!important; color:var(--bg)!important; }
  .brandband h1{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(52px,8vw,120px); line-height:.9; }
  .brandband p{ margin:0; max-width:52ch; font-size:15px; color:rgba(251,248,244,.75); }
  .brandband .eyebrow{ color:#C9A27E!important; opacity:1!important; }

  /* ---------- scheda prodotto ---------- */
  .pdp{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr); gap:clamp(24px,4vw,64px); padding-top:14px; }
  .gallery{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .gallery .ph{ background:var(--card); }
  .gallery .ph:first-child{ grid-column:1 / -1; }
  .buy{ position:sticky; top:calc(var(--hh,90px) + 20px); align-self:start; display:grid; gap:20px; padding-bottom:24px; }
  .buy h1{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(28px,2.8vw,40px); line-height:1; }
  .buy .brand{ font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); }
  .buy .price{ font-size:20px; }
  .opt{ display:grid; gap:10px; }
  .opt .lab{ font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); display:flex; justify-content:space-between; }
  .opt .lab a{ text-decoration:underline; text-underline-offset:3px; color:var(--ink); }
  .sw{ display:flex; gap:8px; flex-wrap:wrap; }
  .sw button{ width:28px; height:28px; border-radius:50%; border:1px solid rgba(0,0,0,.2); outline-offset:3px; }
  .sw button.on{ outline:1.5px solid var(--ink); }
  .sz{ display:flex; gap:6px; flex-wrap:wrap; }
  .sz button{ min-width:48px; padding:10px; border:1px solid var(--rule); font-size:12px; letter-spacing:.08em; }
  .sz button.on{ border-color:var(--ink); background:var(--ink); color:var(--bg); }
  .perks{ list-style:none; margin:0; padding:16px 0 0; border-top:1px solid var(--line); display:grid; gap:8px; font-size:13.5px; }
  details{ border-top:1px solid var(--line); padding-block:16px; }
  details:last-of-type{ border-bottom:1px solid var(--line); }
  summary{ cursor:pointer; font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; list-style:none; display:flex; justify-content:space-between; }
  summary::-webkit-details-marker{ display:none; }
  summary::after{ content:'+'; }
  details[open] summary::after{ content:'–'; }
  details p,details ul{ margin:12px 0 0; font-size:14px; color:#4a4038; }
  .note{ font-size:12px; color:var(--muted); font-style:italic; }
  .wear{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .wear .c-cta{ display:none; }
  @media (max-width:860px){ .pdp{ grid-template-columns:1fr; } .buy{ position:static; } }
  .sec-title{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(28px,3vw,42px); text-align:center; padding-block:clamp(56px,7vw,96px) 28px; }

  /* ---------- pagina informativa ---------- */
  .info{ max-width:760px; padding-block:24px 72px; display:grid; gap:18px; }
  .info h1{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(34px,4vw,56px); line-height:1; }
  .info ul{ margin:0; padding-left:20px; display:grid; gap:6px; }

  /* ---------- newsletter + footer scuro ---------- */
  .news{ background:var(--cream); text-align:center; padding:clamp(48px,6vw,80px) var(--gutter); display:grid; gap:14px; justify-items:center; margin-top:clamp(56px,7vw,104px); }
  .news h2{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(30px,3.4vw,48px); line-height:1; }
  .news p{ margin:0; color:#4a4038; max-width:56ch; }
  .news form{ display:flex; width:min(520px,100%); border:1px solid var(--ink); margin-top:10px; background:var(--bg); }
  .news input{ flex:1; min-width:0; border:0; background:transparent; padding:14px 16px; outline:0; }
  .news button{ font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; background:var(--ink); color:var(--bg); padding:0 22px; }
  .news .ok{ font-size:13px; color:var(--accent); }
  footer.site{ background:var(--dark); color:rgba(251,248,244,.8); padding:clamp(48px,6vw,80px) var(--gutter) 28px; display:grid; gap:44px; }
  .f-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:32px; }
  .f-cols h3{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; margin-bottom:16px; color:#C9A27E; }
  .f-cols ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:13.5px; }
  .f-cols a:hover{ color:var(--bg); }
  .f-legal{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(251,248,244,.5); border-top:1px solid rgba(251,248,244,.12); padding-top:22px; }

  /* ---------- tema WordPress ---------- */
  .sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .skip{ position:absolute; left:-9999px; top:0; z-index:100; background:var(--ink); color:var(--bg); padding:8px 14px; }
  .skip:focus{ left:8px; top:8px; }
  .hp{ position:absolute; left:-9999px; }
  .bj-promobar{ display:none; }
  .ribbon a{ text-decoration:underline; text-underline-offset:3px; }
  .logo img{ max-height:44px; width:auto; }
  nav.sub[hidden]{ display:none; }
  .card .code{ color:var(--muted); font-weight:400; }
  .chip:hover{ border-color:var(--ink); }
  .l-head .desc p{ margin:0; color:#3d352b; max-width:68ch; }
  .seo.one{ grid-template-columns:1fr; }
  .empty{ padding:40px 0; color:var(--muted); }
  .empty a{ color:var(--ink); text-decoration:underline; }
  .buy .lead{ margin:0; color:#3d352b; font-size:14.5px; }
  .buy .price .woocommerce-Price-amount{ font:inherit; }
  .news .note{ max-width:56ch; }
  .news .err{ margin:0; color:var(--sale); font-size:13px; }
  .news .ok{ margin:0; }

  /* avvisi WooCommerce */
  .woocommerce-notices-wrapper:empty{ display:none; }
  .woocommerce-message,.woocommerce-info,.woocommerce-error{ list-style:none; margin:14px 0; padding:14px 18px; background:var(--band); border:0; border-left:3px solid var(--ink); font-size:14px; display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; justify-content:space-between; }
  .woocommerce-error{ border-left-color:var(--sale); }
  .woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{ display:none; }
  .woocommerce-message .button,.woocommerce-info .button{ order:2; font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; background:none; color:var(--ink); padding:0; }

  /* scheda prodotto: il form di WooCommerce resta, le tendine diventano bottoni (theme.js) */
  .bj-opts{ display:grid; gap:18px; }
  .bj-opts:empty{ display:none; }
  .sw button:disabled,.sz button:disabled{ opacity:.3; cursor:not-allowed; }
  .sz button:disabled{ text-decoration:line-through; }
  .opt .lab b{ color:var(--ink); font-weight:500; }
  form.cart{ display:grid; gap:12px; margin:0; }
  form.variations_form.bj-ready table.variations{ position:absolute; left:-9999px; }
  table.variations{ border:0; margin:0; } table.variations td,table.variations th{ padding:4px 0; border:0; text-align:left; }
  .reset_variations{ display:none!important; }
  form.cart .quantity{ display:none; }
  .single_variation_wrap .woocommerce-variation-price .price{ font-size:15px; }
  .single_variation_wrap .woocommerce-variation-availability p,.single_variation_wrap .woocommerce-variation-description p{ margin:0; font-size:13px; color:var(--muted); }
  .woocommerce-variation-add-to-cart,form.cart:not(.variations_form){ display:grid; gap:10px; }
  .single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{ display:inline-flex; align-items:center; justify-content:center; width:100%; padding:14px 26px; font:500 13px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; background:var(--ink)!important; color:var(--bg)!important; border:1px solid var(--ink); border-radius:0; cursor:pointer; }
  .single_add_to_cart_button.disabled{ opacity:.55; }
  .bj-msg{ margin:0; color:var(--sale); font-size:13px; }
  .rte{ font-size:14.5px; color:#3d352b; }
  .rte p{ margin:0 0 12px; }

  /* pagine: informative, carrello, pagamento, account */
  .page{ padding-block:24px 72px; display:grid; gap:18px; }
  .page.info{ max-width:760px; }
  .page h1{ font-family:var(--font-display); font-weight:500; font-size:clamp(32px,3.6vw,48px); line-height:1.05; }
  .page.info .rte h2{ font-size:18px; font-weight:500; margin:22px 0 8px; color:var(--ink); }
  .page.info .rte a,.woocommerce-MyAccount-content a{ text-decoration:underline; text-underline-offset:3px; }
  .page.info ul{ padding-left:20px; display:grid; gap:6px; }
  .page.wide .wc-block-components-button:not(.is-link),.page.wide .wc-block-cart__submit-button,.page.wide .wc-block-components-checkout-place-order-button{ background:var(--ink); color:var(--bg); border-radius:0; font:500 13px/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; min-height:48px; }
  .page.wide .wc-block-components-product-name{ font-weight:500; text-decoration:none; }
  .page.wide .wc-block-components-text-input input,.page.wide .wc-block-components-combobox input,.page.wide .wc-blocks-components-select select{ border-radius:0!important; }
  .page.wide .wc-block-components-title,.page.wide .wc-block-cart__totals-title{ font-family:var(--font-body)!important; font-size:13px!important; letter-spacing:.14em; text-transform:uppercase; font-weight:500!important; }
  .woocommerce-account .page.wide .rte > .woocommerce{ display:grid; grid-template-columns:220px 1fr; gap:clamp(20px,4vw,56px); }
  .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:grid; gap:2px; border-top:1px solid var(--line); }
  .woocommerce-MyAccount-navigation li a{ display:block; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; }
  .woocommerce-MyAccount-navigation li.is-active a{ font-weight:600; }
  .woocommerce form .form-row{ display:grid; gap:6px; margin:0 0 14px; }
  .woocommerce form .form-row input.input-text,.woocommerce form .form-row select{ border:1px solid var(--rule); padding:10px 12px; border-radius:0; background:#fff; }
  .woocommerce form.login,.woocommerce form.register{ border:1px solid var(--line); border-radius:0; padding:24px; }
  @media (max-width:760px){ .woocommerce-account .page.wide .rte > .woocommerce{ grid-template-columns:1fr; } }
  .woocommerce div.product span.price,.woocommerce div.product p.price{ color:var(--ink); font-size:20px; }
  .woocommerce div.product .price .now{ color:var(--sale); }
  .woocommerce div.product .single_variation .price{ font-size:15px; }

  /* negozio in costruzione */
  .closed-note{ background:var(--band); padding:16px 18px; font-size:14px; line-height:1.5; border-left:3px solid var(--accent); }
  .closed-note strong{ display:block; font-weight:600; margin-bottom:2px; }
  .closed-note a{ display:inline-block; margin-top:6px; text-decoration:underline; text-underline-offset:3px; }
  .dots.big{ gap:8px; } .dots.big .dot{ width:22px; height:22px; }
  .sz.static span{ min-width:46px; padding:8px 10px; border:1px solid var(--rule); font-size:13px; text-align:center; }
  .admin-note{ background:#18130E; color:#fff; font-size:12px; text-align:center; padding:6px 16px; }

  /* home a catalogo vuoto */
  .lx-soon{ display:grid; justify-items:center; text-align:center; gap:22px; padding:clamp(72px,12vw,170px) var(--gutter); background:var(--cream); }
  .lx-soon .sub{ margin:0; font-size:13px; letter-spacing:.24em; text-transform:uppercase; line-height:1.8; max-width:42ch; }
  .lx-soon .display{ line-height:1.08; }
  .lx-soon + .news{ margin-top:0; }
