/*
 * Platform shell: header, drawer, mobile action bar, footer, focus + skip link. Loaded only with
 * site_shell_enabled on. Owner-approved tokens (--b-*), logical properties only.
 */
.bati-shell-on .skip-link.screen-reader-text { display: none; }
/* Anchors and focus targets land below the sticky header (the scroller is <html>, so the padding goes there). */
html:has(body.bati-shell-on) { scroll-padding-top: calc(var(--bs-header-h, 72px) + var(--wp-admin--admin-bar--height, 0px) + 12px); }
.bati-shell-on :is(#main, h1, h2, [id]) { scroll-margin-top: calc(var(--bs-header-h, 72px) + var(--wp-admin--admin-bar--height, 0px) + 12px); }
.bati-shell-on #main:focus { outline: none; }
body.bati-shell-on.bati-shell-on :focus-visible, body.bati-shell-on.bati-shell-on a:focus-visible { outline: 3px solid #B85A0E !important; outline-offset: 2px; }
body.bati-shell-on.bati-shell-on .bs-footer :focus-visible, body.bati-shell-on.bati-shell-on .bati-hero :focus-visible, body.bati-shell-on.bati-shell-on .bs-legacy-band :focus-visible { outline-color: #F5821F !important; }
html.bs-locked { overflow: hidden; }
.bs-sr, .bati-shell-on .bs-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.bs-skip {
	position: fixed; inset-block-start: 8px; inset-inline-start: 8px; z-index: 100001;
	padding: 12px 20px; background: #182B3A; color: #fff; border-radius: 24px; font: 700 16px/1.2 'Assistant', 'Segoe UI', Arial, sans-serif;
	text-decoration: none; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap;
}
.bs-skip:focus { clip-path: none; width: auto; height: auto; overflow: visible; color: #fff; }

/* ---------- header ---------- */
.bati.bs-header { position: sticky; inset-block-start: 0; z-index: 9990; background: #fff; border-block-end: 1px solid var(--b-border); }
.admin-bar .bati.bs-header { inset-block-start: var(--wp-admin--admin-bar--height, 32px); }
.bati .bs-bar { max-width: 1400px; margin-inline: auto; padding-inline: 24px; min-height: 72px; display: flex; align-items: center; gap: 20px; }
.bati .bs-logo { display: inline-flex; align-items: center; flex: none; min-height: 44px; }
.bati .bs-logo__img { height: 44px; width: auto; max-width: 170px; object-fit: contain; mix-blend-mode: multiply; }
.bati .bs-logo__text { font-weight: 800; font-size: 20px; color: var(--b-navy); }
.bati .bs-burger { display: none; }
.bati .bs-panel { flex: 1; display: flex; align-items: center; gap: 16px; min-width: 0; }
.bati .bs-panel__head, .bati .bs-panel__contact { display: none; }

.bati .bs-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.bati .bs-nav__item { position: relative; display: flex; align-items: center; }
.bati .bs-nav .bs-nav__link { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 10px; color: var(--b-navy); font-weight: 600; font-size: 16px; text-decoration: none; white-space: nowrap; border-radius: 8px; }
.bati .bs-nav .bs-nav__link:hover, .bati .bs-nav .bs-nav__link[aria-current="page"] { color: var(--b-orange-dark); }
.bati .bs-nav .bs-nav__link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--b-orange); border-radius: 0; }
.bati .bs-nav__caret { display: inline-flex; align-items: center; justify-content: center; width: 28px; min-height: 44px; margin-inline-start: -8px; padding: 0; background: none; border: 0; color: var(--b-navy); cursor: pointer; }
.bati .bs-nav__caret svg { transition: transform .15s ease; }
.bati .bs-nav__caret[aria-expanded="true"] svg { transform: rotate(180deg); }
.bati .bs-mega {
	display: none; position: absolute; inset-block-start: calc(100% + 14px); inset-inline-start: 0; width: min(760px, 70vw);
	background: #fff; border: 1px solid var(--b-border); border-radius: var(--b-radius-card); box-shadow: var(--b-shadow-raised); padding: 14px; z-index: 5;
}
.bati .bs-mega.is-open { display: block; }
.bati .bs-mega__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; }
.bati .bs-mega__grid a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 10px; border-radius: 8px; color: var(--b-ink); font-weight: 600; font-size: 15px; text-decoration: none; }
.bati .bs-mega__grid a:hover { background: var(--b-bg-alt); color: var(--b-navy); }
.bati .bs-mega__ico { display: inline-flex; flex: none; color: var(--b-orange-dark); }
.bati .bs-mega__ico svg { width: 22px; height: 22px; }

.bati .bs-search { flex: 1; min-width: 180px; max-width: 360px; margin-inline-start: auto; }
.bati .bs-search .bati-cx-sform { margin: 0; position: relative; }
.bati .bs-search .bati-cx-sform__box { min-height: 52px; }
.bati .bs-search input[type="search"] { min-height: 48px; font-size: 16px; }
.bati .bs-search .bati-cx-sform__go { min-height: 44px; padding-block: 6px; padding-inline: 16px; font-size: 15px; }
.bati .bs-actions { display: flex; align-items: center; gap: 14px; flex: none; }
.bati .bs-phone { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--b-navy); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
.bati .bs-phone:hover { color: var(--b-orange-dark); }
.bati .bs-cta { padding-inline: 20px; }

/* Drawer: the same panel, off canvas. */
@media (max-width: 1179px) {
	.bati .bs-bar { min-height: 60px; padding-inline: 12px; gap: 8px; }
	.bati .bs-logo { margin-inline-end: auto; }
	.bati .bs-logo__img { height: 40px; max-width: 140px; }
	.bati .bs-burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: none; border: 0; color: var(--b-navy); cursor: pointer; border-radius: 8px; }
	.bati .bs-burger__lines, .bati .bs-burger__lines::before, .bati .bs-burger__lines::after { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
	.bati .bs-burger__lines { position: relative; }
	.bati .bs-burger__lines::before, .bati .bs-burger__lines::after { content: ""; position: absolute; inset-inline-start: 0; }
	.bati .bs-burger__lines::before { inset-block-start: -7px; }
	.bati .bs-burger__lines::after { inset-block-start: 7px; }
	.bati .bs-panel {
		position: fixed; inset-block: 0; inset-inline-start: 0; width: min(86vw, 380px); z-index: 2;
		display: block; overflow-y: auto; overscroll-behavior: contain; background: #fff; padding: 0 16px calc(24px + env(safe-area-inset-bottom));
		visibility: hidden; transform: translateX(100%); transition: transform .22s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .22s;
	}
	.bati .bs-panel.is-open { visibility: visible; transform: none; transition: transform .22s cubic-bezier(.2, .8, .2, 1), visibility 0s; box-shadow: var(--b-shadow-raised); }
	.bati .bs-panel__head { display: flex; align-items: center; justify-content: space-between; min-height: 60px; border-block-end: 1px solid var(--b-border); margin-block-end: 12px; }
	.bati .bs-panel__title { font-weight: 800; color: var(--b-navy); font-size: 18px; }
	.bati .bs-close { width: 44px; height: 44px; padding: 0; background: none; border: 0; font-size: 30px; line-height: 1; color: var(--b-navy); cursor: pointer; border-radius: 8px; }
	.bati .bs-search { max-width: none; margin-block: 0 12px; order: -1; }
	.bati .bs-panel { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
	.bati .bs-panel__head { order: -2; flex: none; }
	.bati .bs-search { flex: none; }
	.bati .bs-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.bati .bs-nav__item { flex-wrap: wrap; border-block-end: 1px solid var(--b-border); }
	.bati .bs-nav .bs-nav__link { flex: 1; min-height: 52px; font-size: 17px; padding-inline: 4px; }
	.bati .bs-nav__caret { width: 52px; min-height: 52px; margin: 0; }
	.bati .bs-mega { position: static; width: 100%; flex-basis: 100%; border: 0; box-shadow: none; padding: 0 0 8px; }
	.bati .bs-mega__grid { grid-template-columns: 1fr; }
	.bati .bs-panel__contact { display: grid; grid-template-columns: 1fr; gap: 10px; margin-block-start: 16px; flex: none; }
	.bati .bs-panel__contact a { white-space: nowrap; }
	.bati .bs-phone { display: none; }
	.bati .bs-cta { min-height: 44px; padding: 8px 16px; font-size: 15px; }
	.bs-scrim { position: fixed; inset: 0; z-index: 1; background: rgba(16, 30, 41, .5); }
}
@media (min-width: 1180px) {
	.bs-scrim { display: none; }
}
/* Logged-in admin bar: 46px high on a phone (it scrolls away under 600px). The drawer and its close button start below it. */
@media (max-width: 782px) {
	.admin-bar .bati.bs-header { inset-block-start: 46px; }
	.admin-bar .bati .bs-panel { inset-block-start: 46px; }
	.admin-bar .bs-scrim { inset-block-start: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .bati.bs-header { inset-block-start: 0; }
	.admin-bar .bati .bs-panel, .admin-bar .bs-scrim { inset-block-start: 0; }
}
/* The accessibility widget's toggle is fixed at the page edge where the drawer opens: the drawer keeps clear of it. */
@media (max-width: 1179px) {
	.acl-sitelinx .bati .bs-panel { padding-inline-start: 60px; }
}
@media (max-width: 1320px) and (min-width: 1180px) {
	.bati .bs-phone span { display: none; }
	.bati .bs-phone { width: 44px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.bati .bs-panel, .bati .bs-panel.is-open, .bati .bs-nav__caret svg { transition: none; }
}

/* ---------- mobile action bar ---------- */
.bati.bs-actionbar { display: none; }
@media (max-width: 899px) {
	body.bs-has-bar { padding-block-end: calc(64px + env(safe-area-inset-bottom)); }
	.bati.bs-actionbar {
		position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 9980; display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 8px;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -2px 12px rgba(16, 30, 41, .12);
	}
	.bati .bs-actionbar__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; border-radius: var(--b-radius-pill); border: 2px solid var(--b-navy); color: var(--b-navy); font-weight: 700; font-size: 15px; text-decoration: none; }
	.bati .bs-actionbar__btn--cta { background: var(--b-orange); border-color: var(--b-orange); color: #fff; }
	.bati .bs-actionbar__btn--cta:hover { color: #fff; }
	/* A page with its own sticky service CTA (service pages) keeps that one: it carries the service. */
	body:has(.bati-sticky-cta) .bati.bs-actionbar { display: none; }
	/* Third-party fixed controls sit above the bar instead of under or over it: the cookie settings button
	   (growth-os consent, z 99998, bottom 12px) would hide "חיוג". */
	body.bs-has-bar .gos-consent-reopen { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ---------- footer ---------- */
.bati.bs-footer { background: var(--b-navy-dark); color: var(--b-on-navy); font-size: 15px; }
.bati .bs-footer__main, .bati .bs-footer__seo, .bati .bs-footer__legal { max-width: var(--b-max); margin-inline: auto; padding-inline: 24px; }
.bati .bs-footer__main { display: grid; grid-template-columns: 1.1fr 1.5fr 1fr .8fr; gap: 32px; padding-block: 48px 32px; }
.bati .bs-footer__logo { font-size: 22px; font-weight: 800; color: #fff; text-decoration: none; }
.bati .bs-footer__brand p { margin: 8px 0 16px; }
.bati.bs-footer h2 { color: #fff; font-size: 16px; margin: 0 0 12px; font-weight: 700; }
.bati.bs-footer ul { list-style: none; margin: 0; padding: 0; }
.bati.bs-footer a:not(.bati-btn) { color: var(--b-on-navy); text-decoration: none; }
.bati.bs-footer a:not(.bati-btn):hover { color: #fff; text-decoration: underline; }
.bati .bs-footer__col li a { display: inline-flex; align-items: center; min-height: 32px; }
.bati .bs-footer__col--wide ul { columns: 2; column-gap: 24px; }
.bati .bs-footer__col--wide li { break-inside: avoid; }
.bati .bs-footer__contact { margin-block-start: 14px !important; }
.bati .bs-footer__contact a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: #fff !important; }
.bati .bs-footer__seo { display: grid; gap: 4px; padding-block: 16px; border-block-start: 1px solid rgba(255, 255, 255, .12); }
.bati .bs-footer__group summary { display: flex; align-items: center; min-height: 44px; color: #fff; font-weight: 700; cursor: pointer; list-style: none; }
.bati .bs-footer__group summary::-webkit-details-marker { display: none; }
.bati .bs-footer__group summary::after { content: ""; width: 8px; height: 8px; margin-inline-start: 10px; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
.bati .bs-footer__group[open] summary::after { transform: rotate(-135deg); }
.bati .bs-footer__group ul { display: flex; flex-wrap: wrap; gap: 0 18px; padding-block-end: 12px; font-size: 14px; }
.bati .bs-footer__group a { display: inline-flex; align-items: center; min-height: 32px; }
.bati .bs-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding-block: 16px 20px; border-block-start: 1px solid rgba(255, 255, 255, .12); font-size: 14px; }
.bati .bs-footer__legal p { margin: 0; }
.bati .bs-footer__legal ul { display: flex; flex-wrap: wrap; gap: 0 18px; }
.bati .bs-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 899px) {
	.bati .bs-footer__main { grid-template-columns: 1fr 1fr; gap: 24px 16px; padding-block: 32px 20px; }
	.bati .bs-footer__brand, .bati .bs-footer__col--wide { grid-column: 1 / -1; }
	.bati .bs-footer__col li a { min-height: 44px; }
	.bati .bs-footer__group a { min-height: 44px; }
}

/* ---------- /pros/ with no public pro yet + /service-areas/ ---------- */
.bati .bs-pros-empty__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.bati .bs-pros-empty__card { background: #fff; border: 1px solid var(--b-border); border-radius: var(--b-radius-card); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.bati .bs-pros-empty__card h2 { margin: 0; }
.bati .bs-pros-empty__card p { margin: 0 0 8px; color: var(--b-muted); }
.bati .bs-pros-empty__card .bati-btn { margin-block-start: auto; }
.bati .bs-area-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.bati .bs-area { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 16px; background: #fff; border: 1px solid var(--b-border); border-radius: var(--b-radius-card); color: var(--b-navy); font-weight: 700; font-size: 17px; text-decoration: none; }
.bati .bs-area:hover { border-color: var(--b-orange); color: var(--b-orange-dark); }
.bati .bs-area__ico { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--b-orange-tint); color: var(--b-orange-dark); }
.bati .bs-area__img { width: 72px; height: 54px; object-fit: cover; border-radius: 8px; flex: none; }
@media (max-width: 720px) {
	.bati .bs-pros-empty__grid { grid-template-columns: 1fr; }
}

/* The filter chips' negative margin assumes 24px of page padding; at phone width the container has 16px (8px of page overflow). */
@media (max-width: 720px) {
	.bati .bati-cx-chips { margin-inline: -16px; padding-inline: 16px; }
}
