/**
 * Pagine pubbliche del progetto (schermata 05 della proposta).
 *
 * Stessi criteri della console: colori sempre dichiarati e nessun font remoto.
 * Le pagine sostituiscono il tema, quindi qui si parte dal documento nudo — non
 * si può contare su nessun reset.
 */

body.advtr-pubblico-pagina {
	margin: 0;
	padding: 0;
	background: #1b2a3a;
}

.ap-ingresso {
	--ap-scuro: #1b2a3a;
	--ap-scuro-alto: #24384c;
	--ap-corallo: #d9694e;
	--ap-oro: #e3ab35;
	--ap-chiaro: #f3f0e9;
	--ap-tenue: #9aabbd;

	--ap-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
	--ap-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background:
		linear-gradient( 135deg, rgba( 217, 105, 78, 0.10 ) 0%, rgba( 27, 42, 58, 0 ) 45% ),
		radial-gradient( ellipse at 70% 15%, rgba( 91, 127, 184, 0.18 ) 0%, rgba( 27, 42, 58, 0 ) 55% ),
		var(--ap-scuro);
	color: var(--ap-chiaro);
	font-family: var(--ap-sans);
	line-height: 1.6;
}

.ap-ingresso *,
.ap-ingresso *::before,
.ap-ingresso *::after {
	box-sizing: inherit;
}

/* ── Barra di navigazione ────────────────────────────────────────── */

.ap-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 20px 40px;
	flex-wrap: wrap;
}

.ap-marchio {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

/* Il logo è bianco su fondo scuro: nella navbar e nel piè di pagina va bene
   così com'è. L'altezza fissa (e la larghezza automatica) evita che il
   marchio salti quando l'immagine finisce di caricare. */
.ap-logo {
	display: block;
	height: 54px;
	width: auto;
	flex: none;
}

.ap-logo-pie {
	height: 40px;
}

.ap-nav-voci {
	display: flex;
	gap: 24px;
	margin-left: auto;
	flex-wrap: wrap;
}

.ap-nav-voce {
	color: var(--ap-tenue);
	text-decoration: none;
	font-size: 14px;
}

.ap-nav-voce:hover {
	color: #fff;
}

.ap-nav-voce.attiva {
	color: var(--ap-oro);
}

/* ── Eroe ────────────────────────────────────────────────────────── */

.ap-eroe {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 24px 72px;
	text-align: center;
}

.ap-occhiello {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ap-oro);
}

.ap-titolo {
	margin: 0;
	font-family: var(--ap-serif);
	font-size: clamp( 34px, 6vw, 58px );
	font-weight: 700;
	line-height: 1.1;
	color: #fff;
}

.ap-titolo em {
	font-style: normal;
	color: var(--ap-corallo);
}

.ap-sottotitolo {
	margin: 14px 0 0;
	font-size: 16px;
	color: var(--ap-tenue);
	max-width: 520px;
}

/* ── Ricerca ─────────────────────────────────────────────────────── */

.ap-cerca {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 560px;
	margin: 30px 0 0;
	padding: 7px 7px 7px 16px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 18px 44px rgba( 0, 0, 0, 0.28 );
}

.ap-cerca-icona {
	flex: none;
	font-size: 16px;
	line-height: 1;
}

.ap-cerca input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	padding: 10px 0;
	font: inherit;
	font-size: 15px;
	color: #1b2a3a;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
}

.ap-cerca input[type="search"]::placeholder {
	color: #8b98a5;
}

.ap-oppure {
	margin: 26px 0 14px;
	font-size: 13px;
	color: var(--ap-tenue);
}

/* ── Schede d'intenzione ─────────────────────────────────────────── */

.ap-intenzioni {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 150px, 1fr ) );
	gap: 14px;
	width: 100%;
	max-width: 880px;
}

.ap-carta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 14px 18px;
	border-radius: 12px;
	background: rgba( 255, 255, 255, 0.06 );
	border: 1px solid rgba( 255, 255, 255, 0.10 );
	color: var(--ap-chiaro);
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.ap-carta:hover,
.ap-carta:focus-visible {
	background: #fff;
	color: #1b2a3a;
	border-color: #fff;
	transform: translateY( -2px );
}

.ap-carta-icona {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 4px;
	border-radius: 11px;
	background: rgba( 255, 255, 255, 0.10 );
	font-size: 21px;
	line-height: 1;
}

.ap-carta:hover .ap-carta-icona,
.ap-carta:focus-visible .ap-carta-icona {
	background: #f3f0e9;
}

.ap-carta-titolo {
	font-weight: 700;
	font-size: 15px;
}

/* Contenitore di titolo e descrizione: serve al layout a riga del telefono. */

.ap-carta-testo {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ap-carta-dett {
	font-size: 12px;
	color: var(--ap-tenue);
	line-height: 1.35;
}

.ap-carta:hover .ap-carta-dett,
.ap-carta:focus-visible .ap-carta-dett {
	color: #5b6b7c;
}

.ap-tutto {
	margin: 30px 0 0;
	font-size: 14px;
}

.ap-tutto a {
	color: var(--ap-tenue);
	text-decoration: none;
}

.ap-tutto a:hover {
	color: #fff;
}

/* ── Bottoni ─────────────────────────────────────────────────────── */

.ap-btn {
	display: inline-block;
	padding: 10px 20px;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}

.ap-btn-primario {
	background: var(--ap-corallo);
	color: #fff;
}

.ap-btn-primario:hover {
	background: #c25a41;
	color: #fff;
}

/* Etichetta riservata ai lettori di schermo. */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

@media (max-width: 700px) {

	.ap-nav {
		padding: 16px 20px;
		gap: 14px;
	}

	/* Sul telefono la navbar manda le voci a capo: il marchio si restringe
	   perché il logo non si mangi metà della prima riga. */
	.ap-logo {
		height: 42px;
	}

	.ap-logo-pie {
		height: 34px;
	}

	.ap-nav-voci {
		order: 3;
		width: 100%;
		margin-left: 0;
		justify-content: center;
	}

	.ap-eroe {
		padding: 28px 18px 56px;
	}
}

/* ══ Pagine interne ═══════════════════════════════════════════════ */
/* Barra scura in cima, contenuto su avorio: le schermate 06 e 07.   */

.ap-sito {
	--ap-scuro: #1b2a3a;
	--ap-scuro-alto: #24384c;
	--ap-corallo: #d9694e;
	--ap-oro: #e3ab35;
	--ap-verde: #2f6b4f;
	--ap-blu: #5b7fb8;
	--ap-fondo: #f3f0e9;
	--ap-carta: #fff;
	--ap-bordo: #e6e1d6;
	--ap-testo: #1b2a3a;
	--ap-grigio: #6b7280;
	--ap-tenue: #9aabbd;

	--ap-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
	--ap-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--ap-fondo);
	color: var(--ap-testo);
	font-family: var(--ap-sans);
	font-size: 15px;
	line-height: 1.6;
}

.ap-sito *,
.ap-sito *::before,
.ap-sito *::after {
	box-sizing: inherit;
}

.ap-sito .ap-nav {
	background: var(--ap-scuro);
}

.ap-contenuto {
	flex: 1;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 34px 28px 56px;
}

.ap-pagina-titolo {
	margin: 0 0 22px;
	font-family: var(--ap-serif);
	font-size: clamp( 26px, 4vw, 38px );
	font-weight: 700;
	line-height: 1.15;
	color: var(--ap-testo);
}

.ap-sito h2,
.ap-sito h3 {
	font-family: var(--ap-serif);
	color: var(--ap-testo);
}

.ap-sito a {
	color: var(--ap-verde);
}

/* ── Filtri della mappa ──────────────────────────────────────────── */

.ap-sito .advtr-map-filtri {
	gap: 8px;
	margin-bottom: 14px;
}

.ap-sito .advtr-filtro-btn {
	background: var(--ap-carta);
	color: var(--ap-testo);
	border: 1px solid var(--ap-bordo);
	border-radius: 999px;
	padding: 7px 16px;
	font-size: 13.5px;
	font-weight: 600;
}

.ap-sito .advtr-filtro-btn:hover {
	border-color: var(--ap-verde);
}

.ap-sito .advtr-filtro-btn.attivo {
	background: var(--ap-verde);
	border-color: var(--ap-verde);
	color: #fff;
}

.ap-sito .advtr-map {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--ap-bordo);
}

/* ── Offerte, eventi: contenitori a scheda ───────────────────────── */

.ap-sito .advtr-offerta,
.ap-sito .advtr-evento,
.ap-sito .advtr-grande-evento,
.ap-sito .advtr-scheda-box,
.ap-sito .advtr-scheda-sez {
	background: var(--ap-carta);
	border: 1px solid var(--ap-bordo);
	border-radius: 12px;
	padding: 18px 20px;
	margin-bottom: 16px;
}

.ap-sito .advtr-offerta-codice,
.ap-sito .advtr-coupon-codice {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 8px;
	background: var(--ap-scuro);
	color: #fff;
	font-family: var(--ap-serif);
	letter-spacing: 0.14em;
	font-weight: 700;
}

.ap-sito .advtr-countdown {
	color: var(--ap-corallo);
	font-weight: 700;
}

/* ── Scheda attività ─────────────────────────────────────────────── */

.ap-contenuto-scheda .advtr-scheda-testa {
	background: linear-gradient( 120deg, var(--ap-corallo), var(--ap-oro) );
	border-radius: 14px;
	padding: 26px;
	margin-bottom: 22px;
	color: #fff;
}

.ap-contenuto-scheda .advtr-scheda-testa h1 {
	font-family: var(--ap-serif);
	margin: 0;
	color: #fff;
}

.ap-sito .advtr-badge-evidenza,
.ap-sito .advtr-badge-novita {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: var(--ap-oro);
	color: #4a3708;
}

.ap-sito .advtr-badge-novita {
	background: var(--ap-verde);
	color: #fff;
}

.ap-sito .advtr-servizi {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ap-sito .advtr-servizi li {
	padding: 5px 12px;
	border: 1px solid var(--ap-bordo);
	border-radius: 999px;
	font-size: 13px;
	background: var(--ap-fondo);
}

.ap-sito .advtr-galleria {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 150px, 1fr ) );
	gap: 12px;
}

.ap-sito .advtr-galleria img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}

.ap-sito .advtr-indicazioni {
	display: inline-block;
	margin-top: 10px;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--ap-verde);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}

/* ── Piè di pagina ───────────────────────────────────────────────── */

.ap-pie {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	padding: 20px 28px;
	background: var(--ap-scuro);
	color: var(--ap-tenue);
	font-size: 13px;
}

.ap-pie-marchio {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ap-serif);
	font-weight: 700;
	color: #fff;
}

.ap-pie-voci {
	display: flex;
	gap: 18px;
	margin-left: auto;
}

.ap-pie-voci a {
	color: var(--ap-tenue);
	text-decoration: none;
}

.ap-pie-voci a:hover {
	color: #fff;
}

@media (max-width: 700px) {

	.ap-contenuto {
		padding: 22px 16px 40px;
	}

	.ap-pie-voci {
		margin-left: 0;
	}
}

/* ══ Esplora la mappa (schermata 06) ══════════════════════════════ */

.ae-esplora {
	--ae-scuro: #1b2a3a;
	--ae-verde: #2f6b4f;
	--ae-corallo: #d9694e;
	--ae-oro: #e3ab35;
	--ae-carta: #fff;
	--ae-bordo: #e6e1d6;
	--ae-fondo: #f3f0e9;
	--ae-grigio: #6b7280;
	box-sizing: border-box;
}

.ae-esplora *,
.ae-esplora *::before,
.ae-esplora *::after {
	box-sizing: inherit;
}

/* ── Barra strumenti ─────────────────────────────────────────────── */

.ae-barra {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.ae-cerca {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 280px;
	min-width: 0;
	padding: 8px 14px;
	background: var(--ae-carta);
	border: 1px solid var(--ae-bordo);
	border-radius: 999px;
}

.ae-cerca input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font: inherit;
	font-size: 14px;
	color: var(--ae-scuro);
	-webkit-appearance: none;
	appearance: none;
}

.ae-cerca-azzera {
	color: var(--ae-grigio);
	text-decoration: none;
	font-size: 18px;
	line-height: 1;
	padding: 0 2px;
}

.ae-chip {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
}

.ae-chip-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 15px;
	border: 1px solid var(--ae-bordo);
	border-radius: 999px;
	background: var(--ae-carta);
	color: var(--ae-scuro);
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.ae-chip-btn:hover {
	border-color: var(--ae-verde);
}

.ae-chip-btn.attivo {
	background: var(--ae-verde);
	border-color: var(--ae-verde);
	color: #fff;
}

.ae-chip-offerte.attivo {
	background: var(--ae-corallo);
	border-color: var(--ae-corallo);
}

/* ── Corpo: lista + mappa ────────────────────────────────────────── */

.ae-corpo {
	display: grid;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.ae-lista {
	background: var(--ae-carta);
	border: 1px solid var(--ae-bordo);
	border-radius: 12px;
	overflow: hidden;
}

.ae-lista-testa {
	padding: 16px 18px 10px;
	border-bottom: 1px solid var(--ae-bordo);
}

.ae-lista-titolo {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
}

.ae-lista-conta {
	margin: 2px 0 0;
	font-size: 12px;
	color: var(--ae-grigio);
}

.ae-lista-corpo {
	max-height: 600px;
	overflow-y: auto;
	padding: 10px;
}

/* ── Scheda risultato ────────────────────────────────────────────── */

.ae-card {
	display: flex;
	gap: 12px;
	padding: 10px;
	margin-bottom: 8px;
	border: 1px solid var(--ae-bordo);
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	background: var(--ae-carta);
}

.ae-card:hover {
	border-color: var(--ae-verde);
	background: var(--ae-fondo);
}

.ae-card.evidenza {
	border-color: var(--ae-oro);
	box-shadow: inset 3px 0 0 var(--ae-oro);
}

.ae-card-img {
	flex: none;
	width: 62px;
	height: 62px;
	border-radius: 8px;
	background-color: #cbd5dd;
	background-size: cover;
	background-position: center;
}

.ae-card-img.tipo-poi {
	background-color: #b9cdbf;
}

.ae-card-testo {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ae-card-nome {
	font-weight: 700;
	font-size: 14.5px;
	line-height: 1.25;
}

.ae-card-cat {
	font-size: 12px;
	font-weight: 600;
	color: var(--ae-verde);
}

.ae-card-ind {
	font-size: 12px;
	color: var(--ae-grigio);
}

.ae-card-badge {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-top: 4px;
}

.ae-pill {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
}

.ae-pill.oro {
	background: var(--ae-oro);
	color: #4a3708;
}

.ae-pill.corallo {
	background: var(--ae-corallo);
}

.ae-pill.verde {
	background: var(--ae-verde);
}

.ae-vuoto {
	margin: 0;
	padding: 26px 14px;
	text-align: center;
	color: var(--ae-grigio);
	font-size: 13.5px;
}

/* ── Mappa ───────────────────────────────────────────────────────── */

.ae-mappa .advtr-map {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--ae-bordo);
}

/* Marker sotto il puntatore nella lista. */

.advtr-marker.evidenziato,
.leaflet-marker-icon.evidenziato .advtr-marker {
	transform: scale( 1.45 );
	z-index: 500;
}

@media (max-width: 860px) {

	.ae-corpo {
		grid-template-columns: 1fr;
	}

	.ae-lista-corpo {
		max-height: 340px;
	}
}

/* ══ Scheda attività (schermata 07) ═══════════════════════════════ */

.as-scheda {
	--as-scuro: #1b2a3a;
	--as-verde: #2f6b4f;
	--as-corallo: #d9694e;
	--as-oro: #e3ab35;
	--as-carta: #fff;
	--as-bordo: #e6e1d6;
	--as-fondo: #f3f0e9;
	--as-grigio: #6b7280;
	--as-serif: Georgia, "Iowan Old Style", "Times New Roman", serif;

	box-sizing: border-box;
	background: var(--as-carta);
	border: 1px solid var(--as-bordo);
	border-radius: 14px;
	overflow: hidden;
}

.as-scheda *,
.as-scheda *::before,
.as-scheda *::after {
	box-sizing: inherit;
}

/* ── Intestazione ────────────────────────────────────────────────── */

.as-intestazione {
	display: flex;
	align-items: flex-end;
	gap: 18px;
	flex-wrap: wrap;
	padding: 26px 26px 18px;
}

.as-logo {
	flex: none;
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	border-radius: 16px;
	background: var(--as-fondo);
	border: 1px solid var(--as-bordo);
	overflow: hidden;
}

.as-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.as-logo-icona {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	font-size: 34px;
	line-height: 1;
	background: var(--as-fondo);
}

.as-logo-sigla {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: var(--as-verde);
	color: #fff;
	font-family: var(--as-serif);
	font-size: 28px;
	font-weight: 700;
}

.as-intestazione-testo {
	flex: 1 1 240px;
	min-width: 0;
	padding-bottom: 2px;
}

.as-titolo {
	margin: 0;
	font-family: var(--as-serif);
	font-size: clamp( 24px, 3.4vw, 34px );
	font-weight: 700;
	line-height: 1.15;
	color: var(--as-scuro);
}

.as-meta {
	margin: 4px 0 0;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
	font-size: 13px;
}

.as-cat {
	color: var(--as-verde);
	font-weight: 700;
}

.as-voto {
	color: var(--as-oro);
	font-weight: 600;
}

.as-azioni {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	padding-bottom: 2px;
}

.as-btn {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	border: 1px solid var(--as-bordo);
}

.as-btn-neutro {
	background: var(--as-carta);
	color: var(--as-scuro);
}

.as-btn-primario {
	background: var(--as-corallo);
	border-color: var(--as-corallo);
	color: #fff;
}

.as-btn-primario:hover {
	background: #c25a41;
	color: #fff;
}

.as-badge {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 6px 0 0;
}

.as-pill {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
}

.as-pill.oro {
	background: var(--as-oro);
	color: #4a3708;
}

.as-pill.verde {
	background: var(--as-verde);
}

/* ── Corpo a due colonne ─────────────────────────────────────────── */

.as-corpo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
	gap: 26px;
	padding: 6px 26px 30px;
}

.as-sez {
	margin-bottom: 26px;
}

.as-sez h2,
.as-info h2,
.as-offerta-titolo {
	font-family: var(--as-serif);
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
	color: var(--as-scuro);
}

.as-testo {
	color: #3b4856;
}

.as-servizi {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.as-servizi li {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px;
	border: 1px solid var(--as-bordo);
	border-radius: 999px;
	background: var(--as-carta);
	font-size: 13px;
}

.as-servizi li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--as-verde);
	flex: none;
}

.as-galleria {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 140px, 1fr ) );
	gap: 10px;
}

.as-galleria img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}

/* ── Riquadro offerta ────────────────────────────────────────────── */

.as-offerta {
	padding: 16px 18px;
	margin-bottom: 16px;
	border: 1px dashed var(--as-oro);
	border-radius: 12px;
	background: #fdf8ec;
}

.as-offerta-occhiello {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--as-corallo);
}

.as-offerta-scade {
	margin: 0 0 10px;
	font-size: 12.5px;
	color: var(--as-grigio);
}

.as-offerta-scade span {
	font-weight: 700;
	color: var(--as-corallo);
	font-variant-numeric: tabular-nums;
}

.as-offerta-testo {
	margin: 0 0 12px;
	font-size: 13px;
	color: #3b4856;
}

.as-coupon {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px 12px;
	border-radius: 10px;
	background: var(--as-scuro);
	color: #fff;
	text-align: center;
}

.as-coupon-eti {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #93a3b5;
}

.as-coupon-codice {
	font-family: var(--as-serif);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.18em;
}

.as-coupon-nota {
	font-size: 11px;
	color: #93a3b5;
}

/* ── Riquadro informazioni ───────────────────────────────────────── */

.as-info {
	padding: 16px 18px;
	margin-bottom: 16px;
	border: 1px solid var(--as-bordo);
	border-radius: 12px;
	background: var(--as-carta);
}

.as-info-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13.5px;
}

.as-info-lista li {
	display: flex;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid var(--as-bordo);
}

.as-info-lista li:last-child {
	border-bottom: 0;
}

.as-ico {
	flex: none;
	width: 20px;
	text-align: center;
}

.as-orari {
	display: flex;
	flex-direction: column;
}

.as-recensione {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
}

.as-scheda .advtr-scheda-map {
	height: 190px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--as-bordo);
}

@media (max-width: 860px) {

	.as-corpo {
		grid-template-columns: 1fr;
		padding: 6px 18px 26px;
	}

	.as-intestazione {
		padding: 0 18px 16px;
	}
}

/* ══ Telefono ═════════════════════════════════════════════════════ */
/* Sotto i 560px non basta impilare: alcune scelte vanno cambiate.   */

@media (max-width: 560px) {

	/* Ingresso: una scheda per riga. Due colonne da 165px spezzano le
	   descrizioni su quattro righe e diventano illeggibili. */

	.ap-intenzioni {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ap-carta {
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 12px;
		padding: 12px 14px;
	}

	.ap-carta-icona {
		margin-bottom: 0;
		width: 40px;
		height: 40px;
		font-size: 19px;
	}

	.ap-carta-testo {
		min-width: 0;
	}

	/* Ricerca: il bottone va a capo invece di schiacciare il campo. */

	.ap-cerca {
		flex-wrap: wrap;
		border-radius: 16px;
		padding: 12px;
		gap: 8px;
	}

	.ap-cerca input[type="search"] {
		flex: 1 1 100%;
		order: 2;
	}

	.ap-cerca .ap-btn {
		flex: 1 1 100%;
		order: 3;
		text-align: center;
	}

	.ap-cerca-icona {
		order: 1;
	}

	.ap-titolo {
		font-size: 30px;
	}

	.ap-eroe {
		justify-content: flex-start;
		padding-top: 24px;
	}

	/* Barra della mappa: i chip scorrono in orizzontale invece di
	   impilarsi su quattro righe e spingere giù la mappa. */

	.ae-chip {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
		margin: 0 -16px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.ae-chip::-webkit-scrollbar {
		display: none;
	}

	.ae-chip-btn {
		flex: none;
		padding: 11px 16px;
	}

	.ae-cerca {
		flex: 1 1 100%;
		padding: 11px 14px;
	}

	/* La mappa non deve occupare tutto lo schermo: l'elenco sotto deve
	   restare intuibile senza scorrere alla cieca. */

	.ae-mappa .advtr-map,
	.advtr-map[style*="height"] {
		height: 52vh !important;
		min-height: 260px;
	}

	.ae-lista-corpo {
		max-height: none;
	}

	/* Scheda attività. */

	.as-intestazione {
		padding: 18px 16px 14px;
		gap: 14px;
	}

	.as-logo {
		width: 64px;
		height: 64px;
	}

	.as-azioni {
		width: 100%;
	}

	.as-azioni .as-btn {
		flex: 1;
		text-align: center;
	}

	.as-corpo {
		padding: 4px 16px 24px;
		gap: 18px;
	}

	.as-galleria {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.as-scheda .advtr-scheda-map {
		height: 220px;
	}

	.ap-contenuto {
		padding: 20px 16px 36px;
	}

	.ap-nav {
		padding: 14px 16px;
	}

	.ap-pie {
		padding: 18px 16px;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.ap-pie-voci {
		margin-left: 0;
	}
}
