/* ============================================================
   SKINKULT — style.css (unico foglio di stile condiviso)
   Base: home-approvata-v3.html (cliente-approvata) — NON modificare.
   Token campionati dal logo (delta <5 RGB). Fonte: design/tokens.css
   ============================================================ */

  :root{
    /* palette campionata da IMG_7422.JPG */
    --skin:#d6ac8e; --skin2:#cda489; --skin3:#bd9070;
    --emb:#b9856a;                       /* interno incisione */
    --ink:#4f2c17; --deep:#733f24; --soft:#6d442a;
    --hi:rgba(244,216,196,.95);          /* luce bordo #f0d2be */
    --sh:rgba(122,58,32,.45);            /* ombra bordo #8a472d */
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{background:#a97c5d;scroll-behavior:smooth}
  body{
    font-family:'Inter',system-ui,sans-serif;
    background:linear-gradient(180deg,var(--skin) 0%,var(--skin2) 52%,var(--skin3) 100%);
    color:var(--ink); max-width:480px; margin:0 auto; min-height:100vh;
    position:relative; overflow-x:hidden;
    font-variant-numeric:tabular-nums;
  }
  body::before{content:"";position:fixed;left:50%;transform:translateX(-50%);top:-130px;
    width:580px;height:430px;pointer-events:none;z-index:0;
    background:radial-gradient(ellipse at center,rgba(240,210,190,.32),transparent 62%)}
  .grain{position:fixed;inset:0;max-width:480px;margin:0 auto;pointer-events:none;z-index:60;
    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.54 0 0 0 0 0.28 0 0 0 0 0.18 0 0 0 0.13 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23a)'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.45' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.94 0 0 0 0 0.82 0 0 0 0 0.74 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23b)'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.014' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.52 0 0 0 0 0.3 0 0 0 0 0.18 0 0 0 0.045 0'/%3E%3C/filter%3E%3Crect width='420' height='420' filter='url(%23c)'/%3E%3C/svg%3E");}
  .vignette{position:fixed;inset:0;max-width:480px;margin:0 auto;pointer-events:none;z-index:61;
    background:radial-gradient(ellipse at 50% 40%,transparent 50%,rgba(110,58,30,.2))}
  main,header,.announce,footer{position:relative;z-index:1}

  /* ---------- materia ---------- */
  .raise{background:linear-gradient(180deg,var(--skin),var(--skin2));
    box-shadow:6px 7px 15px var(--sh),-5px -5px 13px var(--hi)}
  .press{background:linear-gradient(180deg,var(--skin2),var(--skin));
    box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
  .deboss{color:var(--emb);
    text-shadow:
      0 -1.5px 2px rgba(122,58,32,.55),
      0 -0.5px 1px rgba(122,58,32,.4),
      0 2px 2.5px rgba(244,220,200,.9),
      0 1px 1px rgba(244,220,200,.55)}

  /* ---------- header ---------- */
  .announce{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    text-align:center;padding:10px 16px;color:var(--deep);
    background:linear-gradient(180deg,var(--skin2),var(--skin));
    box-shadow:inset 0 3px 7px var(--sh),inset 0 -2px 5px var(--hi)}
  header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
    padding:14px 18px;background:rgba(205,164,137,.86);backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px)}
  .menu{width:42px;height:42px;border-radius:50%;display:flex;flex-direction:column;
    justify-content:center;align-items:center;gap:4.5px;border:none;cursor:pointer}
  .menu i{display:block;width:16px;height:2px;border-radius:2px;background:var(--ink)}
  .logo{font-weight:800;font-size:23px;letter-spacing:.045em}
  .bag{min-width:42px;height:42px;border-radius:99px;display:flex;align-items:center;
    justify-content:center;font-size:12.5px;font-weight:700;color:var(--ink);padding:0 13px}

  /* ---------- hero ---------- */
  .hero{padding:42px 24px 6px;text-align:center}
  .eyebrow{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
    color:var(--deep);opacity:.8}
  h1{font-size:49px;line-height:1.03;font-weight:800;letter-spacing:.02em;
    margin:16px 0 16px;text-transform:uppercase}
  .sub{font-size:15px;line-height:1.6;color:var(--ink);opacity:.9;max-width:310px;margin:0 auto 26px}
  .cta{display:inline-block;font-weight:800;font-size:13.5px;letter-spacing:.07em;
    text-transform:uppercase;padding:18px 34px;border-radius:99px;color:var(--ink);
    background:linear-gradient(180deg,#e2bb9e,#c79c7d);
    box-shadow:7px 8px 16px var(--sh),-5px -5px 13px var(--hi),
      inset 0 1.5px 0 rgba(246,222,202,.85),inset 0 -2px 4px rgba(122,58,32,.25);
    text-decoration:none}
  .cta-soft{display:block;margin-top:18px;font-size:11.5px;font-weight:600;letter-spacing:.11em;
    text-transform:uppercase;color:var(--deep);text-decoration:none}
  .cta-soft span{border-bottom:1px solid rgba(115,63,36,.55);padding-bottom:3px}
  .necklace{display:block;margin:26px auto 2px}

  /* ---------- chips ---------- */
  .chips{display:flex;gap:10px;padding:18px 20px 8px;overflow-x:auto;
    scrollbar-width:none;-ms-overflow-style:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;font-size:12px;font-weight:700;letter-spacing:.03em;
    padding:11px 19px;border-radius:99px;color:var(--ink)}
  .chip.on{color:var(--deep)}

  /* ---------- sezioni ---------- */
  .sec{padding:26px 20px 6px}
  .sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
  h2{font-size:21px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
  .sec-link{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
    color:var(--deep);text-decoration:none;border-bottom:1px solid rgba(115,63,36,.5);padding-bottom:2px}

  /* ---------- card prodotto ---------- */
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .card{border-radius:22px;padding:11px;position:relative}
  .badge{position:absolute;top:19px;left:19px;z-index:2;font-size:9px;font-weight:800;
    letter-spacing:.1em;text-transform:uppercase;color:var(--deep);
    background:linear-gradient(180deg,var(--skin2),var(--skin));
    padding:6px 10px;border-radius:99px;
    box-shadow:inset 1.5px 2px 4px var(--sh),inset -1.5px -1.5px 4px var(--hi)}
  .ph{height:128px;border-radius:15px;display:flex;align-items:center;justify-content:center;
    gap:5px;margin-bottom:12px;position:relative}
  .bead{width:21px;height:21px;border-radius:50%;
    box-shadow:inset -3px -4px 5px rgba(122,58,32,.4),inset 2px 2px 4px rgba(255,244,232,.9),
      2px 3px 5px rgba(122,58,32,.3)}
  .bead.s{width:14px;height:14px}
  .b1{background:#f1dcc6}.b2{background:#dcab97}.b3{background:#c99cb4}
  .b4{background:#e0bd85}.b5{background:#b3bfa5}
  .arc :nth-child(1),.arc :nth-child(5){transform:translateY(11px)}
  .arc :nth-child(2),.arc :nth-child(4){transform:translateY(3px)}
  .card-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
  .name{font-weight:800;letter-spacing:.09em;font-size:14.5px;text-transform:uppercase}
  .tipo{font-size:11.5px;letter-spacing:.01em;color:var(--soft);margin:3px 0 6px;line-height:1.35}
  .price{font-weight:700;font-size:15px;color:var(--deep)}
  .add{flex:0 0 auto;width:35px;height:35px;border-radius:50%;border:none;cursor:pointer;
    font-size:19px;font-weight:500;color:var(--ink);line-height:1;padding-bottom:2px}

  /* ---------- storytelling ---------- */
  .story{margin:28px 20px 4px;padding:28px 24px;border-radius:24px;text-align:center}
  .story h2{margin-bottom:12px}
  .story p{font-size:14px;line-height:1.65;color:var(--ink);opacity:.9}
  .story .marks{margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;color:var(--deep);line-height:2.2}

  /* ---------- pietre ---------- */
  .stones{display:flex;gap:14px;padding:4px 20px 12px;overflow-x:auto;scrollbar-width:none}
  .stones::-webkit-scrollbar{display:none}
  .stone{flex:0 0 118px;border-radius:20px;padding:18px 12px 16px;text-align:center}
  .stone .bead{width:34px;height:34px;margin:0 auto 12px}
  .stone b{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
  .stone small{display:block;font-size:11px;color:var(--soft);margin-top:4px}

  /* ---------- recensioni ---------- */
  .review{border-radius:20px;padding:20px;margin-bottom:14px}
  .stars{font-size:13px;letter-spacing:.2em;color:var(--deep);margin-bottom:9px}
  .review p{font-size:14px;line-height:1.6;font-style:italic}
  .review span{display:block;margin-top:10px;font-size:10.5px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}

  /* ---------- newsletter ---------- */
  .news{margin:28px 20px 8px;padding:28px 22px;border-radius:24px;text-align:center}
  .news h2{margin-bottom:8px}
  .news p{font-size:13.5px;line-height:1.55;color:var(--ink);opacity:.9;max-width:280px;margin:0 auto 18px}
  .field{display:flex;gap:10px;align-items:center}
  .field input{flex:1;min-width:0;border:none;outline:none;border-radius:99px;
    padding:16px 18px;font-family:inherit;font-size:14px;color:var(--ink);
    background:linear-gradient(180deg,var(--skin2),var(--skin));
    box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
  .field input::placeholder{color:var(--soft);opacity:.8}
  .field button{flex:0 0 auto;border:none;cursor:pointer;font-family:inherit;font-weight:800;
    font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);
    padding:16px 20px;border-radius:99px;
    background:linear-gradient(180deg,#e2bb9e,#c79c7d);
    box-shadow:5px 5px 11px var(--sh),-4px -4px 10px var(--hi),
      inset 0 1.5px 0 rgba(246,222,202,.85),inset 0 -2px 4px rgba(122,58,32,.25)}

  /* ---------- instagram ---------- */
  .ig{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 20px 10px}
  .ig div{aspect-ratio:1;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:3px}
  .ig .bead{width:13px;height:13px}

  /* ---------- footer ---------- */
  footer{margin-top:30px;padding:34px 24px 46px;
    background:linear-gradient(180deg,var(--skin3),#ab7c5c);
    box-shadow:inset 0 10px 18px -12px var(--sh)}
  footer .logo{display:block;text-align:center;font-size:17px}
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:26px 0 24px}
  .cols b{font-size:10.5px;font-weight:800;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink);margin-bottom:2px}
  .cols a{font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;line-height:2.05}
  .colgroup{display:flex;flex-direction:column}
  .fineprint{text-align:center;font-size:11.5px;color:var(--ink);line-height:1.9}
  .fineprint a{color:var(--ink);font-weight:600}

  /* ---------- motion ---------- */
  .rev{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
  .rev.in{opacity:1;transform:none}
  @media (prefers-reduced-motion: no-preference){
    .fl1,.fl2{transform-box:fill-box;animation:float 6.5s ease-in-out infinite}
    .fl2{animation-delay:-3.2s}
    @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  }
  @media (prefers-reduced-motion: reduce){
    .rev{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
  }
  :focus-visible{outline:2.5px solid var(--deep);outline-offset:3px;border-radius:99px}

/* ============================================================
   COMPONENTI ESTESI — pagine interne
   Stesse materie (.raise/.press/.deboss), stessi token, nessun
   colore nuovo. I colori dei "prodotti" riusano le perle della
   home approvata (b1–b5 + pietre).
   ============================================================ */

/* ---------- normalizzazione link (stessi pixel degli originali) ---------- */
a.logo,a.chip,a.stone,.name a,a.ph,a.add{text-decoration:none}
a.chip,a.stone,.name a,a.add{color:inherit}
a.add{display:flex;align-items:center;justify-content:center;font-family:Arial,Helvetica,sans-serif}
button.chip{border:none;cursor:pointer;font-family:inherit}

/* ---------- menu a tendina (drawer) ---------- */
.drawer{position:absolute;top:calc(100% + 4px);left:14px;right:14px;z-index:55;
  border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:9px}
.drawer[hidden]{display:none}
.drawer a{display:block;text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink);text-decoration:none;padding:13px 16px;border-radius:99px}

/* ---------- intestazione pagine interne ---------- */
.page-hero{padding:34px 24px 8px;text-align:center}
.page-hero h1{font-size:36px;line-height:1.06;font-weight:800;letter-spacing:.02em;
  margin:14px 0 12px;text-transform:uppercase}
.backrow{padding:18px 20px 0}
.back{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--deep);text-decoration:none;
  padding:10px 17px;border-radius:99px}

/* ---------- pagina prodotto ---------- */
.gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:10px 20px 4px;scrollbar-width:none;-ms-overflow-style:none}
.gallery::-webkit-scrollbar{display:none}
.slide{flex:0 0 calc(100% - 40px);scroll-snap-align:center;aspect-ratio:1;border-radius:24px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.fila{display:flex;align-items:center;gap:9px}
/* Fix di un difetto della v3 approvata: le perle delle card pietra
   (.stone .bead, dimensionate 34px dal CSS originale) non si vedevano
   perché span inline vuoti. Le rendiamo blocco, come da design system. */
.stone .bead,.empty .bead{display:block}
.bead.l{width:30px;height:30px}
.bead.xl{width:46px;height:46px}
.dots{display:flex;justify-content:center;gap:9px;padding:14px 0 4px}
.dot{width:9px;height:9px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:linear-gradient(180deg,var(--skin2),var(--skin));
  box-shadow:inset 1.5px 2px 4px var(--sh),inset -1.5px -1.5px 4px var(--hi)}
.dot.on{background:linear-gradient(180deg,#e2bb9e,#c79c7d);
  box-shadow:2px 2px 5px var(--sh),-2px -2px 5px var(--hi)}
.buy{padding:6px 24px 2px;text-align:center}
.price-big{font-size:20px;font-weight:700;color:var(--deep);margin:10px 0 6px}
.avail{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--deep);padding:9px 16px;border-radius:99px;margin-bottom:18px}
.cta-acquista{display:flex;align-items:center;justify-content:center;width:100%;
  font-weight:800;font-size:14px;letter-spacing:.07em;text-transform:uppercase;
  padding:19px 34px;border-radius:99px;color:var(--ink);text-decoration:none;
  background:linear-gradient(180deg,#e2bb9e,#c79c7d);
  box-shadow:7px 8px 16px var(--sh),-5px -5px 13px var(--hi),
    inset 0 1.5px 0 rgba(246,222,202,.85),inset 0 -2px 4px rgba(122,58,32,.25)}
.buy-note{font-size:11.5px;color:var(--soft);margin-top:12px;line-height:1.5}
.prose{padding:10px 24px 4px;font-size:14px;line-height:1.65;color:var(--ink)}
.prose p{margin-bottom:12px}
.specs{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:4px 20px 10px}
.spec{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--deep);
  padding:10px 16px;border-radius:99px}

/* ---------- accordion (details nativo) ---------- */
.acc{margin:0 20px 12px;border-radius:20px;padding:2px 20px}
.acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:10px;font-weight:800;font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--deep);padding:16px 0}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:18px;font-weight:500;line-height:1;flex:0 0 auto}
.acc[open] summary::after{content:"−"}
.acc-body{padding:0 0 16px;font-size:13.5px;line-height:1.6;color:var(--ink)}
.acc-body p{margin-bottom:10px}
.acc-body p:last-child{margin-bottom:0}

/* ---------- collezione: filtri e ordinamento ---------- */
.chips.pietre{padding-top:2px}
.sortrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px 4px}
.count{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.sortwrap{display:flex;align-items:center;gap:8px}
.sortwrap label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
select.sort{border:none;outline:none;cursor:pointer;font-family:inherit;font-size:11.5px;
  font-weight:700;letter-spacing:.04em;color:var(--deep);padding:11px 16px;border-radius:99px;
  appearance:none;-webkit-appearance:none;
  background:linear-gradient(180deg,var(--skin2),var(--skin));
  box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
.empty{margin:14px 20px;padding:34px 24px;border-radius:24px;text-align:center}
.empty .bead{margin:0 auto 14px}
.empty p{font-size:13.5px;line-height:1.6;color:var(--ink)}
.empty a{color:var(--deep);font-weight:700}

/* ---------- chi siamo / contenuti ---------- */
.photo-ph{margin:10px 20px 6px;aspect-ratio:4/3;border-radius:24px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.caption{text-align:center;font-size:11px;color:var(--soft);padding:10px 24px 0;letter-spacing:.04em}

/* ---------- righe informative (spedizioni, contatti) ---------- */
.info{margin:0 20px 14px;padding:22px;border-radius:22px}
.info b{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--deep);margin-bottom:8px}
.info p{font-size:13.5px;line-height:1.6;color:var(--ink)}
.info p+p{margin-top:8px}
.shiprow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;font-size:13.5px}
.shiprow span:last-child{font-weight:700;color:var(--deep);white-space:nowrap}

/* ---------- 404 ---------- */
.lost{padding:66px 24px 24px;text-align:center}
.lost .eyebrow{margin-bottom:14px}
.lost h1{font-size:64px;margin:6px 0 14px}
.lost .bead{margin:26px auto 0}

/* ---------- utilità ---------- */
.center{text-align:center}
.mt{margin-top:16px}
.sec-pad{padding-bottom:26px}

/* ============================================================
   DESKTOP (≥900px) — stessa identità, respiro da schermo grande.
   Tutto vive in media query: sotto i 900px non cambia un pixel.
   ============================================================ */
.nav-top{display:none}

@media (min-width:900px){
  body{max-width:1140px}
  .grain,.vignette{max-width:1140px}
  body::before{width:1040px;height:540px;top:-170px}

  /* ---------- header: nav estesa, niente burger ---------- */
  header{padding:16px 36px}
  .menu,.drawer{display:none!important}
  .logo{font-size:26px}
  .nav-top{display:flex;gap:6px;align-items:center}
  .nav-top a{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--deep);text-decoration:none;padding:11px 16px;border-radius:99px}

  /* ---------- hero ---------- */
  .hero{padding:72px 24px 14px}
  .eyebrow{font-size:12px}
  h1{font-size:74px}
  .sub{font-size:16.5px;max-width:470px}
  .necklace{width:540px;height:auto;margin-top:34px}

  /* ---------- sezioni e griglie ---------- */
  .chips{justify-content:center;padding:24px 20px 10px}
  .sec{padding:42px 40px 10px}
  h2{font-size:25px}
  .grid{grid-template-columns:repeat(4,1fr);gap:20px}
  .ph{height:172px}
  .stones{justify-content:center;padding:8px 40px 16px;gap:18px}
  .stone{flex:0 0 150px;padding:24px 14px 20px}

  /* ---------- pannelli centrati ---------- */
  .story,.news{max-width:720px;margin-left:auto;margin-right:auto;padding:36px 48px}
  .field{max-width:460px;margin:0 auto}
  .ig{max-width:900px;margin:0 auto;padding:8px 40px 14px}
  .reviews{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .reviews .sec-head{grid-column:1/-1}

  /* ---------- pagine interne ---------- */
  .page-hero{padding:56px 24px 12px}
  .page-hero h1{font-size:52px}
  .info,.acc{max-width:680px;margin-left:auto;margin-right:auto}
  .acc{margin-bottom:12px}
  .photo-ph{max-width:720px;margin-left:auto;margin-right:auto}
  .empty{max-width:680px;margin-left:auto;margin-right:auto}
  .sortrow{padding:14px 40px 4px}
  .backrow{padding:26px 40px 0}
  .buy .cta{min-width:300px}
  .lost{padding:96px 24px 30px}
  .lost h1{font-size:96px}

  /* ---------- pagina prodotto: due colonne ---------- */
  .pdp{display:grid;grid-template-columns:1.02fr .98fr;column-gap:56px;
    align-items:start;padding:0 40px 10px}
  .pdp .backrow{grid-column:1/-1;padding:26px 0 10px}
  .pdp-left{grid-column:1;position:sticky;top:96px}
  .pdp-right{grid-column:2}
  .pdp .sec.correlati{grid-column:1/-1;padding-left:0;padding-right:0}
  .pdp .gallery{padding:0}
  .pdp .slide{flex:0 0 100%}
  .pdp-right .buy{text-align:left;padding:14px 0 2px}
  .pdp-right .buy h1{font-size:44px}
  .pdp-right .price-big{font-size:23px}
  .pdp-right .prose{padding:14px 0 4px}
  .pdp-right .story{margin:24px 0 6px;max-width:none;padding:28px 30px}
  .pdp-right .specs{padding:8px 0 12px;justify-content:flex-start}
  .pdp-right .sec{padding:14px 0 6px}
  .pdp-right .acc{margin:0 0 12px;max-width:none}
  .pdp .correlati .grid{grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto}

  /* ---------- footer ---------- */
  footer{padding:44px 40px 52px}
  footer .logo{font-size:20px}
  .cols{max-width:600px;margin:30px auto 26px;gap:8px 80px}
}

/* ---------- hover sobri (solo puntatori fini, motion consentito) ---------- */
@media (hover:hover) and (prefers-reduced-motion: no-preference){
  .cta,.cta-acquista,a.add,.field button,.card{transition:transform .18s ease}
  .cta:hover,.cta-acquista:hover,a.add:hover,.field button:hover{transform:translateY(-2px)}
  .card:hover{transform:translateY(-3px)}
}
@media (hover:hover){
  .nav-top a:hover,.back:hover{background:linear-gradient(180deg,var(--skin2),var(--skin));
    box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
  .cols a:hover,.sec-link:hover,.cta-soft:hover span,.fineprint a:hover{text-decoration:underline}
}

/* ============================================================
   OTTIMIZZAZIONI GUI — giro multi-agent (6 lenti di audit +
   giudice design-system). 21 fix curati, override appesi in
   fondo: vincono in cascata senza toccare la base approvata.
   ============================================================ */
/* — Link nei contenuti fuori palette (blu/viola browser) */
.info a,.acc-body a,.prose a,.buy-note a{color:var(--deep);font-weight:700;text-decoration:underline;text-decoration-color:rgba(115,63,36,.55);text-underline-offset:2px}
/* — Dot galleria PDP: target di tocco e stato attivo leggibile */
.dots{gap:14px}
.dot{position:relative;width:11px;height:11px;box-shadow:inset 1px 1.5px 3px var(--sh),inset -1px -1px 3px var(--hi)}
.dot::after{content:"";position:absolute;inset:-7px;border-radius:99px}
.dot.on{width:28px;border-radius:99px;box-shadow:1.5px 2px 4px var(--sh),-1.5px -1.5px 4px var(--hi)}
@media (prefers-reduced-motion: no-preference){
  .dot{transition:width .25s ease,transform .18s ease}
}
/* — Tap target sotto 44px su controlli ricorrenti */
a.add,.chip,.sec-link,.cta-soft,.back,.drawer a,.fineprint a{position:relative}
a.add::after,.chip::after,.sec-link::after,.cta-soft::after,.back::after,.drawer a::after,.fineprint a::after{content:"";position:absolute}
a.add::after{inset:-5px;border-radius:50%}
.chip::after{inset:-4px -2px;border-radius:99px}
.back::after{inset:-6px -2px;border-radius:99px}
.sec-link::after{inset:-14px -8px}
.cta-soft::after{inset:-12px 0}
.drawer a::after{inset:-2px 0}
.fineprint a::after{inset:-10px -6px}
/* — Feedback :active su tutti i controlli (touch incluso) */
@media (prefers-reduced-motion: no-preference){
  .cta,.cta-acquista,a.add,.field button,.chip,.back,.drawer a{transition:transform .18s ease}
  .cta:active,.cta-acquista:active,a.add:active,.field button:active,.chip:active,.back:active,.drawer a:active{transform:scale(.97)}
}
/* — Taglio netto colonna/fondo: alone morbido sul body */
body{box-shadow:0 0 80px rgba(122,58,32,.3)}
/* — H1 prodotto: style inline che uccide la regola desktop 44px */
.page-title{font-size:36px;line-height:1.06;margin:12px 0 4px}
/* — Form: auto-zoom iOS + select senza affordance di apertura */
.field input{font-size:16px}
select.sort{font-size:16px;padding:8px 34px 8px 14px}
.sortwrap{position:relative}
.sortwrap::after{content:"▾";position:absolute;right:14px;top:50%;margin-top:-8px;font-size:12px;line-height:16px;color:var(--deep);pointer-events:none}
/* — Chip filtro attiva quasi indistinguibile dall'inattiva */
.chip.on{color:var(--deep);box-shadow:inset 4px 4.5px 9px var(--sh),inset -3px -3.5px 8px var(--hi),inset 0 1.5px 3px rgba(122,58,32,.25)}
/* — Card prodotto interamente tappabile (stretched link) */
.name a::after{content:"";position:absolute;inset:0;border-radius:22px}
/* — Ombre dei chip e delle card pietra tagliate dagli scroller */
.chips{padding-bottom:26px;margin-bottom:-18px}
.stones{padding-bottom:30px;margin-bottom:-18px}
/* — Range tablet 600–899: colonna più ariosa e filtri tutti visibili */
@media (min-width:600px) and (max-width:899.98px){
  body{max-width:560px}
  .grain,.vignette{max-width:560px}
  .chips{flex-wrap:wrap;justify-content:center}
}
/* — Pannelli .info fuori famiglia (radius/padding) */
.info{padding:24px;border-radius:24px}
@media (min-width:900px){
  .info{padding:28px 30px}
}
/* — Focus da tastiera che deforma i riquadri in pillole */
a.ph:focus-visible{border-radius:15px}
.acc summary:focus-visible{border-radius:14px}
/* — Stato aperto dell'hamburger e indicatore pagina corrente */
.menu[aria-expanded="true"]{background:linear-gradient(180deg,var(--skin2),var(--skin));box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
.drawer a[aria-current="page"],.nav-top a[aria-current="page"]{color:var(--deep);background:linear-gradient(180deg,var(--skin2),var(--skin));box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
/* — Marcatore accordion a scatto secco */
@media (prefers-reduced-motion: no-preference){
  .acc summary::after{transition:transform .3s ease}
  .acc[open] summary::after{transform:rotate(180deg)}
}
/* — Parole orfane nei testi display e nelle lede */
.eyebrow,h2,.page-hero h1{text-wrap:balance}
.sub,.story p{text-wrap:pretty}
/* — Metriche CTA primario unificate */
.cta-acquista{font-size:13.5px;padding:18px 34px}

@media (min-width:900px){
/* — Colonne PDP incoerenti tra prodotti (min-content dei slide) */
.pdp{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
/* — Perle sottodimensionate nelle cornici desktop */
.ph .bead{width:28px;height:28px}
.ph .bead.s{width:19px;height:19px}
.ig .bead{width:17px;height:17px}
.photo-ph{aspect-ratio:3/2}
.photo-ph .bead.xl{width:58px;height:58px}
.pdp .slide .bead.xl{width:58px;height:58px}
.pdp .slide .bead.l{width:38px;height:38px}
.pdp .slide .bead.s{width:18px;height:18px}
/* — Testate di sezione scollegate dal contenuto centrato */
#faq .sec-head{max-width:680px;margin-left:auto;margin-right:auto}
.pdp .correlati .sec-head{max-width:640px;margin-left:auto;margin-right:auto}
.sec:has(+ .stones) .sec-head{justify-content:center}
.sec:has(+ .ig) .sec-head{max-width:820px;margin-left:auto;margin-right:auto}
}

@media (hover:hover) and (prefers-reduced-motion: no-preference){
/* — Hover mancante su chip e dot (unici controlli muti al mouse) */
.chip{transition:transform .18s ease}
.chip.raise:hover{transform:translateY(-2px)}
.dot:not(.on):hover{transform:scale(1.25)}
}

/* — Rifinitura post-validazione: orfani nei paragrafi info/accordion */
.info p,.acc-body p{text-wrap:pretty}

/* — Rifinitura sezioni (sweep manuale): perla dell'empty state a desktop */
@media (min-width:900px){
  .empty .bead{width:30px;height:30px}
}

/* ============================================================
   PERLE VERE — sprite fotografici scontornati (assets/perline/)
   Sostituiscono le composizioni CSS/SVG in tutto il sito.
   ============================================================ */
.pl{display:block;height:calc(21px*var(--rel,1));width:auto;
  filter:drop-shadow(2px 3px 3px rgba(122,58,32,.3))}
.pl.s{height:calc(14px*var(--rel,1))}
.pl.l{height:calc(30px*var(--rel,1))}
.pl.xl{height:calc(46px*var(--rel,1))}
.stone .pl{height:calc(30px*var(--rel,1));margin:0 auto 12px}
.ig .pl{height:calc(13px*var(--rel,1))}
.empty .pl{height:calc(21px*var(--rel,1));margin:0 auto 14px}
.lost .pl{height:calc(34px*var(--rel,1));margin:26px auto 0}
/* collana hero: perle vere sull'arco */
.necklace{position:relative;width:342px;height:118px}
.neck-in{position:relative;width:342px;height:118px}
.necklace svg{position:absolute;inset:0}
.necklace .pl{position:absolute;filter:drop-shadow(2px 4px 4px rgba(122,58,32,.3))}
@media (min-width:900px){
  .necklace{width:342px;height:190px}
  .neck-in{transform:scale(1.55);transform-origin:top center;margin:0 auto}
  .ph .pl{height:calc(28px*var(--rel,1))}
  .ph .pl.s{height:calc(19px*var(--rel,1))}
  .ig .pl{height:calc(17px*var(--rel,1))}
  .pdp .slide .pl.xl{height:calc(58px*var(--rel,1))}
  .pdp .slide .pl.l{height:calc(38px*var(--rel,1))}
  .pdp .slide .pl.s{height:calc(18px*var(--rel,1))}
  .photo-ph .pl.xl{height:calc(58px*var(--rel,1))}
  .empty .pl{height:calc(26px*var(--rel,1))}
}

/* ============================================================
   CONFIGURATORE BRACCIALE — perle vere, scelte una a una
   ============================================================ */
.braccialetto-wrap{margin:10px 20px 6px;padding:20px;border-radius:24px;text-align:center}
.braccialetto{position:relative;width:300px;height:300px;margin:0 auto}
.slot{position:absolute;width:40px;height:40px;border:none;cursor:pointer;padding:0;
  border-radius:50%;background:linear-gradient(180deg,var(--skin2),var(--skin));
  box-shadow:inset 2px 2.5px 6px var(--sh),inset -2px -2px 6px var(--hi);
  display:flex;align-items:center;justify-content:center}
.slot img{height:76%;width:auto;filter:drop-shadow(1.5px 2.5px 2.5px rgba(122,58,32,.3));pointer-events:none}
.slot.sel{background:linear-gradient(180deg,#e2bb9e,#c79c7d);
  box-shadow:2px 3px 7px var(--sh),-2px -2px 6px var(--hi),inset 0 1.5px 0 rgba(246,222,202,.85)}
.chiusura-info{display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--deep);
  padding:8px 16px;border-radius:99px}
.chiusura-info img{height:22px;width:auto}
.tools{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:14px 20px 4px}
.tool{border:none;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--deep);padding:11px 17px;border-radius:99px}
.catalogo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:6px 20px 4px}
.perla-btn{border:none;cursor:pointer;font-family:inherit;border-radius:16px;padding:10px 6px 8px;
  display:flex;flex-direction:column;align-items:center;gap:6px}
.perla-btn img{height:calc(26px*var(--rel,1));width:auto;filter:drop-shadow(1.5px 2.5px 2.5px rgba(122,58,32,.3));pointer-events:none}
.perla-btn span{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--deep);line-height:1.2}
.perla-btn.on{background:linear-gradient(180deg,var(--skin2),var(--skin));
  box-shadow:inset 2.5px 3px 7px var(--sh),inset -2.5px -2.5px 7px var(--hi)}
.gruppo-perline[hidden]{display:none}
.riepilogo{margin:18px 20px 8px;padding:24px 22px;border-radius:24px;text-align:center}
.riepilogo .conteggio{font-size:12px;line-height:1.8;color:var(--ink);margin-bottom:14px}
.misura-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.misura-row label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
@media (min-width:900px){
  .config-grid{display:grid;grid-template-columns:1.02fr .98fr;column-gap:48px;align-items:start;padding:0 40px}
  .config-grid .colonna-sx{position:sticky;top:96px}
  .braccialetto{width:340px;height:340px}
  .slot{width:46px;height:46px}

  .catalogo{grid-template-columns:repeat(5,1fr);padding:6px 0 4px}
  .braccialetto-wrap{margin:10px 0 6px}
  .tools{padding:14px 0 4px}
  .riepilogo{margin:18px 0 8px}
  .config-grid .chips{padding-left:0;padding-right:0}
}

/* ============================================================
   DESKTOP A TUTTA LARGHEZZA — niente colonna con margini:
   il fondo pelle riempie lo schermo, il contenuto resta
   centrato con gutter fluidi (max 1200px utili).
   ============================================================ */
@media (min-width:900px){
  :root{--wrap:1200px;--gutter:max(40px,calc((100vw - var(--wrap)) / 2))}
  body{max-width:none;box-shadow:none}
  .grain,.vignette{max-width:none}
  body::before{width:min(1500px,100vw);height:600px}
  header{padding-left:var(--gutter);padding-right:var(--gutter)}
  .sec,.chips,.stones,.sortrow,.backrow,.pdp,.config-grid,footer{
    padding-left:var(--gutter);padding-right:var(--gutter)}
  .pdp .backrow{padding-left:0;padding-right:0}
}

/* — nit: il link di sezione non va a capo */
.sec-head .sec-link{white-space:nowrap;margin-left:12px}

/* ============================================================
   CARRELLO — pannello sotto l'header, badge live
   ============================================================ */
.bag{border:none;cursor:pointer;font-family:inherit}
.bag span{margin-left:0}
.carrello{position:absolute;top:calc(100% + 4px);right:14px;z-index:56;width:min(340px,calc(100vw - 28px));
  border-radius:22px;padding:18px;text-align:center}
.carrello[hidden]{display:none}
.car-tit{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--deep);margin-bottom:12px}
.car-vuoto{font-size:13px;line-height:1.6;color:var(--soft);padding:8px 0 4px}
.car-item{display:flex;align-items:center;gap:10px;border-radius:16px;padding:10px 12px;margin-bottom:10px}
.car-mini{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.car-mini img{height:calc(13px*var(--rel,1));width:auto}
.car-info{flex:1;text-align:left;min-width:0}
.car-info b{display:block;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.car-info small{font-size:10.5px;color:var(--soft)}
.car-x{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;
  font-size:15px;line-height:1;color:var(--deep);font-family:Arial,Helvetica,sans-serif;
  display:flex;align-items:center;justify-content:center}
.carrello .cta-acquista{margin-top:6px}
.carrello .tool{margin-top:10px}
.car-nota{font-size:10px;line-height:1.5;color:var(--soft);margin-top:12px}
@media (min-width:900px){
  .carrello{right:var(--gutter)}
}

/* — collana hero: lo span fluttua, l'img dentro ruota lungo il filo */
.necklace .plw{position:absolute}
.necklace .plw .pl{position:static;height:100%;width:auto}

/* — filo elastico visibile nell'anteprima (colore = prodotto) */
.filo{position:absolute;border-radius:50%;pointer-events:none;
  border:2.5px solid rgba(244,240,236,.55)}

/* ============================================================
   PERLINE ROTOLANTI — decorazione di sfondo legata allo scroll
   (sotto il contenuto, spenta con prefers-reduced-motion)
   ============================================================ */
.rotolanti{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.rotolanti img{position:absolute;left:0;top:0;height:calc(15px*var(--rel,1));width:auto;
  filter:drop-shadow(2px 3px 3px rgba(122,58,32,.3));will-change:transform}
@media (min-width:900px){
  .rotolanti img{height:calc(22px*var(--rel,1))}
}
@media (prefers-reduced-motion: reduce){
  .rotolanti{display:none}
}

/* ============================================================
   OPZIONI A CHIPS — via i select nativi: tutto materia del sito
   ============================================================ */
.opt-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;margin-bottom:14px}
.opt-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);flex:0 0 100%;text-align:center}
.opt-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.opt-chips .chip{font-size:11px;padding:10px 15px}
.swatch{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--c);
  margin-right:6px;vertical-align:-1px;
  box-shadow:inset 1px 1.5px 2.5px rgba(122,58,32,.35),1px 1.5px 2px rgba(244,216,196,.6)}
.sortwrap{display:flex;align-items:center;gap:8px}
.sortwrap .opt-label{flex:0 0 auto}
@media (min-width:900px){
  .opt-row{gap:10px}
  .opt-label{flex:0 0 auto}
}
