/*
Theme Name: Adar Gabay Child
Theme URI: https://adargabay.com/
Description: Child theme of Hello Elementor for Adar Gabay. Built by SiteClub. Put custom CSS and PHP here, never in the parent theme.
Author: SiteClub
Author URI: https://siteclub.co.il/
Template: hello-elementor
Version: 1.5.0
Text Domain: adar-gabay-child
*/

/* Google Sans, self-hosted (OFL, from Google Fonts). Elementor's font list
   does not include it, so the font variable --ag-font only names it. */
@font-face {
	font-family: "Google Sans";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/google-sans-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: "Google Sans";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/google-sans-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Google Sans";
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url("fonts/google-sans-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;
}

/* Page base. The body is not an Elementor element, so its type and
   ground live here; everything inside is styled with Elementor classes. */
html {
	scroll-padding-top: calc(var(--ag-header-h, 88px) + 0.5rem);
}

body {
	font-family: var(--ag-font, "Google Sans"), system-ui, sans-serif;
	font-size: var(--ag-text-body, 1.0625rem);
	line-height: 1.6;
	color: var(--ag-navy, #1C2C3A);
	background: var(--ag-cream, #F6F2EA);
	-webkit-tap-highlight-color: transparent;
}

::selection {
	background: var(--ag-gold-light);
	color: var(--ag-navy);
}

:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* Phone numbers and other left-to-right runs inside Hebrew text. */
.ltr {
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
}


/* Lucide "arrow-left" (forward in RTL), drawn in the current text color. */
.sc-arrow,
:is(a, button) > span:empty:last-child {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-inline-start: 0.4em;
	vertical-align: -0.17em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s ease;
}

a:hover .sc-arrow,
a:focus-visible .sc-arrow,
button:hover .sc-arrow,
:is(a:hover, a:focus-visible, button:hover) > span:empty:last-child {
	transform: translateX(-3px);
}

@media (prefers-reduced-motion: reduce) {
	.sc-arrow,
	:is(a, button) > span:empty:last-child { transition: none; }
}

/* Accordion toggle: Lucide "plus", centered in its circle, turns into an "x" when open. */
.elementor .e-accordion-item-icon-base > p {
	display: block;
	width: 18px;
	height: 18px;
	font-size: 0;
	line-height: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.25s ease;
}

details[open] > summary .e-accordion-item-icon-base > p {
	transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.elementor .e-accordion-item-icon-base > p { transition: none; }
}

/* Lucide "chevron-down" for selects with the sc-form-select class.
   Elementor global classes drop data-URI background images, so only the image lives here;
   appearance and spacing are in the class. */
.elementor select.sc-form-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2C3A' stroke-opacity='0.55' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 1.1rem center;
	background-size: 18px;
}

/* Article text from the WordPress editor (posts, legal pages), inside an element with
   the ag-prose class. Elementor classes style one element, not the HTML a post body
   brings with it, so the rhythm of its children lives here. */
.ag-prose > * + * { margin-top: var(--ag-sp-16); }
.ag-prose :is(h2, h3) { color: inherit; }
.ag-prose h2 { margin-top: var(--ag-sp-48); font-size: var(--ag-text-h3); line-height: 1.3; }
.ag-prose h3 { margin-top: var(--ag-sp-32); font-size: var(--ag-text-lead); }
.ag-prose ul, .ag-prose ol { padding-inline-start: var(--ag-sp-24); }
.ag-prose li + li { margin-top: var(--ag-sp-8); }
.ag-prose a { color: var(--ag-bronze-text); }
.ag-prose img { height: auto; }

/* Project facts: a fact whose ACF value is empty is dropped (Elementor classes
   cannot select on a child's state). */
.ag-fact:has(> .ag-fact-value:empty) { display: none; }

/* Google Sans ships 400–500 only; keep inline bold at the font's real weight
   instead of a synthesised faux bold. */
b, strong { font-weight: 500; }

/* Home contact form. Pseudo-elements, :checked and data-URI backgrounds are out of
   reach for Elementor classes, so these few states live here. */
.ag-label-req::after { content: "*"; margin-inline-start: 0.2em; color: var(--ag-gold-light); }
.ag-req-note::first-letter { color: var(--ag-gold-light); }
.ag-label a { color: var(--ag-cream); }
.elementor select.ag-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3BCC6' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 1.1rem center;
	background-size: 20px;
}
.ag-select option { color: var(--ag-navy); background: var(--ag-white); }
.elementor input.ag-check:checked {
	background: var(--ag-gold-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2C3A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 16px;
	border-color: var(--ag-gold-light);
}
.ag-input:user-invalid, .ag-check:user-invalid { border-color: var(--ag-error); }

/* FAQ accordion: the plus turns into a close mark (Elementor rotates 180deg, which
   leaves a plus unchanged). */
details.ag-acc[open] > summary .ag-acc-icon svg { transform: rotate(45deg); }
