/*
 Theme Name:   Salotto Toscana (Soledad Child)
 Theme URI:    https://www.salottotoscana.it/
 Description:  Child theme di Soledad per la testata giornalistica Salotto Toscana. Personalizzazioni di brand e template.
 Author:       Salotto Toscana
 Version:      0.6.0
 Template:     soledad
 Text Domain:  soledad
*/

/* ============================================================
   Salotto Toscana — Brand system
   ============================================================ */
:root {
	--st-primary: #953e37;       /* brand (terracotta bruno) */
	--st-primary-dark: #7d332d;
	--st-accent: #e8b968;        /* oro caldo (hover/accento) */
	--st-dark: #373535;
	--st-gray: #4A4A4A;
	--st-footer: #111111;        /* footer (come prototipo) */
	--st-font: 'Montserrat', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Font Montserrat su tutto il sito. */
body,
h1, h2, h3, h4, h5, h6,
.penci-entry-title, .grid-post-box .item-content .penci-entry-title,
.block-title-normal .penci-block--title,
#navigation, .penci-header-menu, button, input, select, textarea {
	font-family: var(--st-font);
}

/* Colore primario del brand su link/accenti Soledad più comuni */
a:hover,
.penci-cat-name a,
.penci-block--title,
.penci-featured-cat a {
	color: var(--st-primary);
}

/* Navigazione principale su fondo terracotta */
#navigation.penci-header-menu,
.penci-header-menu {
	background-color: var(--st-primary);
}

/* Dimensione testo menu principale: 14px (era 12px) */
#navigation .menu > li > a,
#navigation #main-nav > .menu > li > a {
	font-size: 14px;
}

/* Solo simbolo del logo nella barra dei menu (prima voce) — visibile SOLO quando sticky */
#navigation .menu > li.st-menu-logo { display: none; margin-right: 8px; }
.is-sticky #navigation .menu > li.st-menu-logo { display: inline-block; }
#navigation .menu > li.st-menu-logo > a {
	display: flex; align-items: center; height: 60px;
	padding: 0 22px 0 0 !important; background: none !important;
}
#navigation .menu > li.st-menu-logo > a::before,
#navigation .menu > li.st-menu-logo > a::after { display: none !important; content: none !important; }
#navigation .menu > li.st-menu-logo:hover > a { background: none !important; }
#navigation .menu > li.st-menu-logo img { height: 36px; width: auto; display: block; }

/* Bookmark e ricerca nella barra dei menu: bianchi (erano scuri = invisibili) */
#navigation #penci-header-bookmark, #navigation #penci-header-bookmark i,
#navigation #top-search, #navigation #top-search i { color: #fff !important; }
#navigation #penci-header-bookmark:hover i,
#navigation #top-search:hover i { color: var(--st-accent) !important; }
/* On/off dal pannello opzioni */
.st-o-nobm #navigation #penci-header-bookmark { display: none !important; }
.st-o-nosrch #navigation #top-search { display: none !important; }
/* Campo ricerca aperto (barra terracotta): testo e placeholder bianchi */
#navigation #top-search .show-search .search-input,
#navigation #top-search .show-search .search-click { color: #fff !important; }
#navigation #top-search .show-search .search-input::placeholder { color: rgba(255,255,255,.7) !important; opacity: 1; }
#navigation #top-search .show-search { border-bottom-color: rgba(255,255,255,.4); }
/* Bookmark off: nasconde la funzione in articoli/pagine e negli archivi
   (post + categoria/tag), non il "Segui" autore */
.st-o-nobm .penci-bf-follow-post-wrapper,
.st-o-nobm .penci-bf-follow-term-wrapper { display: none !important; }
/* Animazione di comparsa quando la barra diventa sticky */
@keyframes stMenuLogoIn {
	0%   { opacity: 0; transform: translateX(-10px) scale(.8); }
	60%  { opacity: 1; transform: translateX(0) scale(1.06); }
	100% { opacity: 1; transform: translateX(0) scale(1); }
}
.is-sticky #navigation .menu > li.st-menu-logo img {
	animation: stMenuLogoIn .4s cubic-bezier(.34, 1.56, .64, 1) both;
	transform-origin: left center;
}
@media (prefers-reduced-motion: reduce) {
	.is-sticky #navigation .menu > li.st-menu-logo img { animation: none; }
}

/* Bottoni / etichette categoria in terracotta */
.penci-button, .cat-labels a, .penci-cat-name.grid-cat a,
.item-related .cat, .penci-featent-cat a {
	background-color: var(--st-primary) !important;
}

/* Footer quasi nero come il prototipo (#111111) */
#footer,
.penci-footer-content,
#footer .penci-copyright,
.penci-copyright {
	background-color: var(--st-footer);
}

/* Padding verticale header ridotto (era 40px 0) */
#header .inner-header .container {
	padding: 20px 0;
}

/* Footer allineato come il prototipo: colonne a sinistra */
#footer .penci-footer-content .footer-widget,
#footer .penci-footer-content .penci_column { text-align: left; }
#footer .penci-footer-content .footer-widget .widgettitle,
#footer .penci-footer-content .footer-widget h4 {
	color: #fff; font-family: var(--st-font); font-weight: 600; font-size: 15px;
	text-transform: uppercase; letter-spacing: .5px; margin-bottom: 14px;
}
#footer .penci-footer-content .footer-widget,
#footer .penci-footer-content .footer-widget p,
#footer .penci-footer-content .footer-widget li { color: #cfc7c2; font-size: 14px; line-height: 1.9; }
#footer .penci-footer-content .footer-widget a { color: #cfc7c2; }
#footer .penci-footer-content .footer-widget a:hover { color: var(--st-accent); }

/* Footer social: solo Facebook + Instagram (come il prototipo) — nascondi X/Twitter */
.footer-socials a:has(.penciicon-x-twitter),
.footer-socials .penciicon-x-twitter { display: none !important; }

/* Footer widget: niente linea sotto i titoli (Es. "Salotto Toscana") e contenuto più vicino */
.footer-widget-wrapper .widget-title,
.footer-widget-wrapper .widget-title.penci-border-arrow {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 12px !important;
}
.footer-widget-wrapper .widget-title .inner-arrow {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.footer-widget-wrapper .widget-title::before,
.footer-widget-wrapper .widget-title::after,
.footer-widget-wrapper .widget-title .inner-arrow::before,
.footer-widget-wrapper .widget-title .inner-arrow::after {
	display: none !important;
	border: 0 !important;
	content: none !important;
}

.st-partner-item {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

/* Carosello sponsor riutilizzabile (header + widget): mostra N loghi e scorre */
.st-sponsors { width: 100%; }
.st-sponsors-viewport { overflow: hidden; width: 100%; }
.st-sponsors-track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	transition: transform .6s ease;
	will-change: transform;
}
.st-sponsors-track .st-partner-item {
	flex: 0 0 auto;
	width: calc(100% / var(--st-visible, 6));
	justify-content: center;
	padding: 0 15px;
	box-sizing: border-box;
}
/* Pochi loghi (nessuno scorrimento): riga centrata, a capo */
.st-sponsors--static .st-sponsors-track { flex-wrap: wrap; justify-content: center; gap: 16px 26px; }
.st-sponsors--static .st-sponsors-track .st-partner-item { width: auto; padding: 0; }
.st-sponsors .st-partner-item img {
	height: 58px;              /* default (small) */
	width: auto;
	max-width: 100%;
	object-fit: contain;
	opacity: 1;                /* loghi sempre a colori (brand) */
	transition: opacity .2s ease;
}
/* Dimensione loghi configurabile */
.st-sponsors.st-size-small .st-partner-item img { height: 58px; }
.st-sponsors.st-size-medium .st-partner-item img { height: 80px; }
.st-sponsors.st-size-large .st-partner-item img { height: 104px; }
.st-sponsors .st-partner-item:hover img { opacity: .8; }

/* Pagina /sponsors/ */
.st-sponsors-wrap { max-width: 1100px; margin: 40px auto 60px; padding: 0 20px; }
.st-sponsors-title { font-family: var(--st-font); font-weight: 600; font-size: 30px; color: var(--st-primary); margin: 0 0 6px; }
.st-sponsors-sub { color: var(--st-gray); margin: 0 0 30px; }
.st-sponsors-h2 { font-family: var(--st-font); font-weight: 600; font-size: 22px; color: var(--st-primary); margin: 34px 0 18px; border-bottom: 2px solid var(--st-primary); padding-bottom: 8px; }
.st-sponsors-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.st-sponsors-grid .st-partner-item { justify-content: center; border: 1px solid #eee2dc; padding: 22px; min-height: 120px; }
.st-sponsors-grid .st-partner-item img { height: 80px; max-width: 100%; width: auto; object-fit: contain; opacity: 1; transition: opacity .2s ease; }
.st-sponsors-grid .st-partner-item:hover img { opacity: .85; }
@media (max-width: 800px) { .st-sponsors-grid { grid-template-columns: repeat(2, 1fr); } }

/* Pagina interna singolo sponsor */
.st-sponsor-single { max-width: 820px; margin: 40px auto 60px; padding: 0 20px; }
.st-sponsor-head { text-align: center; margin-bottom: 26px; }
.st-sponsor-logo { margin-bottom: 18px; }
.st-sponsor-logo img { max-height: 120px; width: auto; display: inline-block; }
.st-sponsor-title { font-family: var(--st-font); font-weight: 600; font-size: 30px; color: var(--st-primary); margin: 0; }
.st-sponsor-content { font-size: 17px; line-height: 1.7; color: #333; }
.st-sponsor-content img { max-width: 100%; height: auto; }
.st-sponsor-cta { margin: 30px 0 10px; }
.st-btn { display: inline-block; background: var(--st-primary); color: #fff; text-decoration: none; padding: 12px 26px; font-weight: 600; letter-spacing: .3px; transition: background .2s ease; }
.st-btn:hover { background: var(--st-primary-dark); color: #fff; }
.st-sponsor-back { margin-top: 30px; }
.st-sponsor-back a { color: var(--st-gray); text-decoration: none; }
.st-sponsor-back a:hover { color: var(--st-primary); }

/* ============================================================
   Scheda locale (single-locale.php) — stile prototipo
   ============================================================ */
.st-locale-wrap { max-width: 1000px; margin: 40px auto 60px; padding: 0 20px; }
.st-locale-header { margin-bottom: 22px; }
.st-locale-taxo { margin-bottom: 14px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.st-badge { font-size: 11px; letter-spacing: .5px; text-transform: uppercase; padding: 4px 10px; text-decoration: none; }
.st-badge-tipo { background: var(--st-primary); color: #fff; }
.st-badge-prov { background: var(--st-dark); color: #fff; }
.st-locale-comune { font-size: 13px; font-weight: 600; letter-spacing: .3px; color: var(--st-gray); }
.st-locale-comune::before { content: "\1F4CD"; margin-right: 4px; font-weight: 400; }

.st-locale-title { font-family: var(--st-font); font-weight: 600; text-transform: uppercase; letter-spacing: .3px; font-size: 30px; line-height: 1.15; margin: 0; color: var(--st-primary); }
.st-locale-title::after { content: ""; display: block; width: 46px; height: 2px; background: var(--st-primary); margin-top: 14px; }
/* Bollino oro "locale premium": sporge nel margine a sinistra del titolo, SENZA
   spostare il contenuto (l'articolo resta nella stessa posizione nel container). */
.st-locale.st-is-premium .st-locale-titlewrap { position: relative; }
.st-locale.st-is-premium .st-premium-badge { position: absolute; top: 50%; right: 100%; left: auto; transform: translateY(-50%); margin-right: 22px; width: 72px; height: 72px; filter: drop-shadow(0 2px 5px rgba(0,0,0,.18)); }
/* Sotto i 1240px non c'è margine sufficiente: bollino sopra il titolo */
@media (max-width: 1240px) {
	.st-locale.st-is-premium .st-premium-badge { position: static; transform: none; margin: 0 0 12px; width: 58px; height: 58px; display: block; }
}

.st-locale-content { font-size: 19px; line-height: 1.75; color: #333; margin: 22px 0 8px; max-width: 860px; }
.st-locale-content p { font-size: 19px; }

.st-locale-info { margin: 26px 0 6px; }
.st-locale-h2 { font-family: var(--st-font); font-weight: 500; font-size: 26px; margin: 0 0 12px; color: var(--st-primary); }
.st-info-line { font-size: 16px; color: #333; margin: 0 0 4px; }
.st-info-line a { color: #333; }
.st-info-sito, .st-info-email { margin: 0 0 4px; }
.st-info-sito a, .st-info-email a { color: var(--st-primary); font-size: 16px; }
/* Indirizzo = link a Google Maps: colore brand, pin, sottolineatura all'hover */
.st-info-line a.st-info-maps { color: var(--st-link, var(--st-primary)); border-bottom: 1px solid transparent; }
.st-info-line a.st-info-maps:hover,
.st-info-line a.st-info-maps:focus { border-bottom-color: currentColor; }
.st-info-maps::before {
	content: "";
	display: inline-block;
	width: .95em;
	height: .95em;
	margin-right: .32em;
	vertical-align: -.12em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.st-locale-dettagli { list-style: none; margin: 48px 0 0; padding: 0; }
.st-locale-dettagli li { color: var(--st-primary); font-size: 24px; line-height: 1.5; font-weight: 500; }

.st-locale-gallery { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 45px; }
.st-locale-gallery a { flex: 0 0 auto; cursor: pointer; overflow: hidden; }
.st-locale-gallery img { width: 150px; height: 150px; object-fit: cover; display: block; transition: transform .3s ease; }
.st-locale-gallery a:hover img { transform: scale(1.06); }

@media (max-width: 600px) {
	.st-locale-title { font-size: 24px; }
	.st-locale-gallery img { width: 120px; height: 120px; }
}

/* ---- Lightbox slideshow overlay ---- */
body.st-lb-open { overflow: hidden; }
.st-lb-overlay { position: fixed; inset: 0; z-index: 99999; background: rgba(10,10,12,.94); display: none; align-items: center; justify-content: center; }
.st-lb-overlay.is-open { display: flex; }
.st-lb-stage { margin: 0; max-width: 90vw; max-height: 86vh; display: flex; flex-direction: column; align-items: center; }
.st-lb-img { max-width: 90vw; max-height: 80vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.st-lb-cap { color: #eee; font-family: var(--st-font); font-size: 14px; margin-top: 12px; text-align: center; }
.st-lb-close, .st-lb-prev, .st-lb-next { position: fixed; background: none; border: 0; color: #fff; cursor: pointer; opacity: .85; transition: opacity .2s ease; line-height: 1; }
.st-lb-close:hover, .st-lb-prev:hover, .st-lb-next:hover { opacity: 1; }
.st-lb-close { top: 20px; right: 26px; font-size: 40px; }
.st-lb-prev, .st-lb-next { top: 50%; transform: translateY(-50%); font-size: 60px; padding: 0 22px; }
.st-lb-prev { left: 8px; }
.st-lb-next { right: 8px; }
.st-lb-counter { position: fixed; bottom: 22px; left: 0; right: 0; text-align: center; color: #ccc; font-family: var(--st-font); font-size: 14px; letter-spacing: .5px; }
@media (max-width: 600px) { .st-lb-prev, .st-lb-next { font-size: 40px; padding: 0 10px; } .st-lb-close { font-size: 32px; top: 12px; right: 14px; } }

/* ============================================================
   Archivio Guida (griglia card + filtri)
   ============================================================ */
.st-guida-wrap { max-width: 1180px; margin: 40px auto; padding: 0 20px; }
.st-guida-title { font-family: var(--st-font); font-size: 34px; color: var(--st-primary); margin: 0 0 20px; }

.st-guida-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 2px solid var(--st-primary); border-bottom: 1px solid #eadfda; padding: 14px 0; margin-bottom: 30px; }
.st-guida-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.st-guida-tabs a { font-size: 13px; text-transform: uppercase; letter-spacing: .4px; padding: 7px 14px; color: var(--st-dark); text-decoration: none; border-radius: 0; }
.st-guida-tabs a:hover { color: var(--st-primary); }
.st-guida-tabs a.is-active { background: var(--st-primary); color: #fff; }
.st-guida-prov { display: flex; align-items: center; gap: 8px; }
.st-guida-prov label { font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--st-gray); }
.st-guida-prov select { padding: 7px 10px; border: 1px solid #d9cfc9; background: #fff; font-size: 14px; }

.st-guida-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.st-card { background: #fff; border: 1px solid #eee2dc; display: flex; flex-direction: column; }
.st-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.st-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.st-card-media:hover img { transform: scale(1.05); }
.st-card-noimg { display: block; width: 100%; height: 100%; background: #efe7e2; }
.st-card-badge { position: absolute; top: 12px; left: 12px; background: var(--st-primary); color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; padding: 4px 9px; }
.st-card-body { padding: 16px 18px 20px; }
.st-card-title { font-family: var(--st-font); font-size: 20px; line-height: 1.25; margin: 0 0 4px; }
.st-card-title a { color: var(--st-primary); text-decoration: none; }
.st-card-title a:hover { color: var(--st-primary-dark); }
.st-card-comune { color: var(--st-gray); font-size: 13px; margin: 0 0 8px; }
.st-card-excerpt { font-size: 15px; line-height: 1.55; color: #555; margin: 0; }
.st-guida-pagination { margin-top: 34px; text-align: center; }
.st-guida-empty { padding: 40px 0; color: var(--st-gray); }

@media (max-width: 900px) { .st-guida-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .st-guida-grid { grid-template-columns: 1fr; } }

/* ============================================================
   Vista sezione (A Tavola | Provincia) — liste raggruppate
   ============================================================ */
.st-section-wrap { max-width: 1180px; margin: 40px auto; padding: 0 20px; }
.st-section-title { font-family: var(--st-font); font-size: 32px; color: var(--st-primary); margin: 0 0 14px; border-bottom: 3px solid var(--st-primary); padding-bottom: 10px; display: inline-block; }
.st-section-intro { color: #555; max-width: none; margin-bottom: 16px; }
/* wpautop avvolge il testo in <p>: il font va forzato sul paragrafo, altrimenti
   una regola del tema su p (14px) vince per specificità. */
.st-section-intro, .st-section-intro p { font-size: 19px; line-height: 1.7; }
.st-section-intro p { margin: 0 0 12px; }
.st-section-intro p:last-child { margin-bottom: 0; }

/* Descrizione degli archivi categoria: stessa tipografia della sezione guida */
.penci-category-description,
.penci-category-description-inner p { color: #555; font-size: 19px; line-height: 1.7; }
.penci-category-description-inner p { margin: 0 0 12px; }
.penci-category-description-inner p:last-child { margin-bottom: 0; }

.st-provincebar { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 22px 0 34px; padding-bottom: 16px; border-bottom: 1px solid #eadfda; }
.st-provincebar a { font-size: 13px; letter-spacing: .3px; text-transform: uppercase; color: var(--st-dark); text-decoration: none; padding: 6px 12px; }
.st-provincebar a:hover { color: var(--st-primary); }
.st-provincebar a.is-active { background: var(--st-primary); color: #fff; }

.st-section-group { margin-bottom: 36px; }
.st-section-h2 { font-family: var(--st-font); font-size: 24px; color: var(--st-primary); margin: 0 0 14px; }
.st-section-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 48px; }
.st-section-list li { padding: 8px 0; break-inside: avoid; border-bottom: 1px dotted #e3d8d2; }
.st-section-list li a { color: var(--st-dark); text-decoration: none; font-size: 18px; }
.st-section-list li a:hover { color: var(--st-primary); }
.st-section-comune { color: var(--st-gray); font-size: 15px; }
/* Bollino "premium" negli elenchi guida */
.st-card-media img.st-card-premium { position: absolute; top: 10px; right: 10px; left: auto; width: 46px; height: 46px; object-fit: contain; z-index: 2; filter: drop-shadow(0 2px 5px rgba(0,0,0,.28)); }
.st-card-media:hover img.st-card-premium { transform: none; }
.st-premium-mini { display: inline-block; vertical-align: -5px; width: 20px; height: 20px; margin: 0 4px; }
.st-section-list li.st-premium-li > a { font-weight: 700; }

@media (max-width: 700px) { .st-section-list { columns: 1; } .st-section-title { font-size: 26px; } }

/* ============================================================
   Home magazine — shortcode [salotto_home] (pagina Elementor)
   ============================================================ */
.st-home-wrap { display: flex; flex-direction: column; gap: 24px; }
.st-home-grid { display: grid; grid-template-columns: repeat(var(--st-home-cols, 3), 1fr); gap: 24px; }
.st-home-card { position: relative; display: block; overflow: hidden; text-decoration: none; }
.st-home-featured .st-home-card { aspect-ratio: 21 / 9; }
.st-home-grid .st-home-card { aspect-ratio: 4 / 3; }
.st-home-media, .st-home-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.st-home-card .st-home-media img { transition: transform .4s ease; }
.st-home-card:hover .st-home-media img { transform: scale(1.05); }
.st-home-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; background: linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,0) 100%); }
.st-home-cat { align-self: flex-start; background: var(--st-primary); color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; padding: 4px 10px; margin-bottom: 10px; }
.st-home-title { font-family: var(--st-font); font-weight: 600; color: #fff; margin: 0 0 6px; line-height: 1.2; }
.st-home-featured .st-home-title { font-size: 30px; max-width: 70%; }
.st-home-grid .st-home-title { font-size: 19px; }
.st-home-by { color: rgba(255,255,255,.85); font-size: 13px; font-style: italic; }

@media (max-width: 900px) { .st-home-grid { grid-template-columns: repeat(2, 1fr); } .st-home-featured .st-home-title { max-width: 100%; font-size: 22px; } }
@media (max-width: 560px) { .st-home-grid { grid-template-columns: 1fr; } .st-home-featured .st-home-card { aspect-ratio: 3 / 2; } }

/* ============================================================
   Eventi (archivio + single)
   ============================================================ */
.st-eventi-wrap { max-width: 900px; margin: 40px auto 60px; padding: 0 20px; }
.st-eventi-title { font-family: var(--st-font); font-weight: 600; font-size: 32px; color: var(--st-primary); margin: 0 0 6px; }
.st-eventi-sub { color: var(--st-gray); margin: 0 0 30px; }
.st-eventi-list { display: flex; flex-direction: column; gap: 18px; }
.st-ev-link { display: flex; align-items: center; gap: 20px; text-decoration: none; border: 1px solid #eee2dc; padding: 16px; transition: box-shadow .2s ease, transform .2s ease; }
.st-ev-link:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); transform: translateY(-2px); }
.st-ev-badge { flex: 0 0 auto; width: 66px; height: 66px; background: var(--st-primary); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.st-ev-day { font-size: 26px; font-weight: 700; }
.st-ev-mon { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; margin-top: 3px; }
.st-ev-thumb { flex: 0 0 auto; }
.st-ev-thumb img { width: 84px; height: 66px; object-fit: cover; display: block; }
.st-ev-body { display: flex; flex-direction: column; gap: 3px; }
.st-ev-name { font-family: var(--st-font); font-weight: 600; font-size: 20px; color: var(--st-dark); margin: 0; }
.st-ev-meta { color: var(--st-primary); font-size: 14px; margin: 0; }
.st-ev-excerpt { color: #666; font-size: 14px; }
.st-ev-hero { margin: 18px 0 24px; }
.st-ev-hero img { width: 100%; height: auto; display: block; }
@media (max-width: 560px){ .st-ev-thumb { display: none; } }

/* ============================================================
   Redazione ([salotto_redazione])
   ============================================================ */
.st-red-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin: 20px 0; }
.st-red-card { text-align: center; }
.st-red-media { display: inline-block; width: 160px; height: 160px; border-radius: 50%; overflow: hidden; margin-bottom: 16px; }
.st-red-media img, .st-red-photo { width: 160px !important; height: 160px !important; object-fit: cover; display: block; border-radius: 50%; }
.st-red-name { font-family: var(--st-font); font-weight: 600; font-size: 22px; margin: 0 0 2px; }
.st-red-name a { color: var(--st-dark); text-decoration: none; }
.st-red-name a:hover { color: var(--st-primary); }
.st-red-role { color: var(--st-primary); font-size: 14px; text-transform: uppercase; letter-spacing: .5px; margin: 0 0 12px; }
.st-red-bio { color: #666; font-size: 15px; line-height: 1.6; margin: 0 0 12px; }
.st-red-articles { color: var(--st-primary); text-decoration: none; font-weight: 600; font-size: 14px; }
@media (max-width: 780px){ .st-red-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px){ .st-red-grid { grid-template-columns: 1fr; } }

/* Cookie: nascondi la barra "Revoca consenso" (usiamo il link "Preferenze cookie" nel footer) */
.cookie-revoke-container { display: none !important; }
/* Link revoca nel footer: stile coerente con gli altri link legali */
.penci-copyright a.cn-revoke-cookie { cursor: pointer; }

/* ============================================================
   Sezione News filtrabile ([salotto_news]) — stile prototipo
   ============================================================ */
.st-news-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.st-news-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin: 10px 0 34px; }
.st-news-filter a { font-family: var(--st-font); font-size: 15px; color: var(--st-dark); text-decoration: none; padding: 4px 2px; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
.st-news-filter a:hover { color: var(--st-primary); }
.st-news-filter a.is-active { color: var(--st-primary); border-bottom-color: var(--st-primary); }

.st-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 28px; }
.st-news-item { text-align: center; }
.st-news-media { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #efe7e2; }
.st-news-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.st-news-media:hover img { transform: scale(1.05); }
.st-news-noimg { display: block; width: 100%; height: 100%; }
.st-news-title { font-family: var(--st-font); font-weight: 600; font-size: 18px; line-height: 1.3; text-transform: uppercase; letter-spacing: .3px; margin: 16px 0 6px; }
.st-news-title a { color: var(--st-primary); text-decoration: none; }
.st-news-title a:hover { color: var(--st-primary-dark); }
.st-news-cats { color: var(--st-gray); font-size: 13px; margin: 0; }

.st-news-more-wrap { text-align: center; margin: 40px 0 10px; }
.st-news-more { font-family: var(--st-font); font-size: 13px; letter-spacing: .5px; text-transform: uppercase; color: var(--st-dark); background: none; border: 1px solid #d9cfc9; padding: 14px 40px; cursor: pointer; transition: all .2s ease; }
.st-news-more:hover { background: var(--st-primary); border-color: var(--st-primary); color: #fff; }

@media (max-width: 900px) { .st-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .st-news-grid { grid-template-columns: 1fr; } }

/* Pagina di ricerca — layout "News" (search-news.php) */
.st-search { padding: 40px 0 60px; }
.st-search-head { text-align: center; margin-bottom: 34px; }
.st-search-title { font-family: var(--st-font); font-size: 26px; color: var(--st-dark); margin: 0 0 6px; }
.st-search-title span { color: var(--st-primary); }
.st-search-count { color: var(--st-gray); font-size: 14px; margin: 0; }
.st-search-empty { text-align: center; color: var(--st-gray); font-size: 17px; margin: 30px 0; }
.st-search-form { max-width: 440px; margin: 0 auto; }
.st-search-pager { margin-top: 40px; }
.st-search-pager .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.st-search-pager .page-numbers { font-family: var(--st-font); font-size: 14px; padding: 8px 14px; border: 1px solid #d9cfc9; color: var(--st-dark); text-decoration: none; }
.st-search-pager .page-numbers.current { background: var(--st-primary); border-color: var(--st-primary); color: #fff; }
.st-search-pager a.page-numbers:hover { background: var(--st-primary); border-color: var(--st-primary); color: #fff; }
body.pcdark-mode .st-search-title { color: var(--pctext-cl, #e6e6e6); }

/* Widget "Ultimi articoli (orizzontale)" — card affiancate (footer o sidebar) */
.st-latest { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.st-latest--cols-1 { grid-template-columns: 1fr; }
.st-latest--cols-2 { grid-template-columns: repeat(2, 1fr); }
.st-latest--cols-3 { grid-template-columns: repeat(3, 1fr); }
.st-latest--cols-4 { grid-template-columns: repeat(4, 1fr); }
.st-latest--cols-5 { grid-template-columns: repeat(5, 1fr); }
.st-latest--cols-6 { grid-template-columns: repeat(6, 1fr); }
.st-latest-card { display: block; }
.st-latest-media { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #efe7e2; border-radius: 3px; }
.st-latest-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.st-latest-media:hover img { transform: scale(1.05); }
.st-latest-noimg { display: block; width: 100%; height: 100%; }
/* Badge categoria come nell'articolo: fondo colore primario, testo bianco.
   Selettori scoped sotto .st-latest per battere `.widget a` del tema (specificità). */
.st-latest .st-latest-cat { display: inline-block; font-family: var(--st-font); font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; background: var(--st-primary); color: #fff; padding: 4px 9px; text-decoration: none; margin: 12px 0 8px; transition: background .2s ease; }
.st-latest .st-latest-cat:hover { background: var(--st-primary-dark); color: #fff; }
.st-latest .st-latest-title { display: block; font-family: var(--st-font); font-weight: 600; font-size: 15px; line-height: 1.35; color: var(--st-dark); text-decoration: none; transition: color .2s ease; }
.st-latest .st-latest-title:hover { color: var(--st-primary); }
.st-latest .st-latest-date { display: block; font-size: 12px; color: var(--st-gray); opacity: .8; margin-top: 5px; }
/* Il badge categoria resta bianco anche nel footer reale (#footer-section), dove i link hanno specificità alta */
#footer-section .st-latest .st-latest-cat { color: #fff; }

/* Pubblicità (Ad Manager) — banner con slider + etichetta "Pubblicità" */
.st-ad { margin: 0 0 30px; }
.st-ad-label { display: block; font-family: var(--st-font); font-size: 10px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; color: var(--st-gray); opacity: .75; margin-bottom: 6px; }
.st-ad-link { display: block; text-decoration: none; }
.st-ad-slides { display: block; position: relative; }
.st-ad-slide { display: none; }
.st-ad-slide.is-active { display: block; }
.st-ad-slides:not(.is-slider) .st-ad-slide { display: block; }
.st-ad-img { display: block; width: 100%; height: auto; }
/* Formati */
.st-ad--sidebar-box { max-width: 320px; }
.st-ad--sidebar-vertical { max-width: 300px; }
.st-ad--horizontal .st-ad-img { width: 100%; }
.st-ad--responsive .st-ad-img { width: 100%; }
/* Pubblicità a codice (network/AdSense): contenitore fluido */
.st-ad-html { max-width: 100%; overflow: hidden; }
.st-ad-html img, .st-ad-html iframe { max-width: 100%; }
/* Slider: le slide non attive restano nel flusso a altezza 0 per stabilità layout */
.st-ad-slides.is-slider { overflow: hidden; }
/* Dark mode: etichetta più chiara */
body.pcdark-mode .st-ad-label { color: var(--pctext-cl, #cfc7c2); }
/* Rotatore slot: senza JS mostra solo la prima (il JS ne sceglie una pesata) */
.st-ad-rotator .st-ad-rotitem { display: none; }
.st-ad-rotator .st-ad-rotitem:first-child { display: block; }
/* Blocco pubblicità auto-inserito dentro l'articolo (centrato) */
.st-ad-inarticle { margin: 30px 0; }
.st-ad-inarticle .st-ad { display: inline-block; margin: 0 auto; text-align: left; }
.st-ad-inarticle { text-align: center; }

/* ===== Popup / barra (Ad Manager) ===== */
#st-popup-root[hidden] { display: none; }
.st-popup { position: fixed; z-index: 99999; font-family: var(--st-font); }
#st-popup-root .st-popup-close { position: absolute; top: 8px; right: 8px; z-index: 5; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.95); color: var(--st-primary); font-family: Arial, sans-serif; font-size: 26px; font-weight: 400; line-height: 1; cursor: pointer; box-shadow: 0 1px 6px rgba(0,0,0,.28); -webkit-appearance: none; appearance: none; transition: background .15s ease, color .15s ease; }
#st-popup-root .st-popup-close:hover, #st-popup-root .st-popup-close:focus { background: var(--st-primary); color: #fff; outline: none; }
.st-popup-badge { display: inline-block; background: var(--st-accent); color: #3a2a12; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 2px 8px; border-radius: 3px; margin-bottom: 8px; }
.st-popup-label { display: block; font-size: 11px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: var(--st-gray); margin-bottom: 8px; }
.st-popup-content { position: relative; z-index: 1; }
.st-popup-content img { display: block; max-width: 100%; height: auto; }
.st-popup-content a { text-decoration: none; }

/* Contenuto a tutta area (full-bleed): niente margini interni, il contenuto riempie il riquadro */
.st-popup--bleed .st-popup-dialog { padding: 0 !important; overflow: hidden; }
.st-popup--bleed .st-popup-content { width: 100%; }
.st-popup--bleed .st-popup-content img { width: 100%; }
.st-popup--bleed .st-popup-badge, .st-popup--bleed .st-popup-label { position: absolute; left: 12px; z-index: 4; margin: 0; }
.st-popup--bleed .st-popup-badge { top: 10px; }
.st-popup--bleed .st-popup-label { top: 10px; background: rgba(255,255,255,.9); padding: 2px 8px; border-radius: 3px; }
.st-popup--bleed.st-popup--test .st-popup-label { top: 40px; }

/* Modale centrale */
.st-popup--modal { inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.st-popup--modal .st-popup-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.st-popup--modal .st-popup-dialog { position: relative; background: #fff; max-width: 560px; width: 100%; max-height: 90vh; overflow: auto; padding: 34px 24px 24px; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.35); transform: translateY(12px); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.st-popup--modal.is-open .st-popup-dialog { transform: none; opacity: 1; }

/* Barre top/bottom */
.st-popup--bar-top, .st-popup--bar-bottom { left: 0; right: 0; }
.st-popup--bar-top { top: 0; transform: translateY(-100%); transition: transform .3s ease; }
.st-popup--bar-bottom { bottom: 0; transform: translateY(100%); transition: transform .3s ease; }
.st-popup--bar-top.is-open, .st-popup--bar-bottom.is-open { transform: none; }
.st-popup--bar-top .st-popup-dialog, .st-popup--bar-bottom .st-popup-dialog { position: relative; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,.2); padding: 14px 52px 14px 20px; display: flex; align-items: center; gap: 16px; }
.st-popup--bar-top .st-popup-content, .st-popup--bar-bottom .st-popup-content { flex: 1; }

/* Dark mode */
body.pcdark-mode .st-popup--modal .st-popup-dialog,
body.pcdark-mode .st-popup--bar-top .st-popup-dialog,
body.pcdark-mode .st-popup--bar-bottom .st-popup-dialog { background: var(--pcbg-l-cl, #1e1e1e); color: var(--pctext-cl, #e6e6e6); }
body.pcdark-mode .st-popup-label { color: var(--pctext-cl, #cfc7c2); }

@media (max-width: 560px) {
	.st-popup--modal .st-popup-dialog { padding: 30px 16px 18px; }
	.st-popup--bar-top .st-popup-dialog, .st-popup--bar-bottom .st-popup-dialog { flex-direction: column; align-items: flex-start; padding: 14px 44px 14px 16px; }
}

/* ===== Pareri sui locali (feedback privato) ===== */
.st-locale-feedback { margin: 40px 0 10px; padding: 24px; background: #faf6f3; border-top: 3px solid var(--st-primary); }
.st-lf-title { font-family: var(--st-font); color: var(--st-primary); font-size: 20px; margin: 0 0 6px; }
.st-lf-sub { color: var(--st-gray); font-size: 15px; margin: 0 0 14px; }
.st-lf-toggle, .st-lf-submit { font-family: var(--st-font); font-size: 14px; letter-spacing: .3px; text-transform: uppercase; color: #fff; background: var(--st-primary); border: 0; padding: 12px 26px; cursor: pointer; transition: background .2s ease; }
.st-lf-toggle:hover, .st-lf-submit:hover { background: var(--st-primary-dark); }
.st-lf-form { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; max-width: 620px; }
.st-lf-rating { display: flex; align-items: center; gap: 16px; font-size: 15px; color: var(--st-dark); }
.st-lf-rating label { cursor: pointer; }
.st-lf-msg, .st-lf-row input { width: 100%; font-family: inherit; font-size: 15px; padding: 10px 12px; border: 1px solid #d9cfc9; background: #fff; border-radius: 3px; }
.st-lf-msg:focus, .st-lf-row input:focus { outline: none; border-color: var(--st-primary); }
.st-lf-row { display: flex; gap: 12px; }
.st-lf-row input { flex: 1; }
.st-lf-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--st-gray); line-height: 1.4; }
.st-lf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.st-lf-actions { display: flex; align-items: center; gap: 14px; }
.st-lf-submit:disabled { opacity: .6; cursor: default; }
.st-lf-status { font-size: 14px; color: var(--st-gray); }
.st-lf-status.is-error { color: #b32d2e; }
.st-lf-thanks { font-size: 16px; color: #1a7f37; font-weight: 600; margin: 4px 0; }
/* Dark mode */
body.pcdark-mode .st-locale-feedback { background: var(--pcbg-l-cl, #1e1e1e); }
body.pcdark-mode .st-lf-msg, body.pcdark-mode .st-lf-row input { background: var(--pcbg-cl, #151515); color: var(--pctext-cl, #e6e6e6); border-color: var(--pcborder-cl, #333); }
@media (max-width: 560px) { .st-lf-row { flex-direction: column; } }

@media (max-width: 900px) {
	.st-latest, .st-latest--cols-4, .st-latest--cols-5, .st-latest--cols-6 { grid-template-columns: repeat(2, 1fr); }
	.st-latest--cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.st-latest, .st-latest--cols-2, .st-latest--cols-3, .st-latest--cols-4, .st-latest--cols-5, .st-latest--cols-6 { grid-template-columns: 1fr; }
}

/* ---- Header News: masthead dedicato (dati testata · logo NEWS · direzione) ---- */
/* Sostituisce del tutto l'header Soledad sulla pagina News: il masthead è stampato
   in cima al <body> (full-width) da inc/news-header.php. */
.st-news-page #header,
.st-news-page #navigation-sticky-wrapper { display: none !important; }

/* Hamburger: icona a barre (aspetto; la posizione la dà il contesto).
   z-index alto: il .penci-header-wrap ha z-index 999 e coprirebbe il burger. */
.st-burger { z-index: 1001; background: none; border: 0; padding: 4px; cursor: pointer; display: flex; flex-direction: column; gap: 5px; }
.st-burger span { display: block; width: 22px; height: 2px; background: var(--st-dark); transition: background .2s ease; }
.st-burger:hover span { background: var(--st-primary); }

/* Masthead: dati testata (sx) · logo NEWS (centro) · direzione (dx) + divisore */
.st-news-mast { border-bottom: 1px solid #ece5df; background: #fff; }
.st-news-mast-inner { position: relative; max-width: 1360px; margin: 0 auto; padding: 30px 70px 24px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; column-gap: 30px; }
.st-news-mast .st-burger { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.st-news-mast-col { font-family: var(--st-font); font-size: 13px; line-height: 1.55; color: #444; }
.st-news-mast-info { text-align: left; }
.st-news-mast-dir { text-align: right; }
.st-news-mast-dir a { color: var(--st-primary); text-decoration: none; }
.st-news-mast-dir a:hover { text-decoration: underline; }
.st-news-mast-logo { justify-self: center; line-height: 0; }
.st-news-mast-logo img { height: 172px; width: auto; display: block; }

/* Fascia "Collaboratori" sotto la testata (delimitata da una riga sotto) */
.st-news-collab { border-bottom: 1px solid #ece5df; background: #fff; }
.st-news-collab-inner { max-width: 940px; margin: 0 auto; padding: 9px 20px; text-align: center; font-family: var(--st-font); font-size: 12.5px; line-height: 1.45; color: #444; }
.st-news-collab-inner strong { color: var(--st-dark); }

/* Barra sticky News: compare sullo scroll (hamburger + logo ridotto centrato) */
.st-news-sticky { position: fixed; top: 0; left: 0; right: 0; height: 58px; background: #fff; z-index: 9998; transform: translateY(-100%); transition: transform .35s ease; }
.st-news-sticky.is-visible { transform: translateY(0); box-shadow: 0 2px 14px rgba(0,0,0,.12); }
.admin-bar .st-news-sticky { top: 32px; }
.st-news-sticky .st-burger { position: absolute; left: max(20px, calc((100% - 1360px) / 2)); top: 50%; transform: translateY(-50%); }
.st-news-sticky-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); line-height: 0; display: flex; align-items: center; gap: 8px; }
.st-news-sticky-logo img { height: 40px; width: auto; display: block; }
.st-news-sticky-news { font-family: var(--st-font); font-weight: 700; color: #ffa300; font-size: 20px; line-height: 1; letter-spacing: .5px; }

/* Masthead News: responsive (colonna unica, logo in alto) */
@media (max-width: 900px) {
	.st-news-mast-inner { grid-template-columns: 1fr; justify-items: center; padding: 20px 20px 16px; row-gap: 12px; }
	.st-news-mast-logo { order: -1; }
	.st-news-mast-info, .st-news-mast-dir { text-align: center; }
	.st-news-mast .st-burger { top: 16px; transform: none; }
	.st-news-mast-logo img { height: 120px; }
	.st-news-collab-inner { padding: 10px 20px; font-size: 13px; }
}

/* Sidebar off-canvas */
.st-oc-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 99998; opacity: 0; transition: opacity .3s ease; }
.st-oc-overlay.is-open { opacity: 1; }
.st-oc { position: fixed; top: 0; left: 0; width: 340px; max-width: 86vw; height: 100%; background: #fff; z-index: 99999; transform: translateX(-100%); transition: transform .3s ease; padding: 26px 34px 34px; overflow-y: auto; }
.st-oc.is-open { transform: translateX(0); box-shadow: 2px 0 24px rgba(0,0,0,.18); }
.st-oc-close { float: right; background: none; border: 0; font-size: 32px; line-height: 1; color: var(--st-dark); cursor: pointer; padding: 0; margin: -2px -6px 0 0; }
.st-oc-close:hover { color: var(--st-primary); }
.st-oc-logo { display: block; margin: 0 0 24px; }
.st-oc-logo img { height: 52px; width: auto; display: block; }
.st-oc-menu { list-style: none; margin: 0; padding: 0; }
.st-oc-menu > li { position: relative; border-bottom: 1px solid #eee; }
.st-oc-menu a { display: block; padding: 9px 0; font-family: var(--st-font); font-size: 13px; color: var(--st-dark); text-decoration: none; text-transform: uppercase; letter-spacing: .3px; }
.st-oc-menu a:hover { color: var(--st-primary); }
/* Accordion: sotto-menu (province) collassati, si aprono con la freccia */
.st-oc-menu .sub-menu { list-style: none; margin: 0; padding: 0 0 0 14px; display: none; }
.st-oc-menu > li.st-open > .sub-menu { display: block; margin: 1px 0 10px; }
.st-oc-menu .sub-menu a { text-transform: none; font-size: 12px; padding: 5px 0; color: var(--st-gray); }
.st-oc-menu .sub-menu a:hover { color: var(--st-primary); }
.st-oc-menu > li.st-has-sub > a { padding-right: 38px; }
.st-oc-toggle { position: absolute; top: 0; right: 0; width: 38px; height: 37px; background: none; border: 0; padding: 0; cursor: pointer; }
.st-oc-toggle::before { content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; margin: -5px 0 0 -3px; border-right: 1.5px solid var(--st-dark); border-bottom: 1.5px solid var(--st-dark); transform: rotate(45deg); transition: transform .25s ease; }
.st-oc-toggle:hover::before { border-color: var(--st-primary); }
.st-oc-menu > li.st-open > .st-oc-toggle::before { margin-top: -1px; transform: rotate(-135deg); }
body.st-oc-lock { overflow: hidden; }
.admin-bar .st-oc { top: 32px; height: calc(100% - 32px); }

/* ---- Titoli in colore brand (elenchi articoli + archivi, sfondo chiaro) ---- */
.penci-entry-title,
.penci-entry-title a { color: var(--st-primary); }
.penci-entry-title a:hover { color: var(--st-primary-dark); }
.archive-box .title-bar h1 { color: var(--st-primary); }

/* ---- Single post: elementi pilotati dal pannello Opzioni (classi .st-o-* sul body) ----
   NB: nomi classe OPACHI di proposito. Nomi come "comment-count"/"social"/"share"
   sui contenitori (specie il body) vengono nascosti dai filtri cosmetici degli
   ad-blocker, rendendo la pagina bianca. Non reintrodurre quelle parole qui. */
/* Titolo articolo in colore brand (sempre) */
.single-post .single-post-title,
.single-post .single-post-title a { color: var(--st-primary) !important; }
/* Sidebar off → contenuto centrato a tutta larghezza */
.st-o-side #sidebar { display: none !important; }
.st-o-side .container-single #main { width: 100% !important; float: none !important; max-width: 820px; margin-left: auto; margin-right: auto; }
/* Archivi (categoria/tag/autore/ricerca): niente sidebar → contenuto a tutta larghezza */
.st-o-side .penci_sidebar:not(.container-single) #main { width: 100% !important; float: none !important; }
/* Autore off: byline in alto + box autore in fondo (+ separatore orfano) */
.st-o-author .post-box-meta-single .author-post,
.st-o-author .author-italic,
.st-o-author .post-author { display: none !important; }
.st-o-author .post-box-meta-single .author-post + span::before { display: none !important; }
/* Data off */
.st-o-date .post-box-meta-single > span:not([class]) { display: none !important; }
/* Data off — card degli archivi (griglia Soledad e altri layout: span .otherl-date) */
.st-o-date .otherl-date { display: none !important; }
/* Condivisione social off */
.st-o-shr .single-post-share,
.st-o-shr .tags-share-box,
.st-o-shr .page-share,
.st-o-shr .penci-post-share-box { display: none !important; }
/* Navigazione prev/next off */
.st-o-nav .post-pagination { display: none !important; }
/* Conteggio commenti off */
.st-o-cmt .single-comment-o { display: none !important; }

/* ---- Blocco Home (widget 2/3 + 1/3) ---- */
.st-hblock { display: flex; gap: 24px; max-width: 1180px; margin: 0 auto 24px; align-items: stretch; }
.st-hblock--big-right { flex-direction: row-reverse; }
.st-hblock-big { flex: 2 1 0; min-width: 0; }
.st-hblock-small { flex: 1 1 0; min-width: 0; }
.st-hcard { position: relative; display: block; overflow: hidden; text-decoration: none; height: 100%; min-height: 300px; background: #2a2a2a center/cover no-repeat; }
.st-hcard--big { min-height: 520px; }
.st-hcard-grad { position: absolute; inset: 0; background: var(--st-hcard-grad, linear-gradient(to top, rgba(149,62,55,.94) 0%, rgba(149,62,55,.55) 32%, rgba(149,62,55,0) 60%)); }
.st-hcard-cat { position: absolute; top: 16px; left: 16px; z-index: 2; background: var(--st-primary); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; padding: 5px 12px; }
.st-hcard-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 22px 26px; color: var(--st-hcard-text, #fff); }
/* Overlay "banda": niente sfumatura, solo una striscia dietro il testo (immagine più luminosa) */
.st-hblock--band .st-hcard-grad { display: none; }
.st-hblock--band .st-hcard-body { background: var(--st-hcard-band, rgba(149,62,55,.9)); }
.st-hcard-title { display: block; font-family: var(--st-font); font-weight: 700; line-height: 1.2; margin: 0 0 8px; }
.st-hcard--big .st-hcard-title { font-size: 27px; }
.st-hcard--small .st-hcard-title { font-size: 18px; }
.st-hcard-excerpt { display: block; font-size: 14px; line-height: 1.55; margin: 0 0 10px; opacity: .95; }
.st-hcard-author { display: block; font-size: 13px; font-style: italic; opacity: .9; }
.st-hcard:hover .st-hcard-title { text-decoration: underline; }
.st-hslider { position: relative; height: 100%; overflow: hidden; }
.st-hslider-track { display: flex; height: 100%; transition: transform .5s ease; }
.st-hslider-track > .st-hcard { flex: 0 0 100%; }
.st-hslider-dots { position: absolute; bottom: 12px; left: 0; right: 0; z-index: 3; text-align: center; line-height: 0; }
.st-hslider-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); margin: 0 4px; cursor: pointer; }
.st-hslider-dots button.is-active { background: #fff; }
@media (max-width: 820px) {
	.st-hblock, .st-hblock--big-right { flex-direction: column; }
	.st-hcard--big { min-height: 360px; }
	.st-hblock-small, .st-hslider, .st-hcard--small { min-height: 300px; }
}

/* ============================================================
   Podcast — player nativo in-pagina (single-podcast.php) + archivio.
   Sostituisce il dock globale di Penci (vedi docs/11-PODCAST-PLAYER.md).
   ============================================================ */
.st-podcast-wrap { max-width: 820px; margin: 40px auto; padding: 0 20px; }
.st-podcast-series { display: inline-block; font-family: var(--st-font); font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; background: var(--st-primary); color: #fff; padding: 4px 10px; text-decoration: none; margin-bottom: 12px; }
.st-podcast-title { font-family: var(--st-font); font-size: 34px; line-height: 1.15; color: var(--st-primary); margin: 0 0 10px; }
.st-podcast-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--st-gray); margin-bottom: 22px; }
.st-podcast-cover { margin: 0 0 22px; }
.st-podcast-cover img { width: 100%; height: auto; display: block; }
.st-podcast-player { margin: 0 0 26px; }
.st-podcast-player audio { width: 100%; display: block; }
.st-podcast-noaudio { color: var(--st-gray); font-style: italic; margin: 0 0 22px; }

/* Player video (sostituisce la copertina) */
.st-podcast-video { width: 100%; height: auto; display: block; background: #000; border-radius: 8px; }
.st-podcast-video-embed { border-radius: 8px; overflow: hidden; background: #000; line-height: 0; }
.st-podcast-video-embed iframe,
.st-podcast-video-embed video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.st-podcast-videolink { color: var(--st-primary); font-weight: 600; }

/* Skin brand del player (progressive enhancement su <audio>) */
.st-player-ui { display: flex; align-items: center; gap: 14px; background: var(--st-primary); color: #fff; padding: 12px 16px; border-radius: 8px; font-family: var(--st-font); }
.st-player-play { flex: 0 0 auto; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: var(--st-primary); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; -webkit-appearance: none; appearance: none; transition: transform .15s ease; }
.st-player-play:hover { transform: scale(1.06); }
/* Icona play (triangolo) → pausa (due barre) via border/pseudo */
.st-player-icon { display: block; width: 0; height: 0; margin-left: 3px; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 13px solid currentColor; }
.st-player.is-playing .st-player-icon { width: 12px; height: 15px; margin-left: 0; border: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.st-player-bar { flex: 1 1 auto; height: 6px; background: rgba(255,255,255,.35); border-radius: 3px; cursor: pointer; overflow: hidden; }
.st-player-progress { height: 100%; width: 0; background: var(--st-accent); }
.st-player-time { flex: 0 0 auto; font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.st-player-speed { flex: 0 0 auto; min-width: 42px; border: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff; font-size: 12px; font-weight: 600; padding: 5px 8px; border-radius: 4px; cursor: pointer; }
.st-player-speed:hover { background: rgba(255,255,255,.15); }
@media (max-width: 480px) { .st-player-speed, .st-player-time { display: none; } }

/* Archivio Podcast — layout Griglia (riusa .st-news-grid) */
.st-pod-grid .st-news-media { position: relative; }
.st-pod-grid .st-pod-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 34px; color: #fff; background: rgba(149,62,55,.5); opacity: 0; transition: opacity .2s ease; }
.st-pod-grid .st-news-item:hover .st-pod-play { opacity: 1; }
.st-pod-grid .st-pod-item-series { font-family: var(--st-font); font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--st-accent); margin: 12px 0 2px; }
.st-pod-grid .st-news-title { margin-top: 4px; }
.st-podcast-content { font-size: 18px; line-height: 1.75; color: #333; }
.st-podcast-content p { margin: 0 0 1.2em; }

/* Archivio episodi */
.st-pod-archive { max-width: 900px; margin: 40px auto; padding: 0 20px; }
.st-pod-archive-title { font-family: var(--st-font); font-size: 30px; color: var(--st-primary); text-align: center; margin: 0 0 34px; }
.st-pod-list { display: flex; flex-direction: column; gap: 14px; }
.st-pod-item { display: flex; gap: 16px; align-items: center; text-decoration: none; color: inherit; border: 1px solid #e6ded9; padding: 12px; transition: box-shadow .2s ease, border-color .2s ease; }
.st-pod-item:hover { border-color: var(--st-primary); box-shadow: 0 3px 14px rgba(0,0,0,.08); }
.st-pod-item-media { position: relative; flex: 0 0 96px; width: 96px; height: 96px; overflow: hidden; background: #efe7e2; border-radius: 4px; }
.st-pod-item-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-pod-noimg { display: block; width: 100%; height: 100%; }
.st-pod-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 26px; color: #fff; background: rgba(149,62,55,.55); opacity: 0; transition: opacity .2s ease; }
.st-pod-item:hover .st-pod-play { opacity: 1; }
.st-pod-item-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.st-pod-item-series { font-family: var(--st-font); font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(--st-accent); }
.st-pod-item-title { font-family: var(--st-font); font-size: 18px; font-weight: 600; color: var(--st-primary); }
.st-pod-item-meta { font-size: 13px; color: var(--st-gray); }
.st-pod-empty { text-align: center; color: var(--st-gray); }

/* Widget "Podcast Series" di Penci incorporato nel contenuto dell'episodio:
   ristilizzato al brand (lista pulita, niente markup Penci di default). */
.st-podcast-content .pencipdc-splaylist { margin: 36px 0 0; padding-top: 22px; border-top: 2px solid var(--st-primary); }
.st-podcast-content .pencipdc-splaylist-top { display: block; margin: 0 0 12px; }
.st-podcast-content .pencipdc-splaylist-top .pcpd-splaylist-img,
.st-podcast-content .pencipdc-splaylist-top img { display: none; }
.st-podcast-content .pcpd-splaylist-content h3 { margin: 0 0 3px; font-size: 13px; }
.st-podcast-content .pcpd-splaylist-content h3 a { font-family: var(--st-font); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--st-primary); }
.st-podcast-content .penci-podcast-series-meta span { font-family: var(--st-font); font-size: 12px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--st-accent); }
.st-podcast-content .pencipdc_block_container { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.st-podcast-content .pencipdc_block_container li { list-style: none; margin: 0; padding: 0; }
.st-podcast-content .pencipdc_block_container li article { margin: 0; padding: 12px 0; border-top: 1px solid #ece4df; }
.st-podcast-content .pencipdc_block_container li:first-child article { border-top: 0; padding-top: 0; }
.st-podcast-content .pencipdc_block_container .content-list-right { display: flex; align-items: flex-start; gap: 10px; }
.st-podcast-content .pencipdc_block_container .left-play-btn { flex: 0 0 auto; padding-top: 3px; }
.st-podcast-content .pencipdc_block_container .left-play-btn::before { content: "\25B6"; color: var(--st-primary); font-size: 11px; }
.st-podcast-content .pencipdc_block_container .header-list-style { min-width: 0; }
.st-podcast-content .pencipdc_block_container .penci-entry-title { margin: 0 0 2px; font-size: 17px; line-height: 1.35; }
.st-podcast-content .pencipdc_block_container .penci-entry-title a { font-family: var(--st-font); font-weight: 600; color: var(--st-dark); transition: color .15s ease; }
.st-podcast-content .pencipdc_block_container .penci-entry-title a:hover { color: var(--st-primary); }
.st-podcast-content .pencipdc_block_container .penci-hide-tagupdated { display: none; }
.st-podcast-content .pencipdc_block_container .grid-post-box-meta { font-family: var(--st-font); font-size: 13px; color: var(--st-gray); display: flex; gap: 6px; }
.st-podcast-content .pencipdc_block_container .otherl-date::after { display: none; }
.st-podcast-content .pencipdc_block_container .grid-post-box-meta .media-duration::before { content: "\00B7\00A0"; }

body.pcdark-mode .st-podcast-content { color: var(--pctext-cl, #e6e6e6); }
body.pcdark-mode .st-pod-item { border-color: var(--pcborder-cl, #333); }
body.pcdark-mode .st-podcast-content .pencipdc_block_container li article { border-top-color: var(--pcborder-cl, #333); }
body.pcdark-mode .st-podcast-content .pencipdc_block_container .penci-entry-title a { color: var(--pctext-cl, #e6e6e6); }

@media ( max-width: 560px ) {
	.st-podcast-title { font-size: 26px; }
	.st-pod-item-media { flex-basis: 72px; width: 72px; height: 72px; }
}

/* ============================================================
   DARK MODE — adattamento dei componenti custom Salotto Toscana
   al tema scuro di Soledad (attivo con body.pcdark-mode).
   Ci agganciamo alle variabili dark del tema, con fallback se assenti:
     --pctext-cl   testo    · --pcbg-l-cl  superfici
     --pcborder-cl bordi    · --pcaccent-cl accento (hover)
   Vedi docs/06-DARK-MODE.md. Il brand (--st-primary/-accent) resta valido
   su entrambi i temi; qui sistemiamo solo i colori "chiari" hardcoded.
   ============================================================ */
body.pcdark-mode {
	/* Ridefiniamo le NOSTRE variabili di testo → chiare: così si adeguano
	   in blocco tab, link delle liste, "comune", stati vuoti, ecc. */
	--st-dark: var( --pctext-cl, #e2e2e6 );
	--st-gray: #a7a7ae;
}

/* Testi dei contenuti custom (grigi scuri hardcoded) → chiari */
body.pcdark-mode .st-locale-content,
body.pcdark-mode .st-info-line,
body.pcdark-mode .st-info-line a,
body.pcdark-mode .st-section-intro,
body.pcdark-mode .st-section-intro p,
body.pcdark-mode .penci-category-description,
body.pcdark-mode .penci-category-description-inner p,
body.pcdark-mode .st-card-excerpt,
body.pcdark-mode .st-sponsor-content,
body.pcdark-mode .st-ev-excerpt,
body.pcdark-mode .st-red-bio { color: var( --pctext-cl, #d7d7dc ); }

/* Link/etichette che usano --st-dark/--st-gray: override ESPLICITO (a prova di
   specificità, non ci affidiamo solo alla ridefinizione della variabile). */
body.pcdark-mode .st-guida-tabs a,
body.pcdark-mode .st-provincebar a,
body.pcdark-mode .st-section-list li a { color: var( --pctext-cl, #dcdce1 ); }
body.pcdark-mode .st-card-comune,
body.pcdark-mode .st-section-comune,
body.pcdark-mode .st-guida-prov label,
body.pcdark-mode .st-guida-empty { color: #a7a7ae; }

/* Superfici chiare → scure */
body.pcdark-mode .st-card,
body.pcdark-mode .st-guida-prov select { background: var( --pcbg-l-cl, #22232a ); }
body.pcdark-mode .st-card-noimg,
body.pcdark-mode .st-news-media { background: var( --pcbg-l-cl, #2a2b33 ); }

/* Dark: plate bianco dietro i loghi sponsor (su fondo scuro sarebbero poco
   visibili). Vale per il carosello (header/widget/Elementor) e per la griglia. */
body.pcdark-mode .st-sponsors { background: #fff; padding: 6px 14px; border-radius: 8px; }
body.pcdark-mode .st-sponsors-grid .st-partner-item { background: #fff; border-color: #e6ded9; }

/* Bordi chiari (intero bordo) → tenui su scuro */
body.pcdark-mode .st-card,
body.pcdark-mode .st-guida-prov select,
body.pcdark-mode .st-sponsors-grid .st-partner-item { border-color: var( --pcborder-cl, rgba( 255, 255, 255, .14 ) ); }

/* Bordi chiari (solo bottom: il top di .st-guida-filter resta brand) */
body.pcdark-mode .st-guida-filter,
body.pcdark-mode .st-provincebar,
body.pcdark-mode .st-section-list li { border-bottom-color: var( --pcborder-cl, rgba( 255, 255, 255, .14 ) ); }

/* Hover dei nostri componenti: oro (--st-accent) invece del bordeaux scuro,
   poco leggibile su fondo scuro. */
body.pcdark-mode .st-card-title a:hover,
body.pcdark-mode .st-section-list li a:hover,
body.pcdark-mode .st-provincebar a:hover,
body.pcdark-mode .st-guida-tabs a:hover,
body.pcdark-mode .st-info-line a.st-info-maps:hover { color: var( --st-accent, #e8b968 ); }

/* Dark: logo header con testo bianco su trasparente (l'originale ha fondo bianco). */
body.pcdark-mode #logo img.penci-mainlogo {
	content: url("images/logo-salotto-dark.png");
}

/* Selettore Tema chiaro/scuro nella barra dei menu (iniettato da js/st-darkmode.js) */
.st-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	float: right; /* ancorato a destra come la ricerca, non segue il menu */
	width: 40px;
	height: 58px; /* uguale all'area della ricerca → centrata sulla riga menu */
	line-height: 58px;
	margin: 0 2px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	color: #fff;
}
.st-theme-toggle:hover,
.st-theme-toggle:focus { color: var( --st-accent, #e8b968 ); outline: none; }
.st-theme-toggle .st-tt-icon {
	display: block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Stato dark: icona "sole" (torna al chiaro) */
.st-theme-toggle.is-dark .st-tt-icon {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1zm0 14a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1zM4 12a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1zm14 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1zM6.34 6.34a1 1 0 0 1 1.41 0l.71.71A1 1 0 1 1 7.05 8.46l-.71-.71a1 1 0 0 1 0-1.41zm9.49 9.49a1 1 0 0 1 1.41 0l.71.71a1 1 0 1 1-1.41 1.41l-.71-.71a1 1 0 0 1 0-1.41zm1.41-9.49a1 1 0 0 1 0 1.41l-.71.71a1 1 0 1 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0zM7.05 15.54a1 1 0 0 1 0 1.41l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1zm0 14a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1zM4 12a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1zm14 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1zM6.34 6.34a1 1 0 0 1 1.41 0l.71.71A1 1 0 1 1 7.05 8.46l-.71-.71a1 1 0 0 1 0-1.41zm9.49 9.49a1 1 0 0 1 1.41 0l.71.71a1 1 0 1 1-1.41 1.41l-.71-.71a1 1 0 0 1 0-1.41zm1.41-9.49a1 1 0 0 1 0 1.41l-.71.71a1 1 0 1 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0zM7.05 15.54a1 1 0 0 1 0 1.41l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0z'/%3E%3C/svg%3E");
}

/* ============================================================
   Template "Articolo — Rivista" (tpl-articolo-rivista.php)
   Impaginazione magazine con font/colori del brand.
   ============================================================ */
/* Header e fondo PIÙ LARGHI (page ~1400); l'articolo è largo come il menu
   principale (1170px) e resta allineato ad esso (bordo sx ~275px). */
.st-artmag-page { max-width: 1400px; margin: 40px auto; padding: 0 20px; }
.st-artmag-top { border-bottom: 1px solid #e6ded9; padding-bottom: 22px; } /* larghezza piena (page) */
.st-artmag { max-width: 1170px; margin: 34px auto 0; } /* = larghezza del menu principale */
.st-artmag-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 44px; align-items: start; }
.st-artmag-foot { margin-top: 46px; } /* larghezza piena come l'header */
.st-artmag-main { min-width: 0; }
.st-artmag-sidebar { position: sticky; top: 24px; }
.st-artmag-sidebar .widget { margin-bottom: 30px; }

.st-artmag-crumbs { font-size: 13px; color: var(--st-gray); margin-bottom: 16px; }
.st-artmag-crumbs a { color: var(--st-gray); text-decoration: none; }
.st-artmag-crumbs a:hover { color: var(--st-primary); }
.st-artmag-crumbs span { margin: 0 6px; }

.st-artmag-cat { display: inline-block; background: var(--st-primary); color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; padding: 5px 11px; text-decoration: none; margin-bottom: 14px; }
.st-artmag-title { font-family: var(--st-font); font-size: 45px; line-height: 1.12; color: var(--st-primary); margin: 0 0 16px; }
.st-artmag-occhiello { font-size: 18px; line-height: 1.55; color: #555; margin: 0 0 20px; }

.st-artmag-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--st-gray); }
.st-artmag-byinfo { display: flex; flex-direction: column; gap: 4px; line-height: 1.45; }
.st-artmag-byline-row { display: inline-flex; align-items: center; gap: 8px; }
.st-artmag-avatarlink { display: inline-flex; }
.st-artmag-avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; display: block; }
.st-artmag-byline { color: var(--st-gray); }
.st-artmag-authorname { color: var(--st-primary); font-weight: 700; text-decoration: none; }
.st-artmag-date, .st-artmag-read { color: var(--st-gray); }
.st-artmag-share { display: inline-flex; gap: 10px; flex: 0 0 auto; }
.st-artmag-share .st-share { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid #e0d5cf; background: transparent; color: var(--st-primary); transition: all .2s ease; }
.st-artmag-share .st-share:hover { background: var(--st-primary); border-color: var(--st-primary); color: #fff; }

/* Nasconde il pulsante "Segui" (Soledad Bookmark & Follow) nel box autore */
.post-author .penci-bf-follow-author-wrapper { display: none !important; }

.st-artmag-hero { margin: 0 0 32px; }
.st-artmag-hero img { width: 100%; height: auto; display: block; }
.st-artmag-hero figcaption { font-size: 13px; color: var(--st-gray); margin-top: 8px; text-align: center; }

.st-artmag-body { font-size: 18px; line-height: 1.75; color: #333; }
.st-artmag-body p { font-size: 18px; line-height: 1.75; color: #333; margin: 0 0 1.2em; }
.st-artmag-body img { max-width: 100%; height: auto; }
.st-artmag-body h2, .st-artmag-body h3 { font-family: var(--st-font); color: var(--st-primary); }
.st-artmag-body blockquote { border-left: 4px solid var(--st-accent); padding-left: 18px; margin: 1.4em 0; font-style: italic; color: #555; }
.st-artmag-body a { color: var(--st-link, var(--st-primary)); }

.st-artmag-tags { margin: 26px auto; font-size: 14px; }
.st-artmag-tags a { color: var(--st-gray); }

/* Box autore riusabile (componente) — varianti full / sidebar */
.st-authorbox-photo { border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.st-authorbox-name { font-family: var(--st-font); color: var(--st-primary); text-decoration: none; display: block; }
.st-authorbox-role { font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: var(--st-gray); }
.st-authorbox-bio { font-size: 14px; line-height: 1.6; color: #555; margin: 8px 0 0; }
.st-authorbox-eyebrow { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--st-gray); margin-bottom: 4px; }
.st-authorbox-more { display: inline-block; margin-top: 10px; font-size: 13px; color: var(--st-link, var(--st-primary)); text-decoration: none; }
.st-authorbox-more:hover { text-decoration: underline; }
.st-authorbox--full { display: flex; gap: 18px; align-items: flex-start; background: #faf6f3; border-left: 3px solid var(--st-primary); padding: 22px; margin: 32px 0; }
.st-authorbox--full .st-authorbox-photo { width: 84px; height: 84px; }
.st-authorbox--full .st-authorbox-name { font-size: 20px; }
.st-authorbox--sidebar { background: #faf6f3; border-top: 3px solid var(--st-primary); padding: 22px; margin-bottom: 30px; text-align: center; }
.st-authorbox--sidebar .st-authorbox-photo { width: 96px; height: 96px; margin: 0 auto 10px; }
.st-authorbox--sidebar .st-authorbox-name { font-size: 18px; }
.st-artmag-rel { margin: 0 0 32px; }
.st-artmag-relh { font-family: var(--st-font); font-size: 22px; color: var(--st-primary); border-bottom: 2px solid var(--st-primary); padding-bottom: 8px; margin: 0 0 20px; }

/* Titoli widget di TUTTE le sidebar (principale #sidebar + sidebar articolo Rivista)
   uniformati allo stile del fondo articolo (.st-artmag-relh): primario, bordo
   inferiore, allineati a sinistra. Neutralizza la decorazione "arrow" di Soledad. */
#sidebar .widget-title,
#sidebar .widget-title.penci-border-arrow,
.st-artmag-sidebar .widget-title {
	font-family: var(--st-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--st-primary);
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .3px;
	border-bottom: 2px solid var(--st-primary);
	padding-bottom: 7px;
	margin-bottom: 18px;
}
#sidebar .widget-title .inner-arrow,
.st-artmag-sidebar .widget-title .inner-arrow {
	border: 0;
	padding: 0;
	color: inherit;
	font-size: inherit;
}
#sidebar .widget-title::before,
#sidebar .widget-title::after,
#sidebar .widget-title .inner-arrow::before,
#sidebar .widget-title .inner-arrow::after {
	display: none !important;
	content: none !important;
	border: 0 !important;
}
.st-artmag-relgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.st-relcard { text-decoration: none; display: block; }
.st-relcard-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.st-relcard-title { display: block; margin-top: 10px; font-family: var(--st-font); font-size: 16px; line-height: 1.3; color: var(--st-dark); }
.st-relcard:hover .st-relcard-title { color: var(--st-primary); }

@media (max-width: 900px) {
	.st-artmag-grid { grid-template-columns: 1fr; }
	.st-artmag-sidebar { position: static; margin-top: 44px; }
}
@media (max-width: 820px) {
	.st-artmag-title { font-size: 30px; }
	.st-artmag-occhiello { font-size: 18px; }
	.st-artmag-relgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
	.st-artmag-relgrid { grid-template-columns: 1fr; }
	.st-artmag-share { margin-left: 0; }
}

/* Dark mode per il template articolo */
body.pcdark-mode .st-artmag-occhiello,
body.pcdark-mode .st-artmag-body,
body.pcdark-mode .st-authorbox-bio { color: var(--pctext-cl, #d7d7dc); }
body.pcdark-mode .st-artmag-body blockquote { color: var(--pctext-cl, #cfcfd4); }
body.pcdark-mode .st-authorbox--full,
body.pcdark-mode .st-authorbox--sidebar { background: var(--pcbg-l-cl, #22232a); }
body.pcdark-mode .st-artmag-top { border-color: var(--pcborder-cl, rgba(255,255,255,.14)); }
body.pcdark-mode .st-artmag-share .st-share { border-color: var(--pcborder-cl, rgba(255,255,255,.2)); color: var(--st-accent, #e8b968); }
body.pcdark-mode .st-artmag-share .st-share:hover { background: var(--st-accent, #e8b968); color: #1a1a1a; border-color: var(--st-accent, #e8b968); }

/* Voci di menu "disabilitate" (placeholder): visibili ma non cliccabili */
.st-menu-disabled > a { pointer-events: none; opacity: .45; cursor: default; }
.st-menu-disabled > a:hover { color: inherit; }

/* = Ulteriori personalizzazioni template vanno sotto = */
