/* Pagina singola Evento — due colonne come le pagine Destinazione.
   Gli !important servono perché il tema (Kubio) ridefinisce colori di link, titoli e immagini. */

.b4u-ev, .b4u-ev * { box-sizing: border-box; }
/* "Esce" dalla colonna stretta del tema e si centra, con la stessa larghezza della pagina Destinazione:
   987px sugli schermi grandi (74% della pagina su quelli più piccoli); su telefono e tablet stretto tutta la
   larghezza meno un margine. Il tema limita i contenuti a 840px con ".entry-content > * { max-width: 840px }":
   qui lo battiamo. */
div.b4u-ev.b4u-ev {
	width: min(987px, 74vw) !important;
	max-width: none !important;
}
@media (max-width: 1000px) {
	div.b4u-ev.b4u-ev { width: calc(100vw - 32px) !important; }
}
.b4u-ev {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 0 56px;
	color: #1f2937;
	text-align: left;
}
.b4u-ev-head { margin: 0 0 18px; }
.b4u-ev nav.bed4you-breadcrumb { margin: 0 0 18px; }

/* Foto */
.b4u-ev-hero {
	position: relative;
	aspect-ratio: 16 / 6;
	border-radius: 20px;
	overflow: hidden;
	background: #f7e4c9;
	margin: 0 0 28px;
}
.b4u-ev-hero img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
	margin: 0 !important;
	border-radius: 0 !important;
}

/* Evento concluso */
.b4u-ev-passato {
	background: #f7e4c9;
	color: #6e4210;
	font-weight: 600;
	border-radius: 14px;
	padding: 14px 18px;
	margin: 0 0 24px;
}
.b4u-ev-passato a { color: #6e4210 !important; text-decoration: underline !important; margin-left: 6px; }

/* Griglia: info a sinistra, testo a destra */
.b4u-ev-grid {
	display: grid;
	grid-template-columns: minmax(260px, 34%) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.b4u-ev-aside, .b4u-ev-main { display: flex; flex-direction: column; gap: 28px; min-width: 0; }

/* Etichette sopra il titolo: tipo di evento e zona */
.b4u-ev-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.b4u-ev .b4u-ev-chip {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 100px;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	background: #eceef1;
	color: #374151;
	white-space: nowrap;
}
.b4u-ev .b4u-ev-chip--zona { background: #007078; color: #fff !important; -webkit-text-fill-color: #fff; }
.b4u-ev a.b4u-ev-chip--zona:hover { background: #005a60; }

/* Titolo */
.b4u-ev h1.b4u-ev-titolo {
	margin: 0 0 8px !important;
	font-size: clamp(2rem, 4vw, 2.8rem) !important;
	line-height: 1.1 !important;
	font-weight: 700 !important;
	color: #007078 !important;
	text-align: left !important;
}
.b4u-ev .b4u-ev-sottotitolo {
	margin: 0 !important;
	font-size: 1.15rem;
	color: #6b6156 !important;
	text-align: left !important;
}

/* Card info */
.b4u-ev-card {
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.25);
}
.b4u-ev h2.b4u-ev-card-titolo {
	margin: 0 0 8px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #1f2937 !important;
	text-align: left !important;
}
.b4u-ev-riga { padding: 12px 0; border-bottom: 1px solid #ece5da; }
.b4u-ev-riga:last-child { border-bottom: none; }
.b4u-ev .b4u-ev-label {
	display: block;
	margin-bottom: 3px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #6b6156 !important;
}
.b4u-ev .b4u-ev-valore {
	display: block;
	font-size: .98rem;
	line-height: 1.45;
	color: #1f2937 !important;
	overflow-wrap: anywhere;
}
.b4u-ev .b4u-ev-orario { display: block; margin-bottom: 2px; }
.b4u-ev .b4u-ev-valore a { color: #007078 !important; font-weight: 600; text-decoration: none !important; }
.b4u-ev .b4u-ev-valore a:hover { text-decoration: underline !important; }

/* Pulsanti */
.b4u-ev-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.b4u-ev-btns-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.b4u-ev .b4u-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border: 2px solid #007078;
	border-radius: 100px;
	font-family: inherit;
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.b4u-ev .b4u-btn--pri { background: #007078; color: #fff !important; -webkit-text-fill-color: #fff; }
.b4u-ev .b4u-btn--pri:hover { background: #005a60; border-color: #005a60; }
.b4u-ev .b4u-btn--sec { background: #fff; color: #007078 !important; -webkit-text-fill-color: #007078; }
.b4u-ev .b4u-btn--sec:hover { background: #e7f4f4; }
.b4u-ev .b4u-ev-gcal { text-align: center; font-size: .8rem; color: #6b6156 !important; text-decoration: underline !important; }

/* Titoli di sezione */
.b4u-ev h2.b4u-ev-sez {
	margin: 0 0 14px !important;
	font-size: 1.3rem !important;
	font-weight: 700 !important;
	color: #007078 !important;
	text-align: left !important;
}

/* Caratteristiche con icone (animali, famiglie, accessibilità...) */
.b4u-ev-feat { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #ece5da; }
.b4u-ev .b4u-ev-feat-voce {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 12px 6px 10px;
	border-radius: 100px;
	background: #e7f4f4;
	color: #00565c !important;
	-webkit-text-fill-color: #00565c;
	font-size: .8rem;
	font-weight: 600;
	line-height: 1.2;
}
.b4u-ev .b4u-ev-feat-voce svg { flex: 0 0 auto; width: 16px; height: 16px; stroke: #00565c; }

/* Dove si svolge: testo sopra la mappa */
.b4u-ev-dove { margin: 0 0 16px; }
.b4u-ev .b4u-ev-dove p { margin: 0 0 6px !important; text-align: left !important; }
.b4u-ev .b4u-ev-dove-nome { font-size: 1.1rem; font-weight: 700; color: #1f2937 !important; }
.b4u-ev .b4u-ev-dove-riga { font-size: 1rem; line-height: 1.5; color: #4b5563 !important; }
.b4u-ev .b4u-ev-dove-link { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 8px !important; }
.b4u-ev .b4u-ev-dove-link a { font-weight: 700; color: #007078 !important; text-decoration: none !important; }
.b4u-ev .b4u-ev-dove-link a:hover { text-decoration: underline !important; }

/* Testo libero */
.b4u-ev-testo { font-size: 1.05rem; line-height: 1.7; color: #1f2937; }
.b4u-ev-testo p { margin: 0 0 1em; }
.b4u-ev-testo img, .b4u-ev-testo figure { max-width: 100%; height: auto; border-radius: 14px; }
.b4u-ev-testo a { color: #007078; }

/* Mappa (sovrascrive il formato 3:1 che il plugin applicava alle vecchie pagine) */
body.single-evento .b4u-ev .bed4you-mappa-zona { aspect-ratio: 2 / 1 !important; width: 100%; }

/* La scheda info resta visibile mentre si scorre il resto della pagina (solo se lo schermo è abbastanza alto). */
@media (min-width: 1001px) and (min-height: 760px) {
	.b4u-ev-aside { position: sticky; top: 120px; }
}

/* Dove dormire: tessere a due colonne (1ª struttura, tessera della destinazione, 2ª e 3ª struttura), tutte della stessa misura */
.b4u-ev .b4u-ev-dormi-corpo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: stretch; margin: 0 !important; }
.b4u-ev-dormi-corpo > a.bed4you-card { min-width: 0; }
.b4u-ev-zonacard {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 12px;
	border-radius: 20px;
	background: #007078;
}
.b4u-ev-zonacard-foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; margin: 0 0 12px; background: #cdeef2; }
.b4u-ev .b4u-ev-zonacard-foto img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	margin: 0 !important;
	border-radius: 0 !important;
}
.b4u-ev h3.b4u-ev-zonacard-titolo {
	margin: 0 !important;
	padding: 0 4px 2px;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	text-align: left !important;
}
.b4u-ev .b4u-ev-zonacard-testo {
	margin: 3px 0 0 !important;
	padding: 0 4px;
	font-size: .85rem;
	line-height: 1.3;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	opacity: .9;
	text-align: left !important;
}
.b4u-ev .b4u-ev-zonacard-btn {
	align-self: flex-start;
	margin: auto 4px 2px !important;
	padding: 8px 20px;
	border-radius: 100px;
	background: #d9e249;
	color: #007078 !important;
	-webkit-text-fill-color: #007078;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: opacity .15s ease, transform .15s ease;
}
.b4u-ev .b4u-ev-zonacard-btn:hover { opacity: .92; transform: translateY(-2px); }
/* Spazio sopra il pulsante, anche quando la tessera accanto è più bassa */
.b4u-ev .b4u-ev-zonacard-testo + .b4u-ev-zonacard-btn { margin-top: 14px !important; }

/* Dove dormire: titolo con link a destra, frase, card affiancate */
.b4u-ev-sez-riga { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 6px; }
.b4u-ev-sez-riga h2.b4u-ev-sez { margin-bottom: 0 !important; }
.b4u-ev .b4u-ev-sez-link { font-weight: 700; color: #007078 !important; text-decoration: none !important; }
.b4u-ev .b4u-ev-sez-link:hover { text-decoration: underline !important; }
.b4u-ev .b4u-ev-sez-sub { margin: 0 0 16px !important; font-size: .98rem; color: #6b6156 !important; text-align: left !important; }

/* Strutture */
.b4u-ev-dormi .bed4you-strutture-blocco { margin: 0 !important; }
.b4u-ev .bed4you-strutture-lista { display: flex; flex-direction: column; gap: 14px; }
.b4u-ev .bed4you-card:hover { box-shadow: 0 10px 20px -12px rgba(0, 0, 0, 0.35) !important; }

/* Altri eventi */
.b4u-ev-altri-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
/* Invito al blog */
.b4u-ev-blogcta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 28px;
	padding: 26px 28px;
	border-radius: 20px;
	background: #007078;
	box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.25);
}
.b4u-ev-blogcta-testo { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 260px; }
.b4u-ev .b4u-ev-blogcta-testo strong { font-size: 1.15rem; line-height: 1.25; color: #fff !important; -webkit-text-fill-color: #fff; }
.b4u-ev .b4u-ev-blogcta-testo span { font-size: .95rem; color: #fff !important; -webkit-text-fill-color: #fff; opacity: .9; }
.b4u-ev .b4u-ev-blogcta-btn {
	display: inline-block;
	flex: 0 0 auto;
	padding: 13px 26px;
	border-radius: 100px;
	background: #d9e249;
	color: #007078 !important;
	-webkit-text-fill-color: #007078;
	font-weight: 700;
	text-decoration: none !important;
	transition: opacity .15s ease, transform .15s ease;
}
.b4u-ev .b4u-ev-blogcta-btn:hover { opacity: .92; transform: translateY(-2px); }

/* Telefono: una colonna, nell'ordine info → testo → mappa → strutture → altri eventi (il titolo sta già in cima) */
@media (max-width: 1000px) {
	.b4u-ev-grid { display: flex; flex-direction: column; gap: 28px; }
	.b4u-ev-aside, .b4u-ev-main { display: contents; }
	.b4u-ev-info { order: 1; }
	.b4u-ev-testo { order: 2; }
	.b4u-ev-mappa { order: 3; }
	.b4u-ev-dormi { order: 4; }
	.b4u-ev-altri { order: 5; }
	.b4u-ev-hero { aspect-ratio: 4 / 3; border-radius: 16px; }
	body.single-evento .b4u-ev .bed4you-mappa-zona { aspect-ratio: 4 / 3 !important; }
}
@media (max-width: 620px) {
	.b4u-ev-altri-lista { grid-template-columns: minmax(0, 1fr); }
	.b4u-ev .b4u-ev-dormi-corpo { grid-template-columns: minmax(0, 1fr); }
	.b4u-ev-zonacard { order: 10; }
}
