/*!
 * Biancaluna — Creazioni
 * Stili del catalogo, della scheda creazione e delle sezioni collegate.
 *
 * Sono gli stessi fogli delle sezioni consegnate a mano, riuniti in un file
 * unico: cambia la provenienza dei dati, non l'aspetto. Ogni blocco resta
 * chiuso sotto la propria radice, cosi' non tocca il tema.
 */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500&family=Jost:wght@300;400;500&display=swap");

/* ============================================================
   Comuni
   ============================================================ */
html{ overflow-x:clip; }
body{ overflow-x:clip; }

/* Riempitivo per le creazioni ancora senza fotografia: meglio una
   superficie nei colori del marchio che un riquadro vuoto. */
.blc-senza-foto{
  display:block; width:100%; height:100%; min-height:180px;
  background:linear-gradient(160deg,#EFC9C4,#F9F4EF 52%,#C6B3D3);
}

/* Messaggio mostrato quando una sezione non ha ancora contenuti. */
.blc-vuoto-pubblico{
  margin:0; padding:26px 22px; text-align:center;
  font-family:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  font-size:16px; line-height:1.7; color:#6B5E63;
  background:#F9F4EF; border:1px dashed rgba(156,84,100,.26); border-radius:16px;
}

/* ============================================================
   Briciole di pane  (.blb-)
   ============================================================ */
.blb-root{
  --blb-avorio:#FDFBF8;
  --blb-inchiostro:#3F3439;
  --blb-inchiostro-70:#6B5E63;
  --blb-inchiostro-45:#6E6165;
  --blb-rosa:#9C5464;
  --blb-rosa-scuro:#8E4A59;
  --blb-rosa-chiaro:#E4B7C0;
  --blb-linea-tenue:rgba(156,84,100,.15);
  --blb-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blb-margine:clamp(18px,4vw,56px);
  --blb-t:.35s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la barra. */
.blb-root, .blb-root *, .blb-root *::before, .blb-root *::after{ box-sizing:border-box; }
.blb-root{
  display:block;
  font-family:var(--blb-testo); font-weight:400; line-height:1.6;
  color:var(--blb-inchiostro);
}
.blb-root a{ text-decoration:none; color:inherit; }
.blb-root ol{ list-style:none; margin:0; padding:0; }
.blb-root svg{ display:block; }
.blb-root :focus-visible{ outline:2px solid var(--blb-rosa); outline-offset:3px; border-radius:3px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blb-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blb-root .blb-barra{
  background:var(--blb-avorio);
  border-bottom:1px solid var(--blb-linea-tenue);
}
.blb-root .blb-interno{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  width:min(1200px, 100% - 2*var(--blb-margine));
  margin-inline:auto;
  padding-block:clamp(14px,1.6vw,20px);
}

/* ---------- il percorso ---------- */
.blb-root .blb-percorso{ min-width:0; }
.blb-root .blb-percorso ol{
  display:flex; align-items:center; flex-wrap:nowrap;
  /* su schermo stretto scorre invece di andare a capo su tre righe */
  overflow-x:auto; scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg, #000 88%, transparent 100%);
  mask-image:linear-gradient(90deg, #000 88%, transparent 100%);
}
.blb-root .blb-percorso ol::-webkit-scrollbar{ display:none; }
@media (min-width:900px){
  .blb-root .blb-percorso ol{
    overflow:visible; -webkit-mask-image:none; mask-image:none;
  }
}
.blb-root .blb-percorso li{ display:flex; align-items:center; flex:none; }

.blb-root .blb-percorso a,
.blb-root .blb-corrente{
  display:inline-block; white-space:nowrap;
  font-size:13.5px; letter-spacing:.06em;
  padding-block:2px;
}
.blb-root .blb-percorso a{
  color:var(--blb-inchiostro-70);
  border-bottom:1px solid transparent;
  transition:color var(--blb-t), border-color var(--blb-t);
}
.blb-root .blb-percorso a:hover{
  color:var(--blb-rosa); border-bottom-color:var(--blb-linea-tenue);
}
.blb-root .blb-corrente{ color:var(--blb-rosa); }

/* separatore a rombo, come nelle altre sezioni: niente barre oblique */
.blb-root .blb-segno{
  width:5px; height:5px; flex:none;
  margin-inline:clamp(10px,1.4vw,18px);
  background:var(--blb-rosa-chiaro);
  transform:rotate(45deg);
}

/* ---------- ritorno al catalogo ---------- */
.blb-root .blb-ritorno{
  display:none; align-items:center; gap:10px; flex:none;
  font-size:11.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--blb-inchiostro-45);
  transition:color var(--blb-t);
}
.blb-root .blb-ritorno svg{ width:20px; height:9px; transition:transform var(--blb-t); }
.blb-root .blb-ritorno:hover{ color:var(--blb-rosa); }
.blb-root .blb-ritorno:hover svg{ transform:translateX(-4px); }
@media (min-width:900px){ .blb-root .blb-ritorno{ display:inline-flex; } }

@media (prefers-reduced-motion:reduce){
  .blb-root *{ transition-duration:.01ms !important; }
}

/* ============================================================
   Scheda della creazione  (.bld-)
   ============================================================ */
.bld-root{
  --bld-avorio:#FDFBF8;
  --bld-avorio-caldo:#F9F4EF;
  --bld-inchiostro:#3F3439;
  --bld-inchiostro-70:#6B5E63;
  --bld-inchiostro-45:#6E6165;
  --bld-rosa:#9C5464;
  --bld-rosa-scuro:#8E4A59;
  --bld-rosa-chiaro:#E4B7C0;
  --bld-cipria:#EFC9C4;
  --bld-malva:#C6B3D3;
  --bld-lilla:#DACFE7;
  --bld-salvia:#C0CFBA;
  --bld-linea:rgba(156,84,100,.26);
  --bld-linea-tenue:rgba(156,84,100,.15);
  --bld-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --bld-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --bld-margine:clamp(18px,4vw,56px);
  --bld-t:.4s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.bld-root, .bld-root *, .bld-root *::before, .bld-root *::after{ box-sizing:border-box; }
.bld-root{
  display:block;
  font-family:var(--bld-testo); font-weight:400; line-height:1.7;
  color:var(--bld-inchiostro);
}
.bld-root a{ text-decoration:none; color:inherit; }
.bld-root p{ margin:0; }
.bld-root dl{ margin:0; }
.bld-root dd{ margin:0; }
.bld-root img{ display:block; max-width:100%; height:auto; }
.bld-root svg{ display:block; }
.bld-root button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
.bld-root :focus-visible{ outline:2px solid var(--bld-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.bld-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.bld-root .bld-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--bld-avorio);
  padding-block:clamp(34px,4vw,58px) clamp(56px,7vw,104px);
}
.bld-root .bld-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--bld-margine));
  margin-inline:auto;
}

.bld-root .bld-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(70px); mix-blend-mode:multiply;
}
.bld-root .bld-velo--a{
  top:-16%; right:-8%; width:min(480px,42vw); opacity:.3;
  background:radial-gradient(circle at 50% 45%, var(--bld-cipria), transparent 68%);
}
.bld-root .bld-velo--b{
  bottom:-20%; left:-8%; width:min(450px,40vw); opacity:.28;
  background:radial-gradient(circle at 50% 50%, var(--bld-salvia), transparent 68%);
}

/* ---------- impianto ---------- */
.bld-root .bld-griglia{
  display:grid; grid-template-columns:1fr; align-items:start;
  gap:clamp(38px,4.4vw,72px);
}
@media (min-width:980px){
  .bld-root .bld-griglia{ grid-template-columns:1.02fr .98fr; }
  /* la colonna del testo e' piu' lunga: resta ferma la galleria */
  .bld-root .bld-galleria{ position:sticky; top:clamp(96px,12vw,180px); }
}

/* ---------- galleria ---------- */
.bld-root .bld-principale{
  position:relative; display:block; width:100%; padding:0;
  overflow:hidden; aspect-ratio:4/5; border-radius:22px;
  background:linear-gradient(160deg, var(--bld-cipria), var(--bld-avorio-caldo) 55%, var(--bld-lilla));
  box-shadow:0 38px 74px -46px rgba(120,76,88,.55);
  cursor:zoom-in;
}
.bld-root .bld-principale img{ width:100%; height:100%; object-fit:cover; }
.bld-root .bld-lente{
  position:absolute; right:16px; bottom:16px;
  display:grid; place-items:center; width:46px; height:46px;
  border-radius:999px; background:rgba(253,251,248,.94);
  color:var(--bld-rosa);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:transform var(--bld-t);
}
.bld-root .bld-lente svg{ width:19px; height:19px; }
.bld-root .bld-principale:hover .bld-lente{ transform:scale(1.08); }

.bld-root .bld-miniature{
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:clamp(8px,1vw,12px); margin-top:12px;
}
.bld-root .bld-miniatura{
  overflow:hidden; aspect-ratio:1; padding:0;
  border:1px solid transparent; border-radius:12px;
  background:var(--bld-avorio-caldo);
  opacity:.68;
  transition:opacity var(--bld-t), border-color var(--bld-t);
}
.bld-root .bld-miniatura img{ width:100%; height:100%; object-fit:cover; }
.bld-root .bld-miniatura:hover{ opacity:1; }
.bld-root .bld-miniatura[aria-current="true"]{
  opacity:1; border-color:var(--bld-rosa);
}

/* ---------- informazioni ---------- */
.bld-root .bld-categoria{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--bld-rosa); margin-bottom:14px;
}
.bld-root .bld-nome{
  font-family:var(--bld-display); font-weight:400;
  font-size:clamp(34px,4.4vw,56px); line-height:1.08; letter-spacing:-.012em;
  color:var(--bld-inchiostro); margin:0 0 16px;
}

/* occupa il posto del prezzo dicendo come si lavora, non quanto costa */
.bld-root .bld-etichetta{
  display:inline-block; margin-bottom:20px;
  padding:8px 18px; border-radius:999px;
  border:1px solid var(--bld-linea-tenue);
  background:var(--bld-avorio-caldo);
  font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bld-rosa);
}

.bld-root .bld-guida{
  font-size:clamp(16.5px,.4vw+15.4px,17.5px); line-height:1.78;
  color:var(--bld-inchiostro-70); max-width:46ch;
}
.bld-root .bld-guida--stretta{ margin-top:12px; max-width:42ch; }

.bld-root .bld-sottotitolo{
  font-family:var(--bld-display); font-weight:400;
  font-size:clamp(23px,2.2vw,28px); line-height:1.2;
  color:var(--bld-inchiostro); margin:0 0 18px;
}
.bld-root .bld-occhiello{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--bld-rosa); margin-bottom:14px;
}

/* ---------- specifiche ---------- */
.bld-root .bld-specifiche{
  margin-top:clamp(32px,3.6vw,46px);
  padding-top:clamp(26px,3vw,36px);
  border-top:1px solid var(--bld-linea-tenue);
}
.bld-root .bld-riga{
  display:grid; grid-template-columns:1fr; gap:4px;
  padding-block:14px;
  border-bottom:1px solid var(--bld-linea-tenue);
}
@media (min-width:520px){
  .bld-root .bld-riga{ grid-template-columns:minmax(150px,.44fr) 1fr; gap:12px 24px; }
}
.bld-root .bld-riga:last-child{ border-bottom:0; padding-bottom:0; }
.bld-root .bld-riga dt{
  font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bld-inchiostro-45);
}
.bld-root .bld-riga dd{
  font-size:16px; line-height:1.7; color:var(--bld-inchiostro-70);
}

/* ---------- varianti ---------- */
.bld-root .bld-varianti{
  margin-top:clamp(32px,3.6vw,46px);
  padding-top:clamp(26px,3vw,36px);
  border-top:1px solid var(--bld-linea-tenue);
}
.bld-root .bld-varianti__elenco{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(116px,1fr));
  gap:14px; margin-top:20px;
}
.bld-root .bld-variante{
  overflow:hidden; padding:0; text-align:center;
  border:1px solid var(--bld-linea-tenue); border-radius:14px;
  background:var(--bld-avorio);
  transition:border-color var(--bld-t), box-shadow var(--bld-t);
}
.bld-root .bld-variante img{ width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.bld-root .bld-variante span{
  display:block; padding:10px 8px 12px;
  font-size:12.5px; letter-spacing:.08em;
  color:var(--bld-inchiostro-70);
  transition:color var(--bld-t);
}
.bld-root .bld-variante:hover{ border-color:var(--bld-linea); }
.bld-root .bld-variante[aria-pressed="true"]{
  border-color:var(--bld-rosa);
  box-shadow:0 16px 32px -24px rgba(120,76,88,.7);
}
.bld-root .bld-variante[aria-pressed="true"] span{ color:var(--bld-rosa); }

.bld-root .bld-scelta{
  margin-top:16px; font-size:14.5px; color:var(--bld-inchiostro-70);
}
.bld-root .bld-scelta strong{ font-weight:500; color:var(--bld-inchiostro); }

/* ---------- nota su richiesta ---------- */
.bld-root .bld-nota{
  margin-top:clamp(32px,3.6vw,46px);
  padding-left:clamp(18px,2vw,26px);
  border-left:2px solid var(--bld-rosa-chiaro);
  display:grid; gap:12px;
}
.bld-root .bld-nota__voce{
  font-family:var(--bld-testo); font-weight:400;
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--bld-rosa); margin:0;
}
.bld-root .bld-nota p{
  font-size:16px; line-height:1.76; color:var(--bld-inchiostro-70); max-width:48ch;
}

/* ---------- richiesta ---------- */
.bld-root .bld-richiesta{ margin-top:clamp(32px,3.6vw,46px); }
.bld-root .bld-bottone{
  display:inline-flex; align-items:center; gap:11px;
  padding:17px 36px; border-radius:999px;
  background:var(--bld-rosa); border:1px solid var(--bld-rosa); color:#FFF9F8;
  font-size:12.5px; letter-spacing:.13em; text-transform:uppercase;
  box-shadow:0 22px 44px -26px rgba(120,76,88,.9);
  transition:background var(--bld-t), border-color var(--bld-t), transform .3s ease;
}
.bld-root .bld-bottone svg{ width:17px; height:17px; flex:none; }
.bld-root .bld-bottone:hover{ background:var(--bld-rosa-scuro); border-color:var(--bld-rosa-scuro); }
.bld-root .bld-bottone:active{ transform:translateY(1px); }

.bld-root .bld-alternativa{
  margin-top:14px; font-size:15px; color:var(--bld-inchiostro-70);
}
.bld-root .bld-alternativa a{
  color:var(--bld-rosa); border-bottom:1px solid var(--bld-linea-tenue);
  transition:border-color var(--bld-t);
}
.bld-root .bld-alternativa a:hover{ border-bottom-color:var(--bld-rosa); }

/* ---------- galleria a schermo intero ---------- */
.bld-root .bld-schermo{
  position:fixed; inset:0; z-index:9800;
  display:grid; place-items:center;
  padding:clamp(16px,4vw,60px);
  background:rgba(249,244,239,.97);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  opacity:0; visibility:hidden;
  transition:opacity .35s ease, visibility 0s .35s;
}
.bld-root .bld-schermo.is-aperta{ opacity:1; visibility:visible; transition-delay:0s; }
.bld-root .bld-schermo img{
  max-width:min(100%,760px); max-height:82vh; width:auto;
  border-radius:20px; box-shadow:0 40px 80px -46px rgba(120,76,88,.6);
}
.bld-root .bld-chiudi{
  position:absolute; top:clamp(14px,3vw,32px); right:clamp(14px,3vw,32px);
  padding:11px 22px; border-radius:999px;
  border:1px solid var(--bld-linea-tenue); background:rgba(253,251,248,.9);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bld-rosa);
}
.bld-root .bld-scorri{
  position:absolute; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; width:54px; height:54px;
  border-radius:999px; border:1px solid var(--bld-linea-tenue);
  background:rgba(253,251,248,.92); color:var(--bld-rosa);
  font-size:24px; line-height:1;
}
.bld-root .bld-scorri--prec{ left:clamp(10px,2.6vw,34px); }
.bld-root .bld-scorri--succ{ right:clamp(10px,2.6vw,34px); }
.bld-root .bld-conta{
  position:absolute; bottom:clamp(16px,3vw,34px); left:0; right:0;
  text-align:center;
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--bld-inchiostro-45);
}

body.bld-bloccato{ overflow:hidden; }

@media (prefers-reduced-motion:reduce){
  .bld-root *{ animation:none !important; transition-duration:.01ms !important; }
}

/* ============================================================
   Descrizione lunga (uscita dell editor)  (.ble-)
   ============================================================ */
.ble-root{
  --ble-avorio:#FDFBF8;
  --ble-avorio-caldo:#F9F4EF;
  --ble-inchiostro:#3F3439;
  --ble-inchiostro-70:#6B5E63;
  --ble-inchiostro-45:#6E6165;
  --ble-rosa:#9C5464;
  --ble-rosa-scuro:#8E4A59;
  --ble-rosa-chiaro:#E4B7C0;
  --ble-cipria:#EFC9C4;
  --ble-malva:#C6B3D3;
  --ble-lilla:#DACFE7;
  --ble-salvia:#C0CFBA;
  --ble-linea:rgba(156,84,100,.26);
  --ble-linea-tenue:rgba(156,84,100,.15);
  --ble-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --ble-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --ble-margine:clamp(18px,4vw,56px);
  --ble-t:.4s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.ble-root, .ble-root *, .ble-root *::before, .ble-root *::after{ box-sizing:border-box; }
.ble-root{
  display:block;
  font-family:var(--ble-testo); font-weight:400; line-height:1.7;
  color:var(--ble-inchiostro);
}
.ble-root a{ text-decoration:none; color:inherit; }
.ble-root svg{ display:block; }
.ble-root :focus-visible{ outline:2px solid var(--ble-rosa); outline-offset:3px; border-radius:3px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.ble-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.ble-root .ble-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--ble-avorio-caldo);
  padding-block:clamp(58px,7vw,116px);
}
.ble-root .ble-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--ble-margine));
  margin-inline:auto;
}

.ble-root .ble-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.ble-root .ble-velo--a{
  top:-20%; left:-8%; width:min(470px,42vw); opacity:.3;
  background:radial-gradient(circle at 50% 45%, var(--ble-lilla), transparent 68%);
}
.ble-root .ble-velo--b{
  bottom:-24%; right:-8%; width:min(450px,40vw); opacity:.28;
  background:radial-gradient(circle at 50% 50%, var(--ble-cipria), transparent 68%);
}

/* ---------- impianto: titolo a sinistra, racconto a destra ---------- */
.ble-root .ble-griglia{
  display:grid; grid-template-columns:1fr; align-items:start;
  gap:clamp(30px,4vw,66px);
}
@media (min-width:940px){
  .ble-root .ble-griglia{ grid-template-columns:.4fr .6fr; }
  .ble-root .ble-testata{ position:sticky; top:clamp(96px,12vw,180px); }
}

.ble-root .ble-rametto{ width:126px; color:var(--ble-rosa); margin-bottom:18px; }
.ble-root .ble-occhiello{
  margin:0 0 14px;
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ble-rosa);
}
.ble-root .ble-titolo{
  font-family:var(--ble-display); font-weight:400;
  font-size:clamp(29px,3.4vw,44px); line-height:1.14; letter-spacing:-.01em;
  color:var(--ble-inchiostro); margin:0; text-wrap:balance;
  max-width:16ch;
}

/* ==========================================================================
   TESTO DALL'EDITOR
   Da qui in giu' gli stili valgono per qualunque cosa scriva la cliente:
   non serve che conosca classi o codice.
   ========================================================================== */
.ble-root .ble-testo{ max-width:62ch; }

.ble-root .ble-testo > *:first-child{ margin-top:0; }
.ble-root .ble-testo > *:last-child{ margin-bottom:0; }

.ble-root .ble-testo p{
  margin:0 0 1.15em;
  font-size:clamp(16.5px,.4vw+15.4px,17.5px); line-height:1.82;
  color:var(--ble-inchiostro-70);
}

/* la prima riga apre il racconto */
.ble-root .ble-testo > p:first-of-type{
  font-family:var(--ble-display);
  font-size:clamp(20px,2vw,25px); line-height:1.5;
  color:var(--ble-inchiostro);
  margin-bottom:1.1em;
}

.ble-root .ble-testo h3,
.ble-root .ble-testo h4{
  font-family:var(--ble-display); font-weight:400;
  font-size:clamp(21px,2vw,26px); line-height:1.22;
  color:var(--ble-inchiostro);
  margin:1.9em 0 .6em;
}

.ble-root .ble-testo strong, .ble-root .ble-testo b{
  font-weight:500; color:var(--ble-inchiostro);
}
.ble-root .ble-testo em, .ble-root .ble-testo i{
  font-style:italic;
}

.ble-root .ble-testo a{
  color:var(--ble-rosa);
  border-bottom:1px solid var(--ble-linea-tenue);
  transition:border-color var(--ble-t);
}
.ble-root .ble-testo a:hover{ border-bottom-color:var(--ble-rosa); }

/* elenchi: rombi rosa antico, coerenti col resto del sito */
.ble-root .ble-testo ul,
.ble-root .ble-testo ol{
  margin:0 0 1.3em; padding:0; list-style:none;
  display:grid; gap:.62em;
}
.ble-root .ble-testo li{
  position:relative; padding-left:1.6em;
  font-size:clamp(16px,.35vw+15.2px,17px); line-height:1.75;
  color:var(--ble-inchiostro-70);
}
.ble-root .ble-testo ul > li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:7px; height:7px;
  background:var(--ble-rosa-chiaro); transform:rotate(45deg);
}
/* elenco numerato: cifra in Cormorant, niente pallini di sistema */
.ble-root .ble-testo ol{ counter-reset:ble-voce; }
.ble-root .ble-testo ol > li{ padding-left:2em; }
.ble-root .ble-testo ol > li::before{
  counter-increment:ble-voce; content:counter(ble-voce) ".";
  position:absolute; left:0; top:0;
  font-family:var(--ble-display); font-size:1.15em; line-height:1.5;
  color:var(--ble-rosa);
}

.ble-root .ble-testo blockquote{
  margin:1.6em 0; padding-left:clamp(16px,1.8vw,24px);
  border-left:2px solid var(--ble-rosa-chiaro);
  font-family:var(--ble-display); font-style:italic;
  font-size:clamp(19px,1.8vw,23px); line-height:1.48;
  color:var(--ble-inchiostro);
}
.ble-root .ble-testo blockquote p{
  font-family:inherit; font-size:inherit; line-height:inherit;
  color:inherit; margin:0;
}

.ble-root .ble-testo hr{
  border:0; height:1px; background:var(--ble-linea-tenue);
  margin:2em 0;
}
.ble-root .ble-testo img{
  display:block; max-width:100%; height:auto;
  border-radius:16px; margin:1.6em 0;
}

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.ble-root.ble-pronta .ble-entra{
  opacity:0; transform:translateY(18px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 120ms);
}
.ble-root.ble-pronta.ble-vista .ble-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .ble-root *{ animation:none !important; transition-duration:.01ms !important; }
  .ble-root.ble-pronta .ble-entra{ opacity:1; transform:none; }
}

/* ============================================================
   Su misura  (.blj-)
   ============================================================ */
.blj-root{
  --blj-avorio:#FDFBF8;
  --blj-avorio-caldo:#F9F4EF;
  --blj-inchiostro:#3F3439;
  --blj-inchiostro-70:#6B5E63;
  --blj-inchiostro-45:#6E6165;
  --blj-rosa:#9C5464;
  --blj-rosa-scuro:#8E4A59;
  --blj-rosa-chiaro:#E4B7C0;
  --blj-cipria:#EFC9C4;
  --blj-malva:#C6B3D3;
  --blj-lilla:#DACFE7;
  --blj-pesca:#F3D2B7;
  --blj-linea:rgba(156,84,100,.3);
  --blj-linea-tenue:rgba(156,84,100,.15);
  --blj-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blj-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blj-margine:clamp(18px,4vw,56px);
  --blj-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.blj-root, .blj-root *, .blj-root *::before, .blj-root *::after{ box-sizing:border-box; }
.blj-root{
  display:block;
  font-family:var(--blj-testo); font-weight:400; line-height:1.7;
  color:var(--blj-inchiostro);
}
.blj-root a{ text-decoration:none; color:inherit; }
.blj-root p{ margin:0; }
.blj-root svg{ display:block; }
.blj-root :focus-visible{ outline:2px solid var(--blj-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blj-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

/* ---------- la fascia ----------
   Filetti solo sopra e sotto, nessun bordo laterale: e' un passaggio, non
   un riquadro. Le altre sezioni dichiarative usano cornici chiuse, un
   cerchio o nessun bordo: questa si distingue proprio dall'apertura. */
.blj-root .blj-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blj-avorio);
  border-block:1px solid var(--blj-linea);
  padding-block:clamp(62px,7.6vw,120px);
}
.blj-root .blj-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blj-margine));
  margin-inline:auto;
}

.blj-root .blj-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(70px); mix-blend-mode:multiply;
}
.blj-root .blj-velo--a{
  top:-24%; left:-6%; width:min(520px,46vw); opacity:.44;
  background:radial-gradient(circle at 50% 45%, var(--blj-cipria), transparent 68%);
}
.blj-root .blj-velo--b{
  bottom:-26%; right:-6%; width:min(500px,44vw); opacity:.42;
  background:radial-gradient(circle at 50% 50%, var(--blj-malva), transparent 68%);
}
.blj-root .blj-spruzzi{
  position:absolute; z-index:2; left:7%; bottom:13%;
  width:min(210px,20vw); aspect-ratio:1; pointer-events:none; opacity:.4;
  background-image:
    radial-gradient(rgba(156,84,100,.4) 1.5px, transparent 1.6px),
    radial-gradient(rgba(156,84,100,.24) 1.1px, transparent 1.2px);
  background-size:32px 29px, 18px 21px;
  background-position:0 0, 10px 6px;
  -webkit-mask-image:radial-gradient(circle at 45% 50%, #000 12%, transparent 68%);
  mask-image:radial-gradient(circle at 45% 50%, #000 12%, transparent 68%);
}

/* ---------- contenuto ---------- */
.blj-root .blj-contenuto{
  max-width:44rem; margin-inline:auto; text-align:center;
}
.blj-root .blj-rametto{
  width:clamp(122px,13vw,148px); color:var(--blj-rosa); margin:0 auto 22px;
}

/* La domanda sta sopra al titolo: e' il pensiero di chi sta guardando la
   creazione. Tondo e contenuto, cosi' introduce senza rubare la scena al
   titolo che segue. */
.blj-root .blj-domanda{
  font-family:var(--blj-display); font-style:normal; font-weight:400;
  font-size:clamp(17px,1.7vw,21px); line-height:1.42; letter-spacing:.005em;
  color:var(--blj-rosa);
  max-width:30ch; margin-inline:auto; margin-bottom:16px;
}
.blj-root .blj-titolo{
  font-family:var(--blj-display); font-weight:400;
  font-size:clamp(34px,4.8vw,62px); line-height:1.08; letter-spacing:-.014em;
  color:var(--blj-inchiostro); margin:0 0 22px; text-wrap:balance;
}
.blj-root .blj-guida{
  font-size:clamp(16.5px,.45vw+15.3px,18px); line-height:1.78;
  color:var(--blj-inchiostro-70);
  max-width:46ch; margin-inline:auto;
}

.blj-root .blj-azioni{
  display:flex; justify-content:center; margin-top:clamp(30px,3.4vw,44px);
}
.blj-root .blj-bottone{
  display:inline-flex; align-items:center; gap:14px;
  padding:16px 38px; border-radius:999px;
  border:1px solid var(--blj-linea); background:transparent;
  font-size:12.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--blj-rosa);
  transition:background var(--blj-t), color var(--blj-t),
             border-color var(--blj-t), transform .3s ease;
}
.blj-root .blj-bottone svg{ width:22px; height:10px; transition:transform var(--blj-t); }
.blj-root .blj-bottone:hover{
  background:var(--blj-rosa); border-color:var(--blj-rosa); color:#FFF9F8;
}
.blj-root .blj-bottone:hover svg{ transform:translateX(5px); }
.blj-root .blj-bottone:active{ transform:translateY(1px); }

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.blj-root.blj-pronta .blj-entra{
  opacity:0; transform:translateY(18px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 110ms);
}
.blj-root.blj-pronta.blj-vista .blj-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .blj-root *{ animation:none !important; transition-duration:.01ms !important; }
  .blj-root.blj-pronta .blj-entra{ opacity:1; transform:none; }
}

/* ============================================================
   Creazioni correlate  (.bla-)
   ============================================================ */
.bla-root{
  --bla-avorio:#FDFBF8;
  --bla-avorio-caldo:#F9F4EF;
  --bla-inchiostro:#3F3439;
  --bla-inchiostro-70:#6B5E63;
  --bla-inchiostro-45:#6E6165;
  --bla-rosa:#9C5464;
  --bla-rosa-scuro:#8E4A59;
  --bla-rosa-chiaro:#E4B7C0;
  --bla-cipria:#EFC9C4;
  --bla-malva:#C6B3D3;
  --bla-lilla:#DACFE7;
  --bla-salvia:#C0CFBA;
  --bla-linea:rgba(156,84,100,.26);
  --bla-linea-tenue:rgba(156,84,100,.15);
  --bla-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --bla-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --bla-margine:clamp(18px,4vw,56px);
  --bla-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.bla-root, .bla-root *, .bla-root *::before, .bla-root *::after{ box-sizing:border-box; }
.bla-root{
  display:block;
  font-family:var(--bla-testo); font-weight:400; line-height:1.7;
  color:var(--bla-inchiostro);
}
.bla-root a{ text-decoration:none; color:inherit; }
.bla-root p{ margin:0; }
.bla-root img{ display:block; max-width:100%; height:auto; }
.bla-root svg{ display:block; }
.bla-root :focus-visible{ outline:2px solid var(--bla-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.bla-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.bla-root .bla-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--bla-avorio);
  padding-block:clamp(60px,7.4vw,120px);
}
.bla-root .bla-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--bla-margine));
  margin-inline:auto;
}

.bla-root .bla-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.bla-root .bla-velo--a{
  top:-20%; right:-8%; width:min(470px,42vw); opacity:.3;
  background:radial-gradient(circle at 50% 45%, var(--bla-lilla), transparent 68%);
}
.bla-root .bla-velo--b{
  bottom:-24%; left:-8%; width:min(450px,40vw); opacity:.28;
  background:radial-gradient(circle at 50% 50%, var(--bla-cipria), transparent 68%);
}

/* ---------- testata ---------- */
.bla-root .bla-testata{
  max-width:38rem; margin:0 auto clamp(36px,4vw,56px); text-align:center;
}
.bla-root .bla-occhiello{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--bla-rosa); margin-bottom:14px;
}
.bla-root .bla-titolo{
  font-family:var(--bla-display); font-weight:400;
  font-size:clamp(30px,3.8vw,48px); line-height:1.12; letter-spacing:-.01em;
  color:var(--bla-inchiostro); margin:0; text-wrap:balance;
}

/* ---------- schede ----------
   Riquadri quadrati, piu' leggeri di quelli verticali della home: qui la
   sezione chiude una pagina gia' lunga e non deve pesare. */
.bla-root .bla-pista{ position:relative; }
.bla-root .bla-griglia{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(22px,2.6vw,36px) clamp(16px,2vw,28px);
}
@media (min-width:900px){
  .bla-root .bla-griglia{ grid-template-columns:repeat(4,1fr); }
}

.bla-root .bla-scheda{ display:block; }

.bla-root .bla-scheda__foto{
  display:block; overflow:hidden; aspect-ratio:1; border-radius:18px;
  background:linear-gradient(160deg, var(--bla-cipria), var(--bla-avorio-caldo) 55%, var(--bla-lilla));
  box-shadow:0 26px 52px -40px rgba(120,76,88,.5);
}
.bla-root .bla-scheda__foto img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.bla-root .bla-scheda:hover .bla-scheda__foto img,
.bla-root .bla-scheda:focus-visible .bla-scheda__foto img{ transform:scale(1.06); }

.bla-root .bla-scheda__corpo{ display:block; margin-top:16px; }
.bla-root .bla-scheda__categoria{
  display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--bla-inchiostro-45); margin-bottom:7px;
}
.bla-root .bla-scheda__nome{
  display:block; font-family:var(--bla-display);
  font-size:clamp(19px,1.6vw,23px); line-height:1.24;
  color:var(--bla-inchiostro); transition:color var(--bla-t);
}
.bla-root .bla-scheda:hover .bla-scheda__nome{ color:var(--bla-rosa); }

.bla-root .bla-scheda__scopri{
  display:flex; align-items:center; gap:9px; margin-top:7px;
  font-size:12px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--bla-rosa);
  opacity:0; transform:translateY(4px);
  transition:opacity var(--bla-t), transform var(--bla-t);
}
.bla-root .bla-scheda__scopri svg{ width:20px; height:8px; }
.bla-root .bla-scheda:hover .bla-scheda__scopri,
.bla-root .bla-scheda:focus-visible .bla-scheda__scopri{ opacity:1; transform:none; }
/* senza puntatore l'invito non comparirebbe mai */
@media (hover:none){
  .bla-root .bla-scheda__scopri{ opacity:1; transform:none; }
}

/* ---------- carosello su schermi stretti ---------- */
.bla-root .bla-suggerimento{ display:none; }
@media (max-width:640px){
  .bla-root .bla-pista{
    margin-inline:calc(-1 * var(--bla-margine));
    padding-inline:var(--bla-margine);
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scrollbar-width:none;
  }
  .bla-root .bla-pista::-webkit-scrollbar{ display:none; }
  .bla-root .bla-griglia{
    /* larghezza esplicita: con minmax(0,...) le colonne si comprimerebbero
       per stare nella pista e il carosello non scorrerebbe */
    grid-template-columns:none;
    grid-auto-flow:column; grid-auto-columns:62vw;
    width:max-content; gap:14px;
  }
  .bla-root .bla-scheda{ scroll-snap-align:center; }
  .bla-root .bla-suggerimento{
    display:block; text-align:center; margin-top:18px;
    font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
    color:var(--bla-inchiostro-45);
  }
}

/* ---------- collegamento finale ---------- */
.bla-root .bla-azioni{
  display:flex; justify-content:center; margin-top:clamp(38px,4.4vw,62px);
}
.bla-root .bla-collegamento{
  display:inline-flex; align-items:center; gap:14px;
  padding-bottom:8px; border-bottom:1px solid var(--bla-linea);
  font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--bla-rosa);
  transition:border-color var(--bla-t), color var(--bla-t);
}
.bla-root .bla-collegamento svg{ width:22px; height:10px; transition:transform var(--bla-t); }
.bla-root .bla-collegamento:hover{ border-color:var(--bla-rosa); color:var(--bla-rosa-scuro); }
.bla-root .bla-collegamento:hover svg{ transform:translateX(5px); }

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.bla-root.bla-pronta .bla-entra{
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 90ms);
}
.bla-root.bla-pronta.bla-vista .bla-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .bla-root *{ animation:none !important; transition-duration:.01ms !important; }
  .bla-root.bla-pronta .bla-entra{ opacity:1; transform:none; }
  .bla-root .bla-pista{ scroll-snap-type:none; }
}

/* ============================================================
   Chiusura della scheda  (.blf-)
   ============================================================ */
.blf-root{
  --blf-avorio:#FDFBF8;
  --blf-avorio-caldo:#F9F4EF;
  --blf-inchiostro:#3F3439;
  --blf-inchiostro-70:#6B5E63;
  --blf-inchiostro-45:#6E6165;
  --blf-rosa:#9C5464;
  --blf-rosa-scuro:#8E4A59;
  --blf-rosa-chiaro:#E4B7C0;
  --blf-cipria:#EFC9C4;
  --blf-malva:#C6B3D3;
  --blf-lilla:#DACFE7;
  --blf-salvia:#C0CFBA;
  --blf-linea:rgba(156,84,100,.26);
  --blf-linea-tenue:rgba(156,84,100,.15);
  --blf-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blf-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blf-margine:clamp(18px,4vw,56px);
  --blf-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.blf-root, .blf-root *, .blf-root *::before, .blf-root *::after{ box-sizing:border-box; }
.blf-root{
  display:block;
  font-family:var(--blf-testo); font-weight:400; line-height:1.7;
  color:var(--blf-inchiostro);
}
.blf-root a{ text-decoration:none; color:inherit; }
.blf-root p{ margin:0; }
.blf-root svg{ display:block; }
.blf-root :focus-visible{ outline:2px solid var(--blf-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blf-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blf-root .blf-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blf-avorio-caldo);
  /* bassa di proposito: e' un promemoria, non una seconda hero */
  padding-block:clamp(46px,5.4vw,84px);
}
.blf-root .blf-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blf-margine));
  margin-inline:auto;
}

.blf-root .blf-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.blf-root .blf-velo--a{
  top:-30%; left:-6%; width:min(440px,40vw); opacity:.36;
  background:radial-gradient(circle at 50% 45%, var(--blf-cipria), transparent 68%);
}
.blf-root .blf-velo--b{
  bottom:-34%; right:-6%; width:min(420px,38vw); opacity:.34;
  background:radial-gradient(circle at 50% 50%, var(--blf-lilla), transparent 68%);
}

/* ---------- la barra ----------
   Testo a sinistra e azione a destra, non un blocco centrato: la pagina
   ha gia' una chiamata a WhatsApp accanto al prodotto, questa deve
   ricordare senza ripetere lo stesso impianto. */
.blf-root .blf-barra{
  display:grid; grid-template-columns:1fr; align-items:center;
  gap:clamp(24px,3vw,48px);
  padding:clamp(28px,3.4vw,48px) clamp(24px,3.2vw,52px);
  background:var(--blf-avorio);
  border:1px solid var(--blf-linea-tenue);
  border-radius:clamp(18px,2.2vw,28px);
  box-shadow:0 30px 60px -46px rgba(120,76,88,.45);
}
@media (min-width:900px){
  .blf-root .blf-barra{ grid-template-columns:1.2fr auto; }
}

.blf-root .blf-occhiello{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--blf-rosa); margin-bottom:14px;
}
.blf-root .blf-titolo{
  font-family:var(--blf-display); font-weight:400;
  font-size:clamp(27px,3.2vw,40px); line-height:1.14; letter-spacing:-.01em;
  color:var(--blf-inchiostro); margin:0 0 14px; text-wrap:balance;
  max-width:22ch;
}
.blf-root .blf-guida{
  font-size:clamp(16px,.35vw+15.2px,17px); line-height:1.76;
  color:var(--blf-inchiostro-70); max-width:48ch;
}

.blf-root .blf-azioni{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
}
@media (min-width:900px){
  .blf-root .blf-azioni{ align-items:center; }
}

.blf-root .blf-bottone{
  display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  padding:17px 38px; border-radius:999px;
  background:var(--blf-rosa); border:1px solid var(--blf-rosa); color:#FFF9F8;
  font-size:12.5px; letter-spacing:.13em; text-transform:uppercase;
  box-shadow:0 22px 44px -28px rgba(120,76,88,.9);
  transition:background var(--blf-t), border-color var(--blf-t), transform .3s ease;
}
.blf-root .blf-bottone svg{ width:17px; height:17px; flex:none; }
.blf-root .blf-bottone:hover{ background:var(--blf-rosa-scuro); border-color:var(--blf-rosa-scuro); }
.blf-root .blf-bottone:active{ transform:translateY(1px); }

.blf-root .blf-alternativa{
  font-size:14.5px; color:var(--blf-inchiostro-70);
}
.blf-root .blf-alternativa a{
  color:var(--blf-rosa);
  border-bottom:1px solid var(--blf-linea-tenue);
  transition:border-color var(--blf-t);
}
.blf-root .blf-alternativa a:hover{ border-bottom-color:var(--blf-rosa); }

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.blf-root.blf-pronta .blf-entra{
  opacity:0; transform:translateY(18px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
}
.blf-root.blf-pronta.blf-vista .blf-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .blf-root *{ animation:none !important; transition-duration:.01ms !important; }
  .blf-root.blf-pronta .blf-entra{ opacity:1; transform:none; }
}

/* ============================================================
   Creazioni in evidenza  (.blp-)
   ============================================================ */
.blp-root{
  --blp-avorio:#FDFBF8;
  --blp-avorio-caldo:#F9F4EF;
  --blp-inchiostro:#3F3439;
  --blp-inchiostro-70:#6B5E63;
  --blp-inchiostro-45:#6E6165;
  --blp-rosa:#9C5464;
  --blp-rosa-scuro:#8E4A59;
  --blp-rosa-chiaro:#E4B7C0;
  --blp-cipria:#EFC9C4;
  --blp-malva:#C6B3D3;
  --blp-lilla:#DACFE7;
  --blp-salvia:#C0CFBA;
  --blp-linea:rgba(156,84,100,.26);
  --blp-linea-tenue:rgba(156,84,100,.15);
  --blp-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blp-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blp-margine:clamp(18px,4vw,56px);
  --blp-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.blp-root, .blp-root *, .blp-root *::before, .blp-root *::after{ box-sizing:border-box; }
.blp-root{
  display:block;
  font-family:var(--blp-testo); font-weight:400; line-height:1.7;
  color:var(--blp-inchiostro);
}
.blp-root a{ text-decoration:none; color:inherit; }
.blp-root p{ margin:0; }
.blp-root img{ display:block; max-width:100%; height:auto; }
.blp-root :focus-visible{ outline:2px solid var(--blp-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blp-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blp-root .blp-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blp-avorio-caldo);
  padding-block:clamp(64px,8vw,132px);
}
.blp-root .blp-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blp-margine));
  margin-inline:auto;
}

.blp-root .blp-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.blp-root .blp-velo--a{
  top:-20%; right:-8%; width:min(500px,44vw); opacity:.38;
  background:radial-gradient(circle at 50% 45%, var(--blp-salvia), transparent 68%);
}
.blp-root .blp-velo--b{
  bottom:-26%; left:-9%; width:min(460px,42vw); opacity:.36;
  background:radial-gradient(circle at 50% 50%, var(--blp-cipria), transparent 68%);
}

/* ---------- testata giustificata ---------- */
.blp-root .blp-testata{
  display:grid; gap:26px;
  margin-bottom:clamp(42px,4.6vw,68px);
  padding-bottom:clamp(26px,3vw,38px);
  border-bottom:1px solid var(--blp-linea-tenue);
}
@media (min-width:900px){
  .blp-root .blp-testata{
    grid-template-columns:1fr auto; align-items:end; gap:40px;
  }
}
.blp-root .blp-occhiello{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--blp-rosa); margin-bottom:16px;
}
.blp-root .blp-titolo{
  font-family:var(--blp-display); font-weight:400;
  font-size:clamp(32px,4.2vw,54px); line-height:1.12; letter-spacing:-.01em;
  color:var(--blp-inchiostro); margin:0 0 18px; text-wrap:balance;
  max-width:20ch;
}
.blp-root .blp-guida{
  font-size:clamp(16.5px,.4vw+15.4px,17.5px); line-height:1.78;
  color:var(--blp-inchiostro-70); max-width:44ch;
}

.blp-root .blp-collegamento{
  display:inline-flex; align-items:center; gap:14px;
  padding-bottom:8px; border-bottom:1px solid var(--blp-linea);
  font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--blp-rosa); white-space:nowrap;
  transition:border-color var(--blp-t), color var(--blp-t);
}
.blp-root .blp-collegamento svg{ width:22px; height:10px; transition:transform var(--blp-t); }
.blp-root .blp-collegamento:hover{ border-color:var(--blp-rosa); color:var(--blp-rosa-scuro); }
.blp-root .blp-collegamento:hover svg{ transform:translateX(5px); }
/* il collegamento in testata compare solo dove c'e' spazio accanto al titolo */
.blp-root .blp-collegamento--alto{ display:none; }
@media (min-width:900px){
  .blp-root .blp-collegamento--alto{ display:inline-flex; }
}

/* ---------- griglia delle creazioni ---------- */
.blp-root .blp-griglia{
  display:grid; gap:clamp(28px,3vw,44px) clamp(16px,2vw,30px);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:1000px){
  .blp-root .blp-griglia{ grid-template-columns:repeat(4,1fr); }
}

.blp-root .blp-scheda{ display:block; }

.blp-root .blp-scheda__foto{
  position:relative; display:block; overflow:hidden;
  aspect-ratio:4/5; border-radius:20px;
  background:linear-gradient(165deg, var(--blp-lilla), var(--blp-avorio) 55%, var(--blp-cipria));
  box-shadow:0 28px 56px -42px rgba(120,76,88,.5);
}
.blp-root .blp-scheda__foto img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.blp-root .blp-scheda:hover .blp-scheda__foto img,
.blp-root .blp-scheda:focus-visible .blp-scheda__foto img{ transform:scale(1.05); }

/* pastiglia con la freccia: sostituisce il pulsante, che qui non serve
   perche' non si vende online */
.blp-root .blp-bolla{
  position:absolute; right:14px; bottom:14px;
  display:grid; place-items:center; width:42px; height:42px;
  border-radius:999px; background:rgba(253,251,248,.94);
  color:var(--blp-rosa);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; transform:translateY(8px) scale(.9);
  transition:opacity var(--blp-t), transform var(--blp-t);
}
.blp-root .blp-bolla svg{ width:17px; height:17px; }
.blp-root .blp-scheda:hover .blp-bolla,
.blp-root .blp-scheda:focus-visible .blp-bolla{ opacity:1; transform:none; }

.blp-root .blp-scheda__corpo{
  display:block; margin-top:18px;
  padding-top:14px; border-top:1px solid var(--blp-linea-tenue);
  transition:border-color var(--blp-t);
}
.blp-root .blp-scheda:hover .blp-scheda__corpo{ border-top-color:var(--blp-linea); }

.blp-root .blp-scheda__categoria{
  display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--blp-inchiostro-45); margin-bottom:8px;
}
.blp-root .blp-scheda__nome{
  display:block; font-family:var(--blp-display);
  font-size:clamp(20px,1.7vw,24px); line-height:1.24;
  color:var(--blp-inchiostro); transition:color var(--blp-t);
}
.blp-root .blp-scheda:hover .blp-scheda__nome{ color:var(--blp-rosa); }

.blp-root .blp-scheda__scopri{
  display:block; margin-top:8px;
  font-size:12px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--blp-rosa);
  opacity:0; transform:translateY(4px);
  transition:opacity var(--blp-t), transform var(--blp-t);
}
.blp-root .blp-scheda:hover .blp-scheda__scopri,
.blp-root .blp-scheda:focus-visible .blp-scheda__scopri{ opacity:1; transform:none; }
/* senza puntatore l'invito e la pastiglia non comparirebbero mai */
@media (hover:none){
  .blp-root .blp-scheda__scopri{ opacity:1; transform:none; }
  .blp-root .blp-bolla{ opacity:1; transform:none; }
}

/* ---------- azione in fondo (solo sotto i 900px) ----------
   La regola che la nasconde va dopo questa, altrimenti perde il confronto
   e i due collegamenti compaiono entrambi. */
.blp-root .blp-azioni{
  display:flex; justify-content:center;
  margin-top:clamp(40px,4.6vw,64px);
}
@media (min-width:900px){
  .blp-root .blp-azioni{ display:none; }
}

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.blp-root.blp-pronta .blp-entra{
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 90ms);
}
.blp-root.blp-pronta.blp-vista .blp-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .blp-root *{ animation:none !important; transition-duration:.01ms !important; }
  .blp-root.blp-pronta .blp-entra{ opacity:1; transform:none; }
}

/* ============================================================
   Categorie in nicchia (home)  (.blc-)
   ============================================================ */
.blc-root{
  --blc-avorio:#FDFBF8;
  --blc-avorio-caldo:#F9F4EF;
  --blc-inchiostro:#3F3439;
  --blc-inchiostro-70:#6B5E63;
  --blc-inchiostro-45:#6E6165;
  --blc-rosa:#9C5464;
  --blc-rosa-scuro:#8E4A59;
  --blc-rosa-chiaro:#E4B7C0;
  --blc-cipria:#EFC9C4;
  --blc-malva:#C6B3D3;
  --blc-lilla:#DACFE7;
  --blc-salvia:#C0CFBA;
  --blc-pesca:#F3D2B7;
  --blc-linea:rgba(156,84,100,.26);
  --blc-linea-tenue:rgba(156,84,100,.15);
  --blc-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blc-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blc-margine:clamp(18px,4vw,56px);
  --blc-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.blc-root, .blc-root *, .blc-root *::before, .blc-root *::after{ box-sizing:border-box; }
.blc-root{
  display:block;
  font-family:var(--blc-testo); font-weight:400; line-height:1.7;
  color:var(--blc-inchiostro);
}
.blc-root a{ text-decoration:none; color:inherit; }
.blc-root p{ margin:0; }
.blc-root img{ display:block; max-width:100%; height:auto; }
.blc-root :focus-visible{ outline:2px solid var(--blc-rosa); outline-offset:4px; border-radius:6px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blc-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blc-root .blc-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blc-avorio);
  padding-block:clamp(64px,8vw,132px);
}
.blc-root .blc-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blc-margine));
  margin-inline:auto;
}

.blc-root .blc-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.blc-root .blc-velo--a{
  top:-18%; left:-9%; width:min(520px,46vw); opacity:.4;
  background:radial-gradient(circle at 50% 45%, var(--blc-malva), transparent 68%);
}
.blc-root .blc-velo--b{
  bottom:-24%; right:-8%; width:min(460px,42vw); opacity:.36;
  background:radial-gradient(circle at 50% 50%, var(--blc-cipria), transparent 68%);
}

/* ---------- testata ---------- */
.blc-root .blc-testata{
  max-width:44rem; margin:0 auto clamp(46px,5vw,74px); text-align:center;
}
.blc-root .blc-rametto{ width:136px; color:var(--blc-rosa); margin:0 auto 20px; }
.blc-root .blc-occhiello{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--blc-rosa); margin-bottom:16px;
}
.blc-root .blc-titolo{
  font-family:var(--blc-display); font-weight:400;
  font-size:clamp(32px,4.2vw,54px); line-height:1.12; letter-spacing:-.01em;
  color:var(--blc-inchiostro); margin:0 0 20px; text-wrap:balance;
}
.blc-root .blc-guida{
  font-size:clamp(16.5px,.4vw+15.4px,17.5px); line-height:1.78;
  color:var(--blc-inchiostro-70); max-width:38rem; margin-inline:auto;
}

/* ---------- griglia sfalsata ---------- */
.blc-root .blc-pista{ position:relative; }
.blc-root .blc-griglia{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(24px,3vw,44px) clamp(16px,2vw,30px);
}
@media (min-width:1000px){
  .blc-root .blc-griglia{ grid-template-columns:repeat(4,1fr); }
  /* il passo sfalsato toglie l'aria da catalogo alla fila di quattro */
  .blc-root .blc-griglia > *:nth-child(even){ margin-top:clamp(28px,3.4vw,54px); }
}

.blc-root .blc-scheda{ display:block; }

.blc-root .blc-scheda__foto{
  position:relative; display:block; overflow:hidden;
  aspect-ratio:3/4;
  border-radius:min(190px,46%) min(190px,46%) 18px 18px;   /* nicchia ad arco */
  background:linear-gradient(165deg, var(--blc-cipria), var(--blc-avorio-caldo) 55%, var(--blc-lilla));
  box-shadow:0 30px 60px -42px rgba(120,76,88,.55);
}
.blc-root .blc-scheda__foto img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
/* filo interno che si accende al passaggio: niente bordi pesanti */
.blc-root .blc-scheda__foto::after{
  content:""; position:absolute; inset:9px; pointer-events:none;
  border:1px solid rgba(255,249,248,.62);
  border-radius:min(180px,44%) min(180px,44%) 11px 11px;
  opacity:0; transition:opacity var(--blc-t);
}
.blc-root .blc-scheda:hover .blc-scheda__foto img,
.blc-root .blc-scheda:focus-visible .blc-scheda__foto img{ transform:scale(1.055); }
.blc-root .blc-scheda:hover .blc-scheda__foto::after,
.blc-root .blc-scheda:focus-visible .blc-scheda__foto::after{ opacity:1; }

.blc-root .blc-scheda__nome{
  display:block; margin-top:18px; text-align:center;
  font-family:var(--blc-display); font-size:clamp(20px,1.7vw,24px);
  line-height:1.24; color:var(--blc-inchiostro);
  transition:color var(--blc-t);
}
.blc-root .blc-scheda:hover .blc-scheda__nome{ color:var(--blc-rosa); }

.blc-root .blc-scheda__scopri{
  display:flex; align-items:center; justify-content:center; gap:9px;
  margin-top:7px;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--blc-rosa);
  opacity:0; transform:translateY(4px);
  transition:opacity var(--blc-t), transform var(--blc-t);
}
.blc-root .blc-scheda__scopri svg{ width:20px; height:8px; }
.blc-root .blc-scheda:hover .blc-scheda__scopri,
.blc-root .blc-scheda:focus-visible .blc-scheda__scopri{ opacity:1; transform:none; }
/* senza puntatore l'invito non comparirebbe mai */
@media (hover:none){
  .blc-root .blc-scheda__scopri{ opacity:1; transform:none; }
}

/* ---------- carosello su schermi stretti ---------- */
.blc-root .blc-suggerimento{ display:none; }
@media (max-width:719px){
  .blc-root .blc-pista{
    margin-inline:calc(-1 * var(--blc-margine));
    padding-inline:var(--blc-margine);
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .blc-root .blc-pista::-webkit-scrollbar{ display:none; }
  .blc-root .blc-griglia{
    /* larghezza esplicita: con minmax(0,...) le colonne si comprimevano
       per stare nella pista e il carosello non scorreva */
    grid-template-columns:none;
    grid-auto-flow:column; grid-auto-columns:74vw;
    width:max-content; gap:16px;
  }
  .blc-root .blc-scheda{ scroll-snap-align:center; }
  .blc-root .blc-suggerimento{
    display:block; text-align:center; margin-top:20px;
    font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
    color:var(--blc-inchiostro-45);
  }
}

/* ---------- azione finale ---------- */
.blc-root .blc-azioni{
  display:flex; justify-content:center;
  margin-top:clamp(44px,5vw,72px);
}
.blc-root .blc-bottone{
  display:inline-flex; align-items:center;
  padding:16px 38px; border-radius:999px;
  border:1px solid var(--blc-linea); background:transparent;
  font-size:12.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--blc-rosa);
  transition:background var(--blc-t), color var(--blc-t),
             border-color var(--blc-t), transform .3s ease;
}
.blc-root .blc-bottone:hover{
  background:var(--blc-rosa); border-color:var(--blc-rosa); color:#FFF9F8;
}
.blc-root .blc-bottone:active{ transform:translateY(1px); }

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.blc-root.blc-pronta .blc-entra{
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 90ms);
}
.blc-root.blc-pronta.blc-vista .blc-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .blc-root *{ animation:none !important; transition-duration:.01ms !important; }
  .blc-root.blc-pronta .blc-entra{ opacity:1; transform:none; }
  .blc-root .blc-pista{ scroll-snap-type:none; }
}

/* ============================================================
   Categorie a tessera (catalogo)  (.blcb-)
   ============================================================ */
.blcb-root{
  --blcb-avorio:#FDFBF8;
  --blcb-avorio-caldo:#F9F4EF;
  --blcb-inchiostro:#3F3439;
  --blcb-inchiostro-70:#6B5E63;
  --blcb-inchiostro-45:#6E6165;
  --blcb-rosa:#9C5464;
  --blcb-rosa-chiaro:#E4B7C0;
  --blcb-cipria:#EFC9C4;
  --blcb-malva:#C6B3D3;
  --blcb-lilla:#DACFE7;
  --blcb-chiaro:#FFF9F8;
  --blcb-linea-tenue:rgba(156,84,100,.15);
  --blcb-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blcb-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blcb-margine:clamp(18px,4vw,56px);
  --blcb-t:.45s cubic-bezier(.22,.61,.36,1);
}

/* Il tema ed Elementor impongono stili globali: qui li neutralizziamo
   soltanto dentro la sezione. */
.blcb-root, .blcb-root *, .blcb-root *::before, .blcb-root *::after{ box-sizing:border-box; }
.blcb-root{
  display:block;
  font-family:var(--blcb-testo); font-weight:400; line-height:1.7;
  color:var(--blcb-inchiostro);
}
.blcb-root a{ text-decoration:none; color:inherit; }
.blcb-root p{ margin:0; }
.blcb-root img{ display:block; max-width:100%; height:auto; }
.blcb-root svg{ display:block; }
.blcb-root :focus-visible{ outline:2px solid var(--blcb-rosa); outline-offset:4px; border-radius:8px; }

/* ---------- fondo a tutta larghezza, contenuto a 1200px ---------- */
.blcb-root{
  width:100vw; max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blcb-root .blcb-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blcb-avorio);
  padding-block:clamp(40px,4.8vw,76px);
}
.blcb-root .blcb-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blcb-margine));
  margin-inline:auto;
}

.blcb-root .blcb-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(66px); mix-blend-mode:multiply;
}
.blcb-root .blcb-velo--a{
  top:-40%; left:-6%; width:min(440px,40vw); opacity:.3;
  background:radial-gradient(circle at 50% 50%, var(--blcb-lilla), transparent 68%);
}

/* ---------- testata ---------- */
.blcb-root .blcb-testata{
  max-width:36rem; margin:0 auto clamp(28px,3.2vw,42px); text-align:center;
}
.blcb-root .blcb-titolo{
  font-family:var(--blcb-display); font-weight:400;
  font-size:clamp(26px,3vw,38px); line-height:1.16; letter-spacing:-.008em;
  color:var(--blcb-inchiostro); margin:0 0 12px; text-wrap:balance;
}
.blcb-root .blcb-guida{
  font-size:clamp(16px,.35vw+15.2px,17px); line-height:1.76;
  color:var(--blcb-inchiostro-70); max-width:44ch; margin-inline:auto;
}

/* ---------- tessere ---------- */
.blcb-root .blcb-pista{ position:relative; }
.blcb-root .blcb-griglia{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(14px,1.8vw,24px);
}
@media (min-width:900px){
  .blcb-root .blcb-griglia{ grid-template-columns:repeat(4,1fr); }
}

.blcb-root .blcb-tessera{
  position:relative; display:block; overflow:hidden;
  aspect-ratio:4/5; border-radius:18px;
  background:linear-gradient(160deg, var(--blcb-cipria), var(--blcb-avorio-caldo) 52%, var(--blcb-malva));
  box-shadow:0 26px 52px -40px rgba(120,76,88,.5);
}
.blcb-root .blcb-tessera img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.blcb-root .blcb-tessera:hover img,
.blcb-root .blcb-tessera:focus-visible img{ transform:scale(1.055); }

/* La velina scurisce la parte bassa: il nome sta sopra alla fotografia e
   deve restare leggibile qualunque immagine venga caricata. */
.blcb-root .blcb-velina{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top,
    rgba(48,38,42,.86) 0%,
    rgba(48,38,42,.66) 26%,
    rgba(48,38,42,.16) 58%,
    rgba(48,38,42,0) 78%);
  transition:opacity var(--blcb-t);
}
.blcb-root .blcb-tessera:hover .blcb-velina{ opacity:.92; }

.blcb-root .blcb-etichetta{
  position:absolute; left:0; right:0; bottom:0;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:clamp(14px,1.6vw,20px) clamp(14px,1.6vw,20px) clamp(15px,1.7vw,21px);
  color:var(--blcb-chiaro);
}
.blcb-root .blcb-nome{
  font-family:var(--blcb-display);
  font-size:clamp(18px,1.6vw,23px); line-height:1.2;
  text-shadow:0 1px 10px rgba(30,22,26,.55);
}
.blcb-root .blcb-etichetta svg{
  width:20px; height:8px; flex:none;
  transition:transform var(--blcb-t);
}
.blcb-root .blcb-tessera:hover .blcb-etichetta svg{ transform:translateX(5px); }

/* ---------- carosello su schermi stretti ---------- */
.blcb-root .blcb-suggerimento{ display:none; }
@media (max-width:600px){
  .blcb-root .blcb-pista{
    margin-inline:calc(-1 * var(--blcb-margine));
    padding-inline:var(--blcb-margine);
    overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scrollbar-width:none;
  }
  .blcb-root .blcb-pista::-webkit-scrollbar{ display:none; }
  .blcb-root .blcb-griglia{
    /* larghezza esplicita: con minmax(0,...) le colonne si comprimerebbero
       per stare nella pista e il carosello non scorrerebbe */
    grid-template-columns:none;
    grid-auto-flow:column; grid-auto-columns:64vw;
    width:max-content; gap:12px;
  }
  .blcb-root .blcb-tessera{ scroll-snap-align:center; }
  .blcb-root .blcb-suggerimento{
    display:block; text-align:center; margin-top:16px;
    font-size:12.5px; letter-spacing:.15em; text-transform:uppercase;
    color:var(--blcb-inchiostro-45);
  }
}

/* ---------- comparsa allo scorrimento ----------
   Senza JavaScript resta tutto visibile: e' lo script ad accendere
   l'animazione, non a spegnerla. */
.blcb-root.blcb-pronta .blcb-entra{
  opacity:0; transform:translateY(18px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i) * 80ms);
}
.blcb-root.blcb-pronta.blcb-vista .blcb-entra{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .blcb-root *{ animation:none !important; transition-duration:.01ms !important; }
  .blcb-root.blcb-pronta .blcb-entra{ opacity:1; transform:none; }
  .blcb-root .blcb-pista{ scroll-snap-type:none; }
}

/* ============================================================
   Griglia del catalogo  (.blcg-)
   La sezione nuova del plugin: filtri per categoria, griglia delle
   creazioni e pulsante "Mostra altre creazioni". Riprende le misure
   della sezione "in evidenza" perche' le schede sono le stesse.
   ============================================================ */
.blcg-root{
  --blcg-avorio:#FDFBF8;
  --blcg-avorio-caldo:#F9F4EF;
  --blcg-inchiostro:#3F3439;
  --blcg-inchiostro-70:#6B5E63;
  --blcg-inchiostro-45:#6E6165;
  --blcg-rosa:#9C5464;
  --blcg-rosa-scuro:#8E4A59;
  --blcg-rosa-chiaro:#E4B7C0;
  --blcg-cipria:#EFC9C4;
  --blcg-malva:#C6B3D3;
  --blcg-lilla:#DACFE7;
  --blcg-salvia:#C0CFBA;
  --blcg-chiaro:#FFF9F8;
  --blcg-linea:rgba(156,84,100,.26);
  --blcg-linea-tenue:rgba(156,84,100,.15);
  --blcg-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --blcg-testo:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --blcg-margine:clamp(18px,4vw,56px);
  --blcg-t:.45s cubic-bezier(.22,.61,.36,1);
}

.blcg-root, .blcg-root *, .blcg-root *::before, .blcg-root *::after{ box-sizing:border-box; }
.blcg-root{
  display:block;
  width:100vw; max-width:100vw; margin-inline:calc(50% - 50vw);
  font-family:var(--blcg-testo); font-weight:400; line-height:1.7;
  color:var(--blcg-inchiostro);
}
.blcg-root a{ text-decoration:none; color:inherit; }
.blcg-root p{ margin:0; }
.blcg-root img{ display:block; max-width:100%; height:auto; }
.blcg-root svg{ display:block; }
.blcg-root :focus-visible{ outline:2px solid var(--blcg-rosa); outline-offset:4px; border-radius:8px; }

.blcg-root .blcg-sezione{
  position:relative; overflow:hidden; isolation:isolate;
  background:var(--blcg-avorio);
  padding-block:clamp(46px,5.4vw,88px);
}
.blcg-root .blcg-interno{
  position:relative; z-index:3;
  width:min(1200px, 100% - 2*var(--blcg-margine));
  margin-inline:auto;
}

.blcg-root .blcg-velo{
  position:absolute; z-index:1; border-radius:50%; aspect-ratio:1;
  pointer-events:none; filter:blur(70px); mix-blend-mode:multiply;
}
.blcg-root .blcg-velo--a{
  top:-16%; right:-8%; width:min(460px,42vw); opacity:.3;
  background:radial-gradient(circle at 50% 50%, var(--blcg-cipria), transparent 68%);
}
.blcg-root .blcg-velo--b{
  bottom:-22%; left:-10%; width:min(420px,40vw); opacity:.26;
  background:radial-gradient(circle at 50% 50%, var(--blcg-lilla), transparent 70%);
}

/* ---------- testata ---------- */
.blcg-root .blcg-testata{
  max-width:38rem; margin:0 auto clamp(24px,3vw,38px); text-align:center;
}
.blcg-root .blcg-occhiello{
  font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--blcg-rosa); margin-bottom:12px;
}
.blcg-root .blcg-titolo{
  font-family:var(--blcg-display); font-weight:400;
  font-size:clamp(28px,3.4vw,44px); line-height:1.14; letter-spacing:-.01em;
  color:var(--blcg-inchiostro); margin:0 0 14px; text-wrap:balance;
}
.blcg-root .blcg-guida{
  font-size:clamp(16px,.4vw+15.2px,17.5px); line-height:1.78;
  color:var(--blcg-inchiostro-70); max-width:46ch; margin-inline:auto;
}

/* ---------- filtri ---------- */
.blcg-root .blcg-filtri{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:10px; margin-bottom:clamp(26px,3vw,40px);
}
.blcg-root .blcg-filtro{
  display:inline-flex; align-items:center;
  padding:9px 18px; border-radius:999px;
  border:1px solid var(--blcg-linea-tenue);
  background:var(--blcg-chiaro);
  font-size:14.5px; letter-spacing:.02em;
  color:var(--blcg-inchiostro-70);
  transition:color var(--blcg-t), border-color var(--blcg-t), background var(--blcg-t);
}
.blcg-root .blcg-filtro:hover{
  color:var(--blcg-inchiostro); border-color:var(--blcg-linea);
}
.blcg-root .blcg-filtro.is-attivo{
  background:var(--blcg-rosa); border-color:var(--blcg-rosa);
  color:var(--blcg-chiaro);
}

/* ---------- griglia ---------- */
.blcg-root .blcg-griglia{
  display:grid; gap:clamp(18px,2.2vw,32px);
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:760px){
  .blcg-root .blcg-colonne-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .blcg-root .blcg-colonne-4{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:1040px){
  .blcg-root .blcg-colonne-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

.blcg-root .blcg-scheda{ display:block; }
.blcg-root .blcg-scheda__foto{
  position:relative; display:block; overflow:hidden;
  border-radius:18px; aspect-ratio:4/5;
  background:linear-gradient(160deg, var(--blcg-cipria), var(--blcg-avorio-caldo) 52%, var(--blcg-malva));
  box-shadow:0 26px 52px -42px rgba(120,76,88,.5);
}
.blcg-root .blcg-formato-quadrata{ aspect-ratio:1; }
.blcg-root .blcg-scheda__foto img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
}
.blcg-root .blcg-scheda:hover .blcg-scheda__foto img{ transform:scale(1.05); }

.blcg-root .blcg-scheda__corpo{
  display:block; padding:16px 4px 0; text-align:left;
}
.blcg-root .blcg-scheda__categoria{
  display:block; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--blcg-rosa); margin-bottom:7px;
}
.blcg-root .blcg-scheda__nome{
  display:block; font-family:var(--blcg-display);
  font-size:clamp(19px,1.5vw,23px); line-height:1.24;
  color:var(--blcg-inchiostro);
}
.blcg-root .blcg-scheda__scopri{
  display:inline-flex; align-items:center; gap:9px; margin-top:10px;
  font-size:13.5px; letter-spacing:.05em; color:var(--blcg-inchiostro-45);
  opacity:0; transform:translateY(4px);
  transition:opacity var(--blcg-t), transform var(--blcg-t), color var(--blcg-t);
}
.blcg-root .blcg-scheda__scopri svg{ width:20px; height:8px; flex:none; }
.blcg-root .blcg-scheda:hover .blcg-scheda__scopri,
.blcg-root .blcg-scheda:focus-visible .blcg-scheda__scopri{
  opacity:1; transform:none; color:var(--blcg-rosa);
}
/* Su schermo tattile non esiste il passaggio del mouse: l'invito
   resta visibile, altrimenti nessuno lo vedrebbe mai. */
@media (hover:none){
  .blcg-root .blcg-scheda__scopri{ opacity:1; transform:none; }
}

/* ---------- azioni ---------- */
.blcg-root .blcg-azioni{
  display:flex; justify-content:center; margin-top:clamp(30px,3.4vw,48px);
}
.blcg-root .blcg-bottone{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 30px; border-radius:999px; cursor:pointer;
  border:1px solid var(--blcg-rosa); background:transparent;
  font-family:var(--blcg-testo); font-size:14.5px; letter-spacing:.06em;
  color:var(--blcg-rosa);
  transition:background var(--blcg-t), color var(--blcg-t), border-color var(--blcg-t);
}
.blcg-root .blcg-bottone:hover{
  background:var(--blcg-rosa); color:var(--blcg-chiaro);
}
.blcg-root .blcg-bottone[disabled]{ opacity:.55; cursor:default; }

.blcg-root .blcg-collegamento{
  display:inline-flex; align-items:center; gap:11px;
  font-size:14.5px; letter-spacing:.05em; color:var(--blcg-rosa);
  border-bottom:1px solid var(--blcg-linea-tenue); padding-bottom:3px;
  transition:border-color var(--blcg-t);
}
.blcg-root .blcg-collegamento:hover{ border-bottom-color:var(--blcg-rosa); }
.blcg-root .blcg-collegamento svg{ width:22px; height:10px; flex:none; }

/* ---------- catalogo vuoto ---------- */
.blcg-root .blcg-niente{
  text-align:center; padding:clamp(34px,4vw,58px) 22px;
  border:1px dashed var(--blcg-linea); border-radius:20px;
  background:var(--blcg-avorio-caldo);
}
.blcg-root .blcg-niente__testo{
  font-size:17px; color:var(--blcg-inchiostro-70); margin-bottom:16px;
}

@media (prefers-reduced-motion:reduce){
  .blcg-root *{ animation:none !important; transition-duration:.01ms !important; }
}

/* Comparsa allo scorrimento della griglia. Le altre sezioni hanno gia' la
   propria regola nel blocco corrispondente; questa vale per il catalogo.
   Senza JavaScript la classe "-pronta" non viene mai aggiunta e resta
   tutto visibile: e' voluto. */
.blcg-root.blcg-pronta .blcg-entra{
  opacity:0; transform:translateY(18px);
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.86,.3,1);
  transition-delay:calc(var(--i,0) * 80ms);
}
.blcg-root.blcg-pronta.blcg-vista .blcg-entra{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .blcg-root.blcg-pronta .blcg-entra{ opacity:1; transform:none; }
}

/* Fascia dell'anteprima dimostrativa: si vede solo dentro l'editor di
   Elementor, mai sul sito pubblico. */
.blc-anteprima-avviso{
  margin:0 0 22px; padding:9px 16px; border-radius:999px;
  display:inline-block;
  font-family:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  font-size:12.5px; letter-spacing:.12em; text-transform:uppercase;
  color:#8E4A59; background:#F9F4EF;
  border:1px dashed rgba(156,84,100,.4);
}
