/*
Scheda di un luogo da visitare — fase F5, ultimo pezzo.

SCOPO
Dare forma alla pagina piu importante del sito dopo la home senza toccare una
riga di markup: single-luoghi_da_visitare.php e partials/loop-single-visitare.php
restano come sono. Qui si scavalca solo il CSS.

ORDINE DI CARICAMENTO
library/joints.php riga 191 accoda questo foglio solo su is_singular(
'luoghi_da_visitare' ) e per ultimo, con dipendenza dichiarata da vc-tokens,
style.css, vc-mobile.css e vc-nav.css. A parita di specificita vince l'ultima
regola dichiarata: la tecnica di tutto il file e una sola, replicare la
specificita esatta della regola da battere e arrivare dopo. In questo file non
c'e nessun !important.

I BREAKPOINT sono quelli di Foundation 5 gia in uso: small fino a 40em, medium
da 40.063em, large da 64.063em. Le media query non accettano var(), quindi i
valori sono scritti per esteso come in vc-grid.css, vc-mobile.css e vc-nav.css.

NON SI TOCCANO .row, .columns, .large-*, .medium-*, .small-*: nessuna
dichiarazione di questo foglio ha per bersaglio una di quelle classi. Dove
compaiono in un selettore sono solo antenati usati per raggiungere altro, e
l'unica proprieta che aggiungo a un elemento di griglia e verticale (padding e
margine sopra e sotto), che in Foundation la griglia non governa. L'unica
eccezione e dichiarata e vive dentro @media print, sezione 8.

--------------------------------------------------------------------------
QUATTRO COSE DEL BRIEF CHE LA LETTURA DEI FILE HA SMENTITO. Stanno in cima
cosi non sfuggono a nessuno; sono spiegate per esteso nella relazione.

1. GALLERIA, MAPPA E CORRELATI NON SONO DENTRO the_content(). Sono tre <div
   class="row"> stampati da single-luoghi_da_visitare.php DOPO </article>
   (righe 55-91), ciascuno con una sola colonna large-12. Le prime due hanno un
   <h3> scritto a mano nel template ("Galleria Fotografica", "Dove si trova");
   la terza no, il titolo se lo porta il carosello. Percio i selettori della
   sezione 6 partono da #content e non da .entry-content.

2. L'IMMAGINE DI APERTURA STA PRIMA DEL TITOLO, non dentro il contenuto:
   the_post_thumbnail('large') e stampata in un <div> nudo alle righe 29-38,
   cioe prima di get_template_part della loop. In pagina l'ordine e immagine,
   poi <h1>. Il "non deve incollarsi al titolo" vale quindi al contrario.

3. LA COLONNA LATERALE NON HA NESSUNA CLASSE PROPRIA. E
   <section class="large-4 medium-4 small-12 columns"> e le classi di griglia
   sono off limits. L'unico appiglio stabile e la sua adiacenza alla colonna
   del testo, che una classe ce l'ha: .entry-content + section. E la maniglia
   usata in tutto il file.

4. STICKY SULLA COLONNA SI PUO FARE, contrariamente al dubbio del brief. Il
   genitore e si un .row con due float, ma vc-grid.css gli da il clearfix con
   ::before e ::after (righe 62-70): la riga contiene i float e la sua altezza
   e quella della colonna piu alta, cioe del testo lungo. La corsa disponibile
   c'e tutta. Verificate anche le due condizioni che di solito uccidono sticky:
   nessun antenato ha overflow diverso da visible (cercato in style.css,
   vc-grid.css e vc-foundation-core.css), e .off-canvas-wrap usa apposta
   overflow-x: clip, che ritaglia senza creare un contenitore di scorrimento
   (vc-nav.css sezione 6). Dettagli e riserve nella sezione 5.
--------------------------------------------------------------------------
*/

/* ===============================================================
   0. Variabili locali

   Stanno qui e non in vc-tokens.css perche questa fase tocca un file solo.
   Ogni valore poggia su un token dove il token esiste, e ogni var() porta con
   se il proprio ripiego, qui e in ogni punto d'uso.

   PERCHE DUE LIVELLI DI OMBRA E DUE RAGGI, ed e il cuore della sezione 6.
   Oggi i tre blocchi sotto l'articolo usano numeri tutti diversi e nessuno
   uguale a un altro: raggio 6px sulle miniature, 10px sulle schede correlate e
   sull'iframe della mappa, ombra assente sulla galleria, 0 8px 18px sulle
   schede, 0 14px 35px su .vc-map-canvas. Qui i valori diventano due soli, uno
   per le superfici grandi e uno per le piccole, e i tre blocchi cominciano a
   parlarsi. I numeri scelti sono quelli gia usati dalle schede correlate: e la
   parte che oggi si vede meglio, quindi e lei a dettare il resto.
   =============================================================== */

:root {
	/* Superfici */
	--vc-scheda-fondo: #f4f7f9;
	--vc-scheda-linea: rgba(17, 39, 61, 0.12);
	--vc-scheda-linea-forte: rgba(17, 39, 61, 0.2);

	/*
	   Testo. Il blu profondo per i titoli, il blu del brand per le
	   intestazioni di sezione, l'ardesia per le etichette secondarie.
	   Misurati sul fondo della scheda, che e appena piu scuro del bianco:
	   #11273d 15.2:1, #374a66 8.3:1, #5e6b76 5.1:1. Tutti sopra il 4.5:1 del
	   criterio 1.4.3, il piu tenue con margine sufficiente anche a corpo
	   piccolo.
	*/
	--vc-scheda-testo-forte: var(--vc-colore-blu-scuro, #11273d);
	--vc-scheda-testo: var(--vc-colore-blu, #374a66);
	--vc-scheda-testo-tenue: var(--vc-colore-ardesia, #5e6b76);

	/*
	   Accento e messa a fuoco. #007095 su fondo chiaro da 5.2:1, sopra il 3:1
	   che il criterio 1.4.11 chiede a un elemento grafico; l'ambra e per le
	   sole superfici scure (il lightbox), dove il blu acceso sparirebbe. E la
	   stessa coppia, e per lo stesso motivo, di vc-nav.css.
	*/
	--vc-scheda-accento: var(--vc-colore-blu-acceso, #007095);
	--vc-scheda-accento-scuro: var(--vc-colore-ambra, #f39207);

	/* Forme condivise dai tre blocchi sotto l'articolo */
	--vc-scheda-raggio: 10px;
	--vc-scheda-raggio-piccolo: var(--vc-raggio-2, 6px);
	--vc-scheda-ombra: 0 8px 18px rgba(18, 40, 63, 0.08);
	--vc-scheda-ombra-piccola: 0 2px 6px rgba(18, 40, 63, 0.1);

	/* Distanza verticale fra un blocco e il successivo. Un valore solo, usato
	   tre volte: e cio che rende i tre blocchi una sequenza invece di tre
	   isole. */
	--vc-scheda-stacco: var(--vc-spazio-8, 3.75rem);
}

/* ===============================================================
   1. Apertura: immagine di testata e titolo

   L'ordine reale in pagina e immagine, titolo, testo (vedi il punto 2 del
   cappello). L'immagine e un <img> dentro un <div> senza classe, primo figlio
   di #main: la raggiungo per posizione, che qui e stabile perche quel <div> e
   scritto a mano nel template e non generato.
   =============================================================== */

/*
   L'immagine NON viene stirata a tutta colonna.

   the_post_thumbnail('large') serve al massimo 1024px di larghezza, mentre su
   schermo grande la colonna ne misura circa 1262: un width: 100% la
   ingrandirebbe di quasi un quarto, cioe la sfocherebbe. Centrata resta
   nitida, e il vuoto ai lati si legge come margine e non come errore.
*/
#main > div:first-child {
	margin-bottom: var(--vc-spazio-6, 2.8125rem);
}

#main > div:first-child img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: var(--vc-scheda-raggio, 10px);
	box-shadow: var(--vc-scheda-ombra, 0 8px 18px rgba(18, 40, 63, 0.08));
}

/*
   La testata dell'articolo.

   Il titolo aveva zero aria intorno e nessuna separazione dal testo che segue.
   La riga sottile sotto il titolo fa due cose insieme: chiude l'intestazione e
   apre il corpo, senza aggiungere colore ne peso.

   Il padding-bottom sta sul <header> e non sul <h1> perche la riga deve
   arrivare a tutta larghezza dell'articolo, non alla larghezza del titolo.
*/
.article-header {
	margin: 0 0 var(--vc-spazio-4, 1.875rem);
	padding-bottom: var(--vc-spazio-3, 1.40625rem);
	border-bottom: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
}

/*
   Il corpo del titolo NON viene ridichiarato: vc-mobile.css da a h1 la scala
   fluida --vc-h1-fluido (34px a 320px di finestra, 44px da 641px in su) e
   riscriverla qui vorrebbe dire o ripeterla, o contraddirla. Si toccano solo
   le proprieta che quella scala non governa.

   line-height 1.15 invece dell'1.4 di Foundation: a 44px, 1.4 lascia fra due
   righe di titolo lo stesso vuoto che c'e fra due paragrafi, e un nome lungo
   si legge come due frasi separate. Sotto 1.1 le maiuscole accentate
   toccherebbero la riga sopra, quindi 1.15 e il minimo prudente.
*/
.entry-title.single-title {
	margin: 0;
	color: var(--vc-scheda-testo-forte, #11273d);
	line-height: 1.15;
}

/* ===============================================================
   2. Il corpo del testo

   ATTENZIONE, e il limite dichiarato di questa fase. Orari e giorni di
   chiusura sono testo libero scritto a mano dentro il contenuto, in grassetto
   dentro un paragrafo qualsiasi: non sono campi strutturati e nessun selettore
   li puo isolare in modo affidabile. Qualunque p:nth-child() o aggancio a
   <strong> costruirebbe un riquadro finto che si rompe al primo articolo
   scritto in modo diverso. Qui non c'e nessun tentativo del genere: la
   proposta onesta sta nella relazione, non nel foglio.

   La lunghezza di riga e l'interlinea dei paragrafi le fissa gia vc-mobile.css
   (70ch e 1.7 sui figli diretti di .entry-content nelle .single): non sono
   ripetute e non sono contraddette.
   =============================================================== */

/*
   I link dentro il testo si distinguono SOLO per colore, e non basta.

   vc-foundation-core.css da ad "a" text-decoration: none e style.css li porta
   a #003882. Il contrasto fra quel blu e il nero del testo e circa 1.6:1,
   sotto il 3:1 che il criterio 1.4.1 chiede quando il colore e l'unico
   segnale: chi non distingue quel blu dal nero non vede che c'e un link.
   La sottolineatura e limitata ai link dentro paragrafi ed elenchi del
   contenuto: schede, pulsanti e navigazione non sono toccati.
*/
.entry-content p a,
.entry-content li a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/*
   Il grassetto del testo pratico. Non costruisce nessun riquadro e non assume
   niente sul contenuto: cambia solo il colore di cio che l'autore ha gia
   scelto di mettere in evidenza, cosi "Orari:" e "Giorni di chiusura:" si
   trovano scorrendo la pagina con l'occhio. Se un domani il grassetto verra
   usato per altro, il peggio che succede e che anche quello sara blu scuro.
*/
.entry-content strong,
.entry-content b {
	color: var(--vc-scheda-testo-forte, #11273d);
}

/*
   Il piede dell'articolo. the_tags() non stampa nulla quando il post non ha
   tag, ma il <p class="tags"> resta comunque nel markup e lascia uno spazio
   vuoto sotto il testo. :empty lo riconosce con certezza, perche in quel caso
   il paragrafo e davvero privo di figli e di testo.
*/
.article-footer .tags:empty {
	display: none;
}

.article-footer .tags {
	margin: var(--vc-spazio-4, 1.875rem) 0 0;
	color: var(--vc-scheda-testo-tenue, #5e6b76);
	font-size: 0.875rem;
}

/* ===============================================================
   3. La colonna laterale come scheda dei servizi

   Oggi non e una colonna: e un elenco di cose messe una sotto l'altra. Due
   <h3> nudi, una tendina di sistema e cinque lettori audio grezzi. Su una
   scheda in cinque lingue con l'audioguida e la parte che il visitatore usa
   davvero, quindi diventa un blocco unico e riconoscibile.

   LA MANIGLIA. Il <section> non ha classi proprie e quelle di griglia sono off
   limits, quindi l'appiglio e .entry-content + section: specificita (0,1,1),
   piu che sufficiente contro tutto cio che c'e da battere, e stabile finche le
   due colonne restano in quest'ordine nel partial. Se un domani vengono
   invertite, questa sezione smette di applicarsi in blocco e non a meta: e il
   rischio dichiarato del foglio.

   PADDING SOLO VERTICALE. Il padding orizzontale della colonna resta quello
   della griglia (0.9375rem per lato) e non viene sfiorato. Dentro la sezione
   ci sono altri due <div class="...columns"> annidati che aggiungono i propri
   0.9375rem: il testo risulta percio rientrato di 30px dal bordo della scheda,
   che su una colonna da circa 400px e un margine giusto, non un difetto. E la
   ragione per non azzerarli: toccarli sarebbe stato toccare la griglia per
   guadagnare niente.
   =============================================================== */

.entry-content + section {
	padding-top: var(--vc-spazio-4, 1.875rem);
	padding-bottom: var(--vc-spazio-4, 1.875rem);
	background: var(--vc-scheda-fondo, #f4f7f9);
	border: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	border-radius: var(--vc-scheda-raggio, 10px);
	color: var(--vc-scheda-testo-forte, #11273d);
}

/* Su telefono la colonna si impila sotto il testo e il margine superiore e
   l'unica cosa che le impedisce di sembrare la coda dell'articolo. Su medium e
   large le due colonne sono affiancate e lo stesso margine la farebbe partire
   piu in basso del testo: percio sta solo qui. */
@media only screen and (max-width: 40em) {

	.entry-content + section {
		margin-top: var(--vc-spazio-6, 2.8125rem);
	}
}

/* ---------------------------------------------------------------
   3.1 Le due intestazioni interne

   Sono <h3> senza classe, quindi il selettore deve passare per la colonna.
   Da titoli vaganti diventano etichette di sezione: corpo piccolo, maiuscolo
   spaziato, peso medio e una riga sottile sotto. Il maiuscolo e sostenibile
   perche le due parole sono corte e fisse ("Language", "Audioguide"): su un
   testo lungo sarebbe illeggibile.

   Specificita (0,1,2) contro la (0,0,1) di "h3" in vc-mobile.css e la (0,1,0)
   di "h3, .h3" in style.css: la scala fluida dei titoli non si applica qui, ed
   e voluto, un'etichetta di colonna non e un titolo di sezione.
   --------------------------------------------------------------- */
.entry-content + section h3 {
	margin: var(--vc-spazio-4, 1.875rem) 0 var(--vc-spazio-2, 0.9375rem);
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	color: var(--vc-scheda-testo, #374a66);
	font-size: 0.8125rem;
	font-weight: var(--vc-peso-medio, 600);
	line-height: var(--vc-interlinea-stretta, 1.25);
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

/* La prima intestazione non ha niente sopra di se dentro la scheda: il suo
   margine superiore lo fa gia il padding della sezione. */
.entry-content + section > div:first-child > h3:first-child {
	margin-top: 0;
}

/* ---------------------------------------------------------------
   3.2 La tendina della lingua

   E un <select id="qtranxs_select_qtranslate-chooser"> che qTranslate crea da
   JavaScript. Il selettore NON si aggancia a quell'id ma all'elemento dentro
   la colonna: se il plugin cambia l'id la regola regge lo stesso, e in quella
   colonna non ci sono altri <select> da confondere.

   COSA C'ERA DA BATTERE, tutto in vc-foundation-core.css riga 538: altezza
   fissa 2.3125rem (37px, sotto il bersaglio tattile), corpo 0.875rem (su iOS,
   sotto i 16px, il browser ingrandisce la pagina al primo tocco), famiglia
   Helvetica invece di quella del sito, una freccina base64 appiccicata al
   bordo destro e margin-bottom 1rem.

   height: auto piu min-height, e non la sola min-height: min-height vince su
   height, ma azzerare l'altezza dichiarata e la strada che non lascia dubbi.

   -webkit-appearance: none e dichiarato con !important da Foundation e non lo
   posso togliere: per fortuna e esattamente cio che serve. Aggiungo le altre
   due forme della proprieta perche su Firefox la freccia di sistema resterebbe
   accanto alla mia.
   --------------------------------------------------------------- */
.entry-content + section select {
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: auto;
	min-height: var(--vc-tocco-minimo, 44px);
	margin: 0 0 var(--vc-spazio-2, 0.9375rem);
	padding: 0.5rem 2.4rem 0.5rem 0.75rem;
	border: 1px solid var(--vc-scheda-testo-tenue, #5e6b76);
	border-radius: var(--vc-scheda-raggio-piccolo, 6px);
	background-color: var(--vc-colore-sfondo, #ffffff);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2311273d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 0.85rem center;
	background-repeat: no-repeat;
	background-size: 12px 8px;
	color: var(--vc-scheda-testo-forte, #11273d);
	font-family: inherit;
	font-size: 1rem;
	line-height: var(--vc-interlinea-stretta, 1.25);
	cursor: pointer;
	transition: border-color 160ms ease;
}

/* Foundation schiarisce il fondo e scurisce il bordo al passaggio del mouse
   (select:hover, riga 557). Sostituito: il fondo resta bianco, si scurisce
   solo il bordo, che e il segnale utile. */
.entry-content + section select:hover {
	background-color: var(--vc-colore-sfondo, #ffffff);
	border-color: var(--vc-scheda-testo-forte, #11273d);
}

.entry-content + section select:focus-visible {
	outline: 2px solid var(--vc-scheda-accento, #007095);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------
   3.3 L'elenco di lingue, cioe cosa si vede se il <select> non nasce

   qTranslate stampa prima un <ul class="language-chooser
   language-chooser-dropdown qtranxs_language_chooser"> e solo dopo, da
   JavaScript, costruisce il <select> e nasconde l'elenco con uno style inline.
   Senza JavaScript, o se lo script fallisce, resta l'elenco: cinque link con
   bandiera. Non e un caso teorico, e lo stato iniziale di ogni caricamento.

   Non serve nascondere niente a mano: lo style inline del plugin vince su
   qualunque regola di questo foglio, quindi le due presentazioni non si
   sovrappongono mai.

   ul e li vanno ripuliti perche vc-foundation-core.css da agli elenchi
   margin-left 1.1rem, margin-bottom 1.25rem e i pallini.
   --------------------------------------------------------------- */
.entry-content + section .qtranxs_language_chooser {
	list-style: none;
	margin: 0 0 var(--vc-spazio-2, 0.9375rem);
	padding: 0;
}

.entry-content + section .qtranxs_language_chooser li {
	margin: 0 0 4px;
}

.entry-content + section .qtranxs_language_chooser a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: var(--vc-tocco-minimo, 44px);
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	border-radius: var(--vc-scheda-raggio-piccolo, 6px);
	background: var(--vc-colore-sfondo, #ffffff);
	color: var(--vc-scheda-testo, #374a66);
	font-size: 1rem;
	line-height: var(--vc-interlinea-stretta, 1.25);
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease;
}

.entry-content + section .qtranxs_language_chooser a:hover {
	border-color: var(--vc-scheda-linea-forte, rgba(17, 39, 61, 0.2));
	background: var(--vc-scheda-fondo, #f4f7f9);
	color: var(--vc-scheda-testo-forte, #11273d);
}

/* La lingua corrente. Il segnale non e solo il colore: c'e la barretta a
   sinistra e il peso maggiore, cosi resta leggibile anche in bianco e nero. */
.entry-content + section .qtranxs_language_chooser li.active > a {
	border-color: var(--vc-scheda-accento, #007095);
	box-shadow: inset 3px 0 0 var(--vc-scheda-accento, #007095);
	color: var(--vc-scheda-testo-forte, #11273d);
	font-weight: var(--vc-peso-medio, 600);
}

/* Le bandiere sono <img> da 16px senza attributi di dimensione: vincolarle
   evita che un file sbagliato o la cache di un plugin le faccia diventare alte
   quanto la riga. Stessa misura e stesso motivo di vc-nav.css sezione 2.4. */
.entry-content + section .qtranxs_language_chooser a img {
	flex: 0 0 auto;
	width: 18px;
	height: auto;
	border-radius: var(--vc-raggio-1, 3px);
}

/* ---------------------------------------------------------------
   3.4 I lettori audio

   Cinque <audio controls> di sistema. I comandi non si possono ridisegnare
   senza sostituirli con del JavaScript, e non e il compito di questo foglio.
   Cio che si puo fare, e che qui si fa, e far leggere ogni lingua come UNA
   RIGA SOLA: etichetta e lettore attaccati, e una linea sottile fra una lingua
   e l'altra. Oggi sono dieci elementi in fila senza gerarchia.

   La <h4> viene abbassata di corpo apposta: vc-mobile.css le da
   --vc-h4-fluido, cioe 18-23px, che in una colonna di servizio griderebbe piu
   del titolo della pagina. Qui e un'etichetta, e ha lo stesso trattamento
   delle intestazioni di sezione un gradino piu in basso.

   Le etichette arrivano dal PHP e sono in inglese per tutte e cinque le
   lingue: non si possono cambiare da qui, e non ci provo.
   --------------------------------------------------------------- */
.entry-content + section .vc-audio-item {
	margin: 0;
	padding: var(--vc-spazio-2, 0.9375rem) 0;
}

.entry-content + section .vc-audio-item:first-child {
	padding-top: 0;
}

.entry-content + section .vc-audio-item + .vc-audio-item {
	border-top: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
}

.entry-content + section .vc-audio-item h4 {
	margin: 0 0 0.4rem;
	color: var(--vc-scheda-testo-tenue, #5e6b76);
	font-size: 0.8125rem;
	font-weight: var(--vc-peso-medio, 600);
	line-height: var(--vc-interlinea-stretta, 1.25);
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

/*
   min-height e l'unica misura che mi permetto sul lettore, ed e prudente: i
   comandi nativi valgono come controllo dello user agent e il criterio 2.5.8
   li esclude dal requisito, ma su WebKit la barra di riproduzione e alta 31px
   e un pollice la manca. min-height non rimpicciolisce nessun browser: dove i
   comandi sono gia piu alti (Chrome ne usa 54) non cambia niente.
*/
.entry-content + section .vc-audio-item audio {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: var(--vc-tocco-minimo, 44px);
}

/* Il caso senza audioguida. Stesso trattamento dei "vuoti" della galleria e
   della mappa, sezione 6.4: un messaggio, non un errore. */
.entry-content + section .vc-audio-empty {
	margin: 0;
	color: var(--vc-scheda-testo-tenue, #5e6b76);
	font-size: 0.9375rem;
	font-style: italic;
}

/* ===============================================================
   4. Messa a fuoco da tastiera

   Raccolta qui perche riguarda elementi di sezioni diverse. Il contorno e
   sempre visibile e non e mai soppresso: 2px di #007095 su fondo chiaro fanno
   5.2:1, ben sopra il 3:1 del criterio 1.4.11.
   =============================================================== */

.entry-content + section a:focus-visible,
.entry-content p a:focus-visible,
.entry-content li a:focus-visible,
.vc-gallery-item:focus-visible,
.vc-related-link:focus-visible {
	outline: 2px solid var(--vc-scheda-accento, #007095);
	outline-offset: 2px;
}

/*
   CORREZIONE A UN DIFETTO ESISTENTE, non una rifinitura.

   style.css righe 909-918 dichiara outline: none su .vc-lightbox-close:focus e
   .vc-lightbox-nav:focus, cioe toglie il contorno ai tre unici comandi del
   lightbox: chi naviga da tastiera dentro la galleria a schermo intero non ha
   modo di sapere dove si trova. La specificita da battere e (0,2,0) e
   :focus-visible ne vale altrettanta, quindi basta arrivare dopo.

   Sul fondo del lightbox, che e nero all'88 per cento, il blu acceso darebbe
   circa 1.3:1: qui serve l'ambra, che su quel fondo fa 6.4:1. E la stessa
   regola di vc-nav.css, accento chiaro sul chiaro e ambra sullo scuro.

   outline-offset negativo perche i tre pulsanti sono in posizione assoluta a
   ridosso dei bordi del riquadro: un contorno proiettato all'esterno finirebbe
   mezzo fuori dallo schermo.
*/
.vc-lightbox-close:focus-visible,
.vc-lightbox-nav:focus-visible {
	outline: 2px solid var(--vc-scheda-accento-scuro, #f39207);
	outline-offset: -2px;
}

/* ===============================================================
   5. La colonna appiccicata allo scorrimento

   PERCHE SI PUO. Vedi il punto 4 del cappello: il .row genitore ha il clearfix
   di vc-grid.css, quindi contiene i due float ed e alto quanto il testo;
   nessun antenato ritaglia; position: sticky funziona su un elemento float,
   che resta nel flusso e viene solo scostato.

   PERCHE SOLO DA 1025px. Sotto i 641px la colonna e impilata a tutta larghezza
   e appiccicarla vorrebbe dire coprire il testo con mezzo schermo di comandi.
   Fra 641px e 1024px le due colonne sono affiancate ma quella laterale misura
   circa 250px: i lettori audio ci stanno stretti e la scheda e gia alta quasi
   quanto la finestra, quindi la corsa utile sarebbe minima. Da 1025px in su il
   guadagno e reale: l'audioguida resta a portata per tutta la lettura.

   PERCHE max-height E overflow-y. Un elemento sticky piu alto della finestra
   si aggancia con il bordo superiore e il suo fondo resta irraggiungibile: con
   cinque lettori la scheda supera i 600px e su un portatile da 768px di
   altezza succederebbe davvero. Limitandola all'altezza disponibile e dandole
   uno scorrimento proprio, il fondo resta sempre raggiungibile. L'overflow su
   QUESTO elemento non disturba sticky: e quello degli ANTENATI a romperlo.

   Il valore di top tiene conto della barra di navigazione, che vc-nav.css
   tiene agganciata in cima: 2.8125rem e la sua altezza minima, il resto e
   respiro. Le media query non accettano var(), ma dentro la regola si: qui i
   numeri sono scritti per esteso perche devono coincidere con quelli di
   vc-nav.css, che non espone un token per l'altezza della barra desktop. Se
   quella barra cambia altezza, questi due valori vanno riguardati.
   =============================================================== */

@media only screen and (min-width: 64.063em) {

	.entry-content + section {
		position: -webkit-sticky;
		position: sticky;
		top: 3.8125rem;
		max-height: calc(100vh - 5.8125rem);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}

/* ===============================================================
   6. Galleria, mappa e correlati: tre blocchi, un solo autore

   Non si rifa niente: style.css li ha gia costruiti e funzionano. Qui si
   allineano le quattro cose che li facevano sembrare di mani diverse: la
   distanza verticale fra un blocco e l'altro, il trattamento delle
   intestazioni, i raggi e le ombre.

   I SELETTORI PARTONO DA #content perche i tre blocchi stanno FUORI
   dall'articolo (punto 1 del cappello). Le due intestazioni scritte nel
   template sono <h3> nudi dentro l'unica colonna della riga; quella del
   carosello e .vc-related-title e va aggiunta a mano al gruppo, perche e piu
   profonda nel markup.
   =============================================================== */

/* ---------------------------------------------------------------
   6.1 Un solo stacco verticale

   Applicato all'elemento che apre ciascun blocco invece che alla riga che lo
   contiene, cosi non tocco .row. I margini verticali adiacenti collassano e il
   risultato e il maggiore fra i due, mai la somma: la distanza resta la stessa
   fra tutti e tre.
   --------------------------------------------------------------- */
#content > .row > div > h3,
.vc-related-wrap {
	margin-top: var(--vc-scheda-stacco, 3.75rem);
}

/* ---------------------------------------------------------------
   6.2 Un solo trattamento per le tre intestazioni

   Oggi: "Galleria Fotografica" e "Dove si trova" prendono --vc-h3-fluido
   (22-27px) mentre "Scopri Anche Altri Luoghi" e fissa a 1.45rem, e la terza e
   dentro un contenitore flex con i pulsanti del carosello accanto. Tre misure
   per tre titoli che fanno lo stesso mestiere.

   Qui prendono tutte la stessa misura, lo stesso colore e la stessa riga
   sottile sotto. Uso una misura fissa e non la scala fluida perche la scala e
   pensata per i titoli dentro il testo, mentre queste sono etichette di
   blocco: devono stare sotto il titolo della pagina, non accanto.
   --------------------------------------------------------------- */
#content > .row > div > h3,
.vc-related-title {
	margin-bottom: var(--vc-spazio-3, 1.40625rem);
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	color: var(--vc-scheda-testo-forte, #11273d);
	font-size: 1.375rem;
	font-weight: var(--vc-peso-medio, 600);
	line-height: var(--vc-interlinea-stretta, 1.25);
}

/*
   Il titolo del carosello vive dentro .vc-related-head, che e flex e mette i
   pulsanti sulla stessa riga. La riga sottile deve percio correre sotto TUTTA
   la testa del blocco e non sotto il solo titolo, altrimenti si ferma a meta e
   sembra un errore di misura. La sposto: via dal titolo, sul contenitore.
*/
.vc-related-head {
	align-items: flex-end;
	margin-bottom: var(--vc-spazio-3, 1.40625rem);
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
}

.vc-related-head .vc-related-title {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

/* ---------------------------------------------------------------
   6.3 Raggi, bordi e ombre comuni

   .vc-related-btn NON e toccato nel disegno e soprattutto non ha qui nessun
   ::after: quello pseudo-elemento e occupato da vc-mobile.css sezione 1.6, che
   lo usa per portare l'area toccabile del pulsante a 44x44 senza ingrandire il
   cerchio. Riusarlo lo cancellerebbe. Qui gli cambio solo il colore del bordo,
   per allinearlo agli altri.
   --------------------------------------------------------------- */
.vc-map-embed {
	border: 1px solid var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	border-radius: var(--vc-scheda-raggio, 10px);
	box-shadow: var(--vc-scheda-ombra, 0 8px 18px rgba(18, 40, 63, 0.08));
}

.vc-related-card {
	border-color: var(--vc-scheda-linea, rgba(17, 39, 61, 0.12));
	border-radius: var(--vc-scheda-raggio, 10px);
	box-shadow: var(--vc-scheda-ombra, 0 8px 18px rgba(18, 40, 63, 0.08));
}

.vc-related-btn {
	border-color: var(--vc-scheda-linea-forte, rgba(17, 39, 61, 0.2));
}

/* Le miniature restano a 6px: sono superfici piccole e il raggio grande le
   farebbe sembrare bolle. Prendono pero l'ombra leggera, cosi la griglia non e
   piu l'unico blocco della pagina completamente piatto. */
.vc-gallery-item img {
	border-radius: var(--vc-scheda-raggio-piccolo, 6px);
	box-shadow: var(--vc-scheda-ombra-piccola, 0 2px 6px rgba(18, 40, 63, 0.1));
}

/* L'indirizzo sotto l'intestazione della mappa. Sta PRIMA dell'iframe nel
   markup, quindi il suo margine inferiore e cio che li separa. */
.vc-map-address {
	margin: 0 0 var(--vc-spazio-2, 0.9375rem);
	color: var(--vc-scheda-testo, #374a66);
	font-size: 1rem;
	font-weight: var(--vc-peso-medio, 600);
}

/* ---------------------------------------------------------------
   6.4 I tre messaggi di vuoto

   .vc-gallery-empty, .vc-map-empty e .vc-audio-empty dicono la stessa cosa in
   tre posti diversi e oggi hanno tre spaziature diverse. Stessa voce per
   tutti: il grigio ardesia da 5.5:1 su bianco, sopra soglia.
   --------------------------------------------------------------- */
.vc-gallery-empty,
.vc-map-empty {
	margin: 0 0 var(--vc-spazio-4, 1.875rem);
	color: var(--vc-scheda-testo-tenue, #5e6b76);
	font-size: 0.9375rem;
	font-style: italic;
}

/* ===============================================================
   7. Movimento ridotto

   Va prima della stampa e dopo tutto il resto: le media query non aggiungono
   specificita, quindi queste regole vincono solo perche arrivano dopo.

   .vc-related-track non e un movimento introdotto qui: style.css gli da
   scroll-behavior: smooth, e per chi ha chiesto meno movimento uno scorrimento
   animato di quattro schede alla volta e esattamente cio che disturba.
   Riportarlo a auto costa una riga e non toglie niente a nessun altro.
   =============================================================== */

@media (prefers-reduced-motion: reduce) {

	.entry-content + section select,
	.entry-content + section .qtranxs_language_chooser a {
		transition-duration: 0.01ms;
		transition-delay: 0s;
	}

	.vc-related-track {
		scroll-behavior: auto;
	}
}

/* ===============================================================
   8. Stampa

   Una scheda di un luogo e una cosa che i turisti stampano davvero, quindi
   vale la pena di farla bene.

   COSA NON SERVE RIPETERE: il blocco @media print di style.css (righe 771-830)
   dichiara gia * { background: transparent !important; color: black
   !important } e img { max-width: 100% !important }. Il testo nero e i fondi
   via ci sono gia, e ridichiararli qui non servirebbe a niente, perche quelle
   sono regole con !important. Restano da fare tre cose che li non ci sono: far
   sparire cio che su carta non ha senso, togliere le ombre (che l'!important
   sul fondo non tocca) e rimettere il testo a piena pagina.

   L'UNICA DEROGA DEL FOGLIO, dichiarata. Nascondendo la colonna laterale, la
   colonna del testo resterebbe larga due terzi con un terzo di pagina bianca a
   destra, perche e un float al 66 per cento. Qui, e solo qui, dichiaro width e
   float su .entry-content, che e una classe semantica ma che su questa pagina
   porta anche large-8. E l'unico punto in cui questo foglio incide sul
   comportamento della griglia, vale per la sola stampa, e senza di esso
   l'intera sezione non avrebbe senso.
   =============================================================== */

@media print {

	/* La colonna dei servizi: una tendina di lingua e cinque lettori audio su
	   carta non sono niente. Il carosello: schede che rimandano ad altre
	   pagine. L'iframe della mappa: su carta stampa un riquadro grigio o niente
	   del tutto, a seconda del browser. */
	.entry-content + section,
	.vc-related-wrap,
	.vc-map-embed,
	.vc-lightbox {
		display: none;
	}

	/* L'indirizzo invece resta, ed e l'informazione per cui la mappa c'era: e
	   cio che si porta dietro chi stampa. */
	.vc-map-address {
		margin: 0;
		font-size: 1rem;
	}

	.entry-content {
		width: 100%;
		float: none;
	}

	/* Niente ombre e niente raggi: su carta non esistono, e un raggio su un
	   bordo stampato si vede come una sbavatura. */
	#main > div:first-child img,
	.vc-gallery-item img,
	.vc-related-card,
	.article-header {
		border-radius: 0;
		box-shadow: none;
	}

	/* Le intestazioni restano attaccate a cio che introducono. style.css lo fa
	   gia per h2 e h3 generici; .vc-related-title e nascosta, ma il titolo
	   della pagina no. */
	.entry-title.single-title,
	#content > .row > div > h3 {
		page-break-after: avoid;
	}
}
