/* ===========================================================================
   PACCHETTO (soggiorno + transfer + escursioni) - pagine pacchetto/*
   Stessa famiglia delle pagine di prenotazione: blu --main-color, schede con
   bordo #e3e7ea e angoli da 14px (come .bf-dati-persona), pulsanti a pillola,
   totale in .bf-totale. Caricato solo dalle pagine del pacchetto.
   =========================================================================== */

/* Colori delle selezioni (fasce di prezzo): i colori del nostro mare, dal piu' chiaro al piu' profondo.
   Unica definizione: li riusano anche la pagina admin Fasce di prezzo e la scheda del pacchetto (che caricano
   questo file); le email, con lo stile in linea, li ripetono in SoggiorniFascePrezzo::COLORI.
   Si usano come campione, pallino e bordo, mai come sfondo del testo: il nome della selezione resta scritto. */
:root {
	--pk-fascia-1: #2EC4B6; /* Turchese */
	--pk-fascia-2: #4AA8E8; /* Azzurro */
	--pk-fascia-3: #1E63C4; /* Blu */
	--pk-fascia-4: #12337A; /* Cobalto */
}
.pk-fascia-1 { --pk-fascia: var(--pk-fascia-1); }
.pk-fascia-2 { --pk-fascia: var(--pk-fascia-2); }
.pk-fascia-3 { --pk-fascia: var(--pk-fascia-3); }
.pk-fascia-4 { --pk-fascia: var(--pk-fascia-4); }
/* Pallino del colore della selezione, accanto al nome */
.pk-pallino {
	display: inline-block;
	width: .72em;
	height: .72em;
	margin: 0 .3em 0 .05em;
	border-radius: 50%;
	background: var(--pk-fascia, #c9d3d9);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
	vertical-align: -.02em;
}

.pk-pagina { padding-bottom: 40px; }

.pk-sezione {
	margin: 0 0 18px;
	padding: 18px 18px 14px;
	border: 1px solid #e3e7ea;
	border-radius: 14px;
	background: #fff;
	text-align: left;
}
.pk-sezione__titolo {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 4px;
	font-size: 19px;
	font-weight: 700;
	color: var(--main-color);
}
.pk-sezione__intro {
	margin: 0 0 14px;
	color: #5b6f7b;
	font-size: 14px;
}

/* Campi in riga */
.pk-campi {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	margin-bottom: 6px;
}
.pk-campi .form-control { height: 42px; border-radius: 10px; }
/* Volo: numero e orario affiancati, una riga per l'arrivo e una per il rientro; campi in fondo alla cella se un'etichetta va a capo */
.pk-campi--volo { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
.pk-campi--volo .pk-campo-giorno, .pk-campi--volo .pk-campo-hotel { grid-column: 1 / -1; }
.pk-campi--volo .pk-campo-hotel[hidden] { display: none; }
@media (min-width: 768px) {
	.pk-campi--volo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pk-campi--volo .pk-campo-giorno { grid-column: auto; }
}

/* Opzioni a scheda selezionabile (aeroporti, soggiorno, tariffa) */
.pk-opzioni {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 12px;
}
.pk-opzione {
	position: relative;
	display: block;
	margin: 0;
	padding: 14px 14px 12px;
	border: 2px solid #e3e7ea;
	border-radius: 12px;
	background: #fff;
	font-weight: 400;
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
.pk-opzione:hover { border-color: #b9ccd6; }
.pk-opzione input[type=radio], .pk-opzione > input[type=checkbox] { position: absolute; top: 14px; right: 14px; }
.pk-opzione.is-scelta { border-color: var(--main-color); background: #f3f8fa; }
.pk-opzione.is-off { opacity: .55; cursor: not-allowed; }
.pk-opzione__nome { display: block; padding-right: 22px; font-size: 16px; font-weight: 700; color: #1f3a47; }
.pk-opzione__testo { display: block; margin-top: 3px; font-size: 13px; color: #5b6f7b; }
.pk-opzione__prezzo { display: block; margin-top: 8px; font-size: 20px; font-weight: 700; color: var(--main-color); }
.pk-opzione__prezzo small { font-size: 12px; font-weight: 400; color: #5b6f7b; }

.pk-garanzie { margin: 10px 0 0; padding: 0; list-style: none; font-size: 13px; color: #34515e; }
.pk-garanzie li { position: relative; margin: 3px 0; padding-left: 20px; }
.pk-garanzie li::before { content: "\2713"; position: absolute; left: 2px; color: #2e8b57; font-weight: 700; }

.pk-dettagli-scelta {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed #d5dee3;
}
.pk-dettagli-scelta .form-control { height: 38px; border-radius: 10px; }
.pk-riga-opzione { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-bottom: 8px; font-size: 14px; }
.pk-riga-opzione label { margin: 0; font-weight: 400; }

/* Strutture proposte (foto, zona, stelle, voto) */
.pk-strutture {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 12px;
	margin-top: 12px;
}
.pk-struttura {
	overflow: hidden;
	border: 1px solid #e3e7ea;
	border-radius: 12px;
	background: #fff;
	font-size: 13px;
}
.pk-struttura__foto { display: block; width: 100%; height: 120px; object-fit: cover; background: #eef4f7; }
.pk-struttura__corpo { padding: 8px 10px 10px; }
.pk-struttura__nome { font-weight: 700; color: #1f3a47; }
.pk-struttura__voto {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 6px 6px 6px 0;
	background: var(--main-color);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
}
.pk-struttura__stelle { color: var(--brand-yellow); letter-spacing: 1px; }
.pk-struttura__desc { margin-top: 4px; color: #5b6f7b; }
.pk-struttura__recensioni { color: #5b6f7b; white-space: nowrap; }
/* Caratteristiche della struttura: stesso elenco con la spunta delle garanzie, piu' raccolto */
.pk-struttura .pk-struttura__car { margin: 6px 0 0; }
.pk-struttura .pk-struttura__car li { margin: 0; padding-top: 1px; padding-bottom: 1px; font-size: 13px; }
/* Senza foto: scheda compatta, niente riquadro vuoto. Le schede di una riga hanno tutte la stessa altezza
   (la griglia le allunga), anche quando un nome va a capo o una ha piu' caratteristiche */
.pk-struttura--compatta .pk-struttura__corpo { padding: 9px 11px; }
/* Con le foto la scheda si apre (app-pacchetto.js, apriStruttura): la foto e' un pulsante, sopra quante sono */
.pk-struttura--apribile { cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.pk-struttura--apribile:hover { border-color: var(--main-color); box-shadow: 0 4px 14px rgba(0, 110, 149, .14); }
.pk-struttura__media { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #eef4f7; cursor: pointer; }
.pk-struttura__media:focus-visible { outline: 3px solid var(--brand-yellow); outline-offset: -3px; }
/* "Scopri la struttura": dice che la scheda si apre, anche senza foto */
.pk-struttura__apri { display: inline-block; margin-top: 8px; padding: 0; text-align: left; border: 0; background: none; color: var(--main-color); font-size: inherit; font-weight: 600; cursor: pointer; }
.pk-struttura__apri:hover, .pk-struttura__apri:focus-visible { text-decoration: underline; }
.pk-struttura__conta { position: absolute; right: 6px; bottom: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(15, 30, 38, .72); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; }
@media (max-width: 480px) {
	/* Due schede per riga: l'elenco resta in uno schermo anche con 8-10 strutture */
	.pk-strutture { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.pk-struttura__foto { height: 96px; }
	.pk-struttura__desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* Transfer ed escursioni */
.pk-servizio {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin: 0 0 12px;
	padding: 12px;
	border: 1px solid #e3e7ea;
	border-radius: 12px;
}
.pk-servizio.is-scelta { border-color: var(--main-color); background: #f3f8fa; }
.pk-servizio__img { flex: 0 0 110px; width: 110px; height: 80px; object-fit: cover; border-radius: 8px; }
.pk-servizio__corpo { flex: 1 1 auto; min-width: 0; }
.pk-servizio__nome { margin: 0; font-size: 15px; font-weight: 700; color: #1f3a47; }
.pk-servizio__testo { margin: 3px 0 8px; font-size: 13px; color: #5b6f7b; }
.pk-servizio__azioni { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.pk-servizio__azioni label { margin: 0; font-weight: 600; }
.pk-servizio__azioni select { width: auto; height: 36px; border-radius: 10px; }
.pk-servizio__prezzo { margin-left: auto; font-size: 17px; font-weight: 700; color: var(--main-color); white-space: nowrap; }

/* Differenza sul totale di una scelta (+ € / − €): al cliente il pacchetto ha
   un solo prezzo, sulle scelte si vede solo quanto cambia il totale */
.pk-opzione__delta { display: block; margin-top: 8px; }
.pk-servizio__azioni .pk-delta { margin-left: auto; }
.pk-delta {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 700;
	white-space: nowrap;
}
.pk-delta small { font-size: 11.5px; font-weight: 400; }
.pk-delta--su { background: #fff4e5; color: #9a5200; }
.pk-delta--giu { background: #e8f5ee; color: #1f7a48; }
.pk-delta--pari { background: #eef2f4; color: #5b6f7b; font-weight: 600; }

/* Eta' dei bambini (pagina di composizione) */
.pk-bambini { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px 14px; margin-top: 10px; }
.pk-bambini:empty { display: none; }

/* Formule (Smart, Premium) e minimo incluso: etichetta "incluso", cambio dell'escursione inclusa */
.pk-formula .pk-opzione__nome { font-size: 18px; }
.pk-formula-badge:not(:empty) {
	display: inline-block;
	margin-left: 4px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--main-color);
	color: #fff;
	font-size: 13px;
	vertical-align: middle;
}
.pk-incluso-etichetta {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #e8f5ee;
	color: #1f7a48;
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
	vertical-align: middle;
}
.pk-servizio--inclusa .pk-servizio__azioni select { margin-left: 0; }
.pk-cambia { margin: -2px 0 14px; padding: 10px 14px; border: 1px dashed #cfdbe2; border-radius: 12px; font-size: 14px; }
.pk-cambia__titolo { margin: 0 0 6px; font-weight: 700; color: #1f3a47; }
.pk-cambia__voce { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 6px 0; border-top: 1px solid #eef1f3; }
.pk-cambia__voce:first-of-type { border-top: 0; }
.pk-cambia__voce small { color: #5b6f7b; }
.pk-cambia__azioni { display: flex; align-items: center; gap: 8px; }
.pk-cambia__azioni .btn { margin: 0; border-radius: 999px; }
.pk-sottotitolo { margin: 18px 0 8px; font-weight: 700; color: #1f3a47; }
.pk-ritorno__nota { margin: 14px 0 8px; font-size: 14px; color: #34515e; }
/* Testa del passo 1 (foto, titolo, prezzo "da") e garanzie del servizio: in fondo al file, "CONFIGURATORE IN DUE PASSI" */

/* Schede di scelta con icona (tipo di struttura, come dormite, zona, colazione) */
.pk-opzione__icona { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 8px; border-radius: 50%; background: #e9f3f7; color: var(--main-color); }
.pk-opzione.is-scelta .pk-opzione__icona { background: var(--main-color); color: #fff; }

/* Schede "Le nostre selezioni": al posto dell'icona il campione del colore (cerchio con un'onda); la scelta ha
   bordo, fondo leggero e segno di spunta nel colore della selezione. Al passaggio del mouse il bordo prende il colore. */
.pk-opzione--fascia .pk-opzione__icona,
.pk-opzione--fascia.is-scelta .pk-opzione__icona { background: transparent; }
.pk-campione {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--pk-fascia, #c9d3d9);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
	color: rgba(255, 255, 255, .9);
	transition: box-shadow .15s;
}
.pk-opzione--fascia:hover:not(.is-off) { border-color: #b9ccd6; border-color: color-mix(in srgb, var(--pk-fascia) 55%, #fff); }
.pk-opzione--fascia.is-scelta {
	border-color: var(--pk-fascia);
	background: #f6f9fb;
	background: color-mix(in srgb, var(--pk-fascia) 7%, #fff);
}
.pk-opzione--fascia.is-scelta .pk-campione { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--pk-fascia); }
.pk-opzione--fascia input[type=radio] { accent-color: var(--pk-fascia); }
/* Non disponibile: il colore si spegne, il nome resta leggibile */
.pk-opzione--fascia.is-off .pk-campione { filter: grayscale(.85); opacity: .7; }

/* Elenco "Una di queste strutture sara' la tua": pallino accanto al titolo e filo del colore della selezione sul lato */
.pk-con-fascia .pk-struttura { border-left: 4px solid var(--pk-fascia); }

/* Giorni delle escursioni: bottoni */
.pk-giorni { display: flex; flex-wrap: wrap; gap: 6px; }
.pk-giorno { display: inline-flex; flex-direction: column; align-items: center; min-width: 76px; padding: 6px 10px; border: 2px solid #e3e7ea; border-radius: 10px; background: #fff; color: #1f3a47; font-size: 13px; font-weight: 600; line-height: 1.25; cursor: pointer; }
.pk-giorno:hover:not([disabled]) { border-color: #b9ccd6; }
.pk-giorno.is-scelto { border-color: var(--main-color); background: #f3f8fa; }
.pk-giorno small { font-size: 11.5px; font-weight: 700; color: #9a5200; }
.pk-giorno[disabled] { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.pk-servizio__azioni .pk-giorni { flex: 1 1 100%; }

/* Date del transfer nella scheda dell'aeroporto: staccate dalla descrizione */
.pk-opzione__date {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
	padding: 5px 11px;
	border-radius: 8px;
	background: #e9f3f7;
	color: #1f3a47;
	font-size: 13.5px;
	font-weight: 600;
}
.pk-opzione__date svg { flex: 0 0 auto; color: var(--main-color); }

/* Riepilogo: cosa e' incluso (pagine componi, dati, riepilogo) */
.pk-riepilogo__date { margin: 0 0 12px; font-size: 14px; color: #34515e; }
.pk-inclusi__titolo {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5b6f7b;
}
.pk-inclusi { margin: 0 0 6px; padding: 0; list-style: none; }
.pk-incluso { display: flex; gap: 11px; align-items: flex-start; padding: 9px 0; border-top: 1px solid #eef1f3; }
.pk-incluso:first-child { border-top: 0; padding-top: 2px; }
.pk-incluso__icona {
	flex: 0 0 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #e9f3f7;
	color: var(--main-color);
}
.pk-incluso__testo { min-width: 0; font-size: 14px; line-height: 1.3; color: #1f3a47; }
.pk-incluso__testo strong { display: block; }
.pk-incluso__testo small { display: block; margin-top: 2px; font-size: 12.5px; color: #5b6f7b; }
.pk-riepilogo__persona { margin: -4px 0 0; font-size: 13px; color: #5b6f7b; text-align: right; }
.pk-riepilogo--paga { margin-top: 12px; }

/* Box di consiglio (voli, maltempo, come funziona) */
.pk-avviso {
	margin: 12px 0;
	padding: 12px 14px;
	border: 1px solid #f0d9a8;
	border-left: 4px solid var(--brand-yellow);
	border-radius: 10px;
	background: #fff8ec;
	font-size: 14px;
	color: #4a3b12;
}
.pk-avviso a { font-weight: 700; }
.pk-avviso--info { border-color: #cfe0e8; border-left-color: var(--main-color); background: #f3f8fa; color: #1f3a47; }

/* Riepilogo laterale */
.pk-riepilogo {
	position: sticky;
	top: 16px;
	padding: 16px;
	border: 1px solid #e3e7ea;
	border-radius: 14px;
	background: #fff;
	text-align: left;
}
.pk-riepilogo h3 { margin: 0 0 10px; font-size: 18px; color: var(--main-color); }
.pk-riepilogo__riga { display: flex; justify-content: space-between; gap: 10px; margin: 4px 0; font-size: 14px; color: #34515e; }
.pk-riepilogo__riga strong { white-space: nowrap; }
.pk-riepilogo__nota { margin: 8px 0 0; font-size: 12px; color: #5b6f7b; }
.pk-riepilogo .btn { margin-top: 12px; }
/* Resta ferma l'intera colonna del riepilogo (riquadro, pulsante e note):
   le colonne sono flottanti e alte quanto il contenuto, quindi il riquadro
   da solo non aveva spazio per restare fermo e scorreva sopra il pulsante */
@media (min-width: 992px) {
	/* Come per le pagine dati (bookfavignana-new.css, "PAGINE DATI - sidebar"):
	   senza overflow-x: clip sul <main> lo sticky non si aggancia */
	main.site-main:has(.pk-colonna-fissa) { overflow-x: clip; }
	.pk-colonna-fissa { position: sticky; top: 16px; }
	.pk-colonna-fissa .pk-riepilogo { position: static; }
}
.pk-motivi { margin: 10px 0 0; font-size: 13px; color: #a94442; }

/* Barra in basso su mobile con totale e Continua */
.pk-barra-mobile { display: none; }
@media (max-width: 991px) {
	.pk-riepilogo { position: static; margin-top: 10px; }
	.pk-barra-mobile {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 10px 14px;
		border-top: 1px solid #e3e7ea;
		background: #fff;
		box-shadow: 0 -4px 14px rgba(0, 0, 0, .08);
	}
	.pk-barra-mobile strong { font-size: 19px; color: var(--main-color); }
	.pk-barra-mobile .btn { margin: 0; }
	.pk-pagina { padding-bottom: 90px; }
	.pk-servizio__img { flex-basis: 80px; width: 80px; height: 64px; }
}

/* Caricamento: pillola al centro dello schermo con la rotella. Solo alla prima apertura, finche' il pacchetto non
   e' pronto: poi a ogni scelta la pagina resta usabile e l'attesa si vede solo dove serve (in fondo al file) */
.pk-loader {
	display: none;
	position: fixed;
	left: 50%;
	top: 45%;
	z-index: 1000;
	transform: translate(-50%, -50%);
	align-items: center;
	gap: 10px;
	padding: 12px 20px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(31, 58, 71, .22);
	font-size: 15px;
	font-weight: 700;
	color: #1f3a47;
	white-space: nowrap;
}
/* Anche a ogni scelta, mentre il pacchetto si ricalcola (05/10: il cliente deve vedere che qualcosa succede).
   La pillola non blocca la pagina: i clic passano attraverso */
.pk-primo-caricamento + .pk-loader, .pk-attesa + .pk-loader, .pk-loader.is-visibile { display: flex; pointer-events: none; }
.pk-loader__ruota {
	width: 22px;
	height: 22px;
	border: 3px solid #d5e4ec;
	border-top-color: var(--main-color);
	border-radius: 50%;
	animation: pk-ruota .8s linear infinite;
}
@keyframes pk-ruota { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pk-loader__ruota { animation-duration: 2.4s; } }

/* Cosa comprende ogni pacchetto, nella sua scheda */
.pk-inclusi--formula { margin: 10px 0 0; }
.pk-inclusi--formula .pk-incluso { padding: 6px 0; }
.pk-inclusi--formula .pk-incluso__testo { font-size: 13.5px; }


/* Cosa cambia fra le formule (stesse garanzie delle schede del soggiorno) */
.pk-garanzie--formula { margin-top: 8px; }

/* Nota sotto un gruppo di schede (formule, fasce di prezzo) */
.pk-nota { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: #5b6f7b; }

/* Domande frequenti del pacchetto: le voci delle FAQ del sito (bf-faq__*), piu' compatte */
.pk-faq__elenco { margin-top: 6px; border-top: 1px solid #dde7ed; }
.pk-faq .bf-faq__domanda { padding: 13px 2px; font-size: 15.5px; }
.pk-faq .bf-faq__risposta { padding: 0 40px 14px 2px; }
.pk-faq .bf-faq__risposta p { font-size: 14.5px; line-height: 1.55; }
.pk-faq__altro { margin: 12px 0 0; font-size: 14px; color: #5b6f7b; }
.pk-faq__altro a { font-weight: 700; color: var(--main-color); }
@media (max-width: 480px) {
	.pk-faq .bf-faq__domanda { font-size: 15px; }
	.pk-faq .bf-faq__risposta { padding-right: 8px; }
}

/* "Cosa succede dopo il pagamento" (riepilogo ed esito) */
.pk-dopo__passi { margin: 8px 0 0; padding: 0; list-style: none; }
.pk-dopo__passo { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 0 0 14px; }
.pk-dopo__passo:last-child { padding-bottom: 2px; }
/* Linea che unisce i passi */
.pk-dopo__passo:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 28px; bottom: 2px; width: 2px; background: #e3e7ea; }
.pk-dopo__segno {
	flex: 0 0 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #e9f3f7;
	color: var(--main-color);
	font-size: 13px;
	font-weight: 700;
}
.pk-dopo__passo.is-fatto .pk-dopo__segno { background: #2e8b57; color: #fff; }
.pk-dopo__testo { min-width: 0; padding-top: 3px; font-size: 14px; line-height: 1.4; color: #34515e; }
.pk-dopo__testo strong { display: block; color: #1f3a47; }

/* Accanto al pulsante di pagamento: chi organizza, polizza RC e fondo di garanzia */
.pk-organizza { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0 0; padding: 10px 12px; border: 1px solid #d6e9dd; border-radius: 10px; background: #f2f9f5; font-size: 12.5px; line-height: 1.4; color: #34515e; }
.pk-organizza__icona { flex: 0 0 auto; color: #2e8b57; }
.pk-organizza strong { display: block; margin-bottom: 2px; font-size: 13px; color: #1f3a47; }

/* Domande frequenti in una colonna dopo il riepilogo: su telefono vengono dopo il riepilogo con Continua;
   da tablet in su tornano sotto le sezioni, a sinistra, con il riepilogo a lato come prima */
@media (min-width: 768px) { .pk-colonna-faq { clear: left; } }

/* Escursioni: etichette come nella ricerca escursioni (bf-card__chip) e pulsante dei dettagli */
.pk-servizio__chips { margin: 4px 0 2px; }
.pk-dettagli-link { display: inline-block; margin: 0 0 8px; padding: 0; border: 0; background: none; color: var(--main-color); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.pk-dettagli-link:hover, .pk-dettagli-link:focus { color: #00506c; }
.pk-cambia__voce .pk-dettagli-link { margin: 0 0 0 4px; font-size: 12.5px; }
/* Giorno gia' scelto per un'altra escursione: non barrato (e' libero, ma occupato da te), con il motivo sotto */
.pk-giorno.is-occupato[disabled] { opacity: .75; text-decoration: none; border-style: dashed; background: #f7f9fa; }
.pk-giorno small.pk-giorno__occupato { font-weight: 600; color: #5b6f7b; }

/* Pannello dei dettagli di un'escursione: dentro la pagina, a tutto schermo su telefono */
.pk-pannello { position: fixed; inset: 0; z-index: 2147483647; display: none; align-items: center; justify-content: center; padding: 24px 16px; background: rgba(15, 30, 38, .55); }
/* Su telefono "tutto lo schermo" e' la parte visibile: l'altezza la imposta lo script (app-pacchetto.js, misura) */
.pk-pannello.is-aperto { display: flex; }
/* Il riquadro non scorre: scorre il corpo, cosi' la X e il pulsante in fondo restano sempre a schermo */
.pk-pannello__riquadro { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 760px; max-height: 100%; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 12px 40px rgba(0, 0, 0, .25); outline: none; }
.pk-pannello__corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 22px 22px 10px; }
.pk-pannello__piede { flex: 0 0 auto; padding: 10px 22px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #e3eaee; background: #fff; text-align: right; }
.pk-pannello__piede .btn { min-width: 140px; }
.pk-pannello__chiudi { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eef3f6; color: #1f3a47; font-size: 24px; line-height: 1; cursor: pointer; z-index: 2; }
.pk-pannello__chiudi:hover, .pk-pannello__chiudi:focus { background: #dde8ee; }
.pk-dettagli-esc__titolo { margin: 0 44px 12px 0; font-size: 18px; font-weight: 700; color: #1f3a47; }
.pk-dettagli-esc img { max-width: 100%; height: auto; }
body.pk-pannello-aperto { overflow: hidden; }
/* Col pannello aperto i pulsanti fissi negli angoli in basso (preferenze cookie; in sviluppo la barra di debug)
   starebbero sopra al pulsante Chiudi: tornano appena si chiude */
body.pk-pannello-aperto .iubenda-tp-btn,
body.pk-pannello-aperto .phpdebugbar { display: none !important; }
/* iubenda impone display con !important: il suo pulsante si spegne davvero con opacity e pointer-events */
body.pk-pannello-aperto .iubenda-tp-btn { opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 767px) {
	.pk-pannello { padding: 0; align-items: stretch; }
	.pk-pannello__riquadro { max-width: none; max-height: none; height: 100%; border-radius: 0; }
	.pk-pannello__corpo { padding: 16px 16px 10px; }
	.pk-pannello__piede { padding-left: 16px; padding-right: 16px; }
	.pk-pannello__piede .btn { display: block; width: 100%; }
}

/* Scheda della struttura nel pannello: le foto in cima, da bordo a bordo, si scorrono col dito o con le frecce */
.pk-galleria { position: relative; margin: 0 -22px 16px; background: #eef4f7; }
.pk-galleria__nastro { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; outline: none; }
.pk-galleria__nastro::-webkit-scrollbar { display: none; }
.pk-galleria__nastro:focus-visible { box-shadow: inset 0 0 0 3px var(--brand-yellow); }
.pk-galleria__foto { flex: 0 0 100%; width: 100%; height: auto; aspect-ratio: 3 / 2; max-height: 60vh; object-fit: cover; scroll-snap-align: center; scroll-snap-stop: always; }
.pk-galleria__freccia { position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--main-color); font-size: 16px; line-height: 40px; text-align: center; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); cursor: pointer; transition: opacity .15s; }
.pk-galleria__freccia--prima { left: 12px; }
.pk-galleria__freccia--dopo { right: 12px; }
.pk-galleria__freccia:hover, .pk-galleria__freccia:focus-visible { background: #fff; }
.pk-galleria__freccia[disabled] { opacity: 0; pointer-events: none; }
.pk-galleria__conta { position: absolute; left: 12px; bottom: 12px; padding: 2px 10px; border-radius: 999px; background: rgba(15, 30, 38, .72); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.6; }
@media (max-width: 767px) {
	.pk-galleria { margin: 0 -16px 14px; }
	.pk-galleria__foto { aspect-ratio: 4 / 3; max-height: 55vh; }
	.pk-galleria__freccia { width: 34px; height: 34px; margin-top: -17px; font-size: 14px; line-height: 34px; }
	.pk-galleria__freccia--prima { left: 8px; }
	.pk-galleria__freccia--dopo { right: 8px; }
}

/* --- Scheda della struttura (16/10/2026): barra in alto con nome e X fuori dalla parte che scorre (la X non tocca
   piu' la barra di scorrimento), da computer due colonne (foto con miniature | dati), "Dove si trova" con la mappa */
.pk-pannello__testa:empty { display: none; }
.pk-pannello__testa { flex: 0 0 auto; min-height: 62px; padding: 12px 64px 12px 22px; border-bottom: 1px solid #e3eaee; }
.pk-pannello__titolo { overflow: hidden; font-size: 19px; font-weight: 700; line-height: 1.25; color: #1f3a47; text-overflow: ellipsis; white-space: nowrap; }
.pk-pannello__titolo small { display: block; font-size: 13px !important; font-weight: 500; color: #5b6f7b; }
.pk-pannello--struttura .pk-pannello__chiudi { top: 11px; right: 12px; width: 40px; height: 40px; }
.pk-pannello--struttura .pk-pannello__piede { display: none; }
.pk-pannello--struttura .pk-pannello__riquadro { max-width: 1060px; height: min(820px, 100%); }
.pk-pannello--struttura .pk-pannello__corpo { padding: 20px 22px 24px; }
.pk-scheda { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; font-size: 15px; line-height: 1.5; color: #1f3a47; }
.pk-scheda--senza-foto { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.pk-scheda__foto { position: sticky; top: 0; }
.pk-scheda .pk-galleria { margin: 0; border-radius: 12px; overflow: hidden; }
.pk-scheda .pk-galleria__foto { aspect-ratio: 4 / 3; max-height: none; }
.pk-galleria__miniature { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.pk-galleria__mini { padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: #eef4f7; opacity: .7; cursor: pointer; }
.pk-galleria__mini img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.pk-galleria__mini:hover, .pk-galleria__mini:focus-visible, .pk-galleria__mini.is-attiva { opacity: 1; }
.pk-galleria__mini.is-attiva { box-shadow: inset 0 0 0 2px var(--main-color); }
.pk-scheda__voto { display: flex; align-items: center; gap: 10px; }
.pk-scheda__numero { padding: 6px 9px; border-radius: 8px 8px 8px 0; background: var(--main-color); color: #fff; font-size: 18px; font-weight: 800; line-height: 1.1; }
.pk-scheda__numero small { font-size: 12px !important; font-weight: 700; opacity: .85; }
.pk-scheda__voto strong { display: block; font-size: 16px; }
.pk-scheda__voto small { display: block; font-size: 13px !important; color: #5b6f7b; }
.pk-scheda__etichette { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.pk-scheda__etichetta { padding: 4px 11px; border-radius: 999px; background: #eef5f8; color: var(--main-color); font-size: 13px; font-weight: 700; }
.pk-scheda__etichetta i { margin-right: 5px; }
.pk-scheda__titolo { margin: 20px 0 10px; font-size: 16px; font-weight: 700; color: #1f3a47; }
.pk-scheda__dati > .pk-scheda__titolo:first-child { margin-top: 0; }
.pk-scheda__servizi { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0; padding: 0; list-style: none; }
.pk-scheda__servizi li { display: flex; align-items: center; gap: 10px; }
.pk-scheda__servizi i { display: inline-flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #f3f8fa; color: var(--main-color); font-size: 15px; }
.pk-scheda__testo { color: #3d5562; }
.pk-scheda__mappa { height: 220px; overflow: hidden; border: 1px solid #e3eaee; border-radius: 12px; background: #eef4f7; }
.pk-scheda__mappa iframe { display: block; width: 100%; height: 100%; border: 0; }
.pk-scheda__distanze { margin: 10px 0 0; padding: 0; list-style: none; }
.pk-scheda__distanze li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px dashed #e3eaee; }
.pk-scheda__distanze li:last-child { border-bottom: 0; }
.pk-scheda__distanze i { width: 18px; color: var(--main-color); text-align: center; }
.pk-scheda__distanze b { margin-left: auto; white-space: nowrap; }
@media (max-width: 991px) {
	.pk-scheda { display: block; }
	.pk-scheda__foto { position: static; margin-bottom: 16px; }
	.pk-galleria__miniature { display: none; }
}
@media (max-width: 767px) {
	.pk-pannello__testa { min-height: 58px; padding: 10px 58px 10px 16px; }
	.pk-pannello__titolo { font-size: 17px; }
	.pk-pannello--struttura .pk-pannello__chiudi { top: 9px; right: 10px; }
	.pk-pannello--struttura .pk-pannello__riquadro { height: 100%; }
	.pk-pannello--struttura .pk-pannello__corpo { padding: 0 16px 24px; }
	.pk-scheda .pk-galleria { margin: 0 -16px; border-radius: 0; }
	.pk-scheda, .pk-scheda__servizi, .pk-scheda__distanze { font-size: 16px; }
}

/* Barra in basso su telefono: via mentre il riepilogo (con il suo Continua) e' a schermo; spazio in fondo pari alla barra */
@media (max-width: 991px) {
	.pk-barra-mobile.is-nascosta { display: none; }
	.pk-pagina { padding-bottom: 110px; }
}

/* ===========================================================================
   CONFIGURATORE IN DUE PASSI (revisione UX, 02/10/2026)
   Passo 1 pacchetto/componi ("Il tuo soggiorno"), passo 2 pacchetto/servizi
   ("Viaggio ed escursioni"); script public/frontend/js/app-pacchetto.js.
   Le regole della barra fissa valgono per tutte le pagine del pacchetto che
   hanno .pk-barra-mobile (anche dati e riepilogo).
   =========================================================================== */

/* --- Pagina d'ingresso (pacchetto/ingresso, senza date): titolo, voto e prezzo "da", date e partecipanti; poi
       cosa comprende, garanzie, come funziona, domande. Su telefono la foto viene dopo le date (il campo di
       arrivo resta nel primo schermo); da 992px in su due colonne, con la foto a destra alta quanto il blocco --- */
.pk-ingresso__testa { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 0 14px; text-align: left; }
.pk-testa__corpo { min-width: 0; }
/* h1 del sito: centrato (bookfavignana-new.css) */
h1.pk-testa__titolo, h1.pk-titolo { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.15; text-align: left; }
.pk-testa__sotto { display: block; margin-top: 4px; font-size: 17px; font-weight: 400; line-height: 1.3; color: #34515e; }
.pk-testa__riga { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: 8px; }
.pk-testa__riga:empty { display: none; }
.pk-testa__voto, .pk-testa__voto:hover, .pk-testa__voto:focus { color: #1f3a47; font-size: 14px; font-weight: 700; white-space: nowrap; }
.pk-testa__voto span { color: var(--brand-yellow); }
.pk-testa__da { display: inline-flex; align-items: baseline; gap: 8px; padding: 3px 12px; border: 1px solid #cfe0e8; border-radius: 999px; background: #f3f8fa; color: #34515e; font-size: 13px; text-align: left; white-space: nowrap; cursor: pointer; }
.pk-testa__da strong { font-size: 15px; color: var(--main-color); }
.pk-ingresso__date.pk-sezione { margin: 0; padding: 16px 18px; }
.pk-ingresso__date .pk-avviso { margin: 0 0 10px; }
.pk-ingresso__scopri.btn { margin-top: 14px; }
.pk-ingresso__foto { overflow: hidden; min-height: 180px; border-radius: 14px; background: #eef4f7; }
.pk-ingresso__foto img { display: block; width: 100%; height: 100%; min-height: 180px; max-height: 240px; object-fit: cover; object-position: 50% 60%; }
@media (min-width: 992px) {
	.pk-ingresso__testa { grid-template-columns: minmax(0, 1fr) minmax(0, 42%); grid-template-rows: auto 1fr; gap: 14px 24px; margin-bottom: 20px; }
	.pk-ingresso__testo { grid-column: 1; grid-row: 1; padding-top: 6px; }
	.pk-ingresso__date { grid-column: 1; grid-row: 2; align-self: start; }
	.pk-ingresso__foto { grid-column: 2; grid-row: 1 / span 2; position: relative; }
	.pk-ingresso__foto img { position: absolute; inset: 0; max-height: none; }
	h1.pk-testa__titolo { font-size: 36px; }
	.pk-testa__sotto { font-size: 19px; }
	/* Nel riquadro stretto della colonna i campi stanno due per riga */
	.pk-ingresso__date .pk-campi--viaggio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Sezioni di presentazione */
.pk-promo.pk-sezione { padding: 20px 22px 18px; }
.pk-comprende { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px 18px; margin: 4px 0 0; padding: 0; list-style: none; }
.pk-comprende__voce { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.4; color: #5b6f7b; }
.pk-comprende__voce strong { display: block; font-size: 16px; color: #1f3a47; }
.pk-valori { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px 20px; margin-top: 8px; }
.pk-valori__voce { display: flex; gap: 12px; align-items: flex-start; }
.pk-valori__voce strong { display: block; font-size: 16px; color: #1f3a47; }
.pk-valori__voce p { margin: 3px 0 0; font-size: 14px; line-height: 1.45; color: #5b6f7b; }
.pk-come-funziona { max-width: 760px; }
.pk-come-funziona .pk-dopo__testo strong { font-size: 16px; }
/* Fascia di immagini (compare quando le foto ci sono): da due a quattro, affiancate */
.pk-fascia-foto { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.pk-fascia-foto--1 { grid-template-columns: 1fr; }
.pk-fascia-foto--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pk-fascia-foto--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk-fascia-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; background: #eef4f7; }
.pk-ingresso__fine { margin: 6px 0 0; text-align: center; }
.pk-ingresso__fine .btn.bf-paga { display: inline-flex; width: auto; padding-left: 34px; padding-right: 34px; }
@media (max-width: 767px) {
	.pk-fascia-foto, .pk-fascia-foto--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.pk-promo.pk-sezione { padding: 14px 14px 12px; }
}

/* --- Passo 1 (pacchetto/componi, con le date): titolo e, in una riga, date e partecipanti scelti. "Modifica"
       apre i campi sul posto ------------------------------------------------------------------------------- */
h1.pk-titolo { margin-bottom: 8px; font-size: 26px; }
.pk-quando { margin: 0 0 4px; border: 1px solid #dbe5ea; border-radius: 12px; background: #fff; text-align: left; }
.pk-quando__riga { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 7px 12px; border: 0; border-radius: 12px; background: #f6f9fb; color: #1f3a47; text-align: left; cursor: pointer; }
.pk-quando.is-aperta .pk-quando__riga { border-radius: 12px 12px 0 0; }
.pk-quando__icona { flex: 0 0 auto; display: flex; color: var(--main-color); }
.pk-quando__testo { flex: 1 1 auto; min-width: 0; font-size: 15px; font-weight: 700; line-height: 1.3; }
.pk-quando__azione { flex: 0 0 auto; padding: 5px 12px; border: 2px solid var(--main-color); border-radius: 999px; background: #fff; color: var(--main-color); font-size: 14px; font-weight: 700; white-space: nowrap; }
.pk-quando__chiudi, .pk-quando.is-aperta .pk-quando__apri { display: none; }
.pk-quando.is-aperta .pk-quando__chiudi { display: inline; }
.pk-quando__campi { padding: 12px 14px 12px; }
.pk-quando__campi .pk-campi { margin-bottom: 0; }
.pk-quando__campi .pk-avviso { margin: 10px 0 0; }
/* Nelle due pagine del configuratore meno aria sopra il titolo e attorno ai passi: le scelte salgono */
.bestdestination2.pk-configura .booking-form-section { padding-top: 10px; }
.pk-configura .bf-passi { margin: 6px 0 6px; }
/* Domande frequenti in una riga che si apre (passo 1) */
.pk-faq--richiusa { margin: 0 0 18px; }
.pk-faq--richiusa .pk-faq__dentro { padding: 0 14px 12px; }
.pk-faq--richiusa .pk-faq__elenco { margin-top: 0; }

/* --- Garanzie del servizio, dopo le date: fascia compatta. Ogni voce e' un <details>: icona e titolo, il testo
       si apre al tocco. Da 992px in su una riga di quattro, con il testo su una riga sola (lo script le apre) e
       per intero al passaggio del mouse; sotto, griglia due per due e la voce aperta prende tutta la riga ---- */
.pk-fiducia { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 16px; margin: 0 0 10px; padding: 8px 14px; border: 1px solid #e3e7ea; border-radius: 14px; background: #fff; text-align: left; }
.pk-fiducia__voce { position: relative; min-width: 0; }
.pk-fiducia__voce > summary { display: flex; align-items: center; gap: 9px; min-height: 32px; list-style: none; cursor: pointer; }
.pk-fiducia__voce > summary::-webkit-details-marker { display: none; }
.pk-fiducia__icona { flex: 0 0 32px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #e9f3f7; color: var(--main-color); }
.pk-fiducia__voce strong { min-width: 0; font-size: 14px; line-height: 1.2; color: #1f3a47; }
.pk-fiducia__voce > p { margin: 0; font-size: 13px; line-height: 1.4; color: #5b6f7b; }
@media (min-width: 992px) {
	.pk-fiducia__voce > summary { min-height: 0; pointer-events: none; }
	.pk-fiducia__voce > summary strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.pk-fiducia__voce .pk-fiducia__icona { position: absolute; left: 0; top: 2px; }
	.pk-fiducia__voce { padding-left: 41px; }
	.pk-fiducia__voce > p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	/* Testo per intero al passaggio del mouse (o con il fuoco): un riquadro sopra la riga, senza spostare la pagina */
	.pk-fiducia__voce:hover > p, .pk-fiducia__voce:focus-within > p { position: absolute; left: 30px; right: -10px; top: 18px; z-index: 5; padding: 8px 11px 10px; border: 1px solid #e3e7ea; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(31, 58, 71, .16); white-space: normal; overflow: visible; color: #34515e; }
}
@media (max-width: 991px) {
	.pk-fiducia { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; margin-bottom: 12px; padding: 8px 12px; }
	.pk-fiducia__voce > summary { min-height: 44px; gap: 8px; }
	.pk-fiducia__voce .pk-fiducia__icona { flex-basis: 26px; width: 26px; height: 26px; }
	.pk-fiducia__voce .pk-fiducia__icona svg { width: 15px; height: 15px; }
	.pk-fiducia__voce strong { font-size: 13px; line-height: 1.15; }
	.pk-fiducia__voce[open] { grid-column: 1 / -1; padding-bottom: 6px; }
	.pk-fiducia__voce > p { padding-left: 34px; }
}

/* --- Sezioni --------------------------------------------------------------------------------------------- */
.pk-sezione__nota { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #5b6f7b; }
/* Riquadro delle date: titolo con la nota accanto; da tablet in su i quattro campi su una riga, come una barra di ricerca */
.pk-sezione__testa { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin: 0 0 6px; }
.pk-sezione__testa .pk-sezione__titolo, .pk-sezione__testa .pk-sezione__nota { margin: 0; }
.pk-sezione--date .pk-campi { margin-bottom: 0; }
@media (min-width: 768px) { .pk-campi--viaggio { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pk-vuoto { margin: 0; font-size: 14px; color: #5b6f7b; }
.pk-notti-testo { font-weight: 700; color: var(--main-color); white-space: nowrap; }
.pk-avviso__azione { margin: 6px 0 0 6px; border-radius: 999px; font-weight: 700; }
.pk-strutture__titolo { margin: 16px 0 0; font-weight: 700; color: #1f3a47; }
#pk-riserva-nota { margin: 10px 0 0; }
#pk-colazioni { margin-top: 10px; }
.pk-riepilogo__vuoto { margin: 0; font-size: 14px; color: #5b6f7b; }
.pk-riepilogo .pk-avviso { margin: 8px 0 0; font-size: 13px; }
#pk-escursioni > .pk-avviso { margin: 0 0 12px; }
/* Punti con la spunta (il transfer in tre punti) */
.pk-punti { margin: 4px 0 14px; padding: 0; list-style: none; font-size: 14px; color: #34515e; }
.pk-punti li { position: relative; margin: 5px 0; padding-left: 22px; line-height: 1.4; }
.pk-punti li::before { content: "\2713"; position: absolute; left: 2px; color: #2e8b57; font-weight: 700; }

/* --- Differenze: "a notte a persona", con il totale della differenza in piccolo -------------------------- */
/* !important sui <small>: nel sito valgono l'85% del testo attorno, con !important (bookfavignana-new.css) */
.pk-delta__totale { display: block; margin: 4px 0 0 2px; font-size: 13px !important; color: #5b6f7b; }
/* La scheda scelta non mostra la sua differenza (lo e' gia') */
.pk-opzione.is-scelta .pk-opzione__delta--altra { display: none; }

/* --- Schede "Le nostre selezioni": cosa hanno in comune le strutture, foto, voto ------------------------- */
.pk-selezione__riga { display: block; margin-top: 5px; font-size: 13px; line-height: 1.4; color: #34515e; }
.pk-selezione__riga strong { color: #1f3a47; }
.pk-selezione__riga--alcune { color: #5b6f7b; }
.pk-selezione__foto { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
.pk-selezione__foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: #eef4f7; }

/* --- Strutture senza nome e senza foto: quante sono libere, in che zona, cosa e' garantito --------------- */
.pk-libere { margin-top: 10px; padding: 12px 14px; border: 1px solid #e3e7ea; border-left: 4px solid var(--pk-fascia, #cfdbe2); border-radius: 12px; background: #fff; }
.pk-libere__zone { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0 0 10px; }
.pk-libere__zone span { padding: 3px 10px; border-radius: 999px; background: #eef2f4; font-size: 13px; color: #34515e; }
.pk-libere__titolo { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #5b6f7b; }
.pk-libere .pk-garanzie { margin-top: 6px; font-size: 14px; }

/* --- Pieghe: scelte secondarie. Da 992px sempre aperte (la riga non c'e'); sotto, una riga con la scelta
       di adesso che si apre al tocco e non si richiude da sola ------------------------------------------- */
.pk-piega__riga { display: none; }
@media (max-width: 991px) {
	.pk-piega { margin: 10px 0 0; border: 1px solid #dbe5ea; border-radius: 12px; background: #fff; }
	/* Etichetta e azione sulla prima riga; sotto, a tutta larghezza, la scelta di adesso e l'anteprima */
	.pk-piega__riga { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 10px; width: 100%; min-height: 56px; padding: 9px 12px; border: 0; border-radius: 12px; background: #f6f9fb; color: #1f3a47; text-align: left; cursor: pointer; }
	.pk-piega.is-aperta .pk-piega__riga { border-radius: 12px 12px 0 0; }
	.pk-piega__testo { display: contents; }
	.pk-piega__testo small { grid-column: 1; grid-row: 1; font-size: 13px !important; line-height: 1.3; color: #5b6f7b; }
	.pk-piega__testo strong { grid-column: 1 / -1; font-size: 16px; line-height: 1.25; }
	/* Senza etichetta la scelta sta accanto all'azione */
	.pk-piega__testo strong:first-child { grid-column: 1; grid-row: 1; }
	.pk-piega__anteprima { grid-column: 1 / -1; font-size: 13px; line-height: 1.3; color: #34515e; }
	.pk-piega__azione { grid-column: 2; grid-row: 1; padding: 6px 12px; border: 2px solid var(--main-color); border-radius: 999px; background: #fff; color: var(--main-color); font-size: 14px; font-weight: 700; white-space: nowrap; }
	.pk-piega__chiudi, .pk-piega.is-aperta .pk-piega__apri { display: none; }
	.pk-piega.is-aperta .pk-piega__chiudi { display: inline; }
	.pk-piega__corpo { display: none; padding: 2px 12px 12px; }
	.pk-piega.is-aperta .pk-piega__corpo { display: block; }
	.pk-piega__corpo > .pk-sottotitolo:first-child { margin-top: 10px; }
	/* Dentro la piega il riquadro tratteggiato e il suo titolo (gia' nella riga) non servono */
	.pk-piega .pk-cambia { margin: 0; padding: 4px 0 0; border: 0; }
	.pk-piega .pk-cambia__titolo, .pk-piega .pk-ritorno__nota { display: none; }
	.pk-piega .pk-ritorno__nota + .pk-opzioni { margin-top: 10px; }
}

/* --- Escursioni: "Aggiungi" come pulsante (area di tocco 44px), giorni --------------------------------- */
.pk-aggiungi { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border: 2px solid var(--main-color); border-radius: 999px; background: #fff; color: var(--main-color); font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: background-color .15s, color .15s; }
.pk-aggiungi:hover, .pk-aggiungi:focus-visible { background: #f3f8fa; }
.pk-aggiungi small { font-size: 13px !important; font-weight: 400; }
.pk-aggiungi__segno { font-size: 18px; line-height: 1; }
.pk-aggiungi.is-aggiunta { background: var(--main-color); color: #fff; }
.pk-servizio__giorno { flex: 1 1 100%; margin: 4px 0 0; font-size: 13px; font-weight: 700; color: #34515e; }
.pk-servizio__stato { margin: 0 0 4px; }
.pk-servizio--inclusa .pk-servizio__giorno { margin-bottom: 6px; }

/* --- Attesa del prezzo: niente blocco. La scelta e' gia' segnata e il totale gia' cambiato; mentre il server
       riallinea si attenuano solo le parti che dipendono dalla scelta e gira la rotella accanto al totale --- */
.pk-ruota { display: none; width: 14px; height: 14px; margin-left: 7px; border: 2px solid #d5e4ec; border-top-color: var(--main-color); border-radius: 50%; vertical-align: -1px; animation: pk-ruota .8s linear infinite; }
.pk-attesa .pk-riepilogo .pk-ruota, .pk-attesa .pk-barra-mobile .pk-ruota { display: inline-block; }
.pk-attesa .pk-delta, .pk-attesa .pk-delta__totale, .pk-attesa .pk-giorno small, .pk-attesa .pk-piega__anteprima,
.pk-attesa #pk-riepilogo-righe, .pk-attesa .pk-riepilogo__persona, .pk-attesa .pk-totale__persona, .pk-attesa #pk-persona-mobile { opacity: .45; transition: opacity .15s; }
.pk-attesa[data-attesa~="strutture"] #pk-strutture-elenco, .pk-attesa[data-attesa~="tutto"] #pk-strutture-elenco,
.pk-attesa[data-attesa~="selezioni"] .pk-opzioni--selezioni,
.pk-attesa[data-attesa~="tutto"] #pk-alloggio, .pk-attesa[data-attesa~="tutto"] #pk-colazioni,
.pk-attesa[data-attesa~="transfer"] #pk-ritorni, .pk-attesa[data-attesa~="transfer"] .pk-opzione__date { opacity: .5; transition: opacity .15s; }
.pk-attesa[data-attesa~="strutture"] .pk-strutture__titolo .pk-ruota, .pk-attesa[data-attesa~="tutto"] .pk-strutture__titolo .pk-ruota { display: inline-block; }
/* Totale di prima, in attesa di quello nuovo (date o persone cambiate: la differenza non si conosce) */
.is-incerto { opacity: .45; }
@media (prefers-reduced-motion: reduce) { .pk-ruota { animation-duration: 2.4s; } }

/* --- Riepilogo: pulsante di chiusura (solo quando sale dal basso su telefono) e velo --------------------- */
.pk-riepilogo__chiudi { display: none; }
.pk-velo { display: none; position: fixed; inset: 0; z-index: 2147483000; background: rgba(15, 30, 38, .5); }
.pk-velo.is-aperto { display: block; }

/* --- Barra fissa su telefono: totale su una riga e, sotto, il prezzo a persona. Vale per tutte le pagine
       del pacchetto: markup <span>Totale <strong>€ X</strong><small>€ Y a persona</small></span> + pulsante
       (un <br> fra "Totale" e l'importo, come prima, non manda piu' a capo) ------------------------------ */
@media (max-width: 991px) {
	.pk-barra-mobile { gap: 10px; min-height: 64px; padding: 8px 12px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
	.pk-barra-mobile > span { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.3; color: #5b6f7b; text-align: left; white-space: nowrap; }
	.pk-barra-mobile > span > br { display: none; }
	.pk-barra-mobile strong { margin-left: 3px; font-size: 20px; white-space: nowrap; }
	.pk-barra-mobile small { display: block; overflow: hidden; font-size: 13px !important; text-overflow: ellipsis; }
	/* .btn.bf-paga (bookfavignana-new.css, caricato dopo) e' largo quanto il contenitore: qui prende la sua misura */
	.pk-barra-mobile .btn, .pk-barra-mobile .btn.bf-paga { flex: 0 0 auto; width: auto; min-height: 46px; margin: 0; padding: 10px 20px; font-size: 16px; white-space: nowrap; }
	/* Nel configuratore il totale si tocca: apre il riepilogo "cosa e' compreso" */
	.pk-barra-mobile__totale { cursor: pointer; -webkit-tap-highlight-color: transparent; }
	.pk-barra-mobile__totale small { color: var(--main-color); font-weight: 700; }
	.pk-barra-mobile__totale small::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 -1px 7px; border-left: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); }
	#pk-persona-mobile:not(:empty) + .pk-barra-mobile__apri, .pk-barra-mobile.is-vuota small { display: none; }

	/* Pulsante delle preferenze cookie (iubenda) e bolla della chat (Tawk): stanno negli angoli in basso, sopra a
	   tutto, e coprirebbero totale e pulsante. Solo dove c'e' la barra salgono sopra di lei. Entrambi fissano la
	   posizione con stili in linea e !important: si spostano con translate, che non impostano. La chat aperta
	   a tutto schermo (max-width: 100%) non si sposta. */
	body:has(.pk-barra-mobile:not(.is-nascosta)) .iubenda-tp-btn,
	body:has(.pk-barra-mobile:not(.is-nascosta)) iframe[title*="chat" i]:not([style*="max-width: 100%"]) { translate: 0 -66px; }

	/* Nel configuratore il riepilogo non occupa la pagina: sale dal basso al tocco sul totale */
	.pk-configura .pk-riepilogo { display: none; }
	.pk-configura .pk-riepilogo.is-foglio { display: block; position: fixed; top: auto; left: 0; right: 0; bottom: 0; z-index: 2147483001; max-height: 86vh; max-height: 86dvh; margin: 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -8px 30px rgba(0, 0, 0, .25); animation: pk-sale .2s ease-out; }
	.pk-riepilogo.is-foglio .pk-riepilogo__chiudi { display: block; position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #eef3f6; color: #1f3a47; font-size: 26px; line-height: 1; cursor: pointer; }
	.pk-riepilogo.is-foglio h3 { padding-right: 48px; }
	body.pk-foglio-aperto { overflow: hidden; }
	/* iubenda impone display e visibility con !important: il suo pulsante si spegne con opacity e pointer-events */
	body.pk-foglio-aperto .iubenda-tp-btn { opacity: 0 !important; pointer-events: none !important; }
	body.pk-foglio-aperto .phpdebugbar { display: none !important; }
	.pk-configura.pk-pagina { padding-bottom: 84px; }
}
@keyframes pk-sale { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pk-configura .pk-riepilogo.is-foglio { animation: none; } }

/* --- Telefono: campi a due colonne, strutture che scorrono in orizzontale, schede piu' asciutte ---------- */
@media (max-width: 767px) {
	h1.pk-testa__titolo, h1.pk-titolo { font-size: 22px; }
	.pk-testa__sotto { margin-top: 2px; font-size: 14px; }
	.pk-testa__riga { gap: 6px 8px; margin-top: 6px; }
	/* Pagina di ricerca (09/10): intestazione centrata, "Favignana," su una riga e il resto del titolo sotto */
	.pk-ingresso__testo, .pk-ingresso__testo h1.pk-testa__titolo { text-align: center; text-wrap: wrap; }
	.pk-ingresso__testo h1.pk-testa__titolo { font-size: 25px; line-height: 1.2; }
	.pk-ingresso__testo .pk-testa__resto { display: block; }
	.pk-ingresso__testo .pk-testa__sotto { margin-top: 6px; font-size: 15px; }
	.pk-ingresso__testo .pk-testa__riga { justify-content: center; margin-top: 10px; }
	/* Primo passo: lo stesso titolo, centrato e a capo dopo "Favignana," */
	h1.pk-titolo.pk-titolo--passo1 { margin-bottom: 12px; font-size: 25px; line-height: 1.2; text-align: center; text-wrap: wrap; }
	.pk-titolo--passo1 .pk-testa__resto { display: block; }
	.pk-testa__da { padding: 2px 10px; }
	.pk-testa__da strong { font-size: 14px; }
	.pk-testa__da span { display: none; }
	.pk-ingresso__scopri.btn .fa { display: none; }
	.pk-ingresso__date.pk-sezione { padding: 12px 14px 14px; }
	.pk-sezione__testa { margin-bottom: 6px; }
	.pk-quando__testo { font-size: 14px; }
	.pk-quando__riga { padding: 6px 10px; gap: 8px; }
	.pk-sezione { margin-bottom: 12px; padding: 14px 14px 12px; }
	.pk-sezione__titolo { margin-bottom: 8px; }
	.pk-sezione__intro { margin-bottom: 10px; }
	.pk-campi--viaggio { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pk-campi--viaggio > div { min-width: 0; }
	.pk-campi--viaggio .form-control { width: 100%; min-width: 0; height: 44px; padding-left: 8px; padding-right: 6px; }
	.pk-campi--viaggio .bf-campo__etichetta { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
	/* Pacchetti: anche su telefono cosa comprendono, con le icone (06/10: senza, la scheda era un muro di testo) */
	.pk-opzioni { gap: 10px; }
	.pk-opzione { padding: 12px 12px 10px; }
	/* Schede con icona: l'icona accanto al nome, non sopra */
	.pk-opzione--icona { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: start; }
	.pk-opzione--icona .pk-opzione__icona { grid-row: 1 / span 9; width: 34px; height: 34px; margin: 0; }
	.pk-opzione--icona .pk-campione { width: 34px; height: 34px; }
	.pk-opzione--icona > :not(.pk-opzione__icona):not(input) { grid-column: 2; }
	/* "Una di queste strutture sara' la tua": scorre in orizzontale, sempre in vista */
	.pk-strutture { display: flex; gap: 10px; margin-right: -14px; padding: 0 14px 6px 0; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
	.pk-struttura { flex: 0 0 62%; max-width: 240px; scroll-snap-align: start; }
	/* Senza foto ma con le caratteristiche: stessa larghezza delle altre, il testo non va a capo a ogni parola */
	.pk-struttura--compatta { flex-basis: 62%; }
	/* Escursioni */
	/* Scheda: foto accanto al nome; etichette, giorni e pulsanti sotto, a tutta larghezza. La descrizione si legge
	   nei dettagli; i giorni stanno su una riga che scorre */
	.pk-servizio { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 4px 10px; align-items: start; padding: 10px; }
	.pk-servizio__corpo { display: contents; }
	.pk-servizio__corpo > * { grid-column: 1 / -1; min-width: 0; }
	.pk-servizio__img { grid-column: 1; grid-row: 1 / span 2; width: 72px; height: 72px; }
	.pk-servizio__corpo > .pk-servizio__stato, .pk-servizio__corpo > .pk-servizio__nome { grid-column: 2; }
	.pk-servizio__stato { margin: 0; }
	.pk-servizio__nome { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
	.pk-servizio__testo { display: none; }
	/* Da aggiungere: pulsante e differenza sulla stessa riga (il giorno si sceglie dopo averla aggiunta) */
	.pk-aggiungi:not(.is-aggiunta) small { display: none; }
	.pk-aggiungi { padding: 8px 14px; }
	/* Che un'escursione e' inclusa e si puo' cambiare lo dicono gia' la scheda e le righe sotto */
	#pk-escursioni-intro { display: none; }
	.pk-punti { margin: 2px 0 10px; }
	.pk-punti li { margin: 3px 0; }
	.pk-servizio__chips { margin: 2px 0 0; }
	.pk-giorni { flex-wrap: nowrap; margin-right: -10px; padding: 0 10px 10px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.pk-giorno { flex: 0 0 auto; min-width: 72px; min-height: 44px; justify-content: center; }
	/* Aeroporto non scelto: due righe di descrizione (per intero quando lo si sceglie) */
	.pk-dettagli-link { min-height: 32px; margin-bottom: 4px; }
	.pk-servizio__azioni .pk-delta { margin-left: 0; }
	.pk-cambia__azioni .btn { min-height: 44px; padding: 8px 16px; }

	/* Caratteri: nelle pagine del pacchetto niente sotto i 13px e poche misure (13 testo di servizio, 14 testo,
	   16 nomi e campi, 18 titoli, 20-22 totale e titolo della pagina) */
	.pk-pagina .pk-sezione__titolo, .pk-pagina .pk-riepilogo h3, .pk-riepilogo.is-foglio h3 { font-size: 18px; }
	.pk-pagina .pk-opzione__nome, .pk-pagina .pk-formula .pk-opzione__nome, .pk-pagina .pk-servizio__nome,
	.pk-pagina .pk-faq .bf-faq__domanda, .pk-pagina .form-control { font-size: 16px; }
	.pk-pagina .pk-sezione__intro, .pk-pagina .pk-avviso, .pk-pagina .pk-cambia, .pk-pagina .pk-ritorno__nota, .pk-pagina .pk-come,
	.pk-pagina .pk-come__titolo, .pk-pagina .pk-perche, .pk-pagina .pk-perche__titolo, .pk-pagina .pk-delta, .pk-pagina .pk-faq .bf-faq__risposta p,
	.pk-pagina .pk-faq__altro, .pk-pagina .pk-riepilogo__date, .pk-pagina .pk-incluso__testo, .pk-pagina .pk-inclusi--formula .pk-incluso__testo,
	.pk-pagina .pk-dopo__testo, .pk-pagina .pk-sottotitolo, .pk-pagina .pk-loader, .pk-pagina .pk-organizza strong,
	.pk-pagina .pk-aggiungi { font-size: 14px; }
	.pk-pagina .pk-opzione__testo, .pk-pagina .pk-garanzie, .pk-pagina .pk-struttura, .pk-pagina .pk-struttura__voto, .pk-pagina .pk-delta small,
	.pk-pagina .pk-incluso-etichetta, .pk-pagina .pk-giorno, .pk-pagina .pk-giorno small, .pk-pagina .pk-opzione__date,
	.pk-pagina .pk-inclusi__titolo, .pk-pagina .pk-incluso__testo small, .pk-pagina .pk-riepilogo__persona, .pk-pagina .pk-riepilogo__nota,
	.pk-pagina .pk-motivi, .pk-pagina .pk-nota, .pk-pagina .pk-organizza, .pk-pagina .pk-dettagli-link, .pk-pagina .pk-formula-badge,
	.pk-pagina .pk-servizio__testo, .pk-pagina .pk-opzione__prezzo small, .pk-pagina .pk-dopo__segno, .pk-pagina .pk-cambia__voce small,
	.pk-pagina .pk-cambia__voce .pk-dettagli-link, .pk-pagina .pk-riepilogo .pk-avviso { font-size: 13px; }
	/* I <small> (nel sito l'85% del testo attorno, con !important) e i componenti comuni dentro le pagine del
	   pacchetto: passi, etichette dei campi, etichette delle escursioni */
	.pk-pagina small { font-size: 13px !important; }
	.pk-pagina .bf-passi__numero, .pk-pagina .bf-passi__etichetta, .pk-pagina .bf-card__chip, .pk-pagina .esc-card__limite,
	.pk-pagina .bf-testata__fatti { font-size: 13px; }
	.pk-pagina .bf-campo__etichetta, .pk-pagina .alert, .pk-pagina .bf-testata__oggetto, .pk-pagina .btn-sm { font-size: 14px; }
	.pk-pagina .booking-form-section h1 { font-size: 22px; }
	.pk-pagina .bf-totale h3, .pk-pagina .bf-totale h3 strong { font-size: 20px; }
}

/* ---------------------------------------------------------------------------
   Presentazione a elenchi (config pacchetti.selezioni = 'elenchi'): gli elenchi
   di strutture uno sotto l'altro al posto delle schede delle selezioni. Quello
   scelto e' aperto con le schede; gli altri in una riga con i nomi, la
   differenza a notte a persona e i pulsanti "Vedi le schede" / "Scegli queste".
   --------------------------------------------------------------------------- */
.pk-elenco { margin-top: 12px; padding: 12px 14px; border: 1px solid #e3e7ea; border-radius: 12px; background: #fff; }
.pk-elenco.is-scelto { border: 2px solid var(--main-color); background: #f6fafc; }
.pk-elenco__testa { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pk-elenco__titolo { font-weight: 700; font-size: 16px; color: #1f3a47; }
.pk-elenco__scelto { padding: 3px 10px; border-radius: 999px; background: #e3f3ea; color: #1f6b43; font-size: 13px; font-weight: 700; white-space: nowrap; }
.pk-elenco__testa .pk-opzione__delta { margin: 0; }
.pk-elenco__nomi { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #34515e; }
.pk-elenco__voto { color: #5b6f7b; font-weight: 700; }
.pk-elenco__alcune { font-size: 13px; color: #5b6f7b; }
.pk-elenco__schede { display: none; }
.pk-elenco.is-aperto .pk-elenco__schede { display: block; }
.pk-elenco.is-aperto:not(.is-scelto) .pk-elenco__nomi { display: none; }
.pk-elenco__azioni { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.pk-elenco__azioni .btn { margin: 0; min-height: 44px; padding: 8px 16px; font-size: 14px; }
/* 06/10: elenchi sempre aperti; sopra le schede solo la riga "Alcune con..." */
.pk-elenco__note { margin: 8px 0 0; font-size: 14px; line-height: 1.6; }

/* Elenchi: banda col nome della selezione nel suo colore, in cima alla scheda (05/10) */
.pk-elenco { overflow: hidden; }
.pk-elenco__banda {
	display: flex; align-items: center; gap: 8px;
	margin: -12px -14px 10px; padding: 7px 14px;
	background: var(--pk-fascia, #c9d3d9); color: #fff;
	font-size: 14px; font-weight: 700; letter-spacing: .2px;
}
.pk-elenco.is-scelto .pk-elenco__banda { margin: -12px -14px 10px; }
.pk-elenco.is-scelto { border-color: var(--pk-fascia, var(--main-color)); }
.pk-elenco__onda { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.pk-elenco__onda svg { width: 16px; height: 16px; }
/* Riepilogo a lato: "Puoi cambiarlo al prossimo step" sotto aeroporti ed escursione (passo 1) */
.pk-incluso__nota { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 700; color: var(--main-color); }
/* Banda accesa solo sull'elenco scelto; sugli altri lo stesso colore, tenue (05/10) */
.pk-elenco:not(.is-scelto) .pk-elenco__banda { background: color-mix(in srgb, var(--pk-fascia, #c9d3d9) 22%, #fff); color: #1f3a47; }
.pk-elenco:not(.is-scelto) .pk-elenco__onda { background: var(--pk-fascia, #c9d3d9); color: #fff; }
.pk-elenco__banda { transition: background-color .15s, color .15s; }
/* Introduzione sotto "Quale selezione preferisci per il tuo soggiorno?" (05/10) */
.pk-elenco__intro { margin: 4px 0 2px; font-size: 14px; line-height: 1.5; color: #5b6f7b; }

/* ---------------------------------------------------------------------------
   06/10 - passo 1 su telefono: schede dei pacchetti con "cosa comprende" e le
   icone in evidenza, e misure del testo allineate al sito (le descrizioni come
   .bf-card__descrizione su telefono, 14px; 13px solo per le informazioni di
   contorno: recensioni, "a notte a persona", passi)
   --------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.pk-formula .pk-inclusi--formula { margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid #e3e7ea; }
	.pk-formula .pk-inclusi--formula .pk-incluso { padding: 5px 0; gap: 10px; }
	.pk-formula .pk-inclusi--formula .pk-incluso__icona { width: 32px; height: 32px; flex: 0 0 32px; }
	.pk-formula .pk-inclusi--formula .pk-incluso__testo strong { font-size: 15px; }
	.pk-pagina .pk-formula .pk-inclusi--formula .pk-incluso__testo small { font-size: 13px !important; }
	.pk-formula .pk-garanzie--formula { margin-top: 8px; }

	.pk-pagina .pk-opzione__testo, .pk-pagina .pk-garanzie, .pk-pagina .pk-struttura,
	.pk-pagina .pk-come__punti li, .pk-pagina .pk-nota { font-size: 14px; line-height: 1.5; }
	.pk-pagina .pk-struttura__nome { font-size: 15px; line-height: 1.3; }
	.pk-pagina .pk-struttura__car li { font-size: 14px; }
	.pk-pagina .pk-sezione__titolo { line-height: 1.3; }
}
@media (max-width: 767px) {
	/* Transfer ed escursione sono uguali in entrambi i pacchetti: su telefono basta il titolo con l'icona;
	   resta il sottotitolo del soggiorno, che e' cio' che distingue i due pacchetti */
	.pk-formula .pk-inclusi--formula .pk-incluso:not(:first-child) .pk-incluso__testo small { display: none; }
	.pk-formula .pk-inclusi--formula .pk-incluso { padding: 3px 0; align-items: center; }
	.pk-formula .pk-inclusi--formula .pk-incluso__icona { width: 28px; height: 28px; flex: 0 0 28px; }
}
/* Anche da computer le descrizioni e le caratteristiche a 14px, come le descrizioni delle schede del sito (06/10) */
.pk-pagina .pk-opzione__testo, .pk-pagina .pk-garanzie, .pk-pagina .pk-struttura { font-size: 14px; line-height: 1.5; }
.pk-pagina .pk-struttura__nome { font-size: 15px; line-height: 1.3; }
/* Selezioni alternative su telefono (06/10): "Cambia selezione" largo quanto la scheda */
@media (max-width: 767px) {
	.pk-elenco__azioni { flex-direction: column; align-items: stretch; gap: 4px; }
	.pk-elenco__azioni .pk-elenco__scegli { width: 100%; }
}

/* 06/10 - Passo 2. Transfer: i punti con la loro icona, piu' compatti dell'elenco "cosa e' incluso" */
.pk-inclusi--transfer { margin: 4px 0 14px; }
.pk-inclusi--transfer .pk-incluso { align-items: center; padding: 7px 0; }
.pk-inclusi--transfer .pk-incluso__icona { flex: 0 0 32px; width: 32px; height: 32px; }
.pk-inclusi--transfer .pk-incluso__testo { font-size: 14px; line-height: 1.4; color: #34515e; }
/* Escursioni: la scheda scelta ha lo sfondo azzurrino delle pill semplici ("Skipper del posto"): qui bianche, col filo */
.pk-servizio .bf-card__chip:not(.bf-card__chip--forte):not(.bf-card__chip--incluso) { background: #fff; box-shadow: inset 0 0 0 1px #d3e1e8; }

/* 06/10 - Riquadri che si aprono al tocco (pk-box): "Come scegliamo la tua struttura", domande frequenti e, in
   sabbia, i consigli (voli, primi giorni). Intestazione con icona tonda, titolo e una riga su cosa c'e' dentro */
.pk-box { margin: 14px 0 0; border: 1px solid #dbe5ea; border-radius: 14px; background: #fff; color: #1f3a47; font-size: 14px; }
.pk-box > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 12px 14px; list-style: none; cursor: pointer; }
.pk-box > summary::-webkit-details-marker { display: none; }
.pk-box__icona { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #e6f3f8; color: var(--main-color); }
.pk-box__titoli { flex: 1 1 auto; min-width: 0; }
.pk-box__titolo { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; }
.pk-box__sotto { display: block; margin-top: 2px; font-size: 13px; line-height: 1.35; color: #5b6f7b; }
.pk-box__freccia { flex: 0 0 auto; width: 9px; height: 9px; margin: -4px 4px 0 0; border-right: 2px solid var(--main-color); border-bottom: 2px solid var(--main-color); transform: rotate(45deg); transition: transform .15s; }
.pk-box[open] .pk-box__freccia { margin-top: 4px; transform: rotate(-135deg); }
.pk-box__righe { margin: 0; padding: 0 14px 4px; list-style: none; }
.pk-box__righe li { display: flex; gap: 11px; align-items: flex-start; padding: 10px 0; border-top: 1px solid #eef1f3; line-height: 1.45; }
.pk-box__ico { flex: 0 0 28px; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: #e9f3f7; color: var(--main-color); }
.pk-box a { font-weight: 700; }
/* Riquadro fisso (non si apre): stessa testa, il testo sotto e' il contenuto e si legge per intero (riepilogo, 08/10) */
.pk-box--fisso > .pk-box__testa { display: flex; align-items: flex-start; gap: 12px; padding: 14px; }
.pk-box--fisso .pk-box__titolo { padding-top: 2px; }
.pk-box--fisso .pk-box__sotto { margin-top: 4px; font-size: 13.5px; line-height: 1.5; color: #2f4a57; }
.pk-box--fisso .pk-box__sotto strong { color: #1f3a47; }
/* Consigli: color sabbia, perche' si leggano come suggerimenti e non come regole */
.pk-box--consiglio { border-color: #f1dcb2; background: #fffaf0; }
.pk-box--consiglio .pk-box__icona, .pk-box--consiglio .pk-box__ico { background: #fdebc8; color: #8a5a00; }
.pk-box--consiglio .pk-box__sotto { color: #82653a; }
.pk-box--consiglio .pk-box__freccia { border-color: #8a5a00; }
.pk-box--consiglio .pk-box__righe li { border-top-color: #f3e6c9; }
.pk-box__motivi { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; padding: 0 14px 14px; }
.pk-box__motivo { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px 10px; align-items: center; padding: 10px 12px; border: 1px solid #f1dcb2; border-radius: 10px; background: #fff; font-size: 13.5px; line-height: 1.45; }
.pk-box__motivo strong { font-size: 14px; line-height: 1.3; }
.pk-box__motivo > span:last-child { grid-column: 1 / -1; }
/* Domande frequenti: dentro il riquadro, e in fondo la fascia "Non trovi la risposta? Scrivici" (anche nell'ingresso) */
.pk-box.pk-faq--richiusa { margin: 0 0 18px; }
.pk-box.pk-faq--richiusa .pk-faq__dentro { padding: 0 14px; }
.pk-faq__altro { display: flex; align-items: center; gap: 11px; margin: 12px 0 0; padding: 12px 14px; border-radius: 10px; background: #f6f9fa; }
.pk-faq__altro .pk-box__ico { background: #fff; }
.pk-box.pk-faq--richiusa .pk-faq__altro { margin: 6px -14px 0; border-top: 1px solid #e3eaee; border-radius: 0 0 14px 14px; }

/* 08/10 - Tariffa flessibile con l'acconto: quanto si paga oggi, sotto il totale (passi, dati) */
.pk-acconto-oggi { margin: 6px 0 0; font-size: 14px; font-weight: 700; color: #1f7a48; }
/* Barra su telefono (dati, riepilogo): sotto il totale, quanto si paga oggi con l'acconto */
.pk-barra-mobile__acconto { color: #1f7a48; font-weight: 700; }

/* ---------------------------------------------------------------------------
   19/10/2026 - Sotto le strutture della selezione scelta, con la flessibile:
   "Con la non rimborsabile risparmi... e c'è anche..." e il pulsante che
   passa a quella tariffa (giallo del marchio, pulsante a pillola come
   .pk-quando__azione). Su telefono il pulsante va a tutta larghezza.
   --------------------------------------------------------------------------- */
.pk-nr-anche { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: center; margin-top: 12px; padding: 12px 14px; border: 1px solid #ecdcae; border-radius: 12px; background: #fbf5e3; }
.pk-nr-anche__ico { flex: 0 0 34px; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #d5aa1d; color: #fff; }
.pk-nr-anche__ico svg { width: 18px; height: 18px; }
.pk-nr-anche__testo { flex: 1 1 0; min-width: 0; margin: 0; font-size: 15px; line-height: 1.5; color: #1f3a47; }
.pk-nr-anche__azione { flex: 1 0 100%; min-height: 44px; padding: 8px 16px; border: 2px solid var(--main-color); border-radius: 999px; background: #fff; color: var(--main-color); font-size: 14px; font-weight: 700; cursor: pointer; }
.pk-nr-anche__azione:hover, .pk-nr-anche__azione:focus { background: var(--main-color); color: #fff; }
@media (min-width: 768px) {
	.pk-nr-anche { flex-wrap: nowrap; }
	.pk-nr-anche__azione { flex: 0 0 auto; white-space: nowrap; }
}

/* ===========================================================================
   28/10/2026 - Vantaggi gratis in ogni pacchetto, Egadi Premium in evidenza,
   riepilogo compatto
   =========================================================================== */

/* Riquadro dei vantaggi (pacchetto/include/vantaggi): il verde e lo scudo della garanzia dello shuttle */
.pk-vantaggi { margin: 14px 0 0; padding: 11px 14px 10px; border: 1.5px solid #1e8e3e; border-radius: 14px; background: #f1faf3; text-align: left; }
.pk-vantaggi__titolo { margin: 0 0 8px; font-size: 15px; font-weight: 700; line-height: 1.35; color: #14532d; }
.pk-vantaggi__titolo strong { color: #1e8e3e; }
.pk-vantaggi__lista { margin: 0; padding: 0; list-style: none; }
.pk-vantaggi__voce { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 6px; font-size: 15px; line-height: 1.35; color: #14532d; }
.pk-vantaggi__voce:last-child { margin-bottom: 0; }
.pk-vantaggi__voce .pk-scudo { flex: 0 0 auto; width: 20px; height: 20px; }
/* Nel passo 1 solo su telefono, sotto le schede: da 992px in su li dice il riepilogo a lato */
.pk-vantaggi--mobile { display: none; }
@media (max-width: 991px) {
	.pk-vantaggi--mobile { display: block; }
}
@media (max-width: 767px) {
	.pk-vantaggi__titolo, .pk-vantaggi__voce { font-size: 16px; }
}

/* Egadi Premium in evidenza: etichetta "Lasciati coccolare" appoggiata sul bordo in alto (non sposta il titolo, che
   resta alla stessa altezza di Egadi Experience), bordo dorato, tipo di soggiorno evidenziato. Giallo del marchio */
.pk-formule { padding-top: 6px; }
.pk-formula--premium { border-color: #e8d48f; }
.pk-formula--premium.is-scelta { border-color: var(--main-color); }
.pk-formula__etichetta {
	position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
	display: inline-flex; align-items: center; gap: 7px;
	padding: 4px 12px 4px 5px; border: 1.5px solid #e8d48f; border-radius: 999px;
	background: #f7ecc8; color: #5c4710; font-size: 13.5px; font-weight: 700; line-height: 1.2; white-space: nowrap;
}
.pk-formula__stella { display: inline-flex; flex: 0 0 20px; width: 20px; height: 20px; align-items: center; justify-content: center; border-radius: 50%; background: #d5aa1d; color: #fff; }
.pk-evidenza { padding: 1px 6px; border-radius: 6px; background: #f7ecc8; color: #5c4710; font-weight: 700; }
@media (max-width: 767px) {
	/* Le schede sono una sotto l'altra: spazio sopra per l'etichetta e un po' d'aria sotto */
	.pk-formula--premium { margin-top: 18px; padding-top: 24px; }
	.pk-formula--premium input[type=radio] { top: 24px; }
	.pk-formula__etichetta { font-size: 15px; }
}

/* Riepilogo compatto (app-pacchetto.js, funzione riepilogo, e pacchetto/include/riepilogo) */
.pk-riepilogo__date { margin: 0 0 8px; }
.pk-riepilogo__passo { margin: 0 0 6px; padding: 7px 11px; border-radius: 10px; background: #f3f8fa; font-size: 13px; line-height: 1.35; color: #1f3a47; }
.pk-riepilogo__passo::before { content: "\2192\00a0"; color: var(--main-color); font-weight: 700; }
.pk-inclusi--compatto .pk-incluso--compatto { padding: 10px 0; }
.pk-inclusi--compatto .pk-incluso--compatto:first-child { padding-top: 4px; }
.pk-inclusi--compatto .pk-incluso__icona { flex: 0 0 34px; width: 34px; height: 34px; }
.pk-incluso__riga { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: #5b6f7b; }
.pk-incluso__car { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; color: #33464f; }
.pk-incluso__v { margin-right: 2px; color: #1e8e3e; font-weight: 700; }
/* Vantaggio gratis: etichetta GRATIS con lo scudo dentro, poi il testo normale; va a capo sotto l'etichetta */
.pk-gratis-riga { display: block; margin-top: 5px; font-size: 13px; font-weight: 400; line-height: 1.4; color: #33464f; }
.pk-gratis {
	position: relative; top: -1px; display: inline-flex; align-items: center; gap: 3px; margin-right: 2px; padding: 0 5px 0 3px;
	border: 1px solid #1e8e3e; border-radius: 4px; color: #1e7a38; font-size: 10px; font-weight: 700; letter-spacing: .06em;
	line-height: 15px; text-transform: uppercase; vertical-align: middle;
}
.pk-gratis .pk-scudo { flex: 0 0 12px; width: 12px; height: 12px; }
@media (max-width: 767px) {
	.pk-pagina .pk-inclusi--compatto .pk-incluso__testo strong { font-size: 16px; }
	.pk-incluso__riga, .pk-incluso__car, .pk-gratis-riga { font-size: 14px; }
	.pk-gratis { gap: 2px; padding: 0 4px 0 3px; font-size: 11px; letter-spacing: .02em; line-height: 17px; }
	.pk-gratis .pk-scudo { flex-basis: 13px; width: 13px; height: 13px; }
}
@media (max-width: 991px) {
	/* Lo spazio per la x di chiusura vale per il titolo del riepilogo, non per la riga del totale (era spostato a sinistra) */
	.pk-riepilogo.is-foglio .bf-totale h3 { padding-right: 0; }
}
/* Da 992px in su: se il riepilogo del configuratore e' piu' alto della finestra scorre solo l'elenco, totale e
   Continua restano in vista (su un portatile 1366x768 il pulsante finiva sotto il bordo dello schermo) */
@media (min-width: 992px) {
	#pk-riepilogo { display: flex; flex-direction: column; max-height: calc(100vh - 32px); }
	#pk-riepilogo > * { flex: 0 0 auto; }
	#pk-riepilogo-righe { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
}
/* Pagina del viaggio: il campo dei bagagli extra non occupa tutta la riga da tablet in su */
@media (min-width: 768px) {
	.pk-campi--bagagli { max-width: 50%; }
}

/* ===========================================================================
   PASSO 1 «IL TUO SOGGIORNO» (mock V18 approvato da Vincenzo il 29/10/2026)
   Solo la pagina pacchetto/componi (classe pk-passo1 sul contenitore): la
   pagina del viaggio (servizi) usa lo stesso riepilogo e non cambia.
   Sfondo azzurro nebbia con riquadri bianchi, testata con la foto, titoli in
   Work Sans 800, testi di almeno 16px su telefono; selezioni col bordo nel
   loro colore, strutture sempre in vista; riepilogo con date e totale in cima.
   =========================================================================== */
body:has(.pk-passo1), main.site-main:has(.pk-passo1) { background-color: #eaf2f6; }
.pk-passo1, .pk-passo1 .booking-form-section { background-color: #eaf2f6; }
.pk-passo1.bestdestination2::before, .pk-passo1 .booking-form-section::before { display: none; }
.pk-passo1, .pk-passo1 .booking-form-section { padding-top: 0 !important; margin-top: 0 !important; }
.pk-passo1 { font-variant-numeric: tabular-nums; }

/* Testata con la foto; il riquadro delle date si appoggia sul bordo in basso */
.pk-testata { position: relative; height: 164px; overflow: hidden; background: #0b3b4f; }
.pk-testata__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
/* Velatura: piu' scura dove sta il titolo, perche' il bianco resti leggibile anche sopra lo scoglio chiaro */
.pk-testata::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 30, 42, .10) 0%, rgba(5, 30, 42, .50) 45%, rgba(5, 30, 42, .80) 100%); }
.pk-testata__dentro { position: relative; z-index: 1; height: 100%; }
h1.pk-testata__titolo { position: absolute; left: 15px; right: 15px; bottom: 38px; margin: 0; padding: 0; color: #fff !important; text-align: left; font-family: 'Work Sans', Arial, sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -.025em; line-height: 1.1; text-shadow: 0 1px 10px rgba(0, 0, 0, .3); }
h1.pk-testata__titolo .pk-testa__resto { display: block; margin-top: 2px; color: #fff; font-size: 22px; font-weight: 700; }
@media (min-width: 768px) {
	.pk-testata { height: 200px; }
	h1.pk-testata__titolo { bottom: 42px; font-size: 40px; }
	h1.pk-testata__titolo .pk-testa__resto { display: inline; margin: 0; font-size: inherit; font-weight: inherit; }
}
.pk-passo1 .pk-quando { position: relative; z-index: 2; margin-top: -26px; border-color: #fff; background: #fff; box-shadow: 0 6px 20px rgba(11, 59, 79, .10); }
.pk-passo1 .pk-quando__riga { background: #fff; }
.pk-quando__date, .pk-quando__chi { white-space: nowrap; }
@media (max-width: 767px) {
	/* Date sulla prima riga per intero; notti e persone sulla seconda, con «Modifica» accanto */
	.pk-passo1 .pk-quando__riga { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; grid-template-areas: "ic date date" "ic chi az"; align-items: center; gap: 2px 10px; padding: 8px 8px 8px 12px; }
	.pk-passo1 .pk-quando__icona { grid-area: ic; align-self: start; margin-top: 3px; }
	.pk-passo1 .pk-quando__testo { display: contents; font-size: 16px; }
	.pk-passo1 .pk-quando__date { grid-area: date; font-size: 16px; }
	.pk-passo1 .pk-quando__chi { grid-area: chi; font-size: 16px; font-weight: 500; color: #34515e; white-space: normal; }
	.pk-passo1 .pk-quando__sep { display: none; }
	.pk-passo1 .pk-quando__azione { grid-area: az; padding: 6px 12px; font-size: 16px; }
}

/* Passi: su telefono «Passo 1 di 4 · Il tuo soggiorno» e quattro tacche; da 768px quelli numerati */
.pk-passi-breve { display: none; }
@media (max-width: 767px) {
	.pk-passo1 .pk-passi-breve { display: block; margin: 14px 0 12px; text-align: left; }
	.pk-passi-breve__riga { margin: 0; color: #55666f; font-size: 16px; }
	.pk-passi-breve__riga strong { color: #0b3b4f; font-weight: 700; }
	.pk-passi-breve__tacche { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 6px; }
	.pk-passi-breve__tacca { display: block; }
	.pk-passi-breve__tacca i { display: block; height: 4px; border-radius: 2px; background: #cfe0e8; }
	.pk-passi-breve__tacca.is-corrente i { background: var(--main-color); }
	.pk-passi-breve__tacca.is-fatta i { background: #7fb3c8; }
	/* La tacca di un passo gia' fatto riporta a quel passo: area di tocco alta 44px */
	a.pk-passi-breve__tacca { margin: -20px 0; padding: 20px 0; }
	.pk-passo1 .bf-passi-riga { display: none; }
}

/* Riquadri bianchi sull'azzurro; le scelte bianche col bordo blu piu' spesso (e il pallino pieno) */
.pk-passo1 .pk-sezione, .pk-passo1 .pk-box, .pk-passo1 .pk-riepilogo { border-color: #dbe6ec; }
.pk-passo1 .pk-opzione.is-scelta { background: #fff; box-shadow: inset 0 0 0 1px var(--main-color); }

/* Caratteri: Work Sans, titoli 800 con la spaziatura stretta */
.pk-passo1, .pk-passo1 .pk-riepilogo, .pk-passo1 .pk-barra-mobile { font-family: 'Work Sans', Arial, sans-serif; }
.pk-passo1 .pk-sezione__titolo { font-size: 24px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.pk-passo1 .pk-formula .pk-opzione__nome { font-size: 21px; font-weight: 800; letter-spacing: -.015em; }
.pk-passo1 .pk-strutture__titolo { font-size: 20px; font-weight: 800; letter-spacing: -.015em; line-height: 1.2; }
.pk-passo1 .pk-riepilogo h3 { font-weight: 800; letter-spacing: -.015em; }
.pk-passo1 .bf-totale h3 strong { font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.pk-passo1 .pk-barra-mobile strong { font-weight: 800; letter-spacing: -.02em; }

/* Foto nelle schede dei pacchetti: il pallino scende sotto la foto */
.pk-formula__foto { display: block; height: 96px; margin: 0 0 12px; border-radius: 10px; overflow: hidden; background: #cfe6ef; }
.pk-formula__foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.pk-passo1 .pk-formula:has(.pk-formula__foto) input[type=radio] { top: 124px; }
/* Il pacchetto scelto si riconosce a colpo d'occhio (02/11/2026): «La tua scelta» sulla foto, ombra e pallino piu' grande */
.pk-formula__foto { position: relative; }
.pk-formula__scelta { display: none; position: absolute; top: 8px; right: 8px; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #fff; color: #1f6b43; font-size: 15px; font-weight: 700; line-height: 1.2; white-space: nowrap; box-shadow: 0 1px 6px rgba(16, 34, 43, .28); }
.pk-formula.is-scelta .pk-formula__scelta { display: inline-flex; }
.pk-passo1 .pk-formula.is-scelta { box-shadow: inset 0 0 0 1px var(--main-color), 0 6px 18px rgba(0, 110, 149, .24); }
.pk-passo1 .pk-formula input[type=radio] { width: 22px; height: 22px; accent-color: var(--main-color); }
@media (max-width: 767px) {
	.pk-passo1 .pk-formula--premium:has(.pk-formula__foto) input[type=radio] { top: 134px; }
}

/* Tariffa: le opzioni affiancate quando c'e' spazio */
.pk-passo1 #pk-tariffe .pk-opzioni { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* Strutture: il riquadro bianco si chiude dopo il tipo di alloggio; domanda, selezioni e «Come scegliamo» stanno
   sull'azzurro fino al bordo arrotondato della sezione */
.pk-passo1 #pk-strutture-box { margin: 22px -19px -15px; padding: 22px 18px 18px; background: #eaf2f6; border-top: 1px solid #dbe6ec; border-radius: 0 0 13px 13px; }
.pk-passo1 #pk-strutture-box .pk-strutture__titolo { margin: 0; }
.pk-passo1 #pk-strutture-box .pk-elenco__intro { margin: 4px 0 0; }
.pk-passo1 #pk-strutture-box > .pk-box { margin-top: 16px; box-shadow: 0 2px 8px rgba(11, 59, 79, .07); }
.pk-passo1 #pk-strutture-box .pk-nota { margin-top: 12px; }

/* Una selezione: bordo nel suo colore (5px in alto), pallino; la scelta col bordo piu' spesso, l'ombra, la spunta */
.pk-passo1 .pk-con-elenchi .pk-elenco { overflow: visible; margin-top: 16px; padding: 0 0 14px; border: 2px solid var(--pk-fascia, #c9d3d9); border-top-width: 5px; border-radius: 14px; background: #fff; box-shadow: 0 2px 8px rgba(11, 59, 79, .07); }
.pk-passo1 .pk-con-elenchi .pk-elenco__intro + .pk-elenco { margin-top: 14px; }
.pk-passo1 .pk-con-elenchi .pk-elenco.is-scelto { border: 3px solid var(--pk-fascia, var(--main-color)); border-top-width: 7px; background: #fff; box-shadow: 0 8px 22px rgba(11, 59, 79, .20); }
.pk-passo1 .pk-con-elenchi .pk-elenco__testa { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 10px; padding: 12px 14px 0; }
.pk-passo1 .pk-con-elenchi .pk-elenco__onda { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; background: var(--pk-fascia, #c9d3d9); color: #fff; }
.pk-passo1 .pk-con-elenchi .pk-elenco__onda .fa { font-size: 12px; }
.pk-elenco__nome { flex: 1 1 auto; min-width: 0; font-size: 18px; font-weight: 800; letter-spacing: -.01em; line-height: 1.25; color: #1f3a47; }
.pk-passo1 .pk-con-elenchi .pk-elenco__scelto { flex: 0 0 auto; font-size: 14px; }
.pk-elenco__libere { margin: 4px 14px 0 46px; font-size: 16px; line-height: 1.35; color: #5b6f7b; }
.pk-elenco__delta--alto { display: none; flex: 0 0 auto; }
.pk-elenco__delta--sotto { margin: 8px 14px 0; }
.pk-passo1 .pk-con-elenchi .pk-elenco__centro { margin: 8px 14px 0; }
.pk-passo1 .pk-con-elenchi .pk-nr-anche { margin: 12px 14px 0; }
.pk-passo1 .pk-con-elenchi .pk-elenco__azioni { margin: 14px 14px 0; }
.pk-passo1 .pk-elenco__scegli { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 2px solid var(--main-color); border-radius: 999px; background: #fff; color: var(--main-color); font-size: 16px; font-weight: 700; cursor: pointer; }
.pk-passo1 .pk-elenco__scegli:hover, .pk-passo1 .pk-elenco__scegli:focus-visible { background: var(--main-color); color: #fff; }

/* Strutture sempre in vista: foto grande, testo sotto; su telefono scorrono di lato */
.pk-passo1 .pk-con-elenchi .pk-strutture { display: flex; gap: 12px; margin: 12px 0 0; padding: 0 14px 2px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.pk-passo1 .pk-con-elenchi .pk-strutture::-webkit-scrollbar { display: none; }
.pk-passo1 .pk-con-elenchi .pk-struttura { flex: 0 0 86%; min-width: 0; max-width: none; overflow: visible; scroll-snap-align: start; border: 0; border-radius: 0; background: none; box-shadow: none; font-size: 16px; }
.pk-passo1 .pk-con-elenchi .pk-strutture--una .pk-struttura { flex-basis: 100%; }
.pk-passo1 .pk-con-elenchi .pk-struttura--apribile:hover { box-shadow: none; }
.pk-passo1 .pk-con-elenchi .pk-struttura__media, .pk-struttura__senza { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; }
.pk-passo1 .pk-con-elenchi .pk-struttura__foto { height: 100%; }
.pk-struttura__senza { display: flex; align-items: center; justify-content: center; color: #7d97a3; background: repeating-linear-gradient(135deg, #eaf2f6 0 14px, #e2ecf1 14px 28px); }
.pk-passo1 .pk-con-elenchi .pk-struttura__conta { right: 8px; bottom: 8px; padding: 2px 10px; font-size: 14px; }
.pk-passo1 .pk-con-elenchi .pk-struttura__corpo { padding: 10px 2px 0; }
.pk-passo1 .pk-con-elenchi .pk-struttura__nome { font-size: 18px; line-height: 1.25; }
.pk-struttura__valutazione { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px; }
.pk-passo1 .pk-con-elenchi .pk-struttura__voto { min-width: 36px; padding: 1px 7px; border-radius: 7px 7px 7px 2px; font-size: 15px; text-align: center; }
.pk-passo1 .pk-con-elenchi .pk-struttura__recensioni { font-size: 16px; }
.pk-struttura__zona { display: flex; align-items: center; gap: 6px; margin-top: 4px; color: #5b6f7b; }
.pk-struttura__ic { flex: 0 0 auto; color: var(--main-color); }
.pk-passo1 .pk-con-elenchi .pk-struttura__car { margin: 8px 0 0; }
.pk-passo1 .pk-con-elenchi .pk-struttura__car li { margin: 3px 0; font-size: 16px; }
.pk-passo1 .pk-con-elenchi .pk-struttura__apri { display: inline-block; min-height: 44px; margin: 0; padding: 10px 0; font-size: 16px; font-weight: 700; line-height: 1.35; }
@media (min-width: 768px) {
	.pk-elenco__delta--alto { display: inline-block; margin-left: auto; }
	.pk-elenco__delta--sotto { display: none; }
	.pk-passo1 .pk-con-elenchi .pk-elenco__testa { flex-wrap: nowrap; }
	.pk-passo1 .pk-con-elenchi .pk-elenco__scelto { margin-left: auto; }
	.pk-passo1 .pk-con-elenchi .pk-strutture { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; overflow: visible; }
	.pk-passo1 .pk-con-elenchi .pk-strutture--una { grid-template-columns: 1fr; }
	.pk-passo1 .pk-con-elenchi .pk-strutture--una .pk-struttura { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); gap: 16px; align-items: start; }
	.pk-passo1 .pk-con-elenchi .pk-strutture--una .pk-struttura__corpo { padding-top: 0; }
}
@media (max-width: 767px) {
	.pk-passo1 #pk-strutture-box { margin: 18px -15px -13px; padding: 20px 10px 16px; }
	.pk-passo1 .pk-con-elenchi .pk-elenco__scelto { margin-left: 32px; }
	.pk-passo1 .pk-elenco__scegli { width: 100%; }
}

/* Riepilogo (a lato da 992px e nel foglio su telefono): titolo, date, totale, Continua, poi la nota del passo dopo,
   «Il tuo viaggio include:» e le voci */
.pk-riepilogo__date--testa { margin: 2px 0 12px; }
.pk-riepilogo__include { margin: 0 0 8px; font-size: 17px; font-weight: 700; line-height: 1.3; color: #1f3a47; }
.pk-passo1 #pk-riepilogo-righe .pk-riepilogo__passo { margin: 0 0 12px; }
.pk-passo1 .pk-riepilogo .pk-acconto-oggi { font-size: 16px; }
@media (min-width: 992px) {
	.pk-passo1 #pk-riepilogo > h3, .pk-passo1 #pk-riepilogo > .pk-riepilogo__date { order: 0; }
	.pk-passo1 #pk-riepilogo > #pk-totale-box { order: 1; margin-top: 4px; }
	.pk-passo1 #pk-riepilogo > #pk-motivi { order: 2; }
	.pk-passo1 #pk-riepilogo > #pk-continua { order: 3; }
	.pk-passo1 #pk-riepilogo > #pk-riepilogo-righe { order: 4; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #dbe6ec; }
	.pk-passo1 #pk-riepilogo > .pk-riepilogo__nota { order: 5; }
}
@media (max-width: 991px) {
	.pk-passo1 .pk-riepilogo.is-foglio { display: flex; flex-direction: column; }
	.pk-passo1 .pk-riepilogo.is-foglio > * { flex: 0 0 auto; }
	.pk-passo1 .pk-riepilogo.is-foglio > #pk-totale-box { order: 1; }
	.pk-passo1 .pk-riepilogo.is-foglio > #pk-motivi { order: 2; }
	.pk-passo1 .pk-riepilogo.is-foglio > #pk-continua { order: 3; }
	.pk-passo1 .pk-riepilogo.is-foglio > #pk-riepilogo-righe { order: 4; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #dbe6ec; }
	.pk-passo1 .pk-riepilogo.is-foglio > .pk-riepilogo__nota { order: 5; }
}

/* Telefono: testi di almeno 16px (distintivi come «La tua scelta», «12 foto», voti e GRATIS a 14-15px) */
@media (max-width: 767px) {
	.pk-passo1 .pk-sezione__intro, .pk-passo1 .pk-opzione__nome, .pk-passo1 .pk-opzione__testo, .pk-passo1 .pk-garanzie,
	.pk-passo1 .pk-garanzie li, .pk-passo1 .pk-incluso__testo, .pk-passo1 .pk-formula__etichetta, .pk-passo1 .pk-delta,
	.pk-passo1 .pk-elenco__intro, .pk-passo1 .pk-nota, .pk-passo1 .pk-sezione__nota, .pk-passo1 .pk-sottotitolo,
	.pk-passo1 .pk-box__titolo, .pk-passo1 .pk-box__sotto, .pk-passo1 .pk-box__righe, .pk-passo1 .pk-box__righe li, .pk-passo1 .pk-box__righe span,
	.pk-passo1 .pk-faq .bf-faq__domanda, .pk-passo1 .pk-faq .bf-faq__risposta p, .pk-passo1 .pk-faq__altro,
	.pk-passo1 .pk-vantaggi__voce, .pk-passo1 .pk-vantaggi__titolo, .pk-passo1 .pk-evidenza,
	.pk-passo1 .pk-riepilogo, .pk-passo1 .pk-riepilogo p, .pk-passo1 .pk-riepilogo__date, .pk-passo1 .pk-riepilogo__passo,
	.pk-passo1 .pk-incluso__riga, .pk-passo1 .pk-incluso__car, .pk-passo1 .pk-gratis-riga, .pk-passo1 .pk-totale__persona,
	.pk-passo1 .pk-acconto-oggi, .pk-passo1 .pk-motivi, .pk-passo1 .pk-barra-mobile, .pk-passo1 .pk-barra-mobile__totale,
	.pk-passo1 .pk-barra-mobile__acconto, .pk-passo1 .pk-barra-mobile__apri, .pk-passo1 .bf-campo__etichetta { font-size: 16px; }
	.pk-pagina.pk-passo1 small, .pk-pagina.pk-passo1 .pk-formula .pk-inclusi--formula .pk-incluso__testo small,
	.pk-pagina.pk-passo1 .pk-formula .pk-inclusi--formula .pk-incluso__testo strong, .pk-passo1 .pk-barra-mobile small { font-size: 16px !important; }
	.pk-passo1 .pk-formula .pk-opzione__nome { font-size: 21px; }
	.pk-passo1 .pk-gratis, .pk-passo1 .pk-formula-badge { font-size: 14px !important; }
	.pk-passo1 .pk-riepilogo__include { font-size: 17px; }
}
/* Computer: testi piu' grandi (corpo e caratteristiche 16px, riepilogo 15px, differenze 15px) */
@media (min-width: 768px) {
	.pk-passo1 .pk-sezione__intro, .pk-passo1 .pk-opzione__testo, .pk-passo1 .pk-garanzie li, .pk-passo1 .pk-elenco__intro,
	.pk-passo1 .pk-nota, .pk-passo1 .pk-box__righe li, .pk-passo1 .pk-box__righe span, .pk-passo1 .pk-faq .bf-faq__risposta p,
	.pk-passo1 .pk-faq__altro, .pk-passo1 .pk-faq .bf-faq__domanda, .pk-passo1 .pk-quando__testo, .pk-passo1 .pk-quando__azione,
	.pk-passo1 .pk-box__titolo { font-size: 16px !important; }
	.pk-passo1 .pk-box__sotto, .pk-passo1 .bf-passi__etichetta { font-size: 15px !important; }
	.pk-passo1 .pk-formula .pk-incluso__testo, .pk-passo1 .pk-formula .pk-incluso__testo strong,
	.pk-passo1 .pk-formula .pk-incluso__testo small { font-size: 15px !important; }
	.pk-passo1 .pk-formula__etichetta { font-size: 15px; }
	.pk-passo1 .pk-formula-badge, .pk-passo1 .pk-con-elenchi .pk-elenco__scelto, .pk-passo1 .pk-con-elenchi .pk-struttura__conta { font-size: 14px; }
	.pk-passo1 .pk-delta { font-size: 15px !important; }
	.pk-passo1 .pk-delta small { font-size: 14px !important; }
	.pk-passo1 .pk-evidenza { font-size: 15px !important; }
	.pk-passo1 .pk-riepilogo, .pk-passo1 .pk-riepilogo p, .pk-passo1 .pk-riepilogo .pk-incluso__testo,
	.pk-passo1 .pk-riepilogo .pk-incluso__riga, .pk-passo1 .pk-riepilogo .pk-incluso__car, .pk-passo1 .pk-riepilogo .pk-gratis-riga,
	.pk-passo1 .pk-riepilogo small, .pk-passo1 .pk-riepilogo .pk-totale__persona, .pk-passo1 .pk-riepilogo__date,
	.pk-passo1 .pk-riepilogo__passo { font-size: 15px !important; }
	.pk-passo1 .pk-riepilogo .pk-incluso__testo strong, .pk-passo1 .pk-riepilogo .pk-acconto-oggi { font-size: 16px !important; }
	.pk-passo1 .pk-riepilogo .pk-riepilogo__include { font-size: 17px !important; }
	.pk-passo1 .pk-gratis { font-size: 12px !important; }
}
/* Tastiera: focus visibile sulla fila delle strutture e sulle tacche dei passi */
.pk-passo1 .pk-con-elenchi .pk-strutture:focus-visible, .pk-passi-breve__tacca:focus-visible { outline: 3px solid var(--brand-yellow, #d5aa1d); outline-offset: 2px; }
/* FAQ con un elenco ("Cosa è incluso?", "Cosa non è incluso?", 29/10/2026): le voci sono <p> e prendono le misure delle risposte */
.pk-faq .pk-faq__lista { margin: 6px 0 10px; padding-left: 22px; list-style: disc; }
.pk-faq .pk-faq__lista li { margin: 0 0 4px; }
.pk-faq .pk-faq__lista li::marker { color: var(--main-color, #006e95); }
.pk-faq .pk-faq__lista li p { margin: 0; }

/* Date e persone (pacchetto/include/configura-date: pagina iniziale e «Modifica» del passo 1, mock approvato il 29/10/2026):
   su telefono le etichette su una riga a 375px anche in tedesco. Arrivo e partenza a tutta larghezza, adulti e bambini
   affiancati; «dai 12 anni» e' una nota sotto il campo degli adulti (pk-campi__nota), non piu' tra parentesi nell'etichetta */
.pk-campi__nota { display: block; margin-top: 4px; font-size: 14px; line-height: 1.3; color: #4f6470; }
@media (max-width: 767px) {
	.pk-campi--viaggio { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; align-items: start; }
	.pk-campi--viaggio > div:nth-child(1), .pk-campi--viaggio > div:nth-child(2) { grid-column: 1 / -1; }
	.pk-campi--viaggio .bf-campo__etichetta { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }
}
