/* ==========================================================================
   Templestowe Header & Footer for Elementor — v1.0.0
   Everything is scoped to `.tphf.tphf-root` and prefixed `tphf-`.
   Specificity plan (beats theme + Elementor Kit rules without !important):
     reset       .tphf.tphf-root :where(el)         (0,2,0)
     components  .tphf.tphf-root .tphf-x            (0,3,0)
     states      .tphf.tphf-root .tphf-x:hover      (0,4,0)
     link guard  .tphf.tphf-root.tphf-root a:hover  (0,4,1)
   Sizes use px (never rem) so themes that change the root font-size can't distort it.
   ========================================================================== */

/* ---------- Tokens ---------- */
.tphf.tphf-root {
	--tphf-olive: #B3BB41;
	--tphf-olive-hover: #A3AB33;
	--tphf-olive-deep: #5F6620;
	--tphf-sage: #D9DEA4;
	--tphf-teal: #6AA39A;
	--tphf-primary: #24504A;
	--tphf-primary-hover: #163531;
	--tphf-ink: #2A2C2F;
	--tphf-muted: #6B6E73;
	--tphf-line: rgba(42, 44, 47, .10);
	--tphf-topbar-bg: #163531;
	--tphf-topbar-text: rgba(255, 255, 255, .86);
	--tphf-topbar-link: #D9DEA4;
	--tphf-header-bg: rgba(251, 251, 247, .92);
	--tphf-menu-hover-bg: #ECEFD3;
	--tphf-logo-1: #8C8E92;
	--tphf-logo-2: #A6AE38;
	--tphf-drawer-bg: #163531;
	--tphf-footer-bg: #0F2623;
	--tphf-footer-text: rgba(255, 255, 255, .68);
	--tphf-footer-heading: #D9DEA4;
	--tphf-flogo-1: #C9CACD;
	--tphf-flogo-2: #D9DEA4;
	--tphf-crisis-bg: #F3E9DD;
	--tphf-crisis-text: #5A3E22;
	--tphf-crisis-strong: #3E2A15;
	--tphf-crisis-icon: #A5652A;
	--tphf-mbar-bg: rgba(22, 53, 49, .95);
	--tphf-wrap: 1240px;
	--tphf-gutter: clamp(16px, 4vw, 40px);
	--tphf-top: 0px;
	--tphf-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--tphf-label: "Antonio", "Oswald", "Arial Narrow", sans-serif;
	--tphf-sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: var(--tphf-sans);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: normal;
	word-spacing: normal;
	text-transform: none;
	text-align: left;
	text-decoration: none;
	color: var(--tphf-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ---------- Scoped reset ---------- */
.tphf.tphf-root,
.tphf.tphf-root *,
.tphf.tphf-root *::before,
.tphf.tphf-root *::after { box-sizing: border-box; }

.tphf.tphf-root :where(div, span, header, footer, nav, aside, p, ul, ol, li, h2, h3, h4, strong, b, small, em, a, button, img, svg) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	text-shadow: none;
	border-radius: 0;
	float: none;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-decoration: none;
	text-align: inherit;
	color: inherit;
	list-style: none;
	min-height: 0;
	min-width: 0;
	outline: 0;
}
.tphf.tphf-root :where(li)::before,
.tphf.tphf-root :where(li)::marker { content: none; }
.tphf.tphf-root :where(strong, b) { font-weight: 700; }
.tphf.tphf-root :where(button) {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	white-space: normal;
	transition: none;
}
.tphf.tphf-root :where(img) { display: block; max-width: 100%; height: auto; }
.tphf.tphf-root :where(svg) { display: block; overflow: visible; }

/* Links: stop theme/Kit underlines and hover colour changes (0,4,1) */
.tphf.tphf-root.tphf-root a,
.tphf.tphf-root.tphf-root a:hover,
.tphf.tphf-root.tphf-root a:focus,
.tphf.tphf-root.tphf-root a:active,
.tphf.tphf-root.tphf-root a:visited { text-decoration: none; box-shadow: none; }

.tphf.tphf-root :focus-visible { outline: 3px solid var(--tphf-olive); outline-offset: 3px; border-radius: 8px; }

html.tphf-lock, html.tphf-lock body { overflow: hidden; }

/* ---------- Primitives ---------- */
.tphf.tphf-root .tphf-wrap {
	display: block;
	width: 100%;
	max-width: var(--tphf-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tphf-gutter);
	padding-right: var(--tphf-gutter);
}
.tphf.tphf-root .tphf-ic {
	display: block;
	width: 20px;
	height: 20px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tphf.tphf-root .tphf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 24px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--tphf-olive);
	color: var(--tphf-ink);
	font-family: var(--tphf-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s;
}
.tphf.tphf-root .tphf-btn .tphf-ic { width: 18px; height: 18px; transition: transform .25s; }
.tphf.tphf-root .tphf-btn:hover,
.tphf.tphf-root .tphf-btn:focus-visible {
	background: var(--tphf-olive-hover);
	color: var(--tphf-ink);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px -10px rgba(95, 102, 32, .55);
}
.tphf.tphf-root .tphf-btn:hover .tphf-ic--arrow { transform: translateX(3px); }

.tphf.tphf-root .tphf-btn--primary { background: var(--tphf-primary); color: #fff; }
.tphf.tphf-root .tphf-btn--primary:hover,
.tphf.tphf-root .tphf-btn--primary:focus-visible { background: var(--tphf-primary-hover); color: #fff; box-shadow: 0 10px 24px -10px rgba(22, 53, 49, .6); }

.tphf.tphf-root .tphf-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.tphf.tphf-root .tphf-btn--ghost-light:hover,
.tphf.tphf-root .tphf-btn--ghost-light:focus-visible { background: rgba(255, 255, 255, .1); color: #fff; border-color: #fff; box-shadow: none; }

.tphf.tphf-root .tphf-btn--sm { min-height: 44px; padding: 10px 20px; font-size: 15px; }

.tphf.tphf-root .tphf-pulse {
	position: relative;
	display: inline-block;
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tphf-olive);
}
.tphf.tphf-root .tphf-pulse::after {
	content: "";
	position: absolute;
	top: -4px; right: -4px; bottom: -4px; left: -4px;
	border: 2px solid var(--tphf-olive);
	border-radius: 50%;
	opacity: 0;
	animation: tphf-pulse 2.2s ease-out infinite;
}
@keyframes tphf-pulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }

/* ---------- Logo ---------- */
.tphf.tphf-root .tphf-logo { display: inline-flex; align-items: center; gap: 12px; flex: none; color: inherit; }
.tphf.tphf-root .tphf-logo__mark { width: 44px; height: 46px; flex: none; }
.tphf.tphf-root .tphf-logo__type {
	display: flex;
	flex-direction: column;
	font-family: var(--tphf-label);
	font-size: 22px;
	font-weight: 500;
	line-height: .95;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.tphf.tphf-root .tphf-logo__l1 { display: block; color: var(--tphf-logo-1); }
.tphf.tphf-root .tphf-logo__l2 { display: block; color: var(--tphf-logo-2); }
.tphf.tphf-root .tphf-logo__img { display: block; width: 200px; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.tphf.tphf-root .tphf-topbar { display: block; background: var(--tphf-topbar-bg); color: var(--tphf-topbar-text); font-size: 14px; line-height: 1.45; }
.tphf.tphf-root .tphf-topbar .tphf-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding-top: 7px; padding-bottom: 7px; }
.tphf.tphf-root .tphf-topbar__news { display: inline-flex; align-items: center; gap: 10px; color: var(--tphf-topbar-text); transition: color .2s; }
.tphf.tphf-root a.tphf-topbar__news:hover { color: #fff; }
.tphf.tphf-root .tphf-topbar__msg strong { color: #fff; font-weight: 600; }
.tphf.tphf-root .tphf-topbar__link { color: var(--tphf-topbar-link); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.tphf.tphf-root .tphf-topbar__meta { display: flex; flex: none; gap: 22px; }
.tphf.tphf-root .tphf-topbar__item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.tphf.tphf-root .tphf-topbar__item .tphf-ic { width: 16px; height: 16px; color: var(--tphf-topbar-link); }

.tphf.tphf-root .tphf-bar-spacer { display: block; height: 0; }
.tphf.tphf-root .tphf-bar {
	position: relative;
	z-index: 999;
	display: block;
	background: var(--tphf-header-bg);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s, box-shadow .3s;
}
.tphf.tphf-root .tphf-bar.tphf-is-fixed { position: fixed; top: var(--tphf-top); left: 0; right: 0; width: 100%; }
.tphf.tphf-root .tphf-bar.tphf-is-stuck { border-bottom-color: var(--tphf-line); box-shadow: 0 8px 30px -18px rgba(22, 53, 49, .3); }
.tphf.tphf-root .tphf-bar .tphf-wrap { display: flex; align-items: center; gap: 28px; min-height: 84px; transition: min-height .3s; }
.tphf.tphf-can-shrink .tphf-bar.tphf-is-stuck .tphf-wrap { min-height: 72px; }

.tphf.tphf-root .tphf-nav { display: block; margin-left: auto; }
.tphf.tphf-root .tphf-nav__list { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; }
.tphf.tphf-root .tphf-nav__item { display: block; flex-shrink: 0; }
.tphf.tphf-root .tphf-nav__link {
	display: block;
	padding: 10px 14px;
	border-radius: 999px;
	color: var(--tphf-ink);
	font-family: var(--tphf-sans);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.3;
	white-space: nowrap;
	background: transparent;
	transition: background-color .2s, color .2s;
}
.tphf.tphf-root .tphf-nav__link:hover,
.tphf.tphf-root .tphf-nav__link:focus-visible,
.tphf.tphf-root .tphf-nav__link.tphf-is-active { background: var(--tphf-menu-hover-bg); color: var(--tphf-primary); }

.tphf.tphf-root .tphf-actions { display: flex; align-items: center; gap: 18px; flex: none; }
.tphf.tphf-root .tphf-logo + .tphf-actions { margin-left: auto; }

.tphf.tphf-root .tphf-phone { display: inline-flex; align-items: center; gap: 10px; color: var(--tphf-ink); font-size: 15.5px; font-weight: 600; line-height: 1.25; }
.tphf.tphf-root .tphf-phone__ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--tphf-menu-hover-bg); color: var(--tphf-primary); transition: background-color .2s; }
.tphf.tphf-root .tphf-phone__ic .tphf-ic { width: 18px; height: 18px; }
.tphf.tphf-root .tphf-phone:hover { color: var(--tphf-primary); }
.tphf.tphf-root .tphf-phone:hover .tphf-phone__ic { background: var(--tphf-sage); }
.tphf.tphf-root .tphf-phone__txt { display: block; }
.tphf.tphf-root .tphf-phone__txt small { display: block; font-size: 12px; font-weight: 500; line-height: 1.2; color: var(--tphf-muted); }
.tphf.tphf-root .tphf-phone__txt strong { display: block; font-weight: 600; }

.tphf.tphf-root .tphf-burger {
	display: none;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1.5px solid var(--tphf-line);
	border-radius: 50%;
	background: #fff;
	color: var(--tphf-ink);
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.tphf.tphf-root .tphf-burger:hover,
.tphf.tphf-root .tphf-burger:focus,
.tphf.tphf-root .tphf-burger:active { background: #fff; color: var(--tphf-primary); border-color: var(--tphf-primary); }
.tphf.tphf-root .tphf-burger .tphf-ic { width: 22px; height: 22px; }

/* Mobile drawer */
.tphf.tphf-root .tphf-drawer {
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	padding: 20px var(--tphf-gutter) 32px;
	background: var(--tphf-drawer-bg);
	color: #fff;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateY(-100%);
	visibility: hidden;
	transition: transform .45s cubic-bezier(.7, 0, .2, 1), visibility 0s linear .45s;
}
.tphf.tphf-root .tphf-drawer.tphf-is-open { transform: none; visibility: visible; transition: transform .45s cubic-bezier(.7, 0, .2, 1); }
.tphf.tphf-root .tphf-drawer__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.tphf.tphf-root .tphf-drawer .tphf-logo__l1 { color: var(--tphf-flogo-1); }
.tphf.tphf-root .tphf-drawer .tphf-logo__l2 { color: var(--tphf-flogo-2); }
.tphf.tphf-root .tphf-drawer__close {
	display: grid;
	place-items: center;
	flex: none;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1.5px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: border-color .2s, background-color .2s;
}
.tphf.tphf-root .tphf-drawer__close:hover,
.tphf.tphf-root .tphf-drawer__close:focus,
.tphf.tphf-root .tphf-drawer__close:active { background: rgba(255, 255, 255, .08); color: #fff; border-color: #fff; }
.tphf.tphf-root .tphf-drawer__nav { display: block; margin-top: 36px; }
.tphf.tphf-root .tphf-drawer__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	color: #fff;
	font-family: var(--tphf-serif);
	font-size: 28px;
	font-weight: 300;
	line-height: 1.2;
	transition: color .2s, padding-left .25s;
}
.tphf.tphf-root .tphf-drawer__link .tphf-ic { color: var(--tphf-olive); }
.tphf.tphf-root .tphf-drawer__link:hover,
.tphf.tphf-root .tphf-drawer__link:focus-visible,
.tphf.tphf-root .tphf-drawer__link.tphf-is-active { color: var(--tphf-sage); padding-left: 6px; }
.tphf.tphf-root .tphf-drawer__foot { display: grid; gap: 12px; margin-top: auto; padding-top: 32px; }
.tphf.tphf-root .tphf-drawer__foot .tphf-btn { width: 100%; }
.tphf.tphf-root .tphf-drawer__note { margin-top: 8px; font-size: 14px; color: rgba(255, 255, 255, .7); text-align: center; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.tphf.tphf-root .tphf-crisis { display: block; background: var(--tphf-crisis-bg); color: var(--tphf-crisis-text); }
.tphf.tphf-root .tphf-crisis .tphf-wrap { display: flex; align-items: center; gap: 18px; padding-top: 20px; padding-bottom: 20px; }
.tphf.tphf-root .tphf-crisis__ic { width: 26px; height: 26px; color: var(--tphf-crisis-icon); }
.tphf.tphf-root .tphf-crisis__text { font-size: 15px; line-height: 1.6; color: var(--tphf-crisis-text); }
.tphf.tphf-root .tphf-crisis__text strong { color: var(--tphf-crisis-strong); font-weight: 700; }
.tphf.tphf-root .tphf-crisis__link { color: var(--tphf-crisis-strong); font-weight: 700; border-bottom: 1.5px solid rgba(62, 42, 21, .3); transition: border-color .2s; }
.tphf.tphf-root .tphf-crisis__link:hover { color: var(--tphf-crisis-strong); border-bottom-color: var(--tphf-crisis-strong); }

.tphf.tphf-root .tphf-footer { display: block; background: var(--tphf-footer-bg); color: var(--tphf-footer-text); font-size: 15px; line-height: 1.6; }
.tphf.tphf-root .tphf-footer__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; padding: 56px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.tphf.tphf-root .tphf-footer__title {
	max-width: 640px;
	font-family: var(--tphf-serif);
	font-size: clamp(28px, 19px + 2vw, 44px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #fff;
}
.tphf.tphf-root .tphf-footer__title em { font-style: italic; color: var(--tphf-footer-heading); }
.tphf.tphf-root .tphf-footer__btns { display: flex; flex-wrap: wrap; gap: 12px; }

.tphf.tphf-root .tphf-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding: 56px 0; }
.tphf.tphf-root .tphf-footer .tphf-logo__l1 { color: var(--tphf-flogo-1); }
.tphf.tphf-root .tphf-footer .tphf-logo__l2 { color: var(--tphf-flogo-2); }
.tphf.tphf-root .tphf-footer__about-text { margin-top: 20px; max-width: 320px; line-height: 1.65; }
.tphf.tphf-root .tphf-footer__h {
	margin-bottom: 18px;
	font-family: var(--tphf-label);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--tphf-footer-heading);
}
.tphf.tphf-root .tphf-footer__list { display: block; }
.tphf.tphf-root .tphf-footer__li { display: block; }
.tphf.tphf-root .tphf-footer__li + .tphf-footer__li { margin-top: 10px; }
.tphf.tphf-root .tphf-footer__link { color: var(--tphf-footer-text); transition: color .2s; }
.tphf.tphf-root .tphf-footer__link:hover,
.tphf.tphf-root .tphf-footer__link:focus-visible { color: #fff; }
.tphf.tphf-root .tphf-footer__hour { display: flex; justify-content: space-between; gap: 12px; max-width: 250px; }
.tphf.tphf-root .tphf-footer__hour.tphf-is-hl { color: #fff; font-weight: 500; }
.tphf.tphf-root .tphf-footer__li.tphf-footer__note { margin-top: 14px; max-width: 250px; font-size: 14px; }

.tphf.tphf-root .tphf-ack { display: flex; align-items: flex-start; gap: 18px; padding: 28px 0; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; line-height: 1.6; }
.tphf.tphf-root .tphf-ack__flags { display: flex; flex: none; gap: 6px; margin-top: 3px; }
.tphf.tphf-root .tphf-ack__ab,
.tphf.tphf-root .tphf-ack__ts { display: block; width: 26px; height: 17px; border-radius: 3px; }
.tphf.tphf-root .tphf-ack__ab { background: radial-gradient(circle at 50% 50%, #FFD100 0 3.8px, transparent 4.3px), linear-gradient(#111 50%, #C8102E 50%); }
.tphf.tphf-root .tphf-ack__ts { background: linear-gradient(#00843D 0 27%, #111 27% 32%, #0F4C9E 32% 68%, #111 68% 73%, #00843D 73%); }

.tphf.tphf-root .tphf-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 22px 0 34px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13.5px; color: rgba(255, 255, 255, .5); }
.tphf.tphf-root .tphf-footer__bottom-links { display: flex; flex-wrap: wrap; gap: 22px; }
.tphf.tphf-root .tphf-footer__bli { display: block; }
.tphf.tphf-root .tphf-footer__bottom .tphf-footer__link { color: rgba(255, 255, 255, .5); }
.tphf.tphf-root .tphf-footer__bottom .tphf-footer__link:hover { color: #fff; }

/* Phone Call/Book bar */
.tphf.tphf-root .tphf-mbar { display: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
	.tphf.tphf-root .tphf-nav__link { padding: 10px 10px; font-size: 15px; }
	.tphf.tphf-root .tphf-phone__txt { display: none; }
}
@media (max-width: 1020px) {
	.tphf.tphf-root .tphf-nav,
	.tphf.tphf-root .tphf-actions .tphf-phone,
	.tphf.tphf-root .tphf-topbar__meta { display: none; }
	.tphf.tphf-root .tphf-burger { display: grid; }
	.tphf.tphf-root .tphf-actions { margin-left: auto; gap: 10px; }
	.tphf.tphf-root .tphf-footer__grid { grid-template-columns: 1fr 1fr; }
	.tphf.tphf-root .tphf-footer__about { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.tphf.tphf-root .tphf-topbar { font-size: 13px; }
	.tphf.tphf-root .tphf-topbar .tphf-wrap { justify-content: center; text-align: center; min-height: 40px; }
	.tphf.tphf-root .tphf-topbar__news { display: inline-block; }
	.tphf.tphf-root .tphf-topbar__news .tphf-pulse { margin-right: 8px; vertical-align: 1px; }
	.tphf.tphf-root .tphf-bar .tphf-wrap,
	.tphf.tphf-can-shrink .tphf-bar.tphf-is-stuck .tphf-wrap { min-height: 68px; gap: 16px; }
	.tphf.tphf-root .tphf-btn.tphf-hide-sm { display: none; }
	.tphf.tphf-root .tphf-logo__mark { width: 36px; height: 38px; }
	.tphf.tphf-root .tphf-logo__type { font-size: 19px; }

	.tphf.tphf-root .tphf-crisis .tphf-wrap { align-items: flex-start; }
	.tphf.tphf-root .tphf-footer__cta { padding: 44px 0; }
	.tphf.tphf-root .tphf-footer__btns,
	.tphf.tphf-root .tphf-footer__btns .tphf-btn { width: 100%; }
	.tphf.tphf-root .tphf-footer__grid { grid-template-columns: 1fr; gap: 32px; padding: 44px 0; }
	.tphf.tphf-root .tphf-footer__bottom { flex-direction: column; }
	.tphf.tphf-root.tphf-has-mbar .tphf-footer__bottom { padding-bottom: 104px; }

	.tphf.tphf-root .tphf-mbar {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
		z-index: 9990;
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 8px;
		padding: 8px;
		border-radius: 999px;
		background: var(--tphf-mbar-bg);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .45);
		transform: translateY(160%);
		transition: transform .4s cubic-bezier(.2, .7, .2, 1);
	}
	.tphf.tphf-root .tphf-mbar.tphf-is-on { transform: none; }
	.tphf.tphf-root .tphf-mbar__call,
	.tphf.tphf-root .tphf-mbar__book {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 48px;
		padding: 0 20px;
		border-radius: 999px;
		font-family: var(--tphf-sans);
		font-size: 15px;
		font-weight: 600;
		line-height: 1.2;
		white-space: nowrap;
	}
	.tphf.tphf-root .tphf-mbar__call { color: #fff; border: 1.5px solid rgba(255, 255, 255, .25); }
	.tphf.tphf-root .tphf-mbar__call:hover { color: #fff; border-color: #fff; }
	.tphf.tphf-root .tphf-mbar__book { background: var(--tphf-olive); color: var(--tphf-ink); }
	.tphf.tphf-root .tphf-mbar__book:hover { background: var(--tphf-olive-hover); color: var(--tphf-ink); }
	.tphf.tphf-root .tphf-mbar .tphf-ic { width: 18px; height: 18px; }
	.tphf.tphf-root .tphf-mbar > :only-child { grid-column: 1 / -1; }
}
@media (max-width: 380px) {
	.tphf.tphf-root .tphf-logo__type { font-size: 17px; }
	.tphf.tphf-root .tphf-drawer__link { font-size: 24px; }
}

/* ---------- Elementor editor niceties ---------- */
.elementor-editor-active .tphf.tphf-root .tphf-bar { position: relative; }

@media (prefers-reduced-motion: reduce) {
	.tphf.tphf-root *,
	.tphf.tphf-root *::before,
	.tphf.tphf-root *::after { animation: none !important; transition-duration: .01ms !important; }
}
