/*
 * Site footer support styles (Elementor Theme Builder template 91).
 * Only what Elementor settings cannot express: breakpoint re-ordering of the four columns,
 * the mobile accordions, the mobile office-card row, 44px touch rows and LTR isolation.
 * Breakpoints follow the site's Elementor defaults: mobile <= 767, tablet 768-1024, desktop >= 1025.
 * Everything else (colours, type, spacing, backgrounds) lives in the template and is editable.
 */

.ta-footer__main,
.ta-footer__legal {
	--ta-f-primary: #292566;
	--ta-f-text: #292b43;
	--ta-f-border: #c6ccd9;
	--ta-f-rule: rgba(41, 37, 102, 0.16);
}

/* Phone numbers and e-mail stay LTR inside the RTL page, but keep the right-aligned column. */
.ta-footer__ltr .elementor-heading-title {
	direction: ltr;
	unicode-bidi: isolate;
	text-align: right;
}

.ta-footer__main .elementor-heading-title a,
.ta-footer__legal .elementor-heading-title a,
.ta-footer__credit a {
	color: inherit;
	text-decoration: none;
}

.ta-footer__main .elementor-heading-title a:hover,
.ta-footer__legal .elementor-heading-title a:hover,
.ta-footer__credit a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ta-footer__main a:focus-visible,
.ta-footer__main button:focus-visible,
.ta-footer__legal a:focus-visible,
.ta-footer__legal button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 2px;
}

/* The footer nav lists reuse the site-wide nav widget; keep them static (no pointer effects). */
.ta-footer__menu .elementor-nav-menu--main .elementor-item {
	background-image: none;
	transform: none;
}

.ta-footer__menu .elementor-nav-menu--main .elementor-item:hover,
.ta-footer__menu .elementor-nav-menu--main .elementor-item:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ta-footer__menu[hidden] {
	display: none !important;
}

/* ---------------------------------------------------------------- */
/* Office cards ("המשרדים שלנו"): pin badge, title and address, Waze / Google Maps pills.   */
/* Content, colours and type live in the template; this is layout only. From 1316px each   */
/* card is at least 600px wide (two cards, 20px gap, 48px side padding, 1640px cap), so the  */
/* pills sit beside the text; below that they stack under it, and on phones they share the  */
/* card's width.                                                                             */
/* ---------------------------------------------------------------- */
.elementor-location-footer .ta-footer__offices > .e-con.ta-footer__office {
	min-width: 0;
}

/* The two cards share the row evenly on tablet and desktop. */
@media (min-width: 768px) {
	.elementor-location-footer .ta-footer__offices > .e-con.ta-footer__office {
		--flex-grow: 1;
		--flex-basis: 0;
	}
}

.elementor-location-footer .ta-footer__office > .e-con.ta-footer__office-header {
	--width: auto;
	flex: 0 0 auto; /* the 300px basis belongs to the row layout only: in a column it would become height */
	min-width: 0;
}

.elementor-location-footer .ta-footer__office-header > .elementor-widget.ta-footer__office-icon {
	flex: 0 0 auto;
	width: auto;
}

.elementor-location-footer .ta-footer__office-header > .e-con.ta-footer__office-text {
	--width: auto;
	flex: 1 1 auto;
	min-width: 0;
}

.elementor-location-footer .ta-footer__office > .e-con.ta-footer__office-actions {
	--width: auto;
	flex: 0 0 auto;
}

.elementor-location-footer .ta-footer__office-actions > .elementor-widget.ta-footer__office-btn {
	flex: 0 0 auto;
	width: auto;
	min-width: 0;
}

.ta-footer__office-btn .elementor-button {
	min-height: 44px;
	white-space: nowrap;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.ta-footer__office-btn .elementor-button-icon svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ta-footer__office-btn .elementor-button:focus-visible {
	outline: 2px solid var(--ta-f-primary);
	outline-offset: 3px;
}

/* Wide card: badge and text on the right, pills on the left; the pills drop under the text when room runs out. */
@media (min-width: 1316px) {
	.elementor-location-footer .ta-footer__offices > .e-con.ta-footer__office {
		--flex-direction: row;
		--flex-wrap: wrap;
		--align-items: center;
		--justify-content: space-between;
	}

	.elementor-location-footer .ta-footer__office > .e-con.ta-footer__office-header {
		flex: 1 1 300px;
	}
}

/* Phones: pills on their own row, sharing the card's width. */
@media (max-width: 767px) {
	.elementor-location-footer .ta-footer__office > .e-con.ta-footer__office-actions {
		--flex-wrap: wrap;
		width: 100%;
	}

	.elementor-location-footer .ta-footer__office-actions > .elementor-widget.ta-footer__office-btn {
		flex: 1 1 auto;
	}

	.ta-footer__office-btn .elementor-button {
		width: 100%;
	}
}

/* ---------------------------------------------------------------- */
/* Tablet: brand + contact on the first row, divider, then the two nav columns */
/* ---------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-location-footer .ta-footer__columns > .ta-footer__brand { --order: 1; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__contact { --order: 2; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__divider--a {
		order: 3;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}
	.elementor-location-footer .ta-footer__columns > .ta-footer__nav--services { --order: 4; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__nav--quick { --order: 5; }
}

/* ---------------------------------------------------------------- */
/* Desktop: four RTL columns, brand on the right, contact on the left */
/* ---------------------------------------------------------------- */
@media (min-width: 1025px) {
	.elementor-location-footer .ta-footer__columns > .ta-footer__brand { --order: 1; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__nav--services { --order: 2; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__nav--quick { --order: 3; }
	.elementor-location-footer .ta-footer__columns > .ta-footer__contact { --order: 4; }
	/* Between 1025 and 1236px the four fixed column widths shrink; the phone number must stay on one line. */
	.ta-footer__phone-big .elementor-heading-title { white-space: nowrap; }
}

/* Legal bar on tablet and desktop: one row. Links and copyright stay on the right (reading order),
   the studio credit sits flush at the far left via an inline-start auto margin (the standard
   flex "push to the opposite edge" trick, expressed in logical properties for this RTL page). */
@media (min-width: 768px) {
	.elementor-location-footer .ta-footer__legal > .e-con-inner {
		flex-wrap: wrap;
		row-gap: 8px;
	}
	.elementor-location-footer .ta-footer__legal > .e-con-inner > .ta-footer__utility {
		--width: auto;
		--order: 1;
	}
	.elementor-location-footer .ta-footer__legal > .e-con-inner > .ta-footer__copyright {
		order: 2;
		width: auto;
		flex: 0 0 auto;
	}
	.elementor-location-footer .ta-footer__legal > .e-con-inner > .ta-footer__credit {
		order: 3;
		flex: 0 0 auto;
		margin-inline-start: auto;
	}
}

/* ---------------------------------------------------------------- */
/* Mobile                                                             */
/* ---------------------------------------------------------------- */
@media (max-width: 767px) {
	/* 44px touch rows for the always-visible contact lines and legal links. */
	.ta-footer__contact-line .elementor-heading-title,
	.ta-footer__legal-link .elementor-heading-title {
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	.ta-footer__contact-line .elementor-heading-title a,
	.ta-footer__legal-link .elementor-heading-title a {
		display: flex;
		align-items: center;
		min-height: 44px;
		width: 100%;
	}

	.ta-footer__legal-link .elementor-heading-title,
	.ta-footer__legal-link .elementor-heading-title a {
		justify-content: center;
	}

	.ta-footer__credit a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	/* The two accordions sit flush against each other, each closed by a hairline. */
	.elementor-location-footer .ta-footer__columns > .ta-footer__nav--services {
		margin-bottom: -20px;
	}

	.ta-footer__nav.is-accordion {
		border-bottom: 1px solid var(--ta-f-rule);
	}

	.ta-footer__nav.is-accordion .ta-footer__nav-title .elementor-heading-title {
		display: block;
	}

	.ta-footer__acc-btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		min-height: 56px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		color: inherit;
		font: inherit;
		line-height: inherit;
		text-align: right;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}

	.ta-footer__acc-btn:hover {
		background: none;
		color: inherit;
	}

	.ta-footer__acc-btn:focus-visible {
		outline: 2px solid var(--ta-f-primary);
		outline-offset: -2px;
	}

	.ta-footer__acc-label {
		flex: 1 1 auto;
		min-width: 0;
	}

	/* Plus / minus indicator on the inline-end (left) side, drawn with two bars. */
	.ta-footer__acc-icon {
		position: relative;
		flex: 0 0 24px;
		width: 24px;
		height: 24px;
	}

	.ta-footer__acc-icon::before,
	.ta-footer__acc-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 2px;
		background: currentColor;
		border-radius: 1px;
		transform: translate(-50%, -50%);
		transition: transform 0.2s ease, opacity 0.2s ease;
	}

	.ta-footer__acc-icon::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.ta-footer__acc-btn[aria-expanded="true"] .ta-footer__acc-icon::after {
		transform: translate(-50%, -50%) rotate(0deg);
		opacity: 0;
	}

	.ta-footer__nav.is-accordion .ta-footer__menu {
		padding-top: 10px;
	}

	/* Office cards: the mobile layout is the narrow-card container query above (pills share one row). */
}

/* Consent-manager hook: when a manager is present the label becomes a real button (see footer.js). */
.ta-footer__cookies-btn {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ta-footer__cookies-btn:hover {
	background: none;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.ta-footer__acc-icon::before,
	.ta-footer__acc-icon::after {
		transition: none;
	}
}
