/*
Theme Name:  Trofen
Description: Tema child di GeneratePress per trofen.com. Colori, carattere e componenti del Design System Trofen, ricavati dalle copertine della serie Aurelia.
Author:      Gianluca Trofen
Template:    generatepress
Version:     1.0.23
Text Domain: trofen
License:     GNU General Public License v2 or later
*/

/* ------------------------------------------------------------
   Token: tema Notte (sito) e tema Carta (pagine legali)
   ------------------------------------------------------------ */
:root {
	--t-ground: #0C0C0E;
	--t-raised: #15141A;
	--t-hairline: #2A2730;
	--t-field-border: #5B5560;
	--t-ink: #ECE6DA;
	--t-ink-muted: #A79F92;
	--t-gold: #D9B064;
	--t-gold-deep: #B48C42;
	--t-on-gold: #0C0C0E;
	--t-fire: #F0A040;
	--t-storm: #5AA3CF;
	--t-sand: #E07448;
	--t-turquoise: #3FB0B8;
	--t-accent: var(--t-gold);   /* link: cambia per libro */
	--t-label: var(--t-ink-muted); /* etichette: cambia per libro */

	--t-serif: "EB Garamond", Garamond, "Times New Roman", serif;
	--t-radius-1: 2px;
	--t-radius-2: 6px;

	/* Variabili globali di GeneratePress, allineate ai token */
	--contrast: var(--t-ink);
	--contrast-2: var(--t-ink-muted);
	--contrast-3: var(--t-hairline);
	--base: var(--t-raised);
	--base-2: var(--t-ground);
	--base-3: var(--t-ground);
	--accent: var(--t-gold);
}

body.tema-carta {
	--t-ground: #EFE8DB;
	--t-raised: #E5DCCA;
	--t-hairline: #CFC4AF;
	--t-field-border: #8C8170;
	--t-ink: #1C1915;
	--t-ink-muted: #5B5247;
	--t-gold: #7A5B22;
	--t-gold-deep: #5E4417;
	--t-on-gold: #F7F2E8;
	--t-accent: #7A5B22;
}

/* Accenti per libro: classe aggiunta da functions.php */
body.libro-aurelia { --t-accent: var(--t-storm); --t-label: var(--t-fire); }
body.libro-sabbie  { --t-accent: var(--t-turquoise); --t-label: var(--t-sand); }

/* ------------------------------------------------------------
   Base
   ------------------------------------------------------------ */
body,
.site,
.site-content,
.inside-article,
.separate-containers .inside-article,
.one-container .site-content,
.separate-containers .comments-area,
.separate-containers .page-header,
.sidebar .widget {
	background-color: var(--t-ground);
	color: var(--t-ink);
}

body,
button,
input,
select,
textarea {
	font-family: var(--t-serif);
}

body {
	font-size: 19px;
	line-height: 1.58;
	-webkit-font-smoothing: antialiased;
}

p { margin-bottom: 1.2em; }

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
	max-width: 36em;
}

a { color: var(--t-accent); }
a:hover,
a:focus { color: var(--t-gold); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--t-gold);
	outline-offset: 3px;
}

::selection { background: var(--t-gold); color: var(--t-on-gold); }

hr,
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--t-hairline);
	background: none;
}

/* ------------------------------------------------------------
   Titoli
   ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title {
	font-family: var(--t-serif);
	color: var(--t-gold);
	font-weight: 500;
	text-wrap: balance;
}

h1, .entry-title, .page-title {
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1.07;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

h2 {
	font-size: clamp(28px, 3.4vw, 40px);
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

h3 {
	font-size: 28px;
	line-height: 1.2;
	color: var(--t-ink);
}

h4 {
	font-size: 21px;
	line-height: 1.33;
	font-weight: 600;
	color: var(--t-ink);
}

/* 1.0.23 – Accessibilità: titoli di livello giusto con l'aspetto di uno più piccolo.
   Nell'editor: blocco Titolo › Avanzate › Classi CSS aggiuntive. */
h2.trofen-come-h3,
h3.trofen-come-h3 {
	font-size: 28px;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	color: var(--t-ink);
}

h2.trofen-come-h4,
h3.trofen-come-h4 {
	font-size: 21px;
	line-height: 1.33;
	font-weight: 600;
	letter-spacing: normal;
	text-transform: none;
	color: var(--t-ink);
}

/* ------------------------------------------------------------
   Testata e menu
   ------------------------------------------------------------ */
.site-header,
.main-navigation,
.main-navigation ul ul,
.inside-navigation {
	background-color: var(--t-ground);
}

.site-header {
	border-bottom: 1px solid var(--t-hairline);
}

.main-title,
.main-title a,
.site-title a {
	color: var(--t-gold);
	font-family: var(--t-serif);
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.site-description { color: var(--t-ink-muted); }

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	color: var(--t-ink);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a {
	color: var(--t-gold);
	background: transparent;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--t-gold);
	background: transparent;
}

.main-navigation ul ul {
	border: 1px solid var(--t-hairline);
}

/* Selettore di lingua di Polylang nel menu */
.main-navigation .lang-item a {
	color: var(--t-ink-muted);
}

/* ------------------------------------------------------------
   Contenuto e piè di pagina
   ------------------------------------------------------------ */
.site-footer,
.site-info,
.footer-widgets {
	background-color: var(--t-ground);
	color: var(--t-ink-muted);
	border-top: 1px solid var(--t-hairline);
	font-size: 15px;
}

.site-info a,
.footer-widgets a { color: var(--t-ink-muted); }
.site-info a:hover,
.footer-widgets a:hover { color: var(--t-gold); }

/* Copertine: spigolo vivo, nessuna ombra */
.entry-content img,
.wp-block-image img,
.wp-block-cover {
	border-radius: 0;
	box-shadow: none;
}

figcaption,
.wp-element-caption {
	color: var(--t-ink-muted);
	font-size: 15px;
}

/* ------------------------------------------------------------
   Pulsanti
   ------------------------------------------------------------ */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	background-color: var(--t-gold);
	color: var(--t-on-gold);
	border: 0;
	border-radius: var(--t-radius-1);
	font-family: var(--t-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
}

button:hover,
input[type="submit"]:hover,
a.button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover {
	background-color: var(--t-gold-deep);
	color: var(--t-on-gold);
}

/* Pulsante secondario: stile «Contorno» del blocco Pulsanti */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--t-gold);
	border: 1px solid var(--t-gold);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: transparent;
	color: var(--t-ink);
	border-color: var(--t-ink);
}

/* ------------------------------------------------------------
   Moduli
   ------------------------------------------------------------ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
	min-height: 48px;
	padding: 0 14px;
	background: var(--t-ground);
	color: var(--t-ink);
	border: 1px solid var(--t-field-border);
	border-radius: var(--t-radius-1);
	font-size: 17px;
}
textarea { padding: 12px 14px; }

label { color: var(--t-ink-muted); }

/* ------------------------------------------------------------
   Componenti (stili dei blocchi registrati in functions.php)
   ------------------------------------------------------------ */

/* Riquadro: gruppo con fondo rialzato, come il box della quarta */
.is-style-trofen-riquadro {
	background: var(--t-raised);
	border: 1px solid var(--t-hairline);
	border-radius: var(--t-radius-2);
	padding: 40px;
}
@media (max-width: 600px) {
	.is-style-trofen-riquadro { padding: 24px; }
}

/* Fascia: gruppo a tutta larghezza con fondo rialzato */
.is-style-trofen-fascia {
	background: var(--t-raised);
	border-top: 1px solid var(--t-hairline);
	border-bottom: 1px solid var(--t-hairline);
	padding-top: 64px;
	padding-bottom: 64px;
}

/* Citazione in corsivo oro */
p.is-style-trofen-citazione,
.is-style-trofen-citazione {
	color: var(--t-gold);
	font-size: 21px;
	line-height: 1.48;
	font-style: italic;
}

/* Etichetta maiuscola sopra i titoli */
p.is-style-trofen-etichetta,
.is-style-trofen-etichetta {
	color: var(--t-label);
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 0.6em;
}

/* Nota in corsivo attenuato, es. «Il secondo volume della serie Aurelia.» */
p.is-style-trofen-nota,
.is-style-trofen-nota {
	color: var(--t-ink-muted);
	font-size: 15px;
	line-height: 1.47;
	font-style: italic;
}

/* Elenco dettagli (formati, pagine) */
.is-style-trofen-dettagli {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.is-style-trofen-dettagli li {
	padding: 8px 0;
	border-bottom: 1px solid var(--t-hairline);
	font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------
   Avviso lingua («This page is available in English»)
   ------------------------------------------------------------ */
.trofen-avviso-lingua {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	background: var(--t-raised);
	border-top: 1px solid var(--t-hairline);
	color: var(--t-ink);
	padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
}
.trofen-avviso-lingua[hidden] { display: none; }
.trofen-avviso-lingua .dentro {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	align-items: center;
	font-size: 17px;
}
.trofen-avviso-lingua a {
	color: var(--t-gold);
	font-weight: 600;
}
.trofen-avviso-lingua button {
	margin-left: auto;
	min-height: 44px;
	padding: 0 16px;
	background: transparent;
	color: var(--t-ink-muted);
	border: 1px solid var(--t-hairline);
	font-size: 13px;
}
.trofen-avviso-lingua button:hover {
	background: transparent;
	color: var(--t-ink);
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* ------------------------------------------------------------
   1.0.1 – titolo automatico e larghezza contenuto
   ------------------------------------------------------------ */
/* Home e pagine libro: il titolo è già nel contenuto */
.home .entry-header,
.page-template-template-aurelia .entry-header,
.page-template-template-sabbie .entry-header {
	display: none;
}
.home .inside-article,
.page-template-template-aurelia .inside-article,
.page-template-template-sabbie .inside-article {
	padding-top: 24px;
}
.entry-title a { color: inherit; }

/* Colonne: copertina e testo */
.wp-block-columns { gap: 64px; }
@media (max-width: 781px) {
	.wp-block-columns { gap: 32px; }
}

/* ------------------------------------------------------------
   1.0.2 – pulsanti: prevalgono sullo stile in linea di GeneratePress
   ------------------------------------------------------------ */
a.wp-block-button__link:not(.has-background),
a.wp-block-button__link:not(.has-background):visited {
	background-color: var(--t-gold);
	color: var(--t-on-gold);
}
a.wp-block-button__link:not(.has-background):hover,
a.wp-block-button__link:not(.has-background):focus {
	background-color: var(--t-gold-deep);
	color: var(--t-on-gold);
}
.wp-block-button.is-style-outline > a.wp-block-button__link:not(.has-background) {
	background-color: transparent;
	color: var(--t-gold);
	border: 1px solid var(--t-gold);
}
.wp-block-button.is-style-outline > a.wp-block-button__link:not(.has-background):hover,
.wp-block-button.is-style-outline > a.wp-block-button__link:not(.has-background):focus {
	background-color: transparent;
	color: var(--t-ink);
	border-color: var(--t-ink);
}
.site-info .trofen-legale a { margin-left: 4px; }

/* ------------------------------------------------------------
   1.0.5 – pagina del regalo
   ------------------------------------------------------------ */
.page-template-template-nascosta .entry-content { max-width: 40em; }
.page-template-template-nascosta .inside-article { padding-top: 48px; }

.page-template-template-nascosta .entry-header { display: none; }

/* ------------------------------------------------------------
   1.0.7 – modulo di iscrizione (Brevo, senza script esterni)
   ------------------------------------------------------------ */
.trofen-iscrizione { max-width: 34em; margin: 0; }
.trofen-iscrizione .riga { display: flex; gap: 8px; flex-wrap: wrap; }
.trofen-iscrizione input[type="email"] { flex: 1 1 14em; min-width: 0; width: 100%; }
.trofen-iscrizione button { flex: 0 0 auto; }
.trofen-iscrizione .trappola { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.trofen-iscrizione .esito { min-height: 1.5em; margin: 12px 0 0; font-size: 16px; }
.trofen-iscrizione .esito.ok { color: var(--t-gold); }
.trofen-iscrizione .esito.errore { color: #E8A08A; }
.trofen-iscrizione .privacy { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--t-ink-muted); }
.trofen-iscrizione .privacy a { color: inherit; text-decoration: underline; }
.trofen-iscrizione.inviato .riga { display: none; }
.trofen-iscrizione button[disabled] { opacity: .6; cursor: wait; }
.screen-reader-text-trofen { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ------------------------------------------------------------
   1.0.10 – pagine legali (tema Carta): titoli di sezione più piccoli,
   link leggibili su fondo chiaro
   ------------------------------------------------------------ */
body.tema-carta .entry-content h2 {
	font-size: 26px;
	line-height: 1.25;
	margin: 1.6em 0 0.5em;
	letter-spacing: 0.06em;
}
body.tema-carta .entry-content a { color: var(--t-gold); text-decoration: underline; }
body.tema-carta .entry-content a:hover,
body.tema-carta .entry-content a:focus { color: var(--t-ink); }
