/* ==========================================================
   ALA Kipengere – header, selettore lingua, footer
   ========================================================== */
:root {
	--ala-green: #58b03c;
	--ala-green-dark: #44922c;
	--ala-green-darker: #357523;
	--ala-accent: #f2cf6b;
	--ala-head: #44922c;
	--ala-ink: #24301f;
	--ala-muted: #626b5b;
	--ala-line: #e7ebe2;
	--ala-footer: #1d3318;
	--ala-footer-2: #152610;
	--ala-footer-text: #d4dccb;
}

/* ---------- Header ---------- */

/* Niente barra verde in alto (link spostati nel menu e nel footer). */
.site-header .header-top { display: none !important; }

/* Barra principale bianca, pulita, con ombra leggera al posto del grigio. */
body .site-header.header-two .header-bottom,
body.home.has-slider .site-header.header-two .header-bottom {
	background: #fff;
	border-bottom: 0;
	box-shadow: 0 1px 0 var(--ala-line), 0 6px 18px rgba(30, 51, 24, .06);
	padding-top: 12px;
	padding-bottom: 12px;
}
.site-header.header-two .header-bottom .container { display: flex; align-items: center; gap: 24px; }
.site-header.header-two .header-bottom .site-branding { margin-right: auto; }
.site-header.header-two .header-bottom .main-navigation { float: none; margin: 0; }
.site-header.header-two .header-bottom .container { gap: 18px; }
.site-header .site-branding { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }
.site-header .site-branding .site-logo { flex: 0 0 auto; margin: 0; }
/* !important: lo script dell'header fisso imposta la larghezza del logo in linea. */
.site-header .site-branding .custom-logo { width: 72px !important; height: auto; max-height: none; }
.site-header .site-branding .site-title { font-size: 19px; line-height: 1.2; max-width: 240px; margin: 0; }
.site-header .main-navigation > div > ul > li > a,
.site-header .btn-donate { white-space: nowrap; }
.site-header .main-navigation > div > ul > li { margin-left: 16px; margin-right: 0; }
@media (max-width: 1200px) {
	.site-header .btn-donate { display: none; }
}

/* Voci di menu: niente ingrandimento al passaggio del mouse, solo colore e sottolineatura. */
.site-header .main-navigation ul li a,
.header-two .main-navigation ul { font-size: 14px; }
.site-header .main-navigation > div > ul > li > a { position: relative; letter-spacing: .02em; }
li > a:hover { font-size: inherit; }
.site-header .main-navigation > div > ul > li > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
	background: var(--ala-green); transform: scaleX(0); transition: transform .2s ease;
}
.site-header .main-navigation > div > ul > li > a:hover::after,
.site-header .main-navigation > div > ul > li.current-menu-item > a::after { transform: scaleX(1); }
.site-header .main-navigation ul li a:hover { color: var(--ala-green-dark); }

/* Menu a discesa: riquadro arrotondato con ombra, voci in minuscolo, evidenziazione verde. */
.site-header .main-navigation ul ul.sub-menu {
	top: 100%; width: 260px; margin-top: 16px; padding: 8px !important;
	background: #fff; border: 1px solid var(--ala-line); border-radius: 14px;
	box-shadow: 0 18px 40px rgba(30, 51, 24, .14);
}
/* Ponte invisibile: il menu non si chiude passando col mouse nello spazio vuoto. */
.site-header .main-navigation ul ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
.site-header .main-navigation ul ul.sub-menu li { float: none; display: block; margin: 0; padding: 0; border: 0; background: none; }
.site-header .main-navigation ul ul.sub-menu a {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 10px 14px !important; border: 0 !important; border-radius: 10px; background: none;
	color: var(--ala-ink); font-size: 14.5px !important; font-weight: 500; line-height: 1.35;
	text-transform: none !important; letter-spacing: normal; white-space: normal;
}
.site-header .main-navigation ul ul.sub-menu a::after { display: none; }
.site-header .main-navigation ul ul.sub-menu li:hover > a,
.site-header .main-navigation ul ul.sub-menu li.focus > a,
.site-header .main-navigation ul ul.sub-menu .current-menu-item > a { background: #f2f7ec; color: var(--ala-green-dark); }
/* Secondo livello (es. Progetti > Progetti in corso) di fianco al primo. */
.site-header .main-navigation ul ul.sub-menu ul.sub-menu { top: -9px; left: 100%; margin: 0 0 0 10px; }
.site-header .main-navigation ul ul.sub-menu ul.sub-menu::before { top: 0; bottom: 0; left: -14px; right: auto; width: 14px; height: auto; }
.site-header .main-navigation ul ul.sub-menu .submenu-toggle { right: 12px; }
/* Voci sul lato destro: il secondo livello si apre verso sinistra per non uscire dallo schermo. */
.site-header .main-navigation > div > ul > li:nth-last-child(-n+2) ul.sub-menu ul.sub-menu { left: auto; right: 100%; margin: 0 10px 0 0; }
.site-header .main-navigation > div > ul > li:nth-last-child(-n+2) ul.sub-menu ul.sub-menu::before { left: auto; right: -14px; }

.site-header .btn-donate {
	border-radius: 999px;
	margin-left: 0;
	padding: 10px 18px;
	box-shadow: 0 4px 12px rgba(88, 176, 60, .3);
	transition: transform .15s ease, box-shadow .15s ease;
}
.site-header .btn-donate:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(88, 176, 60, .38); }

/* ---------- Selettore lingua ---------- */
.ala-lang { position: relative; flex: 0 0 auto; font-size: 14px; line-height: 1; text-transform: none; letter-spacing: normal; }
.ala-lang * { text-transform: none; }
.ala-lang[hidden] { display: none; }
.ala-lang__btn {
	display: inline-flex; align-items: center; gap: 8px;
	height: 40px; padding: 0 12px;
	background: #fff; color: var(--ala-ink);
	border: 1px solid var(--ala-line); border-radius: 999px;
	font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; letter-spacing: .04em;
	cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
.ala-lang__btn:hover,
.ala-lang.is-open .ala-lang__btn { border-color: var(--ala-green); box-shadow: 0 0 0 3px rgba(88, 176, 60, .15); }
.ala-lang__btn:focus-visible { outline: 2px solid var(--ala-green); outline-offset: 2px; }
.ala-lang__current { display: inline-flex; align-items: center; gap: 8px; }
.ala-lang .ala-ico { width: 16px; height: 16px; transition: transform .2s ease; color: var(--ala-muted); }
.ala-lang.is-open .ala-lang__btn .ala-ico { transform: rotate(180deg); }
.ala-flag {
	width: 22px; height: 15px; flex: 0 0 auto;
	border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
	display: block;
}
.ala-lang__menu {
	position: absolute; right: 0; top: calc(100% + 8px); z-index: 1000;
	min-width: 190px; margin: 0; padding: 6px; list-style: none;
	background: #fff; border: 1px solid var(--ala-line); border-radius: 14px;
	box-shadow: 0 18px 40px rgba(30, 51, 24, .16);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ala-lang.is-open .ala-lang__menu { opacity: 1; visibility: visible; transform: none; }
.ala-lang__menu li { margin: 0; padding: 0; list-style: none; }
.ala-lang__menu button {
	display: flex; align-items: center; gap: 12px; width: 100%;
	padding: 10px 12px; border: 0; border-radius: 10px;
	background: transparent; color: var(--ala-ink);
	font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.2; text-align: left; cursor: pointer;
}
.ala-lang__menu button:hover { background: #f2f7ec; }
.ala-lang__menu button[aria-current="true"] { background: #eef5e6; color: var(--ala-green-dark); font-weight: 700; }

/* Il widget originale del traduttore resta nella pagina (serve a tradurre) ma non si vede. */
#glt-translate-trigger, #glt-toolbar, .tool-container, #glt-footer, #google_language_translator { display: none !important; }
/* Linguetta "Cookie Policy" fissa in basso: il link ora è nel footer. */
#cookie-law-info-again { display: none !important; }

/* ---------- Header mobile ---------- */
@media only screen and (max-width: 1024px) {
	.mobile-header { box-shadow: 0 1px 0 var(--ala-line); }
	.mobile-header .ala-lang { margin-left: 8px; }
	.mobile-header .ala-lang__btn { height: 36px; padding: 0 10px; gap: 6px; }
	.mobile-header .ala-lang__code { display: none; }
	.mobile-header .menu-opener { margin-left: 4px !important; }
	/* Facebook ed email sono nel footer: nel menu mobile restano solo le pagine. */
	.mobile-header #secondary-menu,
	.mobile-header .social-networks { display: none; }
}

/* ---------- Footer ---------- */
.site-footer { background: var(--ala-footer); padding: 0; margin: 0; }
.site-footer .site-info { display: none; }
.ala-footer { color: var(--ala-footer-text); font-size: 15px; line-height: 1.6; }
.ala-footer a { color: #fff; text-decoration: none; transition: color .15s ease; }
.ala-footer a:hover { color: var(--ala-green); }
.ala-footer__grid {
	display: grid; gap: 40px;
	grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
	padding-top: 64px; padding-bottom: 48px;
}
.ala-footer__brand { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.ala-footer__brand span { font-size: 19px; font-weight: 700; line-height: 1.25; color: #fff; max-width: 210px; }
.ala-footer__logo { width: 64px; height: 64px; border-radius: 50%; background: #fff; padding: 4px; object-fit: contain; }
.ala-footer__about p { margin: 0 0 20px; max-width: 320px; }
.ala-footer__5x1000 {
	display: inline-flex; flex-direction: column; gap: 2px;
	padding: 12px 16px; border-radius: 12px;
	background: rgba(88, 176, 60, .12); border: 1px solid rgba(88, 176, 60, .35);
}
.ala-footer__5x1000 span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ala-green); font-weight: 700; }
.ala-footer__5x1000 strong { color: #fff; font-size: 17px; letter-spacing: .03em; }
/* Badge 5×1000 nella barra laterale */
.ala-5x1000 {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 16px; border-radius: 14px;
	background: linear-gradient(135deg, var(--ala-green), var(--ala-green-dark));
	color: #fff !important; text-decoration: none !important;
	box-shadow: 0 6px 18px rgba(31, 157, 114, .25);
	transition: transform .2s, box-shadow .2s;
}
.ala-5x1000:hover, .ala-5x1000:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(31, 157, 114, .35); }
.ala-5x1000__cuore {
	flex: none; display: grid; place-items: center;
	width: 44px; height: 44px; border-radius: 50%; background: #fff; color: #e5484d;
}
.ala-5x1000__cuore .ala-ico { width: 22px; height: 22px; fill: currentColor; }
.ala-5x1000__testo { display: flex; flex-direction: column; line-height: 1.15; flex: 1; }
.ala-5x1000__testo span { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; opacity: .9; }
.ala-5x1000__testo strong { font-size: 24px; font-weight: 800; letter-spacing: .01em; color: #fff; }
.ala-5x1000__testo small { font-size: 11px; opacity: .85; letter-spacing: .03em; margin-top: 2px; }
.ala-5x1000__freccia .ala-ico { width: 18px; height: 18px; transition: transform .2s; }
.ala-5x1000:hover .ala-5x1000__freccia .ala-ico { transform: translateX(3px); }

.ala-footer h3 {
	margin: 4px 0 18px; color: #fff;
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
}
.ala-footer ul { list-style: none; margin: 0; padding: 0; }
.ala-footer__col li { margin: 0 0 10px; }
.ala-footer__col a { color: var(--ala-footer-text); }
.ala-footer__col a:hover { color: #fff; }
.ala-footer__contacts li { display: flex; gap: 12px; align-items: flex-start; }
.ala-footer__contacts .ala-ico { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 3px; color: var(--ala-green); }
.ala-footer__contacts small { font-size: 11px; opacity: .7; margin-left: 4px; }
.ala-footer__social { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.ala-footer__social a:not(.ala-footer__cta) {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%;
	background: rgba(255, 255, 255, .08); color: #fff;
}
.ala-footer__social a:not(.ala-footer__cta):hover { background: var(--ala-green); color: #fff; }
.ala-footer__social .ala-ico { width: 18px; height: 18px; }
.ala-footer__cta {
	display: inline-flex; align-items: center; height: 42px; padding: 0 22px;
	border-radius: 999px; background: var(--ala-green); color: #fff !important; font-weight: 700;
}
.ala-footer__cta:hover { background: var(--ala-green-dark); }
.ala-footer__bottom { background: var(--ala-footer-2); font-size: 13px; color: rgba(212, 220, 203, .75); }
.ala-footer__bottom .container {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px;
	padding-top: 18px; padding-bottom: 18px;
}
.ala-footer__legal { display: inline-flex; gap: 20px; }
.ala-footer__legal a { color: rgba(212, 220, 203, .9); }

@media (max-width: 960px) {
	.ala-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 28px; padding-top: 48px; }
	.ala-footer__about { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.ala-footer__grid { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 32px; }
	.ala-footer__col { padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, .08); }
	.ala-footer__bottom .container { flex-direction: column; }
}

/* ---------- Header colorato (verde caldo) ---------- */
html body .site-header.header-two .header-bottom,
html body.home.has-slider .site-header.header-two .header-bottom { background: var(--ala-head); border-bottom: 0; box-shadow: 0 4px 18px rgba(30, 51, 24, .18); }
html body .site-header.header-two .site-branding .site-title a,
html body .site-header .site-branding .site-title { color: #fff; }
html body .site-header .site-branding .custom-logo { background: #fff; border-radius: 50%; padding: 3px; }
html body .site-header.header-two .main-navigation > div > ul > li > a,
html body .site-header.header-two .main-navigation > div > ul > li:hover > a,
html body .site-header.header-two .main-navigation > div > ul > li.current-menu-item > a,
html body .site-header.header-two .main-navigation > div > ul > li.current-menu-ancestor > a { color: #fff; }
html body .site-header .main-navigation > div > ul > li > a::after { background: var(--ala-accent); }
html body .site-header .main-navigation > div > ul > li { margin-left: 20px; }
html body .site-header .main-navigation > div > ul > li.menu-item-has-children { padding-right: 16px; }
html body .site-header .main-navigation > div > ul > li > .submenu-toggle { right: 0; width: 10px; }
html body .site-header .main-navigation > div > ul > li > .submenu-toggle,
html body .site-header .main-navigation > div > ul > li > .submenu-toggle svg { color: rgba(255, 255, 255, .85); }
html body .site-header .main-navigation > div > ul > li > .submenu-toggle svg { width: 10px; height: 10px; }
html body .site-header .btn-donate { background: var(--ala-accent); border-color: var(--ala-accent); color: #2a3a1f; box-shadow: 0 4px 12px rgba(0, 0, 0, .12); }
html body .site-header .btn-donate:hover,
html body .site-header .btn-donate:focus { background: #fff; border-color: #fff; color: var(--ala-green-darker); }
html body .site-header .ala-lang__btn { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); color: #fff; }
html body .site-header .ala-lang__btn:hover,
html body .site-header .ala-lang.is-open .ala-lang__btn { border-color: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .18); }
html body .site-header .ala-lang .ala-lang__btn .ala-ico { color: #fff; }
/* Il tema nasconde lo pseudo-elemento ::before dei sottomenu (era una freccetta): senza, il "ponte"
   tra voce e riquadro non esiste e il menu si chiude passando col mouse nello spazio vuoto. */
html body .site-header .main-navigation ul ul.sub-menu::before { display: block !important; border: 0 !important; width: auto !important; }
html body .site-header .main-navigation ul ul.sub-menu li:hover > a,
html body .site-header .main-navigation ul ul.sub-menu .current-menu-item > a { color: var(--ala-green-dark); }
@media only screen and (max-width: 1024px) {
	html body .mobile-header { background: var(--ala-head); box-shadow: 0 4px 18px rgba(30, 51, 24, .18); }
	html body .mobile-header .site-branding .site-title a { color: #fff; }
	html body .mobile-header .menu-opener span { background: #fff; }
	html body .mobile-header .custom-logo { background: #fff; border-radius: 50%; padding: 2px; }
	html body .mobile-header .ala-lang__btn { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); color: #fff; }
	html body .mobile-header .ala-lang .ala-lang__btn .ala-ico { color: #fff; }
}

/* ---------- v1.6: aspetto più moderno ---------- */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Pulsante lingua pieno (niente effetto vetro/trasparenza). */
html body .site-header .ala-lang__btn,
html body .mobile-header .ala-lang__btn { background: #fff; border: 0; color: var(--ala-ink); box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
html body .site-header .ala-lang .ala-lang__btn .ala-ico,
html body .mobile-header .ala-lang .ala-lang__btn .ala-ico { color: var(--ala-muted); }
html body .site-header .ala-lang__btn:hover,
html body .site-header .ala-lang.is-open .ala-lang__btn,
html body .mobile-header .ala-lang__btn:hover { background: #f2f7ee; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }

/* Evidenziazione chiara al passaggio del mouse: sfondo verde, testo scuro, barretta a sinistra. */
html body .site-header .main-navigation ul ul.sub-menu li > a { transition: background .12s ease, color .12s ease, box-shadow .12s ease; }
html body .site-header .main-navigation ul ul.sub-menu li > a:hover,
html body .site-header .main-navigation ul ul.sub-menu li > a:focus,
html body .ala-lang__menu button:hover {
	background: #dff1d4; color: var(--ala-green-darker); box-shadow: inset 3px 0 0 var(--ala-green);
}
html body .site-header .main-navigation ul ul.sub-menu .current-menu-item > a { background: #ecf7e6; color: var(--ala-green-darker); font-weight: 600; }
/* Togliamo l'evidenziazione "a cascata": si colora solo la voce sotto il mouse. */
html body .site-header .main-navigation ul ul.sub-menu li:hover > a:not(:hover) { background: none; color: var(--ala-ink); box-shadow: none; }

/* Sottomenu annidati (es. Progetti > Progetti in corso) in un unico riquadro:
   la voce padre fa da titolo di gruppo e i sottoprogetti stanno sotto, rientrati. */
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu,
html body .site-header .main-navigation > div > ul > li:nth-last-child(-n+2) ul.sub-menu ul.sub-menu {
	position: static; display: block !important; left: auto; right: auto; top: auto;
	width: auto; margin: 0 0 4px; padding: 0 0 0 12px !important;
	background: none; border: 0; border-radius: 0; box-shadow: none;
	opacity: 1; visibility: visible;
}
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu::before { display: none !important; }
html body .site-header .main-navigation ul ul.sub-menu .submenu-toggle { display: none; }
html body .site-header .main-navigation ul ul.sub-menu > li.menu-item-has-children > a {
	font-size: 12px !important; font-weight: 700; text-transform: uppercase !important; letter-spacing: .06em; color: var(--ala-muted);
}
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu a { font-size: 14px !important; padding: 8px 12px !important; }
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu li { border-left: 2px solid var(--ala-line); }

/* Il CSS aggiuntivo del sito ingrandiva i link al passaggio del mouse (li > a:hover { font-size: 20px }):
   il testo deve solo cambiare colore, senza spostare le voci. */
html body li > a:hover { font-size: inherit; }

/* Footer: evidenziazione del link senza cambiare dimensione. */
.ala-footer__col li { margin: 0 0 4px; }
.ala-footer__col a {
	display: inline-block; padding: 3px 8px; margin-left: -8px; border-radius: 6px;
	cursor: pointer; transition: background .12s ease, color .12s ease;
}
.ala-footer__col a:hover,
.ala-footer__col a:focus-visible { background: rgba(255, 255, 255, .1); color: #fff; }
.ala-footer__contacts a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ala-footer__legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ala-footer__contacts a { display: inline; padding: 0; margin: 0; border-radius: 0; }
.ala-footer__contacts a:hover { background: none; }

/* ---------- v1.7 ---------- */
/* Menu Progetti: "in corso" e "conclusi" con lo stesso stile; i sottoprogetti rientrati sotto. */
html body .site-header .main-navigation ul ul.sub-menu > li.menu-item-has-children > a {
	font-size: 14.5px !important; font-weight: 500; text-transform: none !important; letter-spacing: normal; color: var(--ala-ink);
}
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu { margin: 2px 0 6px 14px; padding: 0 !important; }
html body .site-header .main-navigation ul ul.sub-menu ul.sub-menu a { font-size: 14px !important; color: var(--ala-muted); }

/* Footer: il pulsante "Scrivici" torna arrotondato (lo appiattiva la regola dei link dei contatti). */
html body .ala-footer .ala-footer__social a.ala-footer__cta { display: inline-flex; padding: 0 22px; border-radius: 999px; background: var(--ala-green); }
html body .ala-footer .ala-footer__social a.ala-footer__cta:hover { background: var(--ala-green-dark); text-decoration: none; }
/* Icone social ben riconoscibili, nei colori del marchio al passaggio del mouse. */
html body .ala-footer .ala-footer__social a.ala-social {
	display: inline-flex; align-items: center; justify-content: center; padding: 0; margin: 0;
	width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff;
}
html body .ala-footer .ala-footer__social a.ala-social .ala-ico { width: 20px; height: 20px; }
html body .ala-footer .ala-footer__social a.ala-social--fb:hover { background: #1877f2; }
html body .ala-footer .ala-footer__social a.ala-social--ig:hover { background: linear-gradient(45deg, #f09433, #dc2743 50%, #bc1888); }
/* Le icone social stanno dentro la colonna Contatti: non devono prendere il verde delle icone dei contatti. */
html body .ala-footer .ala-footer__social .ala-ico { color: #fff; margin: 0; }
html body .ala-footer .ala-footer__social a.ala-social--fb .ala-ico { fill: currentColor; stroke: none; }

/* ---------- v1.8: menu mobile a pannello laterale ---------- */
@media only screen and (max-width: 1024px) {
	/* Hamburger pulito, senza riquadro "vetro" del tema. */
	html body .mobile-header .menu-opener,
	html body .mobile-header .menu-opener:hover,
	html body .mobile-header .menu-opener:focus,
	html body .mobile-header .menu-opener:active { background: none !important; box-shadow: none !important; border: 0 !important; outline: none; }
	html body .mobile-header .menu-opener:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 6px; }

	/* Pannello che entra da destra e copre solo parte dello schermo. */
	html body .mobile-header .mobile-menu {
		left: auto; right: 0; width: min(82vw, 320px); height: 100vh; height: 100dvh;
		padding: 76px 0 24px; overflow-y: auto; background: #fff;
		border-radius: 20px 0 0 20px; box-shadow: -12px 0 40px rgba(20, 35, 15, .22); z-index: 1001;
	}
	body.admin-bar .mobile-header .mobile-menu { top: 46px; height: calc(100dvh - 46px); }
	body.showing-main-menu-modal::after {
		content: ""; position: fixed; inset: 0; z-index: 1000;
		background: rgba(20, 35, 15, .45); animation: alaFade .25s ease;
	}
	html body .mobile-header .btn-menu-close {
		position: absolute; top: 20px !important; right: 18px; width: 38px; height: 38px;
		border-radius: 50%; background-color: #f2f5ef; background-position: center; background-size: 14px;
	}
	html body .mobile-header #primary-menu > li { border: 0; }
	html body .mobile-header #primary-menu > li > a { padding: 12px 24px; font-size: 16px; font-weight: 600; color: var(--ala-ink); }
	html body .mobile-header #primary-menu li a:hover,
	html body .mobile-header #primary-menu li.current-menu-item > a { background: #ecf7e6; color: var(--ala-green-darker); }
	html body .mobile-header #primary-menu ul.sub-menu { margin: 0 0 6px; padding: 0 0 0 12px; }
	html body .mobile-header #primary-menu ul.sub-menu a { padding: 8px 24px; font-size: 14.5px; font-weight: 500; color: var(--ala-muted); }
}
@keyframes alaFade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Banner cookie: barra grigia compatta, testo bianco ---------- */
html body #cookie-law-info-bar {
	background: #4a5047 !important; color: #fff !important;
	padding: 8px 16px !important; font-size: 14px !important; line-height: 1.4 !important;
	border-top: 0 !important; box-shadow: 0 -4px 18px rgba(0, 0, 0, .18) !important;
}
html body #cookie-law-info-bar span { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 14px; }
html body #cookie-law-info-bar a.cli-plugin-main-link { color: #fff !important; text-decoration: underline; margin: 0 !important; }
html body #cookie-law-info-bar a.cli-plugin-button {
	background: var(--ala-green) !important; color: #fff !important; border: 0 !important;
	margin: 0 !important; padding: 6px 18px !important; border-radius: 999px !important;
	font-size: 14px !important; font-weight: 700; line-height: 1.4 !important;
}
html body #cookie-law-info-bar a.cli-plugin-button:hover { background: var(--ala-green-dark) !important; }

/* ---------- Lingua dentro il menu mobile ---------- */
.ala-lang-drawer { margin: 24px 24px 8px; padding-top: 18px; border-top: 1px solid var(--ala-line); }
.ala-lang-drawer__label { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ala-muted); }
.ala-lang-drawer__list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
html body .ala-lang-drawer__list button {
	display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 10px;
	border: 1px solid var(--ala-line); border-radius: 12px; background: #fff;
	font-size: 14px; letter-spacing: normal; color: var(--ala-ink); text-align: left; text-transform: none; cursor: pointer;
}
html body .ala-lang-drawer__list button[aria-current="true"] { border-color: var(--ala-green); background: #eef5e6; color: var(--ala-green-dark); font-weight: 700; }
.ala-lang-drawer__list svg { width: 22px; height: auto; flex: 0 0 auto; border-radius: 3px; }
@media (max-width: 1024px) { html body .mobile-header .ala-lang { display: none !important; } }

/* ---------- Angoli arrotondati in generale ---------- */
html body input[type="text"], html body input[type="email"], html body input[type="tel"], html body input[type="url"],
html body input[type="search"], html body input[type="number"], html body input[type="password"],
html body textarea, html body select { border-radius: 10px; }
html body input[type="submit"], html body button:not(.btn-menu-close):not(.ala-lang__btn), html body .wp-block-button__link,
html body .search-submit, html body .readmore, html body .btn-readmore a, html body .rara_call_to_action_button { border-radius: 10px; }
html body .search-form { border-radius: 12px; overflow: hidden; }
html body .search-form .search-field { border-radius: 12px 0 0 12px; }
html body .search-form .search-submit, html body .search-form input[type="submit"] { border-radius: 0 12px 12px 0; }
html body .entry-content img, html body .post-thumbnail img, html body #primary .post img, html body .gallery img,
html body .wp-block-image img, html body .widget img { border-radius: 12px; }
html body .widget, html body .wpcf7 form .wpcf7-response-output, html body .wp-block-quote, html body blockquote { border-radius: 14px; }
html body .main-navigation ul ul, html body .sub-menu { border-radius: 12px; }
html body .menu-opener { border-radius: 10px; }
