/* =====================================================================
   Yifat Effects — design system (v3)
   Single source of styling for yifatshechter.com. Replaces the Customizer
   "Additional CSS" (suppressed by the plugin; the old rules that still matter
   are ported into §9).

   Principles: warm-neutral canvas · one accent (#4F7A5B) for actions only ·
   ink (#3E2F23) for headings · two-layer accent-tinted shadows · pill controls ·
   motion = transform/opacity only · RTL-first · reduced-motion safe.
   ===================================================================== */

/* ---------- 0. Font: Assistant (self-hosted variable, 200–800) ---------- */
@font-face {
	font-family: 'Assistant';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/assistant-hebrew.woff2') format('woff2');
	unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
	font-family: 'Assistant';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('../fonts/assistant-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 1. Tokens ---------- */
:root {
	--yfx-ink: #3E2F23;
	--yfx-text: #55483C;
	--yfx-muted: #7A6B5B;
	--yfx-accent: #4F7A5B;
	--yfx-accent-deep: #3F6249;
	--yfx-accent-soft: #7BA487;
	--yfx-green-tint: #E9F0E6;
	--yfx-cream: #F6EFE6;
	--yfx-canvas: #FCFAF6;
	--yfx-surface: #FFFFFF;
	--yfx-line: rgba(62, 47, 35, .09);
	--yfx-line-strong: rgba(62, 47, 35, .16);

	--yfx-radius-sm: 14px;
	--yfx-radius: 24px;
	--yfx-radius-lg: 32px;
	--yfx-pill: 999px;

	--yfx-ease: cubic-bezier(.16, 1, .3, 1);
	--yfx-ease-soft: cubic-bezier(.4, 0, .2, 1);

	--yfx-shadow-xs: 0 1px 2px rgba(74, 103, 65, .06), 0 2px 8px -4px rgba(74, 103, 65, .12);
	--yfx-shadow: 0 1px 2px rgba(74, 103, 65, .05), 0 12px 32px -18px rgba(74, 103, 65, .30);
	--yfx-shadow-lift: 0 2px 6px rgba(74, 103, 65, .07), 0 28px 56px -26px rgba(74, 103, 65, .46);
	--yfx-shadow-btn: 0 1px 2px rgba(63, 98, 73, .18), 0 8px 20px -10px rgba(63, 98, 73, .55);

	--yfx-header-h: 100px;
}

/* ---------- 2. Base ---------- */
.elementor-kit-40 {
	--e-global-color-primary: #3E2F23;
	--e-global-color-secondary: #FFFFFF;
	--e-global-color-text: #55483C;
	--e-global-color-accent: #4F7A5B;
	--e-global-color-14ef391: #E9F0E6;
	--e-global-color-764183d: #F6EFE6;
}

html { scroll-behavior: smooth; }
body {
	background: var(--yfx-canvas);
	color: var(--yfx-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
body, h1, h2, h3, h4, h5, h6, p, a, li, span, button, input, textarea, select,
.elementor-heading-title, .elementor-button, .elementor-icon-box-title,
.elementor-icon-box-description, .elementor-accordion-title, .elementor-tab-content,
.elementor-icon-list-text, .site-title a, .site-description {
	font-family: 'Assistant', system-ui, sans-serif !important;
}

/* Type scale: large, tight, calm. Hebrew gets generous body leading. */
h1, .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(38px, 5.2vw, 72px) !important;
	font-weight: 800 !important;
	line-height: 1.06 !important;
	letter-spacing: -0.025em !important;
	color: var(--yfx-ink);
}
h2, .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(28px, 3.4vw, 46px) !important;
	font-weight: 800 !important;
	line-height: 1.14 !important;
	letter-spacing: -0.02em !important;
	color: var(--yfx-ink);
}
h3, .elementor-widget-heading h3.elementor-heading-title,
.elementor-icon-box-title, .elementor-accordion-title, .elementor-tab-title {
	font-size: clamp(18px, 1.45vw, 21px) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.005em !important;
}
p, .elementor-widget-text-editor, .elementor-widget-text-editor p {
	font-size: clamp(16px, 1.15vw, 18px) !important;
	font-weight: 400 !important;
	line-height: 1.85 !important;
}
.elementor-widget-heading p.elementor-heading-title {
	font-size: clamp(17px, 1.5vw, 21px) !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	color: var(--yfx-muted) !important;
	letter-spacing: 0 !important;
}
.elementor-icon-box-description, .elementor-tab-content, .elementor-tab-content p {
	font-size: 15.5px !important;
	line-height: 1.75 !important;
	color: var(--yfx-muted) !important;
}
.elementor-icon-list-text { font-size: 16px !important; line-height: 1.7; }
h1, h2, h3, .elementor-heading-title { text-wrap: balance; }
p, .elementor-widget-text-editor p { text-wrap: pretty; }

::selection { background: var(--yfx-accent); color: #fff; }

:target { scroll-margin-top: calc(var(--yfx-header-h) + 16px); }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, [tabindex]:focus-visible, .elementor-button:focus-visible {
	outline: 2px solid var(--yfx-accent) !important;
	outline-offset: 3px !important;
	border-radius: 6px;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }

a, button, .elementor-button, input, select, textarea {
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(79, 122, 91, .14);
}

/* Inline links in running text: drawn underline */
.elementor-widget-text-editor a:not(.elementor-button-link) {
	color: var(--yfx-accent);
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 100% 100%; /* RTL: grows from the right */
	background-repeat: no-repeat;
	background-size: 0% 1.5px;
	transition: background-size .35s var(--yfx-ease);
	padding-bottom: 2px;
}
.elementor-widget-text-editor a:not(.elementor-button-link):hover { background-size: 100% 1.5px; }

/* ---------- 3. Header: full-bleed bar → floating glass island on scroll ----------
   Two surfaces on pseudo-elements cross-fade (opacity only). The header's layout
   box never changes, so the switch causes zero layout shift. */
.site-header.header-full-width,
#site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 999;
	background: transparent !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	padding-block: 10px !important;
	padding-inline: 0 !important; /* Hello adds 8% side padding below 1200px; .header-inner owns the gutters */
	isolation: isolate;
}
#site-header::before,
#site-header::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	transition: opacity .45s var(--yfx-ease-soft), transform .6s var(--yfx-ease);
}
#site-header::before { /* resting bar */
	inset: 0;
	background: rgba(252, 250, 246, .88);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	box-shadow: inset 0 -1px 0 var(--yfx-line);
}
#site-header::after { /* island */
	top: 8px;
	bottom: 8px;
	inset-inline: max(12px, calc((100% - 1320px) / 2 + 4px));
	border-radius: var(--yfx-pill);
	background: rgba(255, 255, 255, .74);
	-webkit-backdrop-filter: saturate(1.6) blur(18px);
	backdrop-filter: saturate(1.6) blur(18px);
	box-shadow: inset 0 0 0 1px rgba(62, 47, 35, .06), 0 1px 2px rgba(74, 103, 65, .06), 0 14px 36px -18px rgba(74, 103, 65, .34);
	opacity: 0;
	transform: scale(.985);
}
#site-header.yfx-scrolled::before { opacity: 0; }
#site-header.yfx-scrolled::after { opacity: 1; transform: none; }
/* The transparent margins around the island must not swallow clicks on the page */
#site-header.yfx-scrolled { pointer-events: none; }
#site-header.yfx-scrolled .header-inner > * { pointer-events: auto; }

#site-header .header-inner {
	width: 100%;
	max-width: 1320px !important; /* Hello caps it at ~924px between 992 and 1200px */
	min-height: 80px;
	margin: 0 auto;
	padding-inline: 28px;
	align-items: center;
}
@media (max-width: 767px) {
	#site-header .header-inner { min-height: 60px; padding-inline: 22px; }
	:root { --yfx-header-h: 80px; }
}

/* Logo: the PNG carries a stray grey crop line on its right edge — clip it off */
.site-header .custom-logo,
.site-footer .custom-logo {
	width: auto !important;
	height: auto !important;
	max-height: 54px !important;
	clip-path: inset(0 3.5% 0 0);
}
/* The Elementor kit pins the logo at max-width:54px and Hello makes the link display:block (stacking the
   lockup under the logo); the #id selectors outrank both. */
#site-header .custom-logo { max-width: none !important; max-height: 68px !important; flex-shrink: 0; }
@media (max-width: 767px) { #site-header .custom-logo { max-height: 52px !important; } }

/* Brand lockup printed next to the logo by the plugin (name + tagline) */
#site-header .custom-logo-link { display: inline-flex !important; flex-direction: row; align-items: center; gap: 14px; text-decoration: none; }
.yfx-brand { display: flex; flex-direction: column; justify-content: center; line-height: 1.15; }
.yfx-brand__name { font-size: 21px; font-weight: 800; letter-spacing: -0.01em; color: var(--yfx-ink); }
.yfx-brand__tag { margin-top: 4px; font-size: 13.5px; font-weight: 500; color: var(--yfx-muted); }
.site-footer .yfx-brand { display: none; }
@media (max-width: 767px) {
	#site-header .custom-logo-link { gap: 10px; }
	.yfx-brand__name { font-size: 17px; }
	.yfx-brand__tag { font-size: 12px; }
}
@media (min-width: 1025px) and (max-width: 1260px) { /* small laptops: keep logo + name + nav + CTA on one row */
	.yfx-brand__tag { display: none; }
	.site-header .site-navigation ul.menu > li > a { padding: 9px 10px !important; font-size: 15px; }
	.site-navigation ul.menu > li.nav-cta { margin-inline-start: 6px; }
}
.site-header .site-logo, .site-footer .site-logo { display: flex; align-items: center; }
.site-header .custom-logo { mix-blend-mode: multiply; } /* the PNG has a white matte */
.site-header .site-branding {
	transform-origin: right center; /* RTL start edge */
	transition: transform .6s var(--yfx-ease);
}
#site-header.yfx-scrolled .site-branding { transform: scale(.9); mix-blend-mode: multiply; } /* the scale isolates the logo, so the group itself blends — otherwise the logo's white matte shows as a box on the glass */

/* Desktop nav */
.site-header .site-navigation ul.menu { gap: 2px; align-items: center; }
.site-navigation ul.menu > li { margin-inline-start: 0; }
.site-header .site-navigation ul.menu > li > a {
	position: relative;
	font-weight: 600;
	font-size: 15.5px;
	color: var(--yfx-ink);
	letter-spacing: 0;
	padding: 9px 15px !important;
	border-radius: var(--yfx-pill);
	transition: color .2s ease, background-color .25s ease;
}
.site-header .site-navigation ul.menu > li > a:hover {
	color: var(--yfx-accent-deep);
	background-color: rgba(79, 122, 91, .08);
}
.site-header .site-navigation ul.menu > li.current-menu-item > a {
	color: var(--yfx-accent-deep);
	font-weight: 700;
}
.site-header .site-navigation ul.menu > li.current-menu-item > a::after { /* active dot */
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2px;
	width: 5px;
	height: 5px;
	margin-left: -2.5px;
	border-radius: 50%;
	background: var(--yfx-accent);
}

/* Header CTA (menu item injected by the plugin, class nav-cta) */
.site-navigation ul.menu > li.nav-cta { margin-inline-start: 10px; }
.site-header .site-navigation ul.menu > li.nav-cta > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff !important;
	background: var(--yfx-accent) !important;
	font-weight: 700;
	padding: 11px 22px !important;
	border-radius: var(--yfx-pill);
	box-shadow: var(--yfx-shadow-btn);
	white-space: nowrap;
	transition: background-color .25s ease, box-shadow .25s ease;
}
.site-header .site-navigation ul.menu > li.nav-cta > a::after { /* forward chevron (points left in RTL) */
	content: "";
	position: static;
	width: 7px;
	height: 7px;
	margin: 0;
	border-radius: 0;
	background: none;
	border-left: 1.75px solid currentColor;
	border-bottom: 1.75px solid currentColor;
	transform: rotate(45deg);
	transition: transform .35s var(--yfx-ease);
}
.site-header .site-navigation ul.menu > li.nav-cta > a:hover { background: var(--yfx-accent-deep) !important; }
.site-header .site-navigation ul.menu > li.nav-cta > a:hover::after { transform: translateX(-3px) rotate(45deg); }
.site-header .site-navigation ul.menu > li.nav-cta > a:active { transform: scale(.97); }
.site-footer .site-navigation ul.menu > li.nav-cta { display: none; }
@media (max-width: 1024px) {
	.site-header .site-navigation ul.menu > li.nav-cta { display: none; } /* tablet: no room, wraps the nav */
}

/* Mobile toggle + dropdown */
.site-header .site-navigation-toggle-holder .site-navigation-toggle {
	width: 44px;
	height: 44px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(79, 122, 91, .08);
	color: var(--yfx-ink);
	transition: background-color .25s ease;
}
.site-header .site-navigation-toggle-holder .site-navigation-toggle:hover { background: rgba(79, 122, 91, .14); }
.site-header .site-navigation-dropdown ul.menu {
	/* The theme makes the list 100% wide; with the 12px side margins it stuck out 12px past the screen and the
	   whole page shifted sideways when the menu opened */
	left: 0;
	right: 0;
	width: auto;
	margin: 10px 12px 0;
	padding: 8px;
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border-radius: var(--yfx-radius);
	box-shadow: inset 0 0 0 1px rgba(62, 47, 35, .06), var(--yfx-shadow-lift);
	overflow: hidden;
}
.site-header .site-navigation-dropdown ul.menu li a {
	background: transparent !important;
	color: var(--yfx-ink) !important;
	font-weight: 600;
	font-size: 17px;
	padding: 14px 18px !important;
	border-radius: var(--yfx-radius-sm);
	box-shadow: none !important;
	transition: background-color .2s ease;
}
.site-header .site-navigation-dropdown ul.menu li { border: 0 !important; }
.site-header .site-navigation-dropdown ul.menu li.current-menu-item > a,
.site-header .site-navigation-dropdown ul.menu li a:active {
	background: var(--yfx-green-tint) !important;
	color: var(--yfx-accent-deep) !important;
}
.site-header .site-navigation-dropdown ul.menu li.nav-cta > a {
	margin-top: 6px;
	text-align: center;
	background: var(--yfx-accent) !important;
	color: #fff !important;
	border-radius: var(--yfx-pill);
}

/* ---------- 4. Hero (first section of a page that holds the H1) ---------- */
[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) {
	position: relative;
	isolation: isolate;
	overflow: clip; /* keep the circle and the field inside the hero */
	background-color: transparent !important;
	padding-block-start: max(var(--padding-top, 0px), clamp(36px, 5vw, 72px)) !important; /* never flush under the header */
}
[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1)::before { /* warm halo behind the content */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(60% 55% at 22% 45%, rgba(233, 240, 230, .85), transparent 70%),
		radial-gradient(45% 50% at 85% 30%, rgba(246, 239, 230, .9), transparent 70%);
}
/* Hero entrance from the first paint. Elementor hides every animated widget (.elementor-invisible) until
   JS runs, so on a slow phone the hero — the home page's LCP photo included — stayed blank until the motion
   engine had loaded. The first screen now rises in CSS with the engine's rhythm (1.1s out-expo, 90ms
   between siblings); the engine leaves alone whatever this rule has already made visible. */
[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible { visibility: visible; }
@media (prefers-reduced-motion: no-preference) {
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible {
		animation: yfx-hero-in 1.1s cubic-bezier(.16, 1, .3, 1) backwards;
	}
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible:nth-child(2) { animation-delay: 90ms; }
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible:nth-child(3) { animation-delay: 180ms; }
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible:nth-child(4) { animation-delay: 270ms; }
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible:nth-child(n+5) { animation-delay: 360ms; }
	/* A container that rises already carries its children. */
	[data-elementor-type="wp-page"] > .e-con.e-parent:first-child:has(h1) .elementor-invisible .elementor-invisible { animation: none; }
}
/* .01, not 0: Chrome counts an element fading in from exactly 0 only when the animation ends, which put the
   LCP 1.1s later than the hero actually shows. */
@keyframes yfx-hero-in { from { opacity: .01; transform: translateY(24px); } }
.yfx-field { /* breathing dot field (canvas injected by JS) */
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	pointer-events: none;
	-webkit-mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
	mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
}
.yfx-enso-host { position: relative; isolation: isolate; }
.yfx-enso { /* the logo's open circle, drawn around the hero image */
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	width: min(112%, 640px);
	aspect-ratio: 1;
	translate: -50% -50%;
	pointer-events: none;
	overflow: visible;
	color: var(--yfx-accent);
	opacity: .55;
}
.yfx-enso path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.yfx-enso__spin { transform-box: view-box; transform-origin: 50% 50%; animation: yfx-rotate 90s linear infinite; }
@keyframes yfx-rotate { to { transform: rotate(1turn); } }
/* Stacked (phone) layout: the circle would cross the subtitle above the image */
@media (max-width: 767px) { .yfx-enso { display: none; } }

/* Hero heading accent: no-JS fallback is a short soft line; JS replaces it with a drawn wave. The groups
   page title carries it too (the plugin marks that page with .yfx-groups; JS adds the class to its title). */
.hero-heading-accent,
.yfx-groups [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-heading:has(h1) { position: relative; display: inline-block; padding-bottom: 26px; }
.hero-heading-accent::after,
.yfx-groups [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-heading:has(h1)::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 120px;
	height: 3px;
	margin-left: -60px;
	border-radius: 3px;
	background: var(--yfx-accent-soft);
	opacity: .7;
	transform: none;
	background-image: none;
}
.hero-heading-accent.yfx-has-wave::after,
.yfx-groups [data-elementor-type="wp-page"] > .e-con.e-parent:first-child .elementor-widget-heading.yfx-has-wave::after { display: none; }
/* The logo's glass orb in 3D (groups page, assets/js/orbs.js): in front of the hero, never in the way */
.yfx-orbs { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.yfx-wave {
	position: absolute;
	bottom: 2px;
	left: 50%;
	width: 190px;
	height: 18px;
	translate: -50% 0;
	overflow: visible;
	color: var(--yfx-accent);
}
.yfx-wave path { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 5. Components ---------- */

/* Eyebrow badge (Elementor CSS class "eyebrow") */
.eyebrow { margin-bottom: 18px !important; }
.eyebrow .elementor-heading-title {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	color: #345239 !important; /* AA contrast on the tint */
	background: rgba(233, 240, 230, .9) !important;
	padding: 8px 16px 8px 18px !important;
	border-radius: var(--yfx-pill) !important;
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .14);
}
.eyebrow .elementor-heading-title::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yfx-accent);
	box-shadow: 0 0 0 4px rgba(79, 122, 91, .16);
}

/* Buttons: solid pill, quiet shadow, chevron on icon-less buttons */
.elementor-button,
a.elementor-button,
button.elementor-button,
.lead-form button.pushbutton-wide {
	background: var(--yfx-accent) !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--yfx-pill) !important;
	padding: 15px 30px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	box-shadow: var(--yfx-shadow-btn) !important;
	transition: background-color .25s ease, box-shadow .3s ease, opacity .2s ease !important;
	will-change: transform;
}
.elementor-button:hover,
.lead-form button.pushbutton-wide:hover {
	background: var(--yfx-accent-deep) !important;
	box-shadow: 0 1px 2px rgba(63, 98, 73, .2), 0 14px 28px -12px rgba(63, 98, 73, .6) !important;
	opacity: 1;
}
.elementor-button:active .elementor-button-content-wrapper,
.lead-form button.pushbutton-wide:active { transform: scale(.97); }
.elementor-button .elementor-button-content-wrapper {
	align-items: center;
	gap: 10px;
	transition: transform .2s var(--yfx-ease);
}
.elementor-button .elementor-button-icon { margin: 0 !important; }
.elementor-button .elementor-button-icon svg { fill: currentColor; }
.elementor-button:not(:has(.elementor-button-icon)) .elementor-button-content-wrapper::after {
	content: "";
	width: 7px;
	height: 7px;
	border-left: 1.75px solid currentColor;
	border-bottom: 1.75px solid currentColor;
	transform: rotate(45deg);
	transition: transform .35s var(--yfx-ease);
}
.elementor-button:not(:has(.elementor-button-icon)):hover .elementor-button-content-wrapper::after {
	transform: translateX(-3px) rotate(45deg);
}

/* Cards: icon boxes / image boxes with a surface */
.elementor-widget-icon-box,
.elementor-widget-image-box { /* radius/border are invisible on boxes without a surface, so no JS needed (editor matches) */
	border-radius: var(--yfx-radius) !important;
	border-color: var(--yfx-line) !important;
}
body .yfx-card {
	--yfx-lift: 0px;
	--yfx-rx: 0deg;
	--yfx-ry: 0deg;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	box-shadow: var(--yfx-shadow);
	transform: perspective(1000px) translateY(var(--yfx-lift)) rotateX(var(--yfx-rx)) rotateY(var(--yfx-ry));
	transition: transform .6s var(--yfx-ease), box-shadow .45s ease, border-color .3s ease;
}
body .yfx-card:hover { --yfx-lift: -6px; box-shadow: var(--yfx-shadow-lift); }
body .yfx-card.yfx-tilting { transition: transform .18s ease-out, box-shadow .45s ease, border-color .3s ease; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	body .yfx-card::before { /* rotating gradient frame, visible as a 1.5px ring */
		content: "";
		position: absolute;
		z-index: -2;
		top: 50%;
		left: 50%;
		width: 220%;
		aspect-ratio: 1;
		background: conic-gradient(from 0deg, transparent 0 28%, rgba(123, 164, 135, .95) 40%, #4F7A5B 50%, rgba(233, 240, 230, .95) 60%, transparent 72% 100%);
		opacity: 0;
		transform: translate(-50%, -50%) rotate(0turn);
		transition: opacity .45s ease;
		animation: yfx-spin 4.5s linear infinite paused;
		pointer-events: none;
	}
	body .yfx-card::after {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 1.5px;
		border-radius: var(--yfx-card-r, 21.5px);
		background: var(--yfx-card-bg, #fff);
		pointer-events: none;
	}
	body .yfx-card:hover { border-color: transparent !important; }
	body .yfx-card:hover::before { opacity: 1; animation-play-state: running; }
}
@keyframes yfx-spin { to { transform: translate(-50%, -50%) rotate(1turn); } }

/* Icon: soft rounded tile instead of the old halo circle */
.elementor-icon-box-icon { margin-bottom: 18px !important; }
.elementor-icon-box-icon .elementor-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 18px;
	background: var(--yfx-green-tint) !important;
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .12);
	color: var(--yfx-accent) !important;
	font-size: 26px !important;
	transition: background-color .35s ease, color .35s ease, transform .5s var(--yfx-ease), box-shadow .35s ease !important;
}
.elementor-icon-box-icon .elementor-icon svg { width: 26px; height: 26px; fill: currentColor !important; transition: fill .35s ease; }
.elementor-widget-icon-box:hover .elementor-icon-box-icon .elementor-icon {
	background: var(--yfx-accent) !important;
	color: #fff !important;
	box-shadow: 0 10px 22px -10px rgba(63, 98, 73, .6);
	transform: translateY(-2px) rotate(-6deg);
}
.elementor-icon-box-title { color: var(--yfx-ink); margin-bottom: 8px !important; }
.elementor-icon-box-title a { font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; color: inherit !important; }
/* Superseded Additional CSS hover rules (inner "box" shadow, whole-row lift) */
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper { box-shadow: none !important; transform: none !important; }
.e-con:has(> .elementor-widget-icon-box ~ .elementor-widget-icon-box) { box-shadow: none !important; transform: none !important; }

/* Icon lists. Elementor's default list text colour is the global "Secondary" colour, which this kit sets
   to #FFFFFF — lists without an explicit colour (two on the groups page) rendered white-on-white.
   Specificity (0,2,1) beats that default (0,2,0) but not any per-widget colour (0,3,0+). */
body .elementor-widget-icon-list .elementor-icon-list-text { color: var(--yfx-text); }
/* Check marks in the accent */
.elementor-icon-list-icon svg { fill: var(--yfx-accent) !important; }
.elementor-icon-list-icon i { color: var(--yfx-accent) !important; }
.elementor-icon-list-item { padding-block: 3px; }

/* Social icons: quiet outline circles (no more brand-coloured squares) */
.elementor-social-icons-wrapper { gap: 10px; }
.elementor-social-icon {
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 1.5px var(--yfx-line-strong) !important;
	transition: background-color .3s ease, box-shadow .3s ease, transform .5s var(--yfx-ease) !important;
}
.elementor-social-icon svg { width: 18px !important; height: 18px !important; fill: var(--yfx-ink) !important; transition: fill .3s ease; }
.elementor-social-icon i { color: var(--yfx-ink) !important; font-size: 18px !important; }
.elementor-social-icon:hover {
	background: var(--yfx-accent) !important;
	box-shadow: inset 0 0 0 1.5px var(--yfx-accent), 0 10px 22px -12px rgba(63, 98, 73, .6) !important;
	transform: translateY(-3px);
}
.elementor-social-icon:hover svg { fill: #fff !important; }
.elementor-social-icon:hover i { color: #fff !important; }

/* Images: generous radius, soft tinted depth, native scroll parallax (Chrome/Safari) */
.elementor-widget-image { overflow: hidden; border-radius: var(--yfx-radius-lg) !important; }
.elementor-widget-image img {
	display: block;
	border-radius: var(--yfx-radius-lg) !important;
	box-shadow: 0 2px 6px rgba(62, 47, 35, .06), 0 30px 60px -30px rgba(62, 47, 35, .4);
}
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.elementor-widget-image img {
			animation: yfx-img-parallax linear both;
			animation-timeline: view();
			animation-range: entry 0% exit 100%;
			will-change: transform;
		}
		@keyframes yfx-img-parallax {
			from { transform: scale(1.14) translateY(-3%); }
			to { transform: scale(1.14) translateY(3%); }
		}
		.elementor-widget-image.yfx-no-parallax img { animation: none; }
	}
}

/* FAQ accordion: open list with hairlines and a rotating plus */
.elementor-accordion { border: 0; }
.elementor-accordion .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid var(--yfx-line) !important;
	border-radius: 0 !important;
	overflow: visible;
	background: transparent;
}
.elementor-accordion .elementor-accordion-item:first-child { border-top: 1px solid var(--yfx-line) !important; }
.elementor-accordion .elementor-tab-title {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 4px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--yfx-ink) !important;
	cursor: pointer;
	transition: color .25s ease;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-title { color: inherit !important; flex: 1; }
.elementor-accordion .elementor-tab-title:hover,
.elementor-accordion .elementor-tab-title.elementor-active { color: var(--yfx-accent-deep) !important; }
.elementor-accordion .elementor-accordion-icon {
	order: 2;
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(79, 122, 91, .08);
	transition: background-color .3s ease, transform .5s var(--yfx-ease);
}
.elementor-accordion .elementor-accordion-icon svg { width: 12px; height: 12px; fill: var(--yfx-accent-deep) !important; }
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
	background: var(--yfx-accent);
	transform: rotate(180deg);
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg { fill: #fff !important; }
.elementor-accordion .elementor-tab-content {
	border: 0 !important;
	padding: 0 4px 26px 54px !important;
	background: transparent !important;
}

/* Divider used as an accent (Elementor class "accent-divider") */
.accent-divider .elementor-divider-separator { border-top-width: 3px !important; border-radius: 3px; }

/* Forms (Jetpack contact form inside .lead-form / .lead-form-compact) */
.lead-form-section { max-width: 640px; }
.lead-form-section .eyebrow { margin-bottom: 12px !important; }
.lead-form-section h2.elementor-heading-title { margin-bottom: 6px; }
.lead-form, .lead-form-compact { width: 100% !important; align-self: stretch !important; }
.lead-form .jetpack-contact-form-container, .lead-form .contact-form,
.lead-form-compact .jetpack-contact-form-container, .lead-form-compact .contact-form { width: 100%; }
.lead-form .contact-form { margin-top: 18px; }
.lead-form .grunion-field-wrap { margin-bottom: 18px; }
.lead-form .grunion-field-label {
	display: block;
	font-weight: 700;
	color: var(--yfx-ink);
	font-size: 14.5px;
	margin-bottom: 8px;
}
.lead-form .grunion-field-label span { font-weight: 400; color: #9C8C7A; font-size: 12.5px; }
.lead-form .grunion-field:not([type="checkbox"]):not([type="radio"]) {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--yfx-line-strong);
	border-radius: var(--yfx-radius-sm);
	padding: 14px 18px;
	font-size: 16px;
	font-family: inherit;
	color: var(--yfx-ink);
	background: var(--yfx-surface);
	box-shadow: var(--yfx-shadow-xs);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.lead-form input.grunion-field:not([type="checkbox"]):not([type="radio"]) { width: 100% !important; } /* beats a Jetpack rule forcing 50% */
.lead-form input[type="checkbox"].grunion-field,
.lead-form-compact input[type="checkbox"].grunion-field {
	width: 20px !important;
	height: 20px;
	flex: 0 0 20px;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	accent-color: var(--yfx-accent);
	cursor: pointer;
}
.lead-form textarea.grunion-field { min-height: 140px; resize: vertical; }
.lead-form .grunion-field:not([type="checkbox"]):focus {
	outline: none;
	border-color: var(--yfx-accent);
	box-shadow: 0 0 0 4px rgba(79, 122, 91, .14);
}
.lead-form button.pushbutton-wide { display: inline-block; width: 100%; cursor: pointer; }
/* Consent checkbox (Jetpack: .grunion-field-checkbox-wrap > .contact-form__checkbox-wrap > input + label) */
.lead-form .grunion-field-checkbox-wrap,
.lead-form-compact .grunion-field-checkbox-wrap { flex-basis: 100%; }
.lead-form .contact-form__checkbox-wrap,
.lead-form-compact .contact-form__checkbox-wrap { display: flex; align-items: flex-start; gap: 10px; }
.lead-form .contact-form__checkbox-wrap .clear-form,
.lead-form-compact .contact-form__checkbox-wrap .clear-form { display: none; }
.lead-form .contact-form__checkbox-wrap .grunion-field-label,
.lead-form-compact .contact-form__checkbox-wrap .grunion-field-label {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}
/* After sending: the client's two lines, centred like the card, under a soft check mark */
.lead-form .contact-form-submission,
.lead-form-compact .contact-form-submission { margin: 0; padding-block: 12px 4px; text-align: center; }
.lead-form .contact-form-submission h4,
.lead-form-compact .contact-form-submission h4 {
	margin: 0 0 6px;
	font-size: clamp(22px, 2.2vw, 26px);
	font-weight: 800;
	line-height: 1.35;
	color: var(--yfx-ink);
	text-align: center;
	text-wrap: balance;
}
.lead-form .contact-form-submission h4::before,
.lead-form-compact .contact-form-submission h4::before {
	content: "";
	display: block;
	width: 52px;
	height: 52px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--yfx-green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F7A5B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 24px no-repeat;
	box-shadow: var(--yfx-shadow-xs);
}
.lead-form .jetpack_forms_contact-form-custom-success-message,
.lead-form-compact .jetpack_forms_contact-form-custom-success-message { margin: 0; font-size: 18px; line-height: 1.6; color: var(--yfx-text); text-align: center; }
@media (prefers-reduced-motion: no-preference) {
	.lead-form .contact-form-submission.submission-success,
	.lead-form-compact .contact-form-submission.submission-success { animation: yfx-rise .7s var(--yfx-ease) backwards; }
}
.lead-form-compact form.contact-form { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; max-width: 480px; }
.lead-form-compact .grunion-field-wrap { flex: 1 1 200px; min-width: 200px; margin-bottom: 0 !important; }
.lead-form-compact .contact-submit { flex: 1 1 100%; margin-top: 2px; }
/* Name + phone share a row; e-mail, message and consent take the full width */
.lead-form-compact .grunion-field-email-wrap,
.lead-form-compact .grunion-field-textarea-wrap { flex-basis: 100%; }
.lead-form-compact textarea.grunion-field { min-height: 110px; }
.lead-form-compact form.contact-form { max-width: none; }

/* Lead form section on simple pages (personal treatments) */
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:has(.lead-form) {
	margin-top: clamp(40px, 6vw, 72px);
	padding: clamp(28px, 4.5vw, 52px) clamp(24px, 5vw, 60px) !important;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
	align-items: stretch !important;
	text-align: start !important;
}
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:has(.lead-form) .elementor-heading-title {
	font-size: clamp(24px, 2.4vw, 30px) !important;
	text-align: center;
	margin-bottom: 6px;
}
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:has(.lead-form) .elementor-widget-text-editor p { text-align: center; color: var(--yfx-muted); }
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:has(.lead-form) .lead-form { text-align: start; }
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:has(.lead-form) > .e-con-inner { padding: 0 !important; }
/* In-page anchors to a form land with the floating header clear of it */
#join, #contact-form { scroll-margin-top: calc(var(--yfx-header-h) + 24px); }
.lead-form-compact button.pushbutton-wide { width: auto; padding: 13px 32px !important; }

/* ---------- 6. Keyword marquee (home, decorative, injected by JS) ---------- */
.yfx-marquee {
	position: relative;
	overflow: hidden;
	padding-block: clamp(22px, 3vw, 40px);
	border-block: 1px solid var(--yfx-line);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	user-select: none;
}
.yfx-marquee__track { display: flex; width: max-content; will-change: transform; }
.yfx-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: clamp(22px, 3vw, 44px);
	padding-inline-end: clamp(22px, 3vw, 44px);
	font-size: clamp(26px, 3.6vw, 52px);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--yfx-ink);
	white-space: nowrap;
}
.yfx-marquee__item:nth-child(even) { color: var(--yfx-accent); font-weight: 600; }
.yfx-marquee__item::after { /* separator: a tiny open circle, echoing the logo */
	content: "";
	width: .32em;
	height: .32em;
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px var(--yfx-accent-soft);
}

/* ---------- 7. Motion helpers ---------- */
.yfx-word {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding-bottom: .16em; /* room for ק ף ץ ן descenders inside the mask */
	margin-bottom: -.16em;
}
.yfx-word__in { display: inline-block; will-change: transform; }

[data-yfx-count] { display: inline-block; font-variant-numeric: tabular-nums; text-align: center; }

/* Scroll progress (native scroll timeline; grows from the right for RTL) */
@supports (animation-timeline: scroll()) {
	@media (prefers-reduced-motion: no-preference) {
		body::before {
			content: "";
			position: fixed;
			top: 0;
			right: 0;
			left: 0;
			height: 2px;
			z-index: 100000;
			transform-origin: right center;
			background: linear-gradient(90deg, var(--yfx-accent-soft), var(--yfx-accent));
			animation: yfx-scroll-progress linear both;
			animation-timeline: scroll(root block);
			pointer-events: none;
		}
		@keyframes yfx-scroll-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
	}
}

/* ---------- 8. Footer + legal bar ---------- */
.site-footer.dynamic-footer {
	background-color: #F6F1E8;
	border-top: 1px solid #ECE3D1;
}
.site-footer .footer-inner { padding: 56px 24px 36px; max-width: 1320px; margin: 0 auto; }
.site-footer .site-branding { display: flex !important; justify-content: center; margin-bottom: 22px; }
.site-footer .site-logo { display: block !important; }
.site-footer .custom-logo { max-height: 48px !important; mix-blend-mode: multiply; }
.site-footer .site-navigation, .site-footer .site-navigation.hide { display: block !important; margin-bottom: 8px; }
.site-footer .site-navigation ul.menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 6px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-footer .site-navigation ul.menu li { margin: 0; }
.site-footer .site-navigation ul.menu > li > a {
	color: #6B5C4A;
	font-weight: 600;
	font-size: 14.5px;
	text-decoration: none;
	padding: 7px 14px !important;
	border-radius: var(--yfx-pill);
	transition: color .2s ease, background-color .2s ease;
}
.site-footer .site-navigation ul.menu > li > a:hover { color: var(--yfx-accent-deep); background-color: rgba(79, 122, 91, .08); }
/* The theme's English "All Rights Reserved 2024" duplicates (and contradicts) the Hebrew © 2026 in the legal bar */
.site-footer .copyright { display: none !important; }

.legal-bar { border-top: 1px solid var(--yfx-line); }
.legal-bar-info p, .legal-bar-links p {
	font-size: 13px !important;
	color: #6B5D4F !important;
	text-align: center !important;
	line-height: 1.9 !important;
	margin: 0 !important;
}
.legal-bar-links a { color: var(--yfx-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (pointer: coarse) { .legal-bar-links a { display: inline-block; padding: 10px 6px; margin: -10px 0; } } /* finger-sized targets */
/* Legal bar is the last top-level container on these pages (its custom class doesn't render reliably) */
.elementor-69 > .elementor-element:last-child,
.elementor-56 > .elementor-element:last-child,
.elementor-50 > .elementor-element:last-child,
.elementor-42 > .elementor-element:last-child,
.elementor-504 > .elementor-element:last-child {
	background-color: #F6F1E8 !important;
	margin-top: 8px !important;
}

/* ---------- 8b. Simple pages ----------
   Pages on the theme's default template print the title in .page-header and the body in main.site-main:has(> .page-header) > .page-content:
   blog posts, privacy/terms, and the two pages built from Elementor 4 atomic elements (personal
   treatments, meditations hub). None of the Elementor styling reaches them, so they get their own layout:
   a title band with the hero halo + dot field, then a centred reading column. */
main.site-main:has(> .page-header) { max-width: none; margin: 0; padding: 0; }
main.site-main > .page-header {
	position: relative;
	isolation: isolate;
	overflow: clip;
	max-width: none;
	margin: 0;
	padding: clamp(64px, 9vw, 128px) 24px clamp(40px, 5vw, 72px);
	text-align: center;
}
main.site-main > .page-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(55% 80% at 30% 40%, rgba(233, 240, 230, .9), transparent 70%),
		radial-gradient(45% 70% at 78% 30%, rgba(246, 239, 230, .95), transparent 70%);
}
main.site-main > .page-header .entry-title {
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
	color: var(--yfx-ink);
	animation: yfx-rise 1s var(--yfx-ease) both;
}
main.site-main > .page-header .entry-title::after { /* short accent line under the title */
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin: 28px auto 0;
	border-radius: 3px;
	background: var(--yfx-accent-soft);
}
.single-post main.site-main > .page-header .entry-title { font-size: clamp(32px, 4.2vw, 56px) !important; line-height: 1.12 !important; }

main.site-main:has(> .page-header) > .page-content {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px clamp(72px, 9vw, 128px);
}
main.site-main:has(> .page-header) > .page-content > * { animation: yfx-rise .9s var(--yfx-ease) both; }
main.site-main:has(> .page-header) > .page-content > :nth-child(1) { animation-delay: .1s; }
main.site-main:has(> .page-header) > .page-content > :nth-child(2) { animation-delay: .18s; }
main.site-main:has(> .page-header) > .page-content > :nth-child(3) { animation-delay: .26s; }
main.site-main:has(> .page-header) > .page-content > :nth-child(n+4) { animation: none; }
@keyframes yfx-rise { from { opacity: 0; transform: translateY(18px); } }

/* Long-form text (posts, legal pages) */
main.site-main:has(> .page-header) > .page-content > p, main.site-main:has(> .page-header) > .page-content > ul, main.site-main:has(> .page-header) > .page-content > ol, main.site-main:has(> .page-header) > .page-content > blockquote { margin: 0 0 1.25em; }
main.site-main:has(> .page-header) > .page-content > h2, main.site-main:has(> .page-header) > .page-content > .wp-block-heading:is(h2) {
	font-size: clamp(24px, 2.4vw, 32px) !important;
	line-height: 1.25 !important;
	margin: 1.9em 0 .55em;
}
main.site-main:has(> .page-header) > .page-content > h3, main.site-main:has(> .page-header) > .page-content h3.wp-block-heading {
	font-size: clamp(19px, 1.7vw, 23px) !important;
	margin: 1.6em 0 .45em;
	color: var(--yfx-ink);
}
main.site-main:has(> .page-header) > .page-content > ul, main.site-main:has(> .page-header) > .page-content > ol { padding-inline-start: 1.3em; }
main.site-main:has(> .page-header) > .page-content li { margin-bottom: .5em; line-height: 1.8; font-size: clamp(16px, 1.15vw, 18px); }
main.site-main:has(> .page-header) > .page-content li::marker { color: var(--yfx-accent); }
main.site-main:has(> .page-header) > .page-content > blockquote, main.site-main:has(> .page-header) > .page-content .wp-block-quote {
	padding: 4px 22px 4px 0;
	border-inline-start: 3px solid var(--yfx-accent-soft);
	color: var(--yfx-ink);
	font-weight: 600;
}
main.site-main:has(> .page-header) > .page-content > p > a, main.site-main:has(> .page-header) > .page-content li > a { color: var(--yfx-accent); text-underline-offset: 3px; }

/* Atomic-element pages: the intro reads as a centred lead */
main.site-main:has(> .page-header) > .page-content > .elementor .e-con { padding: 0 !important; align-items: center; text-align: center; }
main.site-main:has(> .page-header) > .page-content > .elementor .e-heading-base {
	width: 100%;
	margin: 0 0 18px;
	text-align: center;
	font-size: clamp(20px, 2.1vw, 26px) !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.01em !important;
	color: var(--yfx-accent-deep);
}
main.site-main:has(> .page-header) > .page-content > .elementor .e-paragraph-base {
	margin: 0 auto;
	max-width: 640px;
	text-align: center;
	font-size: clamp(17px, 1.3vw, 19px) !important;
	line-height: 1.85 !important;
	color: var(--yfx-text);
}
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con { animation: yfx-rise .9s var(--yfx-ease) both; }
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:nth-child(2) { animation-delay: .12s; }
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:nth-child(3) { animation-delay: .24s; }
main.site-main:has(> .page-header) > .page-content > .elementor > .e-con:nth-child(n+4) { animation-delay: .36s; }

/* A row of 2+ buttons in a simple page becomes a grid of link tiles (meditations hub playlists) */
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
	margin-top: clamp(32px, 4vw, 48px);
}
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button { width: 100%; margin: 0 !important; }
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) .elementor-button {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 22px;
	width: 100%;
	height: 100%;
	min-height: 140px;
	padding: 20px 20px 18px !important;
	text-align: start;
	white-space: normal;
	line-height: 1.35;
	font-size: 16.5px !important;
	color: var(--yfx-ink) !important;
	background: var(--yfx-surface) !important;
	border-radius: var(--yfx-radius) !important;
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow) !important;
	transition: background-color .3s ease, color .3s ease, box-shadow .35s ease, transform .5s var(--yfx-ease) !important;
}
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) .elementor-button::before { /* play badge */
	content: "";
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--yfx-green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234F7A5B' d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") center / 18px no-repeat;
	transition: background-color .3s ease;
}
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) .elementor-button .elementor-button-content-wrapper {
	width: 100%;
	justify-content: space-between;
}
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) .elementor-button:hover {
	color: #fff !important;
	background: var(--yfx-accent) !important;
	box-shadow: var(--yfx-shadow-lift) !important;
	transform: translateY(-4px);
}
main.site-main:has(> .page-header) > .page-content .e-con:has(> .elementor-widget-button + .elementor-widget-button) .elementor-button:hover::before {
	background: rgba(255, 255, 255, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") center / 18px no-repeat;
}

/* ---------- 8c. Home page sections ---------- */

/* Intro story ("לחיות במציאות של עולם חדש…"): short lines in a quiet card, closing line emphasised */
.yfx-story {
	width: 100%;
	max-width: 760px !important;
	margin: 28px auto 0 !important;
	padding: clamp(30px, 4.5vw, 56px) clamp(22px, 4.5vw, 60px) !important;
	align-self: center;
	text-align: center;
	background:
		radial-gradient(80% 60% at 50% 0%, rgba(233, 240, 230, .7), transparent 70%),
		var(--yfx-surface);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}
.yfx-story p {
	margin: 0 0 1.1em !important;
	font-size: clamp(17px, 1.35vw, 19.5px) !important;
	line-height: 1.95 !important;
	color: var(--yfx-text);
	text-align: center !important;
}
.yfx-story p.yfx-story__cta {
	position: relative;
	margin: 1.7em 0 0 !important;
	padding-top: 1.4em;
}
.yfx-story p.yfx-story__cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 48px;
	height: 3px;
	margin-left: -24px;
	border-radius: 3px;
	background: var(--yfx-accent-soft);
}
.yfx-story__cta strong {
	font-size: clamp(21px, 2.1vw, 27px);
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--yfx-accent-deep);
}

/* Primary CTA ("לקבוצות מדיטציה"): larger, lotus icon in a disc, a slow breathing halo */
.yfx-cta-primary .elementor-button {
	position: relative;
	isolation: isolate;
	padding: 18px 34px 18px 38px !important;
	font-size: 19px !important;
	box-shadow: 0 1px 2px rgba(63, 98, 73, .2), 0 18px 36px -14px rgba(63, 98, 73, .65) !important;
}
.yfx-cta-primary .elementor-button::before {
	content: "";
	position: absolute;
	inset: -7px;
	z-index: -1;
	border-radius: inherit;
	box-shadow: 0 0 0 1.5px rgba(79, 122, 91, .4);
	animation: yfx-halo 3.6s var(--yfx-ease-soft) infinite;
	pointer-events: none;
}
@keyframes yfx-halo {
	0% { transform: scale(.94); opacity: .9; }
	70%, 100% { transform: scale(1.12); opacity: 0; }
}
.yfx-cta-primary .elementor-button .elementor-button-content-wrapper { gap: 14px; }
.yfx-cta-primary .elementor-button .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
}
.yfx-cta-primary .elementor-button .elementor-button-icon svg { width: 19px; height: 19px; }
/* Groups button: three seated meditators (after the client's sketch) instead of the lotus */
.yfx-cta-group .elementor-button .elementor-button-icon { width: 56px; height: 40px; border-radius: var(--yfx-pill); }
.yfx-cta-group .elementor-button .elementor-button-icon svg,
.yfx-cta-group .elementor-button .elementor-button-icon i { display: none; }
.yfx-cta-group .elementor-button .elementor-button-icon::before {
	content: "";
	width: 40px;
	height: 25px;
	background: currentColor;
	-webkit-mask: url(../img/meditating-group.svg) center / contain no-repeat;
	mask: url(../img/meditating-group.svg) center / contain no-repeat;
}

/* Home cards: icons breathe slowly, one after another (was an inline anime.js v3 script from a CDN) */
@media (prefers-reduced-motion: no-preference) {
	.elementor-69 .elementor-icon-box-icon { animation: yfx-breathe 2.6s ease-in-out infinite alternate; }
	.elementor-69 .elementor-widget-icon-box:nth-child(2) .elementor-icon-box-icon { animation-delay: .18s; }
	.elementor-69 .elementor-widget-icon-box:nth-child(3) .elementor-icon-box-icon { animation-delay: .36s; }
	.elementor-69 .elementor-widget-icon-box:nth-child(4) .elementor-icon-box-icon { animation-delay: .54s; }
}
@keyframes yfx-breathe { from { transform: scale(1); } to { transform: scale(1.08); } }

/* Closing CTA band: form card on the right, WhatsApp group + contact details stacked on the left */
.elementor-element-466e6448 {
	display: grid !important;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 20px !important;
	align-items: stretch;
	max-width: 1180px;
	margin: clamp(56px, 7vw, 96px) auto 0 !important;
	padding: 0 24px clamp(56px, 7vw, 96px) !important;
	background: transparent !important;
}
.elementor-element-466e6448 > .e-con { width: auto !important; max-width: none !important; margin: 0 !important; }
.elementor-element-64baf2cb {
	grid-row: 1 / span 2;
	align-items: stretch !important;
	justify-content: center;
	padding: clamp(32px, 4.5vw, 60px) clamp(28px, 5vw, 72px) !important;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}
.elementor-element-64baf2cb > .elementor-element { width: 100% !important; align-self: stretch !important; }
.elementor-element-64baf2cb .elementor-heading-title,
.elementor-element-64baf2cb .elementor-widget-text-editor,
.elementor-element-64baf2cb .elementor-widget-text-editor p { text-align: start !important; }
.elementor-element-64baf2cb .elementor-widget-text-editor p { margin-bottom: 4px; }
.elementor-element-74dbfb8 { display: none !important; } /* holds only the Service JSON-LD */
.elementor-element-5a16065,
.elementor-element-c13ad1f {
	justify-content: center !important;
	align-items: center !important;
	padding: clamp(30px, 3.5vw, 44px) clamp(28px, 4vw, 56px) !important;
	border-radius: var(--yfx-radius);
	text-align: center;
}
.elementor-element-5a16065 { background: var(--yfx-green-tint); }
.elementor-element-c13ad1f { background: #F6F1E8; gap: 14px; }
.elementor-element-650662e p { margin: 0 !important; font-size: 15px !important; line-height: 1.7 !important; text-align: center !important; }
.elementor-element-650662e p:first-child { font-weight: 600; color: var(--yfx-ink); }
.elementor-element-650662e p:last-child { color: var(--yfx-muted); }
@media (max-width: 900px) {
	.elementor-element-466e6448 { grid-template-columns: minmax(0, 1fr); }
	.elementor-element-64baf2cb { grid-row: auto; }
}

/* ---------- 8d. Expandable lists (Elementor "toggle" widget) ----------
   .yfx-acc  — a list of titles; each opens its detail (hairlines, round plus like the FAQ).
   .yfx-more — one card whose detail opens inside it; .yfx-more--pill is a centred button instead. */
.elementor-widget-toggle.yfx-acc,
.elementor-widget-toggle.yfx-more { width: 100% !important; max-width: 820px !important; margin: 14px auto 0 !important; }
.yfx-acc .elementor-toggle,
.yfx-more .elementor-toggle { border: 0; }
.yfx-acc .elementor-toggle-item,
.yfx-more .elementor-toggle-item { margin: 0 !important; border: 0 !important; }
.yfx-acc .elementor-toggle-item { border-bottom: 1px solid var(--yfx-line) !important; }
.yfx-acc .elementor-toggle-item:first-child { border-top: 1px solid var(--yfx-line) !important; }
.yfx-acc .elementor-tab-title,
.yfx-more .elementor-tab-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 !important;
	padding: 20px 4px !important;
	border: 0 !important;
	background: transparent !important;
	cursor: pointer;
	text-align: start;
}
.yfx-acc .elementor-toggle-title,
.yfx-more .elementor-toggle-title {
	flex: 1;
	font-size: clamp(17px, 1.4vw, 20px) !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.005em;
	color: var(--yfx-ink) !important;
	text-decoration: none !important;
	transition: color .25s ease;
}
.yfx-acc .elementor-tab-title:hover .elementor-toggle-title,
.yfx-acc .elementor-tab-title.elementor-active .elementor-toggle-title,
.yfx-more .elementor-tab-title:hover .elementor-toggle-title { color: var(--yfx-accent-deep) !important; }
.yfx-acc .elementor-toggle-icon,
.yfx-more .elementor-toggle-icon {
	order: 2;
	flex: 0 0 34px;
	width: 34px !important;
	height: 34px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	border-radius: 50%;
	background: rgba(79, 122, 91, .09);
	transition: background-color .3s ease, transform .5s var(--yfx-ease);
}
.yfx-acc .elementor-toggle-icon svg,
.yfx-more .elementor-toggle-icon svg { width: 12px; height: 12px; fill: var(--yfx-accent-deep) !important; }
.yfx-acc .elementor-tab-title.elementor-active .elementor-toggle-icon,
.yfx-more .elementor-tab-title.elementor-active .elementor-toggle-icon { background: var(--yfx-accent); transform: rotate(180deg); }
.yfx-acc .elementor-tab-title.elementor-active .elementor-toggle-icon svg,
.yfx-more .elementor-tab-title.elementor-active .elementor-toggle-icon svg { fill: #fff !important; }
.yfx-acc .elementor-tab-content,
.yfx-more .elementor-tab-content { border: 0 !important; text-align: start; }
.yfx-acc .elementor-tab-content { padding: 0 4px 22px !important; padding-inline-end: 52px !important; }
.yfx-acc .elementor-tab-content p,
.yfx-more .elementor-tab-content p,
.yfx-more .elementor-tab-content li {
	font-size: clamp(16px, 1.15vw, 17px) !important;
	line-height: 1.85 !important;
	color: var(--yfx-text) !important;
	text-align: start !important;
}
.yfx-acc .elementor-tab-content p:last-child { margin-bottom: 0; }
.yfx-acc-more { width: 100% !important; max-width: 820px !important; margin-inline: auto !important; }
.yfx-acc-more p { margin-top: 14px !important; text-align: center !important; color: var(--yfx-muted) !important; font-weight: 600 !important; }

/* .yfx-more: a card */
.yfx-more .elementor-toggle-item {
	overflow: hidden;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}
.yfx-more .elementor-tab-title { padding: 22px clamp(20px, 3vw, 32px) !important; }
.yfx-more .elementor-tab-title::after { /* hint between title and icon */
	content: "לפירוט";
	order: 1;
	font-size: 14px;
	font-weight: 700;
	color: var(--yfx-accent-deep);
	white-space: nowrap;
}
.yfx-more .elementor-tab-title.elementor-active::after { content: "סגירה"; }
.yfx-more .elementor-tab-content { padding: 0 clamp(20px, 3vw, 32px) clamp(24px, 3vw, 32px) !important; }
.yfx-more .elementor-tab-content ul { margin: 0 0 1em; padding-inline-start: 1.2em; }
.yfx-more .elementor-tab-content ul ul { margin: .4em 0 .2em; }
.yfx-more .elementor-tab-content li { margin-bottom: .55em; }
.yfx-more .elementor-tab-content li::marker { color: var(--yfx-accent); }
.yfx-more .elementor-tab-content strong { color: var(--yfx-ink); font-weight: 700; }
.yfx-more .elementor-tab-content p.yfx-more__close {
	margin: 1.2em 0 0 !important;
	padding-top: 1.1em;
	border-top: 1px solid var(--yfx-line);
	text-align: center !important;
	text-wrap: balance;
}
.yfx-more .elementor-tab-content p.yfx-more__close strong { color: var(--yfx-accent-deep); font-weight: 800; font-size: clamp(17px, 1.4vw, 19px); }
.yfx-spaced { letter-spacing: .3em; margin-inline-end: -.3em; } /* the spacing after the last letter would push the "!" away */

/* .yfx-more--pill: a centred button that opens a card below it */
.yfx-more--pill .elementor-toggle-item { overflow: visible; background: transparent; box-shadow: none; border-radius: 0; text-align: center; }
.yfx-more--pill .elementor-tab-title {
	display: inline-flex !important;
	margin: 0 auto !important;
	padding: 8px 8px 8px 8px !important;
	padding-inline-start: 22px !important;
	border-radius: var(--yfx-pill);
	background: var(--yfx-green-tint) !important;
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .18);
	transition: background-color .25s ease, box-shadow .25s ease;
}
.yfx-more--pill .elementor-tab-title:hover { background: #DFEADB !important; }
.yfx-more--pill .elementor-tab-title::after,
.yfx-more--pill .elementor-tab-title.elementor-active::after { content: none; }
.yfx-more--pill .elementor-toggle-title { flex: 0 0 auto; font-size: 16px !important; color: var(--yfx-accent-deep) !important; }
.yfx-more--pill .elementor-toggle-icon { background: var(--yfx-surface); }
.yfx-more--pill .elementor-tab-content {
	margin-top: 18px;
	padding: clamp(22px, 3.5vw, 36px) !important;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}

/* Check list inside a card ("למי זה מתאים") */
.yfx-checklist { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 14px; }
.yfx-more .elementor-tab-content .yfx-checklist li { position: relative; margin: 0; padding-inline-start: 34px; }
.yfx-checklist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .38em;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--yfx-green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5.2 4.3 8.5 11 1.5' fill='none' stroke='%233F6249' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* ---------- 8e. Groups page ---------- */
body .yfx-h1-soft h1.elementor-heading-title { font-weight: 600 !important; letter-spacing: -0.015em !important; }

/* Studio photo right under the subtitle; the hero and the intro sit closer together */
.yfx-groups-photo { width: min(100%, 980px) !important; max-width: 980px; margin: clamp(14px, 2vw, 24px) auto 0 !important; }
.yfx-groups-photo img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
@media (max-width: 767px) {
	.yfx-groups-photo { width: calc(100% - 32px) !important; }
	.yfx-groups-photo img { aspect-ratio: 4 / 3; }
}
.yfx-enso-host:has(> .yfx-groups-photo) > .yfx-enso { display: none; } /* the circle crossed the subtitle */
.elementor-element-63d34850 { padding-block-end: clamp(12px, 2vw, 24px) !important; }
.elementor-element-ec4c6de { padding-block-start: clamp(20px, 3vw, 36px) !important; }

/* Intro: lead + three soft rows, then the invitation in a box with balanced lines */
.yfx-intro { width: 100% !important; max-width: 720px !important; margin-inline: auto !important; }
.elementor-element-152ac140 .elementor-heading-title { text-align: center !important; }
.yfx-intro p.yfx-intro__lead {
	margin: 0 0 18px !important;
	text-align: center !important;
	font-size: clamp(19px, 1.7vw, 23px) !important;
	font-weight: 500 !important;
	line-height: 1.65 !important;
	color: var(--yfx-ink);
	text-wrap: balance;
}
.yfx-intro__list { list-style: none; display: grid; gap: 10px; max-width: 640px; margin: 0 auto !important; padding: 0 !important; }
.yfx-intro__list li {
	position: relative;
	padding: 14px 22px;
	padding-inline-start: 50px;
	background: var(--yfx-surface);
	border-radius: 18px;
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow-xs);
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.6;
	color: var(--yfx-text);
	text-align: start;
}
.yfx-intro__list li::before {
	content: "";
	position: absolute;
	inset-inline-start: 22px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -4.5px;
	border-radius: 50%;
	background: var(--yfx-accent-soft);
	box-shadow: 0 0 0 5px rgba(79, 122, 91, .12);
}
.yfx-callout {
	width: 100%;
	max-width: 760px !important;
	margin: clamp(28px, 4vw, 44px) auto 0 !important;
	padding: clamp(28px, 4vw, 48px) clamp(22px, 5vw, 64px) !important;
	text-align: center;
	background: radial-gradient(90% 70% at 50% 0%, rgba(255, 255, 255, .6), transparent 70%), var(--yfx-green-tint);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .16), var(--yfx-shadow);
}
.yfx-callout p {
	max-width: 26em;
	margin: 0 auto .55em !important;
	text-align: center !important;
	text-wrap: balance;
	font-size: clamp(18px, 1.6vw, 22px) !important;
	font-weight: 500 !important;
	line-height: 1.7 !important;
	color: var(--yfx-ink);
}
.yfx-callout p.yfx-callout__em {
	margin: .8em auto 0 !important;
	font-size: clamp(20px, 1.9vw, 25px) !important;
	font-weight: 800 !important;
	color: var(--yfx-accent-deep);
}

/* "למי זה מתאים": the invitation under the list button */
.yfx-invite { width: 100% !important; max-width: 640px !important; margin: 22px auto 4px !important; }
.yfx-invite p { text-align: center !important; text-wrap: balance; font-size: clamp(17px, 1.4vw, 20px) !important; font-weight: 500 !important; color: var(--yfx-ink); }

/* Framework and cost: two group cards + a price card */
.elementor-element-4754ba05,
.elementor-element-4754ba05 > .e-con-inner { justify-content: center !important; flex-wrap: wrap !important; gap: 20px !important; }
.elementor-element-4754ba05 .elementor-widget-icon-box {
	flex: 1 1 260px !important;
	max-width: 380px !important;
	padding: 28px 24px !important;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius) !important;
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}
.elementor-element-4754ba05 .elementor-icon-box-description { font-size: 16px !important; line-height: 1.75 !important; color: var(--yfx-text) !important; }
.yfx-price {
	width: 100%;
	max-width: 640px;
	margin: 28px auto 0 !important;
	padding: clamp(26px, 3.5vw, 40px) clamp(22px, 4vw, 48px) !important;
	text-align: center;
	background: #F6F1E8;
	border-radius: var(--yfx-radius-lg);
}
.yfx-price p { text-align: center !important; }
.yfx-price p.yfx-price__lead { font-size: clamp(17px, 1.4vw, 19px) !important; font-weight: 500 !important; color: var(--yfx-ink); text-wrap: balance; }
.yfx-price p.yfx-price__amount { margin: 8px 0 12px !important; font-size: 18px !important; color: var(--yfx-ink); }
.yfx-price__amount strong {
	display: block;
	font-size: clamp(42px, 4.6vw, 58px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--yfx-accent-deep);
}
.yfx-price__amount span { color: var(--yfx-muted); font-size: 15.5px; }
.yfx-price__notes { list-style: none; display: grid; gap: 6px; margin: 0 auto 16px !important; padding: 0 !important; }
.yfx-price__notes li { font-size: 15.5px; line-height: 1.6; color: var(--yfx-text); }
.yfx-price__notes li::before { content: "✓"; margin-inline-end: 8px; font-weight: 800; color: var(--yfx-accent); }
/* Trial lesson: the one line that lowers the step in, so it stands out from the payment terms */
.yfx-price p.yfx-price__trial {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto 16px !important;
	padding: 10px 18px;
	border-radius: var(--yfx-radius-sm);
	background: var(--yfx-surface);
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .2);
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var(--yfx-ink);
	text-wrap: balance;
}
.yfx-price__trial strong { font-weight: 800; color: var(--yfx-accent-deep); }
@media (max-width: 767px) { .yfx-price p.yfx-price__trial { width: auto; padding: 12px 16px; } }
.yfx-price p.yfx-price__where { margin: 0 !important; padding-top: 14px; border-top: 1px solid var(--yfx-line-strong); font-size: 15.5px !important; text-wrap: balance; }

.yfx-signature { margin-top: 18px !important; font-style: italic; color: var(--yfx-ink) !important; }
.elementor-element-c66abb1 { width: 100% !important; max-width: 760px !important; margin-inline: auto !important; }

/* Quiet WhatsApp community: a soft green card */
.yfx-community {
	width: calc(100% - 32px) !important;
	max-width: 860px !important;
	margin: clamp(36px, 6vw, 72px) auto !important;
	padding: clamp(32px, 4.5vw, 52px) clamp(22px, 4vw, 56px) !important;
	gap: 8px !important;
	align-items: center !important;
	text-align: center;
	background: radial-gradient(80% 60% at 50% 0%, rgba(255, 255, 255, .55), transparent 70%), var(--yfx-green-tint) !important;
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .14);
}
.yfx-community h2.elementor-heading-title { font-size: clamp(24px, 2.6vw, 34px) !important; }
.yfx-community .elementor-widget-text-editor p { max-width: 34em; margin-inline: auto; text-align: center !important; text-wrap: balance; }
.yfx-community .elementor-button-icon svg { width: 18px; height: 18px; }

/* Lead form: "which group" as three chips */
.lead-form .jetpack-field-multiple__fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.lead-form .jetpack-field-multiple__fieldset legend.grunion-field-label { float: none; padding: 0; }
.lead-form .jetpack-field-multiple__fieldset .grunion-label-text { font: inherit; color: inherit; }
.lead-form .grunion-radio-options { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 10px; }
.lead-form .grunion-radio-options p.contact-form-field { position: relative; margin: 0 !important; }
.lead-form .grunion-radio-options input[type="radio"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.lead-form .grunion-radio-options label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: var(--yfx-pill);
	background: var(--yfx-surface);
	box-shadow: inset 0 0 0 1px var(--yfx-line-strong), var(--yfx-shadow-xs);
	font-size: 15px;
	font-weight: 600;
	color: var(--yfx-ink);
	cursor: pointer;
	transition: background-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.lead-form .grunion-radio-options label::before {
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1.5px var(--yfx-line-strong);
	transition: box-shadow .2s ease;
}
.lead-form .grunion-radio-options input:checked + label { background: var(--yfx-green-tint); box-shadow: inset 0 0 0 1.5px var(--yfx-accent); color: var(--yfx-accent-deep); }
.lead-form .grunion-radio-options input:checked + label::before { box-shadow: inset 0 0 0 4.5px var(--yfx-accent); }
.lead-form .grunion-radio-options input:focus-visible + label { outline: 2px solid var(--yfx-accent); outline-offset: 3px; }

/* ---------- 9. Page-specific fixes (ported from Additional CSS) ---------- */
/* Home "what we'll learn" list in two balanced columns */
.elementor-element-fbbf313 .elementor-icon-list-items { column-count: 2; column-gap: 40px; }
.elementor-element-fbbf313 .elementor-icon-list-item { break-inside: avoid; margin-bottom: 6px; }
@media (max-width: 767px) { .elementor-element-fbbf313 .elementor-icon-list-items { column-count: 1; } }
/* Card rows had zero gap, so hover lift overlapped neighbours */
.elementor-element-a0f57ec, .elementor-element-294cc845, .elementor-element-466e6448 { gap: 20px !important; }
/* YouTube playlist embeds collapsed to 0×0 inside align-items:center parents */
#meditations-playlist .elementor-widget-html,
#consciousness-playlist .elementor-widget-html { width: 100% !important; align-self: stretch !important; }

/* ---------- 10. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
	body .yfx-card, body .yfx-card:hover { transform: none; }
	.yfx-enso__spin { animation: none; }
}

/* ---------- 8f. Round 3: portraits, testimonial, studio photo, articles, posts ---------- */

/* Portraits of Yifat: proportional, never a full-screen poster */
.elementor-widget-image.yfx-portrait { width: min(100%, 380px) !important; max-width: 380px; margin-inline: auto; }
.elementor-widget-image.yfx-portrait img { width: 100% !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 22%; }
.elementor-widget-image.yfx-portrait--square { width: min(100%, 260px) !important; max-width: 260px; margin-right: 0 !important; }
.elementor-widget-image.yfx-portrait--square img { aspect-ratio: 1; object-position: 50% 30%; }
/* Groups page: the picture beside the form is centred against it instead of stretching with its column */
.elementor-element-3231a33b { align-self: center; }

/* About: the three principles sit centred under their centred heading (they hugged the right edge) */
.elementor-element-047b3d6 .elementor-icon-list-items { width: fit-content; margin-inline: auto !important; }

/* A wide studio photo between text blocks */
.elementor-widget-image.yfx-photo-wide { width: min(100%, 860px) !important; max-width: 860px; margin: clamp(22px, 3vw, 36px) auto 0 !important; }
.yfx-photo-wide img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* Participants' words: the section's spacing (the cards themselves are in 8g) */
.yfx-testimonials { padding-block: clamp(56px, 7vw, 96px) !important; padding-inline: 20px !important; }

/* Articles grid ([yfx_articles] on /articles/ and "מאמרים נוספים" under each post) */
.yfx-articles-host { width: 100% !important; max-width: 1180px; margin-inline: auto; }
.yfx-articles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: clamp(18px, 2.4vw, 28px);
}
.yfx-article-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
	transition: box-shadow .35s ease, transform .5s var(--yfx-ease);
}
.yfx-article-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--yfx-green-tint); }
.yfx-article-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--yfx-ease); }
.yfx-article-card__body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 20px 22px 22px; text-align: right; }
.yfx-article-card__title { margin: 0 !important; font-size: clamp(18px, 1.4vw, 20px) !important; line-height: 1.4 !important; font-weight: 700 !important; letter-spacing: -0.005em; }
.yfx-article-card__title a { color: var(--yfx-ink) !important; text-decoration: none !important; background: none !important; }
.yfx-article-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* whole card is the link */
.yfx-article-card__title a:focus-visible { outline: none; }
.yfx-article-card:has(a:focus-visible) { outline: 3px solid var(--yfx-accent); outline-offset: 3px; }
.yfx-article-card__excerpt { margin: 0 !important; font-size: 15.5px !important; line-height: 1.7 !important; color: var(--yfx-text); }
.yfx-article-card__more { margin-top: auto; padding-top: 6px; font-size: 15px; font-weight: 700; color: var(--yfx-accent); }
.yfx-article-card__more::after { content: " ←"; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.yfx-article-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow-lift); }
	.yfx-article-card:hover .yfx-article-card__media img { transform: scale(1.04); }
}

/* Single posts: byline, featured image, FAQ, CTA, author box, more articles */
main.site-main:has(> .page-header) > .page-content > p.yfx-byline {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 18px;
	margin: -8px 0 22px !important;
	font-size: 15px !important;
	color: var(--yfx-muted);
}
.yfx-byline span + span::before { content: "·"; margin-inline-end: 18px; color: var(--yfx-line-strong); }
.yfx-byline a { color: var(--yfx-accent) !important; font-weight: 700; }
.yfx-featured { margin: 0 0 clamp(28px, 4vw, 44px) !important; }
.yfx-featured img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--yfx-radius-lg);
	box-shadow: 0 2px 6px rgba(62, 47, 35, .06), 0 30px 60px -30px rgba(62, 47, 35, .4);
}
main.site-main:has(> .page-header) > .page-content > .yfx-faq {
	margin: 0 !important;
	border-bottom: 1px solid var(--yfx-line-strong);
}
main.site-main:has(> .page-header) > .page-content > h2 + .yfx-faq { border-top: 1px solid var(--yfx-line-strong); }
.yfx-faq summary {
	position: relative;
	display: block;
	padding: 18px 4px 18px 48px;
	cursor: pointer;
	list-style: none;
	font-size: clamp(17px, 1.3vw, 19px);
	font-weight: 700;
	line-height: 1.5;
	color: var(--yfx-ink);
}
.yfx-faq summary::-webkit-details-marker { display: none; }
.yfx-faq summary::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	border-radius: 50%;
	background: var(--yfx-green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%233F6249' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E") center / 15px no-repeat;
	transition: transform .45s var(--yfx-ease), background-color .25s ease;
}
.yfx-faq[open] summary::after { transform: rotate(180deg); }
.yfx-faq summary:focus-visible { outline: 3px solid var(--yfx-accent); outline-offset: 2px; border-radius: 8px; }
.yfx-faq p { margin: 0 0 18px !important; padding-inline-end: 48px; color: var(--yfx-text); }
main.site-main:has(> .page-header) > .page-content > .yfx-faq + p { margin-top: 26px !important; }

.yfx-post-cta {
	margin: clamp(40px, 5vw, 56px) 0 0;
	padding: clamp(26px, 3.5vw, 36px);
	text-align: center;
	background: radial-gradient(90% 70% at 50% 0%, rgba(255, 255, 255, .6), transparent 70%), var(--yfx-green-tint);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .16);
}
.yfx-post-cta p { margin: 0 0 14px !important; color: var(--yfx-text); }
p.yfx-post-cta__title { font-size: clamp(22px, 2vw, 26px) !important; font-weight: 800 !important; color: var(--yfx-ink) !important; margin-bottom: 8px !important; }
p.yfx-post-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 0 !important; }
a.yfx-btn {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 12px 26px;
	border-radius: var(--yfx-pill);
	background: var(--yfx-accent);
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none !important;
	background-image: none !important;
	box-shadow: var(--yfx-shadow-btn);
	transition: background-color .25s ease, transform .2s ease;
}
a.yfx-btn:hover { background-color: var(--yfx-accent-deep); }
a.yfx-btn:active { transform: scale(.97); }
a.yfx-btn--ghost { background: var(--yfx-surface); color: var(--yfx-accent) !important; box-shadow: inset 0 0 0 1.5px var(--yfx-accent); }
a.yfx-btn--ghost:hover { background: var(--yfx-surface); color: var(--yfx-accent-deep) !important; }

.yfx-author {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin: 28px 0 0;
	padding: 24px;
	background: var(--yfx-surface);
	border-radius: var(--yfx-radius);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow-xs);
}
.yfx-author__img { flex: 0 0 88px; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; }
.yfx-author p { margin: 0 !important; }
p.yfx-author__label { font-size: 13.5px !important; font-weight: 700 !important; letter-spacing: .02em; color: var(--yfx-accent) !important; }
p.yfx-author__name { font-size: 20px !important; font-weight: 800 !important; margin-bottom: 6px !important; }
p.yfx-author__name a { color: var(--yfx-ink) !important; text-decoration: none !important; background: none !important; }
p.yfx-author__bio { font-size: 15.5px !important; line-height: 1.7 !important; color: var(--yfx-text); }
p.yfx-author__links { display: flex; gap: 18px; margin-top: 10px !important; font-size: 15px !important; font-weight: 700; }
.yfx-author__links a { color: var(--yfx-accent) !important; }

.yfx-related { margin-top: clamp(48px, 6vw, 72px); }
h2.yfx-related__title { margin: 0 0 20px !important; font-size: clamp(22px, 2vw, 28px) !important; }
.yfx-related .yfx-articles { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.yfx-related .yfx-article-card__excerpt { display: none; }
.yfx-related .yfx-article-card__body { padding: 16px 18px 18px; }
.yfx-related .yfx-article-card__title { font-size: 16.5px !important; }

/* ---------- 8g. Round 4: a heading that opens its section, participants' words ---------- */

/* .yfx-drop — Elementor "accordion" widget with a single item: the section heading is the button that
   opens the list under it. Same round disc as the lists, with a chevron that turns over when open. */
.elementor-widget-n-accordion.yfx-drop { width: 100% !important; max-width: 820px !important; margin-inline: auto !important; }
.yfx-drop > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
	justify-content: space-between;
	gap: 16px;
	padding: clamp(16px, 2vw, 22px) clamp(20px, 3vw, 30px) !important;
	border: 0 !important;
	border-radius: var(--yfx-radius-lg);
	background: var(--yfx-green-tint) !important;
	box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .16), var(--yfx-shadow-xs);
	transition: background-color .3s ease, box-shadow .3s ease, transform .2s var(--yfx-ease);
}
.yfx-drop > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover { background: #DFEADB !important; box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .24), var(--yfx-shadow); }
.yfx-drop > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:active { transform: scale(.99); }
.yfx-drop .e-n-accordion-item-title-header { flex: 1; min-width: 0; }
.yfx-drop h2.e-n-accordion-item-title-text { margin: 0 !important; font-size: clamp(21px, 2.3vw, 30px) !important; line-height: 1.3 !important; text-align: start; color: var(--yfx-ink) !important; }
.yfx-drop .e-n-accordion-item-title-icon {
	order: 2 !important; /* the arrow closes the row (Elementor puts it first) */
	flex: 0 0 42px;
	width: 42px !important;
	height: 42px;
	justify-content: center;
	border-radius: 50%;
	background: var(--yfx-surface);
	transition: background-color .3s ease, transform .5s var(--yfx-ease);
}
.yfx-drop .e-n-accordion-item-title-icon span { height: 14px; }
.yfx-drop .e-n-accordion-item-title-icon span > svg { width: 14px; height: 14px; fill: var(--yfx-accent-deep) !important; }
.yfx-drop .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon { background: var(--yfx-accent); transform: rotate(180deg); }
.yfx-drop .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon span > svg { fill: #fff !important; }
.yfx-drop > .e-n-accordion > .e-n-accordion-item > .e-con { padding: 0 !important; border: 0 !important; }
.yfx-drop .elementor-widget-toggle.yfx-acc { margin-top: 8px !important; }
.elementor-widget-n-accordion.yfx-drop { margin-bottom: clamp(20px, 3.4vw, 44px) !important; }
/* Chevrons in every expandable list (toggles and the FAQ accordion): centred in their disc — Elementor sizes
   and offsets these icons for a plus sign. The disc turns over when the item opens. */
.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg.e-fas-chevron-down,
.elementor-accordion .elementor-tab-title .elementor-accordion-icon svg.e-fas-chevron-down { display: block; width: 14px; height: 14px; margin: 0; }
.elementor-toggle .elementor-tab-title:not(.elementor-active) .elementor-toggle-icon:has(.e-fas-chevron-down) .elementor-toggle-icon-closed,
.elementor-accordion .elementor-tab-title:not(.elementor-active) .elementor-accordion-icon:has(.e-fas-chevron-down) .elementor-accordion-icon-closed { display: flex; }

/* "חוויות משתתפים" ([yfx_testimonials]): a carousel. The row scrolls on its own and snaps column by column;
   assets/js/carousel.js adds the arrows and dots. A column holds one tall card, or two short messages stacked.
   A card with a photographed note shows the paper on top and its transcription below. */
.yfx-exp-intro { width: 100% !important; max-width: 640px; margin: 6px auto 0 !important; }
.yfx-exp-intro p { margin: 0 !important; color: var(--yfx-muted); }
.yfx-exp-host { width: 100% !important; max-width: 1180px; margin-inline: auto !important; }
.yfx-exp { --yfx-exp-gap: clamp(16px, 2vw, 24px); --yfx-exp-per: 3; margin-top: clamp(18px, 2.6vw, 30px); }
.yfx-exp__track {
	display: flex;
	gap: var(--yfx-exp-gap);
	padding: 10px 2px 22px; /* room for the notes' tilt and the cards' shadows */
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 2px;
	scrollbar-width: none;
}
.yfx-exp__track::-webkit-scrollbar { display: none; }
.yfx-exp__col {
	flex: 0 0 calc((100% - (var(--yfx-exp-per) - 1) * var(--yfx-exp-gap)) / var(--yfx-exp-per));
	display: flex;
	flex-direction: column;
	gap: var(--yfx-exp-gap);
	min-width: 0;
	scroll-snap-align: start;
}
.yfx-exp figure.yfx-exp__card {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 24px;
	border-radius: var(--yfx-radius);
	background: var(--yfx-cream);
	box-shadow: inset 0 0 0 1px var(--yfx-line);
}
.yfx-exp figure.yfx-exp__card--long { background: linear-gradient(160deg, #F1F6EE, var(--yfx-green-tint)); box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .16), var(--yfx-shadow-xs); }
.yfx-exp__card:not(.yfx-exp__card--note)::before { /* opening quote mark */
	content: "\201D";
	display: block;
	height: 32px;
	font-size: 62px;
	line-height: 1;
	font-weight: 800;
	color: var(--yfx-accent-soft);
	opacity: .6;
}
blockquote.yfx-exp__quote { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; background: none !important; font-style: normal !important; quotes: none; }
blockquote.yfx-exp__quote::before, blockquote.yfx-exp__quote::after { content: none !important; }
.yfx-exp__quote p,
.yfx-exp__quote li { margin: 0 0 .6em !important; font-size: 16.5px !important; line-height: 1.75 !important; color: var(--yfx-ink) !important; text-align: start; }
.yfx-exp__card--long .yfx-exp__quote p { font-size: 17px !important; font-weight: 500; }
.yfx-exp__quote > :last-child,
.yfx-exp__quote li:last-child { margin-bottom: 0 !important; }
.yfx-exp__quote ul { margin: 0 0 .6em; padding-inline-start: 1.15em; }
.yfx-exp__quote li { margin-bottom: .15em !important; }
.yfx-exp__quote li::marker { color: var(--yfx-accent); }
.yfx-exp__by { display: grid; gap: 1px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--yfx-line-strong); font-size: 14.5px; font-style: normal; line-height: 1.5; color: var(--yfx-muted); text-align: start; }
.yfx-exp__card--long .yfx-exp__by { border-top-color: rgba(79, 122, 91, .24); }
.yfx-exp__by strong { font-size: 15.5px; font-weight: 700; color: var(--yfx-ink); }

/* The photographed note: a sheet of paper lying on the card. Tall letters show their first lines; the whole
   note opens enlarged. */
a.yfx-exp__note {
	position: relative;
	display: block;
	flex: none;
	margin-bottom: 18px;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 5px;
	background: #FDFBF6;
	box-shadow: 0 1px 3px rgba(62, 47, 35, .10), 0 18px 30px -22px rgba(62, 47, 35, .5);
	transform: rotate(-1deg);
	transition: transform .45s var(--yfx-ease), box-shadow .3s ease;
}
.yfx-exp__col:nth-child(even) a.yfx-exp__note { transform: rotate(.8deg); }
a.yfx-exp__note:hover,
a.yfx-exp__note:focus-visible { transform: rotate(0) scale(1.012); box-shadow: 0 2px 6px rgba(62, 47, 35, .12), 0 22px 36px -22px rgba(62, 47, 35, .55); }
.yfx-exp__note img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0 !important; box-shadow: none !important; }
.yfx-exp__note--tall img { object-fit: cover; object-position: 50% 0; }
.yfx-exp__note--tall::after { content: ""; position: absolute; inset: auto 0 0; height: 36%; background: linear-gradient(to top, #FDFBF6 16%, rgba(253, 251, 246, 0)); pointer-events: none; }
/* A note with no typed version (handwriting that can't be read with certainty is never guessed): the whole sheet */
.yfx-exp__card--photo a.yfx-exp__note { aspect-ratio: auto; margin-bottom: 16px; }
.yfx-exp__card--photo .yfx-exp__note img { height: auto; }
.yfx-exp__zoom {
	position: absolute;
	z-index: 1;
	inset-block-end: 8px;
	inset-inline-end: 8px;
	padding: 4px 11px;
	border-radius: var(--yfx-pill);
	background: rgba(255, 255, 255, .94);
	box-shadow: var(--yfx-shadow-xs);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--yfx-accent-deep);
}

/* Arrows and dots (added by the script; without it the row is simply swiped or scrolled) */
.yfx-exp__nav { display: flex; align-items: center; justify-content: center; gap: 10px; }
.yfx-exp__nav[hidden] { display: none; }
.yfx-exp button.yfx-exp__arrow {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--yfx-surface);
	box-shadow: inset 0 0 0 1px var(--yfx-line-strong), var(--yfx-shadow-xs);
	color: var(--yfx-accent-deep);
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, opacity .25s ease, transform .2s var(--yfx-ease);
}
.yfx-exp button.yfx-exp__arrow::before { content: ""; width: 9px; height: 9px; border: solid currentColor; border-width: 0 0 2.5px 2.5px; }
/* The site reads right to left: "next" points left, "previous" points right */
.yfx-exp button.yfx-exp__arrow--next::before { transform: translateX(2px) rotate(45deg); }
.yfx-exp button.yfx-exp__arrow--prev::before { transform: translateX(-2px) rotate(-135deg); }
.yfx-exp button.yfx-exp__arrow:hover:not(:disabled),
.yfx-exp button.yfx-exp__arrow:focus-visible { background: var(--yfx-accent); color: #fff; }
.yfx-exp button.yfx-exp__arrow:active:not(:disabled) { transform: scale(.95); }
.yfx-exp button.yfx-exp__arrow:disabled { opacity: .35; cursor: default; }
.yfx-exp__dots { display: flex; align-items: center; }
.yfx-exp button.yfx-exp__dot { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.yfx-exp button.yfx-exp__dot::before { content: ""; width: 8px; height: 8px; border-radius: var(--yfx-pill); background: rgba(79, 122, 91, .28); transition: width .35s var(--yfx-ease), background-color .3s ease; }
.yfx-exp button.yfx-exp__dot:hover::before { background: var(--yfx-accent-soft); }
.yfx-exp button.yfx-exp__dot[aria-current="true"] { width: 34px; }
.yfx-exp button.yfx-exp__dot[aria-current="true"]::before { width: 24px; background: var(--yfx-accent); }
/* Columns per view follow the carousel's own width, so it also fits the narrow column of the simple pages */
.yfx-exp { container-type: inline-size; }
@container (max-width: 900px) { .yfx-exp__col { flex-basis: calc((100% - var(--yfx-exp-gap)) / 2); } }
@container (max-width: 560px) { .yfx-exp__col { flex-basis: 84%; } }

/* "הכשרה והסמכה" (About): the certificate as a sheet of paper beside what it certifies. .yfx-cred-line is the
   one-line mention of it under the short bios (home, groups) and in the author box. */
.yfx-cred { padding-block: clamp(40px, 6vw, 80px) !important; padding-inline: 20px !important; }
.yfx-cred > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 300px); /* text first (right), the certificate beside it */
	align-items: center;
	gap: clamp(28px, 5vw, 72px) !important;
	max-width: 980px !important;
}
.elementor-widget-image.yfx-cred__paper { width: 100% !important; overflow: visible; border-radius: 4px !important; }
.yfx-cred__paper a { display: block; }
.yfx-cred__paper img {
	display: block;
	width: 100%;
	border-radius: 4px !important;
	transform: rotate(-1.2deg);
	animation: none !important; /* no parallax zoom: it would crop the certificate */
	box-shadow: 0 2px 6px rgba(62, 47, 35, .10), 0 26px 48px -26px rgba(62, 47, 35, .5) !important;
	transition: transform .45s var(--yfx-ease);
}
.yfx-cred__paper a:hover img,
.yfx-cred__paper a:focus-visible img { transform: rotate(0) scale(1.012); }
.yfx-cred__paper figcaption { margin-top: 16px; font-family: inherit !important; font-size: 13.5px !important; font-style: normal !important; line-height: 1.5; text-align: center; color: var(--yfx-muted) !important; }
.yfx-cred__body { gap: 14px !important; padding: 0 !important; }
.yfx-cred__body .elementor-heading-title { text-align: start; }
.yfx-cred__text p { margin: 0 0 .9em !important; }
ul.yfx-cred__facts { list-style: none; margin: 18px 0 0 !important; padding: 0 !important; display: grid; gap: 0; border-top: 1px solid var(--yfx-line-strong); }
.yfx-cred__facts li { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 12px 2px; border-bottom: 1px solid var(--yfx-line); font-size: 16px; line-height: 1.6; color: var(--yfx-ink); }
.yfx-cred__facts li strong { font-size: 14.5px; font-weight: 700; color: var(--yfx-muted); }
.yfx-cred__facts a { color: var(--yfx-accent-deep); text-underline-offset: 3px; }
p.yfx-cred-line,
p.yfx-author__cred { margin: 12px 0 0 !important; font-size: 15px !important; font-weight: 600; line-height: 1.5 !important; }
p.yfx-cred-line::before,
p.yfx-author__cred::before { content: "✓"; display: inline-grid; place-items: center; width: 20px; height: 20px; margin-inline-end: 8px; border-radius: 50%; background: var(--yfx-green-tint); font-size: 11.5px; font-weight: 800; color: var(--yfx-accent-deep); vertical-align: 1px; }
p.yfx-cred-line a,
p.yfx-author__cred a { color: var(--yfx-accent-deep) !important; text-decoration: underline; text-decoration-color: rgba(79, 122, 91, .35); text-underline-offset: 3px; }
@media (max-width: 767px) {
	.yfx-cred > .e-con-inner { grid-template-columns: 1fr; }
	.elementor-widget-image.yfx-cred__paper { width: min(100%, 250px) !important; }
}

/* ---------- 11. Phones: the same alignment as on a wide screen ----------
   Each section keeps the alignment it has on a wide screen (most are centred), so a phone shows the same
   design, only narrower. Centred lines are balanced, so a heading or a short paragraph never ends on one
   lonely word. Icon boxes become rows on a phone (section 12) and their text reads from the right, beside
   the icon; forms, accordions and articles read from the right on every screen. */
@media (max-width: 767px) {
	:is([data-elementor-type="wp-page"], main.site-main) :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, figcaption) { text-wrap: balance; }
	:is([data-elementor-type="wp-page"], main.site-main) :is(p, li, blockquote) { text-wrap: pretty; }
	html body [data-elementor-type="wp-page"] .elementor-widget-icon-box :is(.elementor-icon-box-content, .elementor-icon-box-title, .elementor-icon-box-description) { text-align: start !important; }
	/* Sections that stand side by side on a wide screen (a bio beside its portrait, the lines beside a lead
	   form, the certificate block) are stacked on a phone, so they centre like the rest of the page. The form
	   fields and the certificate's facts table keep reading from the right. */
	html body [data-elementor-type="wp-page"] .e-con.e-parent:has(.elementor-widget-image.yfx-portrait) :is(.elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-button),
	html body [data-elementor-type="wp-page"] .e-con.e-parent:has(.elementor-widget-image.yfx-portrait) :is(.elementor-widget-heading, .elementor-widget-text-editor) :is(.elementor-heading-title, p),
	html body [data-elementor-type="wp-page"] .e-con.e-parent:has(.elementor-widget-image.yfx-portrait) .elementor-widget-icon-box :is(.elementor-icon-box-content, .elementor-icon-box-title, .elementor-icon-box-description),
	html body [data-elementor-type="wp-page"] .e-con:has(> .elementor-widget-shortcode.lead-form) > :is(.elementor-widget-heading, .elementor-widget-text-editor),
	html body [data-elementor-type="wp-page"] .e-con:has(> .elementor-widget-shortcode.lead-form) > :is(.elementor-widget-heading, .elementor-widget-text-editor) :is(.elementor-heading-title, p),
	html body [data-elementor-type="wp-page"] .yfx-cred__body > .elementor-widget-heading,
	html body [data-elementor-type="wp-page"] .yfx-cred__body > .elementor-widget-heading .elementor-heading-title,
	html body [data-elementor-type="wp-page"] .yfx-cred__text > p { text-align: center !important; }
	html body [data-elementor-type="wp-page"] .elementor-widget-image:is(.yfx-portrait, .yfx-cred__paper) { align-self: center !important; margin-inline: auto !important; }
	/* The groups intro is right-aligned inside a narrow centred column on a wide screen; on a phone that column
	   is the whole width, so its heading and closing line centre while the list keeps reading from the right */
	html body [data-elementor-type="wp-page"] .elementor-widget.yfx-intro :is(h2, h3, p.yfx-story__cta) { text-align: center !important; text-wrap: balance; }
	/* Text pasted with a bullet-less item wrapping the real list was indented twice: one indent is enough */
	[data-elementor-type="wp-page"] .elementor-widget-text-editor li[style*="list-style-type: none"] > :is(ul, ol) { padding-inline-start: 0; }
	/* An article's author card: photo, name and links on one centred axis */
	.yfx-author { align-items: center; text-align: center; }
	p.yfx-author__links { justify-content: center; }
	html body :is([data-elementor-type="wp-page"], main.site-main) :is(.legal-bar-info.elementor-widget, .legal-bar-links.elementor-widget) { padding-inline: 16px; }
	.elementor-element-63d34850 > .e-con-inner { padding-inline: 20px !important; } /* groups hero: text touched the screen edge */
	.elementor-element-6bf3945e { width: 100% !important; --width: 100%; } /* about: the portrait's column was 35% wide on phones too */
	/* Simple pages (posts, treatments, meditations, legal): title band */
	main.site-main > .page-header { padding-inline: 20px; }
	main.site-main > .page-header .entry-title { margin: 0; }
	main.site-main:has(> .page-header) > .page-content > p.yfx-byline { gap: 4px 10px; font-size: 14px !important; }
	.yfx-byline span + span::before { margin-inline-end: 10px; }
	/* Articles page: breathing room at the screen edges */
	.elementor-504 > .e-con.e-parent:not(:last-child) { padding-inline: 20px !important; }
	/* "מאמרים נוספים" under a post: compact rows instead of three tall cards */
	.yfx-related .yfx-article-card { flex-direction: row; align-items: stretch; }
	.yfx-related .yfx-article-card__media { flex: 0 0 104px; aspect-ratio: auto; }
	.yfx-related .yfx-article-card__body { justify-content: center; gap: 4px; padding: 14px 16px; }
	.yfx-related .yfx-article-card__more { padding-top: 0; font-size: 14px; }
	.yfx-author { flex-direction: column; gap: 14px; }
	/* Portraits: a comfortable size on a phone */
	.elementor-widget-image.yfx-portrait { width: min(100%, 300px) !important; }
	.elementor-widget-image.yfx-portrait--square { width: min(100%, 200px) !important; }
	.elementor-element-3231a33b { position: static; padding-inline: 20px !important; }
	/* The heading-button keeps its text at the right and its arrow at the left */
	.yfx-drop > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title { gap: 12px; padding: 16px 18px !important; border-radius: var(--yfx-radius); }
	.yfx-drop .e-n-accordion-item-title-icon { flex-basis: 38px; width: 38px !important; height: 38px; }
	/* Participants' words: one card per view, with the next one peeking in from the left */
	.yfx-exp__track { margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; gap: 14px; }
	.yfx-exp__col { gap: 14px; }
	main.site-main:has(> .page-header) > .page-content .yfx-exp__track { margin-inline: -24px; padding-inline: 24px; scroll-padding-inline: 24px; } /* the simple pages' gutter */
	.yfx-exp figure.yfx-exp__card { padding: 20px; }
}

/* ---------- 12. UX pass: short pages, forms, tap targets, rhythm (phones first) ---------- */

/* The footer rests at the bottom of the window on short pages (404, placeholders) instead of floating
   above an empty white band */
body { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body > * { flex-shrink: 0; }
body > main.site-main, body > .elementor { width: 100%; }
body > .site-footer { margin-top: auto; }

/* Linked icon boxes: the whole card is the link, not just its title */
.elementor-widget-icon-box:has(.elementor-icon-box-title a) { position: relative; }
.elementor-widget-icon-box .elementor-icon-box-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

/* Lead forms */
.lead-form .grunion-label-required { color: var(--yfx-muted) !important; } /* was 3.3:1 on white */
.elementor-element-5a16065 .elementor-icon-box-description { color: var(--yfx-text) !important; } /* muted on the green tint was 4.4:1 */
.yfx-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px !important; }

/* Share row under an article (Jetpack): one quiet line, pills in the site's own style */
main.site-main > .page-content > div.sharedaddy { margin: clamp(30px, 4vw, 44px) 0 0 !important; padding: 20px 0 0; border-top: 1px solid var(--yfx-line-strong); }
div.sharedaddy .sd-sharing { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 !important; padding: 0 !important; }
div.sharedaddy .sd-title { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.4 !important; color: var(--yfx-muted) !important; }
div.sharedaddy .sd-title::before { content: none !important; }
div.sharedaddy .sd-content { width: auto !important; }
div.sharedaddy .sd-content ul { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
div.sharedaddy .sd-content ul li { margin: 0 !important; padding: 0 !important; }
div.sharedaddy .sd-content ul li.share-end { display: none; }
div.sharedaddy .sd-content ul li a.sd-button {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--yfx-pill) !important;
	background: var(--yfx-surface) !important;
	box-shadow: inset 0 0 0 1px var(--yfx-line-strong) !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: var(--yfx-ink) !important;
	transition: background-color .25s ease, box-shadow .25s ease, transform .2s var(--yfx-ease);
}
div.sharedaddy .sd-content ul li a.sd-button::before { color: var(--yfx-accent-deep); }
div.sharedaddy .sd-content ul li a.sd-button > span { margin: 0 !important; }
div.sharedaddy .sd-content ul li a.sd-button:hover { background: var(--yfx-green-tint) !important; box-shadow: inset 0 0 0 1px rgba(79, 122, 91, .35) !important; }
div.sharedaddy .sd-content ul li a.sd-button:active { transform: scale(.97); }

/* About: "מה מנחה אותי בעבודה" — the heading, its subtitle, the three principles and the button were glued together */
.elementor-element-48f76e30 { padding-block: clamp(40px, 6vw, 80px) !important; }
.elementor-element-2722b25a { margin: 6px 0 22px !important; }
.elementor-element-047b3d6 .elementor-icon-list-item { padding-block: 7px !important; }
.elementor-element-047b3d6 .elementor-icon-list-text { font-size: clamp(16.5px, 1.3vw, 19px) !important; font-weight: 500; color: var(--yfx-ink) !important; }
.elementor-element-6f81d79d { margin-top: 26px !important; }
@media (min-width: 768px) { .elementor-element-79296d2b { gap: clamp(28px, 4vw, 64px) !important; } } /* the form touched the photo beside it */

/* Contact: title and intro, the form as a card, then the details. Side by side on wide screens. */
.yfx-contact { padding: clamp(36px, 6vw, 88px) 24px clamp(48px, 7vw, 96px) !important; }
.yfx-contact > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	grid-template-areas: "intro form" "details form";
	grid-template-rows: auto 1fr;
	align-items: start;
	gap: 24px clamp(32px, 5vw, 76px) !important;
	max-width: 1080px !important;
}
.yfx-contact__intro { grid-area: intro; align-items: flex-start !important; gap: 14px !important; padding: 14px 0 0 !important; }
.yfx-contact__details { grid-area: details; align-items: flex-start !important; gap: 18px !important; padding: 0 !important; }
.yfx-contact__form {
	grid-area: form;
	align-items: stretch !important;
	gap: 8px !important;
	max-width: none !important;
	padding: clamp(24px, 3.4vw, 44px) !important;
	border-radius: var(--yfx-radius-lg);
	background: var(--yfx-surface);
	box-shadow: inset 0 0 0 1px var(--yfx-line), var(--yfx-shadow);
}
.yfx-contact :is(.yfx-contact__intro, .yfx-contact__form, .yfx-contact__details) > .elementor-widget { width: 100% !important; align-self: stretch !important; }
.yfx-contact :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-heading) { text-align: start !important; }
.yfx-contact .elementor-widget-text-editor p { margin: 0 !important; }
.yfx-contact .elementor-divider { justify-content: flex-start !important; }
.yfx-contact .elementor-divider-separator { margin-left: auto !important; margin-right: 0 !important; } /* Elementor draws dividers LTR */
.yfx-contact .elementor-icon-list-items { align-items: flex-start !important; }
.yfx-contact .elementor-icon-list-item,
.yfx-contact .elementor-icon-list-item > a { justify-content: flex-start !important; }
.yfx-contact__form h2.elementor-heading-title { font-size: clamp(24px, 2.5vw, 34px) !important; line-height: 1.25 !important; }
.yfx-contact__form .elementor-widget-shortcode { margin-top: 14px; }
@media (max-width: 900px) {
	.yfx-contact { padding-inline: 20px !important; }
	.yfx-contact > .e-con-inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "details"; grid-template-rows: auto; }
	.yfx-contact__intro { padding-top: 0 !important; }
	.yfx-contact__form { padding: 22px 20px 24px !important; border-radius: var(--yfx-radius); }
	/* Stacked, the page centres like the others: title, the form's opening lines, and the details */
	.yfx-contact :is(.yfx-contact__intro, .yfx-contact__details) { align-items: center !important; }
	html body .yfx-contact :is(.yfx-contact__intro, .yfx-contact__form) > :is(.elementor-widget-heading, .elementor-widget-text-editor),
	html body .yfx-contact :is(.yfx-contact__intro, .yfx-contact__form) > :is(.elementor-widget-heading, .elementor-widget-text-editor) :is(.elementor-heading-title, p) { text-align: center !important; }
	.yfx-contact .elementor-divider { justify-content: center !important; }
	.yfx-contact .elementor-divider-separator { margin-inline: auto !important; }
	.yfx-contact .elementor-icon-list-item,
	.yfx-contact .elementor-icon-list-item > a { justify-content: center !important; }
}

/* Subtitles under the page titles are paragraphs now (they were tagged h5/h6, and on phones rendered at 14px
   light or, on home, almost as large as the title); they take the lead-paragraph style from section 2.
   The home hero's line carries the offer, so it reads a step stronger. */
p.elementor-heading-title { text-wrap: balance; }
.elementor-element-505bff5e p.elementor-heading-title { font-size: clamp(18.5px, 1.65vw, 23px) !important; font-weight: 500 !important; line-height: 1.5 !important; color: var(--yfx-text) !important; }

/* The carousel inside a simple page (the narrow text column) */
main.site-main:has(> .page-header) > .page-content .yfx-exp { margin-top: 18px; }

@media (max-width: 767px) {
	/* Icon boxes become compact rows: icon at the right, title and line beside it (three stacked cards took
	   more than a screen for three links) */
	html body [data-elementor-type="wp-page"] .elementor-widget-icon-box .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 16px; }
	html body [data-elementor-type="wp-page"] .elementor-widget-icon-box .elementor-icon-box-icon { flex: none; margin: 0 !important; align-self: center; }
	html body [data-elementor-type="wp-page"] .elementor-widget-icon-box .elementor-icon-box-content { flex: 1; min-width: 0; }
	.elementor-icon-box-icon .elementor-icon { width: 52px; height: 52px; border-radius: 16px; }
	.elementor-icon-box-title { margin-bottom: 2px !important; }
	.elementor-icon-box-description { margin: 0 !important; }
	.elementor-element-4edde00 .elementor-widget-icon-box,
	.elementor-element-4754ba05 .elementor-widget-icon-box { padding: 16px 18px !important; }
	/* …and a linked one points onward */
	.elementor-widget-icon-box:has(.elementor-icon-box-title a) .elementor-icon-box-wrapper::after { content: ""; flex: none; width: 9px; height: 9px; margin-inline: 4px 6px; border: solid var(--yfx-accent-soft); border-width: 0 0 2.5px 2.5px; transform: rotate(45deg); }

	/* Home: the lead form comes before the two side cards (Elementor pushed the WhatsApp card to the top) */
	.elementor-element-466e6448 > .elementor-element-64baf2cb { order: 1 !important; }
	.elementor-element-466e6448 > .elementor-element-5a16065 { order: 2 !important; }
	.elementor-element-466e6448 > .elementor-element-c13ad1f { order: 3 !important; }
	/* Home "קצת עליי": heading, portrait, bio, button, closing line — the two columns are merged so the
	   heading leads (it sat under the portrait and a paragraph) */
	.elementor-element-3034535b { flex-direction: column !important; gap: 20px !important; padding: 44px 20px 48px !important; }
	.elementor-element-3034535b > .e-con { display: contents !important; }
	.elementor-element-39b4cc8f { order: 1; }
	.elementor-element-53e1440 { order: 2; }
	.elementor-element-6cca1cbf { order: 3; margin: 0 !important; }
	.elementor-element-5b473ebf { order: 4; }
	.elementor-element-89fd982 { order: 5; }
	/* Home FAQ: same gutters as the rest of the page; the answer uses the full row */
	.elementor-element-ba50357 { padding-inline: 20px !important; }
	.elementor-accordion .elementor-tab-content { padding-left: 4px !important; }

	/* Lead forms on a phone: a shorter message box and a full-width send button within thumb reach */
	.lead-form textarea.grunion-field { height: 128px; min-height: 0; }
	.lead-form button.pushbutton-wide,
	.lead-form-compact button.pushbutton-wide { width: 100% !important; }
	.lead-form .grunion-radio-options { display: grid !important; grid-template-columns: 1fr 1fr; }
	.lead-form .grunion-radio-options p.contact-form-field:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.lead-form .grunion-radio-options label { display: flex !important; width: 100%; }

	/* Two buttons one under the other share one width */
	html body [data-elementor-type="wp-page"] :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button { width: 100% !important; }
	html body [data-elementor-type="wp-page"] :is(.e-con, .e-con-inner):has(> .elementor-widget-button + .elementor-widget-button) > .elementor-widget-button .elementor-button { display: flex; width: 100%; justify-content: center; }
	p.yfx-post-cta__actions a.yfx-btn,
	.yfx-actions a.yfx-btn { flex: 1 1 100%; text-align: center; justify-content: center; }

	/* Comfortable tap heights for text links that stand alone */
	.elementor-widget-icon-list .elementor-icon-list-item > a { min-height: 44px; }
	.yfx-author__links a { display: inline-flex; align-items: center; min-height: 44px; }
	.site-footer .site-navigation ul.menu > li > a { display: inline-flex; align-items: center; min-height: 44px; }
	.legal-bar-links a { display: inline-block; padding-block: 10px; }

	/* Groups hero: the title starts near the top instead of floating mid-screen under 200px of air */
	.elementor-element-63d34850 { min-height: 0 !important; margin-bottom: 0 !important; padding-top: 28px !important; padding-bottom: 12px !important; } /* the negative bottom margin only offset the old empty height */
	/* Cards and photos keep the page's 20px gutters */
	.elementor-element-3dc7ae02 { width: auto !important; margin-inline: 20px !important; }
	.elementor-element-7df6c05d { padding-inline: 20px !important; }
}

/* ---------- 13. Groups page: the client's closing notes ---------- */

/* The line under the title sums the page up: larger and bolder, inside a thin oval ring (the client's sketch) */
.elementor-widget-heading.yfx-hero-sub { text-align: center; }
.elementor-widget-heading.yfx-hero-sub p.elementor-heading-title {
	display: inline-block;
	max-width: 100%;
	margin: 0;
	padding: .5em 1.5em .55em;
	font-size: clamp(21px, 2.05vw, 28px) !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: var(--yfx-ink) !important;
	text-wrap: balance;
	background: rgba(255, 255, 255, .72);
	border-radius: var(--yfx-pill);
	box-shadow: inset 0 0 0 1.5px rgba(79, 122, 91, .42), 0 0 0 6px rgba(79, 122, 91, .06), 0 12px 28px -18px rgba(74, 103, 65, .4);
}
@media (max-width: 767px) {
	.elementor-widget-heading.yfx-hero-sub p.elementor-heading-title { padding: .5em 1.1em .55em; font-size: clamp(18px, 4.9vw, 21px) !important; }
}

/* "השילוש העוצמתי" opens an explanation, not a list; its closing sentence stands under the card */
.yfx-more--explain .elementor-tab-title::after { content: "להסבר"; }
.yfx-more-close { width: 100% !important; max-width: 760px !important; margin: clamp(20px, 2.6vw, 30px) auto 0 !important; }
.yfx-more-close p {
	margin: 0 !important;
	text-align: center;
	text-wrap: balance;
	font-size: clamp(18px, 1.55vw, 21px) !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
	color: var(--yfx-accent-deep) !important;
}

/* The invitation box (groups): three balanced stones above the title, still and steady (the client asked for calm, not bubbles) */
.yfx-groups .yfx-callout::before {
	content: "";
	display: block;
	width: 58px;
	height: 54px;
	margin: 0 auto 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 60'%3E%3Cpath d='M6 56h52' stroke='%237BA487' stroke-opacity='.45' stroke-width='2' stroke-linecap='round'/%3E%3Cellipse cx='32' cy='46.5' rx='21' ry='7.5' fill='%233F6249' fill-opacity='.82'/%3E%3Cellipse cx='31' cy='33' rx='14.5' ry='6' fill='%234F7A5B' fill-opacity='.72'/%3E%3Cellipse cx='32.5' cy='22' rx='10' ry='4.8' fill='%237BA487' fill-opacity='.8'/%3E%3Cellipse cx='32' cy='13.2' rx='6' ry='3.8' fill='%237BA487' fill-opacity='.55'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The client's final text (October 2026) */
/* Hero: the opening paragraph sums the group up, so it stands in its own card above the photo, then the call to action */
.elementor-widget-heading.yfx-hero-lead { width: 100% !important; max-width: 820px !important; margin: clamp(22px, 3vw, 34px) auto 0 !important; }
.elementor-widget-heading.yfx-hero-lead p.elementor-heading-title {
	padding: clamp(22px, 3vw, 34px) clamp(20px, 4.2vw, 52px) !important;
	font-size: clamp(19px, 1.8vw, 24px) !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
	color: var(--yfx-ink) !important;
	text-align: center !important;
	text-wrap: balance;
	background: radial-gradient(90% 70% at 50% 0%, rgba(255, 255, 255, .7), transparent 70%), var(--yfx-cream);
	border-radius: var(--yfx-radius-lg);
	box-shadow: inset 0 0 0 1px rgba(62, 47, 35, .07), var(--yfx-shadow);
}
.elementor-widget-heading.yfx-hero-lead p.elementor-heading-title::before { content: ""; display: block; width: 44px; height: 3px; margin: 0 auto 14px; border-radius: 2px; background: var(--yfx-accent-soft); }
@media (max-width: 767px) { .elementor-widget-heading.yfx-hero-lead { width: calc(100% - 32px) !important; } }
.elementor-widget-heading.yfx-hero-lead + .yfx-groups-photo { margin-top: clamp(22px, 3vw, 34px) !important; }
.elementor-widget-button.yfx-hero-cta { margin-top: clamp(16px, 2.2vw, 24px) !important; }
/* A question under a section title */
.elementor-widget-heading.yfx-section-sub { width: 100% !important; max-width: 720px !important; margin: 6px auto 0 !important; }
.elementor-widget-heading.yfx-section-sub p.elementor-heading-title { font-size: clamp(20px, 1.95vw, 25px) !important; font-weight: 700 !important; line-height: 1.5 !important; color: var(--yfx-accent-deep) !important; text-align: center !important; text-wrap: balance; }
/* "השילוש העוצמתי" in her words: a centred quote, her name under a short line */
.elementor-widget-text-editor.yfx-quote { width: 100% !important; max-width: 780px !important; margin: clamp(30px, 4vw, 48px) auto clamp(6px, 1vw, 12px) !important; }
.yfx-quote p.yfx-quote__text { margin: 0 !important; font-size: clamp(19px, 1.75vw, 23px) !important; font-weight: 600 !important; line-height: 1.65 !important; color: var(--yfx-ink) !important; text-align: center !important; text-wrap: balance; }
.yfx-quote p.yfx-quote__by { margin: 14px 0 0 !important; font-size: 15px !important; font-weight: 700 !important; color: var(--yfx-accent-deep) !important; text-align: center !important; }
.yfx-quote p.yfx-quote__by::before { content: ""; display: block; width: 44px; height: 2px; margin: 0 auto 12px; border-radius: 2px; background: var(--yfx-accent-soft); }
/* "הקבוצה מתאימה" in the green box */
.yfx-callout p.yfx-callout__title { margin: 0 auto .4em !important; font-size: clamp(20px, 1.9vw, 25px) !important; font-weight: 800 !important; color: var(--yfx-accent-deep); }
.yfx-callout p.yfx-callout__title strong { font-weight: inherit; }
/* Price card: the "עלות:" label right above the amount */
.yfx-price p.yfx-price__label { margin: 16px 0 0 !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .04em; color: var(--yfx-muted) !important; }
.yfx-price p.yfx-price__label + p.yfx-price__amount { margin-top: 0 !important; }
/* "מה תפיקו ותקבלו במפגשים?": the soft rows under the title */
.elementor-widget-text-editor.yfx-gains { width: 100% !important; max-width: 720px !important; margin: 18px auto 0 !important; }
/* "להמשך הקריאה" under the bio: the rest of it opens in a card, centred like the bio */
.elementor-widget-toggle.yfx-more--bio { margin-top: 22px !important; }
.yfx-more--bio .elementor-tab-content p { text-align: center !important; }
.e-con.yfx-channel { padding-top: clamp(32px, 4vw, 48px) !important; }

/* "נושאי המפגשים": the topics as rows inside one card */
.elementor-widget-toggle.yfx-more--topics { margin-top: clamp(24px, 3.2vw, 38px) !important; }
.yfx-more .elementor-tab-content ul.yfx-topics { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--yfx-line); }
.yfx-more .elementor-tab-content ul.yfx-topics li { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--yfx-line); }
.yfx-topics li strong { display: block; font-size: clamp(16.5px, 1.25vw, 18px); line-height: 1.5; }
.yfx-more .elementor-tab-content p.yfx-topics__more { margin: 14px 0 0 !important; font-weight: 600; color: var(--yfx-muted) !important; }

/* A message screenshot in "חוויות משתתפים": the original, whole and straight — it is the testimonial itself,
   so nothing is retyped beside it (the text lives in the image's alt). A short one is centred in its card. */
.yfx-exp figure.yfx-exp__card--shot { padding: 14px 14px 20px; }
.yfx-exp .yfx-exp__card--shot a.yfx-exp__note,
.yfx-exp .yfx-exp__card--shot a.yfx-exp__note:hover,
.yfx-exp .yfx-exp__card--shot a.yfx-exp__note:focus-visible {
	aspect-ratio: auto;
	margin-block: auto;
	border-radius: 14px;
	background: var(--yfx-surface);
	box-shadow: 0 1px 2px rgba(62, 47, 35, .08), 0 10px 22px -18px rgba(62, 47, 35, .45);
	transform: none;
	cursor: zoom-in;
}
.yfx-exp__card--shot .yfx-exp__note img { height: auto; transition: opacity .25s ease; }
.yfx-exp__card--shot a.yfx-exp__note:hover img { opacity: .92; }
.yfx-exp__card--shot .yfx-exp__by { margin-top: 16px; padding-inline: 10px; }

/* One message on its own (above "מה מחכה לך במרחב המשותף שלנו?"): the same card, centred, no carousel */
.elementor-widget.yfx-exp-host--single { max-width: 440px !important; margin-top: clamp(28px, 4vw, 44px) !important; }
.yfx-exp.yfx-exp--single { margin-top: 0; }

/* "קצת עליי": a small portrait above the heading; the studio beside the form */
.elementor-widget-image.yfx-portrait.yfx-portrait--mini { width: 148px !important; max-width: 148px; margin-bottom: 4px; overflow: visible; }
.elementor-widget-image.yfx-portrait--mini img {
	aspect-ratio: 1;
	border-radius: 50% !important;
	object-position: 50% 14%;
	box-shadow: 0 0 0 5px var(--yfx-surface), 0 0 0 6px var(--yfx-line-strong), 0 18px 30px -18px rgba(74, 103, 65, .55) !important;
}
.elementor-widget-image.yfx-studio-side { width: min(100%, 480px) !important; max-width: 480px; margin-inline: auto; }
.elementor-widget-image.yfx-studio-side img { width: 100% !important; aspect-ratio: 1; object-fit: cover; }

/* The channel button carries the YouTube mark (it does not make the button taller than its neighbour) */
.yfx-btn-yt .elementor-button .elementor-button-icon { margin-block: -3px !important; }
.yfx-btn-yt .elementor-button .elementor-button-icon svg { display: block; width: 22px; height: 22px; }

@media (max-width: 767px) {
	.elementor-widget-image.yfx-portrait.yfx-portrait--mini { width: 116px !important; }
	.elementor-widget-image.yfx-studio-side { width: 100% !important; max-width: none; }
	.elementor-widget-image.yfx-studio-side img { aspect-ratio: 16 / 10; }
	.yfx-exp figure.yfx-exp__card--shot { padding: 12px 12px 18px; }
}
