@charset "UTF-8";
/* CSS Document */

/* ==========================================================================
   Holally / Core — Design tokens
   Fonte: Figma "Design System — Holally Core" (Proposta 3, consolidata)
   Vedi: 04_Design_UIUX/Homepage_UI_Figma_note.md nel progetto
   ========================================================================== */
:root {
	/* Palette primitiva */
	--color-sage: #738678;
	--color-sage-light: #B7C2B5;
	--color-ivory: #F6F2E9;
	--color-charcoal: #292F2A;
	--color-terracotta: #B96F57;
	--color-muted: #667168;

	/* Ruoli semantici */
	--color-surface: var(--color-ivory);
	--color-surface-alt: var(--color-sage-light);
	--color-ink: var(--color-charcoal);
	--color-accent: var(--color-terracotta);
	--color-accent-on: var(--color-ivory);
	--color-brand: var(--color-sage);

	/* Tipografia — Roboto Slab (display/heading), Lato (body/UI) */
	--font-display: 'Roboto Slab', serif;
	--font-body: 'Lato', sans-serif;
}



#container {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -50px;
}


html {
	position: relative;
	height: 100%;
	width:100%;
}

body {
	padding-left:0px;
	padding-right:0px;
	height: 100%;
	width:100%;
		color: var(--color-ink);
		background-color: var(--color-surface);
font-family: var(--font-body);

position: relative;
font-weight:400;
}

.container {
padding:0px;


}


.row {
    margin: 0px;
}


.pad0{padding:0px !important;}
.pad20{padding:20px !important;}
.pad50{padding:40px !important;}
.mar20{margin:20px !important;}
.sec{padding: 30px 0px 40px 0px;}

.zindex-top{z-index:100;}

#wrap {
  min-height: 100%;
  height: auto;
  /* Negative indent footer by its height */
  margin: 0 auto -180px;
  /* Pad bottom by footer height */
  padding: 0 0 180px;
}


.footer {
	
	min-height: 180px;
	height:auto;
  width: 100%;
  /* Set the fixed height of the footer here */
 
  
  border-corner:none;
  border:none;
  padding:50px;
		}  



.color-black{background-color:#000;}
.color-white {background-color:#fff;}
.color-dgrey {background-color:#75817c;}
.color-mgrey {background-color:#5d5c5c;}
.color-lgrey {background-color:#e2e3e4;}
.color-light {background-color:#d6eeee;}
.color-purple {background-color:#262262;}
.color-yellow {background-color:#fff348;}

.txt-black{color:#000;}
.txt-white {color:#fff;}
.txt-dgrey {color:#75817c;}
.txt-mgrey {color:#5d5c5c;}
.txt-lgrey {color:#e2e3e4;}
.txt-light {color:#d6eeee;}
.txt-purple {color:#262262;}
.txt-yellow {color:#fff348;}

.color-gradient-up{background: rgb(38,34,98);
background: linear-gradient(0deg, rgba(38,34,98,1) 0%, rgba(123,104,174,1) 100%);}
.color-gradient-dw{background: rgb(38,34,98);
background: linear-gradient(0deg, rgba(23,104,174,1) 0%, rgba(38,34,98,1) 100%);}

.color-deactive {background-color:#b9dbff;}
.txt-deactive {color:#85c1ff;}


section{ margin:0px;}

h1, h2, h3, h4, h5, h6{font-family: var(--font-display);
}
 p{font-family: var(--font-body);
}

.txt-xsmall{ font-size:11px;}
.light{font-weight:300;}
.regular{font-weight:400;}
.medium{font-weight:500;}
.bold{font-weight:700;}

.title-line{ margin-top:13px;}
a{ color: var(--color-accent); text-decoration:none;}
a:hover{ text-decoration:none; color: var(--color-ink);}

.nav-link:a{ color:#3d3b4e !important;text-decoration:none;}
.nav-link:hover{ text-decoration:none; color:#00a9a5 !important;}

.txt-white a:hover {color: #333;}
.txt-footer{text-decoration:none;}



.hr-scuro{ border-color:#262262; margin:30px 0px;}


.btn{border-radius:0px;  
font-family: var(--font-body);
text-transform:uppercase;
text-decoration:none !important;
}

.btn-large{
padding:10px 25px;
font-size:23px;
}

.btn-medium{
padding:25px 20px;
font-size:19px;
}

.btn-small{
padding:4px 15px;
font-size:12px;
}

.btn-white{ border:3px solid #FFF; background-color:transparent; color:#ed0f69; }
.btn-white:hover{ border:3px solid #FFF; background-color:#fed400; color:#ed0f69;}

.btn-yellow{ border:none; background-color:#fff348; color:#262262; }
.btn-yellow:hover{ border:none; background-color:#5d5c5c; color:#fff348;}

.btn-yellow-border{ border:2px solid #fff348; background-color: transparent; color:#fff348; }
.btn-purple-border{ border:2px solid #262262; background-color: transparent; color:#262262; }
.btn-yellow-border:hover{ border:2px solid #fff; background-color: transparent; color:#fff; }
.btn-purple-border:hover{ border:2px solid #000; background-color: transparent; color:#000; }

.ftitle{font-family: var(--font-display);}



.btn-transparent{border:none;
background-color:transparent;}





.box-slideshow-top{
background: linear-gradient(to bottom, rgba(160,158,172,1) 0%, rgba(236,235,239,1) 81%, rgba(236,235,239,0) 100%);
}
.txt-shadow{text-shadow: 0 1px 2px rgba(0,0,0,.6);}


.ul-list-1 {
  list-style-image: url('../img/ico/bullet-color.svg');
  font-size:16px;
  }



@media (max-width: 575.98px) {
.line-100{ height:100%; padding:0px;}
.line-l{ height:auto; min-height:500px; padding:0px;}
.line-m{ height:auto; min-height:200px; padding:0px;}
.line-m2{ height:auto; min-height:300px; padding:0px;}
.line-s{ height:auto; min-height:60px; padding:0px;}

.logo-big {max-width:250px; width:100%;}
.logo-small {max-width:140px; width:100%;}
.logo-footer {max-width:100px; width:90%;}

.pnegative{ margin-top:0px;}
.footer {padding:50px 0px 100px ;}

.btn-large{
font-size:14px;
}


.menu-footer{font-size:12px;}
.txt-footer{font-size:11px; line-height:14px;}

h1{font-size:42px;line-height:46px;}
h2{font-size:30px;line-height:34px;}
h3{font-size:25px;line-height:28px;}
h4{font-size:18px;line-height:22px;}
h5{font-size:14px;line-height:18px;}
h6{font-size:12px;line-height:17px;}
p{font-size:15px; line-height:20px;}

.txt-note{ font-size:14px; line-height:auto;}
.txt-large{ font-size:45px; line-height:auto;}
}

@media (min-width: 576px) {
.line-100{ height:100%; padding:0px;}
.line-l{ height:auto; min-height:500px; padding:0px;}
.line-m{ height:auto; min-height:200px; padding:0px;}
.line-m2{ height:auto; min-height:300px; padding:0px;}
.line-s{ height:auto; min-height:60px; padding:0px;}


.logo-big {max-width:250px; width:100%;}
.logo-small {max-width:140px; width:100%;}
.logo-footer {max-width:100px; width:90%;}

.footer {padding:50px 0px 100px ;}


.ico-big{ width:100px;}
.ico-medium{ width:100px;}
.ico-small{ width:30px;}
.ico-xsmall{ width:16px;}



.menu-footer{font-size:12px;}
.txt-footer{font-size:11px; line-height:14px;}

h1{font-size:42px;line-height:46px;}
h2{font-size:30px;line-height:34px;}
h3{font-size:25px;line-height:28px;}
h4{font-size:18px;line-height:22px;}
h5{font-size:14px;line-height:18px;}
h6{font-size:12px;line-height:17px;}
p{font-size:15px; line-height:20px;}

.txt-note{ font-size:14px; line-height:auto;}
.txt-large{ font-size:45px; line-height:auto;}



}
@media (min-width: 768px) {




}


@media (min-width: 992px) {

}

@media (min-width: 1200px) {
	

}

.lang-item {
    list-style: none;
	display: inline;
    margin-bottom: 0px;
}


/* ==========================================================================
   Coming soon (front page temporanea)
   ========================================================================== */
.coming-soon-page {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--color-surface);
	padding: 2.5rem 1.5rem;
}

.coming-soon-inner {
	max-width: 34rem;
	margin: 0 auto;
}

.coming-soon-logo {
	width: 70%;
	max-width: 220px;
	height: auto;
	margin: 0 auto 1.75rem;
	display: block;
}

.coming-soon-badge {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-ink);
	border: 1px solid var(--color-ink);
	border-radius: 999px;
	padding: 0.4rem 1.1rem;
	margin-bottom: 1.25rem;
}

.coming-soon-tagline {
	font-family: var(--font-body);
	color: var(--color-ink);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 auto;
}

.coming-soon-tagline--en {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	font-style: italic;
}

@media (min-width: 768px) {
	.coming-soon-logo {
		max-width: 300px;
		margin-bottom: 2rem;
	}

	.coming-soon-tagline {
		font-size: 1.125rem;
	}
}

/* ==========================================================================
   Navbar pubblica (header.php)
   Contenuti/colori allineati al file Figma (Core/Header/Public, id 341:36).
   ========================================================================== */
.holally-navbar-wrapper {
	position: relative;
	z-index: 1030;
}

.holally-navbar {
	background-color: var(--color-surface);
	padding-top: 2rem;
	padding-bottom: 2rem;
}

/*
 * Barra a piena larghezza (nessun .container Bootstrap): il padding
 * orizzontale sostituisce il max-width del container e cresce con il
 * viewport, fino ai 72px usati su Figma da desktop in su.
 */
.holally-navbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

@media (min-width: 576px) {
	.holally-navbar-inner {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 992px) {
	.holally-navbar-inner {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}

/*
 * Menu completo da 1200px in su (navbar-expand-xl): sotto, le 7 voci più
 * lingua, "Accedi" e "Registrati" non stanno in una riga (a 992px il
 * pulsante usciva dallo schermo) e si usa il menu a tendina.
 */
@media (min-width: 1200px) {
	/*
	 * Logo e azioni si dividono lo spazio rimanente in parti uguali
	 * (flex: 1 1 0) restando ciascuno ancorato al proprio lato; il menu
	 * (flex: 0 0 auto) resta così centrato esattamente, indipendentemente
	 * dalla larghezza diversa di logo e azioni.
	 */
	.holally-navbar-logo {
		flex: 1 1 0;
	}

	.holally-navbar-menu {
		flex: 0 0 auto;
		justify-content: center;
	}

	.holally-navbar-actions {
		flex: 1 1 0;
		justify-content: flex-end;
	}
}

.holally-navbar-logo img {
	height: 30px;
	width: auto;
}

.holally-footer-logo img {
	height: 40px;
	width: auto;
}

.holally-navbar .navbar-nav .nav-link,
.holally-offcanvas .navbar-nav .nav-link {
	color: var(--color-ink);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	padding: 0.5rem 0.75rem;
}

/*
 * Stato hover/focus/active dei link di menu: evitiamo un cambio di solo
 * colore, perche' il terracotta (--color-accent) su ivory non supera il
 * contrasto 4.5:1 richiesto per il testo normale (misurato ~3.43:1).
 * Sottolineatura + grassetto restano percepibili anche a chi non distingue
 * bene le differenze cromatiche.
 */
.holally-navbar .navbar-nav .nav-link:hover,
.holally-navbar .navbar-nav .nav-link:focus-visible,
.holally-navbar .navbar-nav .nav-link.active,
.holally-offcanvas .navbar-nav .nav-link:hover,
.holally-offcanvas .navbar-nav .nav-link:focus-visible,
.holally-offcanvas .navbar-nav .nav-link.active {
	color: var(--color-ink);
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.holally-navbar-actions,
.holally-offcanvas-actions {
	font-family: var(--font-body);
}

.holally-navbar-link {
	color: var(--color-ink);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
}

.holally-navbar-link:hover,
.holally-navbar-link:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	color: var(--color-ink);
}

.holally-offcanvas {
	background-color: var(--color-surface);
	max-width: 320px;
}

.holally-offcanvas .offcanvas-title {
	font-family: var(--font-display);
	color: var(--color-ink);
}

/* ==========================================================================
   Bottoni pillola (CTA header/offcanvas)
   ========================================================================== */
.btn-holally-primary,
.btn-holally-outline {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	padding: 0.875rem 1.375rem;
	border-radius: 999px;
	white-space: nowrap;
	transition: box-shadow 0.15s ease-in-out, background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

/*
 * Il pulsante "Registrati" su Figma è disegnato con sfondo --color-accent
 * (terracotta) e testo --color-accent-on (ivory): quella coppia misura
 * ~3.43:1, sotto il minimo 4.5:1 per testo normale (anche in grassetto a
 * 14px, sotto la soglia dei 18.66px richiesta per il testo "grande").
 * Manteniamo quindi il riempimento in --color-ink (~12:1 su ivory), la
 * stessa sostituzione già applicata al bottone primario in precedenza.
 */
.btn-holally-primary {
	background-color: var(--color-ink);
	color: var(--color-accent-on);
	border: 1px solid var(--color-ink);
}

.btn-holally-primary:hover,
.btn-holally-primary:focus-visible {
	background-color: var(--color-ink);
	color: var(--color-accent-on);
	box-shadow: inset 0 0 0 2px var(--color-terracotta);
}

.btn-holally-outline {
	background-color: transparent;
	color: var(--color-ink);
	border: 1px solid var(--color-ink);
}

.btn-holally-outline:hover,
.btn-holally-outline:focus-visible {
	background-color: var(--color-ink);
	color: var(--color-accent-on);
}

.btn-holally-primary:focus-visible,
.btn-holally-outline:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 2px;
}

@media (max-width: 1199.98px) {
	.holally-navbar-actions {
		display: none;
	}
}

/* ==============================================================================
   Footer pubblico (footer.php)
   Contenuti/colori allineati al file Figma (frame "Come funziona / Footer",
   id 333:46): sfondo ivory, 4 colonne, divider e riga finale con lingua.
   ============================================================================== */
.holally-footer {
	background-color: var(--color-surface);
	color: var(--color-ink);
	padding-top: 3.75rem;
	padding-bottom: 2.75rem;
}

/* Piena larghezza (nessun .container Bootstrap), stesso padding della navbar. */
.holally-footer-inner {
	width: 100%;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

@media (min-width: 576px) {
	.holally-footer-inner {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 992px) {
	.holally-footer-inner {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}

.holally-footer-tagline {
	font-family: var(--font-body);
	/*
	 * Su Figma questo testo è --color-sage (#738678) su sfondo ivory:
	 * misura ~3.48:1, sotto il minimo 4.5:1 per testo normale a 14px.
	 * Usiamo --color-ink, stessa sostituzione già applicata altrove.
	 */
	color: var(--color-ink);
	margin-top: 0.625rem;
	max-width: 26rem;
	font-size: 0.875rem;
}

.holally-footer-heading {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--color-ink);
	margin-bottom: 0.5rem;
}

.holally-footer-links {
	font-family: var(--font-body);
	font-size: 0.8125rem;
}

.holally-footer-links li {
	margin-bottom: 0.5rem;
}

.holally-footer-links a {
	/* Stessa sostituzione della tagline: --color-ink invece di --color-sage. */
	color: var(--color-ink);
	text-decoration: none;
}

/*
 * Stato hover/focus: sottolineatura, non solo cambio di colore, per lo stesso
 * motivo di contrasto già applicato a navbar e badge "In arrivo".
 */
.holally-footer-links a:hover,
.holally-footer-links a:focus-visible {
	text-decoration: underline;
}

.holally-footer-divider {
	border-top: 2px solid var(--color-ink);
	margin: 2.75rem 0 1.75rem;
	opacity: 1;
}

.holally-footer-bottom {
	font-family: var(--font-body);
	font-size: 0.75rem;
}

.holally-footer-bottom p:first-child {
	color: var(--color-muted);
	margin-bottom: 0;
}

.holally-footer-lang {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.75rem;
	text-transform: uppercase;
	color: var(--color-ink);
}

.holally-footer-lang a {
	color: var(--color-ink);
	text-decoration: none;
}

.holally-footer-lang a:hover,
.holally-footer-lang a:focus-visible {
	text-decoration: underline;
}

.holally-footer a:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 2px;
}

/* ==========================================================================
   Pagine editoriali (Come funziona, e a seguire Chi siamo / Contatti)
   Layout = griglia e utility Bootstrap 5 nel markup. Qui SOLO cio' che
   Bootstrap non copre: token Figma, tipografia, colori, raggi, decorazioni.
   ========================================================================== */
:root {
	--color-terracotta-300: #D8A18E;
	--color-ivory-100: #EAE3D7;

	/*
	 * Varianti accessibili (scostamento consapevole da Figma, come gia' fatto
	 * per navbar/footer): alcune coppie del file non arrivano a 4.5:1.
	 *   ivory su terracotta #B96F57 = 3.43:1 -> #9F5A43 = 4.68:1
	 *   ivory su sage #738678       = 3.47:1 -> #5F7064 = 4.71:1
	 *   terracotta su ivory (12px)  = 3.43:1 -> #96533E = 5.22:1
	 * Per tornare ai colori esatti di Figma basta cambiare questi 3 token.
	 */
	--color-terracotta-strong: #9F5A43;
	--color-terracotta-text: #96533E;
	--color-sage-strong: #5F7064;
}

/*
 * Il tema azzera globalmente .row { margin: 0 } (regola storica in cima a
 * questo file): dentro le pagine nuove ripristiniamo il comportamento
 * standard di Bootstrap, altrimenti i gutter g-* sfalsano l'allineamento.
 */
.holally-page .row {
	margin-top: calc(-1 * var(--bs-gutter-y));
	margin-right: calc(-.5 * var(--bs-gutter-x));
	margin-left: calc(-.5 * var(--bs-gutter-x));
}

/*
 * Stesso margine laterale di header/footer (72px da desktop, come Figma) e
 * larghezza massima 1440px centrata: sugli schermi piu' larghi il contenuto
 * delle sezioni resta compatto, mentre gli sfondi occupano tutta la larghezza.
 * Header, hero e footer restano invece a piena larghezza (.holally-wrap--full).
 */
.holally-wrap {
	max-width: 90rem; /* 1440px margini compresi, come il frame Figma */
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* Hero: stesso padding laterale, ma senza limite di larghezza. */
.holally-wrap.holally-wrap--full {
	max-width: none;
}

@media (min-width: 576px) {
	.holally-wrap { padding-left: 2rem; padding-right: 2rem; }
}

@media (min-width: 992px) {
	.holally-wrap { padding-left: 4.5rem; padding-right: 4.5rem; }
}

/* --- Tipografia (Core/Typography) --------------------------------------- */
.holally-eyebrow {
	font-family: var(--font-body);
	font-size: 0.75rem;
	line-height: 1.125rem;
}

.holally-h1, .holally-h2, .holally-h3, .holally-h4, .holally-h5 {
	font-family: var(--font-display);
	font-weight: 700;
}

.holally-h1 { font-size: 2.25rem;  line-height: 2.5rem; }   /* 54/56 desktop */
.holally-h2 { font-size: 2rem;     line-height: 2.375rem; } /* 46/50 desktop */
.holally-h3 { font-size: 1.625rem; line-height: 2rem; }     /* 30/36 desktop */
.holally-h4 { font-size: 1.375rem; line-height: 1.75rem; }  /* 22/28 */
.holally-h5 { font-size: 1.125rem; line-height: 1.5rem; }   /* 18/24 */

@media (min-width: 992px) {
	.holally-h1 { font-size: 3.375rem; line-height: 3.5rem; }
	.holally-h2 { font-size: 2.875rem; line-height: 3.125rem; }
	.holally-h3 { font-size: 1.875rem; line-height: 2.25rem; }
}

.holally-body-lg, .holally-body, .holally-body-sm { font-family: var(--font-body); }
.holally-body-lg { font-size: 1.0625rem; line-height: 1.75rem; }  /* 18/30 desktop */
.holally-body    { font-size: 1rem;      line-height: 1.625rem; } /* 16/26 */
.holally-body-sm { font-size: 0.875rem;  line-height: 1.375rem; } /* 14/22 */

@media (min-width: 992px) {
	.holally-body-lg { font-size: 1.125rem; line-height: 1.875rem; }
}

.holally-text-muted { color: var(--color-muted); }

/* --- Bottoni (Core/Button): varianti accent e chiara -------------------- */
.btn-holally-primary,
.btn-holally-outline,
.btn-holally-accent,
.btn-holally-light {
	text-transform: none; /* la regola globale .btn del tema forza il maiuscolo, Figma no */
}

.btn-holally-accent,
.btn-holally-light {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	padding: 0.75rem 1.375rem;
	min-width: 10rem;
}

.btn-holally-accent {
	--bs-btn-bg: var(--color-terracotta-strong);
	--bs-btn-border-color: var(--color-terracotta-strong);
	--bs-btn-color: var(--color-ivory);
	--bs-btn-hover-bg: var(--color-ink);
	--bs-btn-hover-border-color: var(--color-ink);
	--bs-btn-hover-color: var(--color-ivory);
	--bs-btn-active-bg: var(--color-ink);
	--bs-btn-active-color: var(--color-ivory);
}

.btn-holally-light {
	--bs-btn-bg: var(--color-sage-light);
	--bs-btn-border-color: var(--color-sage-light);
	--bs-btn-color: var(--color-ink);
	--bs-btn-hover-bg: var(--color-ivory);
	--bs-btn-hover-border-color: var(--color-ivory);
	--bs-btn-hover-color: var(--color-ink);
	--bs-btn-active-bg: var(--color-ivory);
	--bs-btn-active-color: var(--color-ink);
}

.holally-page .btn-holally-primary { min-width: 10rem; }

/* --- 1. Hero Secondary (Figma 330:23) ----------------------------------- */
.holally-hero-secondary { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-hero-secondary .holally-eyebrow { color: var(--color-ink); } /* terracotta su sage: 2.08:1 */

.holally-hero-secondary__photo {
	aspect-ratio: 500 / 340;
	object-fit: cover;
	border-radius: 46% 54% 42% 58% / 40% 44% 56% 60%; /* forma organica */
}

.holally-sticker {
	left: -0.375rem;
	top: 68%;
	width: 7.35rem;
	padding: 0.65rem;
	font-family: var(--font-display);
	font-size: 0.72rem;
	line-height: 0.825rem;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 0.72rem;
	box-shadow: 0 0.36rem 0.86rem rgba(31, 26, 20, 0.13);
	transform: rotate(5deg);
}

@media (min-width: 992px) {
	.holally-hero-secondary .row { min-height: 20rem; }
}

/* --- 2. Percorsi (Figma 332:4) ------------------------------------------ */
.holally-percorsi { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-percorsi .holally-eyebrow { color: var(--color-terracotta-300); }

.holally-journey { border-radius: 1.75rem; color: var(--color-ink); scroll-margin-top: 1.5rem; }
.holally-journey--famiglie { background-color: var(--color-sage-light); }
.holally-journey--helper   { background-color: var(--color-ivory); }
.holally-journey--famiglie .holally-journey__lead { color: var(--color-ink); } /* grigio su sage: 2.76:1 */
.holally-journey--helper   .holally-journey__lead { color: var(--color-muted); }

.holally-step { border-radius: 1.125rem; }

.holally-step__number {
	width: 3.25rem;
	height: 3.25rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--color-ivory);
}

.holally-journey--famiglie .holally-step__number { background-color: var(--color-terracotta-strong); }
.holally-journey--helper   .holally-step__number { background-color: var(--color-ink); }

@media (min-width: 992px) {
	.holally-journey { padding: 2rem !important; min-height: 48.4375rem; } /* 775px come Figma */
	.holally-step { min-height: 9.25rem; }                                 /* 148px come Figma */
}

/* --- 3. Premium (Figma 332:53) ------------------------------------------ */
.holally-premium { background-color: var(--color-sage-strong); color: var(--color-ivory); }
.holally-premium .holally-eyebrow { color: var(--color-ivory); }

.holally-premium__box {
	background-color: var(--color-ivory);
	color: var(--color-ink);
	border-radius: 1.75rem;
	padding: 1.75rem !important;
}

.holally-checklist { font-family: var(--font-body); font-size: 1rem; line-height: 1.625rem; }
.holally-checklist li::before { content: "\2713\00a0"; }

/* --- 4. FAQ (Figma 333:5) ----------------------------------------------- */
.holally-faq { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-faq .holally-eyebrow { color: var(--color-terracotta-text); }

.holally-faq__badge {
	width: 15.625rem;
	padding: 1.25rem 1.375rem;
	background-color: var(--color-sage-light);
	border-radius: 1.75rem;
	font-family: var(--font-display);
	font-size: 1rem;
	line-height: 1.375rem;
	transform: rotate(2deg);
}

.holally-faq__item { border-radius: 1.125rem; padding: 1.5rem 1.625rem !important; }

.holally-faq__index {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 1.75rem;
	color: var(--color-terracotta); /* 22px bold = testo grande, 3.84:1 su bianco: ok */
}

@media (min-width: 992px) {
	.holally-faq__item { min-height: 9.25rem; }
}

/* --- 5. CTA pubblica (Figma 333:28) ------------------------------------- */
.holally-cta { background-color: var(--color-sage-strong); color: var(--color-ivory); }
.holally-cta .holally-eyebrow { color: var(--color-ivory); } /* terracotta chiaro su sage: 1.74:1 */

.holally-cta__text {
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.75rem;
	max-width: 43.75rem;
}

.holally-cta__box {
	width: 100%;
	max-width: 21.25rem;
	min-height: 13.75rem;
	padding: 1.875rem;
	background-color: var(--color-ink);
	color: var(--color-ivory);
	border-radius: 1.125rem 5rem 1.125rem 5rem;
	font-family: var(--font-display);
	font-size: 1.625rem;
	line-height: 2rem;
	transform: rotate(-4deg);
}

@media (min-width: 992px) {
	.holally-cta__box { font-size: 1.875rem; line-height: 2.25rem; }
}

/* --- 6. Newsletter (Figma 333:40) --------------------------------------- */
.holally-newsletter { background-color: var(--color-terracotta); color: var(--color-ink); }

.holally-newsletter__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.5rem; /* 24px bold = testo grande: ink su terracotta 3.57:1, ok */
	line-height: 1.875rem;
}

.holally-newsletter__form {
	max-width: 31.25rem;
	min-height: 3.625rem;
	padding: 0.375rem 0.375rem 0.375rem 1.125rem;
	background-color: #fff;
	border-radius: 1.25rem;
}

.holally-newsletter__form .form-control { font-size: 0.875rem; padding-left: 0; }
.holally-newsletter__form .form-control::placeholder { color: var(--color-muted); }
.holally-newsletter__form:focus-within { box-shadow: 0 0 0 2px var(--color-ink); }

/* ==========================================================================
   Pagina Chi siamo (page-chi-siamo.php) — Figma 342:5
   ========================================================================== */
:root {
	--color-forest: #1C4E43;          /* testo "verde bosco" della pagina Chi siamo */
	--color-sage-soft: #CFDBCD;       /* fondo sezione co-founder e riquadro impegno */
	--color-mint: #E2EADF;            /* cerchi icona */
	--color-peach: #E2A589;           /* cerchio icona evidenziato */
	/*
	 * Etichette "LA NOSTRA STORIA" ecc.: su Figma #B96557 (3.71:1 su ivory,
	 * 2.9:1 sul verde chiaro) -> scurito a #8A4A36 (6.04:1 e 4.71:1).
	 */
	--color-terracotta-deep: #8A4A36;
	--font-hand: 'Caveat', cursive;
}

.holally-text-forest { color: var(--color-forest); }

.holally-handwritten {
	font-family: var(--font-hand);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.12;
	color: var(--color-forest);
}

.holally-label {
	font-family: var(--font-body);
	font-size: 0.8125rem;
	line-height: 1.2;
	color: var(--color-terracotta-deep);
}

.holally-role {
	font-family: var(--font-body);
	font-size: 0.75rem;
	line-height: 1.2;
	color: var(--color-forest);
}

.holally-h2-alt,
.holally-h3-alt {
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-forest);
}

.holally-h2-alt { font-size: 2rem; }     /* 42px desktop */
.holally-h3-alt { font-size: 1.75rem; }  /* 34px desktop */

@media (min-width: 992px) {
	.holally-h2-alt { font-size: 2.625rem; }
	.holally-h3-alt { font-size: 2.125rem; }
}

/* Hero: citazione a mano ruotata, foto con proporzioni del Figma */
.holally-hero-secondary__quote {
	font-size: 1.5rem;
	line-height: 1.1;
	transform: rotate(-4.3deg);
	transform-origin: left center;
}

@media (min-width: 992px) {
	.holally-hero-secondary__quote { font-size: 1.6875rem; }
}

.holally-page--chi-siamo .holally-hero-secondary__photo {
	aspect-ratio: 567 / 349;
	border-radius: 38% 62% 44% 56% / 34% 30% 70% 66%;
}

/* La nostra storia (founder) */
.holally-storia { background-color: var(--color-ivory); }

.holally-portrait { object-fit: cover; }

@media (max-width: 991.98px) {
	.holally-portrait { max-width: 22rem; } /* su mobile la foto non occupa tutto lo schermo */
}
.holally-portrait--founder   { aspect-ratio: 350 / 440; border-radius: 1.75rem; }
.holally-portrait--cofounder { aspect-ratio: 340 / 320; border-radius: 2.625rem; }

.holally-prose p {
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.45;
	color: var(--color-forest);
	margin-bottom: 1.125rem;
}

.holally-prose p:last-child { margin-bottom: 0; }

.holally-founder-quote__mark {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 4.125rem;
	line-height: 1;
	color: var(--color-forest);
	height: 3.5rem;
}

.holally-founder-quote blockquote { font-size: 1.625rem; }

/* Il tema imposta p { font-family/size } in globale: il testo dentro la citazione eredita dal blockquote. */
.holally-handwritten p {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.holally-founder-quote__name { font-size: 1.5625rem; line-height: 1.1; }

@media (min-width: 992px) {
	.holally-founder-quote { padding-top: 1.5rem; }
}

/* La co-founder */
.holally-cofounder { background-color: var(--color-sage-soft); }

.holally-cofounder__phrase { font-size: 1.6875rem; line-height: 1.1; }

.holally-cofounder__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.15;
	color: var(--color-forest);
}

.holally-cofounder__quote {
	font-family: var(--font-body);
	font-size: 1.25rem;
	line-height: 1.45;
	color: var(--color-forest);
}

/* I nostri valori */
.holally-valori { background-color: var(--color-ivory); }

.holally-icon-circle {
	width: 4rem;
	height: 4rem;
	background-color: var(--color-mint);
	color: var(--color-forest);
}

.holally-icon-circle--accent { background-color: var(--color-peach); }
.holally-icon-circle--light  { background-color: var(--color-mint); }

.holally-icon-circle .material-symbols-rounded {
	font-size: 1.875rem;
	line-height: 1;
}

.holally-value { max-width: 16.25rem; }

.holally-value__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.15;
	color: var(--color-forest);
}

/* Il nostro impegno */
.holally-impegno { background-color: var(--color-ivory); }

.holally-impegno__panel {
	background-color: var(--color-sage-soft);
	border-radius: 1.75rem;
}

@media (min-width: 992px) {
	.holally-impegno__panel { padding: 2.625rem 2.25rem !important; }
}

.holally-impegno__phrase { font-size: 1.5625rem; line-height: 1.1; }

/* ==========================================================================
   Hero Minimal (partial/hero-minimal.php) — Figma 344:88
   ========================================================================== */
.holally-hero-minimal { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-hero-minimal .holally-eyebrow { color: var(--color-terracotta-text); } /* terracotta #B96F57 su ivory: 3.43:1 */

.holally-h6 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.375rem;
}

/* ==========================================================================
   Pagina Prezzi (page-prezzi.php) — Figma 344:67
   ========================================================================== */
.holally-piani { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-piani .holally-eyebrow { color: var(--color-terracotta-300); }

.holally-plan-intro { border-radius: 1.75rem; padding: 1.5rem 1.75rem !important; }
/* Figma: grigio #667168 su salvia = 2.76:1 -> inchiostro */
.holally-plan-intro--sage { background-color: var(--color-sage-light); color: var(--color-ink); }
/* Figma: ivory su terracotta #B96F57 = 3.43:1 -> terracotta scurito (4.68:1) */
.holally-plan-intro--terracotta { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }

.holally-plan {
	background-color: var(--color-ivory);
	color: var(--color-ink);
	border-radius: 1.75rem;
	padding: 1.5rem 1.75rem !important;
	gap: 1.125rem !important;
}

.holally-plan__price {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.625rem;
	line-height: 2.125rem;
	/* 30px bold = testo grande: terracotta su ivory 3.43:1 supera la soglia 3:1 */
	color: var(--color-terracotta);
}

@media (min-width: 992px) {
	.holally-plan__price { font-size: 1.875rem; line-height: 2.25rem; }
	.holally-plan-intro,
	.holally-plan { min-height: 18.75rem; } /* 300px come Figma */
}

.holally-plan__features {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.625rem;
	color: var(--color-muted);
}

.holally-plan__features li::before { content: "\2022\00a0"; }

.holally-plan .btn { min-width: 10rem; }

/* Perche' Holally */
.holally-perche { background-color: var(--color-sage-light); color: var(--color-ink); }

.holally-benefit {
	background-color: var(--color-ivory);
	border-radius: 1.125rem;
	padding: 1.5rem 1.375rem !important;
}

@media (min-width: 992px) {
	.holally-benefit { min-height: 13.125rem; } /* 210px come Figma */
}

.holally-benefit__icon { color: var(--color-terracotta); line-height: 1; }
.holally-benefit__icon .material-symbols-rounded { font-size: 1.875rem; }

/* FAQ prezzi */
.holally-faq-prezzi { background-color: var(--color-ivory); color: var(--color-ink); }

.holally-faq-card {
	border-radius: 0.875rem;
	padding: 1.125rem 1.375rem;
}

@media (min-width: 992px) {
	.holally-faq-card { min-height: 6.5625rem; } /* 105px come Figma */
}

/* ==========================================================================
   Pagina FAQ (page-faq.php) — Figma 345:133
   Schede = .nav-pills Bootstrap, domande = .accordion Bootstrap.
   ========================================================================== */
.holally-faq-page { background-color: var(--color-ivory); color: var(--color-ink); }

.holally-faq-tabs {
	--bs-nav-pills-link-active-bg: var(--color-ink);
	--bs-nav-pills-link-active-color: #fff;
	--bs-nav-link-color: var(--color-ink);
	--bs-nav-link-hover-color: var(--color-ink);
	--bs-nav-link-font-weight: 700;
	--bs-nav-link-padding-x: 1.5rem;
	--bs-nav-link-padding-y: 0.875rem;
	font-family: var(--font-body);
	font-size: 1rem;
}

.holally-faq-tabs .nav-link { background-color: #fff; line-height: 1.2; }
.holally-faq-tabs .nav-link:hover:not(.active) { text-decoration: underline; }
.holally-faq-tabs .nav-link:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; box-shadow: none; }

.holally-faq-page__title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.2;
}

@media (min-width: 992px) {
	.holally-faq-page__title { font-size: 2.25rem; }
}

.holally-accordion {
	--bs-accordion-bg: #fff;
	--bs-accordion-border-width: 0;
	--bs-accordion-border-radius: 1rem;
	--bs-accordion-inner-border-radius: 1rem;
	--bs-accordion-btn-color: var(--color-ink);
	--bs-accordion-active-color: var(--color-ink);
	--bs-accordion-active-bg: #fff;
	--bs-accordion-btn-focus-box-shadow: 0 0 0 2px var(--color-ink);
	--bs-accordion-btn-padding-x: 1.5rem;
	--bs-accordion-btn-padding-y: 1.125rem;
	--bs-accordion-body-padding-x: 1.5rem;
	--bs-accordion-body-padding-y: 0;
}

.holally-accordion .accordion-item { border-radius: 1rem; overflow: hidden; }

.holally-accordion .accordion-button {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 1.0625rem;
	box-shadow: none;
}

.holally-accordion .accordion-body {
	padding-bottom: 1.125rem;
	font-family: var(--font-body);
	font-size: 0.9375rem;
	line-height: 1.5;
	/* Figma: salvia #738678 su bianco = 3.9:1 -> grigio #667168 (5.09:1) */
	color: var(--color-muted);
}

/* Non trovi la risposta? */
.holally-help { background-color: var(--color-ink); color: var(--color-ivory); }

/* ==========================================================================
   Pagina Contatti (Figma 346:196)
   ========================================================================== */

.holally-page--contatti .holally-hero-secondary__photo {
	aspect-ratio: 520 / 320;
	border-radius: 44% 56% 40% 60% / 48% 42% 58% 52%;
}

/* Informazioni + modulo */
.holally-contatti { background-color: var(--color-ivory); color: var(--color-ink); }

.holally-contact-info {
	background-color: var(--color-ink);
	color: var(--color-ivory);
	border-radius: 1.75rem;
}
.holally-contact-info .holally-eyebrow { color: var(--color-terracotta-300); }
.holally-contact-info a { color: var(--color-ivory); text-underline-offset: 0.2em; }
.holally-contact-info a:hover { color: var(--color-terracotta-300); }

.holally-contact-form { border-radius: 1.75rem; color: var(--color-ink); }

.holally-form .holally-field + .holally-field { margin-top: 1.125rem; }
.holally-form .form-label {
	margin-bottom: 0.5rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.holally-form .wpcf7-form-control-wrap { display: block; }
.holally-form .form-control {
	padding: 0.875rem 1.125rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	line-height: 1.375rem;
	color: var(--color-ink);
	background-color: var(--color-ivory);
	border: 1px solid transparent;
	border-radius: 999px;
}
.holally-form textarea.form-control { min-height: 10.875rem; border-radius: 1.125rem; resize: vertical; }
.holally-form .form-control::placeholder { color: var(--color-muted); opacity: 1; }
.holally-form .form-control:focus {
	background-color: var(--color-ivory);
	border-color: var(--color-ink);
	box-shadow: 0 0 0 1px var(--color-ink);
}

.holally-form .holally-field--privacy { margin-top: 1.25rem; font-family: var(--font-body); font-size: 0.875rem; line-height: 1.375rem; }
.holally-form .wpcf7-list-item { margin: 0; }
.holally-form .wpcf7-list-item label { display: flex; gap: 0.625rem; align-items: flex-start; }
.holally-form input[type="checkbox"] { flex: 0 0 auto; width: 1.125rem; height: 1.125rem; margin-top: 0.125rem; accent-color: var(--color-terracotta-strong); }
.holally-form a { color: var(--color-terracotta-text); }

.holally-form .wpcf7-submit { margin-top: 1.5rem; min-width: 10rem; }
.holally-form .wpcf7-submit:disabled { opacity: 0.55; }
.holally-form .wpcf7-spinner { vertical-align: middle; margin: 1.5rem 0 0 0.75rem; }

/* Messaggi di errore e di conferma (rosso #A3332A su bianco: 6.4:1) */
.holally-form .wpcf7-not-valid { border-color: #A3332A; }
.holally-form .wpcf7-not-valid-tip { margin-top: 0.375rem; font-size: 0.8125rem; color: #A3332A; }
.holally-form .wpcf7-response-output {
	margin: 1.5rem 0 0 !important;
	padding: 0.875rem 1.125rem !important;
	font-family: var(--font-body);
	font-size: 0.875rem;
	border-width: 2px !important;
	border-radius: 1rem;
}

/* Rassicurazioni (riquadro .holally-benefit condiviso con Prezzi) */
.holally-rassicurazioni { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-page--contatti .holally-benefit { border-radius: 1.75rem; padding: 1.75rem 1.5rem !important; }

@media (min-width: 992px) {
	.holally-page--contatti .holally-benefit { min-height: 13.75rem; } /* 220px come Figma */
}

/* ==========================================================================
   Pagine legali (Privacy, Termini, Cookie policy) — template page-legale.php
   ========================================================================== */

.holally-legale { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-legale__testo { font-family: var(--font-body); font-size: 1rem; line-height: 1.625rem; }
.holally-legale__testo h2 {
	margin: 2.5rem 0 0.75rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 1.75rem;
}
.holally-legale__testo h3 { margin: 1.75rem 0 0.5rem; font-family: var(--font-body); font-weight: 700; font-size: 1.0625rem; }
.holally-legale__testo p, .holally-legale__testo ul, .holally-legale__testo ol { margin-bottom: 1rem; }
.holally-legale__testo a { color: var(--color-terracotta-text); }

.holally-legale__testo p, .holally-legale__testo li { font-size: 1rem; line-height: 1.625rem; }

/* ==========================================================================
   Elenchi "Trova un helper" / "Trova lavoro" (Figma 348:248, 348:395)
   ========================================================================== */


/* Filtri */
.holally-filtri { background-color: var(--color-sage-light); }
.holally-select {
	height: 3.25rem;
	padding: 0 2.75rem 0 1.125rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	color: var(--color-ink);
	background-color: var(--color-ivory);
	border: 1px solid var(--color-ivory-100);
	border-radius: 999px;
	background-position: right 1.125rem center;
}
.holally-select:focus { border-color: var(--color-ink); box-shadow: 0 0 0 1px var(--color-ink); }
.holally-filtri__submit { min-width: 10rem; }
.holally-filtri__reset { font-family: var(--font-body); font-size: 0.875rem; font-weight: 700; color: var(--color-ink); }

/* Risultati */
.holally-risultati { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-risultati .holally-eyebrow { color: var(--color-terracotta-300); }

/* Card (helper e annuncio) */
.holally-card {
	gap: 0.875rem;
	padding: 1.375rem;
	color: var(--color-ink);
	background-color: var(--color-ivory);
	border-radius: 1.25rem;
	box-shadow: 0 0.625rem 0.75rem rgba(31, 26, 20, 0.13);
	transition: transform 0.15s ease;
}
.holally-card--annuncio { padding: 1.625rem; }
.holally-card:hover { transform: translateY(-2px); }
.holally-card:focus-within { outline: 2px solid var(--color-ivory); outline-offset: 3px; }

.holally-card__photo {
	aspect-ratio: 350 / 190;
	object-fit: cover;
	height: auto;
	border-radius: 42% 58% 38% 62% / 52% 44% 56% 48%; /* forma organica */
}
.holally-card__photo--vuota { background-color: var(--color-sage-light); }

.holally-card__title { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; line-height: 1.2; }
.holally-card__role { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; }
.holally-card__place { font-family: var(--font-body); font-size: 0.875rem; color: var(--color-muted); }
.holally-card__place--pin { font-weight: 700; color: var(--color-ink); }
.holally-card__place--pin .material-symbols-rounded { font-size: 1.125rem; color: var(--color-ink); }
.holally-card__dot {
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.375rem;
	vertical-align: 0.1em;
	background-color: var(--color-sage-strong);
	border-radius: 50%;
}
.holally-card__text { font-family: var(--font-body); font-size: 0.9375rem; line-height: 1.4; color: var(--color-muted); }
.holally-card__footer { min-height: 2.75rem; font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; }
.holally-card__price--lg { font-size: 0.9375rem; }
.holally-card__link { color: var(--color-ink); text-decoration: none; white-space: nowrap; }
.holally-card__link:hover { text-decoration: underline; }
.holally-card__link:focus-visible { outline: none; }

/* Badge servizio (terracotta scurito: bianco su #9F5A43 = 5.2:1) */
.holally-badge {
	display: inline-block;
	padding: 0.5625rem 0.875rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--color-terracotta-strong);
	border-radius: 1.875rem;
}

/* Etichette giorni/orario */
.holally-chip {
	padding: 0.5rem 0.625rem;
	font-family: var(--font-body);
	font-size: 0.8125rem;
	line-height: 1;
	color: var(--color-muted);
	background-color: #fff;
	border-radius: 0.5rem;
}

/* Paginazione */
.holally-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 1rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.9375rem;
	color: var(--color-ink);
	text-decoration: none;
	background-color: var(--color-ivory);
	border-radius: 1.375rem;
}
.holally-pagination a.page-numbers:hover { text-decoration: underline; }
.holally-pagination .prev, .holally-pagination .next { font-size: 1.125rem; }
.holally-pagination .page-numbers.current { color: #fff; background-color: var(--color-terracotta-strong); }

/* ==========================================================================
   Pagine singole: profilo helper e annuncio (Figma 349:548, 349:666)
   ========================================================================== */

.holally-scheda { background-color: var(--color-ivory); color: var(--color-ink); }

.holally-scheda__visual { background-color: var(--color-sage-light); border-radius: 1.75rem; }
@media (min-width: 992px) {
	.holally-scheda__visual { padding: 1.75rem !important; }
}
.holally-scheda__photo { aspect-ratio: 374 / 430; height: auto; object-fit: cover; border-radius: 6.25rem; }
@media (max-width: 991.98px) {
	.holally-scheda__photo { max-width: 22rem; }
}

.holally-scheda__back {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--color-terracotta-text);
	text-decoration: none;
}
.holally-scheda__back:hover { text-decoration: underline; }
.holally-scheda .holally-eyebrow { color: var(--color-terracotta-text); }

.holally-scheda__sub { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; line-height: 1.5rem; color: var(--color-muted); }
.holally-scheda__sub--sans { font-family: var(--font-body); }
.holally-scheda__testo p { font-family: var(--font-body); font-size: 1.125rem; line-height: 1.875rem; color: var(--color-muted); }
.holally-scheda__testo p:last-child { margin-bottom: 0; }

/* Righe "Esperienza / Lingue / …" */
.holally-fact { padding: 1.375rem; background-color: #fff; border-radius: 0.875rem; font-family: var(--font-body); font-size: 0.875rem; line-height: 1.375rem; }
.holally-fact dt { font-weight: 700; }
.holally-fact dd { color: var(--color-muted); }

/* Punti chiave dell'annuncio */
.holally-highlight {
	padding: 0.75rem 1rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.9375rem;
	background-color: #fff;
	border-radius: 999px;
}
.holally-highlight .material-symbols-rounded { font-size: 1.25rem; color: var(--color-terracotta-strong); }

/* Riepilogo "In breve" */
.holally-riepilogo__label { font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.02em; }
.holally-riepilogo__value { font-family: var(--font-body); font-weight: 700; font-size: 1rem; line-height: 1.625rem; }

/* Mappa illustrativa (decorativa) */
.holally-mappa { position: relative; height: 14.375rem; overflow: hidden; background-color: var(--color-ivory); border-radius: 1.25rem; }
.holally-mappa__strada { position: absolute; background-color: #D1CCBD; border-radius: 0.5rem; }
.holally-mappa__strada--1 { left: -5%; top: 38%; width: 110%; height: 1rem; transform: rotate(8deg); }
.holally-mappa__strada--2 { left: 10%; top: 48%; width: 100%; height: 0.75rem; transform: rotate(-12deg); }
.holally-mappa__strada--3 { left: 24%; top: -10%; width: 0.875rem; height: 130%; transform: rotate(-4deg); }
.holally-mappa__strada--4 { left: 66%; top: -10%; width: 0.75rem; height: 130%; transform: rotate(5deg); }
.holally-mappa__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -60%); }
.holally-mappa__pin .material-symbols-rounded { font-size: 3.25rem; color: var(--color-terracotta-strong); }
.holally-mappa__label { font-family: var(--font-body); font-weight: 700; font-size: 0.9375rem; white-space: nowrap; }

/* Fasce Premium */
.holally-gate { color: var(--color-ivory); }
.holally-gate--scuro { background-color: var(--color-ink); }
.holally-gate--scuro .holally-eyebrow { color: var(--color-terracotta-300); }
/* terracotta scurito: avorio su #9F5A43 = 5.0:1 (Figma #B96F57 = 3.2:1) */
.holally-gate--terracotta { background-color: var(--color-terracotta-strong); }
.holally-gate--terracotta .holally-eyebrow { color: var(--color-ivory); }

/* Suggerimenti in fondo */
.holally-correlati { background-color: var(--color-sage-light); color: var(--color-ink); }


/* ==========================================================================
   Homepage (Figma 201:532)
   ========================================================================== */

.holally-display {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 2.5rem;
	line-height: 1.05;
}
@media (min-width: 768px) { .holally-display { font-size: 3.25rem; } }
@media (min-width: 1200px) { .holally-display { font-size: 4.25rem; line-height: 4.25rem; } } /* 68/68 */

/* Hero */
.holally-hero-home { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-hero-home .holally-eyebrow { color: var(--color-ink); }
.holally-hero-home__intro { max-width: 36rem; }
.holally-hero-home .btn { font-size: 0.8125rem; min-width: 9.75rem; padding: 0.875rem 1.25rem; }
.holally-hero-home .btn-holally-light {
	--bs-btn-bg: var(--color-ivory);
	--bs-btn-border-color: var(--color-ivory);
	--bs-btn-hover-bg: var(--color-ink);
	--bs-btn-hover-border-color: var(--color-ink);
	--bs-btn-hover-color: var(--color-ivory);
}
.holally-hero-home__photo { aspect-ratio: 640 / 620; object-fit: cover; border-radius: 44% 56% 48% 52% / 40% 46% 54% 60%; }
.holally-hero-home__sticker {
	left: 0;
	bottom: 12%;
	width: 12.8rem;
	padding: 1.125rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.45rem;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 1.25rem;
	box-shadow: 0 0.625rem 1.5rem rgba(31, 26, 20, 0.13);
	transform: rotate(5deg);
}
@media (max-width: 575.98px) {
	.holally-hero-home__sticker { width: 10rem; font-size: 1rem; line-height: 1.2rem; padding: 0.875rem; }
}

/* Link "Vedi tutti …" */
.holally-home__more { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; color: inherit; text-decoration: none; }
.holally-home__more:hover { text-decoration: underline; }

/* Le persone */
.holally-home-persone { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-servizi__chip {
	display: inline-block;
	padding: 0.5625rem 0.875rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.8125rem;
	line-height: 1.125rem;
	color: var(--color-ink);
	text-decoration: none;
	background-color: #EFF9F3;
	border-radius: 999px;
}
.holally-servizi li:nth-child(3n+2) .holally-servizi__chip { background-color: var(--color-sage-light); }
.holally-servizi li:nth-child(3n) .holally-servizi__chip { background-color: var(--color-ivory); }
.holally-servizi__chip:hover { text-decoration: underline; }
.holally-servizi__chip:focus-visible { outline: 2px solid var(--color-ivory); outline-offset: 2px; }

/* Come funziona: tre passi */
.holally-home-passi { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-passo { padding: 1.75rem; border-radius: 1.25rem; }
/* Figma: bianco su salvia #738678 = 3.9:1 -> salvia scurita */
.holally-passo--1 { background-color: var(--color-sage-strong); color: #fff; }
.holally-passo--2 { background-color: var(--color-ivory-100); color: var(--color-ink); }
.holally-passo--3 { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-passo__numero { font-family: var(--font-display); font-weight: 800; font-size: 4rem; line-height: 4rem; }
.holally-passo__titolo { font-family: var(--font-display); font-weight: 700; font-size: 1.625rem; line-height: 2rem; }
.holally-passo__testo { font-family: var(--font-body); font-size: 0.9375rem; line-height: 1.5rem; }

/* Le opportunita' */
.holally-home-annunci { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-home-nota { padding: 1.25rem 1.5rem; background-color: var(--color-ivory); border-radius: 1.25rem; font-family: var(--font-body); }
.holally-home-nota__titolo { font-weight: 700; font-size: 0.9375rem; }
.holally-home-nota__testo { font-size: 0.875rem; color: var(--color-muted); }

/* Community */
.holally-home-community { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-home-community .holally-eyebrow { color: var(--color-terracotta-300); }
.holally-home-community__photo { aspect-ratio: 480 / 464; object-fit: cover; border-radius: 48% 52% 42% 58% / 44% 40% 60% 56%; }
.holally-home-community__caption {
	left: 1.5rem;
	bottom: 2rem;
	max-width: 17.5rem;
	padding: 1rem 1.25rem;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 1.25rem;
}
.holally-home-community__caption .holally-eyebrow { color: var(--color-ivory); }
.holally-home-community__caption-title { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; line-height: 1.5rem; }

.holally-recensione { padding: 1.25rem 1.5rem; color: var(--color-ink); background-color: var(--color-ivory); border-radius: 1.125rem; }
.holally-recensione__autore { font-family: var(--font-body); font-weight: 700; font-size: 0.6875rem; line-height: 1rem; color: var(--color-terracotta-text); }
.holally-recensione__testo { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; line-height: 1.5rem; }

.holally-numeri { padding: 1.375rem 1.5rem; background-color: #1F2520; border-radius: 1.25rem; }
.holally-numeri__valore { font-family: var(--font-display); font-weight: 700; font-size: 1.375rem; line-height: 1.75rem; color: var(--color-terracotta-300); }
.holally-numeri__etichetta { font-family: var(--font-body); font-size: 0.8125rem; }

/* ==========================================================================
   Lista d'attesa (pagina provvisoria di pre-lancio, senza layout Figma:
   riusa hero salvia, riquadro modulo di Contatti, riquadri .holally-benefit)
   ========================================================================== */

.holally-lista-hero { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-lista-hero .holally-eyebrow { color: var(--color-ink); }
.holally-lista-hero__intro { max-width: 34rem; }

.holally-lista-punti li {
	position: relative;
	padding-left: 2rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.5rem;
}
.holally-lista-punti li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.125rem;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--color-terracotta-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23F6F2E9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center / 0.875rem no-repeat;
}

.holally-lista-form { border-radius: 1.75rem; box-shadow: 0 0.625rem 1.5rem rgba(31, 26, 20, 0.13); }
.holally-lista-form__sticker {
	right: -0.5rem;
	top: -1.25rem;
	padding: 0.75rem 1rem;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.05rem;
	color: var(--color-ivory);
	background-color: var(--color-ink);
	border-radius: 0.875rem 1.75rem 0.875rem 1.75rem;
	transform: rotate(6deg);
}
@media (max-width: 575.98px) {
	.holally-lista-form__sticker { right: 0.5rem; }
}

/* Scelta Famiglia / Helper a pillole */
.holally-scelta .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.holally-scelta .wpcf7-list-item { margin: 0; }
.holally-scelta .wpcf7-list-item label { position: relative; cursor: pointer; }
.holally-scelta input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.holally-scelta .wpcf7-list-item-label {
	display: inline-block;
	padding: 0.625rem 1.25rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--color-ink);
	background-color: var(--color-ivory);
	border: 1px solid var(--color-ivory-100);
	border-radius: 999px;
}
.holally-scelta input[type="radio"]:checked + .wpcf7-list-item-label { color: var(--color-ivory); background-color: var(--color-ink); border-color: var(--color-ink); }
.holally-scelta input[type="radio"]:focus-visible + .wpcf7-list-item-label { outline: 2px solid var(--color-ink); outline-offset: 2px; }

.holally-lista-vantaggi { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-lista-vantaggi .holally-benefit { background-color: #fff; border-radius: 1.75rem; }

/* ==========================================================================
   Selettore di lingua (inc/multilingua.php, holally_selettore_lingua())
   Navbar: bandierine circolari senza etichetta (il nome della lingua è nel
   testo alternativo). La lingua corrente ha un anello scuro; l'altra è un
   link con anello al passaggio del mouse/focus.
   Footer: nomi delle lingue in maiuscoletto (come da Figma).
   ========================================================================== */
.holally-lang {
	gap: 0.5rem;
}

.holally-lang__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	line-height: 1;
}

.holally-lang--bandiere .holally-lang__item {
	width: 2rem;
	height: 2rem;
	box-shadow: 0 0 0 2px transparent;
	transition: box-shadow 0.15s ease-in-out, opacity 0.15s ease-in-out;
}

.holally-lang__flag {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(41, 47, 42, 0.18);
}

.holally-lang--bandiere .holally-lang__item.is-current {
	box-shadow: 0 0 0 2px var(--color-ink);
}

.holally-lang--bandiere a.holally-lang__item {
	opacity: 0.7;
}

.holally-lang--bandiere a.holally-lang__item:hover,
.holally-lang--bandiere a.holally-lang__item:focus-visible {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--color-sage);
}

.holally-lang--bandiere a.holally-lang__item:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 2px;
}

.holally-navbar-actions .holally-lang {
	margin-right: 0.5rem;
}

.holally-lang--nomi {
	gap: 1rem;
}

.holally-lang--nomi .holally-lang__item {
	border-radius: 0;
}

.holally-lang--nomi .holally-lang__item.is-current {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* Mappa Google nel riquadro "In breve" (partial/mappa.php). */
.holally-mappa--google iframe {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Finche' iubenda blocca la mappa (iframe senza indirizzo) si vede il
   riquadro sotto, con preferenze cookie e link a Google Maps. */
.holally-mappa--google iframe:not([src]),
.holally-mappa--google iframe[src=""],
.holally-mappa--google iframe[src="about:blank"] { visibility: hidden; }
.holally-mappa__consenso {
	position: absolute;
	inset: 0;
	font-family: var(--font-body);
	font-size: 0.9375rem;
	color: var(--color-ink);
}
.holally-mappa__consenso .material-symbols-rounded { font-size: 2.25rem; color: var(--color-terracotta-strong); }

/* Accessibilita' (01/10/2026): testo secondario leggibile sul riquadro
   verde chiaro della scheda helper/annuncio (contrasto AA). */
.holally-scheda__visual .holally-text-muted { color: var(--color-ink); }

/* Chi ha chiesto al sistema meno animazioni non le vede. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Link dentro le frasi (es. "informativa privacy" nei moduli): sempre
   sottolineati, non riconoscibili solo dal colore. */
.holally-field--privacy a,
.wpcf7-list-item-label a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Strumento di prova "Vedi il sito come" (solo amministratori, 05/10/2026):
   riquadro fisso in basso a sinistra, sopra menu e finestre del sito. */
.holally-vedi-come {
	z-index: 1080;
	max-width: calc(100vw - 2rem);
	background: #fff;
	border: 1px solid var(--color-ink);
	border-radius: 0.75rem;
	box-shadow: 0 0.5rem 1.5rem rgba(41, 47, 42, 0.25);
	font-family: var(--font-body);
	font-size: 0.8125rem;
	color: var(--color-ink);
}
.holally-vedi-come__titolo { font-weight: 700; }

/* ==========================================================================
   Account: Registrati (scelta del percorso), registrazione, accesso,
   recupero password, verifica email (05/10/2026).
   Figma: pagina "Registrazione e Login" 350:735, Modal/Login 395:885,
   Modal/Registration 396:881.
   Scostamenti consapevoli per il contrasto (come nel resto del sito):
   bordo dei campi in sage (nel Figma #EAE3D7, quasi invisibile su ivory),
   terracotta scuro per scheda Helper, pulsante e collegamenti.
   ========================================================================== */

/* --- Registrati: scelta del percorso ------------------------------------ */
.holally-wrap.holally-wrap--stretta { max-width: 79rem; } /* contenuto 1120px come Figma */

.holally-percorso { background-color: var(--color-ink); color: var(--color-ivory); }

.holally-percorso__scheda {
	gap: 1.5rem;
	padding: 1.5rem 1.25rem;
	border-radius: 1.75rem;
}
.holally-percorso__scheda--famiglia { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-percorso__scheda--helper { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }

.holally-percorso__foto {
	width: 100%;
	height: 11.875rem; /* 190px */
	object-fit: cover;
	border-radius: 5.625rem 1.75rem 5.625rem 2.75rem; /* forma organica del Figma */
}

.holally-percorso__etichetta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.875rem;
	padding: 0.5rem 1.5rem;
	border-radius: 999px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.holally-percorso__scheda--famiglia .holally-percorso__etichetta { background-color: var(--color-ivory); color: var(--color-ink); }
.holally-percorso__scheda--helper .holally-percorso__etichetta { background-color: var(--color-ink); color: var(--color-ivory); }

.holally-percorso__scheda--helper .btn-holally-light {
	--bs-btn-bg: var(--color-ivory);
	--bs-btn-border-color: var(--color-ivory);
	--bs-btn-hover-bg: var(--color-ink);
	--bs-btn-hover-border-color: var(--color-ink);
	--bs-btn-hover-color: var(--color-ivory);
}

.holally-percorso__accedi {
	padding: 1.5rem 1.25rem;
	border-radius: 1.125rem;
	background-color: var(--color-ivory);
	color: var(--color-ink);
}

@media (min-width: 576px) {
	.holally-percorso__scheda { padding: 2.375rem 2.125rem; }
	.holally-percorso__accedi { padding: 1.75rem 1.875rem; }
}

.holally-percorso-fiducia { background-color: var(--color-sage-light); }
.holally-percorso-fiducia__voce {
	gap: 0.625rem;
	padding: 1.5rem 1.375rem;
	border-radius: 1.125rem;
	background-color: var(--color-ivory);
	color: var(--color-ink);
}
@media (min-width: 768px) {
	.holally-percorso-fiducia__voce { min-height: 11.25rem; } /* 180px come Figma */
}
.holally-percorso-fiducia__icona { line-height: 1; color: var(--color-terracotta-strong); }
.holally-percorso-fiducia__icona .material-symbols-rounded { font-size: 1.75rem; }

/* --- Schede dei moduli --------------------------------------------------- */
.holally-auth { background-color: var(--color-ink); }

.holally-auth__scheda {
	max-width: 32.5rem; /* 520px */
	gap: 1rem;
	padding: 1.75rem 1.25rem;
	background-color: var(--color-ivory);
	border-radius: 1.25rem;
	color: var(--color-ink);
}
.holally-auth__scheda--larga { max-width: 38.5rem; gap: 0.8125rem; } /* 616px */

.holally-auth__titolo {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 2.25rem;
}
.holally-auth__intro,
.holally-auth__sezione {
	font-family: var(--font-body);
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-muted);
}
.holally-auth__sezione { color: var(--color-ink); }

@media (min-width: 576px) {
	.holally-auth__scheda { padding: 2.375rem 2.75rem; }
	.holally-auth__scheda--larga { padding: 2.125rem 4rem; }
	.holally-auth__titolo { font-size: 2rem; line-height: 2.8125rem; }
	.holally-auth__scheda--larga .holally-auth__titolo { font-size: 1.875rem; line-height: 2.5625rem; }
}

.holally-auth__form { gap: 1rem; }
.holally-auth__scheda--larga .holally-auth__form { gap: 0.8125rem; }
.holally-auth__form .btn { min-height: 3rem; }

.holally-auth__icona { line-height: 1; color: var(--color-terracotta-strong); }
.holally-auth__icona .material-symbols-rounded { font-size: 2.25rem; }

/* Campo: etichetta in alto e valore sotto, dentro lo stesso riquadro. */
.holally-campo {
	gap: 0.3125rem;
	min-height: 4.5rem; /* 72px */
	padding: 0.625rem 0.875rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sage);
	border-radius: 0.75rem;
	cursor: text;
}
.holally-auth__scheda--larga .holally-campo { min-height: 4.25rem; } /* 68px */
.holally-campo:focus-within { border-color: var(--color-ink); box-shadow: 0 0 0 1px var(--color-ink); }
.holally-campo--errore { border-color: #A3332A; }
.holally-campo--errore:focus-within { border-color: #A3332A; box-shadow: 0 0 0 1px #A3332A; }

.holally-campo__etichetta {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.6875rem;
	line-height: 0.9375rem;
	color: var(--color-muted);
}
.holally-campo__input {
	width: 100%;
	padding: 0;
	border: 0;
	outline: 0; /* il fuoco e' mostrato dal riquadro (.holally-campo:focus-within) */
	background: transparent;
	font-family: var(--font-body);
	font-size: 1rem; /* 16px: su iPhone evita lo zoom automatico */
	line-height: 1.5rem;
	color: var(--color-ink);
}
.holally-campo__input::placeholder { color: var(--color-muted); opacity: 1; }
.holally-campo__input:-webkit-autofill { box-shadow: 0 0 0 2rem var(--color-ivory) inset; -webkit-text-fill-color: var(--color-ink); }
@media (min-width: 576px) {
	.holally-campo__input { font-size: 0.875rem; line-height: 1.25rem; }
}
.holally-campo__errore {
	margin-top: 0.375rem;
	font-family: var(--font-body);
	font-size: 0.8125rem;
	line-height: 1.125rem;
	color: #A3332A;
}

/* Scelta Famiglia / Helper in cima alla registrazione. */
.holally-auth__profilo {
	gap: 0.3125rem;
	min-height: 5.75rem; /* 92px */
	padding: 0.875rem 1rem;
	border: 1px solid transparent;
	border-radius: 0.875rem;
	background-color: #EAE3D7; /* Figma: semantic/surface/subtle */
	color: var(--color-ink);
	font-family: var(--font-body);
	text-decoration: none;
}
.holally-auth__profilo:hover { border-color: var(--color-ink); color: var(--color-ink); }
.holally-auth__profilo:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.holally-auth__profilo-titolo { font-weight: 700; font-size: 1rem; line-height: 1.375rem; }
.holally-auth__profilo-testo { font-size: 0.75rem; line-height: 1.0625rem; color: #5B655D; }
.holally-auth__profilo.is-attivo,
.holally-auth__profilo.is-attivo:hover { background-color: var(--color-terracotta-strong); border-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-auth__profilo.is-attivo .holally-auth__profilo-testo { color: var(--color-ivory); }

/* Consenso, collegamenti e avvisi. */
.holally-auth__consenso {
	padding: 0.5rem 0;
	font-family: var(--font-body);
	font-size: 0.8125rem;
	line-height: 1.25rem;
	color: var(--color-muted);
}
.holally-auth__spunta {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	accent-color: var(--color-terracotta-strong);
}
.holally-auth__scheda a:not(.btn):not(.holally-auth__profilo) {
	font-weight: 700;
	color: var(--color-terracotta-text);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.holally-auth__dimenticata { font-family: var(--font-body); font-size: 0.8125rem; line-height: 1.125rem; }
.holally-auth__cambio {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-terracotta-text);
}

.holally-auth__avviso {
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	font-family: var(--font-body);
	font-size: 0.875rem;
	line-height: 1.375rem;
}
.holally-auth__avviso--ok { background-color: var(--color-mint); color: var(--color-ink); }
.holally-auth__avviso--errore { background-color: #F6E1DC; color: #7A241D; }
.holally-auth__avviso--nota { border: 1px dashed var(--color-muted); color: var(--color-muted); font-size: 0.8125rem; line-height: 1.25rem; }

/* Campo trappola per i programmi automatici: fuori dallo schermo. */
.holally-auth__trappola { position: absolute; left: -624.9375rem; width: 1px; height: 1px; overflow: hidden; }

/* Header: saluto a chi ha fatto l'accesso. */
.holally-navbar-utente {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--color-ink);
	white-space: nowrap;
}

/* ==========================================================================
   Aree riservate Famiglia e Helper (05/10/2026): struttura comune e
   dashboard. Figma: Dashboard Famiglia 378:827, Dashboard Helper 393:881,
   Backend/Sidebar 428:1261 e 428:1304.
   ========================================================================== */
:root {
	--color-sabbia: #EAE3D7; /* Figma: semantic/surface/subtle (fondo delle aree) */
	--area-sidebar: 16.25rem; /* 260px */
}

body.holally-area { background-color: var(--color-sabbia); color: var(--color-ink); }

/* --- Barra laterale ------------------------------------------------------- */
.holally-area-sidebar {
	--bs-offcanvas-bg: var(--color-ink);
	--bs-offcanvas-width: 17.5rem;
	--bs-offcanvas-border-width: 0;
}
.holally-area-sidebar__dentro {
	gap: 2.25rem;
	height: 100%;
	padding: 1.75rem 1.5rem 1.5rem;
	overflow-y: auto;
	background-color: var(--color-ink);
	color: var(--color-ivory);
	font-family: var(--font-body);
}
@media (min-width: 992px) {
	.holally-area-sidebar { position: fixed; top: 0; bottom: 0; left: 0; z-index: 1030; width: var(--area-sidebar); }
	.holally-area__lavoro { margin-left: var(--area-sidebar); }
}

.holally-area-sidebar__logo { display: inline-block; line-height: 0; }
.holally-area-sidebar__logo:focus-visible,
.holally-area-nav__voce:focus-visible,
.holally-area-sidebar__premium:focus-visible,
.holally-area-sidebar__azioni a:focus-visible { outline: 2px solid var(--color-ivory); outline-offset: 2px; }

.holally-area-nav { gap: 0.625rem; }
.holally-area-nav__voce {
	gap: 0.75rem;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.25rem;
	color: var(--color-ivory);
	text-decoration: none;
}
.holally-area-nav__voce .material-symbols-rounded { font-size: 1.375rem; }
a.holally-area-nav__voce:hover { background-color: rgba(246, 242, 233, 0.12); color: var(--color-ivory); }
.holally-area-nav__voce.is-attiva,
a.holally-area-nav__voce.is-attiva:hover { background-color: var(--color-sabbia); color: var(--color-ink); }
.holally-area-nav__voce.is-spenta { color: rgba(246, 242, 233, 0.6); cursor: default; } /* pagina non ancora costruita */

.holally-area-sidebar__fondo { gap: 1rem; }
.holally-area-sidebar__premium {
	gap: 0.625rem;
	padding: 0.75rem 1rem;
	border-radius: 1.5rem;
	background-color: var(--color-terracotta-strong);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: #fff;
	text-decoration: none;
}
.holally-area-sidebar__premium:hover { background-color: var(--color-terracotta-deep); color: #fff; }
.holally-area-sidebar__premium .material-symbols-rounded { font-size: 1.25rem; }

.holally-area-sidebar__account { gap: 0.75rem; }
.holally-area-sidebar__avatar {
	flex: 0 0 auto;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background-color: var(--color-sage-light);
	font-weight: 700;
	font-size: 0.75rem;
	color: var(--color-ink);
}
.holally-area-sidebar__nome { font-weight: 700; font-size: 0.875rem; line-height: 1.125rem; }
.holally-area-sidebar__piano { font-size: 0.75rem; line-height: 1rem; }

.holally-area-sidebar__azioni { gap: 0.5rem; font-size: 0.8125rem; line-height: 1.125rem; }
.holally-area-sidebar__azioni a { gap: 0.5rem; color: var(--color-ivory); text-decoration: underline; text-underline-offset: 0.15em; }
.holally-area-sidebar__azioni a:hover { color: #fff; }
.holally-area-sidebar__azioni .material-symbols-rounded { font-size: 1.125rem; text-decoration: none; }

/* --- Barra in alto e contenuto ------------------------------------------- */
.holally-area__barra {
	min-height: 4.75rem; /* 76px */
	padding: 0.75rem 1.25rem;
	background-color: var(--color-ivory);
	border-bottom: 1px solid var(--color-sabbia);
}
.holally-area__barra-titolo { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.75rem; }
.holally-area__menu { padding: 0.25rem; border: 0; line-height: 0; color: var(--color-ink); }
.holally-area__menu .material-symbols-rounded { font-size: 1.75rem; }
.holally-area__menu:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }

.holally-area__contenuto { gap: 1.5rem; padding: 1.5rem 1.25rem 2.5rem; }
@media (min-width: 992px) {
	.holally-area__barra { padding: 1.125rem 2.25rem; }
	.holally-area__contenuto { max-width: 73.75rem; padding: 2rem 2.25rem 3rem; } /* 1180px come il Figma */
}

.holally-area__titolo { font-family: var(--font-display); font-weight: 700; font-size: 1.625rem; line-height: 2.125rem; }
.holally-area__sottotitolo { font-family: var(--font-body); font-size: 0.9375rem; line-height: 1.3125rem; color: #5B655D; } /* muted scurito: su sabbia #667168 non arriva a 4.5:1 */
.holally-area__sezione { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.75rem; }
.holally-area__sezione--grande { font-size: 1.375rem; line-height: 1.875rem; }
@media (min-width: 768px) {
	.holally-area__titolo { font-size: 2rem; line-height: 2.75rem; }
}

.holally-area__foto {
	flex: 0 0 auto;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 999px;
	object-fit: cover;
}
.holally-area__foto--iniziali { background-color: var(--color-sage-light); font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; color: var(--color-ink); }
@media (min-width: 768px) {
	.holally-area__foto { width: 6rem; height: 6rem; } /* 96px */
}

/* Pulsanti la cui pagina non esiste ancora: stesso colore, attenuati. */
.holally-area .btn.disabled { opacity: 0.55; }
.holally-area .btn-holally-accent.disabled { background-color: var(--color-terracotta-strong); border-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-area .btn-holally-primary.disabled { background-color: var(--color-ink); border-color: var(--color-ink); color: var(--color-ivory); }

/* --- Riquadri con i numeri ------------------------------------------------ */
.holally-kpi {
	gap: 0.625rem;
	min-height: 9.375rem; /* 150px */
	padding: 1.125rem 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1.25rem;
	font-family: var(--font-body);
}
.holally-kpi__label { font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-kpi__icona { line-height: 0; color: var(--color-terracotta-strong); }
.holally-kpi__icona .material-symbols-rounded { font-size: 1.5rem; }
.holally-kpi__valore { font-family: var(--font-display); font-weight: 700; font-size: 2.125rem; line-height: 2.75rem; }
.holally-kpi__nota { font-size: 0.8125rem; line-height: 1.125rem; color: var(--color-muted); }
.holally-kpi--semplice { gap: 1rem; min-height: 8.4375rem; padding: 1.375rem; border-radius: 1rem; } /* 135px */
.holally-kpi--semplice .holally-kpi__label { font-size: 0.75rem; line-height: 1.0625rem; color: var(--color-muted); }
.holally-kpi--semplice .holally-kpi__valore { font-size: 1.875rem; line-height: 2.5625rem; }
/* Riquadro cliccabile: porta alla sezione corrispondente. */
.holally-kpi--link { color: inherit; text-decoration: none; transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
.holally-kpi--link:hover { color: inherit; border-color: var(--color-terracotta-strong); box-shadow: 0 0.375rem 1rem rgba(39, 45, 41, 0.08); transform: translateY(-2px); }
.holally-kpi--link:focus-visible { outline: 2px solid var(--color-terracotta-strong); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.holally-kpi--link { transition: none; }
	.holally-kpi--link:hover { transform: none; }
}

/* --- Righe, schede e fasce ------------------------------------------------ */
.holally-area-riga {
	padding: 1rem 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
	font-family: var(--font-body);
}
.holally-area-riga__titolo { font-weight: 700; font-size: 1rem; line-height: 1.375rem; }
.holally-area-riga__nota { font-size: 0.8125rem; line-height: 1.125rem; color: var(--color-muted); }
.holally-area-riga__azioni { gap: 1.75rem; font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-area-riga__azioni a { color: var(--color-ink); text-decoration: none; }
.holally-area-riga__azioni a:hover { text-decoration: underline; }
.holally-area-riga__azioni .material-symbols-rounded { font-size: 1.25rem; }

.holally-area-scheda {
	gap: 0.75rem;
	min-height: 13.75rem; /* 220px */
	padding: 1.375rem 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
	font-family: var(--font-body);
}
.holally-area-scheda__titolo { font-family: var(--font-body); font-weight: 700; font-size: 1.125rem; line-height: 1.5625rem; }
.holally-area-scheda__luogo { font-size: 0.8125rem; line-height: 1.125rem; color: var(--color-muted); }
.holally-area-scheda__compenso { font-weight: 700; font-size: 0.9375rem; line-height: 1.3125rem; }
.holally-area-scheda__link { font-weight: 700; font-size: 0.8125rem; line-height: 1.125rem; color: var(--color-terracotta-text); text-decoration: none; }
.holally-area-scheda__link:hover { color: var(--color-terracotta-deep); text-decoration: underline; }
.holally-area-scheda__link .material-symbols-rounded { font-size: 1rem; }

.holally-area-fascia { padding: 1.25rem 1.5rem; border-radius: 1.25rem; font-family: var(--font-body); }
.holally-area-fascia__testo { font-size: 0.875rem; line-height: 1.25rem; }
.holally-area-fascia--salvia { background-color: var(--color-sage-light); }
.holally-area-fascia--salvia .holally-area-fascia__testo { color: var(--color-ink); }
.holally-area-fascia--terracotta { border-radius: 1rem; background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-area-fascia__titolo { font-family: var(--font-body); font-weight: 700; font-size: 1.25rem; line-height: 1.75rem; }
@media (min-width: 768px) {
	.holally-area-fascia { padding: 1.5rem 1.875rem; }
}

/* Nelle aree il riquadro di prova "Vedi il sito come" sta in basso a destra,
   per non coprire il fondo della barra laterale (accanto al pulsante dei cookie). */
body.holally-area .holally-vedi-come { left: auto !important; right: 3.75rem; }

/* --- Aree: moduli, elenchi e gestione dei propri contenuti (05/10/2026) ---
   Figma: Pubblica annuncio 383:881, I miei annunci 383:928, Annuncio e
   candidature 383:973, Il mio profilo 393:938. */
.holally-area-briciole { gap: 0.375rem; font-family: var(--font-body); font-size: 0.8125rem; line-height: 1.125rem; color: #5B655D; }
.holally-area-briciole li + li::before { content: "/"; margin-right: 0.375rem; }
.holally-area-briciole a { color: inherit; text-decoration: none; }
.holally-area-briciole a:hover { color: var(--color-ink); text-decoration: underline; }

.holally-area__riepilogo { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-area__conteggio { font-family: var(--font-body); font-size: 0.8125rem; line-height: 1.125rem; color: #5B655D; }

/* Pillola dello stato. */
.holally-area-stato {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	min-height: 2rem;
	padding: 0.25rem 1rem;
	border-radius: 999px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1rem;
	white-space: nowrap;
}
.holally-area-stato--attivo { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-area-stato--bozza { background-color: var(--color-sabbia); color: var(--color-ink); }
.holally-area-stato--attesa { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-area-stato--pausa { border: 1px solid var(--color-ink); color: var(--color-ink); }

/* Pannello: il riquadro chiaro che contiene un modulo o una scheda. */
.holally-area-pannello {
	gap: 1.25rem;
	padding: 1.5rem 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
	font-family: var(--font-body);
}
@media (min-width: 768px) {
	.holally-area-pannello { padding: 1.875rem; }
}
.holally-area-pannello__titolo { font-family: var(--font-body); font-weight: 700; font-size: 1.25rem; line-height: 1.6875rem; }
.holally-area-pannello__testo { font-size: 0.9375rem; line-height: 1.375rem; color: #5B655D; }
.holally-area-pannello__testo p:last-child { margin-bottom: 0; }
.holally-area-pannello__numero { font-family: var(--font-display); font-weight: 700; font-size: 2.5rem; line-height: 3rem; }
.holally-area-dato__label { font-weight: 700; font-size: 0.75rem; line-height: 1.0625rem; color: #5B655D; }
.holally-area-dato__valore { font-weight: 700; font-size: 0.9375rem; line-height: 1.3125rem; }

/* Moduli: i campi sono quelli dell'account (.holally-campo), qui con gli
   angoli del Figma delle aree e le aree di testo. */
.holally-area-modulo { gap: 1.5rem; }
.holally-area .holally-campo { min-height: 4.25rem; border-radius: 1rem; } /* 68px */
.holally-campo textarea.holally-campo__input { resize: vertical; min-height: 3rem; }
.holally-campo select.holally-campo__input { appearance: auto; cursor: pointer; }
.holally-campo__facoltativo { font-weight: 400; }
.holally-campo__nota { margin-top: 0.375rem; font-family: var(--font-body); font-size: 0.8125rem; line-height: 1.125rem; color: #5B655D; }
.holally-campo__file { font-family: var(--font-body); font-size: 0.875rem; color: var(--color-ink); max-width: 100%; }

.holally-scelte { min-width: 0; margin: 0; padding: 0; border: 0; font-family: var(--font-body); }
.holally-scelte__titolo { float: none; width: auto; margin-bottom: 0.5rem; font-weight: 700; font-size: 0.6875rem; line-height: 0.9375rem; color: var(--color-muted); }
.holally-scelte__voce { position: relative; margin: 0; cursor: pointer; }
.holally-scelte__voce input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.holally-scelte__voce span {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.375rem 1rem;
	border: 1px solid var(--color-sage);
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-ink);
}
.holally-scelte__voce input:checked + span { background-color: var(--color-ink); border-color: var(--color-ink); color: var(--color-ivory); }
.holally-scelte__voce input:focus-visible + span { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.holally-scelte--errore .holally-scelte__voce span { border-color: #A3332A; }

.holally-area-modulo__azioni { gap: 0.75rem 1.5rem; }
.holally-area-modulo__azioni .btn-holally-accent { min-width: 10.625rem; min-height: 2.75rem; }
/* Pulsanti di azione in testata: link e pulsanti dei moduli alla stessa altezza. */
.holally-area-azioni { align-items: stretch; }
.holally-area-azioni form { display: flex; margin: 0; }
.holally-area-azioni .btn { display: inline-flex; align-items: center; justify-content: center; }
.holally-area-modulo__secondario {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: #5B655D;
	text-decoration: none;
	text-transform: none;
}
.holally-area-modulo__secondario:hover { color: var(--color-ink); text-decoration: underline; }
.holally-area-modulo__secondario--rosso { color: #A3332A; }
.holally-area-modulo__secondario--rosso:hover { color: #7A241D; }
.holally-area-modulo__nota { font-family: var(--font-body); font-size: 0.875rem; line-height: 1.25rem; color: #5B655D; }

/* I miei annunci. */
.holally-area-annuncio {
	gap: 1.5rem;
	padding: 1.5rem 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
	font-family: var(--font-body);
}
@media (min-width: 768px) {
	.holally-area-annuncio { padding: 1.5rem 1.875rem; }
}
.holally-area-annuncio__titolo { font-family: var(--font-body); font-weight: 700; font-size: 1.25rem; line-height: 1.75rem; }
.holally-area-annuncio__luogo { font-size: 0.8125rem; line-height: 1.125rem; color: var(--color-muted); }
.holally-area-annuncio__nota { font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-area-annuncio__link { font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; color: var(--color-terracotta-text); text-decoration: none; }
.holally-area-annuncio__link:hover { color: var(--color-terracotta-deep); text-decoration: underline; }

/* Il mio profilo. */
.holally-area-profilo__foto {
	flex: 0 0 auto;
	width: 7.5rem;
	height: 7.5rem;
	border-radius: 44% 56% 48% 52% / 46% 48% 52% 54%; /* forma organica del Figma (393:938), come le foto del sito pubblico */
	object-fit: cover;
	font-size: 2.25rem;
}
@media (min-width: 768px) {
	.holally-area-profilo__foto { width: 10.625rem; height: 10.625rem; } /* 170px */
}
.holally-area-profilo__nome { font-family: var(--font-display); font-weight: 700; font-size: 1.75rem; line-height: 2.4375rem; }
.holally-area-profilo__tariffa { font-family: var(--font-body); font-weight: 700; font-size: 0.9375rem; line-height: 1.3125rem; }

.holally-area-spunte { gap: 0.5rem; font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; line-height: 1.125rem; }
.holally-area-spunte .is-mancante { font-weight: 400; color: #5B655D; }

/* Finestra di conferma (Figma: Modal/Generic 396:910). */
.holally-area-finestra {
	gap: 1rem;
	padding: 2rem;
	background-color: var(--color-ivory);
	border: 0;
	border-radius: 1.25rem;
	font-family: var(--font-body);
	color: var(--color-ink);
}
/* Avviso in evidenza dentro una finestra (es. pagamento simulato nelle prove di Premium). */
.holally-area-finestra__allerta {
	padding: 0.875rem 1rem;
	background-color: rgba(163, 91, 69, 0.12);
	border: 1px solid var(--color-terracotta-strong);
	border-radius: 0.75rem;
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.375rem;
	color: var(--color-ink);
}

/* --- Aree: esplora, candidature, messaggi, Premium, impostazioni (06/10/2026) ---
   Figma Famiglia: Candidature 383:1022, Esplora helper 383:1076, Dettaglio
   helper 383:1152, Preferiti 384:881, Messaggi 384:934, Impostazioni 384:982,
   Premium 384:1039. Figma Helper: Esplora annunci 393:986, Dettaglio annuncio
   393:1062, Nuova candidatura 393:1106, Le mie candidature 394:881, Messaggi
   394:927, Premium 394:971, Impostazioni 394:1023. */

/* Foto o iniziali di una persona, con la forma organica delle foto del sito. */
.holally-area-avatar {
	flex: 0 0 auto;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 44% 56% 48% 52% / 46% 48% 52% 54%;
	object-fit: cover;
}
.holally-area-avatar--sm { width: 2.75rem; height: 2.75rem; }
.holally-area-avatar--lg { width: 4.25rem; height: 4.25rem; }
.holally-area-avatar--iniziali { background-color: var(--color-sage-light); font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; color: var(--color-ink); }
.holally-area-avatar--sm.holally-area-avatar--iniziali { font-size: 0.875rem; }

/* Filtri degli elenchi. */
.holally-area-filtri {
	padding: 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
}
@media (min-width: 768px) {
	.holally-area-filtri { padding: 1.5rem 1.875rem; }
}
.holally-area-filtri .btn { min-width: 10rem; }
/* Le card pubbliche dentro le aree: stesso disegno, ombra piu' leggera sul fondo sabbia. */
.holally-area .holally-card { box-shadow: 0 0.375rem 0.75rem rgba(31, 26, 20, 0.1); }

.holally-area-pannello--stretto { gap: 0.875rem; padding: 1.25rem 1.5rem; }
.holally-area-profilo__tariffa--grande { font-size: 1.25rem; line-height: 1.6875rem; }

/* Riga di una persona o di una candidatura. */
.holally-area-persona {
	padding: 1.25rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1rem;
	font-family: var(--font-body);
}
@media (min-width: 768px) {
	.holally-area-persona { padding: 1.5rem 1.875rem; }
}
.holally-area-persona.is-scartata { opacity: 0.72; }
.holally-area-persona__nome { font-family: var(--font-body); font-weight: 700; font-size: 1.125rem; line-height: 1.5rem; }
.holally-area-persona__quando { font-weight: 700; font-size: 0.8125rem; line-height: 1.125rem; }
.holally-area-persona__testo { font-size: 0.9375rem; line-height: 1.375rem; color: #5B655D; }
.holally-area-persona__testo p:last-child { margin-bottom: 0; }
.holally-area-persona__link { font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; color: var(--color-ink); text-decoration: none; }
.holally-area-persona__link:hover { color: var(--color-ink); text-decoration: underline; }
.holally-area-persona__azioni form { margin: 0; }
.holally-area-persona__azioni .btn-holally-accent { min-width: 8.75rem; }
@media (min-width: 992px) {
	.holally-area-persona__stato { width: 10.5rem; }
}

/* Stati delle candidature. */
.holally-area-stato--candidatura-valutazione,
.holally-area-stato--candidatura-vista,
.holally-area-stato--candidatura-messaggio { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-area-stato--candidatura-scartata,
.holally-area-stato--candidatura-ritirata { background-color: var(--color-sabbia); color: var(--color-ink); }

/* Barra laterale: conversazioni da leggere. */
.holally-area-nav__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.375rem;
	height: 1.375rem;
	padding: 0 0.375rem;
	border-radius: 999px;
	background-color: var(--color-terracotta-strong);
	font-size: 0.75rem;
	line-height: 1;
	color: #fff;
}

/* Messaggi. */
.holally-chat__elenco,
.holally-chat__filo { gap: 1.25rem; }
.holally-chat__voce {
	padding: 0.75rem;
	border-radius: 0.875rem;
	background-color: var(--color-sabbia);
	color: var(--color-ink);
	text-decoration: none;
}
.holally-chat__voce:hover { color: var(--color-ink); box-shadow: 0 0 0 1px var(--color-sage); }
.holally-chat__voce:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
.holally-chat__voce.is-attiva { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-chat__voce-testi { min-width: 0; }
.holally-chat__voce-nome { font-weight: 700; font-size: 0.875rem; line-height: 1.125rem; }
.holally-chat__voce-anteprima { overflow: hidden; font-size: 0.75rem; line-height: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.holally-chat__voce.is-nuova .holally-chat__voce-anteprima { font-weight: 700; }
.holally-chat__nuovo { flex: 0 0 auto; width: 0.625rem; height: 0.625rem; border-radius: 999px; background-color: var(--color-terracotta-strong); }
.holally-chat__nome { color: inherit; text-decoration: none; }
.holally-chat__nome:hover { color: inherit; text-decoration: underline; }
.holally-chat__filo .holally-area-riga__nota a { color: inherit; }
.holally-chat__indietro { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; color: var(--color-ink); text-decoration: none; }
.holally-chat__messaggi { gap: 0.875rem; min-height: 12rem; max-height: 60vh; padding: 0.25rem; overflow-y: auto; }
.holally-chat__messaggio { align-items: flex-start; gap: 0.25rem; }
.holally-chat__messaggio.is-mio { align-items: flex-end; }
.holally-chat__bolla {
	max-width: min(32rem, 85%);
	padding: 0.875rem 1.125rem;
	border-radius: 1rem;
	background-color: var(--color-sabbia);
	font-size: 0.9375rem;
	line-height: 1.375rem;
	color: var(--color-ink);
	overflow-wrap: anywhere;
}
.holally-chat__messaggio.is-mio .holally-chat__bolla { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-chat__ora { font-size: 0.6875rem; line-height: 1rem; color: #5B655D; }
.holally-chat__coperto { font-size: 0.75rem; line-height: 1rem; font-weight: 700; color: var(--color-terracotta-strong); }
.holally-chat__campo {
	display: block;
	width: 100%;
	min-height: 3.25rem;
	padding: 0.875rem 1.25rem;
	border: 1px solid var(--color-sage);
	border-radius: 1.5rem;
	background-color: var(--color-ivory);
	font-family: var(--font-body);
	font-size: 0.9375rem;
	line-height: 1.375rem;
	color: var(--color-ink);
	resize: vertical;
}
.holally-chat__campo:focus { outline: 0; border-color: var(--color-ink); box-shadow: 0 0 0 1px var(--color-ink); }
.holally-chat__campo.is-errore { border-color: #A3332A; }
.holally-chat__campo::placeholder { color: var(--color-muted); opacity: 1; }
.holally-chat__modulo .btn { min-width: 5.75rem; min-height: 3.25rem; }
.holally-chat__vuoto { min-height: 16rem; color: #5B655D; }
.holally-chat__vuoto .material-symbols-rounded { font-size: 2.5rem; color: var(--color-sage); }
/* Sotto i 992px si vede una cosa alla volta: l'elenco oppure la conversazione. */
@media (max-width: 991.98px) {
	.holally-chat.is-aperta .holally-chat__colonna-elenco { display: none; }
	.holally-chat:not(.is-aperta) .holally-chat__colonna-filo { display: none; }
}

/* Premium: i pacchetti. */
.holally-piano {
	gap: 1.25rem;
	padding: 1.5rem;
	background-color: var(--color-ivory);
	border: 1px solid var(--color-sabbia);
	border-radius: 1.25rem;
	font-family: var(--font-body);
}
@media (min-width: 768px) {
	.holally-piano { padding: 1.875rem; }
}
.holally-piano__etichetta { min-height: 2rem; }
.holally-piano__nome { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; line-height: 2rem; }
.holally-piano__prezzo { font-family: var(--font-display); font-weight: 700; font-size: 2.25rem; line-height: 2.875rem; }
.holally-piano__vantaggi { font-size: 0.9375rem; line-height: 1.375rem; }
.holally-piano .btn { min-width: 13rem; min-height: 3.125rem; }
.holally-piano--free { gap: 1.5rem; }
@media (min-width: 1200px) {
	.holally-piano--free { width: 9rem; padding: 1.875rem 1rem; }
}
.holally-piano__spunta { font-size: 1.75rem; line-height: 2rem; color: var(--color-ink); }
.holally-piano__spunta.is-no { color: var(--color-terracotta-strong); }

/* Impostazioni: interruttori. */
.holally-interruttore { margin: 0; cursor: pointer; }
.holally-interruttore__input.form-check-input {
	float: none;
	width: 3.5rem;
	height: 2rem;
	margin: 0;
	border-color: var(--color-sage);
	background-color: var(--color-sabbia);
	cursor: pointer;
}
.holally-interruttore__input.form-check-input:checked { background-color: var(--color-ink); border-color: var(--color-ink); }
.holally-interruttore__input.form-check-input:focus { border-color: var(--color-ink); box-shadow: 0 0 0 0.2rem rgba(41, 47, 42, 0.25); }

/* Avviso in cima al sito pubblico (es. dopo l'eliminazione dell'account). */
.holally-avviso-fisso { padding: 0.875rem 1.25rem; background-color: var(--color-mint); font-family: var(--font-body); font-size: 0.9375rem; text-align: center; color: var(--color-ink); }

/* ==========================================================================
   Ritocchi del 07/10/2026 (giro di prova dell'utente sullo staging)
   ========================================================================== */

/* Filtri degli elenchi pubblici: ogni menu ha la sua etichetta; il primo
   ("Cosa stai cercando?") e' la voce piu' importante. */
.holally-filtri__etichetta {
	display: block;
	margin: 0 0 0.375rem 1.125rem;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.8125rem;
	line-height: 1.125rem;
	color: var(--color-ink);
}
.holally-filtri__etichetta--principale { font-family: var(--font-display); font-size: 1.0625rem; line-height: 1.375rem; }
.holally-select--principale { font-weight: 700; border-color: var(--color-ink); }

/* Card helper: tutti i servizi scelti nel profilo. */
.holally-card__servizi { gap: 0.25rem 0; }
.holally-card__servizio { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-card__servizio + .holally-card__servizio::before { content: '·'; margin: 0 0.375rem; font-weight: 400; color: var(--color-muted); }
.holally-card__servizio--altri { color: var(--color-muted); }

/* Pagina annuncio: "Si cerca · Nanny" in evidenza sopra il titolo. */
.holally-cerco {
	gap: 0.5rem;
	padding: 0.375rem 0.875rem 0.375rem 0.375rem;
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.5rem;
	color: var(--color-ink);
	background-color: var(--color-ivory-100);
	border-radius: 999px;
}
.holally-cerco__etichetta {
	padding: 0.25rem 0.75rem;
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 999px;
}
.holally-cerco__cosa { font-weight: 700; }
.holally-area .holally-cerco { background-color: var(--color-ivory); }

/* Pagina annuncio: chi pubblica (foto, nome, lingue, presentazione). */
.holally-chi-pubblica {
	width: 100%;
	margin-top: 1rem;
	padding: 1.25rem;
	font-family: var(--font-body);
	background-color: var(--color-ivory-100);
	border-radius: 1.25rem;
}
@media (min-width: 768px) {
	.holally-chi-pubblica { padding: 1.5rem; }
}
.holally-chi-pubblica__titolo { font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; line-height: 1.125rem; text-transform: uppercase; letter-spacing: 0.02em; color: var(--color-terracotta-text); }
.holally-chi-pubblica__foto {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 44% 56% 48% 52% / 46% 48% 52% 54%; /* forma organica delle foto del sito */
	object-fit: cover;
}
.holally-chi-pubblica__foto--iniziali { background-color: var(--color-sage-light); font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; color: var(--color-ink); }
.holally-chi-pubblica__nome { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.625rem; }
.holally-chi-pubblica__lingue { font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; }
.holally-chi-pubblica__testo { font-size: 1rem; line-height: 1.625rem; color: #5B655D; }
.holally-area-pannello .holally-chi-pubblica { margin-top: 0.5rem; background-color: var(--color-surface); border: 1px solid var(--color-ivory-100); }
.min-w-0 { min-width: 0; }

/* Area Helper, pagina annuncio: riassunto di cosa si cerca nel riquadro della candidatura. */
.holally-area-riassunto { gap: 0.625rem; padding: 0.875rem 1rem; background-color: var(--color-ivory-100); border-radius: 0.875rem; }
.holally-area-riassunto dt { flex: 0 0 auto; padding-top: 0.125rem; }

/* Moduli: scelta "o l'uno o l'altro" (orario preciso / fasce orarie). */
.holally-segmento { padding: 0.25rem; border: 1px solid var(--color-sage); border-radius: 999px; gap: 0.25rem; }
.holally-segmento__voce { position: relative; margin: 0; cursor: pointer; }
.holally-segmento__voce input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.holally-segmento__voce span {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.25rem 1rem;
	border-radius: 999px;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-ink);
}
.holally-segmento__voce input:checked + span { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-segmento__voce input:focus-visible + span { outline: 2px solid var(--color-ink); outline-offset: 2px; }

/* Moduli: menu a tendina + scelte fatte come etichette da togliere (lingue). */
.holally-scelte__tendina { max-width: 22rem; margin-bottom: 0.75rem; }
.holally-scelte--tendina.is-attiva > .holally-scelte__titolo {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.holally-scelte--tendina.is-attiva .holally-scelte__voce:not(.is-scelta) { display: none; }
.holally-scelte--tendina.is-attiva .holally-scelte__voce.is-scelta span::after { content: '×'; margin-left: 0.5rem; font-size: 1.125rem; line-height: 1; }
.holally-scelte--tendina.is-attiva .holally-scelte__voci:not(:has(.is-scelta)) { display: none !important; }

/* Moduli: cifra spenta quando il compenso e' "da concordare". */
.holally-campo--spento { background-color: var(--color-ivory-100); }
.holally-campo--spento .holally-campo__etichetta,
.holally-campo--spento .holally-campo__input { color: #5B655D; }

/* Moduli: foto con l'anteprima accanto al pulsante. */
.holally-area .holally-campo--foto { min-height: 5.75rem; padding-top: 0.75rem; padding-bottom: 0.75rem; }
.holally-campo__anteprima {
	width: 4.25rem;
	height: 4.25rem;
	overflow: hidden;
	background-color: var(--color-sage-light);
	border-radius: 44% 56% 48% 52% / 46% 48% 52% 54%;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--color-ink);
}
.holally-campo__anteprima img { width: 100%; height: 100%; object-fit: cover; }
.holally-campo__anteprima-nota { display: block; font-weight: 700; color: var(--color-terracotta-text); }
.holally-campo__anteprima-nota[hidden] { display: none; }
.holally-campo__togli { margin-top: 0.375rem; font-family: var(--font-body); font-size: 0.8125rem; color: var(--color-ink); cursor: pointer; }
.holally-campo__togli input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--color-terracotta-text); }

/* Moduli: suggerimenti di Google sotto il campo "via o quartiere". */
.holally-campo--luoghi { position: relative; }
.holally-luoghi {
	position: absolute;
	z-index: 20;
	top: calc(100% + 0.25rem);
	left: 0;
	right: 0;
	padding: 0.375rem;
	font-family: var(--font-body);
	background-color: #fff;
	border: 1px solid var(--color-sage);
	border-radius: 0.875rem;
	box-shadow: 0 0.5rem 1rem rgba(31, 26, 20, 0.16);
}
.holally-luoghi__voce { padding: 0.5rem 0.75rem; font-size: 0.9375rem; line-height: 1.3125rem; color: var(--color-ink); border-radius: 0.5rem; cursor: pointer; }
.holally-luoghi__voce:hover,
.holally-luoghi__voce[aria-selected="true"] { background-color: var(--color-ivory-100); }
.holally-luoghi__firma { padding: 0.25rem 0.75rem 0.125rem; font-size: 0.6875rem; line-height: 1rem; text-align: right; color: #5B655D; }
.holally-area-sidebar__avatar--foto { object-fit: cover; }

/* Card annuncio: chi pubblica (foto o iniziale colorata + nome) — 07/10/2026. */
.holally-card__autore { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; line-height: 1.25rem; color: var(--color-ink); }
.holally-card__avatar {
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	object-fit: cover;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1;
}
/* Iniziali al posto della foto: cinque abbinamenti della tavolozza, sempre lo
   stesso per la stessa persona (holally_iniziali_colore()). Contrasto del
   testo sempre sopra 4.5:1. */
.holally-iniziali--1 { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-iniziali--2 { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-iniziali--3 { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-iniziali--4 { background-color: var(--color-terracotta-300); color: var(--color-ink); }
.holally-iniziali--5 { background-color: #56675B; color: var(--color-ivory); } /* sage scuro */
/* Ripetute con la classe del componente: li' le iniziali avevano gia' un colore fisso. */
.holally-area-avatar--iniziali.holally-iniziali--1, .holally-chi-pubblica__foto--iniziali.holally-iniziali--1 { background-color: var(--color-sage-light); color: var(--color-ink); }
.holally-area-avatar--iniziali.holally-iniziali--2, .holally-chi-pubblica__foto--iniziali.holally-iniziali--2 { background-color: var(--color-terracotta-strong); color: var(--color-ivory); }
.holally-area-avatar--iniziali.holally-iniziali--3, .holally-chi-pubblica__foto--iniziali.holally-iniziali--3 { background-color: var(--color-ink); color: var(--color-ivory); }
.holally-area-avatar--iniziali.holally-iniziali--4, .holally-chi-pubblica__foto--iniziali.holally-iniziali--4 { background-color: var(--color-terracotta-300); color: var(--color-ink); }
.holally-area-avatar--iniziali.holally-iniziali--5, .holally-chi-pubblica__foto--iniziali.holally-iniziali--5 { background-color: #56675B; color: var(--color-ivory); }

/* I propri contenuti visti dal sito: niente "Candidati" / "Contatta", ma un avviso e il collegamento per gestirli (07/10/2026). */
.holally-tuo { padding: 0.875rem 1.125rem; background-color: var(--color-ivory-100); border-radius: 1rem; }
.holally-tuo__testo { font-family: var(--font-body); font-weight: 700; font-size: 0.9375rem; line-height: 1.375rem; color: var(--color-ink); }
.holally-badge--tuo { color: var(--color-ink); background-color: var(--color-sage-light); }
/* Contenuti di esempio (19/10/2026): etichetta "Esempio" ben distinta da quelle dei servizi. */
.holally-badge--esempio { color: var(--color-ivory); background-color: var(--color-ink); }

/* Pagina annuncio: cosa si puo' fare (partial/annuncio-azione.php). "Per candidarti" e' testo, solo "Passa a Premium" e' un pulsante. */
.holally-azione { gap: 0.625rem 0.875rem; font-family: var(--font-body); }
.holally-azione__testo { font-weight: 700; font-size: 1rem; line-height: 1.5rem; color: var(--color-ink); }
.holally-azione__link { font-weight: 700; font-size: 0.875rem; color: var(--color-terracotta-text); }
.holally-azione--avviso { padding: 0.875rem 1.125rem; background-color: var(--color-ivory-100); border-radius: 1rem; }
.holally-scheda__visual .holally-azione--avviso { background-color: var(--color-ivory); }
.holally-area-pannello .holally-azione--avviso { background-color: var(--color-sabbia); }

/* ==========================================================================
   Periodo di lancio gratuito (09/10/2026, inc/premium.php)
   ========================================================================== */
.holally-lancio-banda { padding-top: 1rem; }
.holally-lancio-banda__box {
	background-color: var(--color-terracotta-strong);
	color: var(--color-ivory);
	border-radius: 1.75rem;
	padding: 1.5rem 1.75rem;
}
.holally-lancio-banda__box .holally-h3,
.holally-lancio-banda__box .holally-body { color: var(--color-ivory); }
.holally-lancio-banda__etichetta { font-size: 0.8125rem; letter-spacing: 0.08em; }
@media (min-width: 992px) {
	.holally-lancio-banda__box { padding: 2rem 2.5rem; }
}
.holally-plan__lancio {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 999px;
	padding: 0.25rem 0.75rem;
}
.holally-premium-lancio__modulo { margin: 0; }
.holally-prezzo-barrato { text-decoration-thickness: 2px; color: var(--color-muted); } /* #667168 su ivory: 4.9:1 (WCAG AA) */

/* Foto e bollino Premium in alto, vicino al nome (09/10/2026, partial/utente-chip.php). */
.holally-utente { gap: 0.5rem; }
.holally-utente__avatar {
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	object-fit: cover;
}
.holally-utente__avatar--iniziali {
	background-color: var(--color-sage-light);
	color: var(--color-ink);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.75rem;
	text-decoration: none;
}
.holally-utente__nome { font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; color: var(--color-ink); }
.holally-utente__premium {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1rem;
	color: var(--color-ivory);
	background-color: var(--color-terracotta-strong);
	border-radius: 999px;
	padding: 0.1875rem 0.625rem;
	text-decoration: none;
}
.holally-navbar-utente-link { text-decoration: none; }
.holally-navbar-utente-link:hover .holally-utente__nome,
.holally-navbar-utente-link:focus-visible .holally-utente__nome { text-decoration: underline; text-decoration-thickness: 2px; }
@media (max-width: 575.98px) {
	.holally-area__barra .holally-utente__nome { display: none; }
}
