/* ==========================================================================
   Accessibility & Conversion layer — WCAG 2.2 AA
   Loaded LAST (after responsive.css) so it wins the cascade.
   Brand teal #14b1bb = 2.61:1 against white; it fails 1.4.3 for text and
   1.4.11 for UI borders, so every such use is redirected to a
   4.5:1-or-better equivalent while keeping the brand hue.
   Accessible teal  #0b666f  -> 6.68:1 on #ffffff
   Brand navy       #00247e  -> 13.52:1 with #ffffff
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
	--a11y-teal: #00247e;        /* Discarded old cyan/teal in favor of Brand Navy: 13.52:1 */
	--a11y-teal-deep: #001a5e;   /* Deep navy: 16.04:1 with white */
	--a11y-navy: #00247e;        /* 13.52:1 with white */
	--a11y-navy-deep: #001a5e;   /* 16.04:1 with white */
	--a11y-amber: #ffb300;       /* 9.80:1 with #191919 text */
	--a11y-amber-deep: #b37900;  /* 4.94:1 on white */
	--a11y-urgent: #b42318;      /* 6.57:1 with white text */
	--a11y-body: #3d3d3d;        /* 11.28:1 on white */
	--a11y-body-muted: #4a4a4a;  /* 8.86:1 on white */
	--a11y-border: #767676;      /* 4.54:1 on white (>=3:1 for non-text) */
	--a11y-field-bg: #f7f9fa;
	--a11y-focus: #00247e;
	--a11y-sticky-h: 62px;
}

/* ---------- 3.1.1 Language of the page ----------
   Set in components/head.php / index.php as <html lang="en-GB"> */

/* ---------- 2.4.1 Bypass Blocks: skip link ---------- */
.a11y-skip-link {
	position: absolute;
	left: 8px;
	top: -200px;
	z-index: 100000;
	background: var(--a11y-navy);
	color: #fff;
	padding: 14px 24px;
	border-radius: 0 0 6px 6px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: underline;
	-webkit-transition: top .15s ease;
	transition: top .15s ease;
}
.a11y-skip-link:focus,
.a11y-skip-link:focus-visible {
	top: 0;
	outline: 3px solid var(--a11y-amber);
	outline-offset: 2px;
}

/* Visually hidden but exposed to assistive technology (1.3.1) */
.a11y-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ---------- 2.4.7 Focus Visible / 2.4.13 Focus Appearance ----------
   Legacy CSS declares outline:0 / outline:none with !important in
   plugin_theme_css.css, so !important is required to restore it. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible,
.slick-arrow:focus-visible,
.swiper-button-next:focus-visible,
.swiper-button-prev:focus-visible,
.mean-container a.meanmenu-reveal:focus-visible,
.filter_menu button:focus-visible {
	outline: 3px solid var(--a11y-focus) !important;
	outline-offset: 3px !important;
	border-radius: 2px;
}
/* On dark backgrounds the navy ring disappears — use amber. */
.temkuri-header-top a:focus-visible,
.temkuri-header-top button:focus-visible,
.witrfm_area a:focus-visible,
.witrfm_area button:focus-visible,
.witrfm_area input:focus-visible,
.witrfm_area select:focus-visible,
.temkuri_testimonial_bg_area a:focus-visible,
.txbdsinner a:focus-visible,
.pricing_card_commercial a:focus-visible,
.pricing_card_commercial button:focus-visible,
.a11y-sticky-bar a:focus-visible,
.witr_swiper_area a:focus-visible {
	outline-color: var(--a11y-amber) !important;
}
/* Legacy input:focus rules kill the box-shadow; restore a visible ring. */
.witr_apartment_form input:focus,
.witr_apartment_form select:focus,
.witr_apartment_form textarea:focus {
	outline: 3px solid var(--a11y-focus) !important;
	outline-offset: 1px !important;
	border-color: var(--a11y-focus) !important;
}

/* 2.4.11 Focus Not Obscured (Minimum): account for the fixed bars. */
html {
	scroll-padding-top: 160px;
	scroll-padding-bottom: calc(var(--a11y-sticky-h) + 16px);
	scroll-behavior: smooth;
}
body {
	padding-bottom: var(--a11y-sticky-h);
}

/* ---------- 2.5.8 Target Size (Minimum) — 24x24 CSS px ---------- */
.top-address p a,
.top-right-menu ul.social-icons li a,
.temkuri-description-area .social-icons a,
.footer-middle .widget ul li a,
.footer-menu ul li a,
.filter_menu li,
.filter_menu button {
	min-height: 24px;
	min-width: 24px;
}
.top-address p a {
	display: inline-block;
	padding: 6px 2px;
}
.top-right-menu ul.social-icons li a,
.temkuri-description-area .social-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.temkuri_menu > ul > li > a {
	padding: 26px 0;
}
.slick-prev,
.slick-next,
.swiper-button-next,
.swiper-button-prev {
	min-height: 44px;
	min-width: 44px;
}
.filter_menu button {
	border: 1px solid var(--a11y-border);
	border-radius: 5px;
	background: #fff;
	color: #3d3d3d;
	cursor: pointer;
	display: inline-block;
	font: inherit;
	font-weight: 500;
	margin: 0 5px 10px;
	padding: 12px 20px;
	min-height: 44px;
	position: relative;
	-webkit-transition: .3s;
	transition: .3s;
}
.filter_menu button:hover {
	background: var(--a11y-navy);
	border-color: var(--a11y-navy);
	color: #fff;
}
/* 1.4.1 Use of Color: selection must not rely on colour alone. */
.filter_menu button[aria-pressed="true"] {
	background: var(--a11y-navy);
	border-color: var(--a11y-navy);
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.portfolio_nav ul li {
	border: 0;
	padding: 0;
	margin: 0;
	background: none;
}

/* ---------- 2.3.3 Animation from Interactions / 2.2.2 Pause, Stop, Hide ---------- */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
	.pricing_card:hover,
	.pricing_card_commercial:hover {
		-webkit-transform: none;
		transform: none;
	}
	.pricing_card:hover .pricing_card_image img {
		-webkit-transform: none;
		transform: none;
	}
}

/* Pause control for auto-rotating carousels (2.2.2) */
.a11y-carousel-pause {
	background: #fff;
	border: 1px solid var(--a11y-border);
	border-radius: 5px;
	color: var(--a11y-body);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 600;
	min-height: 44px;
	padding: 8px 18px;
	margin: 0 auto 12px;
	text-align: center;
}
.a11y-carousel-pause:hover {
	background: var(--a11y-navy);
	border-color: var(--a11y-navy);
	color: #fff;
}
.a11y-carousel-pause-wrap {
	text-align: center;
}
.temkuri_testimonial_bg_area .a11y-carousel-pause {
	background: #fff;
	color: var(--a11y-body);
}

/* The swiper arrows are opacity:0 until :hover, which hides them from
   keyboard and screen-reader users (2.1.1 / 4.1.2). Make them permanent. */
.swiper-button-next,
.swiper-button-prev {
	opacity: 1 !important;
	background: rgba(0, 36, 126, .78);
	color: #fff !important;
	border-radius: 4px;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
	background: var(--a11y-navy);
	color: #fff !important;
	padding: 0;
}
.swiper-button-next::after,
.swiper-button-prev::after {
	font-size: 24px;
	font-weight: 700;
}

/* ---------- 1.4.3 Contrast (Minimum) — text fixes ---------- */
body {
	color: var(--a11y-body);
}
/* Section eyebrow was #14b1bb on white = 2.61:1 */
.witr_section_title_inner h2,
.witr_section_title_inner p span,
.witr_section_title_inner p span a,
.witr_section_title_inner h1 span,
.witr_section_title_inner h2 span,
.witr_section_title_inner h3 span {
	color: var(--a11y-teal);
}
.witr_section_title_inner p,
.pricing_desc,
.pricing_label,
.pricing_footer p {
	color: var(--a11y-body-muted);
}
/* Was #999 on white = 2.85:1 */
.pricing_note {
	color: var(--a11y-body-muted);
	font-style: normal;
}
/* Footer on the #191919f2 scrim: keep white, lift muted text. */
.witrfm_area,
.footer-middle .widget ul li a,
.footer-middle .widget ul li:before,
.temkuri-description-area p,
.copy-right-text p,
.footer-menu ul li a,
.witr_sub_table span,
.about-footer p {
	color: #e8e8e8;
}
.footer-middle .widget-title,
.witrfm_area h2 {
	color: #ffffff;
}
.footer-middle .widget ul li a:hover,
.footer-menu ul li a:hover {
	color: var(--a11y-amber);
	text-decoration: underline;
}
/* Footer phone links used style="color:inherit" on grey text. */
.witrfm_area .footer-sociala-info a {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.footer-bottom:before {
	background: #ffffff;
}

/* Links in body copy must be distinguishable by more than colour (1.4.1). */
main a:not(.witr_btn):not(.dtbtn):not(.btn):not(.a11y-skip-link) {
	text-decoration: underline;
	text-underline-offset: 2px;
}
main a:not(.witr_btn):not(.dtbtn):not(.btn):hover {
	color: var(--a11y-navy);
}

/* ---------- Header top bar ----------
   White text on #14b1bb = 2.61:1. Move to brand navy = 13.52:1. */
.temkuri-header-top {
	background: var(--a11y-navy);
}
.top-address p a,
.top-address p span,
.top-address p span i,
.top-address p a i,
.top-right-menu ul.social-icons li a {
	color: #ffffff;
}
.top-address p a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.top-address p a:hover,
.top-right-menu .social-icons li a:hover {
	color: var(--a11y-amber);
}
/* Decorative icon fonts must be hidden from AT (1.1.1). */
.fa, .fas, .far, .fab, [class^="flaticon-"], [class*=" flaticon-"],
[class^="icofont-"], [class*=" icofont-"], [class^="ti-"] {
	speak: never;
}

/* Menu links: #191919 on white is fine; hover teal was 2.61:1. */
.temkuri_menu > ul > li > a:hover,
.temkuri_nav_area.prefix .temkuri_menu > ul > li > a:hover,
.temkuri_menu ul .sub-menu li:hover > a {
	color: var(--a11y-teal);
}
.temkuri_menu ul .sub-menu li a {
	color: #191919;
}
.temkuri_menu ul .sub-menu {
	box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
	border: 1px solid var(--a11y-border);
}
/* Keyboard users cannot trigger the hover-only submenu (2.1.1). */
.temkuri_menu ul li:hover > .sub-menu,
.temkuri_menu ul li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	top: 100%;
	z-index: 9;
}

/* ---------- CTA buttons ----------
   White on #14b1bb = 2.61:1. Primary CTA becomes brand navy. */
.witr_btn,
a.dtbtn {
	background: var(--a11y-navy);
	color: #ffffff;
	font-weight: 700;
	letter-spacing: .02em;
}
.witr_btn:hover,
a.dtbtn:hover,
.temkuri_button a:hover {
	background: var(--a11y-navy-deep);
	color: #ffffff;
}
/* The ::before sweep repaints to the same navy, so hover still reads. */
a.dtbtn::before, .witr_btn::before, .witr_bbtn::before,
.temkuri_button a::before, .witr_sbtn_s8 a::before {
	background: var(--a11y-navy-deep);
}
/* Secondary / outline CTA: navy outline + navy text = 13.52:1 */
.slider_btn .witr_btn.active,
.slider_btn .witr_btn.active2 {
	background: #ffffff;
	border: 2px solid var(--a11y-navy);
	color: var(--a11y-navy);
}
.slider_btn .witr_btn.active:hover,
.slider_btn .witr_btn.active2:hover {
	background: var(--a11y-navy);
	border-color: var(--a11y-navy);
	color: #ffffff;
}
/* Hero sits on a photo: strengthen the scrim so white text passes (1.4.3). */
.txbdslider::before {
	background: rgba(0, 20, 60, .68);
}
.witr_swiper_content h1,
.witr_swiper_content h2,
.witr_swiper_content h3 {
	color: #ffffff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
}
.witr_swiper_content h2 span,
.witr_swiper_content h3 span {
	color: var(--a11y-amber);
}
.witr_swiper_content h3 a {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.witr_swiper_content p {
	color: #ffffff;
}

/* Slider buttons need a visible edge on photography (1.4.11). */
.slider_btn .witr_btn {
	border: 2px solid var(--a11y-navy) !important;
	outline: none;
	min-height: 48px;
}

/* ---------- 3.3.2 Labels / 1.3.5 Identify Input Purpose: form ----------
   Inputs had a #14b1bb fill with white text AND white placeholders
   (2.61:1) and no <label> at all — the worst block on the page. */
.apartment_area .witr_apartment_form form select,
.apartment_area .witr_apartment_form input,
.witr_apartment_form form select,
.witr_apartment_form input {
	background: var(--a11y-field-bg);
	border: 2px solid var(--a11y-border);
	border-radius: 5px;
	color: #1f1f1f;
	padding-left: 14px;
	padding-right: 14px;
	font-size: 16px;
	height: 48px;
}
.apartment_area .witr_apartment_form textarea,
.witr_apartment_form textarea {
	background: var(--a11y-field-bg);
	border: 2px solid var(--a11y-border);
	border-radius: 5px;
	color: #1f1f1f;
	padding: 12px 14px;
	font-size: 16px;
	line-height: 1.5;
	width: 100%;
}
.apartment_area .witr_apartment_form form select:focus,
.apartment_area .witr_apartment_form input:focus,
.apartment_area .witr_apartment_form textarea:focus {
	background: #ffffff;
}
/* Placeholders were #888/#fff; they cannot be the only label anyway. */
.witr_apartment_form input::-moz-placeholder,
.witr_apartment_form textarea::-moz-placeholder,
.apartment_area .form-group input::-moz-placeholder {
	color: #595959;
	opacity: 1;
}
.witr_apartment_form input::-webkit-input-placeholder,
.witr_apartment_form textarea::-webkit-input-placeholder,
.apartment_area .form-group input::-webkit-input-placeholder,
.apartment_area .witr_apartment_form textarea {
	color: #595959;
}
.witr_apartment_form input::placeholder,
.witr_apartment_form textarea::placeholder {
	color: #595959;
	opacity: 1;
}
.witr_apartment_form select option {
	color: #1f1f1f;
	background: #ffffff;
}

/* Real labels above each field. */
.a11y-field-label {
	display: block;
	color: #1f1f1f;
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 6px;
	text-align: left;
}
.a11y-field-label .a11y-required {
	color: var(--a11y-urgent);
	font-weight: 700;
}
.a11y-field-hint {
	color: var(--a11y-body-muted);
	font-size: 13.5px;
	margin: -4px 0 6px;
	text-align: left;
}
.a11y-form-intro {
	background: #eef4ff;
	border-left: 4px solid var(--a11y-navy);
	border-radius: 4px;
	color: #1b1b1b;
	margin: 0 0 24px;
	padding: 14px 18px;
	text-align: left;
	font-size: 15.5px;
}
.a11y-form-intro strong {
	color: #0b1f52;
}
fieldset.a11y-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}
fieldset.a11y-fieldset legend {
	color: #1f1f1f;
	font-size: 17px;
	font-weight: 700;
	margin: 6px 0 12px;
	padding: 0;
	text-align: left;
}

/* Submit button — 13.52:1 and a 44px+ target. */
.apartment_area .btn,
.apartment_area .btn-primary,
#contact-form button[type="submit"] {
	background: var(--a11y-navy) !important;
	border: 2px solid var(--a11y-navy) !important;
	border-radius: 6px;
	color: #ffffff !important;
	font-size: 18px;
	font-weight: 700;
	min-height: 52px;
	padding: 14px 30px;
	-webkit-transition: background .2s ease;
	transition: background .2s ease;
	width: 100%;
}
.apartment_area .btn:hover,
.apartment_area .btn-primary:hover,
#contact-form button[type="submit"]:hover {
	background: var(--a11y-navy-deep) !important;
	border-color: var(--a11y-navy-deep) !important;
	color: #ffffff !important;
}

/* 3.3.1 Error Identification / 4.1.3 Status Messages */
.form-messege {
	border-radius: 5px;
	font-size: 16px;
	font-weight: 600;
	margin: 16px auto 0;
	max-width: 640px;
	padding: 0;
	text-align: center;
}
.form-messege:not(:empty) {
	border: 2px solid currentColor;
	padding: 14px 18px;
}
.form-messege.success {
	background: #e7f6ec;
	color: #14532d;
}
.form-messege.error {
	background: #fdecea;
	color: #7c1d13;
}
.form-messege:empty {
	border: 0;
}

/* Booking slot pickers (2.2.x + heatmap conversion row) */
.a11y-slot-row {
	background: #ffffff;
	border: 2px solid var(--a11y-border);
	border-radius: 8px;
	padding: 18px;
	margin-bottom: 20px;
	text-align: left;
}
#availability-info {
	color: var(--a11y-body-muted);
	font-size: 14.5px;
	margin: 8px 0 0;
	text-align: left;
}
#availability-info:empty {
	display: none;
}

/* ---------- Gallery / testimonial overlays ---------- */
.testiCreCon p {
	color: #1b1a1a;
}
.testiCreCon i {
	color: #767676;
}
/* The testimonial section sits on a scrim; strengthen with navy so white passes. */
.temkuri_testimonial_bg_area::before {
	background: rgba(0, 36, 126, .92);
}
.white .witr_section_title_inner h2,
.white .witr_section_title_inner h3,
.white .witr_section_title_inner p {
	color: #ffffff;
}
/* Card overlay title was white on a translucent dark panel. */
.prot_content.em_port_content,
.em_port_content {
	background: rgba(0, 20, 60, .85);
}
.porttitle_inner h2,
.porttitle_inner h2 span,
.category-item-p {
	color: #ffffff;
}

/* ---------- Pricing colour fixes (values live in pricing.php) ---------- */
.pricing_value {
	color: var(--a11y-navy);
}
.pricing_card_prices {
	border-bottom: 1px solid #d6d6d6;
}
.pricing_card_body h4 {
	color: #191919;
}
/* Commercial card: white on navy = 13.52:1. */
.pricing_card_commercial {
	background: var(--a11y-navy);
	background: linear-gradient(135deg, #00247e 0%, #001a5e 100%);
}
.pricing_card_commercial .pricing_label,
.pricing_card_commercial .pricing_desc,
.pricing_card_commercial .pricing_note {
	color: #ffffff;
}
.pricing_value_large {
	color: var(--a11y-amber) !important;
}
.pricing_card_commercial:hover {
	box-shadow: 0 15px 40px rgba(0, 24, 60, .45);
}

/* Pricing total row — booking heatmap focal point */
.pricing_total_row {
	border-top-color: var(--a11y-navy);
}
.pricing_total_value {
	color: var(--a11y-navy);
}

/* ---------- 2.4.6 / heatmap: sticky conversion bar ---------- */
.a11y-sticky-bar {
	background: var(--a11y-navy);
	border-top: 3px solid var(--a11y-amber);
	bottom: 0;
	box-shadow: 0 -4px 18px rgba(0, 0, 0, .28);
	left: 0;
	position: fixed;
	right: 0;
	width: 100%;
	z-index: 9998;
}
.a11y-sticky-bar__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1170px;
	padding: 9px 15px;
}
.a11y-sticky-bar__copy {
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}
.a11y-sticky-bar__copy strong {
	color: var(--a11y-amber);
}
.a11y-sticky-bar__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.a11y-sticky-cta {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 11px 22px;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
}
.a11y-sticky-cta--primary {
	background: var(--a11y-amber);
	color: #191919;
}
.a11y-sticky-cta--primary:hover {
	background: #ffc93d;
	color: #191919;
}
.a11y-sticky-cta--secondary {
	background: transparent;
	border: 2px solid #ffffff;
	color: #ffffff;
}
.a11y-sticky-cta--secondary:hover {
	background: #ffffff;
	color: var(--a11y-navy);
}

/* 2.2.2 — the sticky bar must be dismissible. */
.a11y-sticky-close {
	background: transparent;
	border: 2px solid #ffffff;
	border-radius: 6px;
	color: #ffffff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 12px;
}
.a11y-sticky-close:hover {
	background: #ffffff;
	color: var(--a11y-navy);
}
.a11y-sticky-bar[hidden] {
	display: none;
}

/* ---------- Trust / urgency cues (heatmap conversion band) ---------- */
.a11y-trust-strip {
	background: #eef4ff;
	border-bottom: 1px solid #d3ddf2;
	padding: 14px 0;
}
.a11y-trust-strip ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 30px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.a11y-trust-strip li {
	align-items: center;
	color: #1b1b1b;
	display: flex;
	font-size: 15.5px;
	font-weight: 600;
	gap: 8px;
	line-height: 1.4;
}
.a11y-trust-strip li i {
	color: var(--a11y-teal);
	font-size: 16px;
}

/* 1.3.1 — decorative icons get aria-hidden in markup; keep them silent. */
.a11y-icon-decor {
	pointer-events: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	html {
		scroll-padding-top: 120px;
	}
}
@media (max-width: 767px) {
	:root {
		--a11y-sticky-h: 104px;
	}
	.a11y-sticky-bar__inner {
		justify-content: center;
		text-align: center;
	}
	.a11y-sticky-bar__copy {
		font-size: 14px;
		width: 100%;
	}
	.a11y-sticky-cta {
		flex: 1 1 auto;
		font-size: 15px;
		padding: 10px 14px;
	}
	.a11y-trust-strip li {
		font-size: 14.5px;
	}
	.temkuri_menu > ul > li > a {
		padding: 14px 0;
	}
}
@media (max-width: 479px) {
	:root {
		--a11y-sticky-h: 132px;
	}
	.a11y-sticky-bar__actions {
		width: 100%;
	}
}

/* ==========================================================================
   W3C / WCAG 2.2 Accessible Mobile Navigation (SC 1.3.1, 1.4.3, 2.1.1, 2.4.1, 2.5.8)
   ========================================================================== */
.mobile_header_area {
	background: #ffffff;
	position: relative;
	z-index: 9999;
	width: 100%;
}
@media (min-width: 992px) {
	.mobile_header_area {
		display: none !important;
	}
}
@media (max-width: 991px) {
	.mobile_header_area {
		display: block !important;
	}
	.temkuri-main-menu {
		display: none !important;
	}
}
.mobile_logo_area {
	background: #ffffff;
	padding: 12px 0 10px;
	border-bottom: 1px solid #edf2f7;
}
.mobile_menu_logo {
	display: flex;
	align-items: center;
	justify-content: center;
}
.mobile_menu_logo img {
	max-height: 80px;
	width: auto;
	object-fit: contain;
}

/* Mobile Bar with Brand Navy + Amber accent */
.a11y-mobile-bar {
	background: var(--a11y-navy);
	border-bottom: 3px solid var(--a11y-amber);
	box-shadow: 0 4px 14px rgba(0, 20, 60, 0.15);
	position: relative;
	z-index: 10001;
}
.a11y-mobile-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	min-height: 52px;
}
.a11y-mobile-bar__phone {
	align-items: center;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 6px;
	color: #ffffff !important;
	display: inline-flex;
	font-size: 14.5px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.02em;
	min-height: 44px;
	padding: 8px 12px;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.a11y-mobile-bar__phone i {
	color: var(--a11y-amber);
	font-size: 14px;
}
.a11y-mobile-bar__phone:hover {
	background: rgba(255, 255, 255, 0.22);
	border-color: #ffffff;
}
.a11y-mobile-bar__phone:focus-visible {
	outline: 3px solid var(--a11y-amber) !important;
	outline-offset: 2px !important;
}
.a11y-mobile-bar__title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.a11y-mobile-bar__title i {
	color: var(--a11y-amber);
	font-size: 17px;
}

/* 44×44px minimum touch target for disclosure button (SC 2.5.8 & SC 2.5.5) */
.a11y-menu-toggle {
	background: rgba(255, 255, 255, 0.1);
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 6px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 16px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.a11y-menu-toggle:hover {
	background: var(--a11y-navy-deep);
	border-color: #ffffff;
}
.a11y-menu-toggle:focus-visible {
	outline: 3px solid var(--a11y-amber) !important;
	outline-offset: 2px !important;
}
.a11y-menu-toggle__box {
	display: inline-block;
	height: 16px;
	position: relative;
	width: 20px;
}
.a11y-menu-toggle__line {
	background: #ffffff;
	border-radius: 2px;
	display: block;
	height: 2.5px;
	position: absolute;
	transition: transform 0.25s ease, opacity 0.25s ease, top 0.25s ease;
	width: 100%;
}
.a11y-menu-toggle__line:nth-child(1) { top: 0; }
.a11y-menu-toggle__line:nth-child(2) { top: 6.5px; }
.a11y-menu-toggle__line:nth-child(3) { top: 13px; }

/* Open state: hamburger transforms to X */
.a11y-menu-toggle[aria-expanded="true"] {
	background: var(--a11y-navy-deep);
	border-color: var(--a11y-amber);
}
.a11y-menu-toggle[aria-expanded="true"] .a11y-menu-toggle__line:nth-child(1) {
	top: 6.5px;
	transform: rotate(45deg);
}
.a11y-menu-toggle[aria-expanded="true"] .a11y-menu-toggle__line:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}
.a11y-menu-toggle[aria-expanded="true"] .a11y-menu-toggle__line:nth-child(3) {
	top: 6.5px;
	transform: rotate(-45deg);
}

/* Mobile Navigation Panel / Drawer */
.a11y-mobile-nav {
	background: #ffffff;
	border-bottom: 3px solid var(--a11y-navy);
	box-shadow: 0 16px 36px rgba(0, 20, 60, 0.22);
	left: 0;
	position: absolute;
	right: 0;
	top: 100%;
	width: 100%;
	z-index: 10000;
}
.a11y-mobile-nav[hidden] {
	display: none;
}
.a11y-mobile-nav__scroller {
	max-height: calc(100vh - 160px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 6px 0 16px;
}
.a11y-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.a11y-mobile-nav__item {
	border-bottom: 1px solid #e9ecef;
	margin: 0;
	padding: 0;
}
.a11y-mobile-nav__item:last-child {
	border-bottom: none;
}
.a11y-mobile-nav__link {
	align-items: center;
	color: #191919 !important;
	display: flex;
	font-size: 16px;
	font-weight: 600;
	gap: 12px;
	min-height: 50px;
	padding: 13px 20px;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}
.a11y-mobile-nav__link i {
	color: var(--a11y-navy);
	font-size: 16px;
	text-align: center;
	width: 22px;
}
.a11y-mobile-nav__link:hover {
	background: #eef4ff;
	color: var(--a11y-navy) !important;
}
.a11y-mobile-nav__link:focus-visible {
	background: #eef4ff;
	color: var(--a11y-navy) !important;
	outline: 3px solid var(--a11y-navy) !important;
	outline-offset: -3px !important;
}

/* Parent row & Submenu Disclosure Button */
.a11y-mobile-nav__parent-row {
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.a11y-mobile-nav__parent-row .a11y-mobile-nav__link--parent {
	flex: 1;
}
.a11y-submenu-toggle {
	align-items: center;
	background: transparent;
	border: none;
	border-left: 1px solid #e9ecef;
	color: var(--a11y-navy);
	cursor: pointer;
	display: inline-flex;
	font-size: 16px;
	justify-content: center;
	min-height: 50px;
	min-width: 50px;
	padding: 0 16px;
	transition: transform 0.2s ease, background 0.2s ease;
}
.a11y-submenu-toggle:hover {
	background: #eef4ff;
}
.a11y-submenu-toggle:focus-visible {
	outline: 3px solid var(--a11y-navy) !important;
	outline-offset: -3px !important;
}
.a11y-submenu-toggle[aria-expanded="true"] i {
	transform: rotate(180deg);
}

/* Submenu */
.a11y-mobile-submenu {
	background: #f8fafc;
	border-top: 1px solid #e9ecef;
	list-style: none;
	margin: 0;
	padding: 0;
}
.a11y-mobile-submenu[hidden] {
	display: none;
}
.a11y-mobile-submenu__item {
	border-bottom: 1px solid #edf2f7;
}
.a11y-mobile-submenu__item:last-child {
	border-bottom: none;
}
.a11y-mobile-submenu__link {
	align-items: center;
	color: #2d3748 !important;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	gap: 10px;
	min-height: 46px;
	padding: 12px 20px 12px 54px;
	text-decoration: none !important;
	transition: background 0.15s ease, color 0.15s ease;
}
.a11y-mobile-submenu__link i {
	color: var(--a11y-navy);
	font-size: 14px;
}
.a11y-mobile-submenu__link:hover,
.a11y-mobile-submenu__link:focus-visible {
	background: #eef4ff;
	color: var(--a11y-navy) !important;
}
.a11y-mobile-submenu__link:focus-visible {
	outline: 3px solid var(--a11y-navy) !important;
	outline-offset: -3px !important;
}

/* Mobile Menu Action CTAs */
.a11y-mobile-nav__actions {
	border-top: 2px solid #e2e8f0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 10px;
	padding: 16px 20px 8px;
}
.a11y-mobile-nav__btn {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 700;
	gap: 10px;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.a11y-mobile-nav__btn--call {
	background: var(--a11y-navy);
	border: 2px solid var(--a11y-navy);
	color: #ffffff !important;
}
.a11y-mobile-nav__btn--call:hover,
.a11y-mobile-nav__btn--call:focus-visible {
	background: var(--a11y-navy-deep);
	border-color: var(--a11y-navy-deep);
	color: #ffffff !important;
}
.a11y-mobile-nav__btn--quote {
	background: var(--a11y-amber);
	border: 2px solid var(--a11y-amber);
	color: #191919 !important;
}
.a11y-mobile-nav__btn--quote:hover,
.a11y-mobile-nav__btn--quote:focus-visible {
	background: #ffc93d;
	border-color: #ffc93d;
	color: #191919 !important;
}

/* Mobile backdrop */
.a11y-mobile-backdrop {
	background: rgba(0, 20, 60, 0.5);
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9998;
}
.a11y-mobile-backdrop[hidden] {
	display: none;
}

/* Legacy MeanMenu overrides to eliminate any cyan remnants */
.mean-container .mean-bar {
	background: var(--a11y-navy) !important;
}
.mean-container .mean-nav {
	background: #ffffff !important;
}
.mean-container .mean-nav ul li a {
	background: #ffffff !important;
	color: #191919 !important;
}
.mean-container .mean-nav ul li a:hover {
	background: #eef4ff !important;
	color: var(--a11y-navy) !important;
}
.mobile-menu-area {
	border-top: 3px solid var(--a11y-navy) !important;
}

