:root {
	/* Fallback: i valori veri arrivano da Unalome Stile Sito. */
	--unalome-card-blue: color-mix(in srgb, var(--unalome-primary) 52%, white);
	--unalome-primary: #dd89ad;
	--unalome-primary-dark: color-mix(in srgb, var(--unalome-text) 70%, var(--unalome-primary));
	--unalome-primary-deep: color-mix(in srgb, var(--unalome-text) 58%, var(--unalome-primary));
	--unalome-accent: color-mix(in srgb, var(--unalome-primary) 72%, var(--unalome-text));
	--unalome-accent-light: color-mix(in srgb, var(--unalome-primary) 42%, white);
	--unalome-bg: #b9c7c8;
	--unalome-bg-soft: color-mix(in srgb, var(--unalome-bg) 72%, white);
	--unalome-section-tint: color-mix(in srgb, var(--unalome-primary) 38%, var(--unalome-bg));
	--unalome-section-light: color-mix(in srgb, var(--unalome-primary) 22%, var(--unalome-bg));
	--unalome-text: #3a3336;
	--unalome-muted: color-mix(in srgb, var(--unalome-text) 58%, var(--unalome-bg));
	--unalome-card: #ffffff;
	--unalome-radius: 12px;
	--unalome-shadow: 0 4px 24px color-mix(in srgb, var(--unalome-text) 12%, transparent);

	--unalome-tone-studio: color-mix(in srgb, var(--unalome-primary) 38%, white);
	--unalome-tone-online: color-mix(in srgb, var(--unalome-primary) 48%, white);
	--unalome-tone-events: color-mix(in srgb, var(--unalome-primary) 58%, white);
	--unalome-tone-shop: color-mix(in srgb, var(--unalome-primary) 44%, white);
	--unalome-tone-metodo: color-mix(in srgb, var(--unalome-primary) 32%, white);

	--unalome-heading-font: "Playfair Display", Georgia, "Times New Roman", serif;
	--unalome-body-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--unalome-font-size: 16px;
	--unalome-nav-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--unalome-nav-size: 14px;
	--unalome-navbar-bg: #b9c7c8;
	--unalome-navbar-text: #3a3336;
	--unalome-footer-bg: #b9c7c8;
	--unalome-footer-text: #3a3336;
	--unalome-riga-bg: var(--unalome-riga-scelta, var(--unalome-bg));
	--unalome-blocco-bg: transparent;
	--unalome-btn: var(--unalome-primary);
	--unalome-btn-conferma: var(--unalome-btn);
	--unalome-btn-annulla: var(--unalome-btn);
	--unalome-btn-attenzione: var(--unalome-btn);
	--unalome-btn-prenota: var(--unalome-btn);
	--unalome-btn-contatta: var(--unalome-btn);
}

body {
	background-color: var(--unalome-bg);
	color: var(--unalome-text);
}

.unalome-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.navbar-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.unalome-brand-name {
	font-family: var(--unalome-heading-font);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.25;
	color: inherit;
	white-space: nowrap;
}

@media (max-width: 576px) {
	.unalome-brand-name {
		white-space: normal;
		max-width: 7.5rem;
		font-size: 0.62rem;
		letter-spacing: 0.06em;
	}
}

.unalome-logo-img,
.app-logo,
.navbar-brand .app-logo,
.navbar-home img {
	max-height: 42px;
	width: auto;
	object-fit: contain;
}

.for-login .app-logo,
.for-signup .app-logo,
.for-forgot .app-logo {
	max-height: 72px;
	margin-bottom: 0.5rem;
}

.page-card-head .app-logo {
	display: block;
	margin: 0 auto 1rem;
}

.navbar-brand .unalome-logo-img {
	max-height: 36px;
}

.unalome-hero .unalome-logo-img {
	max-height: 90px;
	margin-bottom: 1.5rem;
}

/* Hero e intestazione non hanno lastra propria: si vede la cella (tema o compositore). */
.unalome-hero {
	padding: 5rem 0 4rem;
	text-align: center;
	background: transparent;
}

.unalome-hero h1 {
	font-family: var(--unalome-heading-font);
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	font-weight: 400;
	color: var(--unalome-primary-dark);
	margin-bottom: 1rem;
}

.unalome-hero .tagline {
	font-size: 1.2rem;
	color: var(--unalome-muted);
	max-width: 600px;
	margin: 0 auto 2rem;
}

.unalome-hero .tagline p {
	margin-bottom: 0.4rem;
}

.unalome-section {
	padding: 3rem 0;
	background: transparent;
}

/* Stile Testo: effetto sul contenuto, non lastra sulla sezione. */
.unalome-section--tint .unalome-content {
	border-left: 4px solid var(--unalome-primary);
	padding-left: 1.25rem;
}

.unalome-section--tint .unalome-content.text-center {
	border-left: none;
	padding-left: 0;
	border-top: 4px solid var(--unalome-primary);
	padding-top: 1rem;
}

.unalome-section--metodo .unalome-content {
	border: 1px solid var(--unalome-tone-metodo);
	border-radius: var(--unalome-radius);
	padding: 1.5rem 1.75rem;
}

.unalome-section h2 {
	font-family: var(--unalome-heading-font);
	font-size: 2rem;
	color: var(--unalome-primary-dark);
	margin-bottom: 1.5rem;
}

.unalome-card {
	background: var(--unalome-card);
	border-radius: var(--unalome-radius);
	box-shadow: var(--unalome-shadow);
	padding: 2rem;
	height: 100%;
	border: 1px solid rgba(155, 173, 208, 0.35);
}

.unalome-card--studio {
	border-top: 4px solid var(--unalome-tone-studio);
	background: var(--unalome-card);
}

.unalome-card--online {
	border-top: 4px solid var(--unalome-tone-online);
	background: var(--unalome-card);
}

.unalome-card--events {
	border-top: 4px solid var(--unalome-tone-events);
	background: var(--unalome-card);
}

.unalome-card--shop {
	border-top: 4px solid var(--unalome-tone-shop);
}

.unalome-card h3 {
	font-size: 1.25rem;
	color: var(--unalome-primary-dark);
	margin-bottom: 0.75rem;
}

.unalome-card .badge {
	display: inline-block;
	font-size: 0.75rem;
	padding: 0.25rem 0.75rem;
	border-radius: 20px;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
}

.unalome-card--studio .badge {
	background: var(--unalome-tone-studio);
	color: var(--unalome-primary-dark);
}

.unalome-card--online .badge {
	background: var(--unalome-tone-online);
	color: var(--unalome-primary-dark);
}

.unalome-card--events .badge {
	background: var(--unalome-tone-events);
	color: var(--unalome-primary-dark);
}

.unalome-card--shop .badge {
	background: var(--unalome-tone-shop);
	color: var(--unalome-primary-dark);
}

.unalome-card .badge:not([class*="--"]) {
	background: var(--unalome-accent-light);
	color: var(--unalome-primary-dark);
}

.unalome-btn {
	display: inline-block;
	background: var(--unalome-btn);
	color: var(--unalome-text) !important;
	padding: 0.75rem 1.75rem;
	border-radius: 30px;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s, transform 0.2s;
	border: none;
}

.unalome-btn--conferma {
	background: var(--unalome-btn-conferma);
}

.unalome-btn--annulla {
	background: var(--unalome-btn-annulla);
}

.unalome-btn--attenzione {
	background: var(--unalome-btn-attenzione);
}

.unalome-btn--prenota {
	background: var(--unalome-btn-prenota);
}

.unalome-btn--contatta {
	background: var(--unalome-btn-contatta);
}

.unalome-btn:hover {
	background: var(--unalome-accent);
	color: var(--unalome-text) !important;
	transform: translateY(-1px);
	text-decoration: none;
}

.unalome-btn-outline {
	background: transparent;
	color: var(--unalome-primary-dark) !important;
	border: 2px solid var(--unalome-primary);
}

.unalome-btn-outline:hover {
	background: var(--unalome-btn);
	color: var(--unalome-card) !important;
}

.unalome-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}

.unalome-page-header {
	padding: 3rem 0 2rem;
	text-align: center;
	background: transparent;
}

.unalome-page-header h1 {
	font-family: var(--unalome-heading-font);
	font-size: 2.5rem;
	color: var(--unalome-primary-dark);
}

.unalome-page-header p {
	color: var(--unalome-muted);
	max-width: 650px;
	margin: 1rem auto 0;
	font-size: 1.1rem;
}

.unalome-content {
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.8;
}

.unalome-content p {
	margin-bottom: 1.25rem;
}

.unalome-discount {
	background: var(--unalome-accent-light);
	padding: 0.5rem 1rem;
	border-radius: 8px;
	display: inline-block;
	margin-top: 1rem;
	font-weight: 600;
	color: var(--unalome-primary-dark);
}

.unalome-cta-band {
	background: transparent;
	color: var(--unalome-text);
	padding: 3rem 0;
	text-align: center;
}

.unalome-cta-band h2 {
	font-family: var(--unalome-heading-font);
	color: var(--unalome-primary-dark);
	margin-bottom: 1rem;
}

.unalome-event-date {
	color: var(--unalome-accent);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.unalome-features {
	list-style: none;
	padding: 0;
	margin: 2rem 0;
}

.unalome-features li {
	padding: 0.75rem 0;
	padding-left: 1.5rem;
	position: relative;
	border-bottom: 1px solid rgba(155, 173, 208, 0.25);
}

.unalome-features li::before {
	content: "✦";
	position: absolute;
	left: 0;
	color: var(--unalome-accent);
}

.navbar {
	/* Il colore resta quello del tema. Un menu scelto sulla singola pagina
	   definisce --unalome-menu-bg su di sé e vince senza dover rincorrere
	   questa regola con altri !important. */
	background: var(--unalome-menu-bg, var(--unalome-navbar-bg)) !important;
	color: var(--unalome-menu-text, inherit);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-primary) 35%, transparent);
	/* Resta in cima mentre si scorre. Il livello tiene il menu sopra
	   il contenuto (e la tendina utente sopra la brochure). */
	position: sticky;
	top: 0;
	z-index: 1030;
}

/* Sul sito il body è flex e alto come lo schermo (Frappe: html 100%).
   Sticky vale solo dentro quel box: dopo un viewport la barra se ne va
   (sullo shop, all'altezza dei pacchetti). Fixed è agganciato alla
   finestra. Lo spazio in cima evita che il contenuto salga sotto. */
body[data-path] > .navbar {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
}

body[data-path]:has(> .navbar) {
	padding-top: var(--navbar-height, 48px);
}

/* Tela a tre livelli, come in pagina: 1 fondo, 2 riga, 3 blocco.
   Qui il livello 1 è il colore del footer (documento o tema), non lo
   sfondo pagina. --unalome-riga-bg si ricalcola su questo nodo così
   una riga senza colore proprio lascia vedere il footer, non la pagina. */
.web-footer,
.unalome-footer {
	--unalome-bg: var(--unalome-chrome-bg, var(--unalome-footer-bg));
	--unalome-text: var(--unalome-chrome-text, var(--unalome-footer-text));
	--unalome-riga-bg: var(--unalome-riga-scelta, var(--unalome-bg));
	background: var(--unalome-bg);
	color: var(--unalome-text);
	/* Body è flex e alto come lo schermo: senza questo il footer resta
	   alto 140px, la griglia e la coda escono dal box e la firma finisce
	   sullo sfondo della pagina. */
	flex-shrink: 0;
}

.web-footer a,
.unalome-footer a {
	color: var(--unalome-chrome-text, var(--unalome-footer-text));
}

/* Menu, header e footer scelti sulla singola pagina
   -------------------------------------------------
   Lo scheletro è quello standard, quindi tutto ciò che vale per .navbar e
   .web-footer vale anche qui: sotto ci sono solo le aggiunte. */

.unalome-menu .nav-link {
	color: var(--unalome-menu-text, var(--unalome-navbar-text));
}

.unalome-menu__pulsante {
	background: var(--unalome-accent);
	color: #fff !important;
	border-radius: 999px;
	padding: 0.35rem 1.1rem !important;
}

.unalome-header {
	background: var(--unalome-chrome-bg, transparent);
	color: var(--unalome-chrome-text, inherit);
}

.unalome-footer .unalome-page-canvas {
	padding: 2.5rem 0 0;
}

.unalome-footer .footer-info,
.unalome-footer .footer-info .footer-col-left,
.unalome-footer .footer-info .footer-col-right {
	color: var(--unalome-text);
}

.unalome-footer .footer-info {
	padding: 1.25rem 0;
	font-size: 0.85rem;
	text-align: center;
	background: transparent;
}

.unalome-elenco-link__titolo {
	font-weight: 600;
	margin-bottom: 0.6rem;
}

.unalome-elenco-link__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.unalome-elenco-link__lista li {
	margin-bottom: 0.35rem;
}

.unalome-elenco-link--linea .unalome-elenco-link__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.4rem;
	justify-content: center;
}

.unalome-elenco-link--linea .unalome-elenco-link__lista li {
	margin-bottom: 0;
}

.unalome-elenco-link__voce {
	text-decoration: none;
}

.unalome-elenco-link__voce:hover {
	text-decoration: underline;
}

/* Oggetti da mettere nelle celle: iscrizione, pulsanti, social.
   Nati per il footer, ma sono blocchi come gli altri e stanno anche in pagina,
   quindi i colori arrivano dal contesto e non sono scritti qui. */

.unalome-newsletter__titolo,
.unalome-pulsanti__titolo,
.unalome-social__titolo {
	font-weight: 600;
	margin-bottom: 0.6rem;
}

.unalome-newsletter__testo {
	margin-bottom: 0.8rem;
	opacity: 0.9;
}

.unalome-newsletter__modulo {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.unalome-newsletter__campo {
	flex: 1 1 12rem;
	min-width: 0;
	max-width: 22rem;
}

.unalome-newsletter__consenso,
.unalome-contatti__consenso {
	flex: 1 1 100%;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin: 0.15rem 0 0;
	font-size: 0.85rem;
	opacity: 0.9;
}

.unalome-newsletter__consenso a,
.unalome-contatti__consenso a {
	text-decoration: underline;
}

.unalome-newsletter__invio:disabled,
.unalome-contatti__invio:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.unalome-contatti__titolo {
	font-weight: 600;
	margin-bottom: 0.6rem;
}

.unalome-contatti__testo {
	margin-bottom: 0.8rem;
	opacity: 0.9;
}

.unalome-contatti__modulo {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	max-width: 36rem;
}

.unalome-contatti__esito {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	opacity: 0.8;
}

.unalome-contatti--errore .unalome-contatti__esito {
	opacity: 1;
}

.unalome-newsletter__nota,
.unalome-newsletter__esito {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	opacity: 0.8;
}

.unalome-newsletter__esito:empty {
	display: none;
}

.unalome-newsletter--errore .unalome-newsletter__esito {
	color: var(--unalome-accent, #b00020);
	opacity: 1;
}

.unalome-pulsanti__fila,
.unalome-social__fila {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}

.unalome-pulsanti--centro,
.unalome-social--centro {
	text-align: center;
}

.unalome-pulsanti--centro .unalome-pulsanti__fila,
.unalome-social--centro .unalome-social__fila {
	justify-content: center;
}

.unalome-pulsanti--destra .unalome-pulsanti__fila,
.unalome-social--destra .unalome-social__fila {
	justify-content: flex-end;
}

.unalome-social__voce {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
	/* L'icona è disegnata con currentColor: eredita il colore del footer o
	   della pagina senza doverlo ridichiarare. */
	color: inherit;
}

.unalome-social__voce:hover {
	opacity: 0.7;
}

.unalome-social__nome {
	font-size: 0.9rem;
}

/* Domande, schede, punti e testimonianze. Sono i quattro oggetti adottati da
   Frappe e riscritti: dell'originale resta l'idea, non il foglio di stile, così
   seguono il tema del sito come tutti gli altri. */

.unalome-domande__voce {
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-primary) 35%, transparent);
	padding: 0.9rem 0;
}

.unalome-domande__voce:first-child {
	border-top: 1px solid color-mix(in srgb, var(--unalome-primary) 35%, transparent);
}

.unalome-domande__domanda {
	cursor: pointer;
	font-weight: 600;
	color: var(--unalome-primary-dark);
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

/* La freccia del browser cambia da uno all'altro: si toglie e si disegna la
   nostra, che gira quando la voce è aperta. */
.unalome-domande__domanda::-webkit-details-marker {
	display: none;
}

.unalome-domande__domanda::before {
	content: "";
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.15s ease;
}

.unalome-domande__voce[open] .unalome-domande__domanda::before {
	transform: rotate(45deg);
}

.unalome-domande__risposta {
	padding: 0.7rem 0 0 1.1rem;
	color: var(--unalome-muted);
}

.unalome-schede__barra {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-primary) 35%, transparent);
	margin-bottom: 1.2rem;
}

.unalome-schede__tasto {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 0.5rem 0.9rem;
	font-weight: 600;
	color: var(--unalome-muted);
	cursor: pointer;
}

.unalome-schede__tasto:hover {
	color: var(--unalome-primary-dark);
}

.unalome-schede__tasto--attiva {
	color: var(--unalome-primary-dark);
	border-bottom-color: var(--unalome-primary);
}

.unalome-schede__pannello {
	display: none;
}

.unalome-schede__pannello--attiva {
	display: block;
}

.unalome-punti__icona {
	width: 3rem;
	height: 3rem;
	object-fit: contain;
	margin-bottom: 0.7rem;
}

.unalome-punti__titolo {
	font-size: 1.1rem;
	margin: 0 0 0.4rem;
}

.unalome-punti__testo {
	color: var(--unalome-muted);
}

.unalome-punti__link {
	display: inline-block;
	margin-top: 0.6rem;
	font-weight: 600;
}

.unalome-testimonianze__voce {
	margin: 0;
	padding: 1.4rem;
	background: var(--unalome-card-blue, #fff);
	border-radius: var(--unalome-radius);
}

.unalome-testimonianze__testo {
	margin: 0;
	border: 0;
	padding: 0;
	font-size: 1.02rem;
	font-style: italic;
	color: var(--unalome-primary-dark);
}

.unalome-testimonianze__firma {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: 1rem;
}

.unalome-testimonianze__foto {
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	object-fit: cover;
}

.unalome-testimonianze__chi {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	font-size: 0.92rem;
}

.unalome-testimonianze__ruolo {
	color: var(--unalome-muted);
	font-size: 0.85rem;
}

@media (max-width: 768px) {
	.unalome-hero {
		padding: 3rem 0 2rem;
	}
}

.section:has(.unalome-hero),
.section:has(.unalome-section),
.section:has(.unalome-cta-band),
.section:has(.unalome-page-header),
.section:has(.unalome-split),
.section:has(.unalome-gallery),
.section:has(.unalome-video),
.section:has(.unalome-slideshow) {
	padding-top: 0;
	padding-bottom: 0;
}

.unalome-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	align-items: center;
}

.unalome-split--image-right .unalome-split__media {
	order: 2;
}

.unalome-split__media img {
	width: 100%;
	height: 100%;
	max-height: 420px;
	object-fit: cover;
	border-radius: var(--unalome-radius);
}

.unalome-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.unalome-gallery__item {
	margin: 0;
}

.unalome-gallery__item img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: var(--unalome-radius);
	display: block;
}

.unalome-gallery__item figcaption {
	margin-top: 0.5rem;
	color: var(--unalome-muted);
	font-size: 0.9rem;
}

.unalome-video {
	padding: 2rem;
}

.unalome-video__frame {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	margin-top: 1.5rem;
	border-radius: var(--unalome-radius);
	overflow: hidden;
	isolation: isolate;
	transform: translateZ(0);
	clip-path: inset(0 round var(--unalome-radius));
}

.unalome-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: inherit;
}

.unalome-slideshow .carousel-item img {
	border-radius: var(--unalome-radius);
}

@media (max-width: 768px) {
	.unalome-split {
		grid-template-columns: 1fr;
	}

	.unalome-split--image-right .unalome-split__media {
		order: 0;
	}
}

/* Section flessibile: lo stile sta sull'interno (bordo, card, testo), non sulla lastra. */
.unalome-flexible-section {
	padding: 3rem 0;
	background: transparent;
}

.unalome-flexible-section.unalome-section--tinta-unalome .unalome-flexible-section__inner {
	border-left: 4px solid var(--unalome-primary);
	padding-left: 1.25rem;
}

.unalome-flexible-section.text-center.unalome-section--tinta-unalome .unalome-flexible-section__inner {
	border-left: none;
	padding-left: 0;
	border-top: 4px solid var(--unalome-primary);
	padding-top: 1rem;
}

.unalome-flexible-section.unalome-section--card .unalome-flexible-section__inner {
	background: var(--unalome-card);
	border-radius: var(--unalome-radius);
	box-shadow: var(--unalome-shadow);
	padding: 2rem;
	border: 1px solid color-mix(in srgb, var(--unalome-primary) 35%, transparent);
}

.unalome-flexible-section__title {
	font-family: var(--unalome-heading-font);
	font-size: 2rem;
	color: var(--unalome-primary-dark);
	margin-bottom: 0.75rem;
}

.unalome-flexible-section__subtitle {
	color: var(--unalome-muted);
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
}

.unalome-flexible-section__body {
	line-height: 1.8;
	color: var(--unalome-text);
}

.unalome-flexible-section__body .from-markdown h1,
.unalome-flexible-section__body .from-markdown h2,
.unalome-flexible-section__body .from-markdown h3,
.unalome-flexible-section__body .from-richtext h1,
.unalome-flexible-section__body .from-richtext h2,
.unalome-flexible-section__body .from-richtext h3 {
	color: var(--unalome-primary-dark);
}

.unalome-flexible-section.text-center .unalome-flexible-section__inner {
	text-align: center;
}

.unalome-flexible-section__cards {
	margin-top: 2rem;
}

.unalome-cards-grid {
	display: grid;
	gap: 1.5rem;
}

.unalome-cards-grid--1 { grid-template-columns: 1fr; }
.unalome-cards-grid--2 { grid-template-columns: repeat(2, 1fr); }
.unalome-cards-grid--3 { grid-template-columns: repeat(3, 1fr); }
.unalome-cards-grid--4 { grid-template-columns: repeat(4, 1fr); }
.unalome-cards-grid--5 { grid-template-columns: repeat(5, 1fr); }
.unalome-cards-grid--6 { grid-template-columns: repeat(6, 1fr); }

.unalome-card--tone-1 { border-top: 4px solid var(--unalome-tone-studio); }
.unalome-card--tone-2 { border-top: 4px solid var(--unalome-tone-online); }
.unalome-card--tone-3 { border-top: 4px solid var(--unalome-tone-events); }

.unalome-card--tone-1 .badge { background: var(--unalome-tone-studio); }
.unalome-card--tone-2 .badge { background: var(--unalome-tone-online); }
.unalome-card--tone-3 .badge { background: var(--unalome-tone-events); }

.unalome-card__image {
	margin: -2rem -2rem 1rem;
	border-radius: var(--unalome-radius) var(--unalome-radius) 0 0;
	overflow: hidden;
}

.unalome-card__image img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.unalome-card__content {
	margin-bottom: 1.25rem;
}

@media (max-width: 992px) {
	.unalome-cards-grid--3,
	.unalome-cards-grid--4,
	.unalome-cards-grid--5,
	.unalome-cards-grid--6 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.unalome-cards-grid--1,
	.unalome-cards-grid--2,
	.unalome-cards-grid--3,
	.unalome-cards-grid--4,
	.unalome-cards-grid--5,
	.unalome-cards-grid--6 {
		grid-template-columns: 1fr;
	}
}

.unalome-kicker {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--unalome-accent);
	margin-bottom: 0.5rem;
}

.unalome-kicker a {
	color: inherit;
	text-decoration: none;
}

.unalome-lead {
	max-width: 640px;
	margin: 1rem auto 0;
	color: var(--unalome-muted);
	font-size: 1.1rem;
	line-height: 1.7;
}

.unalome-prog-month {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s;
}

a.unalome-prog-month:hover {
	transform: translateY(-2px);
	text-decoration: none;
	color: inherit;
}

.unalome-prog-month__name {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	color: var(--unalome-accent);
	margin-bottom: 0.35rem;
}

.unalome-prog-month--soon {
	opacity: 0.72;
}

.unalome-prog-month__soon {
	font-size: 0.85rem;
	color: var(--unalome-muted);
	margin-top: 0.75rem;
	margin-bottom: 0;
}

.unalome-prog-season--autunno {
	background: var(--unalome-section-light);
}

.unalome-prog-season--inverno {
	background: var(--unalome-bg-soft);
}

.unalome-prog-season--primavera {
	background: var(--unalome-tone-metodo);
}

.unalome-prog-season--estate {
	background: var(--unalome-section-tint);
}

/* Tela del compositore di pagina (sito vetrina). Le righe non hanno spaziatura
   propria: una riga con una sola cella intera rende esattamente come la
   sezione a tutta larghezza di prima.

   Lo stacco fra celle è solo orizzontale, e per due ragioni. Una cella che
   copre tutte e sei le colonne copre anche gli stacchi interni, quindi resta
   larga come prima. E su telefono, dove le celle si impilano in una colonna
   sola, non si aggiunge nulla: le sezioni hanno già il loro respiro e le
   pagine pubblicate non cambiano. */
.unalome-page-canvas {
	background-color: var(--unalome-bg);
}

.unalome-page-row {
	width: 100%;
	background-color: var(--unalome-riga-bg);
}

.unalome-page-row__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: var(--unalome-page-gap, 1.5rem);
	row-gap: 0;
}

.unalome-page-row--spazio-nessuno .unalome-page-row__grid {
	column-gap: 0;
}

.unalome-page-row--spazio-ampio .unalome-page-row__grid {
	column-gap: 3rem;
}

.unalome-page-row--contenuta .unalome-page-row__grid {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
}

.unalome-page-row--con-media,
.unalome-page-cell--con-media {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.unalome-page-media {
	position: absolute;
	inset: -12%;
	z-index: 0;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
	container-type: size;
	background-color: var(--unalome-sfondo-tinta, transparent);
}

.unalome-page-media__shot {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.8s ease;
}

.unalome-page-media__shot.is-active {
	opacity: 1;
}

.unalome-page-media__file {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Il velo assottiglia la foto: si vede attraverso, senza scurirla. */
.unalome-page-media__shot.is-active .unalome-page-media__file {
	opacity: calc(1 - var(--unalome-sfondo-velo, 0));
}

/* I selettori sono figli diretti: Contieni sulla riga non deve
   cambiare l'immagine della cella. */
.unalome-page-row--adatta-contieni > .unalome-page-media,
.unalome-page-cell--adatta-contieni > .unalome-page-media {
	inset: 0;
}

.unalome-page-row--adatta-contieni > .unalome-page-media > .unalome-page-media__shot,
.unalome-page-cell--adatta-contieni > .unalome-page-media > .unalome-page-media__shot {
	position: relative;
	inset: auto;
	width: max-content;
	height: max-content;
	max-width: 100%;
	max-height: 100%;
}

.unalome-page-row--adatta-contieni > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file,
.unalome-page-cell--adatta-contieni > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file {
	position: relative;
	inset: auto;
	display: block;
	width: auto;
	height: auto;
	max-width: 100cqw;
	max-height: 100cqh;
	object-fit: contain;
}

.unalome-page-row--adatta-ripeti > .unalome-page-media,
.unalome-page-cell--adatta-ripeti > .unalome-page-media {
	inset: 0;
	background-repeat: repeat;
	background-size: auto;
	background-position: center;
}

.unalome-page-row--adatta-ripeti > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file,
.unalome-page-cell--adatta-ripeti > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file {
	object-fit: none;
	object-position: center;
}

.unalome-page-row--con-media[style*="--unalome-sfondo-blur"] > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file,
.unalome-page-cell--con-media[style*="--unalome-sfondo-blur"] > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file {
	filter: blur(var(--unalome-sfondo-blur, 0px));
}

.unalome-page-row--con-media > .unalome-page-row__grid,
.unalome-page-cell__corpo {
	position: relative;
	z-index: 2;
}

/* La foto è più alta della riga: lo scroll la sposta, il contenitore taglia.
   L'animazione è agganciata allo scroll del browser, non a un listener JS:
   altrimenti la pagina scorre fluida e la foto arriva un fotogramma dopo. */
.unalome-page-row--effetto-parallasse > .unalome-page-media,
.unalome-page-cell--effetto-parallasse > .unalome-page-media {
	inset: calc(var(--unalome-sfondo-parallasse, 0.35) * -100%) 0;
	will-change: transform;
}

@keyframes unalome-parallasse {
	from {
		transform: translate3d(0, calc(var(--unalome-sfondo-corsa, 0.206) * 100%), 0);
	}
	to {
		transform: translate3d(0, calc(var(--unalome-sfondo-corsa, 0.206) * -100%), 0);
	}
}

@supports (animation-timeline: view()) {
	.unalome-page-row--effetto-parallasse,
	.unalome-page-cell--effetto-parallasse {
		view-timeline-name: --unalome-sfondo-view;
		view-timeline-axis: block;
	}

	.unalome-page-row--effetto-parallasse > .unalome-page-media,
	.unalome-page-cell--effetto-parallasse > .unalome-page-media {
		animation: unalome-parallasse linear both;
		animation-timeline: --unalome-sfondo-view;
		animation-range: cover;
	}
}

/* La foto è grande come la finestra: lo script la tiene ferma, la riga taglia. */
.unalome-page-row--effetto-fisso > .unalome-page-media,
.unalome-page-cell--effetto-fisso > .unalome-page-media {
	inset: 0 auto auto 0;
	width: 100vw;
	height: 100vh;
	will-change: transform;
}

/* Ken Burns è un ritaglio che si muove: la foto deve riempire la riga,
   anche se Adatta è Contieni, altrimenti lo zoom è invisibile. */
.unalome-page-row--effetto-kenburns > .unalome-page-media,
.unalome-page-cell--effetto-kenburns > .unalome-page-media {
	inset: -22%;
}

.unalome-page-row--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot,
.unalome-page-cell--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot {
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	max-width: none;
	max-height: none;
}

.unalome-page-row--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file,
.unalome-page-cell--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot > .unalome-page-media__file {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
}

.unalome-page-row--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot.is-active,
.unalome-page-cell--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot.is-active {
	transform-origin: center center;
	will-change: transform;
	animation: unalome-kenburns 12s ease-in-out infinite alternate;
}

@keyframes unalome-kenburns {
	from {
		transform: scale(1.04) translate(3%, 2.2%);
	}
	to {
		transform: scale(1.28) translate(-3.4%, -2.6%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.unalome-page-row--effetto-parallasse > .unalome-page-media,
	.unalome-page-cell--effetto-parallasse > .unalome-page-media,
	.unalome-page-row--effetto-fisso > .unalome-page-media,
	.unalome-page-cell--effetto-fisso > .unalome-page-media {
		inset: 0;
		width: auto;
		height: auto;
		will-change: auto;
		transform: none;
		animation: none;
	}

	.unalome-page-row--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot.is-active,
	.unalome-page-cell--effetto-kenburns > .unalome-page-media > .unalome-page-media__shot.is-active {
		animation: none;
	}
}

/* Il wrapper del template (figlio diretto della cella, o del corpo se
   c'è una foto) non ha lastra. Card, voci, badge restano oggetti interni. */
.unalome-page-cell > :not(.unalome-page-media):not(.unalome-page-cell__corpo),
.unalome-page-cell__corpo > * {
	background: transparent;
}

.unalome-page-cell {
	min-width: 0;
	background-color: var(--unalome-blocco-bg);
}

.unalome-page-cell--con-colore {
	border-radius: var(--unalome-radius);
}

/* Le righe restano attaccate se le celle sono trasparenti: il respiro
   lo portano già le sezioni. Due lastre colorate una sull'altra, invece,
   si incollano: lo stacco è lo stesso delle schede. */
.unalome-page-row:has(.unalome-page-cell--con-colore) {
	margin-bottom: 2rem;
}

.unalome-page-canvas > .unalome-page-row:has(.unalome-page-cell--con-colore):last-child {
	margin-bottom: 0;
}

/* I template portano un .container con larghezza massima e padding: in una
   cella parziale lascerebbe un vuoto laterale. Nelle celle intere non si
   tocca, così le pagine già pubblicate restano identiche. */
.unalome-page-cell--parziale .container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.unalome-page-rich {
	padding: 1.5rem 0;
}

.unalome-page-rich > :first-child {
	margin-top: 0;
}

.unalome-page-rich > :last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.unalome-page-row__grid {
		grid-template-columns: 1fr;
	}

	/* La cella dichiara il proprio span in linea: per farla tornare a piena
	   larghezza su telefono serve la precedenza. */
	.unalome-page-cell {
		grid-column: 1 / -1 !important;
	}
}

/* Impaginatore: la finestra scorre dal corpo del dialogo. Imporre un'altezza
   fissa a tutta la catena di contenitori tagliava il contenuto senza
   permettere lo scorrimento. */
.unalome-impaginatore-dialog .modal-dialog {
	max-width: min(1600px, 96vw);
	width: 96vw;
	margin: 12px auto;
}

.unalome-impaginatore-dialog .modal-content {
	max-height: calc(100vh - 24px);
	display: flex;
	flex-direction: column;
}

.unalome-impaginatore-dialog .modal-header,
.unalome-impaginatore-dialog .modal-footer {
	flex: 0 0 auto;
}

.unalome-impaginatore-dialog .modal-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

.unalome-impaginatore-dialog .form-layout,
.unalome-impaginatore-dialog .form-column,
.unalome-impaginatore-dialog [data-fieldname="board"],
.unalome-impaginatore-dialog [data-fieldname="board"] .form-group,
.unalome-impaginatore-dialog [data-fieldname="board"] .control-input-wrapper {
	min-width: 0;
	max-width: 100%;
}

.unalome-impaginatore {
	padding: 0;
}

.unalome-imp-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	position: sticky;
	top: 0;
	z-index: 6;
	background: var(--fg-color, #fff);
	padding: 0.5rem 0;
	margin: 0 0 0.5rem;
	border-bottom: 1px solid var(--border-color, #e5e1de);
}

.unalome-imp-page-meta {
	display: grid;
	grid-template-columns: 160px 1fr auto;
	gap: 0.75rem;
	align-items: end;
	margin-bottom: 1rem;
}

.unalome-imp-row {
	border: 1px solid var(--unalome-accent-light, #c5d3e8);
	border-radius: 8px;
	padding: 0.6rem;
	margin-bottom: 0.75rem;
	background: #fff;
}

.unalome-imp-row-bar {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	margin-bottom: 0.5rem;
}

.unalome-imp-row-bar span {
	margin-right: auto;
	font-weight: 600;
}

.unalome-imp-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.4rem;
	min-height: 72px;
}

.unalome-imp-block {
	border: 1px solid #9aadd0;
	background: #eef2f8;
	border-radius: 6px;
	padding: 0.5rem;
	text-align: left;
	min-height: 72px;
	cursor: pointer;
}

.unalome-imp-block.is-selected {
	outline: 2px solid #8a5a55;
	background: #fff8f4;
}

.unalome-imp-fields {
	border: 1px solid #d5c8be;
	background: #fff;
	border-radius: 8px;
	padding: 12px;
	margin-top: 12px;
}

.unalome-imp-block strong {
	display: block;
	font-size: 0.8rem;
}

.unalome-imp-block span {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.8rem;
	color: #5c6478;
}

.unalome-imp-empty {
	border: 1px dashed #b1c2e1;
	border-radius: 6px;
	color: #5c6478;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	min-height: 72px;
}

.unalome-brochure-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.5rem;
	background: #f6f1ec;
	color: #3d342f;
	font-size: 0.85rem;
}

.unalome-brochure-toolbar a {
	color: #8a5a55;
}

.unalome-brochure-views a {
	margin-left: 0.5rem;
	text-decoration: none;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.72rem;
}

.unalome-brochure-views a.is-active {
	font-weight: 700;
	border-bottom: 1px solid #8a5a55;
}

.unalome-brochure {
	background: #f7f3ee;
	color: #2c2623;
}

.unalome-brochure-page {
	position: relative;
	max-width: 920px;
	min-height: 100vh;
	margin: 0 auto;
	padding: 2.5rem 2.75rem 3.5rem;
	background-color: #fbf8f4;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 20%;
	box-sizing: border-box;
}

.unalome-brochure-page--copertina {
	background-color: #e8ddd4;
	color: #2c2623;
}

.unalome-brochure-pagehead {
	margin-bottom: 1.75rem;
}

.unalome-brochure-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1.4rem 1.6rem;
	margin-bottom: 2rem;
	width: 100%;
	max-width: 100%;
}

.unalome-brochure-cell,
.unalome-brochure-rich,
.unalome-brochure-body {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-wrap: break-word;
	word-break: break-word;
}

.unalome-brochure-cell h1,
.unalome-brochure-cell h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
	color: #2c2623;
	line-height: 1.25;
}

.unalome-brochure-cell h1 {
	font-size: clamp(2.6rem, 6vw, 4rem);
	margin: 1.5rem 0 0.6rem;
}

.unalome-brochure-cell h2 {
	font-size: 1.35rem;
	margin: 0 0 0.85rem;
}

.unalome-brochure-cell p,
.unalome-brochure-cell li,
.unalome-brochure-cell h1,
.unalome-brochure-cell h2,
.unalome-brochure-rich p,
.unalome-brochure-rich li {
	line-height: 1.65;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

.unalome-brochure-covertext {
	max-width: 22rem;
	padding-top: 0.5rem;
}

.unalome-brochure-serie,
.unalome-brochure-mese,
.unalome-brochure-occhiello,
.unalome-brochure-boxlabel,
.unalome-brochure-brand {
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.72rem;
}

.unalome-brochure-mese {
	color: #c4897f;
	margin: 0.75rem 0 0;
}

.unalome-brochure-lead {
	font-family: Georgia, serif;
	font-style: italic;
	margin-top: 1.25rem;
}

.unalome-brochure-cell--citazione blockquote {
	margin: 0;
	padding-top: 0.25rem;
}

.unalome-brochure-marks {
	display: block;
	font-family: Georgia, serif;
	font-size: 3.5rem;
	line-height: 0.7;
	color: #e0b8b1;
}

.unalome-brochure-cell--citazione p {
	font-family: Georgia, serif;
	font-style: italic;
	font-size: 1.05rem;
}

.unalome-brochure-cell--immagine figure {
	margin: 0;
	height: 100%;
}

.unalome-brochure-cell--immagine img {
	width: 100%;
	height: 100%;
	min-height: 220px;
	object-fit: cover;
	display: block;
}

.unalome-brochure-cell--immagine figcaption {
	font-size: 0.75rem;
	color: #8a7a72;
	margin-top: 0.4rem;
}

.unalome-brochure-cell--elenco ul {
	margin: 0.75rem 0 0;
}

.unalome-brochure-note {
	color: #c4897f;
	font-family: Georgia, serif;
	font-style: italic;
}

.unalome-brochure-video {
	margin-top: 1rem;
	padding: 1.1rem;
	background: #d5dde6;
	min-height: 7rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.4rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
}

.unalome-brochure-video a,
.unalome-brochure-video em {
	color: #c4897f;
	font-style: normal;
	text-transform: none;
	letter-spacing: 0;
}

.unalome-brochure-box {
	background: #f0ddd8;
	padding: 2rem 1.6rem;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.unalome-brochure-question {
	font-family: Georgia, serif;
	font-style: italic;
	font-size: 1.55rem;
	line-height: 1.35;
	margin: 0.75rem 0 0;
}

.unalome-brochure-sign {
	font-family: Georgia, "Palatino Linotype", serif;
	font-style: italic;
	font-size: 1.35rem;
	margin: 1.5rem 0 0.2rem;
}

.unalome-brochure-foot {
	margin-top: 1.5rem;
}

.unalome-brochure--slide .unalome-brochure-page {
	display: none;
	min-height: calc(100vh - 110px);
}

.unalome-brochure--slide .unalome-brochure-page.is-active {
	display: block;
}

.unalome-brochure-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.25rem;
	padding: 1rem;
	background: #f6f1ec;
}

.unalome-brochure-nav button {
	border: 1px solid #c4b6ae;
	background: #fff;
	padding: 0.35rem 0.9rem;
	cursor: pointer;
}

@media (max-width: 768px) {
	.unalome-brochure-page {
		padding: 1.5rem 1.1rem 2.5rem;
	}
	.unalome-brochure-row {
		grid-template-columns: 1fr;
	}
	.unalome-brochure-cell {
		grid-column: 1 / -1 !important;
	}
}

.unalome-prenota__titolo,
.unalome-prenota__giorno {
	margin: 2rem 0 0.75rem;
}

.unalome-prenota__titolo:first-child,
.unalome-prenota__giorno:first-child {
	margin-top: 0;
}

.unalome-prenota__testo,
.unalome-prenota__regola {
	margin: 0 0 1rem;
}

.unalome-prenota__riassunto {
	list-style: none;
	margin: 0;
	padding: 0;
}

.unalome-prenota__riassunto li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-text) 12%, transparent);
}

.unalome-prenota__quando {
	margin: 0;
}

.unalome-prenota__vai {
	margin: 1rem 0 0;
}

.unalome-prenota--media .unalome-prenota__lista {
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}

.unalome-prenota--media .unalome-prenota__slot {
	flex-direction: column;
	align-items: flex-start;
}

.unalome-prenota__lista {
	display: grid;
	gap: 0;
}

.unalome-prenota__lista > .unalome-prenota__slot:last-child,
.unalome-prenota__mie-lista > .unalome-prenota__mia:last-child {
	border-bottom: none;
}

.unalome-prenota__slot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	background: transparent;
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-text) 12%, transparent);
}

.unalome-prenota__tipo {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.unalome-prenota__slot h3 {
	margin: 0.15rem 0;
}

.unalome-prenota__ora,
.unalome-prenota__posti {
	margin: 0;
}

.unalome-prenota__mie {
	margin-top: 3rem;
}

.unalome-prenota__mie-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.unalome-prenota__mia {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	background: transparent;
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-text) 12%, transparent);
}

.unalome-prenota__limite {
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
}

.unalome-prenota__stato {
	margin-left: 0.4rem;
}

.unalome-prenota__stato--richiesta {
	color: var(--unalome-primary);
}

.unalome-prenota__stato--confermata {
	color: #2f6f4e;
}

.unalome-prenota__stato--annullata {
	color: #8a3a3a;
}

@media (max-width: 640px) {
	.unalome-prenota__slot,
	.unalome-prenota__mia {
		flex-direction: column;
		align-items: flex-start;
	}
}

.unalome-pacchetti {
	padding: 2rem;
}

.unalome-page-cell:has(.unalome-pacchetti) {
	border-radius: var(--unalome-radius);
}

.unalome-pacchetti__titolo,
.unalome-pacchetti__tipo {
	margin: 0 0 0.35rem;
}

.unalome-pacchetti__tipo {
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.unalome-pacchetti__testo,
.unalome-pacchetti__corpo {
	margin: 0 0 1rem;
}

.unalome-pacchetti__riassunto {
	list-style: none;
	margin: 0;
	padding: 0;
}

.unalome-pacchetti__riassunto li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--unalome-text) 12%, transparent);
}

.unalome-pacchetti__vai {
	margin: 1rem 0 0;
}

.unalome-pacchetti__lista {
	display: grid;
	gap: 2rem;
}

.unalome-pacchetti__voce {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem 1.35rem;
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--unalome-text) 12%, transparent);
	border-radius: var(--unalome-radius);
}

.unalome-pacchetti__lista--affiancati {
	gap: 2rem;
}

.unalome-pacchetti__lista--affiancati .unalome-pacchetti__voce {
	flex-direction: column;
}

.unalome-pacchetti__voce h3 {
	margin: 0.15rem 0 0.4rem;
	font-family: var(--unalome-heading-font);
	color: var(--unalome-primary-dark);
}

.unalome-pacchetti__monte,
.unalome-pacchetti__validita,
.unalome-pacchetti__prezzo {
	margin: 0 0 0.35rem;
}

.unalome-pacchetti__lezioni {
	margin: 0.6rem 0 0.8rem;
	padding-left: 1.1rem;
}

.unalome-pacchetti__vuoto {
	margin: 0.5rem 0 0;
}

@media (max-width: 640px) {
	.unalome-pacchetti__voce {
		flex-direction: column;
	}
}
