/*
Theme Name: Listener Child Theme
Template: listener
Theme URI: https://listener.ancorathemes.com/
Description: Listener Child Theme
Author: AncoraThemes
Author URI: https://ancorathemes.com/
Version: 1.0.2
Tested up to: 6.8
Requires at least: 5.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: listener
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

:root {
	--gilda-bg: #fafaf7;
	--gilda-paper: #ffffff;
	--gilda-ink: #2d3b35;
	--gilda-muted: #66716c;
	--gilda-line: rgba(45, 59, 53, 0.14);
	--gilda-accent: #4e7f91;
	--gilda-accent-deep: #35606f;
	--gilda-soft: #fff8dc;
	--gilda-warm: #fdc903;
	--gilda-radius: 24px;
	--gilda-shadow: 0 18px 54px rgba(31, 45, 39, 0.09);
}

body {
	color: var(--gilda-ink);
	background: var(--gilda-bg);
}

header .sc_layouts_logo {
	display: flex;
	align-items: center;
}

header .sc_layouts_logo img.logo_image {
	width: auto !important;
	height: 48px !important;
	max-height: 48px !important;
}

footer .sc_layouts_logo img.logo_image {
	width: auto !important;
	max-height: 52px !important;
}

.gilda-area-mediazione {
	--gilda-accent: #7a9b8d;
	--gilda-accent-deep: #506f62;
	--gilda-soft: #e8f0ec;
	--gilda-warm: #b87a5e;
}

.gilda-area-costellazioni {
	--gilda-accent: #7040c0;
	--gilda-accent-deep: #421870;
	--gilda-soft: #f2e9f7;
	--gilda-warm: #c8a848;
}

.gilda-area-eventi {
	--gilda-accent: #f07669;
	--gilda-accent-deep: #b23c30;
	--gilda-soft: #fdeeec;
	--gilda-warm: #f07669;
}

.gf-section {
	box-sizing: border-box;
	padding: clamp(72px, 8vw, 128px) 24px;
}

.gf-section--soft {
	background: var(--gilda-soft);
}

.gf-kicker {
	color: var(--gilda-accent-deep);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.gf-lead {
	max-width: 760px;
	color: var(--gilda-muted);
	font-size: clamp(1.08rem, 1.4vw, 1.3rem);
	line-height: 1.65;
}

.gf-hero {
	position: relative;
	overflow: hidden;
	min-height: min(760px, 86vh);
	padding: clamp(88px, 10vw, 150px) 24px;
	background:
		radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--gilda-warm) 18%, transparent), transparent 30%),
		linear-gradient(135deg, var(--gilda-soft), var(--gilda-bg) 72%);
}

.gf-hero::after {
	position: absolute;
	z-index: 0;
	right: -10vw;
	bottom: -20vw;
	width: min(52vw, 720px);
	aspect-ratio: 1;
	border: 1px solid color-mix(in srgb, var(--gilda-accent) 24%, transparent);
	border-radius: 50%;
	content: "";
}

.gf-hero > .e-con-inner,
.gf-hero.elementor-section > .elementor-container {
	position: relative;
	z-index: 1;
}

.gf-hero h1 {
	max-width: 850px;
	margin-bottom: 0.35em;
	font-size: clamp(3rem, 6vw, 6.6rem);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

/* Costellazioni: titolo lungo (57 caratteri) in colonna stretta → corpo ridotto,
   4 righe a desktop invece di 7 (richiesta 27/08). */
.gf-hero.gilda-area-costellazioni h1 {
	font-size: clamp(2.5rem, 4.2vw, 5rem);
}

.gf-hero .elementor-widget-image img {
	width: 100%;
	max-height: 620px;
	border-radius: 52% 48% 44% 56% / 44% 46% 54% 56%;
	box-shadow: var(--gilda-shadow);
	object-fit: cover;
}

.gf-hero .elementor-button,
.gf-cta .elementor-button {
	border-radius: 999px;
	background: var(--gilda-accent-deep);
	box-shadow: none;
	color: #fff;
}

.gf-hero .elementor-button:hover,
.gf-cta .elementor-button:hover {
	transform: translateY(-2px);
	background: var(--gilda-accent);
}

.gf-cards .e-con-inner {
	align-items: stretch;
}

.gf-card {
	height: 100%;
	padding: clamp(28px, 3vw, 44px);
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
	box-shadow: 0 10px 34px rgba(31, 45, 39, 0.05);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.gf-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--gilda-shadow);
}

.gf-card h2,
.gf-card h3 {
	margin-bottom: 0.55em;
}

.gf-card .elementor-widget-image img {
	aspect-ratio: 8 / 5;
	border-radius: calc(var(--gilda-radius) - 8px);
	object-fit: cover;
}

/* Card rows sit on a two column grid from desktop up; the badge strip keeps
   its own flowing layout. */
@media (min-width: 1024px) {
	.gf-cards:not(.gf-v3-badges) .gf-cards__row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gf-cards:not(.gf-v3-badges) .gf-cards__row > .gf-card {
		--width: 100%;
		--content-width: 100%;
	}
}

.gf-v3-longform {
	padding-top: clamp(48px, 6vw, 82px);
	padding-bottom: clamp(48px, 6vw, 82px);
}

.gf-v3-longform .elementor-widget-heading,
.gf-v3-longform .elementor-widget-text-editor {
	width: min(100%, 920px);
}

.gf-v3-longform .gf-richtext {
	color: var(--gilda-ink);
	font-size: clamp(1rem, 1.15vw, 1.14rem);
	line-height: 1.8;
}

.gf-v3-longform .gf-richtext p {
	margin-bottom: 1.15em;
}

.gf-v3-longform .gf-richtext ul {
	margin: 1.25em 0 1.5em;
	padding-left: 1.25em;
}

.gf-v3-longform .gf-richtext li + li {
	margin-top: 0.6em;
}

.gf-v3-longform .gf-richtext blockquote {
	margin: 1.8em 0;
	padding: 1.3em 1.5em;
	border-left: 4px solid var(--gilda-warm);
	border-radius: 0 16px 16px 0;
	background: var(--gilda-paper);
	box-shadow: 0 10px 32px rgba(31, 45, 39, 0.06);
	font-size: 1.04em;
}

.gf-v3-badges .gf-cards__row {
	margin-top: 30px;
}

.gf-v3-credential {
	min-width: 235px;
}

.gf-v3-credential .elementor-button {
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--gilda-accent-deep);
	color: #fff;
	font-size: 0.78rem;
}

.gf-quote {
	padding: clamp(44px, 6vw, 80px);
	border-left: 5px solid var(--gilda-warm);
	border-radius: 0 var(--gilda-radius) var(--gilda-radius) 0;
	background: var(--gilda-paper);
	box-shadow: var(--gilda-shadow);
}

.gf-cta {
	overflow: hidden;
	border-radius: calc(var(--gilda-radius) + 8px);
	background: var(--gilda-accent-deep);
	color: #fff;
}

.gf-cta h2,
.gf-cta p {
	color: #fff;
}

.gf-cta .elementor-button {
	background: var(--gilda-warm);
	color: #1a1f1c;
}

.gilda-events-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.gilda-event-card {
	overflow: hidden;
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
	box-shadow: 0 12px 38px rgba(31, 45, 39, 0.06);
}

.gilda-event-card__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 2;
}

.gilda-event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.gilda-event-card:hover .gilda-event-card__image img {
	transform: scale(1.035);
}

.gilda-event-card__body {
	padding: 28px;
}

.gilda-event-card__date {
	margin-bottom: 0.5em;
	color: var(--gilda-accent-deep);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gilda-event-card__location {
	color: var(--gilda-muted);
	font-weight: 600;
}

.gilda-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	color: var(--gilda-accent-deep);
	font-weight: 700;
}

.gilda-link-arrow::after {
	content: "→";
	transition: transform 160ms ease;
}

.gilda-link-arrow:hover::after {
	transform: translateX(4px);
}

.gilda-events-empty {
	padding: 40px;
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
	text-align: center;
}

.gilda-event-card__title {
	margin: 0 0 0.4em;
	font-size: 1.35rem;
	line-height: 1.15;
}

.gilda-event-card__title a {
	color: inherit;
}

.gilda-events-past {
	margin-top: 36px;
	padding: 20px 26px;
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
}

.gilda-events-past summary {
	color: var(--gilda-accent-deep);
	font-weight: 700;
	cursor: pointer;
}

.gilda-events-past ul {
	margin: 14px 0 0;
	padding-left: 1.2em;
}

.gilda-events-past__date {
	color: var(--gilda-muted);
	font-size: 0.92em;
}

.gf-evento__location::before {
	content: "· ";
}

.gf-evento__cta {
	margin-top: 2em;
}

.gilda-form {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
	box-shadow: var(--gilda-shadow);
}

.gilda-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 24px;
}

.gilda-form label,
.gilda-newsletter label {
	display: block;
	margin-bottom: 7px;
	font-weight: 650;
}

.gilda-form input:not([type="checkbox"]),
.gilda-form select,
.gilda-form textarea,
.gilda-newsletter input[type="email"] {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--gilda-line);
	border-radius: 12px;
	background: #fff;
	color: var(--gilda-ink);
}

.gilda-form input:focus,
.gilda-form select:focus,
.gilda-form textarea:focus,
.gilda-newsletter input:focus {
	border-color: var(--gilda-accent);
	outline: 3px solid color-mix(in srgb, var(--gilda-accent) 18%, transparent);
}

.gilda-form button,
.gilda-newsletter button[type="submit"] {
	padding: 13px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--gilda-accent-deep);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.gilda-form__consent,
.gilda-form__consent label {
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.55;
}

.gilda-form__consent input {
	margin-right: 7px;
}

.gilda-honeypot {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.gilda-form-notice {
	margin-bottom: 22px;
	padding: 18px 22px;
	border-radius: 14px;
}

.gilda-form-notice--success {
	background: #e8f0ec;
	color: #355246;
}

.gilda-form-notice--error {
	background: #f8e8e3;
	color: #7a3e2e;
}

.gilda-newsletter {
	position: fixed;
	z-index: 100020;
	inset: 0;
	display: grid;
	padding: 20px;
	place-items: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.gilda-newsletter.is-open {
	opacity: 1;
	pointer-events: auto;
}

.gilda-newsletter[hidden] {
	display: none !important;
}

/* Listener / ThemeREX menu fallback. */
.trx-addons-nav-menu-container-collapse
	.trx-addons-main-nav-menu > li.menu-item-has-children > .trx-addons-submenu {
	margin-top: 0 !important;
}

.trx-addons-nav-menu-container-collapse
	li.menu-item-has-children:hover > .trx-addons-submenu,
.trx-addons-nav-menu-container-collapse
	li.menu-item-has-children:focus-within > .trx-addons-submenu,
.trx-addons-main-nav-menu
	li.menu-item-has-children.gilda-menu-open > .trx-addons-submenu {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.trx-addons-main-mobile-menu
	li.menu-item-has-children.gilda-menu-open > .trx-addons-submenu {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding-top: 0 !important;
	transform: none !important;
}

.gilda-newsletter__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(20, 25, 23, 0.62);
	cursor: pointer;
}

.gilda-newsletter__panel {
	position: relative;
	width: min(520px, 100%);
	padding: clamp(30px, 5vw, 54px);
	border-radius: calc(var(--gilda-radius) + 4px);
	background:
		radial-gradient(circle at 100% 0, rgba(253, 201, 3, 0.2), transparent 36%),
		var(--gilda-paper);
	box-shadow: 0 28px 90px rgba(15, 25, 20, 0.28);
	transform: translateY(18px);
	transition: transform 220ms ease;
}

.gilda-newsletter.is-open .gilda-newsletter__panel {
	transform: translateY(0);
}

.gilda-newsletter__panel h2 {
	margin: 0 0 0.45em;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.04;
}

.gilda-newsletter__close {
	position: absolute;
	top: 14px;
	right: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--gilda-soft);
	color: var(--gilda-ink);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.gilda-newsletter__close:hover,
.gilda-newsletter__close:focus {
	background: var(--gilda-warm);
	color: #fff;
}

.gf-legal .gf-richtext {
	max-width: 900px;
}

.gf-legal .gf-richtext h3 {
	margin-top: 1.9em;
	margin-bottom: 0.55em;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.gf-legal .gf-richtext li + li {
	margin-top: 0.55em;
}

.gf-legal-draft {
	margin-bottom: 34px;
	padding: 22px 24px;
	border-left: 5px solid #b87a5e;
	border-radius: 0 14px 14px 0;
	background: #f8e8e3;
	color: #633b2f;
}

.woocommerce ul.products li.product {
	overflow: hidden;
	padding-bottom: 24px;
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
	margin-right: 24px;
	margin-left: 24px;
}

.woocommerce ul.products li.product img {
	aspect-ratio: 1;
	object-fit: cover;
}

/*
 * Keep blog thumbnails aligned even when source images have different
 * proportions. 924x604 is Listener's native large masonry thumbnail ratio.
 */
.trx-addons-posts-item-thumbnail,
.post_layout_classic .post_featured {
	overflow: hidden;
	aspect-ratio: 924 / 604;
}

.trx-addons-posts-item-thumbnail-wrap,
.trx-addons-posts-item-thumbnail-wrap > a {
	display: block;
	height: 100%;
}

.trx-addons-posts-item-thumbnail img,
.post_layout_classic .post_featured img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

/* "Tre aree" checkerboard grid breaks out of the 1100px content wrap and
   spans the full viewport, as in the Listener demo layout. */
.home .elementor-6300 .elementor-element.elementor-element-46b282d1 {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
}

/* One portrait plus one thematic card in the Home expertise section. */
.home .elementor-element-6014130c .trx-addons-tm-image,
.home .elementor-element-d21afc4 .trx-addons-tm-image {
	overflow: hidden;
	aspect-ratio: 3 / 4;
}

.home .elementor-element-6014130c .trx-addons-tm-image > a,
.home .elementor-element-d21afc4 .trx-addons-tm-image > a {
	display: block;
	height: 100%;
}

.home .elementor-element-6014130c .trx-addons-tm-image img,
.home .elementor-element-d21afc4 .trx-addons-tm-image img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.home .elementor-element-d21afc4 .trx-addons-tm-image img {
	object-position: 58% center;
}

/* Keep the overlaid Listener header from covering the first Blog row. */
body.blog.remove_margins .page_content_wrap {
	padding-top: 116px !important;
	padding-bottom: 96px !important;
}

body.blog .content_wrap_fullscreen {
	box-sizing: border-box;
	padding-right: 32px;
	padding-left: 32px;
}

@media (max-width: 1023px) {
	.gilda-events-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gilda-form__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.gf-hero {
		min-height: auto;
	}

	body.blog.remove_margins .page_content_wrap {
		padding-top: 92px !important;
		padding-bottom: 72px !important;
	}

	body.blog .content_wrap_fullscreen {
		padding-right: 20px;
		padding-left: 20px;
	}
}

@media (max-width: 767px) {
	.gf-section,
	.gf-hero {
		padding-right: 18px;
		padding-left: 18px;
	}

	.gf-hero h1 {
		font-size: clamp(2.7rem, 13vw, 4.5rem);
	}

	.gilda-events-grid {
		grid-template-columns: 1fr;
	}

	.gf-card {
		padding: 26px;
	}
}

/* =========================================================================
   PALETTE 2026 — revisione approvata da Gilda (22/08)
   Colori d'area confermati, bottoni "Proposta A" (tutti blu scuro),
   box della home ricolorati. Tutto centralizzato qui: i CSS Elementor
   "congelati" (post-*.css) restano intatti. Per tornare indietro basta
   rimuovere questo blocco.
   ========================================================================= */

:root {
	--gf-ocra: #ebb400;
	--gf-oliva: #6f8c46;
	--gf-ametista: #894da7;
	--gf-corallo: #f07669;
	--gf-blu: #032e61;
	--gf-blu-hover: #0a4586;
	--gf-rubino: #e0115f;

	/* Base = area Counseling (attività primaria) → ocra */
	--gilda-accent: #ebb400;
	--gilda-accent-deep: #9a7b00;
	--gilda-soft: #f8e9b8; /* 25/08: ocra chiaro (prima #fbf3d9, "rosato" per Gilda) */
	--gilda-warm: #ebb400;
}

.gilda-area-counseling {
	--gilda-accent: #ebb400;
	--gilda-accent-deep: #9a7b00;
	--gilda-soft: #f8e9b8;
	--gilda-warm: #ebb400;
}

.gilda-area-mediazione {
	--gilda-accent: #6f8c46;
	--gilda-accent-deep: #4f6630;
	--gilda-soft: #edf2e4;
	--gilda-warm: #6f8c46;
}

.gilda-area-costellazioni {
	--gilda-accent: #894da7;
	--gilda-accent-deep: #6a3a84;
	--gilda-soft: #f0e9f5;
	--gilda-warm: #894da7;
}

.gilda-area-eventi {
	--gilda-accent: #f07669;
	--gilda-accent-deep: #b23c30;
	--gilda-soft: #fdeeec;
	--gilda-warm: #f07669;
}

/* --- Bottoni: Proposta A, tutti blu scuro, testo bianco --- */
.elementor-button,
a.sc_button,
.sc_button,
.metform-btn,
.metform-submit-btn,
.gilda-form button,
.gilda-newsletter button[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.gf-hero .elementor-button,
.gf-cta .elementor-button,
.gf-v3-credential .elementor-button {
	background: var(--gf-blu) !important;
	background-color: var(--gf-blu) !important;
	border-color: var(--gf-blu) !important;
	color: #fff !important;
}

.elementor-button:hover,
a.sc_button:hover,
.sc_button:hover,
.metform-btn:hover,
.metform-submit-btn:hover,
.gilda-form button:hover,
.gilda-newsletter button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.gf-hero .elementor-button:hover,
.gf-cta .elementor-button:hover {
	background: var(--gf-blu-hover) !important;
	background-color: var(--gf-blu-hover) !important;
	border-color: var(--gf-blu-hover) !important;
	color: #fff !important;
}

/* --- Pannelli CTA: via il terracotta del tema, blu scuro coerente ---
   Selettori ad alta specificità (4+ classi) per battere le regole
   Elementor per-elemento con !important. Colore letterale, niente variabili. */
.elementor-element.gf-section.gf-cta.e-con-boxed,
.elementor-element.gf-section.gf-cta.e-con {
	background: #032e61 !important;
	background-color: #032e61 !important;
	background-image: none !important;
}

.elementor-element.gf-section.gf-cta :is(h1, h2, h3, h4, p, span) {
	color: #ffffff !important;
}

/* bottone dentro il CTA blu: bianco con testo blu (per contrasto) */
.elementor-element.gf-section.gf-cta .elementor-button,
.elementor-element.gf-section.gf-cta .elementor-button .elementor-button-text {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: #ffffff !important;
	color: #032e61 !important;
}

.elementor-element.gf-section.gf-cta .elementor-button:hover,
.elementor-element.gf-section.gf-cta .elementor-button:hover .elementor-button-text {
	background: #e9eef5 !important;
	background-color: #e9eef5 !important;
	border-color: #e9eef5 !important;
	color: #032e61 !important;
}

/* --- I 4 box della home --- */
.elementor-element-11b1e633 { background-color: var(--gf-ocra) !important; }     /* Counseling */
.elementor-element-5a8e79d7 { background-color: var(--gf-oliva) !important; }    /* Mediazione */
.elementor-element-3606f5e2 { background-color: var(--gf-ametista) !important; } /* Costellazioni */
.elementor-element-73a25f91 { background-color: var(--gf-corallo) !important; }  /* Eventi */

/* Testo dei box: su ocra e corallo → blu scuro (leggibilità);
   su oliva e ametista → bianco. */
.elementor-element-11b1e633 :is(h1, h2, h3, h4, h5, p, a, span),
.elementor-element-73a25f91 :is(h1, h2, h3, h4, h5, p, a, span) {
	color: var(--gf-blu) !important;
}

.elementor-element-5a8e79d7 :is(h1, h2, h3, h4, h5, p, a, span),
.elementor-element-3606f5e2 :is(h1, h2, h3, h4, h5, p, a, span) {
	color: #fff !important;
}

/* --- Ovoide della Psicosintesi: mostrato intero (niente ritaglio a blob) --- */
.gf-hero .elementor-widget-image img.gf-ovoide {
	object-fit: contain !important;
	border-radius: 16px !important;
	max-height: 560px;
	background: #fff;
	padding: 14px;
	box-shadow: 0 10px 34px rgba(31, 45, 39, 0.08);
}

/* --- Riquadro morbido con bordo d'area a sinistra (es. box "Conosci,
   possiedi e trasforma te stesso" in Psicosintesi) --- */
.gf-softbox {
	margin: 1.8em 0;
	padding: clamp(24px, 3vw, 38px);
	background: var(--gilda-soft);
	border-left: 6px solid var(--gilda-warm);
	border-radius: 0 16px 16px 0;
}

.gf-softbox__title {
	margin: 0 0 0.5em;
}

.gf-softbox p:last-child {
	margin-bottom: 0;
}

/* --- Galleria "I modelli di riferimento" (Chi Sono) --- */
.gf-models .e-con-inner {
	text-align: center;
}

.gf-models-row {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-end;
	justify-content: center;
	margin-top: 28px;
}

.gf-model {
	margin: 0;
	text-align: center;
}

.gf-model img {
	height: 300px;
	width: auto;
	max-width: 100%;
	border-radius: 16px;
	box-shadow: var(--gilda-shadow);
}

.gf-model figcaption {
	margin-top: 12px;
	line-height: 1.3;
}

.gf-model figcaption strong {
	display: block;
	color: var(--gf-blu);
	font-family: "Bricolage Grotesque", sans-serif;
}

.gf-model figcaption span {
	font-size: 0.85rem;
	color: var(--gilda-muted);
}

@media (max-width: 600px) {
	.gf-model img {
		height: 220px;
	}

	.gf-models-row {
		gap: 20px;
	}
}

/* --- Risorse (libri, video, altro) nella pagina "Libri, video e altro" --- */
.gf-resources-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
	margin-top: 22px;
}

.gf-resource {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--gilda-line);
	border-radius: var(--gilda-radius);
	background: var(--gilda-paper);
	box-shadow: 0 10px 34px rgba(31, 45, 39, 0.05);
}

.gf-resource__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	padding: 10px;
	background: #f4f3ef;
}

.gf-resource__media img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.gf-resource__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 22px 24px;
}

.gf-resource__title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.2;
}

.gf-resource__title a {
	color: var(--gf-blu);
}

.gf-resource__meta {
	margin: 0;
	color: var(--gilda-muted);
	font-size: 0.9rem;
}

.gf-resource__desc {
	color: var(--gilda-ink);
	font-size: 0.98rem;
	line-height: 1.6;
}

.gf-resource .gilda-link-arrow {
	margin-top: auto;
	padding-top: 8px;
}

/* =========================================================================
   HOME — foto scelte da Gilda (25/08) al posto delle stock del tema.
   Le regole originali stanno nel CSS Elementor congelato (post-6300.css):
   qui solo override. Percorsi relativi a questo file (themes/listener-child/).
   ========================================================================= */
/* Scacchiera "Tre aree": foto accanto a "Mediazione Familiare" */
.home .elementor-6300 .elementor-element.elementor-element-3918083b:not(.elementor-motion-effects-element-type-background) {
	background-image: url("../../uploads/2026/08/home-mediazione.jpg") !important;
	background-position: center center !important;
}

/* Scacchiera "Tre aree": foto accanto a "Corsi ed eventi" */
.home .elementor-6300 .elementor-element.elementor-element-6d8b8731:not(.elementor-motion-effects-element-type-background) {
	background-image: url("../../uploads/2026/08/home-eventi.jpg") !important;
	background-position: center center !important;
}

/* Sezioni generate da noi (id non presenti nei CSS Elementor per-id):
   senza --display il contenitore .e-con diventa inline e lo sfondo
   colorato non si vede. Stessi valori del CSS Elementor originale. */
.e-con.gf-v3-generated,
.e-con.gf-tree {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

/* --- Modello Costellazioni: illustrazione "albero, radici e ali" (25/08) --- */
.gf-tree {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.gf-tree__inner {
	margin: 0 auto;
	max-width: 560px;
	text-align: center;
}

.gf-tree__inner img {
	display: block;
	width: 100%;
	height: auto;
}

.gf-tree__inner figcaption {
	margin-top: 12px;
	color: var(--gilda-muted);
	font-size: 0.95rem;
	font-style: italic;
}

/* Apertura: riquadro "Uno spazio di ascolto…" → lo studio di Gilda */
.home .elementor-6300 .elementor-element.elementor-element-0685dcb:not(.elementor-motion-effects-element-type-background) {
	background-image: url("../../uploads/2026/08/home-studio.jpg") !important;
	background-position: center top !important;
}
