/* Presentation-only styling for the existing block-theme header and footer. */
body .wp-site-blocks > .wp-block-template-part:first-child {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid #eae5de;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content {
	color: #333333;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content:hover,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content:focus-visible {
	color: #b89455;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__submenu-container {
	border: 1px solid #eae5de;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

body .wp-site-blocks > .wp-block-template-part:last-child {
	margin-top: 0;
	background: #121212;
	color: #ece6dd;
}

body .wp-site-blocks > .wp-block-template-part:last-child a {
	color: #c5a059;
}

body .wp-site-blocks > .wp-block-template-part:last-child a:hover,
body .wp-site-blocks > .wp-block-template-part:last-child a:focus-visible {
	color: #e8ca8c;
}

/* ========================================================================
   SAF FRONTEND RESPONSIVE CONSISTENCY
   Presentation-only fixes for desktop/tablet/mobile.
   Do not alter business/order/plugin behavior.
   ======================================================================== */

html {
	scroll-behavior: smooth;
}

body {
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}

body,
body .wp-site-blocks {
	overflow-x: clip;
}

/* Keep the WordPress block-theme header visually consistent on every
 * frontend page, not only the home page. */
body .wp-site-blocks > .wp-block-template-part:first-child {
	position: relative;
	z-index: 100;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__container {
	align-items: center;
	gap: clamp(10px, 1.35vw, 22px);
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__label {
	font-family: 'DM Sans', Arial, sans-serif;
	color: #302629;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .045em;
	text-transform: uppercase;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content:hover,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation-item__content:focus-visible {
	color: #622631;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__submenu-container {
	min-width: 210px;
	padding: 7px;
	border: 1px solid #e7dfd5;
	border-radius: 0;
	background: #fffdfa;
	box-shadow: 0 16px 36px rgba(48, 38, 41, .13);
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 11px;
	white-space: normal;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container {
	background: #fffdfa;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open {
	box-sizing: border-box;
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100dvh !important;
	max-height: 100dvh !important;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
	background: #fffdfa;
	overflow: hidden !important;
	overscroll-behavior: none;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	box-sizing: border-box;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	width: 100%;
	padding: 8px 4px 24px;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-y: contain;
	scrollbar-width: thin;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	align-items: stretch;
	gap: 0;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 13px 8px;
	border-bottom: 1px solid #e9e1d8;
	font-size: 12px;
	line-height: 1.45;
	white-space: normal;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
	width: 100%;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	position: static;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 0 0 12px;
	border: 0;
	box-shadow: none;
	background: transparent;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container-close,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container-open {
	color: #622631;
}

body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container-open {
	min-width: 44px;
	min-height: 44px;
}

/* Breadcrumbs: retain the existing breadcrumb content and links while
 * making the presentation wrap cleanly on narrow screens. */
body .woocommerce-breadcrumb,
body .woocommerce .woocommerce-breadcrumb,
body .rank-math-breadcrumb,
body .yoast-breadcrumb,
body .saf-breadcrumb,
body .saf-breadcrumbs {
	box-sizing: border-box;
	width: min(1280px, calc(100% - 48px));
	margin: 18px auto;
	padding: 0;
	color: #776e68;
	font-family: 'DM Sans', Arial, sans-serif;
	font-size: 12px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

body .woocommerce-breadcrumb a,
body .rank-math-breadcrumb a,
body .yoast-breadcrumb a,
body .saf-breadcrumb a,
body .saf-breadcrumbs a {
	color: #622631;
	text-decoration: none;
}

body .woocommerce-breadcrumb a:hover,
body .rank-math-breadcrumb a:hover,
body .yoast-breadcrumb a:hover,
body .saf-breadcrumb a:hover,
body .saf-breadcrumbs a:hover {
	color: #b89455;
	text-decoration: underline;
}

body .woocommerce-breadcrumb .delimiter {
	margin: 0 6px;
	color: #b89455;
}

/* Mobile/tablet text visibility: preserve the intended light/dark treatment
 * and prevent transparent/inherited text from disappearing against its frame. */
@media (max-width: 900px) {
	body .wp-site-blocks > .wp-block-template-part:first-child {
		overflow: visible;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open {
		max-width: 100vw;
	}

	body .woocommerce-breadcrumb,
	body .woocommerce .woocommerce-breadcrumb,
	body .rank-math-breadcrumb,
	body .yoast-breadcrumb,
	body .saf-breadcrumb,
	body .saf-breadcrumbs {
		width: calc(100% - 32px);
		margin-top: 14px;
		margin-bottom: 14px;
		font-size: 11px;
	}

	/* Match the desktop palette rather than introducing mobile-only
	 * white/transparent text states. */
	body .wp-site-blocks > .wp-block-template-part:first-child,
	body .wp-site-blocks > .wp-block-template-part:first-child a,
	body .wp-site-blocks > .wp-block-template-part:first-child button {
		-webkit-text-fill-color: currentColor;
	}
}

@media (max-width: 600px) {
	body .woocommerce-breadcrumb,
	body .woocommerce .woocommerce-breadcrumb,
	body .rank-math-breadcrumb,
	body .yoast-breadcrumb,
	body .saf-breadcrumb,
	body .saf-breadcrumbs {
		width: calc(100% - 24px);
		margin-top: 12px;
		margin-bottom: 12px;
		font-size: 10.5px;
		line-height: 1.55;
	}

	body .woocommerce-breadcrumb .delimiter {
		margin: 0 4px;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		max-height: none !important;
		height: auto !important;
		flex: 1 1 auto !important;
		min-height: 0 !important;
		padding-right: 6px;
		padding-left: 6px;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		padding-top: 14px;
		padding-bottom: 14px;
		font-size: 12px;
	}
}

/* Remove the obsolete social columns from the WordPress footer. The
 * selector is intentionally scoped to the footer template and only matches
 * columns containing the existing social destination URLs. */
body .wp-site-blocks > .wp-block-template-part:last-child .wp-block-column:has(a[href*="facebook.com"], a[href*="instagram.com"], a[href*="twitter.com"], a[href*="x.com"]) {
	display: none;
}

/* Fallback: hide only the obsolete social links if a browser does not
 * support :has(); other footer columns remain untouched. 
body .wp-site-blocks > .wp-block-template-part:last-child a[href*="facebook.com"],
body .wp-site-blocks > .wp-block-template-part:last-child a[href*="instagram.com"],
body .wp-site-blocks > .wp-block-template-part:last-child a[href*="twitter.com"],
body .wp-site-blocks > .wp-block-template-part:last-child a[href*="x.com"] {
	display: none;
}
*/

/* If removing the social column leaves an empty grid track, let the
 * remaining footer content occupy the available width. */
@media (max-width: 900px) {
	body .wp-site-blocks > .wp-block-template-part:last-child .wp-block-columns {
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	}
}

/* ========================================================================
   SAF MOBILE NAVIGATION - FINAL SCROLL FIX
   The WordPress Navigation block owns the open-menu viewport.  Make the
   responsive container itself the scroll surface so long menus remain
   reachable on mobile/tablet.  This is presentation-only.
   ======================================================================== */
@media (max-width: 900px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		min-height: 0 !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-y !important;
		overscroll-behavior-y: contain !important;
		z-index: 99999 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		box-sizing: border-box !important;
		display: block !important;
		overflow: visible !important;
		padding: 64px 20px 40px !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: none !important;
		gap: 0 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item {
		width: 100% !important;
		flex: 0 0 auto !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content {
		width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
	}

	/* Keep the close control visible while the menu itself scrolls. */
	.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-close {
		position: fixed !important;
		top: max(16px, env(safe-area-inset-top)) !important;
		right: 16px !important;
		z-index: 100001 !important;
	}

	/* Never allow an inner WordPress navigation layer to capture/disable
	 * the vertical gesture intended for the menu viewport. */
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation__responsive-container.is-menu-open * {
		touch-action: pan-y;
	}

	/* Fallback state used only if WordPress core's navigation click handler
	 * fails to apply its open state. */
	html.saf-mobile-menu-open,
	body.saf-mobile-menu-open {
		overflow: hidden !important;
	}

	.wp-block-navigation__responsive-container.saf-mobile-menu-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
}


/* ========================================================================
   SAF MOBILE MENU TOOLBAR / DRAWER - FINAL
   WordPress core owns the open/close state.  These rules only control
   presentation and the scrollable drawer viewport.
   ======================================================================== */
@media (max-width: 900px) {
	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		align-content: center !important;
		vertical-align: middle !important;
		text-align: center !important;
		line-height: 1 !important;
		padding: 0 !important;
		margin: 0 !important;
		min-width: 44px !important;
		min-height: 44px !important;
		box-sizing: border-box !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container-open svg,
	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container-open .wp-block-navigation__responsive-container-open-icon,
	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container-open .wp-block-navigation__responsive-container-open-icon svg {
		display: block !important;
		margin: 0 auto !important;
		position: static !important;
		transform: none !important;
	}

	/* The drawer itself is the viewport; only its content scrolls. */
	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		max-width: 100vw !important;
		max-height: 100dvh !important;
		min-height: 0 !important;
		box-sizing: border-box !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		overflow: hidden !important;
		z-index: 100000 !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		position: absolute !important;
		top: max(64px, env(safe-area-inset-top)) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-y !important;
		overscroll-behavior-y: contain !important;
		padding: 8px 20px calc(32px + env(safe-area-inset-bottom)) !important;
	}
}

/* ========================================================================
   SAF MOBILE MENU — LOVABLE REFERENCE UI
   Presentation-only. Uses the existing WordPress Navigation links/state.
   No menu URLs, order workflow, WooCommerce, or plugin logic is changed.
   ======================================================================== */
@media (max-width: 900px) {
  html.saf-mobile-menu-open,
  body.saf-mobile-menu-open {
    overflow: hidden !important;
  }

  body .wp-site-blocks > .wp-block-template-part:first-child
    .wp-block-navigation__responsive-container.saf-lovable-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fbf7f1 !important;
    color: #231d1b !important;
    overflow: hidden !important;
    z-index: 100000 !important;
  }

  .saf-mobile-menu-toolbar {
    flex: 0 0 166px;
    width: 100%;
    min-height: 166px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: max(20px, env(safe-area-inset-top)) 34px 18px;
    border-bottom: 1px solid #ddd3c7;
    background: #fbf7f1;
  }

  .saf-mobile-menu-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .saf-mobile-menu-brand-mark {
    flex: 0 0 82px;
    width: 82px;
    height: 82px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #b99049;
    color: #6d171c;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 48px;
    line-height: 1;
    background: rgba(255,255,255,.18);
  }

  .saf-mobile-menu-brand-words {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .saf-mobile-menu-brand-words strong {
    display: block;
    color: #682127;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 31px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
  }

  .saf-mobile-menu-brand-words small {
    display: block;
    color: #6c625c;
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .31em;
    line-height: 1;
    white-space: nowrap;
  }

  .saf-mobile-menu-actions {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
  }

  .saf-mobile-menu-chat,
  .saf-mobile-menu-close {
    width: 42px;
    height: 42px;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #6d171c;
    text-decoration: none;
    cursor: pointer;
  }

  .saf-mobile-menu-icon--chat {
    width: 29px;
    height: 23px;
    display: block;
    box-sizing: border-box;
    border: 3px solid currentColor;
    border-radius: 50%;
    position: relative;
  }

  .saf-mobile-menu-icon--chat::after {
    content: '';
    position: absolute;
    right: -2px;
    bottom: -6px;
    width: 9px;
    height: 9px;
    border-left: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: skew(-22deg) rotate(-15deg);
    background: #fbf7f1;
  }

  .saf-mobile-menu-icon--close,
  .saf-mobile-menu-icon--close::before {
    width: 28px;
    height: 3px;
    display: block;
    background: currentColor;
    border-radius: 2px;
  }

  .saf-mobile-menu-icon--close {
    transform: rotate(45deg);
    position: relative;
  }

  .saf-mobile-menu-icon--close::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: rotate(90deg);
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content {
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    padding: 42px 46px calc(42px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__container {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item {
    width: 100% !important;
    flex: 0 0 auto !important;
    position: relative;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content {
    min-height: 70px;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    padding: 17px 0 !important;
    border-bottom: 1px solid #ded5ca !important;
    color: #231d1b !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content:hover,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content:focus-visible {
    color: #6d171c !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-submenu__toggle {
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    color: #231d1b !important;
    background: transparent !important;
    border: 0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    min-height: 58px;
    font-size: 15px !important;
    color: #4b423d !important;
  }

  .saf-mobile-menu-appointment {
    width: 100%;
    min-height: 84px;
    margin-top: 46px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 20px;
    background: #6d171c;
    color: #fff !important;
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
  }

  .saf-mobile-menu-appointment:hover,
  .saf-mobile-menu-appointment:focus-visible {
    background: #5b1217;
    color: #fff !important;
  }
}

@media (max-width: 600px) {
  .saf-mobile-menu-toolbar {
    flex-basis: 166px;
    min-height: 166px;
    padding-left: 36px;
    padding-right: 30px;
  }

  .saf-mobile-menu-brand {
    gap: 20px;
  }

  .saf-mobile-menu-brand-mark {
    flex-basis: 70px;
    width: 70px;
    height: 70px;
    font-size: 42px;
  }

  .saf-mobile-menu-brand-words strong {
    font-size: 28px;
  }

  .saf-mobile-menu-brand-words small {
    font-size: 12px;
    letter-spacing: .25em;
  }

  .saf-mobile-menu-actions {
    gap: 12px;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content {
    padding-left: 46px !important;
    padding-right: 46px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content {
    min-height: 70px;
    font-size: 17px !important;
  }
}

/* ========================================================================
   SAF MOBILE MENU — LOVABLE FULL-MENU OVERRIDE
   Ensures the complete navigation is visible and scrollable on mobile.
   This is presentation/DOM-state handling only; existing URLs are retained.
   ======================================================================== */
@media (max-width: 900px) {
  html.saf-mobile-menu-open,
  body.saf-mobile-menu-open {
    overflow: hidden !important;
    height: 100% !important;
  }

  body .wp-site-blocks > .wp-block-template-part:first-child
    .wp-block-navigation__responsive-container.saf-lovable-menu-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #faf7f0 !important;
    color: #2b2118 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-toolbar {
    flex: 0 0 auto !important;
    min-height: 126px !important;
    height: 126px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: max(18px, env(safe-area-inset-top)) 24px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #e3d9c6 !important;
    background: #faf7f0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-mark {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 1px solid #c19a3f !important;
    color: #581825 !important;
    background: #fffdf9 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-words {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-words strong {
    display: block !important;
    color: #581825 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-words small {
    display: block !important;
    color: #6f6154 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .25em !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-left: 10px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-chat,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-close {
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    color: #581825 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-close {
    display: none !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content {
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    padding: 0 24px calc(28px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    scrollbar-width: none !important;
    background: #faf7f0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content::-webkit-scrollbar {
    display: none !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content {
    width: 100% !important;
    min-height: 58px !important;
    height: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    padding: 15px 4px !important;
    border-bottom: 1px solid #e3d9c6 !important;
    color: #2b2118 !important;
    background: transparent !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content:hover,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content:focus-visible {
    color: #581825 !important;
    background: transparent !important;
  }

  /* Do not allow WP's accordion state to hide any part of the menu. */
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container[hidden],
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container[aria-hidden='true'] {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 0 0 16px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    min-height: 48px !important;
    padding: 12px 4px !important;
    border-bottom: 1px solid rgba(227, 217, 198, .7) !important;
    color: #6f6154 !important;
    font-size: 14px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-submenu__toggle {
    display: none !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-appointment {
    width: 100% !important;
    min-height: 58px !important;
    margin: 24px 0 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 20px !important;
    background: #581825 !important;
    color: #fffdf9 !important;
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 380px) {
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-toolbar {
    padding-left: 16px !important;
    padding-right: 14px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand {
    gap: 10px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-mark {
    flex-basis: 48px !important;
    width: 48px !important;
    height: 48px !important;
    font-size: 30px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-words strong {
    font-size: 22px !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-brand-words small {
    font-size: 8px !important;
    letter-spacing: .19em !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .saf-mobile-menu-actions {
    margin-left: 4px !important;
    gap: 0 !important;
  }

  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* ==========================================================================
   SAF RESPONSIVE MENU PATCH — 2026-10
   Scope: navigation drawer, mobile menu trigger, and breadcrumb alignment only.
   Orientation-independent: applies to portrait and landscape equally.
   ========================================================================== */
body .wp-site-blocks > .wp-block-template-part:first-child,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-group,
body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 900px) {
	body .wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100%;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 44px;
		width: 44px;
		height: 44px;
		min-width: 44px !important;
		min-height: 44px !important;
		margin-inline-start: auto !important;
		padding: 0 !important;
		position: relative !important;
		inset: auto !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		z-index: 100000 !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		position: absolute !important;
		top: max(64px, env(safe-area-inset-top)) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-y !important;
		box-sizing: border-box !important;
		padding: 8px 16px calc(24px + env(safe-area-inset-bottom)) !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 0 !important;
	}

	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item,
	body .wp-site-blocks > .wp-block-template-part:first-child
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
		box-sizing: border-box !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
	}

	/* Keep every common breadcrumb right-aligned, including narrow portrait screens. */
	body .woocommerce-breadcrumb,
	body .woocommerce .woocommerce-breadcrumb,
	body .rank-math-breadcrumb,
	body .yoast-breadcrumb,
	body .saf-breadcrumb,
	body .saf-breadcrumbs {
		text-align: right !important;
		margin-left: auto !important;
		margin-right: 12px !important;
		max-width: calc(100% - 24px) !important;
	}
}

@media (min-width: 901px) {
	body .woocommerce-breadcrumb,
	body .woocommerce .woocommerce-breadcrumb,
	body .rank-math-breadcrumb,
	body .yoast-breadcrumb,
	body .saf-breadcrumb,
	body .saf-breadcrumbs {
		text-align: right !important;
	}
}



/* SAF FINAL MOBILE MENU VISIBILITY FIX
 * Ensure top-level links and nested links are rendered as a vertical list
 * across the homepage, Shop, product categories, and normal pages.
 * Keep WordPress navigation state and links unchanged.
 */
@media (max-width: 900px) {
  .wp-block-navigation__responsive-container.is-menu-open,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex-direction: column !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__responsive-container-content {
    display: block !important;
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__container {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    gap: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container > .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__container > .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item {
    display: flex !important;
    position: static !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation-item__content {
    display: flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 48px !important;
    height: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container[hidden],
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container[hidden] {
    display: flex !important;
    position: static !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0 0 14px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container > .wp-block-navigation-item,
  .wp-block-navigation__responsive-container.saf-lovable-menu-open
    .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    display: flex !important;
    width: 100% !important;
  }

  .wp-block-navigation__responsive-container-open {
    flex: 0 0 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    visibility: visible !important;
  }
}


/* SAF SHARED HEADER NAVIGATION
 * Loaded globally so the custom header rendered by functions.php is styled
 * on product, service, category, post, and standard WordPress pages as well
 * as the homepage. Presentation only; no plugin/order behavior changed.
 */
:root {
  --saf-ink: #302629;
  --saf-wine: #622631;
  --saf-wine-deep: #35151d;
  --saf-gold: #c29a59;
  --saf-cream: #f5f0e8;
  --saf-paper: #fffdfa;
  --saf-muted: #776e68;
  --saf-line: rgba(61, 39, 37, .14);
  --saf-serif: 'Cormorant Garamond', Georgia, serif;
  --saf-sans: 'DM Sans', Arial, sans-serif;
}
.saf-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  border-bottom: 1px solid var(--saf-line);
  background: rgba(255,253,250,.97);
  box-shadow: 0 2px 12px rgba(48,38,41,.035);
  backdrop-filter: blur(14px);
}
.saf-header, .saf-header * { box-sizing: border-box; }
.saf-container { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.saf-header__inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.saf-brand { display:inline-flex; align-items:center; gap:12px; flex:0 0 auto; text-decoration:none !important; color:var(--saf-ink); }
.saf-brand__mark { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--saf-gold); color:var(--saf-wine); font-family:var(--saf-serif); font-size:31px; line-height:1; }
.saf-brand__name { display:flex; flex-direction:column; line-height:1; }
.saf-brand__name strong { color:var(--saf-wine); font-family:var(--saf-serif); font-size:25px; font-weight:600; white-space:nowrap; }
.saf-brand__name span { margin-top:7px; color:var(--saf-ink); font-family:var(--saf-sans); font-size:9px; font-weight:600; letter-spacing:4px; }
.saf-nav--desktop { display:flex; align-items:center; justify-content:flex-end; gap:clamp(10px,1.25vw,20px); }
.saf-nav--desktop > a, .saf-nav__dropdown > summary { display:inline-flex; align-items:center; min-height:44px; color:var(--saf-ink); font:600 10px/1.4 var(--saf-sans); letter-spacing:.055em; text-transform:uppercase; text-decoration:none !important; white-space:nowrap; cursor:pointer; list-style:none; }
.saf-nav--desktop > a:hover, .saf-nav__dropdown > summary:hover { color:var(--saf-gold); }
.saf-nav__dropdown { position:relative; }
.saf-nav__dropdown > summary::-webkit-details-marker, .saf-mobile-menu > summary::-webkit-details-marker, .saf-mobile-menu details > summary::-webkit-details-marker { display:none; }
.saf-nav__dropdown > summary:after { content:""; width:5px; height:5px; margin-left:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.saf-nav__panel { position:absolute; top:100%; left:0; min-width:220px; padding:10px; display:grid; gap:2px; background:var(--saf-paper); border:1px solid var(--saf-line); box-shadow:0 16px 34px rgba(38,20,21,.12); }
.saf-nav__panel a { display:block; padding:11px 12px; color:var(--saf-ink); font:500 11px/1.4 var(--saf-sans); text-decoration:none !important; white-space:normal; }
.saf-nav__panel a:hover { color:var(--saf-wine); background:var(--saf-cream); }
.saf-mobile-menu { display:none; position:relative; margin-left:auto; }
.saf-mobile-menu > summary { display:flex; align-items:center; gap:12px; min-width:48px; min-height:48px; padding:8px 0 8px 12px; list-style:none; cursor:pointer; color:var(--saf-wine); }
.saf-mobile-menu__label { font:700 10px/1 var(--saf-sans); letter-spacing:.12em; text-transform:uppercase; }
.saf-mobile-menu__icon { width:22px; display:grid; gap:5px; }
.saf-mobile-menu__icon i { display:block; width:22px; height:1px; background:currentColor; }
.saf-mobile-menu__panel { position:absolute; top:calc(100% + 17px); right:-20px; width:min(88vw,390px); max-height:calc(100dvh - 100px); overflow-y:auto; padding:12px 20px 24px; background:var(--saf-paper); border:1px solid var(--saf-line); box-shadow:0 18px 30px rgba(38,20,21,.14); }
.saf-mobile-menu__panel > a, .saf-mobile-menu__panel details > a { display:flex; align-items:center; min-height:48px; padding:12px 4px; border-bottom:1px solid var(--saf-line); color:var(--saf-ink); font:600 11px/1.45 var(--saf-sans); letter-spacing:.055em; text-transform:uppercase; text-decoration:none !important; }
.saf-mobile-menu__panel details > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 4px; border-bottom:1px solid var(--saf-line); color:var(--saf-ink); font:600 11px/1.45 var(--saf-sans); letter-spacing:.055em; text-transform:uppercase; list-style:none; cursor:pointer; }
.saf-mobile-menu__panel details > summary:after { content:"+"; font-size:18px; font-weight:400; }
.saf-mobile-menu__panel details[open] > summary:after { content:"−"; }
.saf-mobile-menu__panel details > a { padding-left:18px; font-weight:500; text-transform:none; }
.saf-mobile-menu__panel a:hover { color:var(--saf-wine); }
@media (max-width:1180px) {
  .saf-header__inner { min-height:76px; }
  .saf-nav--desktop { gap:10px; }
  .saf-nav--desktop > a, .saf-nav__dropdown > summary { font-size:9px; letter-spacing:.025em; }
  .saf-brand__name strong { font-size:22px; }
}
@media (max-width:980px) {
  .saf-nav--desktop { display:none !important; }
  .saf-mobile-menu { display:block !important; }
  .saf-header__inner { min-height:72px; }
  .saf-container { width:min(1280px, calc(100% - 36px)); }
  .saf-mobile-menu__panel { right:-18px; }
}
@media (max-width:420px) {
  .saf-brand__mark { width:42px; height:42px; font-size:27px; }
  .saf-brand__name strong { font-size:21px; }
  .saf-brand__name span { font-size:8px; letter-spacing:3.5px; }
  .saf-mobile-menu__panel { right:-18px; width:calc(100vw - 20px); }
}


/* Supplied Sri Adhira Fashions brand logo — homepage and shared page header. */
.saf-brand__logo {
  display: block;
  width: 64px;
  height: 64px;
  max-width: 64px;
  object-fit: contain;
  flex: 0 0 64px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
@media (max-width: 980px) {
  .saf-brand__logo {
    width: 58px;
    height: 58px;
    max-width: 58px;
    flex-basis: 58px;
  }
}
@media (max-width: 420px) {
  .saf-brand__logo {
    width: 50px;
    height: 50px;
    max-width: 50px;
    flex-basis: 50px;
  }
}


/* Logo sizing adjustment: quarter of the previous displayed dimensions. */
.saf-brand__logo { width: 16px !important; height: 16px !important; max-width: 16px !important; flex-basis: 16px !important; object-fit: contain !important; }
@media (max-width: 980px) { .saf-brand__logo { width: 14.5px !important; height: 14.5px !important; max-width: 14.5px !important; flex-basis: 14.5px !important; } }
@media (max-width: 420px) { .saf-brand__logo { width: 12.5px !important; height: 12.5px !important; max-width: 12.5px !important; flex-basis: 12.5px !important; } }


/* Final responsive header logo sizing; same supplied logo on every page. */
.saf-header .saf-brand img.saf-brand__logo {
  display:block !important;
  width:48px !important; height:48px !important;
  min-width:48px !important; max-width:48px !important;
  min-height:48px !important; max-height:48px !important;
  flex:0 0 48px !important; object-fit:contain !important;
  margin:0 !important; padding:0 !important;
}
@media (max-width:980px) {
  .saf-header .saf-brand img.saf-brand__logo {
    width:40px !important; height:40px !important;
    min-width:40px !important; max-width:40px !important;
    min-height:40px !important; max-height:40px !important;
    flex-basis:40px !important;
  }
}


/* MOBILE HEADER FIX — keep the logo compact and navigation accessible.
 * Scoped to brand/logo/header elements so homepage artwork remains unchanged.
 */
@media (max-width: 980px) {
  .saf-header .saf-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    min-height: 54px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  .saf-header .saf-container {
    width: calc(100% - 20px) !important;
  }
  .saf-header .saf-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 6px !important;
    overflow: hidden !important;
  }
  .saf-header .saf-brand img.saf-brand__logo {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    flex: 0 0 24px !important;
  }
  .saf-header .saf-brand__name {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .saf-header .saf-brand__name strong {
    font-size: clamp(14px, 4vw, 18px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .saf-header .saf-brand__name span {
    margin-top: 4px !important;
    font-size: 6px !important;
    letter-spacing: 1.5px !important;
    white-space: nowrap !important;
  }
  .saf-header .saf-mobile-menu {
    display: block !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    visibility: visible !important;
  }
  .saf-header .saf-mobile-menu > summary {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 6px !important;
    gap: 7px !important;
    justify-content: center !important;
  }
  .saf-header .saf-mobile-menu__label {
    font-size: 9px !important;
    letter-spacing: .08em !important;
  }
  .saf-header .saf-mobile-menu__panel {
    z-index: 10000 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    width: min(90vw, 340px) !important;
    max-height: calc(100dvh - 80px) !important;
  }

  /* Compatibility with any legacy Twenty Twenty-Four Site Logo block
     that may still be present in a saved header template. */
  .wp-block-site-logo {
    flex: 0 0 28px !important;
    width: 28px !important;
    max-width: 28px !important;
    margin-inline: 0 6px !important;
  }
  .wp-block-site-logo img,
  img.custom-logo,
  .custom-logo-link img {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    object-fit: contain !important;
  }
  .wp-block-site-title {
    min-width: 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
  }
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
@media (max-width: 420px) {
  .saf-header .saf-header__inner { gap: 5px !important; }
  .saf-header .saf-brand__name strong { font-size: 14px !important; }
  .saf-header .saf-brand__name span { letter-spacing: 1px !important; }
}


/* SMALL-SCREEN-ONLY logo reduction: one-sixth of the 60px homepage logo.
   Desktop and larger tablet styling are intentionally untouched. */
@media screen and (max-width: 600px) {
  .saf-luxury-home .wp-block-site-logo .custom-logo,
  .saf-luxury-home .wp-block-site-logo img,
  .wp-block-site-logo .custom-logo,
  .wp-block-site-logo img.custom-logo,
  img.custom-logo,
  .custom-logo-link img {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    max-width: 10px !important;
    min-height: 10px !important;
    max-height: 10px !important;
    object-fit: contain !important;
  }

  .wp-block-site-logo,
  .custom-logo-link {
    flex: 0 0 10px !important;
    width: 10px !important;
    max-width: 10px !important;
    margin-inline: 0 5px !important;
  }

  .saf-header .saf-brand img.saf-brand__logo {
    width: 4px !important;
    height: 4px !important;
    min-width: 4px !important;
    max-width: 4px !important;
    min-height: 4px !important;
    max-height: 4px !important;
    flex: 0 0 4px !important;
  }
}


/* MOBILE ONLY: move the logo out of the brand/menu row and place it
   beneath the language selector area, above navigation/breadcrumb content. */
@media screen and (max-width: 600px) {
  .saf-header {
    display: block !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .saf-header::before {
    content: "" !important;
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 auto 8px !important;
    background-image: url("../images/sri-adhira-fashions-logo.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }
  .saf-header .saf-header__inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    min-height: 44px !important;
  }
  .saf-header .saf-brand img.saf-brand__logo {
    display: none !important;
  }
  .saf-header .saf-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 0 !important;
  }
  .saf-header .saf-brand__name strong {
    font-size: 14px !important;
    line-height: 1.1 !important;
  }
  .saf-header .saf-brand__name span {
    font-size: 6px !important;
    letter-spacing: 1px !important;
    margin-top: 4px !important;
  }
  .saf-header .saf-mobile-menu {
    display: block !important;
    flex: 0 0 auto !important;
    visibility: visible !important;
    margin-left: auto !important;
  }
  .saf-header .saf-mobile-menu > summary {
    display: flex !important;
    min-width: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .saf-header .saf-mobile-menu__panel {
    z-index: 10000 !important;
    right: 0 !important;
    width: min(90vw, 340px) !important;
    max-height: calc(100dvh - 80px) !important;
  }
}


/* FINAL RESPONSIVE UX FIX:
   The oversized standalone logo below the language selector is likely the
   WordPress Site Logo block. Hide the large standalone logo on mobile and
   keep a compact 5vw logo (max 32px) in the header area.
   Desktop styles are untouched. */
@media screen and (max-width: 767px) {
  /* Prevent any standalone logo block from taking a large vertical section. */
  body .wp-block-site-logo,
  body .wp-block-site-logo a,
  body .custom-logo-link {
    display: block !important;
    width: min(5vw, 32px) !important;
    max-width: min(5vw, 32px) !important;
    height: min(5vw, 32px) !important;
    max-height: min(5vw, 32px) !important;
    margin: 0 auto 4px !important;
    padding: 0 !important;
    overflow: hidden !important;
    flex: 0 0 min(5vw, 32px) !important;
  }
  body .wp-block-site-logo img,
  body img.custom-logo,
  body .custom-logo-link img {
    display: block !important;
    width: min(5vw, 32px) !important;
    height: min(5vw, 32px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(5vw, 32px) !important;
    max-height: min(5vw, 32px) !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* Custom SAF header logo also stays compact; preserve nav/menu tap target. */
  .saf-header .saf-brand img.saf-brand__logo {
    width: min(5vw, 32px) !important;
    height: min(5vw, 32px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(5vw, 32px) !important;
    max-height: min(5vw, 32px) !important;
    flex: 0 0 min(5vw, 32px) !important;
  }
  .saf-header .saf-header__inner {
    min-height: 48px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .saf-header .saf-mobile-menu,
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex: 0 0 44px !important;
  }
}

/* Ultra-small phones: retain readable content and a visible menu button. */
@media screen and (max-width: 380px) {
  body .wp-block-site-logo,
  body .wp-block-site-logo a,
  body .custom-logo-link,
  body .wp-block-site-logo img,
  body img.custom-logo,
  body .custom-logo-link img,
  .saf-header .saf-brand img.saf-brand__logo {
    width: 19px !important;
    height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
    flex-basis: 19px !important;
  }
}


/* MOBILE LAYOUT CORRECTION:
   Logo is capped at one-quarter of the viewport width. Restore menu/breadcrumb
   visibility and prevent oversized standalone Site Logo blocks from consuming
   the first screen. Desktop/tablet layouts above 767px are unchanged. */
@media screen and (max-width: 767px) {
  /* Keep any standalone Site Logo block small and centered. */
  body .wp-block-site-logo,
  body .wp-block-site-logo a,
  body .custom-logo-link {
    display: block !important;
    width: min(25vw, 110px) !important;
    max-width: min(25vw, 110px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 6px auto !important;
    padding: 0 !important;
    overflow: visible !important;
    flex: 0 1 auto !important;
  }
  body .wp-block-site-logo img,
  body img.custom-logo,
  body .custom-logo-link img {
    display: block !important;
    width: min(25vw, 110px) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(25vw, 110px) !important;
    max-height: none !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* SAF custom header: responsive compact logo and a visible menu trigger. */
  .saf-header {
    position: relative !important;
    z-index: 1000 !important;
    overflow: visible !important;
  }
  .saf-header .saf-header__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 4px 10px !important;
    overflow: visible !important;
  }
  .saf-header .saf-brand {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 6px !important;
  }
  .saf-header .saf-brand img.saf-brand__logo {
    display: block !important;
    width: min(25vw, 72px) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(25vw, 72px) !important;
    max-height: none !important;
    flex: 0 1 auto !important;
    object-fit: contain !important;
  }
  .saf-header .saf-brand__name {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .saf-header .saf-brand__name strong {
    font-size: clamp(13px, 4vw, 17px) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .saf-header .saf-mobile-menu {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    margin-left: auto !important;
    z-index: 10010 !important;
  }
  .saf-header .saf-mobile-menu > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 6px !important;
    cursor: pointer !important;
  }
  .saf-header .saf-mobile-menu__panel {
    position: absolute !important;
    display: block !important;
    z-index: 10020 !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(90vw, 340px) !important;
    max-height: calc(100vh - 100px) !important;
    overflow-y: auto !important;
  }

  /* If the site uses the native Twenty Twenty-Four navigation block, expose
     its responsive menu toggle while keeping desktop navigation untouched. */
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 10010 !important;
  }
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10030 !important;
    overflow-y: auto !important;
  }

  /* Breadcrumbs: visible, compact, and able to wrap on narrow phones. */
  .breadcrumb,
  .breadcrumbs,
  .yoast-breadcrumb,
  .rank-math-breadcrumb,
  nav[aria-label*="breadcrumb" i],
  .wp-block-post-terms,
  .saf-breadcrumbs {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    padding: 5px 12px !important;
    box-sizing: border-box !important;
  }
  .saf-header,
  .saf-header * {
    box-sizing: border-box;
  }
}


/* FINAL MOBILE HEADER FIX (1 inch maximum logo, usable navigation).
   Scoped to mobile/tablet-width devices only; desktop rules remain unchanged. */
@media screen and (max-width: 767px) {
  /* Limit logo artwork itself to 1 inch (96 CSS px), independent of source size. */
  body .wp-block-site-logo,
  body .wp-block-site-logo a,
  body .custom-logo-link {
    display: block !important;
    width: min(96px, 25vw) !important;
    max-width: min(96px, 25vw) !important;
    height: auto !important;
    max-height: none !important;
    margin: 6px auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    flex: 0 1 auto !important;
    line-height: 0 !important;
  }
  body .wp-block-site-logo img,
  body img.custom-logo,
  body .custom-logo-link img,
  body .wp-block-site-logo svg {
    display: block !important;
    width: min(96px, 25vw) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(96px, 25vw) !important;
    max-height: none !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* Custom SAF header logo and container */
  .saf-header {
    position: relative !important;
    z-index: 9999 !important;
    overflow: visible !important;
  }
  .saf-header .saf-header__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-height: 52px !important;
    height: auto !important;
    padding: 4px 10px !important;
    overflow: visible !important;
  }
  .saf-header .saf-brand {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 7px !important;
  }
  .saf-header .saf-brand img.saf-brand__logo {
    display: block !important;
    width: min(96px, 25vw) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: min(96px, 25vw) !important;
    max-height: none !important;
    flex: 0 1 auto !important;
    object-fit: contain !important;
  }

  /* Menu toggle: visible and easy to tap */
  .saf-header .saf-mobile-menu {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    margin-left: auto !important;
    z-index: 10020 !important;
  }
  .saf-header .saf-mobile-menu > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 8px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }
  .saf-header .saf-mobile-menu__panel {
    position: absolute !important;
    display: block !important;
    z-index: 10050 !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(90vw, 340px) !important;
    max-height: calc(100vh - 90px) !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
  }
  .saf-header .saf-mobile-menu__panel a,
  .saf-header .saf-mobile-menu__panel button {
    display: block !important;
    min-height: 42px !important;
    pointer-events: auto !important;
  }

  /* Native Twenty Twenty-Four navigation button and overlay */
  .wp-block-navigation {
    position: relative !important;
    z-index: 10010 !important;
  }
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 10020 !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    z-index: 10060 !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
  }

  /* Breadcrumbs: display and allow wrapping; don't overlap navigation. */
  .breadcrumb,
  .breadcrumbs,
  .yoast-breadcrumb,
  .rank-math-breadcrumb,
  nav[aria-label*="breadcrumb" i],
  .wp-block-post-terms,
  .saf-breadcrumbs,
  .woocommerce-breadcrumb {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    padding: 6px 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}


/* Targeted fix for narrow mobile Chrome viewports (up to 385px).
   Keep the logo small, menu button visible/tappable, and breadcrumb readable. */
@media screen and (max-width: 385px) {
  /* Standalone WordPress logo blocks must never create a tall hero-sized row. */
  body .wp-block-site-logo,
  body .wp-block-site-logo a,
  body .custom-logo-link {
    display: block !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    margin: 4px auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    flex: 0 0 48px !important;
    line-height: 0 !important;
  }
  body .wp-block-site-logo img,
  body img.custom-logo,
  body .custom-logo-link img,
  body .wp-block-site-logo svg {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* Compact header row and ensure it is above adjacent content. */
  .saf-header {
    position: relative !important;
    z-index: 9999 !important;
    overflow: visible !important;
  }
  .saf-header .saf-header__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 3px 8px !important;
    overflow: visible !important;
  }
  .saf-header .saf-brand {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 5px !important;
  }
  .saf-header .saf-brand img.saf-brand__logo {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    flex: 0 0 48px !important;
    object-fit: contain !important;
  }
  .saf-header .saf-brand__name strong {
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .saf-header .saf-brand__name span {
    display: none !important;
  }

  /* 24px icon area inside a 44px-wide/44px-high usable tap target. */
  .saf-header .saf-mobile-menu {
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    margin-left: auto !important;
    z-index: 10020 !important;
  }
  .saf-header .saf-mobile-menu > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }
  .saf-header .saf-mobile-menu > summary svg,
  .saf-header .saf-mobile-menu > summary .saf-mobile-menu__icon {
    width: 24px !important;
    height: 24px !important;
  }
  .saf-header .saf-mobile-menu__panel {
    position: absolute !important;
    display: block !important;
    top: calc(100% + 3px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(90vw, 340px) !important;
    max-height: calc(100vh - 85px) !important;
    overflow-y: auto !important;
    z-index: 10050 !important;
    pointer-events: auto !important;
  }
  .saf-header .saf-mobile-menu__panel a,
  .saf-header .saf-mobile-menu__panel button {
    display: block !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    pointer-events: auto !important;
  }

  /* Native Twenty Twenty-Four navigation toggle remains visible. */
  .wp-block-navigation {
    position: relative !important;
    z-index: 10010 !important;
  }
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 10020 !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 10060 !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
  }

  /* Breadcrumbs visible, compact and wrapped below language/header area. */
  .breadcrumb,
  .breadcrumbs,
  .yoast-breadcrumb,
  .rank-math-breadcrumb,
  nav[aria-label*="breadcrumb" i],
  .wp-block-post-terms,
  .saf-breadcrumbs,
  .woocommerce-breadcrumb {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    padding: 5px 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
