/* Home hero and product pages of zaninvenezia.com on the 1200 px grid of header and footer (scripts/pagine_nuove.py). */
.zv-hero,.zv-aiuto{font-family:Montserrat,Arial,sans-serif;color:#1f1f1f}
.zv-hero *,.zv-aiuto *{box-sizing:border-box}
.zv-hero p,.zv-aiuto p{margin:0}

/* ---------- home hero: photo on the right melting into the white page, text on the grid ---------- */
.zv-hero{position:relative;display:flex;align-items:center;min-height:min(50vw,86vh);background:#fff;overflow:hidden}
.zv-hero__media{position:absolute;top:0;right:0;bottom:0;width:70%}
.zv-hero__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.zv-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.85) 8%,rgba(255,255,255,0) 26%)}
.zv-hero__wrap{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:72px 24px}
.zv-hero__text{max-width:470px}
.zv-hero__eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#6e6e6e;margin-bottom:18px!important}
.zv-hero h1.zv-hero__title{font-family:"Crimson Text",Georgia,serif;font-weight:400;font-size:56px;line-height:1.06;letter-spacing:-.01em;
  color:#1f1f1f;margin:0 0 22px;text-align:left}
.zv-hero__title span{color:#8a8a8a}
.zv-hero__lead{font-size:16px;line-height:1.65;color:#4a4a4a;max-width:420px;margin-bottom:32px!important}
.zv-hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.zv-hero .zv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid #1f1f1f;
  font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#1f1f1f;background:#fff;text-decoration:none;transition:background .2s,color .2s}
.zv-hero .zv-btn:hover{background:#1f1f1f;color:#fff}
.zv-hero .zv-btn--pieno{background:#1f1f1f;color:#fff}
.zv-hero .zv-btn--pieno:hover{background:#fff;color:#1f1f1f}
.zv-hero .zv-btn:focus-visible{outline:2px solid #1f1f1f;outline-offset:3px}
@media (max-width:1023px){
  .zv-hero__media{width:64%}
  .zv-hero__text{max-width:380px}
  .zv-hero h1.zv-hero__title{font-size:44px}
}
@media (max-width:767px){
  .zv-hero{display:block;min-height:0}
  .zv-hero__media{position:relative;width:100%;aspect-ratio:4/4.2}
  .zv-hero__media img{object-position:56% 28%}
  .zv-hero__media::after{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 18%)}
  .zv-hero__wrap{padding:8px 16px 40px}
  .zv-hero__text{max-width:none}
  .zv-hero h1.zv-hero__title{font-size:36px}
  .zv-hero__lead{font-size:15px}
  .zv-hero .zv-btn{flex:1 1 100%}
}

/* ---------- product pages: everything on the 1200 px grid (old Elementor sections and columns) ---------- */
.zv-prodotto [data-elementor-type="wp-page"] > .elementor-section{padding-left:24px!important;padding-right:24px!important}
.zv-prodotto [data-elementor-type="wp-page"] > .elementor-section > .elementor-container{max-width:1152px!important;margin-left:auto!important;margin-right:auto!important}
.zv-prodotto [data-elementor-type="wp-page"] > .elementor-section .elementor-widget-wrap{padding:0!important}
/* the two photos: half the grid each, square */
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto{padding-top:48px!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container{gap:24px}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column{width:calc(50% - 12px)!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto img{width:100%!important;max-width:none!important;height:auto!important;
  aspect-ratio:1/1;object-fit:cover}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto .elementor-widget-container{margin:0!important;padding:0!important}
/* subtitle, title and text: on the left edge of the grid, text at a readable width */
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-heading .elementor-widget-container{margin:0!important;padding:0!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-heading-title{text-align:left!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-text-editor{max-width:760px!important;margin:14px 0 0!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-text-editor .elementor-widget-container{margin:0!important;padding:0!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-text-editor p{text-align:left!important;line-height:1.75}
/* contact block: "Ti serve aiuto?" on the left, the form on the right */
.zv-prodotto .elementor-widget-template > .elementor-widget-container > .elementor > .e-con{padding:72px 0 0!important;margin:0!important}
.zv-prodotto .elementor-widget-template .e-con-boxed > .e-con-inner{display:grid!important;grid-template-columns:1fr 1.25fr;gap:56px;
  max-width:none!important;width:100%!important;padding:48px 0 0!important;border-top:1px solid #e4e0d8;align-items:start}
.zv-prodotto .elementor-widget-template .e-con-boxed > .e-con-inner > .e-con{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.zv-aiuto__titolo{font-family:"Crimson Text",Georgia,serif!important;font-weight:400!important;font-size:38px!important;line-height:1.1!important;
  color:#1f1f1f!important;margin:0 0 14px!important;text-align:left!important}
.zv-aiuto p{font-size:15px;line-height:1.7;color:#4a4a4a}
.zv-aiuto .zv-aiuto__label{margin-top:24px!important;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6e6e6e}
.zv-aiuto a{color:#1f1f1f!important;font-size:15px!important;line-height:1.9;text-decoration:none}
.zv-aiuto a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){
  .zv-prodotto [data-elementor-type="wp-page"] > .elementor-section{padding-left:16px!important;padding-right:16px!important}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto{padding-top:20px!important}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container{gap:12px;flex-wrap:wrap}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column{width:100%!important}
  .zv-prodotto .elementor-widget-template .e-con-boxed > .e-con-inner{grid-template-columns:1fr;gap:28px;padding-top:36px!important}
  .zv-aiuto__titolo{font-size:30px!important}
}
/* contact block: no inner padding of the Elementor template, so it sits on the grid edges like the rest */
.zv-prodotto .elementor-widget-template .e-con,.zv-prodotto .elementor-widget-template .e-con-boxed{
  --padding-left:0px!important;--padding-right:0px!important;padding-left:0!important;padding-right:0!important}
/* the contact block is its own top container (sibling of the old sections): same grid */
.zv-prodotto [data-elementor-type="wp-page"] > .e-con{--padding-left:24px!important;--padding-right:24px!important;padding-left:24px!important;padding-right:24px!important}
.zv-prodotto [data-elementor-type="wp-page"] > .e-con > .e-con-inner{max-width:1152px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important}
@media (max-width:767px){
  .zv-prodotto [data-elementor-type="wp-page"] > .e-con{--padding-left:16px!important;--padding-right:16px!important;padding-left:16px!important;padding-right:16px!important}
}

/* page head before the photos: path from the menu, then the page's subtitle (H1) and title */
.zv-testa{max-width:1200px;margin:0 auto;padding:40px 24px 28px;font-family:Montserrat,Arial,sans-serif}
.zv-briciole{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:22px;font-size:11.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:#6e6e6e}
.zv-briciole a{color:#6e6e6e!important;font-size:inherit!important;text-decoration:none}
.zv-briciole a:hover{color:#1f1f1f!important;text-decoration:underline;text-underline-offset:4px}
.zv-briciole a[aria-current]{color:#1f1f1f!important}
.zv-briciole .zv-sep{color:#b9b4aa}
.zv-testa .elementor-widget-heading .elementor-widget-container{margin:0!important;padding:0!important}
.zv-testa .elementor-heading-title{text-align:left!important}
.zv-testa .elementor-widget-heading + .elementor-widget-heading{margin-top:4px}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto{padding-top:0!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-text-editor:first-child{margin-top:44px!important}
@media (max-width:767px){
  .zv-testa{padding:24px 16px 18px}
  .zv-briciole{margin-bottom:14px;font-size:10.5px}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-testo .elementor-widget-text-editor:first-child{margin-top:28px!important}
}

/* ===== product pages, round 2 (10/10/2026) ===== */
/* 1. title in the brand serif; the H1 above it as a small spaced line */
.zv-testa .zv-occhiello .elementor-heading-title{font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.18em!important;text-transform:uppercase!important;color:#6e6e6e!important;line-height:1.5!important}
.zv-testa .zv-titolo .elementor-heading-title{font-family:"Crimson Text",Georgia,serif!important;font-size:54px!important;font-weight:400!important;
  line-height:1.05!important;letter-spacing:-.01em!important;text-transform:none!important;color:#1f1f1f!important}
.zv-testa .zv-occhiello + .zv-titolo{margin-top:10px!important}
.zv-testa{padding-bottom:36px!important}

/* 2. photos "magazine" style: big one (2/3) and a narrower one, same height (not clickable, no hover zoom) */
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container{align-items:stretch!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:first-child{width:calc(64% - 12px)!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child{width:calc(36% - 12px)!important}
.zv-prodotto .zv-foto .elementor-widget-wrap,.zv-prodotto .zv-foto .elementor-widget,.zv-prodotto .zv-foto .elementor-widget-container{height:100%}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto img{aspect-ratio:auto!important;height:100%!important;object-fit:cover}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:first-child img{aspect-ratio:4/3!important;height:auto!important}

/* 3. text on the left, side box on the right (sticky while reading) */
.zv-corpo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start;margin-top:48px}
.zv-corpo .elementor-widget-text-editor{max-width:none!important;margin:0!important}
.zv-corpo__testo p{font-size:16px!important;line-height:1.8!important;color:#333!important;text-align:left!important;margin:0 0 1.1em!important}
.zv-corpo__testo p:first-child:not(:only-child){font-size:19px!important;line-height:1.65!important;color:#1f1f1f!important}
.zv-lato{position:sticky;top:104px;font-family:Montserrat,Arial,sans-serif}
.zv-lato__box{background:#f6f4f0;padding:28px 26px}
.zv-lato p{margin:0}
.zv-lato__titolo{font-family:"Crimson Text",Georgia,serif;font-size:25px;line-height:1.15;color:#1f1f1f;margin-bottom:10px!important}
.zv-lato__box > p:not([class]){font-size:14px;line-height:1.65;color:#4a4a4a;margin-bottom:20px!important}
.zv-lato__contatti{margin-top:18px!important;font-size:14px;line-height:1.9}
.zv-lato a{color:#1f1f1f!important;font-size:14px!important;text-decoration:none}
.zv-lato a:hover{text-decoration:underline;text-underline-offset:4px}
.zv-lato__altre{padding:24px 26px 0}
.zv-lato__label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6e6e6e;margin-bottom:10px!important}
.zv-lato__altre ul{list-style:none;margin:0;padding:0}
.zv-lato__altre li{border-top:1px solid #e4e0d8}
.zv-lato__altre li:last-child{border-bottom:1px solid #e4e0d8}
.zv-lato__altre a{display:flex;justify-content:space-between;padding:11px 0;font-size:14px!important}
.zv-lato__altre a::after{content:"\2192";opacity:.5}
.zv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:1px solid #1f1f1f;
  font-family:Montserrat,Arial,sans-serif;font-size:12px!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#1f1f1f!important;background:#fff;text-decoration:none!important;transition:background .2s,color .2s}
.zv-btn--pieno{background:#1f1f1f;color:#fff!important}
.zv-btn--pieno:hover{background:#fff;color:#1f1f1f!important}
.zv-lato .zv-btn{width:100%}
.zv-aiuto{scroll-margin-top:110px}

/* 4. finishing: more air between blocks, dark submit button like the hero's */
.zv-prodotto .elementor-widget-template > .elementor-widget-container > .elementor > .e-con{padding-top:96px!important}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"],
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:not(:hover),
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:not(:hover) .elementor-button-text{
  background:#1f1f1f!important;color:#fff!important;border:1px solid #1f1f1f!important;border-radius:0!important;min-height:48px;
  font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:hover,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:hover .elementor-button-text{background:#fff!important;color:#1f1f1f!important}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-field{border-color:#d6d1c7!important;border-radius:0!important}

@media (max-width:1023px){
  .zv-corpo{grid-template-columns:1fr;gap:40px}
  .zv-lato{position:static}
}
@media (max-width:767px){
  .zv-testa .zv-titolo .elementor-heading-title{font-size:38px!important}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:first-child,
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child{width:100%!important}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child img{aspect-ratio:4/3!important;height:auto!important}
  .zv-corpo{margin-top:32px}
  .zv-corpo__testo p:first-child:not(:only-child){font-size:17px!important}
  .zv-prodotto .elementor-widget-template > .elementor-widget-container > .elementor > .e-con{padding-top:56px!important}
}
/* fixes round 2 */
.zv-lato a.zv-btn--pieno{color:#fff!important}
.zv-lato a.zv-btn--pieno:hover{color:#1f1f1f!important;text-decoration:none}
/* narrow photo exactly as tall as the big one */
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child .elementor-widget-wrap{position:relative}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child img{position:absolute;inset:0;width:100%!important;height:100%!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto .elementor-widget{margin:0!important}
/* submit button: text centred */
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 24px!important}
@media (max-width:767px){
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child .elementor-widget-wrap{position:static}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto > .elementor-container > .elementor-column:last-child img{position:static}
}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-content-wrapper{align-items:center!important;justify-content:center!important}
.zv-prodotto .zv-foto .elementor-widget-wrap > *{margin-bottom:0!important}
.zv-prodotto .zv-foto figure{margin:0!important}
.zv-prodotto .zv-foto .elementor-widget-container{font-size:0;line-height:0}
/* the side list must not touch the line of the contact block below */
.zv-lato__altre li:last-child{border-bottom:0}
.zv-corpo{margin-bottom:72px}
@media (max-width:767px){.zv-corpo{margin-bottom:40px}}
.zv-prodotto .zv-foto img{display:block;transform:none!important;transition:none!important}

/* English pages: the title was an <h1> inside the text, moved into the page head */
.zv-testa h1.zv-titolo-h{font-family:"Crimson Text",Georgia,serif;font-size:54px;font-weight:400;line-height:1.05;letter-spacing:-.01em;
  color:#1f1f1f;margin:0;text-align:left;text-transform:none}
/* one photo only: the whole grid, panoramic */
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto--una > .elementor-container > .elementor-column:first-child{width:100%!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto--una > .elementor-container > .elementor-column:first-child img{aspect-ratio:16/7!important;height:auto!important;position:static!important}
.zv-prodotto [data-elementor-type="wp-page"] > .zv-foto--una > .elementor-container > .elementor-column .elementor-widget-wrap{position:static!important}
/* text written without paragraphs (English pages): same type as the paragraphs */
.zv-corpo__testo .elementor-widget-container{font-size:16px;line-height:1.8;color:#333;text-align:left}
@media (max-width:767px){
  .zv-testa h1.zv-titolo-h{font-size:38px}
  .zv-prodotto [data-elementor-type="wp-page"] > .zv-foto--una > .elementor-container > .elementor-column:first-child img{aspect-ratio:4/3!important}
}

/* contact block made of a plain form widget (wine labels): same two columns */
.zv-contatti-griglia{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:start;padding-top:48px;margin-top:24px;border-top:1px solid #e4e0d8}
@media (max-width:767px){.zv-contatti-griglia{grid-template-columns:1fr;gap:28px;padding-top:36px}}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-content-wrapper,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-text{
  height:auto!important;flex:0 0 auto!important;line-height:1.2!important;padding:0!important}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-content-wrapper,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-text{min-height:0!important}

/* every text block like the Italian ones: left aligned, same colour and leading (English text has no <p>, and
   Elementor justifies it with id-specific rules) */
.zv-corpo__testo .elementor-widget-container,.zv-corpo__testo .elementor-widget-container *{text-align:left!important}
.zv-corpo__testo .elementor-widget-container{font-size:16px!important;line-height:1.8!important;color:#333!important;font-family:Montserrat,Arial,sans-serif!important}
.zv-corpo__testo .elementor-widget-container span{color:inherit!important;font-size:inherit!important}
.zv-corpo__testo .elementor-widget-text-editor + .elementor-widget-text-editor{margin-top:1.1em!important}
.zv-corpo__testo .elementor-widget-text-editor{text-align:left!important}
/* path links: at least 24 px tall, so the two links never sit closer than a finger when the path wraps (a11y target size) */
.zv-briciole{row-gap:0}
.zv-briciole a,.zv-briciole span{display:inline-flex;align-items:center;min-height:24px}

/* ===== Chi siamo / About us ===== */
.zv-storia{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:64px;align-items:start;max-width:1200px;margin:0 auto;padding:8px 24px 0}
.zv-storia__foto img{display:block;width:100%!important;height:auto!important;max-width:none!important}
.zv-storia__testo .elementor-widget-container p:first-child:not(:only-child){margin-top:0!important}
.zv-tappe{max-width:1200px;margin:72px auto 0;padding:0 24px;font-family:Montserrat,Arial,sans-serif}
.zv-tappe ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #e4e0d8}
.zv-tappe li{padding:28px 28px 0 0}
.zv-tappe li + li{padding-left:28px;border-left:1px solid #e4e0d8}
.zv-tappe p{margin:0;font-size:14.5px;line-height:1.65;color:#4a4a4a}
.zv-tappe .zv-tappe__anno{font-family:"Crimson Text",Georgia,serif;font-size:40px;line-height:1;color:#1f1f1f;margin-bottom:12px}
.zv-chi .elementor-widget-template > .elementor-widget-container > .elementor > .e-con{padding-top:88px!important}
@media (max-width:1023px){
  .zv-storia{grid-template-columns:1fr 1fr;gap:40px}
  .zv-tappe ol{grid-template-columns:1fr 1fr}
  .zv-tappe li:nth-child(3){border-left:0;padding-left:0}
  .zv-tappe li{padding-bottom:24px}
}
@media (max-width:767px){
  .zv-storia{grid-template-columns:1fr;gap:28px;padding:0 16px}
  .zv-tappe{margin-top:48px;padding:0 16px}
  .zv-tappe ol{grid-template-columns:1fr}
  .zv-tappe li,.zv-tappe li + li{padding:20px 0;border-left:0;border-bottom:1px solid #e4e0d8}
  .zv-tappe .zv-tappe__anno{font-size:32px}
}
/* links inside the texts: dark and underlined (on Chi siamo they kept the light colour of the old grey box) */
.zv-corpo__testo a,.zv-corpo__testo a:not(:hover){color:#1f1f1f!important;text-decoration:underline!important;text-underline-offset:3px}
.zv-tappe{margin-bottom:64px}
@media (max-width:767px){.zv-tappe{margin-bottom:24px}}
@media (max-width:767px){.zv-tappe li:last-child{border-bottom:0}}

/* ===== colour swatches (Colorazioni, Fogli di madreperla) ===== */
.zv-colori-intro{max-width:760px;margin-top:18px}
.zv-colori-intro p{font-size:18px!important;line-height:1.7!important;color:#1f1f1f!important;margin:0!important}
.zv-colori{max-width:1200px;margin:16px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;font-family:Montserrat,Arial,sans-serif}
.zv-famiglia{border:1px solid #ece9e3;padding:24px 22px 18px;background:#fff}
.zv-famiglia .zv-famiglia__nome{font-family:"Crimson Text",Georgia,serif;font-size:24px;font-weight:400;line-height:1.15;color:#1f1f1f;margin:0;text-align:left;text-transform:none;letter-spacing:0}
.zv-famiglia__n{margin:4px 0 18px!important;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6e6e6e}
.zv-famiglia ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 8px}
.zv-colore{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none!important;color:#1f1f1f!important;cursor:zoom-in}
.zv-colore__tinta{display:block;width:100%;aspect-ratio:1/1;border-radius:4px;background:var(--tinta) center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
/* colour + a corner of the real mother of pearl (Marco, 11/10/2026); on hover the material fills the square.
   --mini = 160 px crop of the photo without its "COLOR …" label (migliorie colori_angolo); loaded when the grid is near
   (.zv-vista, set by zv-galleria.js); the big photo with the label opens only on click */
.zv-colore__tinta{position:relative;overflow:hidden}
.zv-colore__tinta::after{content:"";position:absolute;inset:0;background:var(--tinta) center/cover no-repeat;
  clip-path:polygon(100% 42%,100% 100%,42% 100%);transition:clip-path .28s ease}
.zv-colori.zv-vista .zv-colore__tinta::after{background-image:var(--mini)}
.zv-colore:hover .zv-colore__tinta::after,.zv-colore:focus-visible .zv-colore__tinta::after{clip-path:polygon(100% -120%,100% 100%,-120% 100%);background-image:var(--mini)}
@media (prefers-reduced-motion:reduce){.zv-colore__tinta::after{transition:none}}
.zv-colore__nome{font-size:10.5px!important;line-height:1.3;text-align:center;color:#4a4a4a;white-space:nowrap;letter-spacing:-.01em}
.zv-colore:hover .zv-colore__tinta,.zv-colore:focus-visible .zv-colore__tinta{box-shadow:0 0 0 2px #1f1f1f}
.zv-colore:hover .zv-colore__nome{color:#1f1f1f}
.zv-colore:focus-visible{outline:none}
.zv-colori-fine{font-family:Montserrat,Arial,sans-serif;max-width:1200px;margin:64px auto 96px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start}
.zv-colori-fine p{margin:0}
.zv-colori-fine .zv-lato__box a{color:#1f1f1f!important;text-decoration:none}
.zv-colori-fine .zv-lato__box a.zv-btn--pieno{color:#fff!important;width:100%}
.zv-colori-fine .zv-lato__box a.zv-btn--pieno:hover{color:#1f1f1f!important}
.zv-colori-fine__fogli{margin-top:16px!important;font-size:14px}
.zv-colori-fine__fogli a:hover{text-decoration:underline!important;text-underline-offset:4px}
.zv-colori-fine .zv-lato__box > p:not([class]){font-size:14px;line-height:1.65;color:#4a4a4a;margin-bottom:20px!important}
@media (max-width:1023px){
  .zv-colori{grid-template-columns:repeat(2,1fr)}
  .zv-colori-fine{grid-template-columns:1fr;gap:32px}
}
@media (max-width:767px){
  .zv-colori{grid-template-columns:1fr;padding:0 16px;gap:14px}
  .zv-famiglia{padding:20px 16px 14px}
  .zv-famiglia ul{gap:14px 8px}
  .zv-colori-intro p{font-size:16.5px!important}
  .zv-colori-fine{padding:0 16px;margin:48px auto 64px}
}
@media (min-width:768px) and (max-width:1023px){.zv-famiglia{padding:20px 14px 14px}.zv-famiglia ul{gap:14px 6px}.zv-colore__nome{font-size:10px!important}}
@media (min-width:1024px) and (max-width:1179px){.zv-colori{grid-template-columns:repeat(2,1fr)}}
@media (max-width:359px){.zv-famiglia ul{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* outline buttons (hero "Contattaci"): on hover dark with white text; the generic .zv-btn colour has !important */
.zv-btn:not(.zv-btn--pieno):hover,.zv-btn:not(.zv-btn--pieno):focus-visible{background:#1f1f1f!important;color:#fff!important}
/* "Invia": only the button changes colour, its inner text/wrapper stay transparent and inherit, same transition */
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-content-wrapper,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"] .elementor-button-text,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:hover .elementor-button-text,
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]:not(:hover) .elementor-button-text{
  background:transparent!important;color:inherit!important;border:0!important;transition:none!important}
.zv-prodotto :is(.e-con-inner,.zv-contatti-griglia):has(#zv-contatti) .elementor-button[type="submit"]{transition:background-color .2s ease,color .2s ease!important}
/* swatch section on Fogli di madreperla */
.zv-colori-sezione{margin-top:80px}
.zv-colori-sezione__testa{max-width:1200px;margin:0 auto 6px;padding:0 24px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:Montserrat,Arial,sans-serif}
.zv-colori-sezione__testa h2{font-family:"Crimson Text",Georgia,serif;font-size:38px;font-weight:400;line-height:1.1;margin:0;color:#1f1f1f;text-align:left}
.zv-colori-sezione__testa a{font-size:14px!important;color:#1f1f1f!important;text-decoration:none}
.zv-colori-sezione__testa a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:767px){.zv-colori-sezione{margin-top:56px}.zv-colori-sezione__testa{padding:0 16px}.zv-colori-sezione__testa h2{font-size:30px}}
.zv-prodotto .zv-colori-sezione{margin-top:24px}@media (max-width:767px){.zv-prodotto .zv-colori-sezione{margin-top:16px}}

/* ===== home "Contattaci" popup (Elementor popup 1908) ===== */
#elementor-popup-modal-1908{background:rgba(24,24,22,.55)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#elementor-popup-modal-1908 .dialog-widget-content{width:520px!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 32px);overflow:auto;
  border-radius:0!important;box-shadow:0 24px 60px rgba(0,0,0,.25)!important;background:#fff!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-section,#elementor-popup-modal-1908 .elementor-1908 .elementor-element-1b0da13{padding:0!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-container{max-width:none!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-widget-wrap{padding:40px 40px 32px!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element-4478456{margin-bottom:0!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element-4478456 .elementor-heading-title{font-family:"Crimson Text",Georgia,serif!important;
  font-size:36px!important;font-weight:400!important;line-height:1.1!important;text-align:left!important;color:#1f1f1f!important;letter-spacing:0!important;word-spacing:0!important}
#elementor-popup-modal-1908 .zv-pop-intro p{margin:10px 0 24px;font-family:Montserrat,Arial,sans-serif;font-size:14.5px;line-height:1.65;color:#4a4a4a}
#elementor-popup-modal-1908 .elementor-field-group{padding-left:0!important;padding-right:0!important;margin-bottom:12px!important}
#elementor-popup-modal-1908 .elementor-field-textual{border:1px solid #d6d1c7!important;border-radius:0!important;font-family:Montserrat,Arial,sans-serif!important;
  font-size:15px!important;padding:12px 14px!important;color:#1f1f1f!important;background:#fff!important;min-height:48px}
#elementor-popup-modal-1908 .elementor-field-textual:focus{border-color:#1f1f1f!important;outline:none;box-shadow:none!important}
#elementor-popup-modal-1908 textarea.elementor-field-textual{min-height:120px}
#elementor-popup-modal-1908 .elementor-field-group-privacy label{font-size:12px!important;line-height:1.55!important;color:#5e5e5e!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element.elementor-element-5a9737b .elementor-button[type="submit"],
#elementor-popup-modal-1908 .elementor-1908 .elementor-element.elementor-element-5a9737b .elementor-button[type="submit"]:not(:hover){
  background:#1f1f1f!important;color:#fff!important;border:1px solid #1f1f1f!important;border-radius:0!important;min-height:50px;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:0 24px!important;
  font-family:Montserrat,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  transition:background-color .2s ease,color .2s ease!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element.elementor-element-5a9737b .elementor-button[type="submit"]:hover{background:#fff!important;color:#1f1f1f!important}
#elementor-popup-modal-1908 .elementor-button[type="submit"] .elementor-button-content-wrapper,
#elementor-popup-modal-1908 .elementor-button[type="submit"] .elementor-button-text{background:transparent!important;color:inherit!important;border:0!important;
  min-height:0!important;height:auto!important;padding:0!important;line-height:1.2!important;transition:none!important}
#elementor-popup-modal-1908 .zv-pop-contatti{margin-top:22px;padding-top:18px;border-top:1px solid #e4e0d8;font-family:Montserrat,Arial,sans-serif}
#elementor-popup-modal-1908 .zv-pop-contatti p{margin:0;font-size:14px;line-height:1.8;color:#4a4a4a}
#elementor-popup-modal-1908 .zv-pop-contatti .zv-aiuto__label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6e6e6e}
#elementor-popup-modal-1908 .zv-pop-contatti a{color:#1f1f1f!important;font-size:14px!important;text-decoration:none}
#elementor-popup-modal-1908 .zv-pop-contatti a:hover{text-decoration:underline;text-underline-offset:4px}
#elementor-popup-modal-1908 .dialog-close-button{top:18px!important;right:18px!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#f6f4f0!important;font-size:18px!important}
#elementor-popup-modal-1908 .dialog-close-button i,#elementor-popup-modal-1908 .dialog-close-button svg{color:#1f1f1f!important;fill:#1f1f1f!important;font-size:16px!important;width:16px;height:16px}
#elementor-popup-modal-1908 .dialog-close-button:hover{background:#ece9e3!important}
@media (max-width:767px){
  #elementor-popup-modal-1908 .elementor-1908 .elementor-widget-wrap{padding:28px 20px 24px!important}
  #elementor-popup-modal-1908 .elementor-1908 .elementor-element-4478456 .elementor-heading-title{font-size:30px!important;padding-right:40px}
  #elementor-popup-modal-1908 .dialog-close-button{top:14px!important;right:14px!important}
}
#elementor-popup-modal-1908 .dialog-message{width:100%!important;max-width:none!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element-1b0da13 .elementor-widget-wrap{padding-bottom:0!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element-1d3acf6 .elementor-widget-wrap{padding-top:0!important}
#elementor-popup-modal-1908 .elementor-1908 .elementor-element-5a9737b .elementor-form-fields-wrapper{margin-left:0!important;margin-right:0!important}
#elementor-popup-modal-1908 .zv-pop-contatti{width:100%;align-self:stretch;box-sizing:border-box}

/* ===== blog: cards, list, articles ===== */
.zv-blog-intro{max-width:760px}
.zv-blog-intro p{font-size:16px!important;line-height:1.8!important;color:#333!important;margin:0 0 1em!important}
.zv-blog-intro p:first-child{font-size:18px!important;color:#1f1f1f!important}
.zv-blog-intro a{color:#1f1f1f!important;text-decoration:underline!important}
.zv-schede{max-width:1200px;margin:24px auto 96px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px 28px;font-family:Montserrat,Arial,sans-serif}
.zv-scheda{display:flex;flex-direction:column}
.zv-scheda__foto{display:block;aspect-ratio:3/2;overflow:hidden;background:#f1eee8}
.zv-scheda__foto img{display:block;width:100%!important;height:100%!important;object-fit:cover;max-width:none!important}
.zv-scheda__testo{padding-top:18px}
.zv-scheda .zv-scheda__titolo{font-family:"Crimson Text",Georgia,serif;font-size:26px;font-weight:400;line-height:1.15;margin:0 0 10px;text-align:left;color:#1f1f1f}
.zv-scheda__titolo a{color:#1f1f1f!important;text-decoration:none;font-size:inherit!important}
.zv-scheda__titolo a:hover{text-decoration:underline;text-underline-offset:4px}
.zv-scheda__estratto{margin:0 0 14px!important;font-size:14.5px;line-height:1.65;color:#4a4a4a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.zv-scheda__leggi{font-size:11.5px!important;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#1f1f1f!important;text-decoration:none}
.zv-scheda__leggi:hover{text-decoration:underline;text-underline-offset:4px}
.zv-scheda--grande{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.zv-scheda--grande .zv-scheda__foto{aspect-ratio:16/10}
.zv-scheda--grande .zv-scheda__testo{padding-top:0}
.zv-scheda--grande .zv-scheda__titolo{font-size:40px;line-height:1.05}
.zv-scheda--grande .zv-scheda__estratto{-webkit-line-clamp:5;font-size:16px}
/* articles: everything on the grid */
.zv-articolo [data-elementor-type="single-post"] > .elementor-section,.zv-articolo [data-elementor-type="single-post"] > .e-con{
  padding-left:24px!important;padding-right:24px!important;--padding-left:24px!important;--padding-right:24px!important}
.zv-articolo [data-elementor-type="single-post"] > .elementor-section > .elementor-container,
.zv-articolo [data-elementor-type="single-post"] > .e-con > .e-con-inner{max-width:1152px!important;margin-left:auto!important;margin-right:auto!important}
.zv-articolo [data-elementor-type="single-post"] .elementor-widget-wrap{padding-left:0!important;padding-right:0!important}
.zv-articolo .elementor-widget-theme-post-content .elementor-section > .elementor-container{max-width:none!important}
.zv-articolo .elementor-widget-theme-post-content .elementor-section{padding-left:0!important;padding-right:0!important}
.zv-articolo .elementor-widget-theme-post-content .elementor-widget-wrap{padding:0!important}
.zv-articolo .elementor-widget-theme-post-content :is(p,li){text-align:left!important;font-size:16px!important;line-height:1.8!important;color:#333!important}
.zv-articolo .elementor-widget-theme-post-content :is(h2,h3,h4) .elementor-heading-title,.zv-articolo .elementor-widget-theme-post-content :is(h2,h3,h4){
  font-family:"Crimson Text",Georgia,serif!important;font-weight:400!important;text-align:left!important;color:#1f1f1f!important;letter-spacing:0!important}
.zv-articolo .elementor-widget-theme-post-content h2{font-size:28px!important;line-height:1.2!important}
.zv-articolo .elementor-widget-theme-post-content img{max-width:100%!important;height:auto!important}
.zv-articolo .elementor-widget-theme-post-content a{color:#1f1f1f!important;text-decoration:underline!important;text-underline-offset:3px}
.zv-articolo .zv-schede--correlati{padding:0;margin:20px 0 80px}
.zv-articolo [data-elementor-type="single-post"] .elementor-widget-heading:has(+ .zv-schede--correlati) .elementor-heading-title,
.zv-articolo [data-elementor-type="single-post"] h2.elementor-heading-title{font-family:"Crimson Text",Georgia,serif!important;font-weight:400!important;font-size:38px!important;text-align:left!important;color:#1f1f1f!important}
@media (max-width:1023px){
  .zv-schede{grid-template-columns:repeat(2,1fr)}
  .zv-scheda--grande{grid-template-columns:1fr;gap:20px}
}
@media (max-width:767px){
  .zv-schede{grid-template-columns:1fr;padding:0 16px;gap:40px;margin-bottom:64px}
  .zv-articolo [data-elementor-type="single-post"] > .elementor-section,.zv-articolo [data-elementor-type="single-post"] > .e-con{padding-left:16px!important;padding-right:16px!important}
  .zv-scheda--grande .zv-scheda__titolo{font-size:32px}
}
/* articles: inner containers without their own side padding (related cards on the grid edge) */
.zv-articolo [data-elementor-type="single-post"] > .e-con .e-con{--padding-left:0px!important;--padding-right:0px!important;padding-left:0!important;padding-right:0!important}
/* image + text columns inside the article: air between them; subtitle away from the image */
.zv-articolo .elementor-widget-theme-post-content .elementor-column + .elementor-column > .elementor-widget-wrap{padding-left:44px!important}
.zv-articolo .elementor-widget-theme-post-content .elementor-widget-heading{margin-bottom:28px!important}
.zv-articolo .elementor-widget-theme-post-content .elementor-widget-heading .elementor-widget-container{margin:0!important;padding:0!important}
@media (max-width:767px){
  .zv-articolo .elementor-widget-theme-post-content .elementor-column + .elementor-column > .elementor-widget-wrap{padding-left:0!important;padding-top:24px!important}
  .zv-articolo .elementor-widget-theme-post-content h2{font-size:24px!important}
}
.zv-articolo .elementor-widget-theme-post-content .e-con{--padding-left:0px!important;--padding-right:0px!important;padding-left:0!important;padding-right:0!important}
.zv-articolo .elementor-widget-theme-post-content .e-con-inner{max-width:none!important;margin:0!important}
/* AVIF <picture> around the two top photos (migliorie foto_testa): the <img> keeps its own layout rules */
.zv-prodotto .zv-foto picture{display:contents}
/* Arte: link to Zamàr's own site (Marco, 11/10/2026) */
.zv-zamar{margin-top:20px!important;font-weight:500}
.zv-zamar a{color:#1f1f1f!important;text-decoration:underline!important;text-underline-offset:4px}
