/* PINO LENTO · strato sopra il tema del template (public/theme/zorah.css).
   Marca (architetto brand, 9/10): inchiostro #201714 su avorio #F5EFE4; mai bianco puro come fondo; sito chiaro, mai nero;
   oro quasi mai (solo lamina vera); il bordeaux #5E1224 è il colore di WALTER, non del marchio.
   Le regole sono in coda e ridefiniscono solo colori e marchio: la struttura del template resta quella. */

:root {
  --pl-inchiostro: #201714;
  --pl-avorio: #F5EFE4;
  --pl-avorio-2: #EDE5D6;
  --pl-carta: #FBF8F2;
  --pl-pietra: #6E6259;
  --pl-filo: rgba(32, 23, 20, 0.22);
  --pl-walter: #5E1224;
}

body { color: var(--pl-inchiostro); background: var(--pl-carta); }
footer.site-footer, .site-content { background: var(--pl-carta); }
/* I nostri testi passano per uno span (data-blocco): non ereditano i colori d'accento che il tema dà agli span. */
.pl-t, span.pl-t { color: inherit !important; }
/* Blocchi lunghi nei posti dove il template aveva una frase breve: stesso carattere, corpo più piccolo. */
.components_fullscreen_image_text_before .content .title.pl-lungo { font-size: 26px; line-height: 1.25; text-transform: none; }
@media (min-width: 768px) { .components_fullscreen_image_text_before .content .title.pl-lungo { font-size: 34px; } }
@media (min-width: 1200px) { .components_fullscreen_image_text_before .content .title.pl-lungo { font-size: 40px; } }
.components_fullscreen_image .text.pl-lungo { font-size: 30px; line-height: 1.2; }
@media (min-width: 992px) { .components_fullscreen_image .text.pl-lungo { font-size: 46px; } }
header.site-header .header-nav ul.nav-menu li a { white-space: nowrap; }
.pl-sotto { font-family: "Domaine Sans Text", serif; font-size: 21px; margin: 1.2em 0 0.5em; }
/* Home: testata dello slider (H-03, H-01, H-02, H-04) e galleria (H-06). */
.components_slider .swiper-slide .slider-content .title-wrapper { max-width: 640px; }
.pl-riga-piccola { display: block; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.85; }
.pl-sottotitolo { font-size: 16px; line-height: 1.45; max-width: 460px; margin: 10px 0 0; }
@media (min-width: 992px) { .pl-sottotitolo { font-size: 19px; } }
.components_slider .pl-bottoni .btn.btn-secondary { background: rgba(245, 239, 228, 0.18); border: 1px solid var(--pl-avorio); }
.pl-intro-galleria { max-width: 640px; margin: 14px auto 0; font-size: 16px; line-height: 1.5; color: var(--pl-avorio); }
/* Il template sovrappone l'intro della galleria alle foto (margine -20px): con un nostro paragrafo serve spazio sotto. */
.components_gallery .intro:has(.pl-intro-galleria) { margin-bottom: 28px; position: relative; }
.components_gallery .intro .thisTitleBig { line-height: 1.05; }
.components_gallery.variation-Dark { background: var(--pl-inchiostro); }
.pl-autore-chiaro { color: var(--pl-avorio); font-family: "IBM Plex Sans", sans-serif; text-transform: none; font-size: 14px; letter-spacing: 0.02em; margin-top: 18px; }
.pl-didascalia { color: var(--pl-avorio); font-size: 15px; margin: 14px 0 0; text-transform: none; font-style: italic; }
/* Home S06: H-11 sulla frase a tutto schermo (titolo grande, testo e pulsante sotto). */
.components_fullscreen_image .text.pl-invito { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.pl-invito-testo { display: block; font-family: "IBM Plex Sans", sans-serif; text-transform: none; font-size: 17px; line-height: 1.45; max-width: 520px; color: var(--pl-avorio); }
@media (min-width: 992px) { .pl-invito-testo { font-size: 20px; } }
.pl-invito-bottone .btn { background: var(--pl-avorio); color: var(--pl-inchiostro); font-family: "IBM Plex Sans", sans-serif; font-size: 14px; letter-spacing: 0; }
/* Il segnale dentro un titolo resta in linea. */
h2 .pl-segnale, .main_content .pl-segnale, .secondary_content .pl-segnale, .text .pl-segnale { display: inline-block; padding-top: 18px; }
/* Il tema dà 40px agli span dentro .big: i nostri testi tengono il corpo del paragrafo. */
.secondary_content .big span.pl-t { font-size: inherit; line-height: inherit; display: inline; }
/* span.pl-t qui sopra vinceva per specificità e teneva il titoletto in linea col testo ("Clubs and distributorsIf you work..."). */
.secondary_content .big span.pl-t.pl-titoletto { display: block; font-family: "Domaine Sans Text", serif; font-size: 26px; line-height: 1.2; margin-bottom: 8px; }
/* Schede persona: il segnale sul testo del template attraversa le tre colonne invece di spezzarsi. */
.components_team .description .wrap > .pl-segnale { column-span: all; display: block; padding-top: 22px; }
.components_team .description .wrap > .pl-segnale p { column-count: 1; }
@media (min-width: 1200px) { .components_team .description .wrap > .pl-segnale .pl-zorah { display: block; column-count: 3; column-gap: 2rem; } }
/* Descrizioni brevi del Copywriter (M8): una colonna, non le tre del template pensate per testi lunghi. */
.components_team .description .wrap.pl-descr-breve { column-count: 1; max-width: 760px; margin: 0 auto; text-align: center; }
/* Frecce degli slider: avorio su inchiostro (l'oro del template è tolto da pinolento-senza-oro.css). */
.swiper-buttons .swiper-button-prev, .swiper-buttons .swiper-button-next { background: var(--pl-avorio) !important; color: var(--pl-inchiostro) !important; }
.components_gallery.variation-Dark .number, .components_gallery.variation-Dark .number_reference,
.components_gallery.variation-Dark .thisTitleBig { color: var(--pl-avorio) !important; }
.components_gallery.variation-Dark .btn { background: var(--pl-avorio); color: var(--pl-inchiostro); }
.bg-main_light, .card-slide, .wines-others-list .swiper-slide, .wines-others-list .card-slide,
.single-wine .single-image, .wines-list .single, .wines-list .single > a,
.components_team .team_member:nth-child(odd) { background: var(--pl-avorio) !important; }
.wines-list.bg-white .single, .wines-list.bg-white .single > a { background: var(--pl-carta) !important; }
.card-slide:hover, .wines-list .single > a:hover { background: var(--pl-avorio-2) !important; }

/* Testate scure e menu aperto: inchiostro caldo invece del nero del template. */
.site-header.default .header-wrapper:before,
.site-header.transparent.scrolled .header-wrapper:before,
.site-header.default.scrolled .header-wrapper:before { background: var(--pl-carta); }
header.site-header .header-nav { background-color: var(--pl-inchiostro); }
@media (min-width: 992px) { header.site-header .header-nav { background-color: transparent; } }
.menu-open .header-wrapper:before { background: var(--pl-inchiostro); }
@media (min-width: 992px) { .menu-open .header-wrapper:before { background: var(--pl-carta); } }

/* Il template usa l'oro #cfa556 come colore piatto: qui diventa inchiostro e pietra. */
.btn { background: var(--pl-inchiostro); color: var(--pl-avorio); }
.btn:hover, .btn:focus, .btn:active { background: var(--pl-walter); color: var(--pl-avorio); }
.btn.btn-secondary { background: var(--pl-pietra); color: var(--pl-avorio); }
.number, .main_content span, .presentation span, .single-wine .subtitle b, .secondary_content .big span,
.number_reference, .gutengerg_content h2 { color: var(--pl-pietra); }
header.site-header .header-nav ul.nav-menu li a:before { color: var(--pl-pietra); }
.hamburgerMenu span:before { background-color: var(--pl-pietra); }
header.site-header ul.multi-lang:before { background: var(--pl-pietra); }
header.site-header ul.multi-lang li.non-active a { background: var(--pl-inchiostro); color: var(--pl-avorio); }
.head-shoutout { background-color: var(--pl-inchiostro); }
.head-shoutout a { color: var(--pl-avorio); }
.wine-name, .single-wine .pageTitle, .components_wines_head h2, .components_team .team_member h2,
.main_content, .thisTitleBig { color: var(--pl-inchiostro); }
.bottom-layer { background: var(--pl-avorio-2) !important; }
.bottom-layer.bottom-layer--1 { background: var(--pl-avorio) !important; }
.bottom-layer.bottom-layer--2 { background: var(--pl-inchiostro) !important; }
.pl-loader-logo { width: 226px; height: auto; }

/* Marchio: stesso posto del logo Zorah, proporzioni del marchio orizzontale (1200 x 483). */
header.site-header .head-logo.pl-logo { width: 112px; height: 45px; }
header.site-header .head-logo.pl-logo > img { object-fit: contain; }
@media (min-width: 992px) {
  header.site-header .head-logo.pl-logo { width: 30px; height: 45px; margin-top: -22px; margin-left: -15px; }
  header.site-header.transparent .head-logo.pl-logo { width: 112px; margin-left: -56px; }
  header.site-header.transparent.scrolled .head-logo.pl-logo { width: 30px; margin-left: -15px; }
}
@media (min-width: 1200px) {
  header.site-header .head-logo.pl-logo { height: 52px; margin-top: -26px; width: 35px; margin-left: -17px; }
  header.site-header.transparent .head-logo.pl-logo { width: 130px; margin-left: -65px; }
  header.site-header.transparent.scrolled .head-logo.pl-logo { width: 35px; margin-left: -17px; }
}
footer.site-footer .pre-footer a.foot-logo.pl-logo { width: 180px; height: 72px; }
@media (min-width: 768px) { footer.site-footer .pre-footer a.foot-logo.pl-logo { width: 230px; height: 93px; } }
.pl-claim-2 { margin-top: 10px !important; font-size: 14px !important; letter-spacing: 0.04em; color: var(--pl-pietra); }

/* Selettore lingua sul telefono (il template lo aveva solo in WPML). */
.multi-lang-wrap { flex: 0 0 40px; z-index: 10; }

/* Verifica dell'età (S-02). */
html.no-scroll body { overflow: hidden; }
.pl-eta { position: fixed; inset: 0; z-index: 1000000; display: flex; align-items: center; justify-content: center;
  background: rgba(32, 23, 20, 0.86); padding: 24px; }
.pl-eta__box { background: var(--pl-avorio); color: var(--pl-inchiostro); max-width: 460px; width: 100%; padding: 40px 32px;
  text-align: center; border: 1px solid var(--pl-filo); }
.pl-eta__stemma { width: 46px; height: auto; margin: 0 auto 18px; display: block; }
.pl-eta__domanda { font-family: "Domaine Sans Text", serif; font-size: 24px; line-height: 1.25; margin: 0 0 24px; }
.pl-eta__bottoni { display: flex; gap: 12px; justify-content: center; }
.pl-eta__bottoni .btn { border: 0; cursor: pointer; min-width: 96px; font-family: inherit; }

/* Il segnale: un solo componente. Bordo tratteggiato, etichetta piccola. check:pubblica lo conta. */
.pl-segnale { position: relative; display: block; outline: 2px dashed #B4533A; outline-offset: -2px; }
.pl-segnale--inline { position: absolute; inset: 0; display: block; pointer-events: none; z-index: 6; }
span.pl-segnale--inline:has(.pl-segnaposto) { position: relative; inset: auto; display: inline; pointer-events: auto; outline: none; }
.pl-segnale__etichetta { position: absolute; top: 4px; left: 4px; z-index: 7; background: #B4533A; color: #FBF8F2;
  font: 600 10px/1.3 "IBM Plex Sans", sans-serif; letter-spacing: 0.04em; text-transform: uppercase; padding: 2px 6px;
  pointer-events: none; max-width: calc(100% - 8px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
span.pl-segnale--inline:has(.pl-segnaposto) .pl-segnale__etichetta { position: static; display: inline-block; margin-right: 4px; vertical-align: middle; }
.pl-segnaposto { background: rgba(180, 83, 58, 0.14); font-style: italic; outline: 1px dashed #B4533A; }
.pl-zorah { display: contents; }
/* Dove il segnale avvolge un'immagine posizionata, il contenitore resta posizionato. */
.image-wrap, .img-wrap, .swiper-slide, .components_page_header, .components_fullscreen_image, .single-image { position: relative; }

/* Testi lunghi dei nostri blocchi dentro le colonne del template. */
.pl-righe p { margin: 0 0 0.8em; }
.pl-faq { text-align: left; max-width: 760px; margin: 0 auto; }
.pl-faq dt { font-family: "Domaine Sans Text", serif; font-size: 21px; margin-top: 18px; color: var(--pl-inchiostro); }
.pl-faq dd { margin: 6px 0 0; line-height: 1.5; }
.pl-prezzo { font-family: "Domaine Sans Text", serif; font-size: 21px; margin: 6px 0 18px; color: var(--pl-walter); }
.pl-voce { font-style: italic; }
.pl-voce-autore { display: block; font-size: 13px; color: var(--pl-pietra); margin-top: 6px; font-style: normal; }
.pl-bottoni { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pl-legge-link { display: inline-block; margin-top: 14px; font-size: 13px; text-decoration: underline; color: var(--pl-pietra); }
.pl-lettera { text-align: left; max-width: 640px; margin: 0 auto; line-height: 1.6; }
.pl-lettera p { margin: 0 0 0.9em; }
.pl-modulo-spento { opacity: 0.55; pointer-events: none; }
.pl-sotto-bottone { font-size: 14px; color: var(--pl-pietra); text-align: right; }
/* M4 · film di apertura della Home (src/site/Film.tsx). Pulsanti piccoli, inchiostro su avorio, in un angolo libero del video:
   sul computer in alto a destra sotto il menu (il titolo sta a sinistra); sul telefono e sul tablet, dove il titolo prende
   tutta la larghezza, in basso a destra sopra le frecce dello slider. */
.components_slider .swiper-slide > .pl-film-comandi { position: absolute; top: 96px; right: 30px; z-index: 6; display: flex; gap: 8px; }
@media (max-width: 991px) { .components_slider .swiper-slide > .pl-film-comandi { top: auto; bottom: 121px; right: 15px; } }
.pl-film-bottone { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 100%; background: var(--pl-avorio); color: var(--pl-inchiostro); cursor: pointer; opacity: 0.88; transition: opacity 0.2s ease; }
.pl-film-bottone:hover, .pl-film-bottone:focus-visible { opacity: 1; }
.pl-film-bottone:focus-visible { outline: 2px solid var(--pl-avorio); outline-offset: 3px; }
.pl-film-bottone[aria-pressed="true"] { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .components_slider .swiper-slide > .pl-film { transition: none; } }
/* M6 · niente numeri visibili (il 4 non si scrive mai, nemmeno in cifra). Il template numerava il menu dal title delle voci
   (a:before { content: attr(title) }) e le sezioni con .number: al posto del numero resta uno spazio, così altezze e allineamenti
   sono quelli del template. */
header.site-header .header-nav ul.nav-menu li a:not([title]):before,
footer.site-footer .footer-nav ul.nav-menu li a:not([title]):before { content: "\00a0"; }
.pl-numero-vuoto::before { content: "\00a0"; }
/* Modo pubblico (10/10): sul sito pubblicato (html.pl-pubblico, deciso in __root.tsx dal nome del dominio) i segnali di lavoro
   non si vedono: niente bordi, etichette, segnaposto [DA WALTER] né social del template. In anteprima e in locale restano. */
html.pl-pubblico .pl-segnale { outline: none; }
html.pl-pubblico .pl-segnale__etichetta { display: none; }
html.pl-pubblico span.pl-segnale--inline:has(.pl-segnaposto),
html.pl-pubblico .pl-segnaposto,
html.pl-pubblico .pl-segnale[data-posto="FOOTER-SOCIAL"] { display: none; }
/* Foto del template nel modo pubblico: non si scaricano (LegacyScripts) e al loro posto c'è l'avorio con lo stemma. */
html.pl-pubblico img[data-zorah-img] { visibility: visible; opacity: 1; background: var(--pl-avorio-2) url(/marchio/stemma.png) center / auto 18% no-repeat; }
html.pl-pubblico .components_slider img[data-zorah-img] { background: #2a2420 url(/media/pinolento/film/pinolento_film_hero_poster.jpg) center / cover no-repeat; }
/* M8 · Home, prima diapositiva (PL_home_S01_01): WALTER sta a destra, verso il 72% della larghezza. Sugli schermi stretti lo
   slider taglia al centro e la bottiglia uscirebbe dal quadro: lì il taglio segue la bottiglia. Nessun cambio alla foto. */
@media (max-width: 991px) { .components_slider img[data-posto="HOME-S01-01"] { object-position: 72% center; } }
/* M16 · posti senza foto (scene col 1949 tolte): come le foto Zorah nel modo pubblico, avorio con lo stemma piccolo al centro. */
img.pl-stemma-posto { background: var(--pl-avorio-2) url(/marchio/stemma.png) center / auto 18% no-repeat; }
/* M16 · packshot trasparenti: bottiglia intera sul fondo del posto, mai tagliata. */
img[data-nostra-img$="-1933"], img[data-nostra-img$="-packshot-oro"], img[data-nostra-img$="-packshot-silver"] { object-fit: contain !important; }
/* M38: solo le tre composizioni WALTER M24, intere nel rapporto nativo 3:2. La fusione multiply del packshot
   del template altererebbe i colori delle scene: nessuna fusione o filtro, nessun ingrandimento oltre il master. */
img.pl-walter-m24 { object-fit: contain !important; object-position: center !important; filter: none !important; mix-blend-mode: normal !important; }
.single-wine .single-image.pl-walter-m24-hero { display: flex; align-items: center; }
.single-wine .pl-walter-m24-hero > .border-wrap { width: 100%; }
.single-wine .single-image.pl-walter-m24-hero .image-wrap { height: auto; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }
.pl-walter-m24-confezione { display: grid; gap: 24px; }
.components_content.content_2_cols .pl-walter-m24-confezione .image { margin-bottom: 0; }
.components_content.content_2_cols .pl-walter-m24-confezione .image .image-wrap { padding-bottom: 0; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }

/* M40 · riusi silver approvati: figure intere 3:2 nei soli posti Home e I Vini. */
img.pl-silver-m40 { object-fit: contain !important; object-position: center !important; filter: none !important; mix-blend-mode: normal !important; }
.components_gallery .swiper-slide.pl-home-m40 { height: auto; aspect-ratio: 3 / 2; align-self: center; }
.components_wines_head.pl-vini-m40 .image-wrap { padding-bottom: 0; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }

/* M41 · soli sette master approvati: composizioni native, senza fusione o zoom. */
img[data-nostra-img="gianpiero-M32-G01-1881"], img[data-nostra-img="gianpiero-M28-G02"], img[data-nostra-img="gianpiero-M28-G04"], img[data-nostra-img="walter-M32-W04-1881"], img[data-nostra-img="walter-M32-W05-1881"] { object-fit: contain !important; object-position: center !important; filter: none !important; mix-blend-mode: normal !important; transform: none !important; }
.single-wine .single-image.pl-gianpiero-m41-hero { display: flex; align-items: center; }
.single-wine .pl-gianpiero-m41-hero > .border-wrap { width: 100%; }
.single-wine .single-image.pl-gianpiero-m41-hero .image-wrap { height: auto; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }
.components_content.content_2_cols .content_col .image .image-wrap.pl-gianpiero-m41-foto { padding-bottom: 0; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }
.components_content.content_2_cols .content_col .image .image-wrap:has(> img[data-posto="CANTINA-S04-02"]) { padding-bottom: 0; aspect-ratio: 1 / 1; max-width: 1254px; margin-inline: auto; }
.components_fullscreen_image_text_before .img-wrap.pl-prodotti-m41-fascia { height: auto; min-height: 0; aspect-ratio: 3 / 2; max-width: 1536px; margin-inline: auto; }
.wines-list .single .img-wrap.pl-prodotti-m41-card { height: auto; aspect-ratio: 3 / 2; max-width: 1254px; margin-inline: auto; }
/* M44: due versioni sempre leggibili, con fotografie intere e pari gerarchia. */
.pl-m44-avviso { padding: 16px 24px; border-block: 1px solid var(--pl-filo); background: var(--pl-avorio-2); color: var(--pl-inchiostro); font: 14px/1.5 sans-serif; }
.pl-m44-intro .title-wrap .wrap { max-width: 980px; margin-inline: auto; }
.pl-m44-varianti, .pl-m44-scene { padding-block: 32px; }
.pl-m44-griglia { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.pl-m44-scheda { min-width: 0; text-align: center; border: 1px solid var(--pl-filo); padding-bottom: 24px; scroll-margin-top: 140px; }
.pl-m44-foto { position: relative; width: 100%; max-width: 1536px; margin-inline: auto; aspect-ratio: 3 / 2; overflow: hidden; }
.pl-m44-foto > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain !important; object-position: center !important; filter: none !important; mix-blend-mode: normal !important; transform: none !important; }
.pl-m44-dati { padding: 24px 16px 12px; }
.pl-m44-dati .wine-name { margin-bottom: 16px; }
.pl-m44-dati .wine-name span { display: block; }
.pl-m44-dati .pl-m44-prezzo { font-size: 18px; margin: 0 0 8px; }
.pl-m44-dati .pl-m44-prezzo strong { font-size: 28px; white-space: nowrap; }
.pl-m44-classica-vol { white-space: nowrap; }
.pl-m44-nota { font: 12px/1.5 sans-serif; margin: 12px 0; opacity: 0.75; }
.pl-m44-scene figure { max-width: 960px; margin: 0 auto; min-width: 0; }
.pl-m44-scene figcaption { text-align: center; padding: 16px; }
.wines-list .pl-m44-elenco > a { height: 100%; }
@media (min-width: 992px) { .pl-m44-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* M14, M17 · fotografie d'archivio vere di Pino e Grazia: intere, su avorio, mai tagliate né ingrandite oltre il nativo
   (nelle testate a tutto schermo e nei riquadri del template, che di norma fanno cover). */
img.pl-archivio { object-fit: contain !important; object-position: center !important; background-color: var(--pl-avorio) !important; max-width: 100%; }
.components_page_header:has(> img.pl-archivio) { background: var(--pl-avorio); }
/* Sulla testata d'archivio la sfumatura scura del template resta solo in alto, sotto il titolo bianco: in basso ingrigiva l'avorio. */
.components_page_header:has(> img.pl-archivio):before { background: linear-gradient(to bottom, rgba(32, 23, 20, 0.85) 0%, rgba(32, 23, 20, 0.55) 22%, rgba(32, 23, 20, 0) 42%); }
/* M21 · scene con la bottiglia, intera (mandato: nessun taglio che la mutili).
   WALTER-S03-01 (calice e WALTER, 16:9): sul telefono la fascia è verticale e il taglio al centro lascerebbe fuori la bottiglia,
   che sta fra il 65% e l'80% della larghezza; col taglio al 73% entrano calice e bottiglia interi.
   CANTINA-S04-02 (quasi quadrata, bottiglia alta l'85% della foto): il riquadro 5:4 la taglierebbe sopra o sotto, quindi intera
   su avorio. */
@media (max-width: 991px) { img[data-posto="WALTER-S03-01"] { object-position: 73% center !important; } }
img[data-posto="CANTINA-S04-02"] { object-fit: contain !important; background-color: var(--pl-avorio) !important; }
/* M26 · Contatti: l'indirizzo email ben visibile sotto C-02, nel carattere dei titoli. */
.pl-email { margin: 18px 0 0; font-family: "Domaine Sans Text", serif; font-size: 24px; line-height: 1.2; }
.pl-email a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; word-break: break-word; }
/* M30 · cinese (html lang zh-Hans): i caratteri del sito non hanno gli ideogrammi; si usa il carattere cinese di sistema
   (PingFang SC su Apple, Noto Sans SC su Android, Microsoft YaHei su Windows), mai da domini terzi. I caratteri latini restano
   quelli del sito (vengono prima nell'elenco). Nessun maiuscolo forzato né spaziatura delle lettere sul cinese. */
html:lang(zh-Hans) body, html:lang(zh-Hans) .btn, html:lang(zh-Hans) input, html:lang(zh-Hans) textarea {
  font-family: "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft YaHei", "Source Han Sans SC", sans-serif;
}
html:lang(zh-Hans) h1, html:lang(zh-Hans) h2, html:lang(zh-Hans) h3, html:lang(zh-Hans) .thisTitle, html:lang(zh-Hans) .thisTitleBig,
html:lang(zh-Hans) .pageTitle, html:lang(zh-Hans) .title, html:lang(zh-Hans) .pl-sotto, html:lang(zh-Hans) .pl-titoletto {
  font-family: "Domaine Sans Text", "Songti SC", "Noto Serif SC", "Noto Serif CJK SC", "SimSun", "PingFang SC", serif;
  letter-spacing: 0;
}
html:lang(zh-Hans) .pl-t, html:lang(zh-Hans) .btn, html:lang(zh-Hans) .number_reference { letter-spacing: 0; }


/* M41 addendum M27: i soli due verticali nuovi restano interi nel loro posto galleria. */
img[data-nostra-img="metodo-M27-V01"], img[data-nostra-img="cantina-M27-V02"] { width: 100%; height: auto; aspect-ratio: 1066 / 1476 !important; object-fit: contain !important; object-position: center !important; filter: none !important; mix-blend-mode: normal !important; transform: none !important; }
.components_gallery .swiper-slide:has(> img[data-nostra-img="metodo-M27-V01"]), .components_gallery .swiper-slide:has(> img[data-nostra-img="cantina-M27-V02"]) { height: auto; aspect-ratio: 1066 / 1476; max-width: 1066px; align-self: center; }

/* M44 · visione libera del film, testi completi sulle fotografie. La slide cresce con
   il contenuto: il footer dello slider non può tagliare giudizio o nome, anche con zoom. */
#components_0.components_slider .swiper-container { height: auto; min-height: 100svh; }
#components_0 .swiper-wrapper { height: auto; align-items: stretch; }
#components_0 .swiper-slide { height: auto; min-height: 100svh; padding-top: 105px; padding-bottom: 115px; }
#components_0 .swiper-slide .slider-content { height: auto; align-self: stretch; display: flex; }
#components_0 .swiper-slide .slider-content > .border-wrap { height: auto; flex: 1; gap: 34px; }
#components_0 .swiper-slide .slider-content .title-wrapper { max-width: 700px; }
#components_0 .swiper-slide .slider-content .title-wrapper h2 { font-size: clamp(46px, 7vw, 92px); line-height: .98; }
#components_0 .swiper-slide .slider-content .cite { width: 100%; max-width: 650px; font-size: 19px; line-height: 1.45; margin: 0; }
#components_0 .swiper-slide .slider-content .cite .author { margin-top: 7px; font-size: 15px; line-height: 1.45; }
#components_0 .swiper-slide.videos::before { pointer-events: none; background: none; }
#components_0 .pl-film-comandi { transition: opacity .2s ease; }
#components_0 .pl-film-comandi[data-visible="false"] { opacity: 0; pointer-events: none; }
#components_0 .pl-film-comandi:focus-within { opacity: 1; pointer-events: auto; }
#components_0 .pl-film-comandi[inert] { visibility: hidden; }
#components_0 .pl-film-bottone { width: 40px; height: 40px; }
@media (max-width: 767px) {
  #components_0 .swiper-slide { padding-top: 92px; padding-bottom: 130px; }
  #components_0 .swiper-slide .slider-content .cite { font-size: 17px; }
  #components_0 .swiper-slide .slider-content .cite .author { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  #components_0 .pl-film-comandi,
  #components_0 .swiper-slide .slider-content .title-wrapper,
  #components_0 .swiper-slide .slider-content .cite { transition: none; }
}
/* Accessi ai prodotti fuori dal film. Tutte le diciture riusano GP/MENU approvati. */
.pl-percorsi-prodotti { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; padding: 30px 20px; background: var(--pl-avorio); border-bottom: 1px solid var(--pl-filo); }
.pl-recensioni-link { padding: 12px 0; text-decoration: underline; text-underline-offset: 4px; }
.pl-percorsi-prodotti a { color: var(--pl-inchiostro); }
.pl-percorso-walter { font: 28px/1.2 "Domaine Sans Text", serif; }
.pl-percorso-grappe { padding-left: 40px; border-left: 1px solid var(--pl-filo); }
.pl-percorso-grappe > a { font: 23px/1.3 "Domaine Sans Text", serif; }
.pl-percorso-grappe > div { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 10px; }
.pl-percorso-grappe > div a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
  .pl-percorsi-prodotti { align-items: flex-start; gap: 22px; }
  .pl-percorso-walter { font-size: 22px; }
  .pl-percorso-grappe { padding-left: 22px; }
  .pl-percorso-grappe > a { font-size: 21px; }
}
.pl-menu-prodotti { position: relative; }
.pl-menu-prodotti summary { cursor: pointer; white-space: nowrap; padding: 14px 0; font-size: 12px; line-height: 1.3; text-transform: uppercase; }
.pl-menu-prodotti summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.pl-menu-prodotti-lista { position: absolute; left: 0; top: 100%; z-index: 20; min-width: 230px; max-width: calc(100vw - 30px); padding: 12px 20px; text-align: left; background: var(--pl-carta); color: var(--pl-inchiostro); box-shadow: 0 5px 20px #20171426; }
header.site-header .header-nav ul.nav-menu .pl-menu-prodotti-lista a { display: block; padding: 12px 0; color: var(--pl-inchiostro); white-space: normal; font-size: 14px; line-height: 1.4; text-transform: none; border-bottom: 1px solid var(--pl-filo); }
header.site-header .header-nav ul.nav-menu .pl-menu-prodotti-lista a::before { display: none; }
.pl-menu-prodotti-lista a:last-child { border-bottom: 0 !important; }
.pl-menu-prodotti-lista strong, .pl-menu-prodotti-lista small { display: block; }
.pl-menu-prodotti-lista small { font-size: 13px; margin-top: 4px; }
@media (max-width: 991px) {
  .pl-menu-prodotti summary { font-size: 20px; text-align: center; }
  .pl-menu-prodotti-lista { position: relative; top: auto; max-width: 100%; }
}
/* Corpus approvato: il testo integrale si apre nel normale flusso della pagina. */
.pl-recensioni { padding: 64px max(20px, calc((100% - 1180px) / 2)); scroll-margin-top: 105px; }
.pl-recensioni > header { max-width: 760px; margin-bottom: 38px; }
.pl-recensioni h2 { font: 42px/1.1 "Domaine Sans Text", serif; color: var(--pl-inchiostro); }
.pl-recensioni-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 36px; }
.pl-recensioni article { min-width: 0; padding-top: 24px; border-top: 1px solid var(--pl-filo); }
.pl-recensioni blockquote { margin: 18px 0; font: 26px/1.4 "Domaine Sans Text", serif; }
.pl-recensioni p { overflow-wrap: anywhere; }
.pl-recensione-contesto, .pl-recensione-fonte { font-size: 13px; line-height: 1.6; color: var(--pl-pietra); }
.pl-recensione-autore { font-size: 15px; line-height: 1.6; }
.pl-recensione-autore span { display: block; }
.pl-recensioni summary { cursor: pointer; padding: 12px 0; text-decoration: underline; text-underline-offset: 4px; }
.pl-recensione-integrale { font-size: 16px; line-height: 1.65; margin: 10px 0 18px; }
.pl-recensione-chiudi, details[open] .pl-recensione-apri { display: none; }
.pl-recensioni details[open] .pl-recensione-chiudi { display: inline; }
@media (max-width: 767px) { .pl-recensioni-lista { grid-template-columns: 1fr; } .pl-recensioni h2 { font-size: 34px; } }
header.site-header .pl-menu-prodotti summary { color: var(--pl-avorio); }
@media (min-width: 992px) {
  header.site-header.default .pl-menu-prodotti summary,
  header.site-header.scrolled .pl-menu-prodotti summary { color: var(--pl-inchiostro); }
}
#components_0 .swiper-container > .swiper-buttons,
#components_0 .swiper-container > .slider-bottom { transition: opacity .2s ease; }
#components_0 .swiper-container[data-film-in-corso="true"][data-film-comandi="false"] > .swiper-buttons,
#components_0 .swiper-container[data-film-in-corso="true"][data-film-comandi="false"] > .slider-bottom { opacity: 0; pointer-events: none; }
#components_0 .swiper-container > .slider-bottom:focus-within { opacity: 1 !important; pointer-events: auto !important; }
@media (prefers-reduced-motion: reduce) {
  #components_0 .swiper-container > .swiper-buttons,
  #components_0 .swiper-container > .slider-bottom { transition: none; }
}
/* Il tema impone il bianco ai link nelle testate trasparenti: il pannello prodotti è avorio. */
header.site-header .header-nav ul.nav-menu .pl-menu-prodotti-lista a { color: var(--pl-inchiostro) !important; }
header.site-header .pl-menu-prodotti summary { display: flex; justify-content: center; align-items: center; gap: 5px; min-height: 64px; padding: 0; font-family: "IBM Plex Sans", Arial, sans-serif; }
header.site-header .pl-menu-prodotti summary::after { content: "⌄"; font-size: 12px; }
header.site-header .pl-menu-prodotti summary::-webkit-details-marker { display: none; }
@media (min-width: 992px) { header.site-header .pl-menu-prodotti summary { min-height: 81px; } }
