/* Doliarium, foglio di stile del tema.
   Generato dai token del sito: non correggerlo a mano.
   I valori (colori, caratteri, spazi, scala dei testi) vengono da theme.json;
   gli adattamenti a WordPress sono in tema.css. */

:root {
  --color-bg: var(--wp--preset--color--bg);
  --color-surface: var(--wp--preset--color--surface);
  --color-surface-2: var(--wp--preset--color--surface-2);
  --color-paper: var(--wp--preset--color--paper);
  --color-text: var(--wp--preset--color--text);
  --color-text-muted: var(--wp--preset--color--text-muted);
  --color-accent: var(--wp--preset--color--accent);
  --color-accent-strong: var(--wp--preset--color--accent-strong);
  --color-on-accent: var(--wp--preset--color--on-accent);
  --color-brass: var(--wp--preset--color--brass);
  --color-brass-text: var(--wp--preset--color--brass-text);
  --color-dark: var(--wp--preset--color--dark);
  --color-dark-deep: var(--wp--preset--color--dark-deep);
  --color-on-dark: var(--wp--preset--color--on-dark);
  --color-on-dark-muted: var(--wp--preset--color--on-dark-muted);
  --color-brass-on-dark: var(--wp--preset--color--brass-on-dark);
  --color-brass-line-on-dark: var(--wp--preset--color--brass-line-on-dark);
  --font-display: var(--wp--preset--font-family--display);
  --font-body: var(--wp--preset--font-family--body);
  --space-2xs: var(--wp--preset--spacing--2-xs);
  --space-xs: var(--wp--preset--spacing--xs);
  --space-s: var(--wp--preset--spacing--s);
  --space-m: var(--wp--preset--spacing--m);
  --space-l: var(--wp--preset--spacing--l);
  --space-xl: var(--wp--preset--spacing--xl);
  --space-2xl: var(--wp--preset--spacing--2-xl);
  --space-3xl: var(--wp--preset--spacing--3-xl);
  --space-4xl: var(--wp--preset--spacing--4-xl);
  --radius-none: var(--wp--custom--radius--none);
  --radius-small: var(--wp--custom--radius--small);
  --radius-round: var(--wp--custom--radius--round);
  --button-bg: var(--wp--custom--component--button-bg);
  --button-text: var(--wp--custom--component--button-text);
  --button-radius: var(--wp--custom--component--button-radius);
  --rule: var(--wp--custom--component--rule);
  --focus: var(--wp--custom--component--focus);
  --t-label: var(--wp--custom--testo--telefono--label);
  --t-small: var(--wp--custom--testo--telefono--small);
  --t-body: var(--wp--custom--testo--telefono--body);
  --t-lead: var(--wp--custom--testo--telefono--lead);
  --t-h4: var(--wp--custom--testo--telefono--h-4);
  --t-h3: var(--wp--custom--testo--telefono--h-3);
  --t-h2: var(--wp--custom--testo--telefono--h-2);
  --t-h1: var(--wp--custom--testo--telefono--h-1);
  --t-display: var(--wp--custom--testo--telefono--display);
  --lh-body: var(--wp--custom--misure--telefono--lh-body);
  --gutter: var(--wp--custom--misure--telefono--gutter);
  --max: var(--wp--custom--misure--telefono--max);
  --leggi: var(--wp--custom--misure--telefono--leggi);
  --ease: var(--wp--custom--moto--telefono--ease);
  --dur: var(--wp--custom--moto--telefono--dur);
  --dur-lungo: var(--wp--custom--moto--telefono--dur-lungo);
}
@media (min-width: 768px) {
  :root { --t-body: var(--wp--custom--testo--medio--body); --t-lead: var(--wp--custom--testo--medio--lead); --t-h3: var(--wp--custom--testo--medio--h-3); --t-h2: var(--wp--custom--testo--medio--h-2); --t-h1: var(--wp--custom--testo--medio--h-1); --t-display: var(--wp--custom--testo--medio--display); --gutter: var(--wp--custom--misure--medio--gutter); --lh-body: var(--wp--custom--misure--medio--lh-body); }
}
@media (min-width: 1200px) {
  :root { --t-h2: var(--wp--custom--testo--largo--h-2); --t-h1: var(--wp--custom--testo--largo--h-1); --t-display: var(--wp--custom--testo--largo--display); --gutter: var(--wp--custom--misure--largo--gutter); }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--color-bg); color: var(--color-text);
  font-family: var(--font-body); font-size: var(--t-body); line-height: var(--lh-body);
  font-kerning: normal; font-variant-ligatures: common-ligatures; text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body.menu-aperto { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; line-height: 1.08; margin: 0; letter-spacing: -0.005em; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
figure { margin: 0; }
em, i { font-style: italic; }

a { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: currentColor; transition: color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
a:hover { color: var(--color-accent-strong); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
.su-scuro :focus-visible, .piede :focus-visible, .menu-telefono :focus-visible { outline-color: var(--color-brass-on-dark); }

.contenitore { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.nascosto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sprite { position: absolute; }
.salta { position: absolute; left: 1rem; top: -4rem; z-index: 50; background: var(--color-paper); color: var(--color-accent); padding: .75rem 1rem; }
.salta:focus { top: 1rem; }

.occhiello {
  font-family: var(--font-body); font-size: var(--t-label); font-weight: 500; line-height: 1.4;
  letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text);
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem;
}

.occhiello a { color: inherit; text-decoration: none; display: inline-block; padding-block: .75rem; margin-block: -.75rem; }
.occhiello a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.occhiello__sep { width: 1rem; height: 1px; background: currentColor; opacity: .8; }
.su-scuro .occhiello, .occhiello--chiaro { color: var(--color-brass-on-dark); }

.meta { font-size: var(--t-small); color: var(--color-text-muted); line-height: 1.5; }
.meta span { white-space: nowrap; display: inline-block; }
.meta span + span::before { content: "·"; margin-inline: .5em; color: var(--color-brass-text); }
.su-scuro .meta span + span::before { color: var(--color-brass-on-dark); }
.su-scuro .meta { color: var(--color-on-dark-muted); }

.filetto { border: 0; height: 1px; background: var(--color-brass); margin: 0; }

.fregio { display: flex; align-items: center; justify-content: center; gap: 1rem; color: var(--color-brass); }
.fregio::before, .fregio::after { content: ""; height: 1px; width: 4.5rem; background: currentColor; }
.fregio svg { width: 1.875rem; height: 1.875rem; flex: none; }

.bottone {
  display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3.25rem;
  padding: .75rem 1.5rem; font-family: var(--font-body); font-size: var(--t-label); font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; text-decoration: none; line-height: 1.2;
  border: 1px solid var(--color-accent); background: var(--color-accent); color: var(--color-on-accent);
}
.bottone:hover { background: var(--color-accent-strong); border-color: var(--color-accent-strong); color: var(--color-on-accent); text-decoration: none; }
.bottone svg { width: 1.25rem; height: .75rem; transition: transform var(--dur) var(--ease); }
.bottone:hover svg { transform: translateX(4px); }
.bottone--chiaro { background: transparent; color: var(--color-on-dark); border-color: var(--color-brass-line-on-dark); }
.bottone--chiaro:hover { background: var(--color-on-dark); color: var(--color-accent); border-color: var(--color-on-dark); }
.bottone--filo { background: transparent; color: var(--color-accent); border-color: var(--color-accent); }
.bottone--filo:hover { background: var(--color-accent); color: var(--color-on-accent); }

.link-freccia {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 44px;
  font-size: var(--t-label); font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--color-accent); text-decoration: underline; text-decoration-color: var(--color-brass); text-underline-offset: .45em;
}
.link-freccia svg { width: 1.1rem; height: .7rem; transition: transform var(--dur) var(--ease); }
.link-freccia:hover svg { transform: translateX(4px); }
.su-scuro .link-freccia { color: var(--color-on-dark); text-decoration-color: var(--color-brass-on-dark); }

.segnaposto {
  display: inline-block; font-family: var(--font-body); font-style: normal; font-size: .8125rem; font-weight: 500;
  letter-spacing: .06em; line-height: 1.3; padding: .15rem .5rem; border: 1px dashed currentColor;
  color: var(--color-brass-text); vertical-align: middle; white-space: nowrap;
}
.su-scuro .segnaposto { color: var(--color-brass-on-dark); }

.ritratto {
  width: 5.5rem; height: 5.5rem; border-radius: 50%; flex: none; position: relative; display: block;
  background: var(--color-surface-2);
  box-shadow: 0 0 0 1px var(--color-brass), 0 0 0 5px var(--color-bg), 0 0 0 6px var(--color-brass);
  text-decoration: none;
}
.ritratto img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.ritratto--piccolo { width: 3.25rem; height: 3.25rem; box-shadow: 0 0 0 1px var(--color-brass); }

.testata { position: relative; z-index: 20; color: var(--color-accent); }
.testata--carta { background: var(--color-bg); }

.testata--carta .testata__barra { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); }
@media (min-width: 1024px) {
  .testata--carta .testata__barra { border-bottom: 0; }
  .testata--carta .testata__nav ul { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); }
}
.testata__barra {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem;
  min-height: 4rem;
}
.testata__btn {
  display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; min-width: 44px; padding: 0 .25rem;
  background: none; border: 0; color: inherit; cursor: pointer; text-decoration: none;
  font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
.testata__btn:hover { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .45em; }
.testata__btn svg { width: 1.25rem; height: 1.25rem; flex: none; }
.testata__cerca { justify-self: end; }

@media (max-width: 479px) { .testata__cerca span, .testata__menu-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .testata__barra { gap: 1.5rem; } }
.testata__logo { display: block; line-height: 0; padding: .875rem 0; }
.testata__logo img { width: 10.5rem; height: auto; }
.testata__logo .logo-v { display: none; }
.testata__alberto { display: none; }
.testata__nav { display: none; }

@media (min-width: 1024px) {
  .testata__barra { min-height: 6rem; padding-top: 1rem; }
  .testata__menu-btn { display: none; }
  .testata__logo .logo-o { display: none; }
  .testata__logo .logo-v { display: block; width: 14rem; }
  .testata__logo { padding: 0; }
  .testata__alberto { display: inline-flex; justify-self: start; grid-column: 1; grid-row: 1; }
  .testata__cerca { grid-column: 3; grid-row: 1; }
  
  .testata__alberto, .testata__cerca { align-self: end; margin-bottom: .4375rem; }
  .testata__logo { grid-column: 2; grid-row: 1; }
  .testata__nav { display: block; }
  .testata__nav ul {
    list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 0 2rem;
    padding: 0; margin-top: .25rem; border-top: 1px solid color-mix(in oklab, currentColor 28%, transparent);
  }
  .testata--carta .testata__nav ul { border-top-color: color-mix(in oklab, var(--color-brass) 60%, transparent); }
  .testata__nav a {
    display: inline-flex; align-items: center; min-height: 2.75rem; position: relative;
    color: inherit; text-decoration: none; font-size: .875rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  }
  .testata__nav a::after {
    content: ""; position: absolute; left: 0; right: .14em; bottom: .5rem; height: 1px; background: var(--color-brass-on-dark);
    transform: scaleX(0); transform-origin: center; transition: transform var(--dur) var(--ease);
  }
  .testata--carta .testata__nav a::after { background: var(--color-brass); }
  .testata__nav a:hover::after { transform: scaleX(1); }
  
  .testata__nav a[aria-current]::after { transform: scaleX(1); height: 2px; }
  .testata__nav a[aria-current]::before {
    content: ""; position: absolute; left: 50%; top: -.28rem; width: .45rem; height: .45rem;
    background: var(--color-brass); transform: translateX(-50%) rotate(45deg);
  }
}

.menu-telefono {
  position: fixed; inset: 0; z-index: 40; background: var(--color-dark-deep); color: var(--color-on-dark);
  display: flex; flex-direction: column; overflow-y: auto;
  opacity: 0; visibility: hidden; transform: translateY(-.75rem);
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
}
.menu-telefono.aperto { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.menu-telefono__barra { display: flex; align-items: center; justify-content: space-between; min-height: 4.75rem; border-bottom: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 50%, transparent); }
.menu-telefono__barra img { width: 11.5rem; }
.menu-telefono ul { list-style: none; }
.menu-telefono__sezioni { padding-top: 1rem; }
.menu-telefono__sezioni li { border-bottom: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 35%, transparent); }
.menu-telefono__sezioni a {
  display: flex; align-items: baseline; gap: 1rem; min-height: 4rem; padding: .85rem 0;
  font-family: var(--font-display); font-size: 2rem; line-height: 1.1; color: var(--color-on-dark); text-decoration: none;
}
.menu-telefono__sezioni a span { font-family: var(--font-display); font-style: italic; font-size: 1.125rem; color: var(--color-brass-on-dark); min-width: 1.75rem; }
.menu-telefono__sezioni a[aria-current] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: var(--color-brass-on-dark); }
.menu-telefono__sezioni a[aria-current]::after { content: "sei qui"; margin-left: auto; font-family: var(--font-body); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-brass-on-dark); align-self: center; }
.menu-telefono__altre { padding: 1.5rem 0 1rem; display: grid; gap: .25rem; }
.menu-telefono__altre a { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-on-dark); font-size: 1.1875rem; }
.menu-telefono__cerca { margin: .5rem 0 2.5rem; display: flex; border: 1px solid var(--color-brass-line-on-dark); }
.menu-telefono__cerca input { flex: 1; min-width: 0; min-height: 3.25rem; padding: 0 1rem; background: transparent; border: 0; color: var(--color-on-dark); font: inherit; font-size: 1.1875rem; }
.menu-telefono__cerca input::placeholder { color: var(--color-on-dark-muted); font-style: italic; }
.menu-telefono__cerca button { min-width: 3.25rem; background: none; border: 0; border-left: 1px solid var(--color-brass-line-on-dark); color: var(--color-on-dark); cursor: pointer; }
.menu-telefono__cerca svg { width: 1.25rem; height: 1.25rem; }

@media (min-width: 768px) and (max-width: 1023px) {
  .menu-telefono { left: auto; width: 26.25rem; transform: translateX(1.5rem); }
  .menu-telefono.aperto { transform: none; }
  .menu-velo {
    position: fixed; inset: 0; z-index: 39; background: color-mix(in oklab, var(--color-dark-deep) 45%, transparent); cursor: pointer;
    opacity: 0; visibility: hidden; transition: opacity var(--dur) var(--ease), visibility 0s linear var(--dur);
  }
  .menu-velo.aperto { opacity: 1; visibility: visible; transition-delay: 0s; }
}
.menu-velo { display: none; }
@media (min-width: 768px) and (max-width: 1023px) { .menu-velo { display: block; } }
@media (min-width: 1024px) { .menu-telefono { display: none; } }
@media (min-width: 1200px) { .testata__nav ul { gap: 0 2.75rem; } .testata__nav a { letter-spacing: .16em; } .testata__nav a::after { right: .16em; } }

.apertura { padding: 0 0 2.5rem; }
.apertura__dentro { position: relative; display: flex; flex-direction: column; }
.apertura__quadro { margin-inline: calc(var(--gutter) * -1); }
.apertura__quadro img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 50%; }
.cartiglio {
  position: relative; z-index: 1; margin-top: -3rem; background: var(--color-paper); text-align: center;
  border: 1px solid var(--color-brass); padding: 1.5rem 1.25rem 1.75rem;
}
.cartiglio::before { content: ""; position: absolute; inset: 5px; border: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); pointer-events: none; }
.cartiglio .occhiello { justify-content: center; }
.apertura__titolo { font-size: 2.125rem; font-weight: 500; line-height: 1.04; margin: .75rem 0 .875rem; letter-spacing: -0.01em; color: var(--color-accent); text-wrap: balance; }
.apertura__titolo a { color: inherit; text-decoration: none; background: linear-gradient(var(--color-brass), var(--color-brass)) 0 100% / 0 1px no-repeat; transition: background-size var(--dur-lungo) var(--ease); }
.apertura__titolo a:hover { background-size: 100% 1px; color: var(--color-accent-strong); }
.apertura__titolo em { font-weight: 400; }
.apertura__estratto {
  font-size: 1.1875rem; line-height: 1.45; font-style: italic; color: var(--color-text-muted); max-width: 34rem; margin-inline: auto; text-wrap: pretty;
}
.apertura__meta { margin: .875rem 0 1.25rem; }
.apertura__credito { order: 3; margin-top: .625rem; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5; color: var(--color-text-muted); text-align: right; }
.apertura__credito span { display: block; }
.apertura__credito a { color: inherit; }
.apertura__titolo .insieme { white-space: nowrap; }
@media (max-width: 479px) {
  
  .cartiglio .occhiello { flex-direction: column; gap: .125rem; }
  .cartiglio .occhiello__sep { display: none; }
  .apertura__meta span:first-child { display: block; }
  .apertura__meta span:nth-child(2)::before { content: none; }
  
  .apertura__estratto { font-size: 1.0625rem; line-height: 1.42; }
  .cartiglio { padding-inline: 1rem; }
}
@media (min-width: 768px) {
  .occhiello__sep { width: 1.75rem; }
  
  .apertura { padding: 2.5rem 0 3.5rem; --cornice: 13px; --foto-h: min(calc((min(100vw, var(--max)) - 2 * var(--gutter) - 2 * var(--cornice)) * .56), max(15rem, calc(100svh - 24rem))); --sovrapposto: 10rem; }
  .apertura__quadro { margin: var(--cornice); outline: 1px solid var(--color-brass); outline-offset: 12px; }
  .apertura__quadro img { aspect-ratio: auto; height: var(--foto-h); object-position: 50% 45%; }
  .cartiglio { width: min(52.5rem, calc(100% - 4rem)); margin: calc(var(--sovrapposto) * -1 + var(--cornice)) auto 0; padding: 2.75rem 3.5rem 3rem; }
  .apertura__titolo { font-size: 3.25rem; margin: 1rem 0 1.25rem; }
  .apertura__estratto { font-size: 1.375rem; }
  .apertura__meta { margin: 1.25rem 0 1.75rem; }
}
@media (min-width: 1024px) {
  
  
  .apertura { padding-top: 1.25rem; --foto-h: clamp(21rem, calc(100svh - 27rem), 34rem); --sovrapposto: 10rem; }
  .apertura__quadro img { object-position: 50% 68%; }
  .cartiglio { padding: 1.625rem 3rem 1.75rem; }
  .apertura__titolo { font-size: 3rem; margin: .5rem 0 .625rem; }
  .apertura__estratto { font-size: 1.1875rem; max-width: 40rem; }
  .apertura__meta { margin: .75rem 0 1.125rem; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .cartiglio { width: min(46rem, calc(100% - 4rem)); }
  .apertura__titolo { font-size: 2.75rem; }
}
@media (min-width: 1200px) {
  
  .apertura__credito {
    position: absolute; right: var(--gutter); white-space: nowrap; margin: 0;
    top: calc(2 * var(--cornice) + var(--foto-h) + .875rem);
  }
}

.alberto { padding: 3rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); }
.alberto__riga { display: flex; align-items: center; gap: 1.5rem; }
.alberto__frase { font-family: var(--font-display); font-size: 1.75rem; line-height: 1.15; font-style: italic; font-weight: 500; color: var(--color-accent); }
.alberto__sotto { margin-top: .75rem; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: var(--t-small); }
.alberto__sotto a { font-size: 1.0625rem; min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) {
  .alberto { padding: 4.5rem 0; }
  .alberto__riga { justify-content: center; gap: 2.5rem; }
  .alberto__frase { font-size: 2.375rem; }
  .alberto .ritratto { width: 7rem; height: 7rem; }
}

.titolo-blocco { text-align: center; margin-bottom: 2.5rem; }
.titolo-blocco h2 { font-size: var(--t-h2); color: var(--color-accent); margin-top: 1rem; }
.titolo-blocco .occhiello { justify-content: center; }
.su-scuro .titolo-blocco h2 { color: var(--color-on-dark); }
@media (min-width: 768px) { .titolo-blocco { margin-bottom: 4rem; } }

.sezioni { padding: 4rem 0 2rem; }
.sezione { padding: 2.5rem 0 3.25rem; }
.sezione__testa {
  display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: .25rem .75rem;
  padding-bottom: 1.125rem; margin-bottom: 1.75rem; border-bottom: 1px solid var(--color-brass);
}
.sezione__num { font-family: var(--font-display); font-style: italic; font-size: 1.5rem; line-height: 1; color: var(--color-brass-text); }
.sezione__nome { font-size: var(--t-h2); line-height: 1.02; }
.sezione__nome a { color: var(--color-accent); text-decoration: none; }
.sezione__nome a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; text-decoration-color: var(--color-brass); }
.sezione__desc { grid-column: 1 / -1; font-style: italic; color: var(--color-text-muted); font-size: var(--t-lead); line-height: 1.35; }
.sezione__testa .link-freccia { grid-column: 1 / -1; justify-self: start; }
.sezione__corpo { display: grid; gap: 1.75rem; }
.sezione__foto { display: block; position: relative; outline: 1px solid var(--color-brass); outline-offset: 6px; margin: 6px; }
.sezione__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.sezione__foto img, .scheda__foto img, .guida__foto img { filter: saturate(.88) contrast(1.03) sepia(.06); }
.sezione__foto::after { content: ""; position: absolute; inset: 0; background: var(--color-accent); opacity: 0; transition: opacity var(--dur) var(--ease); }
.sezione__foto:hover::after { opacity: .08; }
.sezione__testi { display: grid; gap: 1.5rem; align-content: start; }

.scheda { display: grid; gap: .875rem; align-content: start; }
.scheda__foto { display: block; position: relative; outline: 1px solid var(--color-brass); outline-offset: 8px; margin: 8px; }
.scheda__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.scheda__titolo { font-size: var(--t-h3); line-height: 1.1; text-wrap: pretty; }
.scheda__titolo a { color: var(--color-text); text-decoration: none; }
.scheda__titolo a:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; text-decoration-color: var(--color-brass); }
.scheda__estratto { color: var(--color-text-muted); font-size: var(--t-body); line-height: 1.55; }

.voci { list-style: none; border-top: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); }
.voce { padding: 1.125rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); display: grid; gap: .375rem; }
.voce:last-child { border-bottom: 0; padding-bottom: 0; }
.voce__titolo { font-size: 1.4375rem; line-height: 1.15; text-wrap: pretty; }
.voce__titolo a { color: var(--color-text); text-decoration: none; }
.voce__titolo a:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; text-decoration-color: var(--color-brass); }
.voce__nota { font-size: 1rem; font-style: italic; color: var(--color-text-muted); }

@media (min-width: 768px) {
  .sezioni { padding: 5.5rem 0 3rem; }
  .sezione { padding: 3.5rem 0 4.5rem; }
  .sezione__testa { grid-template-columns: auto auto 1fr auto; gap: 0 1rem; padding-bottom: 1.25rem; margin-bottom: 2.75rem; }
  .sezione__num { font-size: 1.75rem; }
  .sezione__desc { grid-column: 3; font-size: 1.3125rem; padding-left: 1.25rem; }
  .sezione__testa .link-freccia { grid-column: 4; align-self: center; }
  
  .sezione__corpo { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 3rem; align-items: start; }
  .sezione__foto { grid-column: 1 / span 7; margin: 9px; outline-offset: 8px; }
  .sezione__testi { grid-column: 8 / span 5; }
  
  .sezione--destra .sezione__foto { grid-column: 6 / span 7; grid-row: 1; }
  .sezione--destra .sezione__testi { grid-column: 1 / span 5; grid-row: 1; }
  .scheda__titolo { font-size: 2rem; }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .sezione__testa { grid-template-columns: auto 1fr auto; }
  .sezione__desc { grid-column: 1 / span 2; grid-row: 2; padding-left: 0; margin-top: .375rem; }
  .sezione__testa .link-freccia { grid-column: 3; grid-row: 1; }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .sezione__corpo { gap: 2.25rem 2rem; }
  .sezione__foto, .sezione--destra .sezione__foto { grid-column: 1 / -1; grid-row: 1; }
  .sezione__testi, .sezione--destra .sezione__testi { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
  
  .sezione__testi .voci { border-top: 0; }
  .sezione__testi .voce:first-child { padding-top: 0; }
}

@media (min-width: 900px) and (max-width: 1279px) {
  .sezione__foto img { aspect-ratio: 16 / 9; }
  
  #cantine .sezione__foto img { object-position: 50% 0; }
}

@media (min-width: 1280px) { .sezione__foto img { aspect-ratio: 4 / 3; } }

.guide { padding: 4.5rem 0; background: var(--color-surface); border-block: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); }
.guide__elenco { list-style: none; display: grid; gap: 0; }
.guida { padding: 1.75rem 0; border-top: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); display: grid; grid-template-columns: 3.5rem 1fr; gap: 0 1rem; align-items: start; }
.guida__foto { grid-column: 1 / -1; display: block; position: relative; margin: 8px 8px 1.75rem; outline: 1px solid var(--color-brass); outline-offset: 8px; }
.guida__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
a.guida__foto::after { content: ""; position: absolute; inset: 0; background: var(--color-accent); opacity: 0; transition: opacity var(--dur) var(--ease); }
a.guida__foto:hover::after { opacity: .08; }
.guida__foto--vuota { aspect-ratio: 3 / 2; display: grid; place-items: center; border: 1px dashed color-mix(in oklab, var(--color-brass) 80%, transparent); background: repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in oklab, var(--color-surface-2) 70%, transparent) 14px 15px); }
.guida__testi { display: flex; flex-direction: column; height: 100%; }
.guida__num { font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: 2.75rem; line-height: .9; color: var(--color-brass-text); font-variant-numeric: oldstyle-nums; }
.guida__titolo { font-size: 1.75rem; line-height: 1.12; }
.guida__titolo a { color: var(--color-accent); text-decoration: none; }
.guida__titolo a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; text-decoration-color: var(--color-brass); }
.guida__estratto { margin-top: .75rem; color: var(--color-text-muted); font-style: italic; line-height: 1.55; }
.guida .meta { margin-top: .875rem; font-size: 1rem; }
@media (min-width: 768px) {
  .guide { padding: 6.5rem 0; }
  .guida__num { font-size: 3.75rem; }
  .guida__titolo { font-size: 1.875rem; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .guida { grid-template-columns: 17rem 4rem minmax(0, 1fr); gap: 0 1.25rem; padding: 2.5rem 0; }
  .guida:first-child { border-top: 0; padding-top: 0; }
  .guida__foto { grid-column: 1; grid-row: 1 / span 2; margin: 8px 1.5rem 8px 8px; }
  .guida__num { grid-column: 2; grid-row: 1; }
  .guida__testi { grid-column: 3; grid-row: 1; }
}
@media (min-width: 1024px) {
  .guide__elenco { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 3.5rem; align-items: stretch; }
  .guida { grid-template-columns: 1fr; grid-template-rows: subgrid; grid-row: span 3; gap: 0; padding-top: .5rem; border-top: 0; }
  .guida__num { margin-bottom: 1rem; }
  .guida .meta { margin-top: auto; padding-top: .875rem; }
}

.regioni { padding: 4.5rem 0; }
.regioni .titolo-blocco { margin-bottom: 2.25rem; }
.regioni .titolo-blocco .occhiello, .sezioni .titolo-blocco .occhiello { margin-top: 1.25rem; }
.regioni .titolo-blocco h2, .sezioni .titolo-blocco h2 { margin-top: .625rem; }

.sezioni .titolo-blocco { margin-bottom: 0; }
.regioni__intro { color: var(--color-text-muted); font-style: italic; max-width: 32rem; margin: .875rem auto 0; }
.regioni__elenco { list-style: none; max-width: 45rem; margin-inline: auto; border-top: 1px solid var(--color-brass); padding-top: .5rem; }
.regioni__elenco li { break-inside: avoid; }
.regioni__elenco a {
  display: flex; align-items: baseline; gap: .625rem; min-height: 3.5rem; padding: .625rem 0;
  color: var(--color-text); text-decoration: none;
}
.regioni__nome { font-family: var(--font-display); font-size: 1.875rem; line-height: 1.1; font-weight: 500; color: var(--color-accent); }
.regioni__puntini { flex: 1; border-bottom: 1px dotted var(--color-brass); transform: translateY(-.3em); min-width: 1.5rem; }
.regioni__elenco a:hover .regioni__nome { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; text-decoration-color: var(--color-brass); }
.regioni__elenco a svg { width: 1rem; height: .65rem; color: var(--color-brass-text); align-self: center; transition: transform var(--dur) var(--ease); }
.regioni__elenco a:hover svg { transform: translateX(3px); }
@media (min-width: 768px) {
  .regioni { padding: 6.5rem 0; }
  .regioni__elenco { columns: 2; column-gap: 4rem; column-rule: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); border-bottom: 1px solid var(--color-brass); padding-bottom: .5rem; }
}

.invito { padding: 1rem 0 4.5rem; }
.invito__cornice {
  position: relative; text-align: center; padding: 3rem 1.25rem; background: var(--color-surface);
  border: 1px solid var(--color-brass); outline: 1px solid var(--color-brass); outline-offset: -8px;
}
.invito__sigillo { width: 6.5rem; margin: 0 auto 1.25rem; }
.invito .occhiello { justify-content: center; }
.invito h2 { font-size: var(--t-h2); color: var(--color-accent); margin-top: .75rem; }
.invito h2 em { font-weight: 400; }
.invito__testo { max-width: 34rem; margin: 1rem auto 1.75rem; color: var(--color-text-muted); font-size: var(--t-lead); font-style: italic; line-height: 1.45; }
.invito__azioni { display: grid; justify-items: center; gap: .875rem; }
.invito__ig { font-size: var(--t-body); }
@media (min-width: 768px) { .invito { padding: 2rem 0 7rem; } .invito__cornice { padding: 4.5rem 3rem; } }

.professionale { padding: 1rem 0 4.5rem; }
.professionale__griglia { display: grid; gap: 2.5rem; }
.professionale__foto { margin: 8px; max-width: 22rem; outline: 1px solid var(--color-brass); outline-offset: 8px; }
.professionale__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.88) contrast(1.03) sepia(.06); }
.professionale__voci { display: grid; }
.porta { display: grid; gap: .875rem; justify-items: start; align-content: start; padding-block: 2rem; }
.porta:first-child { padding-top: 0; }
.porta + .porta { border-top: 1px solid var(--color-brass); padding-bottom: 0; }
.porta h2 { font-size: var(--t-h2); color: var(--color-accent); }
.porta__testo { color: var(--color-text-muted); font-style: italic; font-size: 1.3125rem; line-height: 1.45; max-width: 30rem; }
@media (min-width: 768px) {
  .professionale { padding: 1rem 0 7rem; }
  .professionale__foto { margin: 9px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .professionale__griglia { grid-template-columns: 17rem minmax(0, 1fr); gap: 0 3rem; align-items: start; }
  .professionale__foto { max-width: none; }
}
@media (min-width: 1024px) {
  .professionale__griglia { grid-template-columns: minmax(0, 25rem) minmax(0, 1fr); gap: 0 5rem; align-items: start; }
  .professionale__foto { max-width: none; }
}

.piede { background: var(--color-dark-deep); color: var(--color-on-dark-muted); padding: 4rem 0 2rem; font-size: var(--t-small); }
.piede a { color: var(--color-on-dark); }
.piede__logo { width: 15rem; margin: 0 auto; }
.piede__nota { max-width: 30rem; margin: 1.5rem auto 0; }
.piede__motto { text-align: center; font-family: var(--font-display); font-style: italic; font-size: 1.375rem; color: var(--color-on-dark-muted); margin-top: 1rem; }
.piede__colonne { display: grid; gap: 2rem; margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 50%, transparent); }
.piede h2 { font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-on-dark); margin-bottom: .75rem; }
.piede ul { list-style: none; }
.piede li a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1.0625rem; }
.piede__fondo { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 35%, transparent); display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; align-items: center; font-size: 1rem; }
.piede__fondo a { min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) {
  .piede { padding: 5.5rem 0 2.5rem; }
  .piede__colonne { grid-template-columns: repeat(3, 1fr); text-align: left; gap: 3rem; }
}

.consenso {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: var(--color-paper); color: var(--color-text);
  border-top: 1px solid var(--color-brass); box-shadow: 0 -12px 40px color-mix(in srgb, var(--color-text) 18%, transparent);
  padding: 1.25rem 0 1.25rem; font-size: 1.0625rem; line-height: 1.5;
}
.consenso--fermo { position: absolute; top: var(--consenso-top, auto); bottom: auto; }
.consenso[hidden] { display: none; }
.consenso__titolo { font-family: var(--font-display); font-size: 1.5rem; color: var(--color-accent); margin-bottom: .375rem; }
.consenso__azioni { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; margin-top: 1rem; }
.consenso__azioni .bottone { width: 100%; padding-inline: .75rem; }
.consenso__scegli { grid-column: 1 / -1; justify-self: center; min-height: 44px; display: inline-flex; align-items: center; background: none; border: 0; font: inherit; font-size: 1.0625rem; color: var(--color-accent); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
@media (min-width: 900px) {
  .consenso .contenitore { display: grid; grid-template-columns: 1fr auto; gap: 2.5rem; align-items: center; }
  .consenso__azioni { margin-top: 0; grid-template-columns: auto auto auto; }
  .consenso__scegli { grid-column: auto; }
}

.briciole { font-size: 1rem; color: var(--color-text-muted); padding-top: 1.25rem; }
.briciole ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .5rem; margin-bottom: 1.25rem; }
.briciole li { display: inline-flex; align-items: center; min-height: 44px; }

.briciole li:not(:last-child)::after { content: "/"; margin-left: .5rem; color: var(--color-brass); }
.briciole a { color: var(--color-text-muted); display: inline-flex; min-height: 44px; min-width: 44px; align-items: center; }

.apertura-art { padding-bottom: 2.5rem; }
.apertura-art__foto { margin: 1.5rem calc(var(--gutter) * -1) 0; position: relative; }
.apertura-art__foto img { width: 100%; height: auto; }

@media (max-width: 899px) { .apertura-art__foto img { max-height: min(70vh, 40rem); object-fit: cover; object-position: 50% 40%; } }
.apertura-art__foto figcaption { font-size: 1rem; font-style: italic; color: var(--color-text-muted); padding: .625rem var(--gutter) 0; line-height: 1.45; }
.apertura-art__testo { padding-top: 1.75rem; }
.apertura-art h1 { font-size: var(--t-h1); color: var(--color-accent); line-height: 1.03; margin: 1rem 0 1.25rem; }
.apertura-art h1 em { font-weight: 400; }
.apertura-art__sommario { font-size: var(--t-lead); font-style: italic; line-height: 1.45; color: var(--color-text-muted); }
.firma { display: flex; align-items: center; gap: 1rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); }
.firma__testo { font-size: var(--t-small); line-height: 1.5; color: var(--color-text-muted); }
.firma__nome { color: var(--color-text); font-size: 1.125rem; }
.firma__nome a { color: var(--color-accent); }
.date { margin-top: 1rem; display: grid; gap: .125rem; font-size: var(--t-small); color: var(--color-text-muted); }
.date b { font-weight: 600; color: var(--color-text); }
.etichetta-collab { margin-top: 1.5rem; display: grid; gap: .625rem; }
.etichetta {
  display: inline-flex; align-items: center; gap: .5rem; justify-self: start;
  padding: .375rem .75rem; border: 1px solid var(--color-accent); color: var(--color-accent); background: var(--color-paper);
  font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.3;
}
.etichetta svg { width: .95rem; height: .95rem; flex: none; }
@media (min-width: 900px) {
  .apertura-art { padding-top: 1rem; padding-bottom: 4rem; }
  .apertura-art__griglia { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 4.5rem; align-items: center; }
  .apertura-art__foto { margin: 9px; order: 2; }
  .apertura-art__foto img { outline: 1px solid var(--color-brass); outline-offset: 8px; }
  .apertura-art__foto figcaption { padding-inline: 0; }
  .apertura-art__testo { padding-top: 0; }
}

.corpo-art { padding-bottom: 4rem; }
.corpo-art__griglia { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.indice { display: none; }
@media (min-width: 1200px) {
  
  .corpo-art__griglia { grid-template-columns: minmax(12rem, 1fr) minmax(0, var(--leggi)) minmax(12rem, 1fr); gap: 0 3rem; }
  .indice { display: block; grid-column: 1; }
  .indice__dentro { position: sticky; top: 2rem; max-width: 15rem; }
  .indice h2 { font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); padding-bottom: .75rem; border-bottom: 1px solid var(--color-brass); }
  .indice ol { list-style: none; counter-reset: ind; }
  .indice li { counter-increment: ind; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 40%, transparent); }
  .indice a { display: grid; grid-template-columns: 1.75rem 1fr; padding: .6rem 0; font-size: 1rem; line-height: 1.35; color: var(--color-text-muted); text-decoration: none; min-height: 44px; }
  .indice a::before { content: counter(ind, upper-roman); font-family: var(--font-display); font-style: italic; color: var(--color-brass-text); }
  .indice a:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; }
  .corpo-art .testo { grid-column: 2; }
}

.testo { max-width: var(--leggi); margin-inline: auto; width: 100%; }
.testo > * + * { margin-top: 1.25em; }
@media (max-width: 767px) {
  .testo p { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 8 4 4; -webkit-hyphenate-limit-before: 4; -webkit-hyphenate-limit-after: 4; hyphenate-limit-lines: 1; -webkit-hyphenate-limit-lines: 1; }
  
  .testo > p:first-of-type { hyphens: manual; -webkit-hyphens: manual; }
}
@media (max-width: 479px) {
  .apertura-art .occhiello { flex-direction: column; align-items: flex-start; gap: .125rem; }
  .apertura-art .occhiello__sep { display: none; }
}

.testo > p:first-of-type::first-letter {
  float: left; font-family: var(--font-display); font-weight: 500; color: var(--color-accent);
  font-size: 7.5rem; line-height: .625; margin: .085em .08em 0 -.03em;
  font-variant-caps: normal; letter-spacing: 0; 
}
@media (min-width: 768px) { .testo > p:first-of-type::first-letter { font-size: 8.125rem; } }
.testo > p:first-of-type::first-line { font-variant-caps: all-small-caps; letter-spacing: .06em; font-weight: 500; }
.testo h2 {
  font-size: var(--t-h3); color: var(--color-accent); margin-top: 2.5em; padding-top: 1.25rem; position: relative; line-height: 1.12;
  scroll-margin-top: 2rem;
}
.testo h2::before { content: ""; position: absolute; top: 0; left: 0; width: 3rem; height: 1px; background: var(--color-brass); }
.testo h2 .num { display: block; font-style: italic; font-weight: 400; font-size: 1.125rem; color: var(--color-brass-text); margin-bottom: .375rem; letter-spacing: .02em; }
.testo h2 + p, .testo h2 + ul { margin-top: .9em; }
.testo h3 { font-size: var(--t-h4); color: var(--color-text); margin-top: 2em; }
.testo strong { font-weight: 600; color: var(--color-text); }
.testo ul { list-style: none; }

.citazione { margin: 2.5em 0; padding: 2rem 0; border-top: 1px solid var(--color-brass); border-bottom: 1px solid var(--color-brass); text-align: center; position: relative; }
.citazione::before { content: "“"; position: absolute; top: -.62em; left: 50%; transform: translateX(-50%); background: var(--color-bg); padding: 0 .5rem; font-family: var(--font-display); font-size: 4rem; line-height: 1; color: var(--color-brass-text); height: .9em; }
.citazione p { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 2.125rem; line-height: 1.12; color: var(--color-accent); text-wrap: balance; }
.citazione cite { display: block; margin-top: 1rem; font-style: normal; font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; color: var(--color-text-muted); }
@media (min-width: 768px) { .citazione p { font-size: 2.625rem; } .citazione { margin-inline: -2rem; } }

.riquadro { background: var(--color-surface); border: 1px solid var(--color-brass); padding: 1.75rem 1.25rem; position: relative; margin: 2.25em 0; }
.riquadro::before { content: ""; position: absolute; inset: 5px; border: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); pointer-events: none; }
.riquadro__titolo { font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.riquadro__titolo::after { content: ""; flex: 1; height: 1px; background: color-mix(in oklab, var(--color-brass) 60%, transparent); }
.in-breve dl { display: grid; gap: .875rem; margin: 0; }
.in-breve dl > div { display: grid; gap: .125rem; }
.in-breve dt { font-family: var(--font-display); font-style: italic; font-size: 1.25rem; color: var(--color-accent); line-height: 1.2; }
.in-breve dd { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
@media (min-width: 600px) { .riquadro { padding: 2.25rem 2.25rem; } .in-breve dl > div { grid-template-columns: 8.5rem 1fr; gap: 1rem; align-items: baseline; } }

.errori { display: grid; gap: 0; margin-top: 1.5em; }
.errori p { padding: 1.125rem 0 1.125rem 2.75rem; border-top: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); margin: 0; position: relative; }
.errori p:last-child { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.errori p::before { content: ""; position: absolute; left: .25rem; top: 1.55rem; width: 1.25rem; height: 1.25rem; background: var(--color-brass-text); -webkit-mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Ccircle cx='10' cy='10' r='8.6'/%3E%3Cpath d='M6.6 6.6l6.8 6.8M13.4 6.6l-6.8 6.8'/%3E%3C/svg%3E"); mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Ccircle cx='10' cy='10' r='8.6'/%3E%3Cpath d='M6.6 6.6l6.8 6.8M13.4 6.6l-6.8 6.8'/%3E%3C/svg%3E"); }
.errori strong { display: block; font-family: var(--font-display); font-size: 1.375rem; line-height: 1.2; margin-bottom: .25rem; font-weight: 600; color: var(--color-accent); }

.checklist { list-style: none; counter-reset: cl; display: grid; gap: 0; margin-top: 1.5em; }
.checklist li { position: relative; padding: 1.125rem 0 1.125rem 3rem; border-top: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.checklist li:last-child { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.checklist li::before { content: ""; position: absolute; left: 0; top: 1.3rem; width: 1.75rem; height: 1.75rem; border: 1px solid var(--color-brass); }
.checklist li::after { content: ""; position: absolute; left: 0; top: 1.3rem; width: 1.75rem; height: 1.75rem; background: var(--color-accent); -webkit-mask: no-repeat center / 1rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.4l3.2 3.1L13 4.6'/%3E%3C/svg%3E"); mask: no-repeat center / 1rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.4l3.2 3.1L13 4.6'/%3E%3C/svg%3E"); }
.checklist strong { color: var(--color-accent); }

.opinione { background: var(--color-dark); color: var(--color-on-dark); padding: 2rem 1.25rem; margin: 2.5em calc(var(--gutter) * -1) 0; position: relative; }
.opinione::before { content: ""; position: absolute; inset: 6px; border: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 55%, transparent); pointer-events: none; }
.opinione h2 { color: var(--color-on-dark); margin-top: 0; padding-top: 0; }
.opinione h2::before { display: none; }
.opinione h2 .num { color: var(--color-brass-on-dark); }
.opinione p { color: var(--color-on-dark); }
.opinione > * + * { margin-top: 1.1em; }
.opinione a { color: var(--color-on-dark); text-decoration-color: var(--color-brass-on-dark); }
@media (min-width: 768px) { .opinione { margin-inline: -3rem; padding: 3rem; } }

.canali { display: grid; gap: .75rem; padding: 1.5rem 0 0; border-top: 1px solid color-mix(in oklab, var(--color-brass-line-on-dark) 55%, transparent); }
.canali__riga { display: flex; flex-wrap: wrap; gap: .75rem; }
.canali .bottone { min-height: 3rem; }

.pubblicita { margin: 2.75em 0; text-align: center; }
.pubblicita__etichetta { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: .5rem; }
.pubblicita__spazio { min-height: 280px; display: grid; place-items: center; border: 1px dashed color-mix(in oklab, var(--color-brass) 80%, transparent); background: repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in oklab, var(--color-surface-2) 55%, transparent) 14px 15px); color: var(--color-text-muted); font-style: italic; font-size: 1rem; padding: 1rem; }

.bottiglie__versione { display: grid; gap: 1.25rem; }
.bottiglie__versione + .bottiglie__versione { margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px dashed var(--color-brass); }
.bottiglia { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1.25rem; align-items: start; }
.bottiglia__foto { background: var(--color-paper); border: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); padding: .25rem; }
.bottiglia__foto img { width: 100%; aspect-ratio: 1 / 2; object-fit: cover; }
.bottiglia__nome { font-family: var(--font-display); font-size: 1.75rem; line-height: 1.05; color: var(--color-accent); }
.bottiglia__dati { margin-top: .375rem; font-size: 1.0625rem; line-height: 1.5; color: var(--color-text-muted); }
.bottiglia__dati em { color: var(--color-text); }
.bottiglia__azioni { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; }
.bottiglia__azioni .bottone { min-height: 2.875rem; padding: .5rem 1.125rem; }
.avviso-acquisto { font-size: 1rem; line-height: 1.45; color: var(--color-text-muted); font-style: italic; display: flex; gap: .5rem; align-items: flex-start; }
.avviso-acquisto svg { width: 1rem; height: 1rem; flex: none; margin-top: .2rem; color: var(--color-brass-text); }
.versione-tag { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-text-muted); }

.schede-luoghi { display: grid; gap: 1rem; margin-top: 1rem; }
.luogo { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.125rem; background: var(--color-paper); border: 1px solid color-mix(in oklab, var(--color-brass) 70%, transparent); text-decoration: none; color: var(--color-text); }
.luogo:hover { border-color: var(--color-accent); color: var(--color-text); }
.luogo:hover .luogo__nome { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; }
.luogo__icona { width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid var(--color-brass); display: grid; place-items: center; color: var(--color-brass-text); }
.luogo__icona svg { width: 1.375rem; height: 1.375rem; }
.luogo__tipo { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); }
.luogo__nome { display: block; font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1; color: var(--color-accent); font-weight: 600; }
.luogo__dove { display: block; font-size: 1rem; color: var(--color-text-muted); }
.luogo > svg { width: 1.1rem; height: .7rem; color: var(--color-brass-text); }
@media (min-width: 600px) { .schede-luoghi { grid-template-columns: 1fr 1fr; } }

.autore { margin-top: 3.5rem; padding: 2rem 0 0; border-top: 1px solid var(--color-brass); display: grid; grid-template-columns: auto 1fr; gap: 1.25rem 1.5rem; align-items: start; }
.autore .ritratto { width: 5.5rem; height: 5.5rem; }
.autore__nome { font-family: var(--font-display); font-size: 1.875rem; line-height: 1.1; color: var(--color-accent); }
.autore__bio { grid-column: 1 / -1; color: var(--color-text-muted); }
.autore__link { margin-top: .5rem; }
@media (min-width: 600px) { .autore__bio { grid-column: 2; } }

.correlati { padding: 4.5rem 0; background: var(--color-surface); border-top: 1px solid var(--color-brass); }
.correlati__griglia { display: grid; gap: 2.5rem; }
.correlati .scheda__titolo { font-size: 1.625rem; }
@media (min-width: 768px) {
  .correlati { padding: 6rem 0; }
  .correlati__griglia { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 3rem; }
}

.testo .riquadro__titolo { font-family: var(--font-body); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); margin: 0 0 1rem; padding: 0; line-height: 1.4; }
.testo .riquadro__titolo::before { display: none; }
.citazione blockquote { margin: 0; }
.luoghi { margin-top: 3em; }
.luoghi .riquadro__titolo { margin-bottom: .25rem; }
.bottiglie .bottiglie__versione:first-of-type { margin-top: 0; }
.apertura-art .etichetta .segnaposto { color: var(--color-accent); border-color: currentColor; letter-spacing: .04em; text-transform: none; font-weight: 500; }
.correlati .scheda .occhiello { margin-top: .25rem; }
.correlati .scheda__titolo { margin-top: -.25rem; }

.correlati__voci { max-width: 48rem; margin-inline: auto; }
.correlati__voci .voce__titolo { font-size: 1.625rem; }
@media (min-width: 768px) { .correlati__voci .voce__titolo { font-size: 1.875rem; } }

.firma .ritratto { text-decoration: none; }
.autore .ritratto { text-decoration: none; }
@media (min-width: 600px) { .autore { grid-template-columns: 7rem 1fr; } .autore .ritratto { width: 7rem; height: 7rem; grid-row: 1 / span 2; align-self: center; } .autore__bio p:first-child { margin-top: -.25rem; } }
.canali .segnaposto { justify-self: start; }
.etichetta { flex-wrap: wrap; row-gap: .375rem; }
@media (max-width: 599px) {
  .etichetta { font-size: .8125rem; letter-spacing: .08em; }
  .bottiglia { grid-template-columns: 4.5rem 1fr; gap: 1rem; }
  .bottiglia__azioni .bottone { padding: .5rem .875rem; letter-spacing: .1em; white-space: nowrap; }
}
@media (min-width: 600px) { .bottiglia { grid-template-columns: 7.5rem 1fr; gap: 1.75rem; } .bottiglia__nome { font-size: 2.125rem; } }

.menu-telefono__altre a[aria-current] { text-decoration-thickness: 2px; text-decoration-color: var(--color-brass-on-dark); }
.menu-telefono__altre a[aria-current]::after { content: "sei qui"; margin-left: .75rem; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--color-brass-on-dark); }
.testata__btn[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--color-brass); text-underline-offset: .35em; }

.piede__whatsapp { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; min-height: 44px; }
.piede__amazon { margin-top: 2.5rem; font-style: italic; font-size: 1rem; line-height: 1.5; color: var(--color-on-dark-muted); max-width: 46rem; }
.piede__preferenze {
  min-height: 44px; display: inline-flex; align-items: center; padding: 0; background: none; border: 0; cursor: pointer;
  font: inherit; font-size: 1rem; color: var(--color-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em;
}
.consenso__pannello { grid-column: 1 / -1; display: grid; gap: .75rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); }
.consenso__pannello[hidden] { display: none; }
.consenso__pannello .bottone { justify-self: start; }
.consenso__voce { display: flex; gap: .875rem; align-items: flex-start; }
.consenso__voce input { width: 1.375rem; height: 1.375rem; margin: .1rem 0 0; accent-color: var(--color-accent); flex: none; }
.consenso__voce label { min-height: 44px; }
.consenso__voce b { display: block; color: var(--color-accent); font-weight: 600; }

.etichetta--piccola { padding: .25rem .5rem; font-size: .8125rem; letter-spacing: .1em; }
.etichetta--piccola .segnaposto { color: var(--color-accent); border-color: currentColor; letter-spacing: .04em; text-transform: none; }
.etichetta .segnaposto { white-space: normal; }
.etichetta .segnaposto--esempio, .etichetta--piccola .segnaposto--esempio { white-space: nowrap; text-transform: none; letter-spacing: .04em; color: var(--color-accent); border-color: currentColor; }
.scheda__etichetta, .riga-art__etichetta { display: flex; }

.bottone--in-attesa { cursor: default; }
.bottone--in-attesa:hover { background: var(--color-accent); border-color: var(--color-accent); }
.su-scuro .bottone--in-attesa, .bottone--chiaro.bottone--in-attesa,
.su-scuro .bottone--in-attesa:hover, .bottone--chiaro.bottone--in-attesa:hover { background: var(--color-on-dark); color: var(--color-accent); border-color: var(--color-on-dark); }

.copertina {
  display: grid; place-items: center; align-content: center; gap: .75rem; width: 100%; aspect-ratio: 4 / 5;
  background: var(--color-surface); color: var(--color-brass); text-align: center; padding: 1rem;
  background-image: repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in oklab, var(--color-surface-2) 55%, transparent) 14px 15px);
}
.copertina svg { width: 3rem; height: 3rem; }
a:has(> .copertina) { text-decoration: none; }
.copertina__nome { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-brass-text); line-height: 1.35; }
.guida__foto .copertina, .sezione__foto .copertina { aspect-ratio: 3 / 2; }

.apertura-art--senza-foto .apertura-art__griglia { display: block; max-width: 48rem; margin-inline: auto; }
.apertura-art--senza-foto { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); margin-bottom: 2.5rem; }
.testo ul:not([class]), .testo ol:not([class]) { padding-left: 1.4em; }
.testo ul:not([class]) { list-style: disc; }
.testo ol:not([class]) { list-style: decimal; }
.testo ul:not([class]) li + li, .testo ol:not([class]) li + li { margin-top: .5em; }
.testo ul:not([class]) li::marker, .testo ol:not([class]) li::marker { color: var(--color-brass-text); }
.citazione--lunga p { font-size: 1.625rem; line-height: 1.25; }
@media (min-width: 768px) { .citazione--lunga p { font-size: 1.875rem; } }
.risposta > * + * { margin-top: 1em; }
.acquisti__intro { margin-bottom: 1rem; }
.acquisti__elenco { list-style: none; display: grid; gap: 0; }
.acquisto { padding: 1.25rem 0; border-top: 1px dashed color-mix(in oklab, var(--color-brass) 70%, transparent); display: grid; gap: .5rem; }
.acquisto:first-child { border-top: 0; padding-top: 0; }
.acquisto__nome { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.15; color: var(--color-accent); }
.acquisto__desc { font-size: 1.0625rem; line-height: 1.55; }
.acquisto__azioni { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .25rem; }
.acquisto__azioni .bottone { min-height: 2.875rem; padding: .5rem 1.125rem; }
.acquisto__nota { font-size: 1rem; font-style: italic; color: var(--color-text-muted); }
.acquisti .avviso-acquisto { margin-top: 1rem; }
.bottiglia__foto--vuota { aspect-ratio: 1 / 2; display: grid; place-items: center; color: var(--color-brass-text); background: var(--color-surface); }
.bottiglia__foto--vuota svg { width: 2rem; height: 2rem; }
.bottiglia__sito { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .375rem .625rem; font-size: 1rem; color: var(--color-text-muted); min-height: 44px; }
.autore__link { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }

.archivio { padding-bottom: 2.75rem; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 55%, transparent); }
.archivio__testa { text-align: center; max-width: 48rem; margin: .5rem auto 0; display: grid; justify-items: center; gap: .875rem; }
.archivio__testa .occhiello { justify-content: center; }
.archivio h1 { font-size: var(--t-h1); color: var(--color-accent); line-height: 1.04; }
.archivio__num { font-style: italic; font-weight: 400; color: var(--color-brass-text); margin-right: .3em; }
.archivio__desc { font-size: var(--t-lead); font-style: italic; line-height: 1.4; color: var(--color-text-muted); max-width: 36rem; }
.archivio__conta { font-size: var(--t-small); color: var(--color-text-muted); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 1rem; }
.archivio--autore .ritratto { margin-bottom: .75rem; }
.archivio__corpo { padding-top: 3rem; padding-bottom: 5rem; }
.archivio__blocco + .archivio__blocco, section + .archivio__blocco { margin-top: 4.5rem; }
.archivio__blocco .titolo-blocco { margin-bottom: 2rem; }
.titolo-blocco__intro { margin: .875rem auto 0; max-width: 34rem; font-style: italic; color: var(--color-text-muted); }
@media (min-width: 768px) {
  .archivio { padding-bottom: 4rem; }
  .archivio__corpo { padding-top: 4.5rem; padding-bottom: 7rem; }
}

.elenco-art { max-width: 54rem; margin-inline: auto; border-top: 1px solid var(--color-brass); }
.riga-art { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.25rem; padding: 1.75rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 50%, transparent); align-items: start; }
.riga-art__foto { display: block; position: relative; margin: 5px; outline: 1px solid var(--color-brass); outline-offset: 4px; }
.riga-art__foto img, .riga-art__foto .copertina { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.riga-art__foto img { filter: saturate(.88) contrast(1.03) sepia(.06); }
.riga-art__foto .copertina { padding: .5rem; }
.riga-art__foto .copertina svg { width: 2rem; height: 2rem; }
.riga-art__foto .copertina__nome { display: none; }
.riga-art__testi { display: grid; gap: .625rem; align-content: start; }
.riga-art__titolo { font-size: 1.5rem; line-height: 1.12; text-wrap: pretty; }
.riga-art__titolo a { color: var(--color-text); text-decoration: none; display: inline-block; min-height: 44px; }
.riga-art__titolo a:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; text-decoration-color: var(--color-brass); }
.riga-art__estratto { color: var(--color-text-muted); font-size: 1.0625rem; line-height: 1.55; }
.riga-art .occhiello { font-size: .8125rem; }
@media (max-width: 479px) {
  .riga-art .occhiello { flex-direction: column; align-items: flex-start; gap: .125rem; }
  .riga-art .occhiello__sep { display: none; }
}
@media (min-width: 768px) {
  .riga-art { grid-template-columns: 14rem minmax(0, 1fr); gap: 2.5rem; padding: 2.5rem 0; }
  .riga-art__foto { margin: 8px; outline-offset: 7px; }
  .riga-art__foto img, .riga-art__foto .copertina { aspect-ratio: 4 / 3; }
  .riga-art__foto .copertina__nome { display: block; }
  .riga-art__titolo { font-size: 2rem; }
  .riga-art__estratto { font-size: 1.125rem; }
  .riga-art .occhiello { font-size: var(--t-label); }
}

.filtri { max-width: 54rem; margin: 0 auto 2.5rem; }

.filtri:has(+ .archivio__apertura) { max-width: none; }
.filtri__titolo { font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); margin-bottom: .5rem; }
.filtri ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; }
.filtri a { display: inline-flex; align-items: center; min-height: 44px; padding: .25rem 1rem; border: 1px solid color-mix(in oklab, var(--color-brass) 70%, transparent); text-decoration: none; font-size: 1rem; color: var(--color-text); }
.filtri a:hover { border-color: var(--color-accent); color: var(--color-accent); }
.filtri a[aria-current] { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-on-accent); text-decoration: underline; text-underline-offset: .2em; }
.vuoto { max-width: 40rem; margin-inline: auto; padding: 2rem 1.5rem; text-align: center; border: 1px dashed color-mix(in oklab, var(--color-brass) 80%, transparent); font-style: italic; color: var(--color-text-muted); display: grid; justify-items: center; gap: .75rem; }
.vuoto .link-freccia { font-style: normal; }
.elenco-link { list-style: none; display: grid; gap: 0; }
.elenco-link li { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; min-height: 44px; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 40%, transparent); padding: .25rem 0; }
.elenco-link a { display: inline-flex; align-items: center; min-height: 44px; }
.vuoto .elenco-link { justify-items: center; font-style: normal; }
.vuoto .elenco-link li { border: 0; }
.torna { max-width: 54rem; margin: 3rem auto 0; }

.regioni__elenco--pagina { max-width: 50rem; }
.regioni__conta { font-size: 1rem; color: var(--color-text-muted); white-space: nowrap; }
@media (max-width: 599px) {
  .regioni__elenco--pagina a { flex-wrap: wrap; row-gap: 0; }
  .regioni__elenco--pagina .regioni__puntini { display: none; }
  .regioni__elenco--pagina .regioni__nome { flex: 1 1 100%; }
  .regioni__elenco--pagina .regioni__conta { flex: 1; }
}
@media (min-width: 768px) { .regioni__elenco--pagina { columns: 1; } }

.anno__titolo { max-width: 54rem; margin: 0 auto 1.25rem; font-size: var(--t-h2); color: var(--color-accent); display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.anno__titolo span { font-family: var(--font-body); font-size: 1rem; color: var(--color-text-muted); }

.schede-luoghi--larga { max-width: 64rem; margin-inline: auto; }
@media (min-width: 1024px) { .schede-luoghi--larga { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gruppo-luoghi__testa { max-width: 64rem; margin: 0 auto 1rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem 1.25rem; padding-bottom: .75rem; border-bottom: 1px solid var(--color-brass); }
.gruppo-luoghi__testa h2 { font-size: var(--t-h3); color: var(--color-accent); }
.gruppo-luoghi__testa .link-freccia { margin-left: auto; }
.gruppo-luoghi + .gruppo-luoghi { margin-top: 3.5rem; }
.scheda-luogo { max-width: var(--leggi); margin-inline: auto; display: grid; gap: 2rem; }
.scheda-luogo__desc { font-size: var(--t-lead); line-height: 1.5; }
.scheda-luogo__dati { margin: 0; border-top: 1px solid var(--color-brass); }
.scheda-luogo__dati > div { display: grid; gap: .125rem; padding: .875rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.scheda-luogo__dati dt { font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--color-brass-text); }
.scheda-luogo__dati dd { margin: 0; overflow-wrap: anywhere; }
.scheda-luogo__dati dd a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 600px) { .scheda-luogo__dati > div { grid-template-columns: 8rem 1fr; gap: 1rem; align-items: baseline; } }
.scheda-luogo + .archivio__blocco { margin-top: 4.5rem; }

.cerca { max-width: 40rem; margin-inline: auto; display: grid; gap: .625rem; }
.cerca label { font-family: var(--font-display); font-size: 1.5rem; color: var(--color-accent); }
.cerca__riga { display: flex; gap: .5rem; flex-wrap: wrap; }
.cerca input { flex: 1 1 14rem; min-width: 0; min-height: 3.25rem; padding: 0 1rem; font: inherit; font-size: 1.1875rem; color: var(--color-text); background: var(--color-paper); border: 1px solid var(--color-brass); border-radius: 0; }
.cerca input::placeholder { color: var(--color-text-muted); font-style: italic; }
.cerca .bottone { flex: none; }
.cerca .bottone svg { width: 1.125rem; height: 1.125rem; }
.risultati { max-width: 54rem; margin: 3rem auto 0; }
.risultati__conta { font-style: italic; color: var(--color-text-muted); margin-bottom: 1rem; }
.risultati ol { list-style: none; border-top: 1px solid var(--color-brass); }
.risultato { padding: 1.5rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 50%, transparent); display: grid; gap: .5rem; }
.risultato__tipo { font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-brass-text); }
.risultato h2 { font-size: 1.625rem; line-height: 1.15; }
.risultato h2 a { color: var(--color-text); text-decoration: none; display: inline-block; min-height: 44px; }
.risultato h2 a:hover { color: var(--color-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.risultato p { color: var(--color-text-muted); font-size: 1.0625rem; }

.risultato mark { background: color-mix(in oklab, var(--color-brass) 30%, transparent); color: inherit; padding: 0 .1em; box-shadow: inset 0 -2px 0 var(--color-brass); }
.cerca + .vuoto, .cerca + nav.vuoto { margin-top: 3rem; }

.prosa { max-width: var(--leggi); margin-inline: auto; }
.prosa > * + * { margin-top: 1.25em; }
.prosa h2 { font-size: var(--t-h3); color: var(--color-accent); margin-top: 2.25em; padding-top: 1.25rem; position: relative; line-height: 1.12; }
.prosa h2::before { content: ""; position: absolute; top: 0; left: 0; width: 3rem; height: 1px; background: var(--color-brass); }
.prosa h2 + * { margin-top: .9em; }
.prosa h3 { font-size: var(--t-h4); color: var(--color-text); }
.punti { list-style: none; display: grid; gap: 0; }
.punti li { padding: 1rem 0 1rem 1.75rem; border-top: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); position: relative; }
.punti li:last-child { border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.punti li::before { content: ""; position: absolute; left: .25rem; top: 1.75rem; width: .45rem; height: .45rem; background: var(--color-brass); transform: rotate(45deg); }
.punti b { color: var(--color-accent); font-weight: 600; }
.dichiarazione { font-family: var(--font-display); font-size: 1.625rem; line-height: 1.3; font-style: italic; color: var(--color-accent); border-left: 2px solid var(--color-brass); padding: .25rem 0 .25rem 1.25rem; }
@media (min-width: 768px) { .dichiarazione { font-size: 1.875rem; } }
.esempi { list-style: none; display: grid; gap: .75rem; padding-left: 1.25rem; border-left: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); font-style: italic; color: var(--color-text-muted); }
.esempio-etichetta { display: flex; }
.presentazione { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-bottom: 2rem; }
.presentazione .ritratto { width: 8rem; height: 8rem; }
.chiamata { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--color-brass); }
.chiamata > a:not([class]) { display: inline-flex; align-items: center; min-height: 44px; }

.numeri { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-brass); }
.numeri > div { padding: 1.25rem .75rem 1.25rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); display: grid; gap: .25rem; align-content: start; }
.numeri dt { font-family: var(--font-display); font-size: 2.5rem; line-height: 1; color: var(--color-accent); font-weight: 500; }
.numeri dt .segnaposto { font-size: .8125rem; }
.numeri dd { margin: 0; font-size: 1rem; line-height: 1.45; color: var(--color-text-muted); }
.numeri__data { font-size: 1rem; font-style: italic; color: var(--color-text-muted); }
@media (min-width: 768px) { .numeri { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (min-width: 768px) { .numeri:not(:has(> div:nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .numeri:not(:has(> div:nth-child(5))) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.gruppo-proposte { margin-top: 2.75rem; }
.gruppo-proposte h2 { margin-top: 0; }
.gruppo-proposte__intro { margin-top: .75rem; font-style: italic; color: var(--color-text-muted); }
.proposte { list-style: none; display: grid; gap: 0; margin-top: 1.25rem; border-top: 1px solid var(--color-brass); }
.proposta { padding: 1.25rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.proposta h3 { font-size: 1.625rem; color: var(--color-accent); line-height: 1.15; }
.proposta p { margin-top: .375rem; font-size: 1.0625rem; line-height: 1.55; }
.condizioni { margin: 0; border-top: 1px solid var(--color-brass); }
.condizioni > div { padding: 1rem 0; border-bottom: 1px solid color-mix(in oklab, var(--color-brass) 45%, transparent); }
.condizioni dt { font-family: var(--font-display); font-size: 1.375rem; font-style: italic; color: var(--color-accent); line-height: 1.2; }
.condizioni dd { margin: .25rem 0 0; font-size: 1.0625rem; line-height: 1.55; }
.prosa .elenco-art { margin-top: 1.5rem; }
.prosa .riga-art { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.25rem; padding: 1.5rem 0; }
.prosa .riga-art__titolo { font-size: 1.5rem; }
.prosa .riga-art__foto img, .prosa .riga-art__foto .copertina { aspect-ratio: 4 / 5; }
.prosa .riga-art__foto .copertina__nome { display: none; }

.prosa .riga-art--senza-foto, .riga-art.riga-art--senza-foto { grid-template-columns: minmax(0, 1fr); }

.archivio__apertura { margin-bottom: 3rem; }
.archivio__apertura .sezione__foto img { aspect-ratio: 3 / 2; object-fit: cover; }
.archivio__apertura .scheda__titolo { font-size: var(--t-h2); line-height: 1.05; }
.archivio__apertura .scheda__titolo a { display: inline-block; min-height: 44px; }
.archivio__apertura + .elenco-art, .archivio__apertura + .archivio__blocco { margin-top: 0; }
@media (min-width: 768px) {
  .archivio__apertura { margin-bottom: 4.5rem; }
  .archivio__apertura .sezione__testi { align-self: center; }
}
@media (min-width: 1280px) { .archivio__apertura .sezione__foto img { aspect-ratio: 4 / 3; } }

.modulo { display: grid; gap: 1.5rem; margin-top: 2rem; }
.modulo__tipi { border: 0; padding: 0; margin: 0; display: grid; gap: .5rem; }
.modulo__tipi legend { font-family: var(--font-display); font-size: 1.5rem; color: var(--color-accent); margin-bottom: .5rem; padding: 0; }
.scelta { display: flex; gap: .875rem; align-items: flex-start; padding: .75rem 1rem; border: 1px solid color-mix(in oklab, var(--color-brass) 60%, transparent); background: var(--color-paper); }
.scelta:has(input:checked) { border-color: var(--color-accent); box-shadow: inset 3px 0 0 var(--color-accent); }
.scelta input { width: 1.375rem; height: 1.375rem; margin: .2rem 0 0; accent-color: var(--color-accent); flex: none; }
.scelta label { flex: 1; min-height: 44px; font-size: 1.0625rem; line-height: 1.45; cursor: pointer; }
.scelta b { display: block; color: var(--color-accent); font-weight: 600; }
.campo { display: grid; gap: .375rem; }
.campo label { font-weight: 600; font-size: 1.0625rem; }
.campo__facoltativo { font-weight: 400; font-style: italic; color: var(--color-text-muted); }
.campo input, .campo textarea { width: 100%; min-height: 3.25rem; padding: .625rem .875rem; font: inherit; font-size: 1.125rem; color: var(--color-text); background: var(--color-paper); border: 1px solid var(--color-brass); border-radius: 0; }
.campo textarea { resize: vertical; line-height: 1.5; }
.campo input[aria-invalid="true"], .campo textarea[aria-invalid="true"] { border: 2px solid var(--color-accent); }
.campo__errore { color: var(--color-accent); font-size: 1rem; font-weight: 600; display: flex; gap: .5rem; align-items: baseline; }
.campo__errore::before { content: "!"; display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; flex: none; border: 1px solid currentColor; border-radius: 50%; font-size: .875rem; line-height: 1; }
.campo__errore[hidden] { display: none; }
.trappola { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.modulo__errori { border: 2px solid var(--color-accent); padding: 1.25rem 1.25rem 1rem; background: var(--color-paper); }
.modulo__errori[hidden] { display: none; }
.modulo__errori-titolo { font-family: var(--font-display); font-size: 1.5rem; color: var(--color-accent); }
.modulo__errori ul { list-style: none; margin-top: .5rem; }
.modulo__errori a { display: inline-flex; align-items: center; min-height: 44px; }
.modulo__informativa { font-size: 1rem; font-style: italic; color: var(--color-text-muted); }
.modulo__informativa:has(> a:only-child) { margin-top: -1rem; }
.modulo__informativa > a:only-child { display: inline-flex; align-items: center; min-height: 44px; }
.modulo .bottone { justify-self: start; }
.modulo__esito { padding: 1rem 1.25rem; border: 1px solid var(--color-brass); background: var(--color-surface); }
.modulo__esito[hidden] { display: none; }

.stampa { background: var(--color-paper); }
.stampa__testa { max-width: 50rem; margin: 0 auto; padding: 1.5rem var(--gutter); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--color-brass); }
.stampa__testa img { width: 13rem; }
.stampa__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.stampa__corpo { max-width: 50rem; padding: 2.5rem var(--gutter) 4rem; }
.stampa__corpo h1 { font-size: var(--t-h1); color: var(--color-accent); margin-top: .5rem; }
.stampa__sottotitolo { font-size: var(--t-lead); font-style: italic; line-height: 1.4; color: var(--color-text-muted); }

@media print {
  
  @page { size: A4; margin: 9mm 12mm; }
  body, .stampa { background: #fff; color: #000; font-size: 9pt; line-height: 1.3; }
  .testata, .menu-telefono, .menu-velo, .piede, .consenso, .salta, .pubblicita, .stampa__azioni, .correlati, .indice, .sprite { display: none; }
  .stampa__testa { padding: 0 0 2mm; }
  .stampa__testa img { width: 40mm; }
  .stampa__corpo { padding: 2mm 0 0; max-width: none; }
  .stampa__corpo > * + * { margin-top: 1.5mm; }
  .stampa__corpo h1 { font-size: 18pt; margin-top: 0; }
  .stampa__sottotitolo { font-size: 11pt; margin-top: .5mm; }
  .prosa h2 { font-size: 12pt; margin-top: 3mm; break-after: avoid; }
  .stampa__proposte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 5mm; }
  .gruppo-proposte { margin-top: 2.5mm; break-inside: avoid; }
  .gruppo-proposte__intro { margin-top: .5mm; break-after: avoid; }
  .proposte { grid-template-columns: minmax(0, 1fr); margin-top: 1mm; }
  .proposta { padding: 1mm 0; break-inside: avoid; }
  .proposta h3 { font-size: 9.5pt; }
  .proposta p { font-size: 8.5pt; line-height: 1.28; margin-top: .3mm; }
  .condizioni { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 6mm; }
  .condizioni > div { padding: 1mm 0; break-inside: avoid; }
  .condizioni dt { font-size: 9.5pt; }
  .condizioni dd { font-size: 8.5pt; line-height: 1.28; margin-top: .3mm; }
  .numeri { grid-template-columns: repeat(4, minmax(0, 1fr)); break-inside: avoid; }
  .numeri > div { padding: 1.5mm 2mm 1.5mm 0; }
  .numeri > div:has(.segnaposto) { display: none; }
  .numeri dt { font-size: 15pt; }
  .numeri dd { font-size: 8.5pt; line-height: 1.25; }
  .numeri__data { font-size: 8pt; }
  a { color: inherit; text-decoration: none; }
}

.testo p, .testo li { overflow-wrap: break-word; }
.testo .link-solo a { display: inline-flex; align-items: center; min-height: 44px; }

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 0s; --dur-lungo: 0s; }
  html { scroll-behavior: auto; }
}
