/*
 * Deliceto Experience: disegno «biblioteca».
 * Colori e logo sono quelli del sito di oggi (regola di Stefano del 10/10/2026); cambia l'impianto:
 * testatina e segnalibro, frontespizio con cornice a doppio filetto, indice con i puntini di guida,
 * scaffale di frontespizi, capitoli con capolettera, tavole fuori testo, colophon.
 * NON usare qui: polaroid e cartoline (Valle del Celone), biglietti e archi (Promo Deliceto),
 * totem e linee della metro (TechTour), timeline delle tappe (Cammino Celone).
 */

:root {
	--de-carta: var(--wp--preset--color--base, #FAF6EF);
	--de-carta-chiara: var(--wp--preset--color--surface, #FDFAF5);
	--de-pergamena: var(--wp--preset--color--parchment, #F2EAD8);
	--de-inchiostro: var(--wp--preset--color--contrast, #1A140E);
	--de-nero: var(--wp--preset--color--ink, #120D0B);
	--de-oro: var(--wp--preset--color--primary, #C39D6A);
	--de-oro-opaco: var(--wp--preset--color--gold-soft, #B9A17A);
	--de-oro-testo: var(--wp--preset--color--gold-text, #7A5C2E);
	--de-rame: var(--wp--preset--color--accent, #8C4B33);
	--de-filetto: var(--wp--preset--color--line, #E4D8C4);
	--de-grigio: var(--wp--preset--color--muted, #4A4A4A);
	--de-serif: var(--wp--preset--font-family--display, Georgia, serif);
	--de-sans: var(--wp--preset--font-family--body, system-ui, sans-serif);
}

body.de-tema { background: var(--de-carta); }
.de-tema ::selection { background: var(--de-oro); color: var(--de-nero); }
.de-tema :focus-visible { outline: 2px solid var(--de-rame); outline-offset: 3px; }

/* ---------- elementi comuni ---------- */

.de-occhiello {
	font-family: var(--de-sans); font-size: .72rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
	color: var(--de-oro-testo); margin: 0 0 .9rem;
}
.de-fregio { color: var(--de-oro); font-size: 1.5rem; line-height: 1; text-align: center; margin: 1rem 0; }
.de-titolo-sezione { font-weight: 500; margin: 0 0 1.4rem; }
.de-sezione { padding-block: var(--wp--preset--spacing--60); }
.de-sezione__intro { color: var(--de-grigio); max-width: 62ch; margin-inline: auto; text-align: center; }
.de-sezione__link { margin-top: 2rem; text-align: center; }
.de-sezione__link a {
	font-family: var(--de-sans); font-size: .8rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
	color: var(--de-rame); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .2rem;
}
.de-sezione__link a::after { content: " →"; }

/* bottoni: rettangoli tipografici, niente pillole */
.de-tema .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--de-inchiostro); border: 1px solid var(--de-inchiostro);
}
.de-tema .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--de-inchiostro); color: var(--de-carta-chiara); }

/* ---------- testata: testatina, marchio, menu, segnalibro ---------- */

.de-sopra { position: relative; z-index: 20; }
.de-testata { background: var(--de-nero); color: var(--de-carta); padding-block: 0 1.1rem; border-bottom: 4px double var(--de-oro); }
.de-testatina {
	display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 .9rem; padding: .55rem 0;
	border-bottom: 1px solid rgba(195, 157, 106, .28); color: var(--de-oro-opaco);
	font-family: var(--de-sans); font-size: .66rem; font-weight: 500; letter-spacing: .26em; text-transform: uppercase;
}
.de-testata__riga { position: relative; display: grid; justify-items: center; gap: .7rem; }
.de-marchio { display: inline-block; line-height: 0; }
.de-marchio img { width: 230px; height: auto; }
.de-nav { color: var(--de-carta); }
.de-nav a, .de-nav .wp-block-navigation-item__content { color: var(--de-carta); text-decoration: none; }
.de-nav .wp-block-navigation-item__content:hover, .de-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--de-oro); }
.de-nav .wp-block-navigation__container { gap: .4rem 1.7rem; }
.de-nav .wp-block-navigation__submenu-container {
	background: var(--de-nero) !important; color: var(--de-carta) !important; border: 1px solid var(--de-oro) !important;
	padding: .4rem 0; min-width: 230px !important;
}
.de-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1rem; letter-spacing: .12em; }
.de-tema .de-nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--de-nero) !important; color: var(--de-carta) !important; }
.de-tema .de-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--de-carta) !important; }
.de-tema .de-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content { color: var(--de-oro) !important; }
.de-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding-left: 1rem; }
.de-nav .wp-block-navigation__responsive-container-open, .de-nav .wp-block-navigation__responsive-container-close { color: var(--de-oro); }

/* il segnalibro oro pende dal bordo alto, come il nastro di un volume */
.de-segnalibro {
	position: absolute; top: calc(-.9rem - 2.4rem); right: 0; width: 132px; padding: 2.9rem .8rem 1.9rem;
	background: var(--de-oro); color: var(--de-nero); text-align: center; text-decoration: none;
	font-family: var(--de-sans); font-size: .66rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; line-height: 1.35;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 16px), 0 100%);
	transition: padding-bottom .2s ease, background-color .2s ease;
}
.de-segnalibro:hover, .de-segnalibro:focus-visible { background: var(--de-carta); color: var(--de-nero); padding-bottom: 2.4rem; }

@media (max-width: 781px) {
	.de-testatina span + span { display: none; }
	.de-testatina { justify-content: center; text-align: center; }
	.de-testata__riga { display: flex; justify-content: space-between; align-items: center; }
	.de-marchio img { width: 170px; }
	.de-segnalibro { display: none; }
}

/* ---------- apertura: frontespizio e tavola ---------- */

.de-apertura { padding-block: var(--wp--preset--spacing--60); background: var(--de-carta); }
.de-apertura__griglia { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 960px) { .de-apertura__griglia { grid-template-columns: 1.05fr .95fr; } }

.de-cornice {
	position: relative; text-align: center; background: var(--de-carta-chiara);
	padding: clamp(2.4rem, 6vw, 4rem) clamp(1.4rem, 5vw, 3.4rem);
	border: 1px solid var(--de-oro); outline: 1px solid var(--de-oro); outline-offset: -10px;
}
.de-cornice::before, .de-cornice::after {
	content: "◆"; position: absolute; left: 50%; transform: translateX(-50%); color: var(--de-oro);
	background: var(--de-carta); padding: 0 .5rem; font-size: .8rem; line-height: 1;
}
.de-cornice::before { top: -.45rem; }
.de-cornice::after { bottom: -.45rem; }
.de-cornice__titolo { font-weight: 500; margin: 0; letter-spacing: -.01em; }
.de-cornice__titolo em { display: block; font-style: italic; color: var(--de-oro-testo); }
.de-cornice__testo { max-width: 46ch; margin: 0 auto 1.8rem; color: var(--de-grigio); font-size: 1.05rem; }
.de-cornice__azioni { gap: .8rem; }
.de-cornice__note {
	margin: 2.2rem auto 0; padding-top: 1rem; border-top: 1px solid var(--de-filetto); max-width: 30ch;
	font-family: var(--de-serif); font-style: italic; font-size: 1.05rem; color: var(--de-oro-testo); line-height: 1.5;
}

.de-tavola { margin: 0; }
.de-tavola img {
	display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover;
	background: var(--de-carta-chiara); padding: 10px; border: 1px solid var(--de-filetto);
	box-shadow: 0 18px 40px -24px rgba(18, 13, 11, .55);
}
.de-tavola--verticale img { aspect-ratio: 4 / 5; }
.de-tavola figcaption { margin-top: .8rem; font-family: var(--de-serif); font-style: italic; font-size: .95rem; color: var(--de-grigio); line-height: 1.4; }
.de-tavola__num {
	font-family: var(--de-sans); font-style: normal; font-size: .68rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	color: var(--de-oro-testo); margin-right: .4rem;
}

/* ---------- indice ---------- */

.de-sezione--indice { text-align: center; }
.de-sezione--indice .de-titolo-sezione { display: flex; align-items: center; gap: 1.2rem; justify-content: center; }
.de-sezione--indice .de-titolo-sezione::before, .de-sezione--indice .de-titolo-sezione::after {
	content: ""; flex: 0 1 120px; height: 0; border-top: 3px double var(--de-oro);
}
.de-indice { text-align: left; }
.de-indice__voci { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--de-filetto); }
.de-indice__voce a {
	display: flex; align-items: baseline; gap: .9rem; padding: 1rem .4rem; color: var(--de-inchiostro); text-decoration: none;
	border-bottom: 1px solid var(--de-filetto); transition: background-color .2s ease;
}
.de-indice__voce a:hover, .de-indice__voce a:focus-visible { background: var(--de-pergamena); }
.de-indice__num { flex: 0 0 2.6rem; font-family: var(--de-serif); font-size: 1.25rem; color: var(--de-oro-testo); text-align: right; }
.de-indice__testo { flex: 0 1 auto; max-width: 64%; display: flex; flex-direction: column; }
.de-indice__titolo { font-family: var(--de-serif); font-size: 1.5rem; font-weight: 600; line-height: 1.15; }
.de-indice__voce a:hover .de-indice__titolo { color: var(--de-rame); }
.de-indice__desc { font-size: .9rem; color: var(--de-grigio); margin-top: .15rem; }
.de-indice__puntini { flex: 1 1 1.5rem; min-width: 1.5rem; border-bottom: 2px dotted var(--de-oro-opaco); transform: translateY(-.35em); }
.de-indice__pag { flex: 0 0 auto; font-family: var(--de-serif); font-style: italic; font-size: 1.05rem; color: var(--de-oro-testo); white-space: nowrap; }
@media (max-width: 600px) {
	.de-indice__voce a { flex-wrap: wrap; gap: .2rem .7rem; }
	.de-indice__num { flex-basis: 2rem; }
	.de-indice__testo { max-width: calc(100% - 3rem); }
	.de-indice__puntini { display: none; }
	.de-indice__pag { flex-basis: 100%; padding-left: 2.7rem; font-size: .95rem; }
}

/* ---------- scaffale di frontespizi ---------- */

.de-sezione--scaffale { background: var(--de-pergamena); border-block: 4px double var(--de-oro); text-align: center; }
.de-scaffale {
	list-style: none; margin: 2.2rem 0 0; padding: 0 0 1.4rem; display: grid; gap: 1.6rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	border-bottom: 10px solid var(--de-oro-opaco); box-shadow: 0 6px 0 -2px rgba(18, 13, 11, .18);
}
.de-frontespizio, .de-tema .gde-frontespizio {
	display: flex; flex-direction: column; align-items: center; gap: .55rem; height: 100%; aspect-ratio: 3 / 4;
	padding: 1.7rem 1.2rem 1.3rem; text-align: center; text-decoration: none; color: var(--de-inchiostro);
	background: var(--de-carta-chiara); border: 1px solid var(--de-oro); outline: 1px solid var(--de-filetto); outline-offset: -8px;
	box-shadow: 6px 6px 0 -1px var(--de-filetto), 0 14px 26px -18px rgba(18, 13, 11, .6);
	transition: transform .2s ease, box-shadow .2s ease;
}
a.de-frontespizio:hover, a.de-frontespizio:focus-visible { transform: translateY(-4px); box-shadow: 6px 10px 0 -1px var(--de-filetto), 0 20px 30px -18px rgba(18, 13, 11, .6); }
.de-frontespizio__tipo, .de-tema .gde-frontespizio__tipo {
	font-family: var(--de-sans); font-size: .62rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--de-oro-testo);
}
.de-frontespizio__fregio { color: var(--de-oro); line-height: 1; }
.de-frontespizio__titolo, .de-tema .gde-frontespizio__titolo {
	font-family: var(--de-serif); font-size: 1.22rem; font-weight: 600; line-height: 1.2;
	display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.de-frontespizio__autore, .de-tema .gde-frontespizio__autore { font-family: var(--de-serif); font-style: italic; color: var(--de-grigio); }
.de-frontespizio__accesso {
	margin-top: auto; padding-top: .6rem; border-top: 1px solid var(--de-filetto); width: 70%;
	font-family: var(--de-sans); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--de-oro-testo);
}

/* ---------- capitolo ---------- */

.de-capitolo__griglia { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 960px) { .de-capitolo__griglia { grid-template-columns: 1.15fr .85fr; } }
.de-capitolo__testo { max-width: 62ch; }
.de-capitolo__num {
	display: flex; align-items: center; gap: .8rem; margin: 0 0 .6rem;
	font-family: var(--de-serif); font-style: italic; font-size: 1.15rem; color: var(--de-oro-testo);
}
.de-capitolo__num::after { content: ""; flex: 0 0 64px; border-top: 1px solid var(--de-oro); }
.de-capolettera { font-size: 1.1rem; }
.de-capolettera::first-letter {
	float: left; font-family: var(--de-serif); font-size: 4.8em; line-height: .78; font-weight: 600;
	color: var(--de-rame); padding: .06em .12em 0 0;
}
.de-elenco { list-style: none; padding: 0; margin: 1.4rem 0 0; }
.de-elenco li { position: relative; padding: .55rem 0 .55rem 2rem; border-bottom: 1px solid var(--de-filetto); }
.de-elenco li::before { content: "❧"; position: absolute; left: 0; top: .5rem; color: var(--de-oro); font-size: 1.1rem; }
.de-capitolo .de-sezione__link { text-align: left; }

/* ---------- fascia della comunità ---------- */

.de-fascia { background: var(--de-nero); color: var(--de-carta); text-align: center; padding-block: var(--wp--preset--spacing--60); }
.de-fascia .de-occhiello { color: var(--de-oro); }
.de-fascia__titolo { color: var(--de-carta); font-style: italic; font-weight: 400; margin: 0 0 1rem; }
.de-fascia__testo { color: #e9ddc8; max-width: 52ch; margin: 0 auto 1.8rem; }
.de-fascia__azioni { gap: .8rem; }
.de-btn-oro > .wp-block-button__link { background: var(--de-oro); color: var(--de-nero); }
.de-btn-oro > .wp-block-button__link:hover { background: var(--de-carta); color: var(--de-nero); }
.de-tema .de-fascia .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--de-carta); border-color: var(--de-oro); background: transparent; }
.de-tema .de-fascia .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--de-oro); color: var(--de-nero); }

/* ---------- PNRR e colophon ---------- */

.de-pnrr { background: var(--de-carta-chiara); border-top: 4px double var(--de-oro); padding-block: 2.6rem; text-align: center; }
.de-tema .de-pnrr img.de-pnrr__loghi { display: block; width: min(100%, 520px); max-width: 520px; height: auto; margin: 0 auto 1.2rem; }
.de-pnrr__testo { font-size: .82rem; color: var(--de-grigio); line-height: 1.55; margin: 0 auto .7rem; }
.de-pnrr__codici { font-family: var(--de-sans); font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--de-oro-testo); margin: 0; }

.de-colophon { background: var(--de-nero); color: #e2d6c2; text-align: center; padding-block: 3rem 2.4rem; }
.de-colophon__marchio { width: 64px; height: 64px; margin: 0 auto .6rem; display: block; }
.de-colophon__titolo { font-family: var(--de-serif); font-style: italic; font-size: 1.7rem; color: var(--de-oro); margin: 0 0 .7rem; }
.de-colophon__testo { font-size: .86rem; line-height: 1.6; margin: 0 auto 1.2rem; max-width: 58ch; }
.de-colophon__testo strong { color: var(--de-carta); font-weight: 500; }
.de-colophon__link { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; margin: 0 0 1.2rem; }
.de-colophon__link a {
	color: var(--de-carta); text-decoration: none; font-family: var(--de-sans); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
	padding: .5rem 0; min-height: 44px; display: inline-flex; align-items: center;
}
.de-colophon__link a:hover { color: var(--de-oro); }
.de-colophon__fregio { color: var(--de-oro); font-size: 1.4rem; margin: 0; }

/* ---------- pagine interne ---------- */

.de-testa { text-align: center; padding-block: var(--wp--preset--spacing--50) .4rem; }
.de-testa__titolo { font-size: clamp(2.3rem, 1.8rem + 2.4vw, 3.6rem); font-weight: 500; margin: 0; }
.de-testa .de-fregio { margin-bottom: 0; }
.de-contenuto { padding-bottom: var(--wp--preset--spacing--60); }

/* ---------- componenti del plugin gaw-deliceto-experience, vestiti da biblioteca ---------- */

.de-tema .gde { --de-raggio: 0; color: var(--de-inchiostro); font-family: var(--de-sans); }
.de-tema .gde h2, .de-tema .gde h3, .de-tema .gde-card__titolo { font-family: var(--de-serif); font-weight: 600; }
.de-tema .gde h2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem); font-weight: 500; }
.de-tema .gde-card__titolo { font-size: 1.35rem; line-height: 1.2; }
.de-tema .gde-occhiello { font-family: var(--de-sans); font-size: .66rem; letter-spacing: .22em; color: var(--de-oro-testo); }
.de-tema .gde-card {
	border-radius: 0; background: var(--de-carta-chiara); border: 1px solid var(--de-filetto);
	box-shadow: 0 1px 0 var(--de-filetto);
}
.de-tema .gde-card:hover { box-shadow: 0 16px 30px -20px rgba(18, 13, 11, .5); }
.de-tema .gde-card__img { border-bottom: 1px solid var(--de-filetto); }
.de-tema .gde-card__img--doc { background: var(--de-pergamena); padding: 14px; }
.de-tema .gde-card__img--doc .gde-frontespizio { aspect-ratio: auto; box-shadow: none; }
.de-tema .gde-tag, .de-tema .gde-icone span {
	border-radius: 0; background: transparent; border: 1px solid var(--de-oro-opaco); color: var(--de-oro-testo);
	font-family: var(--de-sans); letter-spacing: .08em; text-transform: uppercase; font-size: .62rem;
}
.de-tema .gde-btn {
	border-radius: 0; background: var(--de-inchiostro); border-color: var(--de-inchiostro); color: var(--de-carta-chiara);
	font-family: var(--de-sans); font-size: .78rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
}
.de-tema .gde-btn:hover, .de-tema .gde-btn:focus-visible { background: var(--de-oro); border-color: var(--de-oro); color: var(--de-nero); }
.de-tema .gde-btn--chiaro { background: transparent; color: var(--de-inchiostro); border-color: var(--de-oro); }
.de-tema .gde-filtri { border-radius: 0; background: var(--de-pergamena); border: 0; border-block: 3px double var(--de-oro); }
.de-tema .gde-filtro { font-family: var(--de-sans); letter-spacing: .06em; }
.de-tema .gde-filtro input, .de-tema .gde-filtro select, .de-tema .gde-modulo input:not([type=checkbox]), .de-tema .gde-modulo select, .de-tema .gde-modulo textarea {
	border-radius: 0; border-color: var(--de-oro-opaco); font-family: var(--de-sans);
}
.de-tema .gde-box { border-radius: 0; background: var(--de-carta-chiara); border: 1px solid var(--de-oro); outline: 1px solid var(--de-filetto); outline-offset: -7px; }
.de-tema .gde-mappa, .de-tema .gde-visita__mappa { border-radius: 0; border: 1px solid var(--de-oro); }
.de-tema .gde-vuoto, .de-tema .gde-avviso { border-radius: 0; }
.de-tema .gde-collaudo { border-radius: 0; }

@media (prefers-reduced-motion: reduce) {
	.de-tema *, .de-tema *::before, .de-tema *::after { transition: none !important; }
	a.de-frontespizio:hover { transform: none; }
}
