/* ════════════════════════════════════════════════════════════════════════
   LIVEIN COMPONENTS — v1.0
   Componenti prefissati .li- per evitare collisioni con Kubio/Omero legacy.
   Richiede livein-tokens.css caricato prima.
   ════════════════════════════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────────────────────────────
   BUTTONS · pattern border→fill rubato a Nidi
   ──────────────────────────────────────────────────────────────────────── */
.li-btn{
  --_bg: transparent;
  --_fg: currentColor;
  --_brd: currentColor;
  --_pad-y: 14px;
  --_pad-x: 32px;
  --_fz: var(--li-text-base);

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  padding:var(--_pad-y) var(--_pad-x);
  font-family:var(--li-font-body);
  font-size:var(--_fz);
  font-weight:var(--li-w-semi);
  line-height:1;
  letter-spacing:.012em;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  background:var(--_bg);
  color:var(--_fg);
  border:1.5px solid var(--_brd);
  border-radius:var(--li-r-pill);
  transition:
    background-color var(--li-dur-slow) var(--li-ease-out),
    color var(--li-dur-slow) var(--li-ease-out),
    border-color var(--li-dur-slow) var(--li-ease-out),
    transform var(--li-dur) var(--li-ease-out),
    box-shadow var(--li-dur) var(--li-ease-out);
}
.li-btn:hover{ background:var(--_fg); color:var(--_bg, #fff); }
.li-btn:active{ transform:translateY(1px) scale(.98); }
.li-btn:focus-visible{ box-shadow:var(--li-shadow-ring); outline:none }
.li-btn[disabled],.li-btn[aria-disabled="true"]{ opacity:.5; cursor:not-allowed; pointer-events:none }

/* Variants */
.li-btn--primary{ --_fg:var(--li-primary); --_brd:var(--li-primary); --_bg:transparent }
.li-btn--primary:hover{ --_bg:var(--li-primary); color:var(--li-primary-ink) }
.li-btn--solid{ --_bg:var(--li-primary); --_fg:var(--li-primary-ink); --_brd:var(--li-primary) }
.li-btn--solid:hover{ --_bg:var(--li-primary-hover); --_brd:var(--li-primary-hover) }
.li-btn--accent{ --_fg:var(--li-accent); --_brd:var(--li-accent) }
.li-btn--accent:hover{ --_bg:var(--li-accent); color:#fff }
.li-btn--ghost{ --_brd:var(--li-border-strong); --_fg:var(--li-text) }
.li-btn--ghost:hover{ --_bg:var(--li-text); color:var(--li-text-invert) }
.li-btn--invert{ --_fg:#fff; --_brd:rgba(255,255,255,.6) }
.li-btn--invert:hover{ --_bg:#fff; color:var(--li-text) }

/* Size */
.li-btn--sm{ --_pad-y:10px; --_pad-x:20px; --_fz:var(--li-text-sm) }
.li-btn--lg{ --_pad-y:18px; --_pad-x:40px; --_fz:var(--li-text-lg) }
.li-btn--full{ width:100%; min-width:0 }
.li-btn--icon{ padding:14px; aspect-ratio:1/1 }
.li-btn--icon svg{ width:20px; height:20px }


/* ────────────────────────────────────────────────────────────────────────
   HERO · layout asimmetrico premium
   ──────────────────────────────────────────────────────────────────────── */
.li-hero{
  position:relative;
  isolation:isolate;
  min-height:min(92vh, 880px);
  display:grid;
  align-items:center;
  padding:calc(var(--li-header-h) + var(--li-sp-7)) var(--li-section-px) var(--li-sp-9);
  color:#fff;
  overflow:hidden;
}
.li-hero__media{ position:absolute; inset:0; z-index:-1; }
.li-hero__media img,
.li-hero__media picture,
.li-hero__media source{
  width:100%; height:100%; object-fit:cover; object-position:center 40%;
}
.li-hero__overlay{
  position:absolute; inset:0;
  background:linear-gradient(120deg,
    rgba(10,14,20,.78) 0%,
    rgba(10,14,20,.55) 45%,
    rgba(10,14,20,.22) 100%);
  pointer-events:none;
}
.li-hero__inner{
  max-width:var(--li-content-max);
  width:100%;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
.li-hero__copy{ max-width:760px; display:flex; flex-direction:column; align-items:flex-start; text-align:left; }
.li-hero__title{
  font:var(--li-w-bold) var(--li-text-6xl)/var(--li-lh-tight) var(--li-font-display);
  letter-spacing:var(--li-tr-tight);
  margin:var(--li-sp-3) 0 var(--li-sp-5);
  color:#fff;
  text-wrap:balance;
  text-align:left;
}
.li-hero__title em{ font-style:italic; color:var(--li-sunset-300); font-family:var(--li-font-display) }
.li-hero__sub,
section.li-hero p.li-hero__sub,
section.li-hero .li-hero__inner .li-hero__copy p.li-hero__sub,
#omero-content section.li-hero .li-hero__sub,
body section.li-hero p.li-hero__sub{
  font: 600 clamp(1.25rem, 0.9rem + 1.1vw, 1.85rem)/1.45 var(--li-font-body) !important;
  color: #ffffff !important;
  margin: 0 0 var(--li-sp-7) 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 62ch !important;
  text-wrap: pretty;
  text-align: left !important;
  letter-spacing: -0.005em;
  display: block !important;
  width: auto !important;
}
.li-hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--li-sp-3);
  justify-content:flex-start;
  margin:0 0 var(--li-sp-6);
}
.li-hero__live{ display:inline-flex; max-width:max-content; margin:0 }
.li-hero__eyebrow{ color:rgba(255,255,255,.86); margin:0; text-align:left }
.li-hero__side{ display:none }

/* ════════════════════════════════════════════════════════════════════════
   CENTERING NUCLEAR · battere #omero-content [...]{!important} di normalize.
   Tutti gli stili qui hanno !important per vincere la cascata.
   Hero (.li-hero) NON e' .li-section quindi resta left-aligned.
   ════════════════════════════════════════════════════════════════════════ */
#omero-content .li-section,
#omero-content .li-section > .li-container,
#omero-content .li-section > .li-narrow,
#omero-content .li-section > .li-text-only,
#omero-content .li-section .li-container,
#omero-content .li-section .li-narrow,
#omero-content .li-section .li-text-only,
#omero-content .li-section h1,
#omero-content .li-section h2,
#omero-content .li-section h3,
#omero-content .li-section h4,
#omero-content .li-section p,
#omero-content .li-section ul,
#omero-content .li-section ol,
#omero-content .li-section li,
#omero-content .li-section blockquote,
#omero-content .li-section figure,
#omero-content .li-section figcaption,
#omero-content .li-section .li-eyebrow,
#omero-content .li-section .li-lede,
#omero-content .li-section .li-h1,
#omero-content .li-section .li-h2,
#omero-content .li-section .li-h3{
  text-align:center !important;
}
#omero-content .li-section .li-eyebrow{ margin-inline:auto !important; }
#omero-content .li-section .li-lede{ margin-inline:auto !important; max-width:60ch !important; }
#omero-content .li-section .li-h2,
#omero-content .li-section .li-h3{ margin-inline:auto !important; }

/* Eccezioni: card prodotto / cat tile / lead form restano left */
#omero-content .li-section .li-pcard,
#omero-content .li-section .li-pcard *,
#omero-content .li-section .li-cat,
#omero-content .li-section .li-cat *,
#omero-content .li-section .li-lead,
#omero-content .li-section .li-lead *,
#omero-content .li-section [data-livein-store-widget],
#omero-content .li-section [data-livein-store-widget] *{
  text-align:left !important;
}

/* Forza il dark section a sfondo navy + testi bianchi */
#omero-content .li-section.li-section--dark{
  background:#0e1d2e !important;
  color:#fff !important;
}
#omero-content .li-section.li-section--dark h1,
#omero-content .li-section.li-section--dark h2,
#omero-content .li-section.li-section--dark h3,
#omero-content .li-section.li-section--dark h4,
#omero-content .li-section.li-section--dark p,
#omero-content .li-section.li-section--dark li,
#omero-content .li-section.li-section--dark blockquote,
#omero-content .li-section.li-section--dark cite,
#omero-content .li-section.li-section--dark span,
#omero-content .li-section.li-section--dark strong,
#omero-content .li-section.li-section--dark .li-h2,
#omero-content .li-section.li-section--dark .li-h3,
#omero-content .li-section.li-section--dark .li-lede,
#omero-content .li-section.li-section--dark .li-eyebrow{
  color:#ffffff !important;
}
#omero-content .li-section.li-section--dark .li-em{
  color:#ffaf6e !important;
}

/* Forza .li-section--alt a sfondo sand chiaro */
#omero-content .li-section.li-section--alt{
  background:#faf8f5 !important;
}

/* Il padding delle sezioni - bilanciato (default ridotto) */
#omero-content .li-section{
  padding-block:clamp(40px,6vw,72px) !important;
  padding-inline:clamp(20px,5vw,56px) !important;
}

/* PRENOTA SECTIONS: padding ZERO + margini interni minimi (vale per tutte le landing) */
#omero-content section#prenota,
#omero-content .li-section#prenota{
  padding-block:8px !important;
  padding-bottom:0 !important;
}
#omero-content section#prenota .li-eyebrow,
#omero-content #prenota .li-eyebrow{ margin:0 !important; }
#omero-content section#prenota .li-h2,
#omero-content section#prenota h2{ margin:2px 0 4px !important; }
#omero-content section#prenota .li-lede,
#omero-content section#prenota p.li-lede{ margin:0 auto !important; }
#omero-content section#prenota > .li-narrow,
#omero-content section#prenota > .li-container{ margin-bottom:8px !important; }

/* CATALOGO 2026 widget: zero margine sopra */
.cta-catalogo-2026{
  padding-top:0 !important;
  padding-bottom:8px !important;
  margin-top:0 !important;
}
.cta-catalogo-2026 > div{
  padding:16px 24px !important;
}
/* Home ha padding ancora piu' compatto */
body.omero-livein-camerette #omero-content .li-section{
  padding-block:clamp(32px,5vw,56px) !important;
}
/* Il primo .li-section dopo l'hero NON deve avere padding-top extra */
#omero-content .li-hero + .li-section{
  padding-top:clamp(40px,6vw,64px) !important;
}

/* Migliora visibilita CTA scuri su sfondo chiaro (numero verde, etc) */
#omero-content .li-section .li-btn--ghost,
#omero-content .li-section a.li-btn:not(.li-btn--solid):not(.li-btn--accent):not(.li-btn--invert){
  color:#1A2E44 !important;
  border-color:#1A2E44 !important;
  background:#fff !important;
}
#omero-content .li-section .li-btn--ghost:hover,
#omero-content .li-section a.li-btn:not(.li-btn--solid):not(.li-btn--accent):not(.li-btn--invert):hover{
  background:#1A2E44 !important;
  color:#fff !important;
}

/* Forza .li-h2 e h2 dentro .li-section--dark a essere bianchi davvero */
body #omero-content .li-section.li-section--dark *{
  color:#fff !important;
}
body #omero-content .li-section.li-section--dark .li-em,
body #omero-content .li-section.li-section--dark em{
  color:#ffaf6e !important;
}

/* Anche le sezioni section senza class .li-section--dark ma con sfondo dark devono essere centrate dentro */
#omero-content section.li-section h2,
#omero-content section.li-section h3{
  text-align:center !important;
}

/* ── GRID HELPERS · layout fissi mai asimmetrici ── */
.li-g2{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,2vw,32px) }
.li-g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,32px) }
.li-g4{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.6vw,24px) }
@media(max-width:1024px){
  .li-g3{ grid-template-columns:repeat(2,1fr) }
  .li-g4{ grid-template-columns:repeat(2,1fr) }
}
@media(max-width:600px){
  .li-g2,.li-g3,.li-g4{ grid-template-columns:1fr }
}

/* Force pgrid 3 fissi (override del repeat auto-fit) */
.li-pgrid--3{ grid-template-columns:repeat(3,1fr) }
.li-pgrid--2{ grid-template-columns:repeat(2,1fr) }
@media(max-width:1024px){ .li-pgrid--3{ grid-template-columns:repeat(2,1fr) } }
@media(max-width:600px){ .li-pgrid--2,.li-pgrid--3{ grid-template-columns:1fr } }

@media (max-width:880px){
  .li-hero{ min-height:auto; padding-block-end:var(--li-sp-8) }
  .li-hero__overlay{ background:linear-gradient(180deg, rgba(10,14,20,.55) 0%, rgba(10,14,20,.85) 100%) }
}


/* ────────────────────────────────────────────────────────────────────────
   VISUAL CATEGORY GRID · 6 tile per la home (rubato a Nicodemo + premium)
   ──────────────────────────────────────────────────────────────────────── */
.li-catgrid{ padding:var(--li-section-py) var(--li-section-px); background:var(--li-surface) }
.li-catgrid__head{ max-width:var(--li-content-narrow); margin:0 auto var(--li-sp-7); text-align:center }
.li-catgrid__head h2{
  font:var(--li-w-bold) var(--li-text-4xl)/var(--li-lh-snug) var(--li-font-display);
  letter-spacing:var(--li-tr-tight);
  margin:var(--li-sp-2) 0 var(--li-sp-3);
  color:var(--li-text);
  text-wrap:balance;
}
.li-catgrid__head p{
  font:var(--li-w-regular) var(--li-text-lg)/var(--li-lh-relaxed) var(--li-font-body);
  color:var(--li-text-mute);
  margin:0 auto;
  max-width:56ch;
  text-wrap:pretty;
}
.li-catgrid__grid{
  max-width:var(--li-content-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(12px, 1.6vw, 24px);
}
@media (max-width:1024px){ .li-catgrid__grid{ grid-template-columns:repeat(2, 1fr) } }
@media (max-width:560px){ .li-catgrid__grid{ grid-template-columns:1fr } }

.li-cat{
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:var(--li-r-lg);
  background:var(--li-ink-200);
  text-decoration:none;
  isolation:isolate;
  box-shadow:var(--li-shadow-sm);
  transition:transform var(--li-dur-slow) var(--li-ease-out),
             box-shadow var(--li-dur-slow) var(--li-ease-out);
}
.li-cat:hover{ transform:translateY(-3px); box-shadow:var(--li-shadow-lg) }
.li-cat__img{ position:absolute; inset:0; z-index:-2 }
.li-cat__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--li-ease-out) }
.li-cat:hover .li-cat__img img{ transform:scale(1.06) }
.li-cat__overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(10,14,20,.05) 0%, rgba(10,14,20,.45) 50%, rgba(10,14,20,.92) 100%);
  transition:background var(--li-dur-slow) var(--li-ease-out);
}
.li-cat:hover .li-cat__overlay{ background:linear-gradient(180deg, rgba(10,14,20,.25) 0%, rgba(10,14,20,.65) 50%, rgba(10,14,20,.95) 100%) }
.li-cat__body{
  position:absolute; inset-inline:0; bottom:0;
  padding:var(--li-sp-6);
  color:#fff;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--li-sp-3);
}
.li-cat__title{
  font:var(--li-w-bold) clamp(20px, 2.2vw, 30px)/1.1 var(--li-font-display);
  letter-spacing:var(--li-tr-tight);
  margin:0;
  text-wrap:balance;
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.li-cat__sub{
  display:block;
  font:var(--li-w-medium) var(--li-text-2xs)/1.4 var(--li-font-body);
  letter-spacing:var(--li-tr-wider);
  text-transform:uppercase;
  color:rgba(255,255,255,.92) !important;
  margin-block-end:var(--li-sp-1);
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.li-cat__arrow{
  flex:0 0 auto;
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--li-r-pill);
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(6px);
  transition:transform var(--li-dur-slow) var(--li-ease-out),
             background var(--li-dur-slow) var(--li-ease-out);
}
.li-cat__arrow svg{ width:18px; height:18px; stroke:#fff; stroke-width:2; fill:none }
.li-cat:hover .li-cat__arrow{ background:var(--li-primary); transform:translateX(4px) }


/* ────────────────────────────────────────────────────────────────────────
   PRODUCT CARD · per pagine categoria
   ──────────────────────────────────────────────────────────────────────── */
.li-pcard{
  display:flex;
  flex-direction:column;
  background:var(--li-surface);
  border-radius:var(--li-r-lg);
  overflow:hidden;
  box-shadow:var(--li-shadow-sm);
  transition:box-shadow var(--li-dur-slow) var(--li-ease-out),
             transform var(--li-dur-slow) var(--li-ease-out);
}
.li-pcard:hover{ box-shadow:var(--li-shadow); transform:translateY(-2px) }
.li-pcard__media{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:var(--li-sand-100) }
.li-pcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--li-ease-out) }
.li-pcard:hover .li-pcard__media img{ transform:scale(1.05) }
.li-pcard__badge{
  position:absolute; top:var(--li-sp-3); left:var(--li-sp-3);
  background:var(--li-primary); color:#fff;
  padding:6px 12px; border-radius:var(--li-r-pill);
  font:var(--li-w-bold) var(--li-text-2xs)/1 var(--li-font-body);
  text-transform:uppercase; letter-spacing:var(--li-tr-wide);
}
.li-pcard__body{ padding:var(--li-sp-5) var(--li-sp-5) var(--li-sp-6); display:flex; flex-direction:column; gap:var(--li-sp-2); flex:1 }
.li-pcard__cat{ font:var(--li-w-semi) var(--li-text-xs)/1.4 var(--li-font-body); text-transform:uppercase; letter-spacing:var(--li-tr-wider); color:var(--li-text-mute); margin:0 }
.li-pcard__title{ font:var(--li-w-bold) var(--li-text-2xl)/1.15 var(--li-font-display); color:var(--li-text); margin:0; text-wrap:balance }
.li-pcard__price{ font:var(--li-w-medium) var(--li-text-sm)/1 var(--li-font-body); color:var(--li-text-mute); margin:var(--li-sp-2) 0 var(--li-sp-3) }
.li-pcard__price strong{ font-weight:var(--li-w-bold); color:var(--li-text); font-size:var(--li-text-xl); font-family:var(--li-font-display) }
.li-pcard__feats{ list-style:none; padding:0; margin:0 0 var(--li-sp-4); font:var(--li-w-regular) var(--li-text-sm)/1.55 var(--li-font-body); color:var(--li-text-mute); flex:1 }
.li-pcard__feats li{ position:relative; padding-left:18px; margin-bottom:4px }
.li-pcard__feats li::before{ content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--li-primary) }
.li-pcard__cta{ display:flex; gap:var(--li-sp-2); margin-top:auto }


/* ────────────────────────────────────────────────────────────────────────
   PRODUCT GRID · listing categoria
   ──────────────────────────────────────────────────────────────────────── */
.li-pgrid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(16px, 2vw, 32px);
  max-width:var(--li-content-max);
  margin:0 auto;
}
@media (max-width:1024px){ .li-pgrid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:600px){ .li-pgrid{ grid-template-columns:1fr } }
/* Modifier overrides — must come after .li-pgrid base rule */
.li-pgrid.li-pgrid--2{ grid-template-columns:repeat(2,1fr) !important }
.li-pgrid.li-pgrid--3{ grid-template-columns:repeat(3,1fr) }
@media (max-width:1024px){ .li-pgrid.li-pgrid--3{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:600px){ .li-pgrid.li-pgrid--2,.li-pgrid.li-pgrid--3{ grid-template-columns:1fr !important } }


/* ────────────────────────────────────────────────────────────────────────
   LEAD FORM · minimal premium
   ──────────────────────────────────────────────────────────────────────── */
.li-lead{
  background:var(--li-surface);
  border-radius:var(--li-r-xl);
  padding:clamp(24px, 4vw, 44px);
  box-shadow:var(--li-shadow-lg);
  max-width:520px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:var(--li-sp-4);
}
.li-lead__h{ font:var(--li-w-bold) var(--li-text-2xl)/1.15 var(--li-font-display); color:var(--li-text); margin:0; text-wrap:balance }
.li-lead__sub{ font:var(--li-w-regular) var(--li-text-base)/1.55 var(--li-font-body); color:var(--li-text-mute); margin:0 0 var(--li-sp-2) }
.li-field{ display:block }
.li-field__lbl{ display:block; font:var(--li-w-semi) var(--li-text-sm)/1.4 var(--li-font-body); color:var(--li-text); margin-bottom:6px }
.li-field__opt{ font-weight:var(--li-w-regular); color:var(--li-text-mute) }
.li-field__in{
  display:block; width:100%;
  padding:14px 16px;
  border:1.5px solid var(--li-border);
  border-radius:var(--li-r);
  font:var(--li-w-medium) var(--li-text-base)/1.4 var(--li-font-body);
  color:var(--li-text);
  background:#fff;
  transition:border-color var(--li-dur) var(--li-ease-out), box-shadow var(--li-dur) var(--li-ease-out);
  -webkit-appearance:none;
  appearance:none;
}
.li-field__in::placeholder{ color:var(--li-text-soft) }
.li-field__in:focus{ outline:none; border-color:var(--li-primary); box-shadow:var(--li-shadow-ring) }
.li-field__in:invalid:not(:placeholder-shown){ border-color:var(--li-danger) }

.li-sede{ display:flex; flex-wrap:wrap; gap:var(--li-sp-2); border:0; padding:0; margin:0 }
.li-sede legend{ font:var(--li-w-semi) var(--li-text-sm)/1 var(--li-font-body); color:var(--li-text); margin-bottom:var(--li-sp-2); width:100% }
.li-sede label{
  flex:1; min-width:120px;
  display:flex; align-items:center; gap:8px;
  padding:12px 14px;
  border:1.5px solid var(--li-border);
  border-radius:var(--li-r);
  cursor:pointer;
  font:var(--li-w-medium) var(--li-text-sm)/1 var(--li-font-body);
  color:var(--li-text);
  background:var(--li-sand-50);
  transition:border-color var(--li-dur) var(--li-ease-out), background var(--li-dur) var(--li-ease-out);
}
.li-sede label:has(input:checked){ border-color:var(--li-primary); background:rgba(255,107,53,.07); color:var(--li-text) }
.li-sede input{ accent-color:var(--li-primary) }
.li-priv{ display:flex; align-items:flex-start; gap:8px; font:var(--li-w-regular) var(--li-text-sm)/1.55 var(--li-font-body); color:var(--li-text-mute) }
.li-priv a{ color:var(--li-primary); font-weight:var(--li-w-semi) }
.li-priv input{ margin-top:3px; accent-color:var(--li-primary) }
.li-trust{ text-align:center; font:var(--li-w-medium) var(--li-text-sm)/1.55 var(--li-font-body); color:var(--li-text-mute); margin:var(--li-sp-2) 0 0 }
.li-trust strong{ color:var(--li-text) }


/* ────────────────────────────────────────────────────────────────────────
   FOOTER · grid 4 colonne
   ──────────────────────────────────────────────────────────────────────── */
.li-footer{
  background:var(--li-navy-900);
  color:rgba(255,255,255,.78);
  padding:var(--li-sp-9) var(--li-section-px) var(--li-sp-5);
  font:var(--li-w-regular) var(--li-text-sm)/var(--li-lh-base) var(--li-font-body);
}
.li-footer a{ color:rgba(255,255,255,.78); text-decoration:none; transition:color var(--li-dur) var(--li-ease-out) }
.li-footer a:hover{ color:var(--li-sunset-400) }
.li-footer__inner{ max-width:var(--li-content-max); margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:clamp(24px, 4vw, 56px) }
@media (max-width:900px){ .li-footer__inner{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .li-footer__inner{ grid-template-columns:1fr } }
.li-footer__brand img{ height:64px; width:auto; margin-bottom:var(--li-sp-4) }
.li-footer__claim{ font:var(--li-w-regular) var(--li-text-base)/1.6 var(--li-font-display); font-style:italic; color:rgba(255,255,255,.92); margin:0 0 var(--li-sp-5); max-width:30ch }
.li-footer__social{ display:flex; gap:var(--li-sp-3); margin-top:var(--li-sp-4) }
.li-footer__social a{
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--li-r-pill);
  border:1px solid rgba(255,255,255,.2);
  transition:all var(--li-dur) var(--li-ease-out);
}
.li-footer__social a:hover{ background:var(--li-sunset-500); border-color:var(--li-sunset-500); color:#fff; transform:translateY(-2px) }
.li-footer__social svg{ width:16px; height:16px; fill:currentColor }
.li-footer__col h4{
  font:var(--li-w-bold) var(--li-text-xs)/1.4 var(--li-font-body);
  text-transform:uppercase;
  letter-spacing:var(--li-tr-wider);
  color:#fff;
  margin:0 0 var(--li-sp-4);
}
.li-footer__col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--li-sp-2) }
.li-footer__store p{ margin:2px 0 }
.li-footer__store strong{ color:#fff; font-weight:var(--li-w-semi); display:block; margin-bottom:2px }
.li-footer__store a.tel{ color:var(--li-sunset-400); font-weight:var(--li-w-semi) }
.li-footer__news input[type="email"]{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--li-r);
  background:rgba(255,255,255,.06);
  color:#fff;
  font:var(--li-w-medium) var(--li-text-sm)/1.4 var(--li-font-body);
  margin-bottom:var(--li-sp-2);
}
.li-footer__news input::placeholder{ color:rgba(255,255,255,.5) }
.li-footer__news button{
  width:100%; padding:12px 14px;
  background:var(--li-sunset-500); color:#fff;
  border:0; border-radius:var(--li-r);
  font:var(--li-w-bold) var(--li-text-sm)/1 var(--li-font-body);
  text-transform:uppercase; letter-spacing:var(--li-tr-wide);
  cursor:pointer;
  transition:background var(--li-dur) var(--li-ease-out);
}
.li-footer__news button:hover{ background:var(--li-sunset-600) }
.li-footer__legal{
  max-width:var(--li-content-max);
  margin:var(--li-sp-7) auto 0;
  padding-top:var(--li-sp-5);
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
  gap:var(--li-sp-4);
  font:var(--li-w-regular) var(--li-text-xs)/1.5 var(--li-font-body);
  color:rgba(255,255,255,.5);
  flex-wrap:wrap;
}
.li-footer__legal a{ color:rgba(255,255,255,.65) }


/* ────────────────────────────────────────────────────────────────────────
   HEADER & MENU · logo grande
   ──────────────────────────────────────────────────────────────────────── */
.li-header{
  position:fixed; top:0; left:0; right:0;
  width:100%;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--li-border), 0 2px 12px rgba(10,14,20,.04);
  z-index:var(--li-z-header);
  height:var(--li-header-h);
  transition:transform var(--li-dur) var(--li-ease-out);
}
.li-header.is-hidden{ transform:translateY(-100%) }
.li-header__inner{
  max-width:var(--li-content-max);
  height:100%;
  margin:0 auto;
  padding:0 var(--li-section-px);
  display:flex;
  align-items:center;
  gap:var(--li-sp-5);
}
.li-header__logo{ flex-shrink:0; display:inline-flex; align-items:center; height:100%; text-decoration:none }
.li-header__logo img{ height:clamp(48px, 7vw, 80px); width:auto; transition:height var(--li-dur) var(--li-ease-out) }
.li-header__nav{ display:none; flex:1; align-items:center; justify-content:center; gap:clamp(8px, 1.4vw, 28px) }
@media (min-width:900px){ .li-header__nav{ display:flex } }
.li-header__nav a{
  position:relative;
  font:var(--li-w-medium) var(--li-text-sm)/1 var(--li-font-body);
  color:var(--li-text);
  text-decoration:none;
  padding:8px 4px;
  white-space:nowrap;
  transition:color var(--li-dur) var(--li-ease-out);
}
.li-header__nav a::after{
  content:""; position:absolute;
  left:4px; right:4px; bottom:0;
  height:2px;
  background:var(--li-primary);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--li-dur) var(--li-ease-out);
}
.li-header__nav a:hover{ color:var(--li-primary) }
.li-header__nav a:hover::after,
.li-header__nav a.is-active::after{ transform:scaleX(1) }
.li-header__nav a.is-active{ color:var(--li-primary) }
.li-header__actions{ display:none; align-items:center; gap:var(--li-sp-3); flex-shrink:0 }
@media (min-width:900px){ .li-header__actions{ display:flex } }
.li-header__phone{
  display:inline-flex; align-items:center; gap:6px;
  font:var(--li-w-semi) var(--li-text-sm)/1 var(--li-font-body);
  color:var(--li-text);
  text-decoration:none;
  white-space:nowrap;
}
.li-header__phone:hover{ color:var(--li-primary) }
.li-burger{
  display:inline-flex; flex-direction:column; gap:5px;
  width:48px; height:48px;
  background:var(--li-text);
  border-radius:var(--li-r-pill);
  border:0;
  align-items:center; justify-content:center;
  cursor:pointer;
  margin-left:auto;
  z-index:calc(var(--li-z-overlay) + 10);
}
@media (min-width:900px){ .li-burger{ display:none } }
.li-burger span{ display:block; width:22px; height:2px; background:#fff; transition:transform var(--li-dur) var(--li-ease-out), opacity var(--li-dur) var(--li-ease-out) }
.li-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg) }
.li-burger.is-open span:nth-child(2){ opacity:0 }
.li-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg) }


/* ────────────────────────────────────────────────────────────────────────
   MOBILE SIDEMENU · full overlay
   ──────────────────────────────────────────────────────────────────────── */
.li-side{
  position:fixed; inset:0;
  background:var(--li-surface);
  z-index:var(--li-z-overlay);
  display:flex;
  flex-direction:column;
  transform:translateX(100%);
  transition:transform var(--li-dur-slow) var(--li-ease-out);
  overflow-y:auto;
}
.li-side.is-open{ transform:translateX(0) }
.li-side__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:var(--li-sp-5) var(--li-section-px);
  border-bottom:1px solid var(--li-border);
  height:var(--li-header-h);
  flex-shrink:0;
}
.li-side__head img{ height:48px; width:auto }
.li-side__nav{ flex:1; padding:var(--li-sp-5) 0; display:flex; flex-direction:column }
.li-side__nav a{
  display:block;
  padding:var(--li-sp-4) var(--li-section-px);
  font:var(--li-w-semi) var(--li-text-xl)/1.4 var(--li-font-display);
  color:var(--li-text);
  border-bottom:1px solid var(--li-border);
  transition:background var(--li-dur) var(--li-ease-out), padding-left var(--li-dur) var(--li-ease-out);
}
.li-side__nav a:hover,
.li-side__nav a.is-active{ background:var(--li-sand-50); color:var(--li-primary); padding-left:calc(var(--li-section-px) + 8px) }
.li-side__foot{
  padding:var(--li-sp-5) var(--li-section-px) calc(var(--li-sp-5) + env(safe-area-inset-bottom));
  background:var(--li-sand-50);
  border-top:1px solid var(--li-border);
  display:flex;
  flex-direction:column;
  gap:var(--li-sp-3);
}
.li-side__foot .li-btn{ width:100% }


/* ────────────────────────────────────────────────────────────────────────
   WHATSAPP FAB · sticky always-on (rubato ad Andriolo + premium)
   ──────────────────────────────────────────────────────────────────────── */
.li-wafab{
  position:fixed;
  bottom:24px; right:24px;
  z-index:var(--li-z-fab);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:62px; height:62px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(37,211,102,.42), 0 3px 10px rgba(0,0,0,.18);
  animation:li-wafab-pulse 2.6s var(--li-ease-out) infinite;
  transition:transform var(--li-dur) var(--li-ease-out), box-shadow var(--li-dur) var(--li-ease-out);
}
.li-wafab:hover{ transform:scale(1.08); box-shadow:0 14px 36px rgba(37,211,102,.55), 0 5px 14px rgba(0,0,0,.22) }
.li-wafab:active{ transform:scale(.96) }
.li-wafab svg{ width:30px; height:30px; fill:currentColor }
.li-wafab__tip{
  position:absolute;
  right:74px; top:50%; transform:translateY(-50%) translateX(8px);
  background:var(--li-text);
  color:#fff;
  padding:10px 16px;
  border-radius:var(--li-r);
  font:var(--li-w-semi) var(--li-text-sm)/1.3 var(--li-font-body);
  white-space:nowrap;
  opacity:0; pointer-events:none;
  box-shadow:var(--li-shadow);
  transition:opacity var(--li-dur) var(--li-ease-out), transform var(--li-dur) var(--li-ease-out);
}
.li-wafab__tip::after{
  content:""; position:absolute; left:100%; top:50%;
  transform:translateY(-50%);
  border:6px solid transparent; border-left-color:var(--li-text);
}
.li-wafab:hover .li-wafab__tip{ opacity:1; transform:translateY(-50%) translateX(0) }
@keyframes li-wafab-pulse{
  0%,100%{ box-shadow:0 10px 28px rgba(37,211,102,.42), 0 3px 10px rgba(0,0,0,.18), 0 0 0 0 rgba(37,211,102,.5) }
  50%{    box-shadow:0 10px 28px rgba(37,211,102,.42), 0 3px 10px rgba(0,0,0,.18), 0 0 0 18px rgba(37,211,102,0) }
}
@media (max-width:640px){ .li-wafab{ width:56px; height:56px; bottom:90px; right:16px } .li-wafab__tip{ display:none } }
@media (prefers-reduced-motion: reduce){ .li-wafab{ animation:none } }


/* ────────────────────────────────────────────────────────────────────────
   STORE WIDGET · skin nuova premium
   ──────────────────────────────────────────────────────────────────────── */
.li-store{
  display:inline-flex; flex-direction:column;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  border-radius:var(--li-r-lg);
  padding:14px 18px;
  border:1px solid rgba(10,14,20,.06);
  box-shadow:var(--li-shadow);
  font-family:var(--li-font-body);
  color:var(--li-text);
  max-width:380px;
}
.li-store__title{ font:var(--li-w-bold) var(--li-text-sm)/1.4 var(--li-font-body); margin:0 0 var(--li-sp-1); color:var(--li-text) }
.li-store__sub{ font:var(--li-w-regular) var(--li-text-xs)/1.4 var(--li-font-body); color:var(--li-text-mute); margin:0 0 var(--li-sp-3) }
.li-store__pills{ display:flex; flex-direction:column; gap:6px }
.li-store__pill{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:var(--li-text-xs) }
.li-store__dot{ width:8px; height:8px; border-radius:50%; background:#22c55e; flex-shrink:0; box-shadow:0 0 0 3px rgba(34,197,94,.2) }
.li-store__dot[data-state="closed"]{ background:#ef4444; box-shadow:0 0 0 3px rgba(239,68,68,.2) }
.li-store__dot[data-state="pause"]{ background:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.2) }
.li-store__city{ font-weight:var(--li-w-bold); color:var(--li-text); min-width:64px }
.li-store__status{ font-weight:var(--li-w-semi); color:#15803d }
.li-store__status[data-state="closed"]{ color:#b91c1c }
.li-store__status[data-state="pause"]{ color:#b45309 }


/* ────────────────────────────────────────────────────────────────────────
   TRUST STRIP · sopra footer
   ──────────────────────────────────────────────────────────────────────── */
.li-trust-strip{
  background:var(--li-sand-100);
  padding:var(--li-sp-5) var(--li-section-px);
  border-top:1px solid var(--li-border);
  border-bottom:1px solid var(--li-border);
}
.li-trust-strip__inner{
  max-width:var(--li-content-max);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:clamp(16px, 3vw, 48px);
  font:var(--li-w-medium) var(--li-text-sm)/1.4 var(--li-font-body);
  color:var(--li-text-mute);
}
.li-trust-strip__item{ display:inline-flex; align-items:center; gap:8px }
.li-trust-strip__item svg{ width:18px; height:18px; stroke:var(--li-primary); fill:none; stroke-width:2 }


/* ────────────────────────────────────────────────────────────────────────
   SKELETON LOADING
   ──────────────────────────────────────────────────────────────────────── */
.li-skel{
  background:linear-gradient(90deg,
    var(--li-sand-100) 0%,
    var(--li-sand-200) 50%,
    var(--li-sand-100) 100%);
  background-size:200% 100%;
  animation:li-skel 1.4s ease-in-out infinite;
  border-radius:var(--li-r);
}
@keyframes li-skel{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }


/* ────────────────────────────────────────────────────────────────────────
   MODAL · accessible dialog (per inbox rename ecc)
   ──────────────────────────────────────────────────────────────────────── */
.li-modal{
  position:fixed; inset:0;
  z-index:var(--li-z-modal);
  display:none;
  align-items:center; justify-content:center;
  padding:var(--li-sp-5);
  background:rgba(10,14,20,.6);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.li-modal.is-open{ display:flex; animation:li-modal-in var(--li-dur) var(--li-ease-out) }
@keyframes li-modal-in{ from{opacity:0} to{opacity:1} }
.li-modal__panel{
  background:var(--li-surface);
  border-radius:var(--li-r-xl);
  padding:clamp(20px, 4vw, 36px);
  max-width:480px;
  width:100%;
  box-shadow:var(--li-shadow-xl);
  animation:li-modal-pop var(--li-dur-slow) var(--li-ease-bounce);
}
@keyframes li-modal-pop{ from{transform:scale(.92);opacity:0} to{transform:scale(1);opacity:1} }
.li-modal__h{ font:var(--li-w-bold) var(--li-text-xl)/1.3 var(--li-font-display); margin:0 0 var(--li-sp-3); color:var(--li-text) }
.li-modal__sub{ font:var(--li-w-regular) var(--li-text-sm)/1.55 var(--li-font-body); margin:0 0 var(--li-sp-5); color:var(--li-text-mute) }
.li-modal__actions{ display:flex; gap:var(--li-sp-2); justify-content:flex-end; margin-top:var(--li-sp-5) }

/* ═══════════════════════════════════════════════════════════════
   FIX HERO PADDING-TOP (titolo non mangiato dal menu fisso)
   + FIX MAGIC DOPPIO MODAL (foto altezza piena ancorata a SX)
   Inserito qui per bypassare OPcache PHP — il file CSS ha
   cache-busting automatico via filemtime nell'URL.
   ═══════════════════════════════════════════════════════════════ */

/* Hero: padding sull'inner, NON sul .li-hero (bypassa grid centering) */
@media (min-width: 769px) {
  body #omero-content section.li-hero,
  html body #omero-content section.li-hero,
  body #omero-content section.li-hero[class] {
    padding: 0 !important;
    margin: 0 !important;
    min-height: min(92vh, 880px) !important;
    position: relative !important;
    display: block !important;
  }
  body #omero-content section.li-hero .li-hero__inner,
  html body #omero-content section.li-hero .li-hero__inner {
    padding: 180px var(--section-px, clamp(16px,4vw,40px)) 80px !important;
    position: relative !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    min-height: min(92vh, 880px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  body #omero-content section.li-hero .li-hero__title {
    font-size: clamp(1.8rem, 3.4vw, 2.8rem) !important;
    line-height: 1.18 !important;
    margin: 0 0 18px !important;
  }
}
@media (max-width: 768px) {
  body #omero-content section.li-hero,
  html body #omero-content section.li-hero {
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    position: relative !important;
    display: block !important;
  }
  body #omero-content section.li-hero .li-hero__inner,
  html body #omero-content section.li-hero .li-hero__inner {
    padding: 130px 20px 50px !important;
    position: relative !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  body #omero-content section.li-hero .li-hero__title {
    font-size: 1.55rem !important;
    line-height: 1.18 !important;
    margin: 0 0 14px !important;
  }
}

/* Modal gallery: container HEIGHT:AUTO — segue ESATTAMENTE l'immagine corrente
   align-items:flex-start sul wrapper così le slide non si allungano alla max child */
#omero-content .product-modal-v2 .modal-gallery-v2,
.product-modal-v2 .modal-gallery-v2,
body #omero-content .modal-gallery-v2 {
  aspect-ratio: auto !important;
  min-height: 0 !important;
  height: auto !important;
  background: #f7f3ec !important;
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
  display: block !important;
}
#omero-content .product-modal-v2 .modal-gallery-v2 .swiper-wrapper,
.product-modal-v2 .modal-gallery-v2 .swiper-wrapper,
body #omero-content .modal-gallery-v2 .swiper-wrapper {
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  transform: none !important;
  transition: none !important;
}
#omero-content .product-modal-v2 .modal-gallery-v2 .swiper-slide,
.product-modal-v2 .modal-gallery-v2 .swiper-slide,
body #omero-content .modal-gallery-v2 .swiper-slide {
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  align-self: flex-start !important;
  scroll-snap-align: center !important;
  display: block !important;
  background: #f7f3ec !important;
  transform: none !important;
}
#omero-content .product-modal-v2 .modal-gallery-v2 .swiper-slide img,
.product-modal-v2 .modal-gallery-v2 .swiper-slide img,
body #omero-content .modal-gallery-v2 .swiper-slide img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 80vh !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
}
/* Modal content-v2 più largo */
#omero-content .product-modal-v2 .modal-content-v2,
.product-modal-v2 .modal-content-v2 {
  max-width: 960px !important;
  width: 100% !important;
}
@media (max-width: 600px) {
  #omero-content .product-modal-v2 .modal-gallery-v2 .swiper-slide img {
    max-height: 70vh !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   FIX MIRATO: zoom 35% su letto-magic-doppio-aperto.jpg
   per rimuovere i bordi bianchi laterali del JPG sorgente.
   Hover: zoom IN ulteriore (1.42x) — mai indietro.
   Vale ovunque l'immagine appaia (card esterna + modale).
   ════════════════════════════════════════════════════════════════ */
#omero-content img[src*="letto-magic-doppio-aperto"],
#omero-content .modal-gallery-v2 img[src*="letto-magic-doppio-aperto"],
#omero-content .magic-card-media img[src*="letto-magic-doppio-aperto"],
body img[src*="letto-magic-doppio-aperto"] {
  transform: scale(1.35) !important;
  transform-origin: center center !important;
  transition: transform .6s cubic-bezier(.2,.8,.2,1) !important;
}
/* HOVER: zoom IN ulteriore — overrides .li-pcard:hover img scale(1.05) */
#omero-content .li-pcard:hover .magic-card-media img[src*="letto-magic-doppio-aperto"],
#omero-content .li-pcard:hover a.li-pcard__media img[src*="letto-magic-doppio-aperto"],
#omero-content .magic-card-media:hover img[src*="letto-magic-doppio-aperto"],
#omero-content a.li-pcard__media:hover img[src*="letto-magic-doppio-aperto"],
body .li-pcard:hover img[src*="letto-magic-doppio-aperto"] {
  transform: scale(1.42) !important;
  transform-origin: center center !important;
}
/* Container clip — usa :has() per match parent in modo chirurgico */
#omero-content .modal-gallery-v2 .swiper-slide:has(img[src*="letto-magic-doppio-aperto"]),
#omero-content a.li-pcard__media:has(img[src*="letto-magic-doppio-aperto"]),
.modal-gallery-v2 .swiper-slide:has(img[src*="letto-magic-doppio-aperto"]) {
  overflow: hidden !important;
}

/* ════════════════════════════════════════════════════════════════
   FRECCE SLIDER DESKTOP — navigazione ← → su modal-gallery-v2
   ════════════════════════════════════════════════════════════════ */
@media (min-width:769px) {
  .modal-gallery-v2 {
    position: relative !important;
  }
  .modal-gallery-v2 .gallery-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(0,0,0,.45) !important;
    color: #fff !important;
    font-size: 22px !important;
    line-height: 40px !important;
    text-align: center !important;
    cursor: pointer !important;
    border: none !important;
    padding: 0 !important;
    user-select: none !important;
    transition: background .2s !important;
  }
  .modal-gallery-v2 .gallery-arrow:hover {
    background: rgba(0,0,0,.7) !important;
  }
  .modal-gallery-v2 .gallery-arrow--left {
    left: 12px !important;
  }
  .modal-gallery-v2 .gallery-arrow--right {
    right: 12px !important;
  }
}
@media (max-width:768px) {
  .modal-gallery-v2 .gallery-arrow {
    display: none !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   ZOOM MODALI CONTAINER (classico, doppio, divano) — scale 1.25
   ════════════════════════════════════════════════════════════════ */
#li-modal-container-classico .modal-gallery-v2 .swiper-slide,
#li-modal-container-doppio .modal-gallery-v2 .swiper-slide,
#li-modal-container-divano .modal-gallery-v2 .swiper-slide {
  overflow: hidden !important;
}
#li-modal-container-classico .modal-gallery-v2 .swiper-slide img,
#li-modal-container-doppio .modal-gallery-v2 .swiper-slide img,
#li-modal-container-divano .modal-gallery-v2 .swiper-slide img {
  transform: scale(1.25) !important;
  transform-origin: center center !important;
}

/* ════════════════════════════════════════════════════════════════
   ZOOM MODALI SHABBY (tutte e 4) — scale 1.2
   ════════════════════════════════════════════════════════════════ */
#li-modal-shabby-singola .modal-gallery-v2 .swiper-slide,
#li-modal-shabby-doppia .modal-gallery-v2 .swiper-slide,
#li-modal-shabby-soppalco .modal-gallery-v2 .swiper-slide,
#li-modal-shabby-ponte .modal-gallery-v2 .swiper-slide {
  overflow: hidden !important;
}
#li-modal-shabby-singola .modal-gallery-v2 .swiper-slide img,
#li-modal-shabby-doppia .modal-gallery-v2 .swiper-slide img,
#li-modal-shabby-soppalco .modal-gallery-v2 .swiper-slide img,
#li-modal-shabby-ponte .modal-gallery-v2 .swiper-slide img {
  transform: scale(1.2) !important;
  transform-origin: center center !important;
}

/* ────────────────────────────────────────────────────────────────────────
   CATEGORY GRID · tile grandi homepage
   ──────────────────────────────────────────────────────────────────────── */
.li-catgrid__grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.li-cat {
  min-height: 320px !important;
}
.li-cat__img img {
  object-fit: cover !important;
}
@media(max-width:768px) {
  .li-catgrid__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .li-cat { min-height: 240px !important; }
}
