/*
Theme Name: Hello Elementor Child — Giora
Theme URI: https://www.dadiasafety.co.il
Description: Child theme for Giora Dadia — design system, accessibility, and leftover-template hiding.
Author: WEB ROCK DIGITAL
Template: hello-elementor
Version: 1.0.5
Text Domain: hello-elementor-child
*/

/* -------------------------------------------------------------------------
   Design tokens
   ------------------------------------------------------------------------- */
:root {
	--giora-primary: #1e6fa8;
	--giora-accent: #52a7e0;
	--giora-heading: #171717;
	--giora-body: #2c3e50;
	--giora-muted: #5f6c7a;
	--giora-surface: #ffffff;
	--giora-bg: #f5f5f5;
	--giora-dark: #0e141a;
	--giora-navy: #2c3e50;
	--giora-border: #d2d2d2;
	--giora-success: #5dca5b;
	--giora-error: #c0392b;
	--giora-radius: 6px;
	--giora-radius-card: 8px;
	--giora-space-1: 8px;
	--giora-space-2: 16px;
	--giora-space-3: 24px;
	--giora-space-4: 32px;
	--giora-space-5: 48px;
	--giora-space-6: 80px;
	--giora-container: 1200px;
	--giora-shadow: 0 1px 4px rgba(14, 20, 26, 0.08);
	--giora-shadow-hover: 0 8px 24px rgba(14, 20, 26, 0.12);
	--giora-font: "Open Sans Hebrew", Arial, sans-serif;
	--giora-font-display: "Open Sans Hebrew Condensed", "Open Sans Hebrew", Arial, sans-serif;
}

/* Kit token refinements — keep brand navy/blue, fix weak CTA + light body text */
.elementor-kit-13 {
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-text-line-height: 1.65em;
	--e-global-typography-b2ce6af-font-weight: 400;
	--e-global-typography-b2ce6af-line-height: 1.65em;
	--e-global-typography-accent-font-family: "Open Sans Hebrew";
	--e-global-typography-accent-font-size: 16px;
	--e-global-typography-accent-font-weight: 600;
	--e-global-typography-accent-text-transform: none;
	--e-global-typography-accent-letter-spacing: 0px;
	--e-global-typography-accent-line-height: 1.3em;
	color: var(--giora-body);
}

.elementor-kit-13 a:hover {
	color: var(--giora-primary);
}

/* -------------------------------------------------------------------------
   Typography
   ------------------------------------------------------------------------- */
body.elementor-kit-13 {
	font-family: var(--giora-font);
	font-weight: 400;
	line-height: 1.65;
	color: var(--giora-body);
}

.elementor-kit-13 p,
.elementor-kit-13 .elementor-widget-text-editor,
.elementor-kit-13 .elementor-icon-box-description,
.elementor-kit-13 .elementor-image-box-description {
	font-weight: 400;
	line-height: 1.65;
}

/* Section labels (h6 in the kit) read as kicker, not as tiny headings */
.elementor-kit-13 h6 {
	letter-spacing: 0.04em;
	font-weight: 600;
}

/* -------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */
.elementor-kit-13 button:not(.giora-a11y-toggle):not(.giora-cookie-revisit):not(.giora-a11y-btn):not(.giora-a11y-close):not(.giora-cookie-btn),
.elementor-kit-13 input[type="button"],
.elementor-kit-13 input[type="submit"],
.elementor-kit-13 .elementor-button {
	font-family: var(--giora-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: #fff;
	background-color: var(--giora-primary);
	border: 0;
	border-radius: var(--giora-radius);
	min-height: 44px;
	padding: 14px 24px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.elementor-kit-13 button:not(.giora-a11y-toggle):not(.giora-cookie-revisit):not(.giora-a11y-btn):not(.giora-a11y-close):not(.giora-cookie-btn):hover,
.elementor-kit-13 button:not(.giora-a11y-toggle):not(.giora-cookie-revisit):not(.giora-a11y-btn):not(.giora-a11y-close):not(.giora-cookie-btn):focus,
.elementor-kit-13 input[type="button"]:hover,
.elementor-kit-13 input[type="button"]:focus,
.elementor-kit-13 input[type="submit"]:hover,
.elementor-kit-13 input[type="submit"]:focus,
.elementor-kit-13 .elementor-button:hover,
.elementor-kit-13 .elementor-button:focus {
	color: #fff;
	background-color: var(--giora-accent);
}

.elementor-kit-13 .elementor-button:focus-visible,
.elementor-kit-13 a:focus-visible,
.elementor-kit-13 button:focus-visible,
.elementor-kit-13 input:focus-visible,
.elementor-kit-13 textarea:focus-visible,
.elementor-kit-13 select:focus-visible {
	outline: 2px solid var(--giora-primary);
	outline-offset: 3px;
}

/* Flip-box inner CTA should match the system */
.elementor-kit-13 .elementor-flip-box__button {
	text-transform: none;
	letter-spacing: 0;
	border-radius: var(--giora-radius);
	min-height: 44px;
}

/* -------------------------------------------------------------------------
   Forms
   ------------------------------------------------------------------------- */
.elementor-kit-13 input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.elementor-kit-13 textarea,
.elementor-kit-13 .elementor-field-textual {
	font-family: var(--giora-font);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	min-height: 44px;
	border-radius: var(--giora-radius);
	border-color: var(--giora-border);
	color: var(--giora-body);
}

.elementor-kit-13 input:focus:not([type="button"]):not([type="submit"]),
.elementor-kit-13 textarea:focus,
.elementor-kit-13 .elementor-field-textual:focus {
	border-color: var(--giora-primary);
	color: var(--giora-heading);
}

.elementor-kit-13 label,
.elementor-kit-13 .elementor-field-label {
	font-weight: 500;
	color: var(--giora-heading);
}

.elementor-kit-13 .elementor-field-type-acceptance .elementor-field-option {
	line-height: 1.5;
}

.elementor-kit-13 .elementor-message-danger,
.elementor-kit-13 .elementor-error {
	color: var(--giora-error);
}

/* -------------------------------------------------------------------------
   Cards / containers
   ------------------------------------------------------------------------- */
.elementor-kit-13 .e-con {
	--container-max-width: var(--giora-container);
}

.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: var(--giora-container);
}

/* Advantage / service cards */
.elementor-18 .elementor-element-1ae77c0c,
.elementor-18 .elementor-element-2446b3fb,
.elementor-18 .elementor-element-14b1de25,
.elementor-18 .elementor-element-31c56b19,
.elementor-18 .elementor-element-7870c8a,
.elementor-18 .elementor-element-a3ba6ab {
	border-radius: var(--giora-radius-card);
	box-shadow: var(--giora-shadow);
}

.elementor-18 .elementor-element-1ae77c0c:hover,
.elementor-18 .elementor-element-2446b3fb:hover,
.elementor-18 .elementor-element-14b1de25:hover {
	box-shadow: var(--giora-shadow-hover);
}

/* -------------------------------------------------------------------------
   Header — sticky for the full scroll, no negative mobile overlap
   ------------------------------------------------------------------------- */
html,
body {
	overflow-x: visible;
}

.elementor-location-header,
[data-elementor-type="header"],
[data-elementor-type="header"].elementor-57 {
	position: sticky;
	top: 0;
	z-index: 10000;
	width: 100%;
	background: #f5f5f5;
	box-shadow: 0 2px 12px rgba(14, 20, 26, 0.08);
	overflow: visible;
}

.elementor-location-header .e-con,
[data-elementor-type="header"] .e-con {
	overflow: visible;
}

.elementor-57 .elementor-element.elementor-element-2f523d0 {
	--margin-top: 0em;
	--margin-bottom: 0em;
	--z-index: 10000;
	margin-top: 0;
	margin-bottom: 0;
	background-color: #f5f5f5;
}

body.giora-header-fixed .elementor-location-header,
body.giora-header-fixed [data-elementor-type="header"],
body.giora-header-fixed [data-elementor-type="header"].elementor-57 {
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
}

.elementor-57 .elementor-nav-menu--main .elementor-item {
	font-weight: 500;
}

.elementor-57 .elementor-menu-toggle {
	min-width: 44px;
	min-height: 44px;
	border-radius: var(--giora-radius);
}

.elementor-57 .elementor-nav-menu--dropdown a {
	min-height: 44px;
	padding-block: 12px;
}

/* -------------------------------------------------------------------------
   Hero overflow (rotated leftover bar is stripped; keep clip as safety)
   ------------------------------------------------------------------------- */
.elementor-18 .elementor-element-4d8b6af9 {
	overflow: hidden;
}

/* -------------------------------------------------------------------------
   Flip boxes — readable on touch / small screens without hover
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.elementor-widget-flip-box .elementor-flip-box {
		height: auto !important;
		display: flex;
		flex-direction: column;
	}

	.elementor-widget-flip-box .elementor-flip-box__layer {
		position: relative !important;
		width: 100%;
		height: auto !important;
		transform: none !important;
		opacity: 1 !important;
	}

	.elementor-widget-flip-box .elementor-flip-box__front {
		min-height: 220px;
	}

	.elementor-widget-flip-box .elementor-flip-box__back {
		background-color: var(--giora-surface);
	}

	.elementor-widget-flip-box .elementor-flip-box__layer__overlay {
		position: relative;
		padding: 20px;
	}

	.elementor-kit-13 button:not(.giora-a11y-toggle):not(.giora-cookie-revisit):not(.giora-a11y-btn):not(.giora-a11y-close):not(.giora-cookie-btn),
	.elementor-kit-13 input[type="button"],
	.elementor-kit-13 input[type="submit"],
	.elementor-kit-13 .elementor-button {
		font-size: 16px;
		letter-spacing: 0;
		text-transform: none;
		min-height: 44px;
	}

	.elementor-57 .elementor-element.elementor-element-2f523d0 {
		--margin-top: 0em !important;
		--margin-bottom: 0em !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}

@media (max-width: 1024px) {
	.elementor-kit-13 {
		--e-global-typography-accent-font-size: 16px;
		--e-global-typography-text-font-size: 16px;
		--e-global-typography-b2ce6af-font-size: 16px;
	}

	.elementor-kit-13 button:not(.giora-a11y-toggle):not(.giora-cookie-revisit):not(.giora-a11y-btn):not(.giora-a11y-close):not(.giora-cookie-btn),
	.elementor-kit-13 .elementor-button {
		font-size: 16px;
		letter-spacing: 0;
		text-transform: none;
	}
}

/* Touch devices: do not rely on hover to reveal service copy */
@media (hover: none) {
	.elementor-widget-flip-box .elementor-flip-box {
		height: auto !important;
		display: flex;
		flex-direction: column;
	}

	.elementor-widget-flip-box .elementor-flip-box__layer {
		position: relative !important;
		transform: none !important;
		opacity: 1 !important;
		height: auto !important;
	}

	.elementor-widget-flip-box .elementor-flip-box__front {
		min-height: 200px;
	}
}

/* -------------------------------------------------------------------------
   Footer form + floating WhatsApp stay usable
   ------------------------------------------------------------------------- */
.elementor-59 .elementor-button[type="submit"] {
	background-color: var(--giora-primary);
}

.elementor-59 .elementor-element-15f5d518 .elementor-icon,
.elementor-59 .elementor-element-5e2b8ea .elementor-icon {
	border-radius: 50%;
}

/* -------------------------------------------------------------------------
   Links in lists (footer / service side nav)
   ------------------------------------------------------------------------- */
.elementor-kit-13 .elementor-icon-list-text {
	text-decoration-thickness: 1px;
}

.elementor-kit-13 .elementor-icon-list-item a:hover .elementor-icon-list-text {
	color: var(--giora-primary);
}

/* -------------------------------------------------------------------------
   Floating FABs — must beat Elementor kit button styles
   ------------------------------------------------------------------------- */
.giora-fab-dock {
	position: fixed !important;
	top: 50% !important;
	right: 18px !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 2147483000 !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	width: auto !important;
	max-width: 80px !important;
	padding: 10px !important;
	margin: 0 !important;
	background: rgba(255, 255, 255, 0.92) !important;
	border: 1px solid rgba(44, 62, 80, 0.12) !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 28px rgba(14, 20, 26, 0.16) !important;
	transform: translateY(-50%) !important;
	pointer-events: auto !important;
}

.giora-fab-dock > .giora-a11y-toggle,
.giora-fab-dock > .giora-cookie-revisit {
	display: flex !important;
	flex: 0 0 56px !important;
	align-self: center !important;
}

.elementor-kit-13 .giora-a11y-toggle,
.elementor-kit-13 .giora-cookie-revisit,
.giora-a11y-toggle,
.giora-cookie-revisit {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	min-width: 56px !important;
	min-height: 56px !important;
	max-width: 56px !important;
	max-height: 56px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #2c3e50 !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(14, 20, 26, 0.22) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	flex: 0 0 56px !important;
	align-self: center !important;
	float: none !important;
}

.elementor-kit-13 .giora-a11y-toggle:hover,
.elementor-kit-13 .giora-a11y-toggle:focus,
.elementor-kit-13 .giora-a11y-toggle:focus-visible,
.elementor-kit-13 .giora-cookie-revisit:hover,
.elementor-kit-13 .giora-cookie-revisit:focus,
.elementor-kit-13 .giora-cookie-revisit:focus-visible,
.giora-a11y-toggle:hover,
.giora-a11y-toggle:focus-visible,
.giora-cookie-revisit:hover,
.giora-cookie-revisit:focus-visible {
	background: #1e6fa8 !important;
	color: #fff !important;
	transform: scale(1.06) !important;
}

.giora-a11y-toggle svg,
.giora-cookie-revisit svg {
	width: 28px !important;
	height: 28px !important;
	display: block !important;
	flex-shrink: 0 !important;
}

.giora-a11y-toggle::after,
.giora-cookie-revisit::after {
	content: attr(data-label);
	position: absolute;
	right: calc(100% + 12px);
	top: 50%;
	padding: 6px 10px;
	border-radius: 6px;
	background: #0e141a;
	color: #fff;
	font-family: "Open Sans Hebrew", Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%) translateX(6px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.giora-a11y-toggle:hover::after,
.giora-a11y-toggle:focus-visible::after,
.giora-cookie-revisit:hover::after,
.giora-cookie-revisit:focus-visible::after {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

.elementor-kit-13 .giora-whatsapp,
.giora-whatsapp {
	position: fixed !important;
	left: 20px !important;
	right: auto !important;
	bottom: 20px !important;
	top: auto !important;
	z-index: 2147483000 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: #25d366 !important;
	color: #fff !important;
	box-shadow: 0 8px 22px rgba(37, 211, 102, 0.45) !important;
	text-decoration: none !important;
}

.elementor-kit-13 .giora-whatsapp:hover,
.giora-whatsapp:hover,
.giora-whatsapp:focus-visible {
	background: #1ebe5d !important;
	color: #fff !important;
	transform: scale(1.06) !important;
}

.giora-whatsapp svg {
	width: 32px !important;
	height: 32px !important;
}

html.giora-cookie-pending .giora-whatsapp,
body.giora-cookie-open .giora-whatsapp {
	bottom: 150px !important;
}

.giora-a11y-panel {
	right: 96px !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	z-index: 2147483001 !important;
}

@media (max-width: 1024px) {
	.giora-fab-dock {
		right: 12px !important;
		padding: 8px !important;
		gap: 10px !important;
	}

	.elementor-kit-13 .giora-a11y-toggle,
	.elementor-kit-13 .giora-cookie-revisit,
	.giora-a11y-toggle,
	.giora-cookie-revisit {
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		max-width: 52px !important;
		max-height: 52px !important;
		flex-basis: 52px !important;
	}

	.giora-a11y-toggle svg,
	.giora-cookie-revisit svg {
		width: 26px !important;
		height: 26px !important;
	}

	.giora-a11y-panel {
		right: 84px !important;
	}
}

@media (max-width: 767px) {
	.giora-fab-dock {
		right: 8px !important;
		padding: 6px !important;
		gap: 8px !important;
	}

	.elementor-kit-13 .giora-a11y-toggle,
	.elementor-kit-13 .giora-cookie-revisit,
	.giora-a11y-toggle,
	.giora-cookie-revisit {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
		flex-basis: 48px !important;
	}

	.giora-a11y-toggle svg,
	.giora-cookie-revisit svg {
		width: 24px !important;
		height: 24px !important;
	}

	.giora-a11y-toggle::after,
	.giora-cookie-revisit::after {
		display: none;
	}

	.elementor-kit-13 .giora-whatsapp,
	.giora-whatsapp {
		left: 12px !important;
		bottom: 16px !important;
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		min-height: 54px !important;
	}

	.giora-whatsapp svg {
		width: 28px !important;
		height: 28px !important;
	}

	html.giora-cookie-pending .giora-whatsapp,
	body.giora-cookie-open .giora-whatsapp {
		bottom: 230px !important;
	}

	.giora-a11y-panel {
		right: 68px !important;
		width: min(300px, calc(100vw - 84px)) !important;
		max-height: 70vh !important;
	}
}
