/*
Theme Name: Deliver or Die
Theme URI: https://dod.annazuanetti.com/
Author: Anna Zuanetti
Author URI: https://annazuanetti.com/
Description: Tema a blocchi leggero per il sito di approfondimento del romanzo Deliver or Die. Gemello del tema di annazuanetti.com: stessa palette e stessi font, con il blu notte come colore dominante.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deliverordie
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(a, button, summary, input):focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }
.dod-main { padding-top: 0; padding-bottom: 0; }
.dod-main > .wp-block-post-content > *:first-child { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.dod-main .wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
::selection { background: var(--wp--preset--color--rose-soft); color: var(--wp--preset--color--ink); }

/* Testo su fondo notte */
.has-night-background-color a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--gold); }
.has-night-background-color a:where(:not(.wp-element-button)):hover { color: var(--wp--preset--color--paper); }

/* ---------- Intestazione ---------- */
.dod-header { padding-top: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--wp--preset--color--night-2); }
.dod-header__inner { gap: 16px 32px; }
.dod-logo, .dod-logo a { color: var(--wp--preset--color--paper) !important; text-decoration: none; letter-spacing: 0.01em; }
.dod-logo a { display: inline-flex; align-items: center; gap: 12px; }
.dod-rombo::before {
	content: ""; width: 14px; height: 14px; flex: none;
	border: 1.6px solid var(--wp--preset--color--gold); transform: rotate(45deg); box-sizing: border-box;
}
.dod-nav { gap: 6px 26px; }
.dod-nav a { color: var(--wp--preset--color--mist) !important; text-decoration: none; }
.dod-nav a:hover, .dod-nav .current-menu-item a, .dod-nav a[aria-current="page"] { color: var(--wp--preset--color--paper) !important; }
.dod-nav .dod-nav__esterno a { color: var(--wp--preset--color--gold) !important; }
@media (min-width: 600px) { .dod-nav .dod-nav__esterno { margin-left: 18px; } }
.wp-block-navigation__responsive-container.is-menu-open { padding: 32px 24px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-family: var(--wp--preset--font-family--serif); font-size: 30px; color: var(--wp--preset--color--paper) !important; }
.dod-header .wp-block-navigation__responsive-container-open svg { fill: var(--wp--preset--color--paper); }

/* ---------- Piè di pagina ---------- */
.dod-footer { padding-top: 64px; padding-bottom: 64px; font-size: var(--wp--preset--font-size--s); }
.dod-footer p { margin: 0; }
.dod-footer a { color: var(--wp--preset--color--mist) !important; text-decoration: none; }
.dod-footer a:hover { color: var(--wp--preset--color--paper) !important; }
.dod-footer__intro { max-width: 420px; gap: 10px; }
.dod-footer__titolo { font-family: var(--wp--preset--font-family--serif); font-size: 24px; color: var(--wp--preset--color--paper); }
.dod-footer__colonne { gap: 48px; }
.dod-footer__colonne > .wp-block-group { gap: 10px; }
.dod-footer__etichetta { color: var(--wp--preset--color--paper); font-weight: 600; }

/* ---------- Sezioni ---------- */
.dod-sezione { padding-top: var(--wp--preset--spacing--xxl); padding-bottom: var(--wp--preset--spacing--xxl); }
.dod-sezione--stretta { padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl); }
.dod-hero { padding-top: clamp(64px, 10vw, 128px); padding-bottom: clamp(72px, 11vw, 140px); }
.dod-hero--compatto { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); }
.dod-titolo-pagina { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(48px, 7vw, 80px); }
.dod-titolo-pagina .wp-block-post-title { font-size: var(--wp--preset--font-size--giant); }
.dod-testo { padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xxl); }

.dod-occhiello {
	font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--rose); margin-bottom: 0;
}
.has-night-background-color .dod-occhiello { color: var(--wp--preset--color--gold); }
.dod-sottotitolo { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--l); line-height: 1.45; max-width: 36ch; }
.has-night-background-color .dod-sottotitolo, .has-night-background-color .dod-tenue { color: var(--wp--preset--color--mist); }
.dod-tenue { color: var(--wp--preset--color--ink-soft); }
.dod-hero h1 em, .dod-hero h1 i { color: var(--wp--preset--color--rose-soft); font-style: italic; }
.dod-hero h1 { letter-spacing: -0.02em; }
.dod-titolo-display { font-size: var(--wp--preset--font-size--display) !important; line-height: 0.95 !important; }
.dod-briciole { font-size: var(--wp--preset--font-size--s); }
.dod-briciole a { color: var(--wp--preset--color--mist) !important; }

/* Testate di sezione: titolo a sinistra, testo a destra */
.dod-testata { gap: 24px 48px; }
.dod-testata > * { margin: 0; }

/* ---------- Pulsanti ---------- */
.wp-block-button.is-style-oro .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--night); }
.wp-block-button.is-style-oro .wp-block-button__link:hover { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--night); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 1px solid currentColor; color: inherit; padding: calc(0.85em - 1px) calc(1.5em - 1px); }
.has-night-background-color .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--paper); border-color: #5B7178; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--rose); border-color: var(--wp--preset--color--rose); color: var(--wp--preset--color--white); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }

/* ---------- Copertina e illustrazioni ---------- */
.dod-copertina img { box-shadow: 22px 22px 0 #0B2129; max-width: 320px; width: 100%; height: auto; }
.dod-copertina { display: flex; justify-content: center; }
.dod-tavola { background: var(--wp--preset--color--paper); padding: 14px; box-shadow: 18px 18px 0 #0B2129; }
.dod-tavola img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.dod-illustrazione img { mix-blend-mode: multiply; display: block; }

/* ---------- Schede ---------- */
.dod-card {
	position: relative; padding: 28px; border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--paper); display: flex; flex-direction: column; gap: 12px;
	transition: border-color .2s ease, transform .2s ease;
}
.dod-card > * { margin: 0 !important; }
.dod-card:hover { border-color: var(--wp--preset--color--ink); }
.dod-card h3 { font-size: var(--wp--preset--font-size--xl); line-height: 1.12; }
.dod-card h3 a { color: inherit; text-decoration: none; }
.dod-card h3 a::after { content: ""; position: absolute; inset: 0; }
.dod-card .dod-card__numero { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--rose); }
.dod-card .dod-card__testo { font-size: var(--wp--preset--font-size--s); line-height: 1.5; color: var(--wp--preset--color--ink-soft); margin-top: auto !important; }
.dod-card--bianca { background: var(--wp--preset--color--white); }
.dod-card--caso { padding: 0; overflow: hidden; }
.dod-card--caso .wp-block-image { margin: 0; background: var(--wp--preset--color--white); }
.dod-card--caso .wp-block-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 35%; mix-blend-mode: multiply; display: block; }
.dod-card--caso .dod-card__corpo { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.dod-card--caso .dod-card__corpo > * { margin: 0; }
.dod-card--notte { background: transparent; border-color: var(--wp--preset--color--night-line); }
.dod-card--notte:hover { border-color: var(--wp--preset--color--gold); }
.dod-card--notte .dod-card__testo { color: var(--wp--preset--color--mist); }
.dod-card--notte .dod-card__numero { color: var(--wp--preset--color--gold); }

/* ---------- Liste ---------- */
.dod-numerata { list-style: none; padding: 0; margin: 0; counter-reset: dod; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); column-gap: 48px; }
.dod-numerata li { counter-increment: dod; position: relative; padding: 18px 0 18px 48px; border-top: 1px solid var(--wp--preset--color--line); line-height: 1.5; break-inside: avoid; }
.dod-numerata li::before { content: counter(dod, decimal-leading-zero); position: absolute; left: 0; top: 14px; font-family: var(--wp--preset--font-family--serif); font-size: 22px; line-height: 1.3; color: var(--wp--preset--color--rose); }
.dod-numerata strong { font-weight: 600; }
.dod-rombi { list-style: none; padding: 0; }
.dod-rombi li { position: relative; padding: 14px 0 14px 30px; border-top: 1px solid var(--wp--preset--color--line); }
.dod-rombi li:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.dod-rombi li::before { content: ""; position: absolute; left: 2px; top: 1.45em; width: 9px; height: 9px; background: var(--wp--preset--color--rose); transform: rotate(45deg); }
.has-night-background-color .dod-rombi li { border-color: var(--wp--preset--color--night-line); }
.has-night-background-color .dod-rombi li::before { background: var(--wp--preset--color--gold); }

/* Etichette-link (principi collegati) */
.dod-etichette { display: flex; flex-wrap: wrap; gap: 10px; }
.dod-etichette a { display: inline-block; padding: 9px 16px; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; color: var(--wp--preset--color--ink); text-decoration: none; font-size: var(--wp--preset--font-size--s); line-height: 1.3; }
.dod-etichette a:hover { border-color: var(--wp--preset--color--ink); }

/* ---------- Citazioni ---------- */
.dod-banda-citazione { padding-top: var(--wp--preset--spacing--xxl); padding-bottom: var(--wp--preset--spacing--xxl); text-align: center; }
.dod-banda-citazione .wp-block-quote { margin: 0 auto; max-width: 900px; padding: 0; font-size: var(--wp--preset--font-size--xxl); display: flex; flex-direction: column; align-items: center; }
.dod-banda-citazione .wp-block-quote p { margin: 0; }
.dod-banda-citazione .wp-block-quote cite { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--mist); display: block; margin-top: 20px; }
.dod-banda-citazione .wp-block-quote::before { content: ""; display: block; width: 18px; height: 18px; margin: 0 auto 28px; border: 1.4px solid var(--wp--preset--color--gold); transform: rotate(45deg); }
.wp-block-quote.dod-citazione { background: var(--wp--preset--color--night); color: var(--wp--preset--color--paper); padding: clamp(28px, 4vw, 44px); font-size: var(--wp--preset--font-size--xl); }
.wp-block-quote.dod-citazione cite { font-family: var(--wp--preset--font-family--sans); font-style: normal; font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--mist); display: block; margin-top: 14px; }
.wp-block-quote:not(.dod-citazione) { padding-left: 24px; border-left: 2px solid var(--wp--preset--color--rose) !important; }
.dod-banda-citazione .wp-block-quote { border-left: 0 !important; }

/* ---------- Pagina del caso ---------- */
.dod-meta { gap: 14px 48px; }
.dod-meta p { margin: 0; font-size: var(--wp--preset--font-size--s); line-height: 1.45; }
.dod-meta strong { display: block; font-weight: 400; color: var(--wp--preset--color--mist); }
.wp-block-details.dod-spoiler summary { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--xl); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.wp-block-details.dod-spoiler summary::-webkit-details-marker { display: none; }
.wp-block-details.dod-spoiler summary::after { content: "Contiene spoiler · apri"; font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); white-space: nowrap; }
.wp-block-details.dod-spoiler[open] summary::after { content: "chiudi"; }
.wp-block-details.dod-spoiler > :not(summary) { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--l); line-height: 1.6; }
.dod-riquadro { background: var(--wp--preset--color--paper-2); padding: clamp(24px, 4vw, 40px); }
.dod-riquadro > *:first-child { margin-top: 0; }
.dod-riquadro ol { padding-left: 1.4em; }
.dod-riquadro li + li { margin-top: 10px; }
.dod-precedente-successivo { border-top: 1px solid var(--wp--preset--color--line); padding-top: 28px; gap: 24px; }
.dod-precedente-successivo p { margin: 0; font-size: var(--wp--preset--font-size--s); }
.dod-precedente-successivo a { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--l); color: var(--wp--preset--color--ink); text-decoration: none; }
.dod-precedente-successivo a:hover { color: var(--wp--preset--color--rose); }
.dod-nota { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--ink-soft); }

/* ---------- Benvenuto (QR) ---------- */
.dod-scelte { gap: 12px; }
.dod-scelta { position: relative; padding: 18px 22px; background: var(--wp--preset--color--night-2); border: 1px solid var(--wp--preset--color--night-line); display: flex; flex-direction: column; gap: 4px; }
.dod-scelta > * { margin: 0; }
.dod-scelta:hover { border-color: var(--wp--preset--color--gold); }
.dod-scelta h2 { font-size: var(--wp--preset--font-size--xl); }
.dod-scelta h2 a { color: var(--wp--preset--color--paper) !important; text-decoration: none; }
.dod-scelta h2 a::after { content: ""; position: absolute; inset: 0; }
.dod-scelta h2 a::before { content: "→"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: var(--wp--preset--color--gold); font-family: var(--wp--preset--font-family--sans); }
.dod-scelta p { color: var(--wp--preset--color--mist); font-size: var(--wp--preset--font-size--s); padding-right: 32px; }
.dod-domanda { border-top: 1px solid var(--wp--preset--color--night-line); border-bottom: 1px solid var(--wp--preset--color--night-line); padding-top: 28px; padding-bottom: 28px; }

/* ---------- Glossario e principi ---------- */
.dod-voce { border-top: 1px solid var(--wp--preset--color--line); padding-top: 22px; }
.dod-voce h2, .dod-voce h3 { margin-top: 0; }
.dod-principio { border-top: 1px solid var(--wp--preset--color--line); padding-top: 40px; margin-top: 56px !important; scroll-margin-top: 24px; }
.dod-principio h2 { font-size: var(--wp--preset--font-size--xxl); }
.dod-principio .dod-occhiello + h2 { margin-top: 8px; }
.dod-indice { columns: 2 260px; column-gap: 40px; padding-left: 1.2em; }
.dod-indice li { break-inside: avoid; padding: 4px 0; }

/* Tabelle */
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--s); }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; }
.wp-block-table thead { border-bottom: 1px solid var(--wp--preset--color--ink); }
.wp-block-table th { font-weight: 600; }

/* Versi */
.wp-block-verse.dod-versi { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--l); line-height: 1.6; background: var(--wp--preset--color--paper-2); padding: clamp(24px, 4vw, 40px); white-space: pre-wrap; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .dod-card { transition: none; } }

/* Griglia degli strumenti in home: tre per riga */
.dod-sezione--attrezzi .dod-griglia { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)) !important; }
.has-night-background-color .dod-griglia { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)) !important; }
.dod-testo h2.wp-block-heading { font-size: var(--wp--preset--font-size--xxl); margin-top: 2.2em; }
.dod-testo .dod-riquadro h2.wp-block-heading, .dod-testo .dod-principio h2.wp-block-heading { margin-top: 0; }
.dod-precedente-successivo > .wp-block-group:last-child { text-align: right; }

/* ---------- Intestazione e piè di pagina bilingui ---------- */
.dod-header { position: relative; }
.dod-testata-sito { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.dod-logo { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 22px; font-weight: 500; }
.dod-nav--ampio { display: flex; align-items: center; gap: 12px 32px; flex-wrap: wrap; }
.dod-nav__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 26px; font-size: var(--wp--preset--font-size--s); }
.dod-nav__lista a { color: var(--wp--preset--color--mist) !important; text-decoration: none; }
.dod-nav__lista a:hover, .dod-nav__lista a[aria-current="page"] { color: var(--wp--preset--color--paper) !important; }
.dod-nav__lista .dod-nav__esterno a { color: var(--wp--preset--color--gold) !important; }
.dod-lingue { margin: 0; font-size: 13px; letter-spacing: 0.08em; color: var(--wp--preset--color--mist); }
.dod-lingue a { color: var(--wp--preset--color--mist) !important; text-decoration: none; padding: 4px 2px; }
.dod-lingue a:hover { color: var(--wp--preset--color--paper) !important; }
.dod-lingue__attiva { color: var(--wp--preset--color--gold); }
.dod-nav--ampio .dod-lingue { padding-left: 24px; border-left: 1px solid var(--wp--preset--color--night-line); }
.dod-nav--compatto { display: none; }
.dod-nav--compatto summary { list-style: none; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; gap: 10px; color: var(--wp--preset--color--paper); font-size: var(--wp--preset--font-size--s); }
.dod-nav--compatto summary::-webkit-details-marker { display: none; }
.dod-nav--compatto summary::before { content: ""; width: 18px; height: 12px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; background: linear-gradient(currentColor, currentColor) center / 100% 1.5px no-repeat; }
.dod-nav--compatto nav { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; background: var(--wp--preset--color--night); border-top: 1px solid var(--wp--preset--color--night-line); border-bottom: 1px solid var(--wp--preset--color--night-line); padding: 20px clamp(20px, 4vw, 32px) 28px; display: flex; flex-direction: column; gap: 20px; }
.dod-nav--compatto .dod-nav__lista { flex-direction: column; gap: 4px; }
.dod-nav--compatto .dod-nav__lista a { font-family: var(--wp--preset--font-family--serif); font-size: 26px; display: block; padding: 6px 0; }
@media (max-width: 900px) {
	.dod-nav--ampio { display: none; }
	.dod-nav--compatto { display: block; }
}
.dod-footer__griglia { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; }
.dod-footer__intro { display: flex; flex-direction: column; gap: 12px; }
.dod-footer__colonne { display: flex; flex-wrap: wrap; gap: 48px; }
.dod-footer__colonna p { margin: 0 0 10px; }
.dod-footer .dod-lingue a { color: var(--wp--preset--color--mist) !important; }
.dod-nota-traduzione { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--mist); }
:lang(en) .wp-block-details.dod-spoiler summary::after { content: "Spoilers · open"; }
:lang(en) .wp-block-details.dod-spoiler[open] summary::after { content: "close"; }

.dod-logo__icona { flex: none; display: block; }

/* ---------- Riservato ai lettori ---------- */
.dod-cancello { background: var(--wp--preset--color--night); color: var(--wp--preset--color--paper); padding: clamp(28px, 5vw, 48px); margin-block: 40px; position: relative; }
.dod-cancello::before { content: ""; position: absolute; top: -9px; left: clamp(28px, 5vw, 48px); width: 16px; height: 16px; background: var(--wp--preset--color--night); border: 1.5px solid var(--wp--preset--color--gold); transform: rotate(45deg); }
.dod-cancello > * { margin: 0 0 14px; }
.dod-cancello h2.wp-block-heading { font-size: var(--wp--preset--font-size--xxl); margin: 6px 0 14px; color: var(--wp--preset--color--paper); }
.dod-cancello__testo { color: var(--wp--preset--color--mist); max-width: 52ch; }
.dod-cancello__errore { color: var(--wp--preset--color--rose-soft); font-weight: 600; }
.dod-cancello__form { margin-top: 22px; }
.dod-cancello__domanda { display: block; font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--l); line-height: 1.4; margin-bottom: 12px; }
.dod-cancello__riga { display: flex; flex-wrap: wrap; gap: 10px; }
.dod-cancello__riga input { flex: 1 1 220px; min-height: 48px; padding: 0 14px; background: #0B2129; border: 1px solid #5B7178; color: var(--wp--preset--color--paper); font: inherit; border-radius: 2px; }
.dod-cancello__riga input:focus { border-color: var(--wp--preset--color--gold); outline: none; box-shadow: 0 0 0 2px rgba(201, 164, 106, .35); }
.dod-cancello__riga button { min-height: 48px; padding: 0 26px; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--night); border: 0; font: inherit; font-weight: 600; border-radius: 2px; cursor: pointer; }
.dod-cancello__riga button:hover { background: var(--wp--preset--color--paper); }
.dod-cancello__nota { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--mist); margin-top: 20px !important; margin-bottom: 0 !important; }
.dod-cancello__nota a { color: var(--wp--preset--color--gold) !important; }
.dod-cancello__trappola { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dod-ancora { display: block; scroll-margin-top: 24px; }
/* Nell'editor: i gruppi riservati hanno un bordo tratteggiato e un'etichetta */
.editor-styles-wrapper .is-style-riservato { outline: 1.5px dashed var(--wp--preset--color--rose); outline-offset: 10px; position: relative; }
.editor-styles-wrapper .is-style-riservato::before { content: "Riservato ai lettori"; position: absolute; top: -32px; left: 0; font: 600 11px/1 var(--wp--preset--font-family--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--rose); }

/* Intestazione fissa: resta sempre in alto; scorrendo prende
   una leggera ombra (script in functions.php). */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100;
	transition: box-shadow .28s ease;
}
.wp-site-blocks > header.wp-block-template-part.is-staccata { box-shadow: 0 6px 18px rgba(15, 42, 51, .18); }
@media (prefers-reduced-motion: reduce) { .wp-site-blocks > header.wp-block-template-part { transition: none; } }
.dod-nav--compatto nav { max-height: calc(100vh - 80px); overflow-y: auto; }
html { scroll-padding-top: 90px; }
@media screen and (max-width: 600px) { .wp-site-blocks > header.wp-block-template-part { top: 0; } }

/* Fascia del libro sopra il piè di pagina (solo per chi non è ancora entrato). */
.dod-libro { background: var(--wp--preset--color--paper-2); border-top: 1px solid var(--wp--preset--color--line); padding: clamp(48px, 7vw, 80px) clamp(20px, 4vw, 32px); }
.dod-libro__dentro { max-width: 960px; margin: 0 auto; display: flex; gap: clamp(28px, 5vw, 64px); align-items: center; }
.dod-libro__copertina { flex: 0 0 auto; width: clamp(120px, 18vw, 180px); height: auto; box-shadow: 0 18px 40px rgba(15, 42, 51, .28); transform: rotate(-2deg); }
.dod-libro__testo { max-width: 600px; }
.dod-libro__testo > * { margin: 0; }
.dod-libro__testo > * + * { margin-top: 14px; }
.dod-libro__occhiello { font-size: var(--wp--preset--font-size--xs); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--rose); }
.dod-libro__titolo { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.15; color: var(--wp--preset--color--ink); }
.dod-libro__formati { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--ink-soft); }
.dod-libro .dod-libro__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 26px; }
.dod-libro__compra { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; background: var(--wp--preset--color--night); color: var(--wp--preset--color--paper) !important; text-decoration: none; font-weight: 600; border-radius: 2px; }
.dod-libro__compra:hover { background: var(--wp--preset--color--rose); }
.dod-libro__anteprima { color: var(--wp--preset--color--ink) !important; text-underline-offset: 4px; }
@media (max-width: 640px) {
	.dod-libro__dentro { flex-direction: column; align-items: flex-start; }
	.dod-libro__copertina { width: 120px; }
}

/* ---------- Riquadro verso annazuanetti.com (inc/anna.php) ---------- */
.dod-anna { display: flex; gap: 24px; align-items: flex-start; margin-top: clamp(48px, 7vw, 80px) !important; margin-bottom: clamp(48px, 7vw, 80px) !important; padding: 28px 0 0; border-top: 1px solid var(--wp--preset--color--line); }
.dod-anna__testo > * { margin: 0; }
.dod-anna__testo > * + * { margin-top: 10px; }
.dod-anna__occhiello { font-size: var(--wp--preset--font-size--xs); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--rose); }
.dod-anna__titolo { font-family: var(--wp--preset--font-family--serif); font-size: clamp(24px, 3vw, 30px); line-height: 1.2; color: var(--wp--preset--color--ink); }
.dod-anna__descrizione { color: var(--wp--preset--color--ink-soft); max-width: 58ch; }
.dod-anna__link a { font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.dod-anna__link a:hover { color: var(--wp--preset--color--rose); }
.dod-anna__foto { flex: 0 0 auto; width: 88px; height: 88px; object-fit: cover; border-radius: 0 46% 0 46% / 0 36% 0 36%; }
@media (max-width: 600px) { .dod-anna--foto { flex-direction: column; } }

/* ---------- Le guide (inc/guide.php) ---------- */
.dod-griglia-guide { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; margin-top: 28px; }
.dod-card--guida { background: var(--wp--preset--color--white); }
.dod-card--guida h3 { font-size: var(--wp--preset--font-size--xl); }
.dod-card--guida .dod-card__numero { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--xs); letter-spacing: .12em; text-transform: uppercase; }
.dod-percorso { border-top: 1px solid var(--wp--preset--color--line); padding-top: 40px; margin-top: 56px !important; scroll-margin-top: 24px; }
.dod-percorso:first-child { border-top: 0; margin-top: 0 !important; padding-top: 0; }
.dod-percorso h2.wp-block-heading { margin-top: 8px; }
.dod-percorso > p:not(.dod-occhiello) { max-width: 62ch; color: var(--wp--preset--color--ink-soft); }
.dod-guide-altre { max-width: var(--wp--style--global--wide-size, 1200px); margin: clamp(48px, 7vw, 80px) auto 0 !important; padding: 0 clamp(20px, 4vw, 32px); }
.dod-guide-altre__testata { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 24px; border-top: 1px solid var(--wp--preset--color--line); padding-top: 28px; }
.dod-guide-altre__testata > * { margin: 0; }
.dod-guide-altre__testata h2.wp-block-heading { font-size: var(--wp--preset--font-size--xxl); }
.dod-guide-altre__testata a { color: var(--wp--preset--color--ink); text-underline-offset: 4px; }
.dod-guide-caso { margin-top: clamp(40px, 6vw, 64px) !important; }
.dod-guide-caso__testo { color: var(--wp--preset--color--ink-soft); margin: 6px 0 0; }
.dod-guide-caso .dod-griglia-guide { margin-bottom: 0; }
/* Testo delle guide: righe un po' più ariose, elenchi numerati grandi */
.dod-testo.dod-guida p, .dod-testo.dod-guida li { line-height: 1.65; }
.dod-testo.dod-guida h3.wp-block-heading { font-size: var(--wp--preset--font-size--xl); margin-top: 1.8em; }
.dod-dieci { list-style: none; padding: 0; counter-reset: dieci; }
.dod-dieci > li { counter-increment: dieci; position: relative; padding: 26px 0 26px 64px; border-top: 1px solid var(--wp--preset--color--line); }
.dod-dieci > li::before { content: counter(dieci); position: absolute; left: 0; top: 18px; font-family: var(--wp--preset--font-family--serif); font-size: 40px; line-height: 1; color: var(--wp--preset--color--rose); }
.dod-dieci > li > strong:first-child { display: block; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: var(--wp--preset--font-size--xl); line-height: 1.25; margin-bottom: 8px; }
.dod-nel-libro { margin-top: clamp(40px, 6vw, 64px) !important; }
.dod-nel-libro .dod-etichette { margin-top: 18px; }
.dod-indice-guide > p:first-child { max-width: 62ch; font-size: var(--wp--preset--font-size--l); line-height: 1.55; margin-bottom: 56px; }
.dod-percorso h2.wp-block-heading { font-size: var(--wp--preset--font-size--xxl); line-height: 1.15; max-width: 24ch; }
.dod-percorso > p:not(.dod-occhiello) { font-size: var(--wp--preset--font-size--m); line-height: 1.65; }
/* Tabelle delle guide: su schermi stretti quelle larghe scorrono in orizzontale, senza spezzare le parole. */
.dod-testo.dod-guida .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dod-testo.dod-guida .wp-block-table table { table-layout: auto; }
.dod-testo.dod-guida .wp-block-table td, .dod-testo.dod-guida .wp-block-table th { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 700px) {
	.dod-testo.dod-guida .wp-block-table:has(th:nth-child(4)) table { min-width: 560px; }
	.dod-testo.dod-guida .wp-block-table:has(th:nth-child(5)) table { min-width: 760px; }
	.dod-testo.dod-guida .wp-block-table td:first-child, .dod-testo.dod-guida .wp-block-table th:first-child { min-width: 7em; }
}

/* ---------- Bestiario: illustrazioni (inc/bestiario.php) ---------- */
.dod-card--bestia { overflow: hidden; }
.dod-card--bestia .dod-bestia__img { margin: -28px -28px 6px !important; background: var(--wp--preset--color--white); }
.dod-bestia__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; mix-blend-mode: multiply; }
.dod-bestia__lapidi { margin: 32px 0 0; max-width: 320px; background: var(--wp--preset--color--paper); padding: 12px; box-shadow: 14px 14px 0 #0B2129; }
.dod-bestia__lapidi img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
@media (max-width: 781px) { .dod-bestia__lapidi { max-width: 260px; margin-bottom: 8px; } }
