/* ==========================================================================
   The7 Child – Azienda Agricola Sottile · conversion.css
   Regola: questo file stila SOLO i componenti aggiunti dal child theme
   (prefisso .aas-). Header, slider, card servizi, pulsanti e footer
   esistenti non vengono toccati. Lo stile ricalca quello del sito:
   verde #025a41, blu notte #071c39, Inter, pillole con bordo 4px,
   maiuscolo con spaziatura e ombra verde diffusa.
   ========================================================================== */

:root {
	--aas-green: #025a41;
	--aas-green-dark: #01452f;
	--aas-navy: #071c39;
	--aas-text: rgba(7, 28, 57, .76);
	--aas-soft: #f4f6f5;
	--aas-line: rgba(7, 28, 57, .1);
	--aas-radius-card: 20px;
	--aas-shadow-btn: 0 10px 35px rgba(2, 90, 65, .5);
	--aas-shadow-btn-soft: 0 10px 35px rgba(2, 90, 65, .22);
	--aas-shadow-card: 0 10px 40px rgba(7, 28, 57, .08);
	--aas-ease: cubic-bezier(.4, 0, .2, 1);   /* stessa curva dei pulsanti del sito */
	--aas-font: Inter, sans-serif;
	--aas-bar-h: 70px;
}

:is(.aas-cta-band, .aas-contact-box, .aas-mobile-bar, .aas-fab),
:is(.aas-cta-band, .aas-contact-box, .aas-mobile-bar, .aas-fab) *,
.aas-btn {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Pulsanti: stessa famiglia del "CONTATTACI" e dei "SCOPRI DI PIÙ"
   -------------------------------------------------------------------------- */
.aas-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	min-height: 58px;
	padding: 16px 40px;
	border: 4px solid var(--aas-green);
	border-radius: 50px;
	font-family: var(--aas-font);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2px;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: var(--aas-shadow-btn-soft);
	transition: all .4s var(--aas-ease);
}

@media (min-width: 600px) {
	.aas-btn {
		white-space: nowrap;
	}
}

.aas-btn svg {
	width: 1.35em;
	height: 1.35em;
	flex: none;
}

/* Pieno: canale principale (WhatsApp) */
.aas-btn--wa {
	background: var(--aas-green);
	color: #fff !important;
	box-shadow: var(--aas-shadow-btn);
}

.aas-btn--wa:hover {
	background: var(--aas-green-dark);
	border-color: var(--aas-green-dark);
}

/* Contorno: identico ai pulsanti esistenti */
.aas-btn--primary {
	background: #fff;
	color: var(--aas-green) !important;
}

.aas-btn--primary:hover {
	background: var(--aas-green);
	color: #fff !important;
	box-shadow: var(--aas-shadow-btn);
}

/* --------------------------------------------------------------------------
   Fascia CTA (opzionale, o via shortcode [aas_cta])
   Sfondo chiaro e card bianca arrotondata, come il box del copyright.
   -------------------------------------------------------------------------- */
.aas-cta-band {
	padding: clamp(56px, 7vw, 100px) 20px;
	background: var(--aas-soft);
	font-family: var(--aas-font);
	color: var(--aas-text);
}

.aas-cta-band__inner {
	max-width: 1300px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.aas-eyebrow {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--aas-green);
}

.aas-cta-band__title {
	margin: 0 0 16px;
	font-family: var(--aas-font);
	font-size: clamp(26px, 2.6vw, 33.6px);
	font-weight: 700;
	line-height: 1.25;
	color: var(--aas-navy) !important;
}

.aas-cta-band__text {
	margin: 0 0 24px;
	font-size: 16.8px;
	line-height: 1.75;
	max-width: 58ch;
}

.aas-trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.aas-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	color: var(--aas-navy);
}

.aas-trust svg {
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 50%;
	background: var(--aas-green);
	color: #fff;
	flex: none;
}

.aas-cta-band__actions {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 36px;
	border-radius: var(--aas-radius-card);
	background: #fff;
	box-shadow: var(--aas-shadow-card);
}

.aas-cta-band__actions .aas-btn {
	width: 100%;
}

.aas-cta-band__phone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--aas-navy) !important;
	text-decoration: none !important;
}

.aas-cta-band__phone svg {
	width: 18px;
	height: 18px;
	color: var(--aas-green);
}

.aas-cta-band__phone:hover strong {
	color: var(--aas-green);
}

.aas-cta-band__note {
	margin: 0;
	text-align: center;
	font-size: 14px;
}

@media (max-width: 900px) {
	.aas-cta-band__inner {
		grid-template-columns: 1fr;
	}

	.aas-cta-band__actions {
		padding: 24px;
	}

	.aas-btn {
		padding: 14px 24px;
		letter-spacing: 1.5px;
	}
}

/* --------------------------------------------------------------------------
   Riquadro contatti [aas_contact_box] – card bianche come quelle dei servizi
   -------------------------------------------------------------------------- */
.aas-contact-box {
	display: grid;
	gap: 16px;
	font-family: var(--aas-font);
}

.aas-contact-box__item {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 22px 26px;
	border-radius: var(--aas-radius-card);
	background: #fff;
	border: 2px solid transparent;
	box-shadow: var(--aas-shadow-card);
	color: var(--aas-navy) !important;
	text-decoration: none !important;
	transition: all .4s var(--aas-ease);
}

.aas-contact-box__item:hover {
	border-color: var(--aas-green);
	transform: translateY(-2px);
}

.aas-contact-box__item.is-featured {
	border-color: var(--aas-green);
}

.aas-contact-box__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 3px solid var(--aas-green);
	color: var(--aas-green);
	flex: none;
}

.is-featured .aas-contact-box__icon {
	background: var(--aas-green);
	color: #fff;
}

.aas-contact-box__icon svg {
	width: 24px;
	height: 24px;
}

.aas-contact-box__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.aas-contact-box__label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--aas-green);
}

.aas-contact-box__value {
	font-size: 17px;
	font-weight: 600;
	color: var(--aas-navy);
	overflow-wrap: anywhere;
}

.aas-contact-box__note {
	margin: 4px 0 0;
	font-size: 14px;
	color: var(--aas-text);
}

/* --------------------------------------------------------------------------
   WhatsApp flottante (desktop): cerchio verde come il "torna su" di The7,
   posizionato sopra di esso e sopra il badge reCAPTCHA.
   -------------------------------------------------------------------------- */
.aas-fab {
	position: fixed;
	right: 26px;
	bottom: 100px;
	z-index: 9990;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	gap: 12px;
	text-decoration: none !important;
	font-family: var(--aas-font);
	opacity: 0;
	transform: translateY(20px);
	pointer-events: none;
	transition: opacity .4s var(--aas-ease), transform .4s var(--aas-ease);
}

.aas-fab.is-visible {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.aas-fab > svg {
	width: 58px;
	height: 58px;
	padding: 14px;
	border-radius: 50%;
	background: var(--aas-green);
	color: #fff;
	box-shadow: var(--aas-shadow-btn);
	transition: background .4s var(--aas-ease);
	flex: none;
}

.aas-fab:hover > svg {
	background: var(--aas-green-dark);
}

/* Etichetta a pillola con bordo verde, stile "CONTATTACI" */
.aas-fab__label {
	padding: 10px 20px;
	border: 3px solid var(--aas-green);
	border-radius: 50px;
	background: #fff;
	color: var(--aas-green);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: var(--aas-shadow-btn-soft);
	opacity: 0;
	transform: translateX(10px);
	transition: all .4s var(--aas-ease);
}

.aas-fab__label strong {
	font-weight: 800;
}

.aas-fab:hover .aas-fab__label,
.aas-fab:focus-visible .aas-fab__label,
.aas-fab.is-teasing .aas-fab__label {
	opacity: 1;
	transform: none;
}

.aas-fab:focus-visible {
	outline: none;
}

.aas-fab:focus-visible > svg {
	outline: 3px solid var(--aas-navy);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Barra contatti mobile: bianca, filo verde in alto come sotto l'header
   -------------------------------------------------------------------------- */
.aas-mobile-bar {
	display: none;
}

@media (max-width: 1024px) {
	.aas-fab {
		display: none;
	}

	.aas-mobile-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 3px solid var(--aas-green);
		box-shadow: 0 -8px 30px rgba(7, 28, 57, .1);
		font-family: var(--aas-font);
		transform: translateY(110%);
		transition: transform .4s var(--aas-ease);
	}

	.aas-mobile-bar.is-visible {
		transform: none;
	}

	/* pillole con icona a sinistra del testo, come i pulsanti del sito */
	.aas-mobile-bar__item {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 7px;
		min-width: 0;
		min-height: 48px;
		padding: 0 10px;
		border: 2.5px solid var(--aas-green);
		border-radius: 50px;
		background: #fff;
		color: var(--aas-green) !important;
		font-size: 11.5px;
		font-weight: 800;
		letter-spacing: .8px;
		line-height: 1;
		text-transform: uppercase;
		text-decoration: none !important;
		-webkit-tap-highlight-color: transparent;
		transition: background-color .2s, color .2s;
	}

	.aas-mobile-bar__item svg {
		width: 19px;
		height: 19px;
		flex: none;
	}

	.aas-mobile-bar__item span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.aas-mobile-bar__item:active {
		background: var(--aas-green);
		color: #fff !important;
	}

	.aas-mobile-bar__item--wa {
		background: var(--aas-green);
		color: #fff !important;
		box-shadow: 0 6px 18px rgba(2, 90, 65, .35);
	}

	body.aas-has-mobile-bar {
		padding-bottom: calc(var(--aas-bar-h) + env(safe-area-inset-bottom));
	}

	/* "Torna su" di The7 e badge reCAPTCHA sopra la barra */
	body.aas-has-mobile-bar .scroll-top {
		bottom: calc(var(--aas-bar-h) + 16px) !important;
	}

	body.aas-has-mobile-bar .grecaptcha-badge {
		bottom: calc(var(--aas-bar-h) + 14px) !important;
	}
}

/* --------------------------------------------------------------------------
   Classi opzionali da assegnare in Elementor (Avanzate → Classi CSS)
   -------------------------------------------------------------------------- */

/* .aas-card → hover sollevato sulle card servizi, senza cambiarne l'aspetto */
.aas-card {
	transition: transform .4s var(--aas-ease), box-shadow .4s var(--aas-ease);
}

.aas-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--aas-shadow-card);
}

/* Moduli CF7: solo correzioni d'uso (anti-zoom iOS, focus nel verde del sito) */
@media (max-width: 767px) {
	.wpcf7-form :is(input, select, textarea) {
		font-size: 16px !important;
	}
}

.wpcf7-form :is(input, select, textarea):focus {
	border-color: var(--aas-green) !important;
	box-shadow: 0 0 0 3px rgba(2, 90, 65, .15);
	outline: none;
}


/* ==========================================================================
   MIGLIORIE AGLI ELEMENTI ESISTENTI (attive con body.aas-enhance)
   Stesso linguaggio visivo del sito; spegnibili dal Customizer.
   ========================================================================== */

/* --- Header: "CONTATTACI" non sborda più dalla barra; pieno al passaggio -- */
body.aas-enhance .elementor-location-header a.box-button[href*="contattaci"] {
	padding: 13px 34px !important;
	font-size: 15px !important;
	border-width: 3px !important;
}

/* --- Pulsanti a pillola del sito: riempimento verde al passaggio --------- */
body.aas-enhance a.box-button {
	transition: all .4s var(--aas-ease) !important;
}

body.aas-enhance a.box-button:hover,
body.aas-enhance a.box-button:focus-visible {
	transform: translateY(-2px);
}

/* --- Slider home: velatura per leggere il titolo + sottotitolo e CTA ------ */
body.aas-enhance .elementor-widget-slides .swiper-slide-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(7, 28, 57, .62) 0%, rgba(7, 28, 57, .28) 45%, rgba(7, 28, 57, 0) 75%);
}

body.aas-enhance .elementor-widget-slides .elementor-slide-heading {
	text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}

.aas-hero-sub {
	margin: 18px 0 0;
	max-width: 560px;
	font-family: var(--aas-font);
	font-size: clamp(16px, 1.4vw, 20px);
	font-weight: 500;
	line-height: 1.6;
	color: rgba(255, 255, 255, .92);
	text-shadow: 0 1px 12px rgba(0, 0, 0, .35);
}

.aas-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.aas-hero-actions .aas-btn {
	min-height: 54px;
	padding: 14px 30px;
	font-size: 14px;
}

.aas-btn--ghost {
	background: rgba(255, 255, 255, .08);
	border-color: #fff;
	color: #fff !important;
	box-shadow: none;
	backdrop-filter: blur(2px);
}

.aas-btn--ghost:hover {
	background: #fff;
	color: var(--aas-green) !important;
}

@media (max-width: 767px) {
	.aas-hero-sub {
		display: none;          /* su mobile lo slider è basso: resta il titolo */
	}

	.aas-hero-actions .aas-btn--ghost {
		display: none;
	}
}

/* --- Card servizi in home: titolo, testo e pulsante diventano una card ---- */
body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]) {
	position: relative;
	padding: 36px 32px 32px !important;
	border-radius: var(--aas-radius-card);
	background: #fff;
	box-shadow: var(--aas-shadow-card);
	border-top: 4px solid var(--aas-green);
	transition: transform .4s var(--aas-ease), box-shadow .4s var(--aas-ease);
	cursor: pointer;
}

body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]):hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 50px rgba(7, 28, 57, .14);
}

/* il riquadro bianco interno al testo diventa parte della card */
body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]) > .e-con-inner > .elementor-widget-text-editor,
body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]) > .e-con-inner > .elementor-widget-text-editor > .elementor-widget-container {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]) > .e-con-inner > .elementor-widget-text-editor {
	flex-grow: 1;
}

body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]) a.box-button {
	box-shadow: none;
}

/* il pulsante si riempie quando si passa sull'intera card */
body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]):hover a.box-button {
	background: var(--aas-green) !important;
	color: #fff !important;
}

body.aas-enhance #main .e-con:has(> .e-con-inner > .elementor-widget-the7_button_widget a[href*="/servizi/"]):hover a.box-button * {
	color: #fff !important;
}

/* --- Footer: logo e icone leggibili sul blu, anno aggiornato via JS ------- */
body.aas-enhance .elementor-location-footer .elementor-widget-image img {
	filter: brightness(0) invert(1);
	opacity: .92;
}

body.aas-enhance .elementor-location-footer .elementor-widget-the7_icon_box_grid_widget :is(i, svg, svg path) {
	color: #fff !important;
	fill: #fff !important;
	transition: opacity .3s;
}

body.aas-enhance .elementor-location-footer .elementor-widget-the7_icon_box_grid_widget a:hover :is(i, svg) {
	opacity: .7;
}

/* --- Icone social del footer (e altre griglie The7 senza effetto) -------
   The7 parte con le celle a opacità 0 e le mostra con un'animazione che su
   alcuni smartphone non parte: con "nessun effetto" restano sempre visibili. */
.the7-box-grid-wrapper.loading-effect-none .dt-css-grid .wf-cell {
	opacity: 1 !important;
}

/* --- Modulo contatti: il pulsante "Invia" era bianco su bianco ------------ */
body.aas-enhance .wpcf7 input.wpcf7-submit {
	background: var(--aas-green) !important;
	border: 4px solid var(--aas-green) !important;
	color: #fff !important;
	letter-spacing: 2px;
	cursor: pointer;
	transition: all .4s var(--aas-ease);
}

body.aas-enhance .wpcf7 input.wpcf7-submit:hover {
	background: var(--aas-green-dark) !important;
	border-color: var(--aas-green-dark) !important;
	transform: translateY(-2px);
}

body.aas-enhance .wpcf7 label {
	color: var(--aas-navy);
}

body.aas-enhance .wpcf7 :is(input:not([type="submit"]), textarea):hover {
	border-color: rgba(2, 90, 65, .45) !important;
}

/* riquadro contatti inserito in Contattaci */
#main .aas-contact-box {
	margin: 24px 0 8px;
}

/* --- reCAPTCHA: badge nascosto, avviso sotto il modulo -------------------- */
body.aas-hide-recaptcha .grecaptcha-badge {
	visibility: hidden !important;
}

.aas-recaptcha-note {
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--aas-text);
	text-align: center;
}

.aas-recaptcha-note a {
	color: var(--aas-green);
}

/* --- Pagine servizio ----------------------------------------------------- */

/* La foto in evidenza di The7 a tutta larghezza è sostituita dall'intestazione */
body.aas-service-page .single-postlike > .post-thumbnail,
body.aas-service-page .content > .post-thumbnail {
	display: none !important;
}

.aas-service-hero {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
	margin: 0 0 clamp(40px, 6vw, 72px);
	font-family: var(--aas-font);
}

.aas-service-hero--text {
	grid-template-columns: 1fr;
}

.aas-service-hero__title {
	position: relative;
	margin: 0;
	padding-bottom: 26px;
	font-family: var(--aas-font);
	font-size: clamp(34px, 4.2vw, 54px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--aas-navy);
}

.aas-service-hero__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 5px;
	border-radius: 5px;
	background: var(--aas-green);
}

.aas-service-hero__media {
	margin: 0;
}

.aas-service-hero__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--aas-radius-card);
	box-shadow: var(--aas-shadow-card);
}

@media (max-width: 900px) {
	.aas-service-hero {
		grid-template-columns: 1fr;
	}

	.aas-service-hero__media {
		order: -1;
	}
}

/* Corpo del servizio: usa tutta la larghezza del contenuto di The7 */
.aas-service-body > h2 {
	position: relative;
	margin-top: 1.6em;
	padding-top: 22px;
}

.aas-service-body > h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 48px;
	height: 4px;
	border-radius: 4px;
	background: var(--aas-green);
}

.aas-service-body > h2:first-child {
	margin-top: 0;
	padding-top: 0;
}

/* il titolo H1 ha già il suo trattino: niente secondo trattino subito sotto */
.aas-service-hero + .aas-service-body > h2:first-child::before {
	display: none;
}

.aas-service-body > h2:first-child + p {
	font-size: 19px;
	line-height: 1.7;
	color: var(--aas-navy);
}

/* H3 + paragrafi → card (raggruppate via JS), allineate ai bordi del testo */
.aas-feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	margin: 32px 0 8px;
	align-items: stretch;
}

.aas-feature-grid[data-count="1"] {
	grid-template-columns: 1fr;
}

.aas-feature-grid[data-count="2"] {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.aas-feature {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 28px 26px;
	border-radius: var(--aas-radius-card);
	background: #fff;
	box-shadow: var(--aas-shadow-card);
	border-top: 4px solid var(--aas-green);
}

.aas-feature h3 {
	margin: 0 0 4px;
	font-size: 20px;
	line-height: 1.3;
}

.aas-feature :is(p, ul, ol) {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.65;
}

/* blocco finale "Devi organizzare…?" + pulsante WhatsApp */
.aas-service-cta {
	margin: clamp(40px, 6vw, 72px) 0 0;
	padding: clamp(28px, 4vw, 52px);
	border-radius: var(--aas-radius-card);
	background: var(--aas-soft);
	text-align: center;
}

.aas-service-cta > h2 {
	margin-top: 0;
	padding-top: 0;
}

.aas-service-cta > h2::before {
	display: none;
}

.aas-service-cta p {
	max-width: 60ch;
	margin-inline: auto;
}

.aas-service-cta .elementor-button-wrapper {
	text-align: center !important;
	margin-top: 12px;
}

/* --- Pulsanti: blindati contro la "sottolineatura animata" dei link di The7.
   The7 applica ai link del contenuto background-image + background-size 0 2px,
   che annullava lo sfondo dei pulsanti (bianco su bianco). L'ID #page dà a
   queste regole la precedenza su quelle del tema senza toccare altri link. -------------- */
html body.aas-child #page :is(.aas-btn, a.box-button) {
	background-image: none !important;
	background-size: auto !important;
	-webkit-text-fill-color: currentColor;
}

html body.aas-child #page .aas-btn--wa {
	background-color: var(--aas-green) !important;
	color: #fff !important;
}

html body.aas-child #page .aas-btn--wa:hover {
	background-color: var(--aas-green-dark) !important;
	border-color: var(--aas-green-dark) !important;
}

html body.aas-child #page .aas-btn--primary {
	background-color: #fff !important;
	color: var(--aas-green) !important;
}

html body.aas-child #page .aas-btn--primary:hover,
html body.aas-enhance #page a.box-button:is(:hover, :focus-visible) {
	background-color: var(--aas-green) !important;
	border-color: var(--aas-green) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

html body.aas-enhance #page a.box-button:is(:hover, :focus-visible) * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

html body.aas-child #page .aas-btn--ghost {
	background-color: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
}

html body.aas-child #page .aas-btn--ghost:hover {
	background-color: #fff !important;
	color: var(--aas-green) !important;
	-webkit-text-fill-color: var(--aas-green) !important;
}

/* ==========================================================================
   MOBILE (≤ 767px): modulo contatti, riquadro contatti, slider, barra
   ========================================================================== */
/* tre pulsanti su 360–480px: etichette intere, senza "…" */
@media (max-width: 480px) {
	.aas-mobile-bar {
		gap: 6px;
		padding-left: 8px;
		padding-right: 8px;
	}

	.aas-mobile-bar__item {
		gap: 5px;
		padding: 0 6px;
		font-size: 10.5px;
		letter-spacing: .2px;
		border-width: 2px;
	}

	.aas-mobile-bar__item svg {
		width: 17px;
		height: 17px;
	}
}

@media (max-width: 350px) {
	.aas-mobile-bar__item {
		font-size: 9.5px;
		letter-spacing: 0;
	}

	.aas-mobile-bar__item svg {
		display: none;
	}
}

@media (max-width: 767px) {

	/* --- Contattaci: un solo contenitore attorno al modulo -------------- */
	html body.aas-enhance #page .elementor-widget-wrap:has(.wpcf7) {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	html body.aas-enhance #page .elementor-widget:has(> .elementor-widget-container .wpcf7),
	html body.aas-enhance #page .elementor-widget:has(.wpcf7) > .elementor-widget-container {
		padding: 0 !important;
		margin-bottom: 40px !important;
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
	}

	html body.aas-enhance #page .wpcf7 form.wpcf7-form {
		padding: 24px 18px !important;
		border-radius: var(--aas-radius-card) !important;
		box-shadow: var(--aas-shadow-card) !important;
	}

	html body.aas-enhance #page .wpcf7 :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea) {
		width: 100% !important;
		padding: 14px 16px !important;
		min-height: 52px;
	}

	html body.aas-enhance #page .wpcf7 textarea {
		height: 150px !important;
	}

	html body.aas-enhance #page .wpcf7 input.wpcf7-submit {
		width: 100% !important;
		padding: 16px 20px !important;
	}

	html body.aas-enhance #page .wpcf7 label {
		font-size: 15px;
	}

	/* --- Riquadro contatti: compatto, testo che non va a capo a metà ---- */
	#main .aas-contact-box {
		gap: 10px;
		margin: 20px 0 8px;
	}

	.aas-contact-box__item {
		gap: 14px;
		padding: 14px 16px;
		border: 2px solid rgba(7, 28, 57, .08);
	}

	.aas-contact-box__icon {
		width: 44px;
		height: 44px;
		border-width: 2.5px;
	}

	.aas-contact-box__icon svg {
		width: 21px;
		height: 21px;
	}

	.aas-contact-box__label {
		font-size: 11.5px;
		letter-spacing: 1.5px;
	}

	.aas-contact-box__value {
		font-size: 15.5px;
		line-height: 1.35;
		overflow-wrap: normal;
		word-break: normal;
	}

	.aas-contact-box__note {
		text-align: center;
	}

	/* --- Slider home ----------------------------------------------------- */
	/* testo su tutta la larghezza (The7 lo limitava a ~210px) */
	body.aas-enhance .elementor-widget-slides .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* il testo sta in basso: velatura dal basso invece che da sinistra */
	body.aas-enhance .elementor-widget-slides .swiper-slide-bg::after {
		background: linear-gradient(0deg, rgba(7, 28, 57, .82) 0%, rgba(7, 28, 57, .45) 38%, rgba(7, 28, 57, 0) 65%);
	}

	/* spazio per i pallini dello slider sotto il pulsante */
	body.aas-enhance .elementor-widget-slides .swiper-slide-inner {
		padding-bottom: 52px !important;
	}

	body.aas-enhance .elementor-widget-slides .elementor-slide-heading {
		font-size: 27px !important;
		line-height: 1.18 !important;
	}

	.aas-hero-actions {
		margin-top: 16px;
		width: 100%;
	}

	html body.aas-child #page .aas-hero-actions .aas-btn {
		width: 100%;
		min-height: 50px;
		padding: 12px 18px;
		font-size: 13px;
		letter-spacing: 1.2px;
		white-space: nowrap;
	}

	.aas-hero-actions .aas-btn svg {
		width: 20px;
		height: 20px;
	}
}

/* --------------------------------------------------------------------------
   Movimento e stampa
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.aas-reveal {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity .7s var(--aas-ease), transform .7s var(--aas-ease);
	}

	.aas-reveal.is-in {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(.aas-cta-band, .aas-contact-box, .aas-mobile-bar, .aas-fab, .aas-btn, .aas-card),
	:is(.aas-cta-band, .aas-contact-box, .aas-mobile-bar, .aas-fab) * {
		transition: none !important;
	}
}

@media print {
	.aas-fab,
	.aas-mobile-bar,
	.aas-cta-band {
		display: none !important;
	}
}
