/* Stili del modulo di prenotazione nel frontend.

   Stile Web Hospitality, uguale su ogni tema: colori qui, font e colore
   principale (--gp-accento) in font.css.
   Una sola elevazione in tutta l'interfaccia, il modulo; dentro, solo bordi. */

.gp-modulo-prenotazioni {
	--gp-inchiostro: #2b2621;
	--gp-grigio: #6b6157;
	--gp-crema: #f8f4ec;
	--gp-carta: #fff;
	--gp-terra: var(--gp-accento);
	--gp-bordo: #e4d8c6;

	max-width: 600px;
	margin: 30px auto;
	padding: 30px;
	background-color: #fff;
	border: none;
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(45, 28, 16, 0.10);
	box-sizing: border-box;
}

.gp-modulo-prenotazioni * {
	box-sizing: border-box;
}

/* Qualsiasi regola "display" scritta qui dentro batte il display:none che il
   browser dà da solo agli elementi con l'attributo [hidden]: senza questa riga
   le camere già occupate, le righe del riepilogo e le freccette del passo
   sbagliato resterebbero visibili anche quando il JavaScript le nasconde. */
.gp-modulo-prenotazioni [hidden] {
	display: none !important;
}

.gp-campo {
	margin-bottom: 18px;
	display: flex;
	flex-direction: column;
}

/* Campo civetta anti-spam: invisibile e non raggiungibile da tastiera per una persona */
.gp-campo-nascosto {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.gp-campo label {
	font-weight: 700;
	margin-bottom: 6px;
	font-size: 13.5px;
	color: var(--gp-inchiostro, #2b2621);
}

.gp-campo input,
.gp-campo select,
.gp-campo textarea {
	padding: 11px 13px;
	border: 1px solid var(--gp-bordo, #e4d8c6);
	border-radius: 10px;
	font-size: 15px;
	font-family: inherit;
	color: var(--gp-inchiostro, #2b2621);
	width: 100%;
	background-color: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Il fuoco si deve vedere anche a chi naviga da tastiera */
.gp-campo input:focus,
.gp-campo select:focus,
.gp-campo textarea:focus,
.gp-camera-scegli:focus-visible,
.gp-bottone-invia:focus-visible,
.gp-wizard-freccia:focus-visible {
	outline: none;
	border-color: var(--gp-accento);
	box-shadow: 0 0 0 3px rgba(74, 107, 61, 0.18);
}

.gp-camera-scegli:focus-visible,
.gp-bottone-invia:focus-visible,
.gp-wizard-freccia:focus-visible {
	box-shadow: 0 0 0 3px rgba(74, 107, 61, 0.3);
}

.gp-campo input.gp-campo-data {
	cursor: pointer;
	background-color: #fff;
}

.gp-legenda-calendario {
	margin: -8px 0 18px;
	font-size: 12.5px;
	color: #5c6b5c;
	font-style: italic;
}

.gp-campo-doppio {
	display: flex;
	gap: 16px;
}

.gp-campo-doppio .gp-campo {
	flex: 1;
}

.gp-bottone-invia {
	background-color: var(--gp-accento);
	color: #fff;
	border: none;
	padding: 13px 30px;
	border-radius: 10px;
	font-family: inherit;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.gp-bottone-invia:hover {
	background-color: var(--gp-accento-scuro);
}

.gp-bottone-invia:disabled {
	background-color: var(--gp-bordo, #e4d8c6);
	color: var(--gp-grigio, #6b6157);
	cursor: not-allowed;
}

.gp-messaggio {
	padding: 14px 18px;
	border-radius: 14px;
	margin-bottom: 20px;
	font-size: 14px;
}

.gp-messaggio-successo {
	background-color: #eef0e4;
	border-left: 4px solid #6b7550;
	color: #155724;
}

.gp-messaggio-errore {
	background-color: #fdecea;
	border-left: 4px solid #c0392b;
	color: #7a2015;
}

@media (max-width: 600px) {
	.gp-campo-doppio {
		flex-direction: column;
		gap: 0;
	}
}


/* ==========================================================================
   Modulo a passi: date → camera → dati.
   Una sola elevazione in tutta l'interfaccia (il modulo); dentro, solo bordi
   sottili. Il colore terracotta ha un mestiere solo: i prezzi.
   ========================================================================== */

/* I numeri incolonnati non ballano quando cambiano: vale per prezzi e date */
.gp-camera-prezzi,
.gp-riepilogo-riga dd,
.gp-riepilogo-riga dt {
	font-variant-numeric: tabular-nums;
}

/* ---- Navigazione fra i passi ---- */
.gp-wizard-nav {
	margin-bottom: 26px;
}

.gp-wizard-nav-riga {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 32px;
	margin-bottom: 14px;
}

.gp-wizard-passo-testo {
	font-size: 13px;
	color: var(--gp-grigio);
	margin-left: auto;
}

.gp-wizard-freccia {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px 6px 9px;
	border: 1px solid var(--gp-bordo);
	border-radius: 999px;
	background-color: transparent;
	color: var(--gp-inchiostro);
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.gp-wizard-freccia:hover {
	background-color: var(--gp-crema);
	border-color: var(--gp-grigio);
}

.gp-freccia-icona {
	width: 6px;
	height: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
}

.gp-freccia-sinistra {
	transform: rotate(135deg);
}

/* ---- I passi dicono il proprio nome ---- */
.gp-wizard-barra {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gp-wizard-segmento {
	flex: 1;
	min-width: 0;
}

.gp-wizard-segmento-linea {
	display: block;
	height: 3px;
	border-radius: 2px;
	background-color: var(--gp-bordo);
	transition: background-color 0.25s ease;
}

.gp-wizard-segmento-nome {
	display: block;
	margin-top: 7px;
	font-size: 12.5px;
	color: var(--gp-grigio);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.25s ease;
}

.gp-wizard-segmento-attivo .gp-wizard-segmento-linea {
	background-color: var(--gp-accento);
}

.gp-wizard-segmento-attivo .gp-wizard-segmento-nome {
	color: var(--gp-inchiostro);
}

/* ---- Intestazione di ogni passo ---- */
.gp-passo-titolo {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gp-inchiostro);
	margin: 0 0 4px;
}

.gp-passo-sottotitolo {
	font-size: 14px;
	color: var(--gp-grigio);
	margin: 0 0 18px;
}

.gp-passo-titolo + .gp-riga-date,
.gp-passo-titolo + .gp-riepilogo,
.gp-passo-titolo + .gp-campo {
	margin-top: 18px;
}

.gp-riga-date {
	display: flex;
	gap: 14px;
}

.gp-riga-date .gp-campo {
	flex: 1;
}

/* ==========================================================================
   Camere disponibili: la foto porta la decisione, il prezzo la chiude
   ========================================================================== */
.gp-elenco-camere {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gp-camera-card {
	display: flex;
	gap: 0;
	background-color: var(--gp-carta);
	border: 1px solid var(--gp-bordo);
	border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.15s ease;
}

.gp-camera-card:hover {
	border-color: var(--gp-grigio);
}

.gp-camera-selezionata {
	border-color: var(--gp-accento);
	box-shadow: inset 0 0 0 1px var(--gp-accento);
}

.gp-camera-foto {
	flex: 0 0 148px;
	align-self: stretch;
	background-color: var(--gp-crema);
	overflow: hidden;
}

.gp-camera-foto img,
.gp-camera-foto-segnaposto {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 132px;
	object-fit: cover;
}

.gp-camera-foto-segnaposto {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--gp-crema);
	color: color-mix(in srgb, var(--gp-accento, #c24f1c) 45%, transparent);
}

.gp-camera-corpo {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	padding: 15px 17px;
}

.gp-camera-nome {
	margin: 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--gp-inchiostro);
}

.gp-camera-posti {
	margin: 4px 0 0;
	font-size: 13.5px;
	color: var(--gp-grigio);
}

.gp-camera-piede {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
}

.gp-camera-prezzi {
	margin: 0;
	min-width: 0;
}

/* Il totale del soggiorno è il numero che decide: è l'unica cosa in terracotta */
.gp-camera-totale {
	display: block;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--gp-terra);
}

.gp-camera-notte {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--gp-grigio);
}

.gp-camera-scegli {
	flex-shrink: 0;
	border: none;
	border-radius: 9px;
	background-color: var(--gp-accento);
	color: #fff;
	font-family: inherit;
	font-weight: 700;
	font-size: 14px;
	padding: 10px 22px;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.gp-camera-scegli:hover {
	background-color: var(--gp-accento-scuro);
}

.gp-camera-selezionata .gp-camera-scegli {
	background-color: var(--gp-accento-scuro);
}

.gp-nessuna-camera {
	background-color: var(--gp-crema);
	border-radius: 14px;
	padding: 28px 24px;
	text-align: center;
	color: var(--gp-grigio);
	font-size: 14.5px;
}

.gp-nessuna-camera p {
	margin: 0 0 4px;
}

.gp-nessuna-camera p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Il conto, prima di confermare
   ========================================================================== */
.gp-riepilogo {
	background-color: var(--gp-crema);
	border-radius: 14px;
	padding: 18px 20px 20px;
	margin-bottom: 24px;
}

.gp-riepilogo-titolo {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--gp-inchiostro);
}

.gp-riepilogo-righe {
	margin: 0;
}

.gp-riepilogo-riga {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 5px 0;
	font-size: 14px;
}

.gp-riepilogo-riga dt {
	margin: 0;
	color: var(--gp-grigio);
	font-weight: 400;
}

.gp-riepilogo-riga dd {
	margin: 0;
	white-space: nowrap;
	text-align: right;
	color: var(--gp-inchiostro);
}

.gp-riepilogo-riga-totale {
	margin-top: 8px;
	padding-top: 13px;
	border-top: 1px solid var(--gp-bordo);
}

.gp-riepilogo-riga-totale dt {
	color: var(--gp-inchiostro);
	font-weight: 700;
	font-size: 15px;
}

.gp-riepilogo-riga-totale dd {
	font-size: 17px;
	font-weight: 700;
}

.gp-riepilogo-riga-caparra dd {
	color: var(--gp-terra);
	font-size: 20px;
	font-weight: 700;
}

.gp-riepilogo-nota {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--gp-bordo);
	font-size: 13px;
	color: var(--gp-grigio);
}

/* Tassa di soggiorno: voce di servizio, si paga in struttura e non pesa come la caparra */
.gp-riepilogo-riga-tassa dd {
	color: var(--gp-grigio);
}

/* Condizioni di prenotazione: lette prima di spuntare, non nascoste in un link */
.gp-condizioni {
	margin: 4px 0 16px;
	padding: 14px 16px;
	border-left: 3px solid var(--gp-bordo);
	font-size: 13px;
	line-height: 1.55;
	color: var(--gp-grigio);
}

.gp-condizioni-titolo {
	margin: 0 0 4px;
	font-weight: 700;
	color: var(--gp-inchiostro);
}

.gp-condizioni p {
	margin: 0 0 6px;
}

.gp-condizioni p:last-child {
	margin-bottom: 0;
}

.gp-campo-consenso label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 0;
	cursor: pointer;
}

.gp-campo-consenso input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	padding: 0;
	accent-color: var(--gp-accento);
}

.gp-campo-consenso a {
	color: var(--gp-accento-scuro);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Cosa succede dopo l'invio: toglie l'esitazione di chi prenota da una struttura piccola */
.gp-cosa-succede {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--gp-grigio);
	max-width: 46ch;
}

/* ==========================================================================
   Schermi stretti
   ========================================================================== */
@media (max-width: 560px) {
	.gp-riga-date {
		flex-direction: column;
		gap: 0;
	}

	/* La foto passa sopra: su mobile è la prima cosa che serve vedere */
	.gp-camera-card {
		flex-direction: column;
	}

	.gp-camera-foto {
		flex: none;
	}

	.gp-camera-foto img,
	.gp-camera-foto-segnaposto {
		height: 168px;
		min-height: 0;
	}

	.gp-wizard-segmento-nome {
		font-size: 11.5px;
	}
}

/* Chi ha chiesto meno animazioni non deve vederne */
@media (prefers-reduced-motion: reduce) {
	.gp-modulo-prenotazioni * {
		transition: none !important;
	}
}

/* Soggiorno minimo del periodo non rispettato: la camera resta visibile
   con il motivo, ma non si sceglie */
.gp-camera-avviso {
	margin: 4px 0 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--gp-terra);
}

.gp-camera-non-sceglibile .gp-camera-foto,
.gp-camera-non-sceglibile .gp-camera-prezzi {
	opacity: 0.45;
}

.gp-camera-scegli:disabled {
	background-color: var(--gp-bordo);
	color: var(--gp-grigio);
	cursor: not-allowed;
}

/* ==========================================================================
   Ospiti, più camere, codice sconto
   ========================================================================== */
.gp-eta-bambini {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0 14px;
}

.gp-eta-bambini:empty {
	display: none;
}

/* Riquadro che segue la scelta delle camere: dice se gli ospiti ci stanno */
.gp-scelta-camere {
	position: sticky;
	bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 16px;
	padding: 12px 14px 12px 18px;
	background-color: var(--gp-crema);
	border: 1px solid var(--gp-bordo);
	border-radius: 14px;
}

.gp-scelta-stato {
	margin: 0;
	font-size: 14px;
	color: var(--gp-inchiostro);
}

.gp-scelta-camere .gp-bottone-invia {
	flex: none;
	padding: 10px 22px;
}

.gp-camera-scegli[aria-pressed="true"] {
	background-color: var(--gp-accento-scuro);
	color: #fff;
}

.gp-riepilogo-periodo {
	margin: -6px 0 12px;
	font-size: 13.5px;
	color: var(--gp-grigio);
}

.gp-riepilogo-riga-sconto dd {
	color: var(--gp-accento-scuro);
	font-weight: 700;
}

.gp-codice-riga {
	display: flex;
	gap: 10px;
}

.gp-codice-riga input {
	flex: 1;
}

.gp-codice-esito {
	margin: 6px 0 0;
	font-size: 13px;
}

.gp-codice-ok {
	color: var(--gp-accento-scuro);
}

.gp-codice-errore {
	color: #a02a1a;
}

@media (max-width: 560px) {
	.gp-scelta-camere {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
}

/* ==========================================================================
   "La mia prenotazione" (area ospite) e check-in online
   ========================================================================== */
.gp-area-ospite-pagina {
	padding: 48px 16px 64px;
	background-color: #f8f4ec;
	/* Sfondo a tutta larghezza anche se il tema stringe il contenitore */
	box-shadow: 0 0 0 100vmax #f8f4ec;
	clip-path: inset(0 -100vmax);
}

.gp-area-ospite .gp-passo-titolo {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.gp-stato-ospite {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
	background-color: var(--gp-crema);
	color: var(--gp-inchiostro);
}

.gp-stato-ospite-confermata {
	background-color: #e8e9da;
	color: var(--gp-accento-scuro);
}

.gp-stato-ospite-annullata {
	background-color: #f6e1dc;
	color: #7a2015;
}

.gp-area-azione {
	margin: 20px 0;
}

.gp-bottone-secondario {
	background: transparent;
	border: 1px solid var(--gp-bordo);
	color: var(--gp-inchiostro);
	padding: 11px 22px;
	border-radius: 10px;
	font-family: inherit;
	font-size: 14px;
	cursor: pointer;
}

.gp-bottone-secondario:hover {
	border-color: #a02a1a;
	color: #a02a1a;
}

.gp-checkin {
	margin: 24px 0;
	padding: 16px 18px;
	border: 1px solid var(--gp-bordo);
	border-radius: 14px;
}

.gp-checkin summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--gp-accento-scuro);
}

.gp-checkin-ospite {
	margin: 18px 0 0;
	padding: 14px 16px 0;
	border: 1px solid var(--gp-bordo);
	border-radius: 12px;
}

.gp-checkin-ospite legend {
	padding: 0 6px;
	font-weight: 700;
	font-size: 14px;
}

.gp-area-ospite .gp-riepilogo-titolo {
	font-size: 15px;
}

/* Caparra o tutto il soggiorno: le due scelte come schede */
.gp-scelta-pagamento {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	display: grid;
	gap: 8px;
}

.gp-scelta-pagamento legend {
	margin-bottom: 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--gp-inchiostro);
}

.gp-scelta-pagamento label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--gp-bordo);
	border-radius: 10px;
	cursor: pointer;
	font-size: 14.5px;
	color: var(--gp-inchiostro);
}

.gp-scelta-pagamento label:has(input:checked) {
	border-color: var(--gp-accento);
	box-shadow: inset 0 0 0 1px var(--gp-accento);
}

.gp-scelta-pagamento input {
	accent-color: var(--gp-accento);
	margin: 0;
}

.gp-scelta-pagamento strong {
	margin-left: auto;
	padding-left: 12px;
}

.gp-scelta-pagamento span {
	display: flex;
	flex: 1;
}

/* Importi sempre su una riga */
.gp-scelta-pagamento strong {
	white-space: nowrap;
}

/* Ritorno da Stripe: prenotazione fatta */
.gp-prenotazione-fatta,
.gp-modulo-spento {
	text-align: center;
}

.gp-prenotazione-fatta p,
.gp-modulo-spento p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--gp-inchiostro);
	max-width: 440px;
	margin: 0 auto 12px;
}

.gp-prenotazione-fatta .gp-cosa-succede {
	font-size: 14px;
	color: var(--gp-grigio);
}

.gp-fatta-spunta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 4px auto 16px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--gp-accento, #c24f1c) 12%, #fff);
}

.gp-fatta-spunta::after {
	content: "";
	width: 20px;
	height: 11px;
	margin-top: -5px;
	border-left: 3px solid var(--gp-accento, #c24f1c);
	border-bottom: 3px solid var(--gp-accento, #c24f1c);
	transform: rotate(-45deg);
}

.gp-modulo-spento .gp-bottone-invia {
	display: inline-block;
	text-decoration: none;
}

.gp-modulo-spento .gp-messaggio {
	font-size: 14px;
	text-align: left;
}

/* ---- Passo 1: calendario delle date ---- */
.gp-date-native {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.gp-cal {
	position: relative;
	margin: 0 0 20px;
}

.gp-cal-stato:empty {
	display: none;
}

.gp-cal-stato {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--gp-crema);
	font-size: 15px;
	font-weight: 600;
	color: var(--gp-grigio);
}

.gp-cal-stato.e-completo {
	color: var(--gp-inchiostro);
}

.gp-cal-testa {
	position: absolute;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.gp-cal-freccia {
	pointer-events: auto;
	width: 36px;
	height: 36px;
	margin-top: -6px;
	border: 1px solid var(--gp-bordo);
	border-radius: 50%;
	background: var(--gp-carta);
	color: var(--gp-inchiostro);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.gp-cal-freccia:disabled {
	opacity: 0.3;
	cursor: default;
}

.gp-cal-mesi {
	display: grid;
	gap: 28px;
}

.gp-cal-due .gp-cal-mesi {
	grid-template-columns: 1fr 1fr;
}

.gp-cal-nome {
	margin: 0 0 12px;
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	line-height: 24px;
	color: var(--gp-inchiostro);
}

.gp-cal-griglia {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	row-gap: 4px;
}

.gp-cal-intestazione {
	padding-bottom: 6px;
	text-align: center;
	font-size: 12px;
	color: var(--gp-grigio);
	text-transform: lowercase;
}

.gp-cal-giorno {
	all: unset;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 10px;
	font-size: 15px;
	color: var(--gp-inchiostro);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.gp-cal-giorno:not(:disabled):hover {
	background: color-mix(in srgb, var(--gp-accento, #c24f1c) 10%, #fff);
}

.gp-cal-giorno:focus-visible {
	outline: 2px solid var(--gp-accento, #c24f1c);
	outline-offset: 1px;
}

.gp-cal-giorno:disabled {
	cursor: default;
	color: color-mix(in srgb, var(--gp-grigio) 45%, transparent);
}

.gp-cal-giorno.e-pieno .gp-cal-numero {
	text-decoration: line-through;
}

.gp-cal-giorno.e-oggi .gp-cal-numero {
	font-weight: 700;
}

.gp-cal-giorno.e-dentro {
	border-radius: 0;
	background: color-mix(in srgb, var(--gp-accento, #c24f1c) 12%, #fff);
}

.gp-cal-giorno.e-inizio,
.gp-cal-giorno.e-fine,
.gp-cal-giorno.e-inizio:hover,
.gp-cal-giorno.e-fine:hover {
	background: var(--gp-accento, #c24f1c);
	color: #fff;
	font-weight: 700;
}

.gp-cal-prezzo {
	margin-top: 1px;
	font-size: 10.5px;
	line-height: 1;
	color: var(--gp-grigio);
}

.gp-cal-giorno.e-inizio .gp-cal-prezzo,
.gp-cal-giorno.e-fine .gp-cal-prezzo {
	color: rgba(255, 255, 255, 0.85);
}

/* Su un telefono stretto il prezzo per giorno toglie leggibilità: solo il numero */
.gp-cal:not(.gp-cal-due) .gp-cal-prezzo {
	display: none;
}

.gp-cal-giorno.e-fine .gp-cal-prezzo {
	display: none;
}

/* Scegliendo la partenza: i giorni che farebbero ricominciare da un nuovo arrivo restano più tenui */
.gp-cal-giorno.e-nuovo-arrivo {
	color: var(--gp-grigio);
}
