/*
 * Pagina interna di Promontorio — page.php e inc/pagina.php.
 * Portata da proposte/proposta-1-pagina-a.html. Colori solo dai token --gg-* di style.css.
 * I selettori hanno due classi: le regole del kit di Elementor (.elementor-kit-N h1, a…)
 * ne hanno una più il tag, e a parità vincerebbe l'ordine di caricamento.
 */

.gg-pagina {
	background: var(--gg-paper);
	color: var(--gg-text);
	font-family: var(--gg-font-text);
}

/* ---- testata: fotografia, oppure fondo terra con l'incisione del promontorio ---- */
.gg-pagina .gg-pt {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #16202A;
	min-height: clamp(260px, 34vh, 340px);
	display: grid;
	align-items: end;
}
.gg-pagina .gg-pt-foto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	z-index: 0;
}
.gg-pagina .gg-pt-velo {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(14, 22, 28, .92) 0%, rgba(14, 22, 28, .7) 34%,
		rgba(14, 22, 28, .2) 72%, rgba(14, 22, 28, 0) 100%);
}
.gg-pagina .gg-pt-luogo {
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 3;
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: rgba(14, 22, 28, .55);
	color: #fff;
	padding: 4px 9px;
}
.gg-pagina .gg-pt-incisa {
	background: var(--gg-earth-deep);
}
.gg-pagina .gg-pt-filigrana {
	position: absolute;
	z-index: 1;
	left: -.04em;
	bottom: -.22em;
	font-family: var(--gg-font-display);
	font-weight: 700;
	font-size: clamp(120px, 19vw, 250px);
	letter-spacing: -.05em;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .06);
	white-space: nowrap;
	pointer-events: none;
}
.gg-pagina .gg-pt-incisione {
	position: absolute;
	z-index: 1;
	right: clamp(16px, 7vw, 110px);
	bottom: 26px;
	width: clamp(200px, 28vw, 360px);
	height: auto;
	aspect-ratio: 200 / 120;
	color: var(--gg-sand);
}
.gg-pagina .gg-pt .gg-wrap {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-block: 0 38px;
}
.gg-pagina .gg-pt-titolo {
	margin: 0;
	color: #fff;
	font-family: var(--gg-font-display);
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 200;
	letter-spacing: -.032em;
	line-height: 1.04;
	text-wrap: balance;
}

/* ---- fascia sabbia con le briciole ---- */
.gg-pagina .gg-pt-fascia {
	background: var(--gg-sand-light);
	border-bottom: 1px solid var(--gg-line);
}
.gg-pagina .gg-briciole ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 15px 0;
	font-family: var(--gg-font-display);
	font-size: 13px;
	letter-spacing: .05em;
	color: var(--gg-earth-deep); /* 7,7:1 sulla sabbia; il grigio tenue si fermava a 4,47 */
}
.gg-pagina .gg-briciole li + li::before {
	content: "›";
	margin-right: 8px;
	opacity: .6;
}
.gg-pagina .gg-briciole a {
	color: var(--gg-text);
	text-decoration: none;
	border-bottom: 1px solid var(--gg-sand);
}
.gg-pagina .gg-briciole a:hover {
	color: var(--gg-sea-dark);
	border-bottom-color: var(--gg-sea-dark);
}

/* ---- foglio: rimandi a sinistra, testo largo ---- */
.gg-pagina .gg-foglio {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: clamp(32px, 4.5vw, 64px);
	padding-block: clamp(40px, 5vw, 64px) clamp(56px, 7vw, 90px);
}
/* colonna che segue lo scorrimento. Se è più alta dello schermo (i quindici comuni)
   il top diventa negativo: scorre finché si vede il fondo, box contatti compreso,
   e solo allora si ferma. --gg-alto-rimandi lo misura assets/js/pagina.js */
.gg-pagina .gg-rimandi {
	position: sticky;
	top: min(24px, calc(100vh - var(--gg-alto-rimandi, 0px) - 24px));
	align-self: start;
	display: grid;
	gap: 16px;
}
.gg-pagina .gg-box {
	background: var(--gg-white);
	border-top: 3px solid var(--gg-sun);
	padding: 18px 20px 10px;
}
.gg-pagina .gg-indice {
	border-top-color: var(--gg-sand);
}
.gg-pagina .gg-box-titolo {
	margin: 0 0 6px;
	font-family: var(--gg-font-display);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-box ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.gg-pagina .gg-box li + li {
	border-top: 1px solid var(--gg-line);
}
.gg-pagina .gg-box a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 0;
	font-family: var(--gg-font-display);
	font-size: 15px;
	line-height: 1.3;
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .gg-box a::after {
	content: "›";
	color: var(--gg-earth);
}
.gg-pagina .gg-box a:hover {
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-box [aria-current="page"] {
	font-weight: 600;
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-indice a {
	font-size: 14px;
	color: var(--gg-text-soft);
}

/* contatti: area widget «Pagine interne — box contatti» */
.gg-pagina .gg-aiuto {
	background: var(--gg-sea-deep);
	color: #CFE3E5;
	padding: 20px;
	font-size: 14px;
}
/* titolo del widget classico o blocco Titolo dei widget a blocchi */
.gg-pagina .gg-aiuto :is(.gg-widget-titolo, h2, h3) {
	margin: 0 0 8px;
	font-family: var(--gg-font-display);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--gg-sun);
}
.gg-pagina .gg-aiuto p {
	margin: 0 0 10px;
}
.gg-pagina .gg-aiuto a {
	color: #fff;
	text-decoration: none;
}
.gg-pagina .gg-aiuto a:hover {
	color: var(--gg-sun);
}

/* ---- in breve: dal riassunto della pagina, una riga per punto ---- */
.gg-pagina .gg-breve {
	background: var(--gg-sand-light);
	padding: 22px 26px;
	margin: 0 0 2.4em;
}
.gg-pagina .gg-breve .gg-box-titolo {
	margin-bottom: 10px;
	color: var(--gg-earth-deep);
}
.gg-pagina .gg-breve ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
	font-size: 15.5px;
}
.gg-pagina .gg-breve li {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 10px;
}
.gg-pagina .gg-breve svg {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	color: var(--gg-earth-dark);
}

/* ---- il testo ---- */
.gg-pagina .gg-testo {
	font-size: 16.5px;
	line-height: 1.72;
}
.gg-pagina .gg-testo p {
	margin: 0 0 1.05em;
}
.gg-pagina .gg-testo h2,
.gg-pagina .gg-testo h3 {
	font-family: var(--gg-font-display);
	color: var(--gg-text);
	letter-spacing: -.02em;
	line-height: 1.2;
	text-wrap: balance;
	scroll-margin-top: 24px;
}
.gg-pagina .gg-testo h2 {
	font-size: clamp(22px, 2.4vw, 27px);
	font-weight: 600;
	margin: 2.1em 0 .75em;
}
.gg-pagina .gg-testo h3 {
	font-size: 19px;
	font-weight: 600;
	margin: 1.8em 0 .6em;
}
.gg-pagina .gg-testo > :first-child,
.gg-pagina .gg-testo h2:first-child {
	margin-top: 0;
}
.gg-pagina .gg-testo ul {
	list-style: none;
	margin: 0 0 1.25em;
	padding: 0;
}
.gg-pagina .gg-testo ul li {
	position: relative;
	padding-left: 26px;
	margin-bottom: .55em;
}
.gg-pagina .gg-testo ul li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: .62em;
	width: 8px;
	height: 8px;
	background: var(--gg-sand);
}
.gg-pagina .gg-testo li ul {
	margin: .6em 0 .2em;
}
.gg-pagina .gg-testo li li::before {
	background: none;
	border: 1.5px solid var(--gg-earth);
	border-radius: 50%;
	width: 7px;
	height: 7px;
}
.gg-pagina .gg-testo ol {
	margin: 0 0 1.25em;
	padding-left: 1.4em;
}
.gg-pagina .gg-testo a {
	color: var(--gg-sea-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* il blocco Separatore: una riga sottile del tema, non quella grigia del browser */
.gg-pagina .gg-testo hr {
	border: 0;
	border-top: 1px solid var(--gg-line);
	margin: 2.4em 0;
	opacity: 1;
}
.gg-pagina .gg-testo table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.4em;
	font-size: 15px;
}
.gg-pagina .gg-testo th,
.gg-pagina .gg-testo td {
	border-bottom: 1px solid var(--gg-line);
	padding: 10px 12px 10px 0;
	text-align: left;
	vertical-align: top;
}

/* ---- pagina successiva ---- */
.gg-pagina .gg-seguente {
	margin-top: 56px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	border-top: 3px solid var(--gg-text);
	padding-top: 18px;
	font-family: var(--gg-font-display);
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .gg-seguente small {
	display: block;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-seguente b {
	font-size: 22px;
	font-weight: 500;
}
.gg-pagina .gg-seguente svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}
.gg-pagina .gg-seguente:hover b {
	color: var(--gg-sea-dark);
}

@media (prefers-reduced-motion: no-preference) {
	html:has(.gg-pagina) {
		scroll-behavior: smooth;
	}
}

@media (max-width: 860px) {
	.gg-pagina .gg-foglio {
		grid-template-columns: 1fr;
	}
	.gg-pagina .gg-rimandi {
		position: static;
	}
}
@media (max-width: 680px) {
	.gg-pagina .gg-pt-incisione {
		opacity: .35;
	}
}

/* ============================================================
   ARCHIVIO — archive.php: categorie (notizie, Bandi e Avvisi),
   tag, date. Stessa cornice della pagina, al posto del testo
   l'elenco delle schede.
   ============================================================ */

/* numero di articoli accanto alla categoria, al posto della freccia */
.gg-pagina .gg-box .gg-conta {
	margin-left: auto;
	font-family: var(--gg-font-text);
	font-size: 12.5px;
	font-weight: 400;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-box a:has(.gg-conta)::after {
	content: none;
}

.gg-pagina .gg-elenco {
	display: grid;
	gap: 14px;
}
.gg-pagina .gg-scheda {
	position: relative;
	display: grid;
	gap: 8px;
	background: var(--gg-white);
	border-top: 3px solid var(--gg-sand);
	padding: 20px 24px 22px;
}
.gg-pagina .gg-scheda-aperto {
	border-top-color: var(--gg-sun);
}
.gg-pagina .gg-scheda-riga {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	align-items: center;
	margin: 0;
	font-size: 13px;
	color: var(--gg-text-soft);
}
/* lo stato è scritto a parole, non solo col colore (WCAG 1.4.1) */
.gg-pagina .gg-stato {
	font-family: var(--gg-font-display);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	padding: 3px 8px;
}
.gg-pagina .gg-stato-aperto {
	background: var(--gg-sun);
	color: var(--gg-text);
}
.gg-pagina .gg-stato-chiuso {
	background: #EDE8DC;
	color: var(--gg-earth-deep);
}
.gg-pagina .gg-scheda-titolo {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: clamp(17px, 1.6vw, 19.5px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
}
.gg-pagina .gg-scheda-titolo a {
	color: var(--gg-text);
	text-decoration: none;
}
/* tutta la scheda è cliccabile, il link resta uno solo */
.gg-pagina .gg-scheda-titolo a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.gg-pagina .gg-scheda:hover .gg-scheda-titolo a {
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-scheda:focus-within {
	outline: 3px solid var(--gg-sea-dark);
	outline-offset: 2px;
}
.gg-pagina .gg-scheda-titolo a:focus-visible {
	outline: none;
}
.gg-pagina .gg-scheda-testo {
	margin: 0;
	font-size: 15px;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-scheda-vai {
	font-family: var(--gg-font-display);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gg-sea-dark);
}
/* la stessa scheda come modello «Scheda» del Loop Grid, dentro una pagina: le classi
   stanno sugli involucri dei widget, e le regole del testo su h3, p e a pesano di più */
.gg-pagina .gg-scheda:has(.gg-stato-aperto) {
	border-top-color: var(--gg-sun);
}
.gg-pagina .gg-scheda .elementor-widget {
	position: static; /* il link del titolo copre tutta la scheda, non solo il widget */
}
.gg-pagina .gg-testo .gg-scheda p,
.gg-pagina .gg-testo .gg-scheda ul {
	margin: 0;
}
/* la data è un widget Informazioni articolo, cioè un elenco: niente quadratino del testo */
.gg-pagina .gg-testo .gg-scheda ul li {
	padding-left: 0;
	margin: 0;
}
.gg-pagina .gg-testo .gg-scheda ul li::before {
	content: none;
}
.gg-pagina .gg-testo .gg-scheda-titolo .elementor-heading-title {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: clamp(17px, 1.6vw, 19.5px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.01em;
}
.gg-pagina .gg-testo .gg-scheda-titolo a {
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .gg-scheda-riga .elementor-icon-list-text,
.gg-pagina .gg-scheda-testo .elementor-widget-container {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: 1.6;
}
/* le tessere delle azioni (modello «Azione» del Loop Grid, pagina Azioni del PDA):
   «Azione 1» in grande e leggero, sotto il nome; tutta la tessera è cliccabile */
.gg-pagina .gg-tessera {
	position: relative;
	gap: 10px;
	height: 100%;
	min-height: 170px;
	background: var(--gg-white);
	border-top: 3px solid var(--gg-sand);
	padding: 20px 18px 22px;
}
.gg-pagina .gg-tessera:hover {
	border-top-color: var(--gg-sea-dark);
}
.gg-pagina .gg-tessera:focus-within {
	outline: 3px solid var(--gg-sea-dark);
	outline-offset: 2px;
}
.gg-pagina .gg-tessera .elementor-widget {
	position: static;
}
.gg-pagina .gg-testo .gg-tessera-n .elementor-heading-title {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: 26px;
	font-weight: 200;
	line-height: 1.1;
	letter-spacing: -.02em;
}
.gg-pagina .gg-testo .gg-tessera-n a {
	color: var(--gg-earth-deep);
	text-decoration: none;
}
.gg-pagina .gg-tessera-n a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.gg-pagina .gg-tessera-n a:focus-visible {
	outline: none;
}
.gg-pagina .gg-tessera-nome .elementor-widget-container {
	font-family: var(--gg-font-display);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--gg-text);
}
.gg-pagina .gg-tessera:hover .gg-tessera-nome .elementor-widget-container {
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-testo .gg-tessera p {
	margin: 0;
}
.gg-pagina .gg-descrizione {
	margin-bottom: 28px;
}
.gg-pagina .gg-vuoto {
	margin: 0;
	font-size: 16.5px;
}

/* numeri di pagina: the_posts_pagination() */
.gg-pagina .pagination {
	margin-top: 34px;
}
.gg-pagina .pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-family: var(--gg-font-display);
	font-size: 14px;
}
.gg-pagina .pagination .page-numbers {
	min-width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	padding-inline: 10px;
	background: var(--gg-white);
	border: 1px solid var(--gg-line);
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .pagination .page-numbers.current {
	background: var(--gg-text);
	border-color: var(--gg-text);
	color: #fff;
}
.gg-pagina .pagination a.page-numbers:hover {
	border-color: var(--gg-sea-dark);
	color: var(--gg-sea-dark);
}
.gg-pagina .pagination .dots {
	background: none;
	border: 0;
}

/* ============================================================
   ARTICOLO — single.php: bandi e notizie.
   ============================================================ */

/* stato e data sopra il titolo; titoli dei bandi lunghi: corpo più piccolo */
.gg-pagina .gg-pt-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	margin: 0 0 14px;
	font-size: 13.5px;
	color: #E4DCCB;
}
.gg-pagina .gg-pt-lungo .gg-pt-titolo {
	font-size: clamp(28px, 3.6vw, 44px);
	font-weight: 300;
	line-height: 1.1;
	max-width: 26ch;
}

/* la locandina: intera, mai tagliata — è quasi sempre una grafica con scritte */
.gg-pagina .gg-locandina {
	margin: 0;
	background: var(--gg-white);
	padding: 8px;
}
.gg-pagina .gg-locandina img {
	display: block;
	width: 100%;
	height: auto;
}
.gg-pagina .gg-altri a {
	font-size: 14px;
	line-height: 1.35;
}

/* le sezioni del testo: il livello lo sceglie gal_gargano_indice(), h2 nelle pagine,
   h4 nei bandi costruiti con Elementor */
.gg-pagina .gg-testo .gg-sezione {
	font-family: var(--gg-font-display);
	font-size: clamp(21px, 2.3vw, 26px);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--gg-text);
	margin: 1.9em 0 .7em;
	padding-top: .9em;
	border-top: 1px solid var(--gg-line);
	scroll-margin-top: 24px;
}
.gg-pagina .gg-testo .gg-sezione:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}
.gg-pagina .gg-testo h4:not(.gg-sezione) {
	font-family: var(--gg-font-display);
	font-size: 17px;
	font-weight: 600;
	margin: 1.6em 0 .5em;
}

/* quello che arriva dall'editor: paragrafi vuoti, elenchi annidati senza testo */
.gg-pagina .gg-testo p:empty {
	display: none;
}
.gg-pagina .gg-testo li:has(> ul:only-child) {
	padding-left: 0;
}
.gg-pagina .gg-testo li:has(> ul:only-child)::before {
	content: none;
}

/* documenti da scaricare: gal_gargano_documenti() segna con .gg-doc i link a un file che
   occupano da soli una voce d'elenco o un paragrafo; il tipo di file si legge scritto */
.gg-pagina .gg-testo li:has(> .gg-doc) {
	padding-left: 0;
	margin-bottom: 6px;
}
.gg-pagina .gg-testo li:has(> .gg-doc)::before {
	content: none;
}
.gg-pagina .gg-testo .gg-doc {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	background: var(--gg-white);
	border: 1px solid var(--gg-line);
	border-left: 3px solid var(--gg-sand);
	padding: 12px 16px;
	font-size: 15px;
	line-height: 1.35;
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .gg-testo .gg-doc:hover {
	border-left-color: var(--gg-sea-dark);
	color: var(--gg-sea-dark);
}
/* un pulsante Elementor nel testo tiene il colore del suo testo: senza questa regola
   `.gg-testo a` lo colorava come lo sfondo e l'etichetta spariva */
.gg-pagina .gg-testo a.elementor-button {
	color: var(--gg-white);
	text-decoration: none;
}
/* il pulsante Elementor che punta a un file prende la stessa riga; la classe ripetuta
   pareggia il peso del CSS che Elementor scrive per ogni widget (lessons.md) */
.gg-pagina .gg-testo .elementor-widget-button .elementor-button.elementor-button:is([href*=".pdf" i], [href*=".doc" i], [href*=".xls" i], [href*=".zip" i]) {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	width: 100%;
	background: var(--gg-white);
	border: 1px solid var(--gg-line);
	border-left: 3px solid var(--gg-sand);
	border-radius: 0;
	box-shadow: none;
	padding: 12px 16px;
	font-family: var(--gg-font-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: var(--gg-text);
	text-decoration: none;
}
.gg-pagina .gg-testo .elementor-widget-button .elementor-button.elementor-button:is([href*=".pdf" i], [href*=".doc" i], [href*=".xls" i], [href*=".zip" i])::after {
	content: "↓";
	flex: none;
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-testo .elementor-widget-button .elementor-button.elementor-button:is([href*=".pdf" i], [href*=".doc" i], [href*=".xls" i], [href*=".zip" i]):hover {
	border-left-color: var(--gg-sea-dark);
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-testo .gg-doc-tipo {
	flex: none;
	font-family: var(--gg-font-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 3px 7px;
	background: var(--gg-sand-light);
	color: var(--gg-earth-deep);
}

.gg-pagina .gg-torna {
	display: inline-block;
	margin-top: 44px;
	font-family: var(--gg-font-display);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gg-sea-dark);
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: 2px;
}

/* stato e data in testata, più evidenti della prima versione */
.gg-pagina .gg-pt-meta {
	font-size: 15.5px;
	gap: 10px 18px;
	margin-bottom: 18px;
}
.gg-pagina .gg-pt-meta .gg-stato {
	font-size: 13px;
	padding: 5px 11px;
}
.gg-pagina .gg-pt-meta b {
	color: #fff;
	font-weight: 600;
}

/* «Dati dell'avviso»: sotto la locandina, su sabbia per staccarsi dai box bianchi.
   Sulla sabbia il grigio tenue non passa l'AA (4,47:1): etichette in terra scura */
.gg-pagina .gg-dati {
	background: var(--gg-sand-light);
	border-top: 3px solid var(--gg-earth-deep);
	padding: 18px 20px 12px;
}
.gg-pagina .gg-dati .gg-box-titolo {
	color: var(--gg-earth-deep);
}
.gg-pagina .gg-dati dl {
	display: grid;
	margin: 0;
}
.gg-pagina .gg-dati dl > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
}
.gg-pagina .gg-dati dl > div + div {
	border-top: 1px solid var(--gg-sand);
}
.gg-pagina .gg-dati dt {
	font-size: 13px;
	color: var(--gg-earth-deep);
}
.gg-pagina .gg-dati dd {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: 15px;
	font-weight: 500;
	text-align: right;
	color: var(--gg-text);
}
.gg-pagina .gg-dati dd a {
	color: var(--gg-sea-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============================================================
   MODELLO «LARGA, SENZA COLONNA» E PAGINA CONTATTI
   Il corpo è un modello Elementor (template/elementor/build-contatti.py): la
   redazione cambia numeri, ruoli e orari a vista. Qui solo l'aspetto, sulle
   classi del modello. Le regole puntano all'elemento vero dentro l'involucro
   del widget (.elementor-heading-title, .elementor-button…): vedi lessons.md.
   ============================================================ */
.gg-pagina .gg-foglio-larga {
	grid-template-columns: minmax(0, 1fr);
}
.gg-pagina .gg-contatti.e-con {
	gap: clamp(40px, 5vw, 60px);
}
.gg-pagina .gg-contatti .gg-blocco.e-con {
	gap: 0;
}
.gg-pagina .gg-testo .gg-contatti .gg-eti .elementor-heading-title {
	font-family: var(--gg-font-display);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gg-earth-deep);
	margin: 0 0 14px;
}
.gg-pagina .gg-contatti p {
	margin: 0;
}

/* le tre azioni: Box con icona, tutto il riquadro cliccabile */
.gg-pagina .gg-azioni.e-con {
	gap: 16px;
}
.gg-pagina .gg-azioni > .gg-azione {
	flex: 1 1 0;
}
.gg-pagina .gg-azione .elementor-widget-container {
	height: 100%;
	background: var(--gg-white);
	border-top: 3px solid var(--gg-sun);
	padding: 20px 22px;
	transition: box-shadow .2s;
}
.gg-pagina .gg-azione:hover .elementor-widget-container {
	box-shadow: 0 8px 22px rgba(78, 67, 53, .12);
}
/* Elementor sul telefono porta l'icona sopra il testo (posizione «top» di default):
   qui resta accanto, con una classe in più per vincere sulla sua regola */
.gg-pagina .gg-contatti .gg-azione .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 14px;
	text-align: left;
}
.gg-pagina .gg-azione .elementor-icon-box-icon {
	margin: 0;
	line-height: 0;
}
/* il colore dell'icona Elementor lo scrive col proprio CSS di pagina, caricato dopo: qui una classe in più */
.gg-pagina .gg-contatti .gg-azione .elementor-icon,
.gg-pagina .gg-contatti .gg-azione .elementor-icon i {
	font-size: 30px;
	color: var(--gg-sea-dark);
}
.gg-pagina .gg-contatti .gg-azione .elementor-icon svg {
	width: 30px;
	height: 30px;
	fill: var(--gg-sea-dark);
}
.gg-pagina .gg-testo .gg-azione .elementor-icon-box-title {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-testo .gg-azione a {
	color: inherit;
	text-decoration: none;
}
.gg-pagina .gg-azione .elementor-icon-box-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.gg-pagina .gg-azione .elementor-icon-box-description {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: 16px; /* a 18 l'indirizzo email non sta in un terzo di riga e va a capo a metà */
	font-weight: 500;
	line-height: 1.3;
	color: var(--gg-text);
	overflow-wrap: anywhere;
}

/* chi scrivere e orari, affiancati */
.gg-pagina .gg-due.e-con {
	gap: clamp(32px, 4.5vw, 64px);
}
.gg-pagina .gg-due > .e-con:first-child { flex: 1.35 1 0; }
.gg-pagina .gg-due > .e-con:last-child { flex: 1 1 0; }
.gg-pagina .gg-rubrica.e-con {
	gap: 0;
	border-top: 1px solid var(--gg-line);
}
/* una riga: chi e a cosa serve a sinistra, l'indirizzo a destra */
.gg-pagina .gg-contatti .gg-voce.e-con {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2px 20px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--gg-line);
}
.gg-pagina .gg-voce > .gg-chi { grid-column: 1; }
.gg-pagina .gg-voce > .gg-nota-voce { grid-column: 1; grid-row: 2; }
.gg-pagina .gg-voce > .gg-mail { grid-column: 2; grid-row: 1 / span 2; }
.gg-pagina .gg-testo .gg-chi .elementor-heading-title {
	margin: 0;
	font-family: var(--gg-font-display);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.35;
	color: var(--gg-text);
}
.gg-pagina .gg-nota-voce {
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-testo .gg-mail .elementor-heading-title {
	margin: 0;
	font-family: var(--gg-font-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.gg-pagina .gg-testo .gg-mail a {
	color: var(--gg-sea-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.gg-pagina .gg-orari table {
	margin: 0;
	border: 0;
}
/* via righe a zebra e griglia di Hello Elementor: restano solo i filetti orizzontali */
.gg-pagina .gg-orari th,
.gg-pagina .gg-orari td {
	border: 0;
	border-bottom: 1px solid var(--gg-line);
	background: none;
	padding: 10px 12px 10px 0;
}
.gg-pagina .gg-orari thead th {
	font-family: var(--gg-font-display);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gg-text-soft);
}
.gg-pagina .gg-orari tbody th {
	font-family: var(--gg-font-display);
	font-weight: 500;
}
.gg-pagina .gg-orari .gg-nota {
	margin-top: 10px;
	font-size: 13.5px;
	color: var(--gg-text-soft);
}

/* la sede: indirizzo e mappa su sabbia */
.gg-pagina .gg-sede.e-con {
	gap: clamp(24px, 3.5vw, 44px);
	align-items: center;
	background: var(--gg-sand-light);
	padding: clamp(22px, 3vw, 34px);
}
.gg-pagina .gg-sede > .e-con { flex: 1 1 0; }
.gg-pagina .gg-sede > .gg-mappa { flex: 1.5 1 0; }
.gg-pagina .gg-indirizzo {
	font-size: 17px;
	line-height: 1.55;
}
.gg-pagina .gg-testo .gg-vai .elementor-button {
	margin-top: 14px;
	background: none;
	border: 0;
	border-bottom: 2px solid currentColor;
	border-radius: 0;
	padding: 0 0 2px;
	font-family: var(--gg-font-display);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--gg-sea-dark);
	text-decoration: none;
}
.gg-pagina .gg-vai .elementor-button-text::after {
	content: " ↗";
}
.gg-pagina .gg-ente {
	margin-top: 18px;
	font-size: 13.5px;
	color: var(--gg-text-soft);
}

/* la mappa del Gargano con la sede ([gg-mappa-sede]); colori di resa cartografica come in home */
.gg-pagina .gg-mappa-sede {
	margin: 0;
	background: var(--gg-white);
	border: 1px solid var(--gg-line);
}
.gg-pagina .gg-mappa-sede svg {
	display: block;
	width: 100%;
	height: auto;
}
.gg-pagina .gg-mappa-sede .nome {
	font-family: var(--gg-font-text);
	font-size: 11px;
	font-weight: 500;
	fill: #3C4043;
	paint-order: stroke;
	stroke: #FFFFFF;
	stroke-width: 3;
	stroke-linejoin: round;
}
.gg-pagina .gg-mappa-sede .acqua text {
	font-family: var(--gg-font-text);
	font-size: 11.5px;
	font-style: italic;
	fill: #14558A;
	letter-spacing: .06em;
	paint-order: stroke;
	stroke: #AADAFF;
	stroke-width: 3;
}
.gg-pagina .gg-mappa-sede .parco {
	font-family: var(--gg-font-text);
	font-size: 11px;
	fill: #2E6B36;
	paint-order: stroke;
	stroke: #CDE8C6;
	stroke-width: 3;
}
.gg-pagina .gg-mappa-sede .misura {
	font-family: var(--gg-font-text);
	font-size: 11px;
	fill: #5F6368;
}
.gg-pagina .gg-mappa-sede .pin { fill: #A79A86; }
.gg-pagina .gg-mappa-sede .strade .casing { stroke: #E6C97A; stroke-width: 7; }
.gg-pagina .gg-mappa-sede .strade .casing2 { stroke: #DFDCD4; stroke-width: 6; }
.gg-pagina .gg-mappa-sede .strade .grande { stroke: #FBD85D; stroke-width: 4.5; }
.gg-pagina .gg-mappa-sede .strade .minore { stroke: #FFFFFF; stroke-width: 3.5; }
.gg-pagina .gg-mappa-sede .sede circle {
	fill: rgba(248, 173, 3, .32);
	stroke: var(--gg-sun);
	stroke-width: 2;
}
.gg-pagina .gg-mappa-sede .sede use { fill: var(--gg-earth-deep); }

.gg-pagina .gg-foglio-larga .post-views {
	margin-top: 28px;
}

@media (max-width: 860px) {
	.gg-pagina .gg-azioni.e-con,
	.gg-pagina .gg-due.e-con,
	.gg-pagina .gg-sede.e-con { flex-direction: column; align-items: stretch; }
	.gg-pagina .gg-azioni > .gg-azione,
	.gg-pagina .gg-due > .e-con,
	.gg-pagina .gg-sede > * { flex: none; width: 100%; }
}
@media (max-width: 560px) {
	/* sul telefono la mappa intera scende a ~280 px e i nomi diventano illeggibili:
	   si inquadra la zona della sede a grandezza piena. Sede a (351,301) su 640×440 */
	.gg-pagina .gg-mappa-sede {
		position: relative;
		aspect-ratio: 5 / 4;
		overflow: hidden;
	}
	.gg-pagina .gg-mappa-sede svg {
		position: absolute;
		width: 180%;
		max-width: none;
		left: -48.8%;
		top: -55.8%;
	}
	/* la scala dei 10 km resta tagliata a metà e, ingrandita, non è più vera */
	.gg-pagina .gg-mappa-sede .ui { display: none; }
	.gg-pagina .gg-sede.e-con { padding: 18px; }
	.gg-pagina .gg-contatti .gg-voce.e-con { grid-template-columns: 1fr; }
	.gg-pagina .gg-voce > .gg-mail { grid-column: 1; grid-row: auto; }
}
