/*
Theme Name: Orange Hills
Theme URI: 
Author: Sphiwe
Author URI: 
Description: This is a child theme of the Twenty Twenty-Four theme
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 1.0.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfour
Text Domain: orange-hills
Tags: 
*/


div.wpcf7 {
    max-width: 600px; /* set the max-width you prefer */
    margin: 0 auto;
  }
  div.wpcf7 input:not([type="checkbox"]),
  div.wpcf7 textarea {
    width: 100%;
  }
  div.wpcf7 label {
    display: block;
  }
  
  .wpcf7
  {
      background-color: #eef3fb;
      border-radius: 8px;
      position: relative;
      width: 100%;
      padding: 15px;
  }
  
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="gmautocomplete"],
  input[type="select"],
  input[type="tel"],
  textarea
  {
     height: 50px;
      background: #fff;
      color: rgba(0, 0, 0, 0.8);
      font-size: 14px;
      border-radius: 8px;
      border: none;
      -webkit-box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
      -moz-box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
      box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
  }
  
  input[type="text"],
  input[type="email"],
  input[type="gmautocomplete"],
  input[type="select"],
  input[type="tel"]
  {
      padding-left: 20px;
  }
  
  h4
  {
      padding-top: 32px;
  }
  
  select
  {
     height: 50px;
      background: #fff;
      color: rgba(0, 0, 0, 0.8);
      font-size: 14px;
      border-radius: 8px;
      border: none;
      -webkit-box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
      -moz-box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
      box-shadow: 0px 8px 19px -13px rgba(0, 0, 0, 0.09) !important;
  }
  
  .submit-bnt
  {
  font-family: "Poppins", Sans-serif;
      font-size: 16px;
      font-weight: normal;
      fill: #FFFFFF;
      color: #FFFFFF;
      background-color: #FB862D;
      border: none;
      border-radius: 3px 3px 3px 3px;
      padding: 18px 32px 18px 32px;
      text-align: center;
      width: 100%;
  
  }
  
  .wpcf7 .wpcf7-submit:disabled
  {
      font-family: "Poppins", Sans-serif;
      font-size: 16px;
      font-weight: normal;
      fill: #FFFFFF;
      color: #FFFFFF;
      background-color: #e2e2e2;
      border: none;
      border-radius: 3px 3px 3px 3px;
      padding: 18px 32px 18px 32px;
      text-align: center;
      width: 100%;
  }
  
  body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
      max-width: max-content;
  }
  
/*
 * Shared site footer (parts/footer.html) — global source of truth.
 * Distinct from .home-footer (sticky Instant Quote CTAs on the homepage).
 */
.oh-site-footer {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 56px 24px 64px;
	background-color: var(--wp--preset--color--tertiary, #f0f1f5);
}

.oh-site-footer__columns {
	align-items: flex-start !important;
	gap: 40px 48px !important;
	margin: 0 auto;
	max-width: 1120px;
}

.oh-site-footer__col {
	min-width: 0;
}

.oh-site-footer__col--brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}

.oh-site-footer .oh-footer-brand {
	margin: 0;
}

.oh-site-footer .oh-footer-brand .custom-logo-link,
.oh-site-footer .oh-footer-brand .wp-block-site-logo a {
	display: inline-block;
	line-height: 0;
}

.oh-site-footer .oh-footer-brand .custom-logo,
.oh-site-footer .oh-footer-brand img {
	display: block;
	width: auto;
	max-width: min(280px, 100%);
	height: auto;
}

.oh-site-footer__social {
	margin: 0 !important;
	padding: 0;
	gap: 12px !important;
}

.oh-site-footer__social .wp-block-social-link {
	margin: 0;
}

.oh-site-footer__social .wp-social-link {
	width: 36px;
	height: 36px;
}

.oh-site-footer__heading {
	margin: 0 0 14px !important;
	color: var(--wp--preset--color--primary, #4d6b99) !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.oh-site-footer__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.oh-site-footer__list li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.oh-site-footer__list a {
	color: #111111 !important;
	font-size: 0.98rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
}

.oh-site-footer__list a:hover,
.oh-site-footer__list a:focus-visible {
	text-decoration: underline;
}

.oh-site-footer__list a:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

@media (max-width: 900px) {
	.oh-site-footer {
		padding: 44px 20px 52px;
	}

	.oh-site-footer__columns {
		gap: 28px 24px !important;
	}
}

@media (max-width: 700px) {
	.oh-site-footer {
		padding: 40px 18px 48px;
	}

	.oh-site-footer__columns {
		flex-direction: column !important;
		gap: 28px !important;
	}

	.oh-site-footer__col {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	.oh-site-footer .oh-footer-brand .custom-logo,
	.oh-site-footer .oh-footer-brand img {
		max-width: min(240px, 100%);
	}
}

/*
 * Compact Homepage sticky CTA — match Instant Quote .oh-iq-actions--sticky
 * (Step 1 of 3 Back/Continue bar). Buttons only; promotional copy removed.
 *
 * Visibility (hero IntersectionObserver → .is-past-hero) is unchanged.
 *
 * Selectors are scoped under body.home + .home-footer.wp-block-columns so they
 * outrank legacy/plugin `.home-footer …` rules (e.g. Simple Custom CSS 240×76)
 * without editing DB/plugin CSS. !important is limited to size/layout props that
 * those legacy rules also mark !important — required for UAT theme-only deploys.
 *
 * Fixed 152×48 (not min-width/auto): longer labels must not widen past Step 1.
 * Horizontal padding is tighter than Step 1’s 12px 28px so “Get Instant Quote”
 * fits the fixed footprint at the same 1.05rem / 600 weight (font unchanged).
 */
body.home .home-footer.wp-block-columns,
body.home .home-footer {
	--oh-iq-cta-label: #111111;
	--oh-iq-sticky-actions-pad-y: 14px;
	--oh-iq-sticky-actions-pad-x: 32px;
	--oh-home-sticky-btn-w: 152px;
	--oh-home-sticky-btn-h: 48px;
	box-sizing: border-box;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0;
	width: 100%;
	height: auto;
	min-height: 0 !important;
	margin: 0;
	padding: var(--oh-iq-sticky-actions-pad-y) var(--oh-iq-sticky-actions-pad-x) !important;
	padding-bottom: max(var(--oh-iq-sticky-actions-pad-y), env(safe-area-inset-bottom, 0px)) !important;
	background: #fff !important;
	border-top: 1px solid rgba(215, 219, 229, 0.95) !important;
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08) !important;
	/*
	 * Hidden while the quote-type hero is in view (JS toggles .is-past-hero).
	 * Default hidden avoids a flash at top-of-page before the observer runs.
	 */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

body.home .home-footer.is-past-hero {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
}

/* Promotional heading/description column — hide when a two-column sticky remains. */
body.home .home-footer > .wp-block-column:first-child:not(:last-child) {
	display: none !important;
}

/* Helper lines under each button — sticky contains actions only. */
body.home .home-footer p {
	display: none !important;
}

body.home .home-footer > .wp-block-column {
	box-sizing: border-box;
	min-width: 0;
}

body.home .home-footer > .wp-block-column:last-child {
	flex: 1 1 auto !important;
	width: 100% !important;
	max-width: 720px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.home .home-footer > .wp-block-column:last-child > .wp-block-group {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: none !important;
}

body.home .home-footer > .wp-block-column:last-child > .wp-block-group > .wp-block-group {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: center !important;
	flex: 0 0 var(--oh-home-sticky-btn-w) !important;
	width: var(--oh-home-sticky-btn-w) !important;
	min-width: var(--oh-home-sticky-btn-w) !important;
	max-width: var(--oh-home-sticky-btn-w) !important;
	gap: 0 !important;
}

body.home .home-footer .wp-block-buttons.is-content-justification-center.is-layout-flex,
body.home .home-footer .wp-block-buttons {
	justify-content: stretch !important;
	width: var(--oh-home-sticky-btn-w) !important;
	min-width: var(--oh-home-sticky-btn-w) !important;
	max-width: var(--oh-home-sticky-btn-w) !important;
}

body.home .home-footer .wp-block-buttons.is-content-justification-center.is-layout-flex > .wp-block-button,
body.home .home-footer .wp-block-buttons > .wp-block-button {
	flex: 0 0 var(--oh-home-sticky-btn-w) !important;
	width: var(--oh-home-sticky-btn-w) !important;
	min-width: var(--oh-home-sticky-btn-w) !important;
	max-width: var(--oh-home-sticky-btn-w) !important;
	font-size: inherit !important;
}

body.home .home-footer .wp-block-button .wp-block-button__link {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--oh-home-sticky-btn-w) !important;
	min-width: var(--oh-home-sticky-btn-w) !important;
	max-width: var(--oh-home-sticky-btn-w) !important;
	height: var(--oh-home-sticky-btn-h) !important;
	min-height: var(--oh-home-sticky-btn-h) !important;
	max-height: var(--oh-home-sticky-btn-h) !important;
	margin: 0 !important;
	/* Tighter than Step 1 12px 28px — required so “Get Instant Quote” fits 152×48. */
	padding: 12px 4px !important;
	border-radius: 8px !important;
	border-width: 2px !important;
	border-style: solid !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
	overflow: hidden;
	color: var(--oh-iq-cta-label, #111111) !important;
}

/* Get Instant Quote — secondary / outlined (matches .oh-iq-btn--back). */
body.home .home-footer .wp-block-button .wp-block-button__link.has-background-background-color {
	background: #fff !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
}

/* Order Water — primary / filled (matches .oh-iq-btn--continue). */
body.home .home-footer .wp-block-button .wp-block-button__link:not(.has-background-background-color) {
	background: var(--wp--preset--color--secondary, #ff8541) !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
}

/*
 * Sticky CTA interaction states — one orange border only.
 * Neutralises WP theme.json `.wp-element-button:focus` dotted primary outline
 * and any global `:focus` outline from theme custom CSS.
 * Keyboard: subtle fill (secondary) / brightness (primary); no outline ring.
 */
body.home .home-footer .wp-block-button .wp-block-button__link:focus,
body.home .home-footer .wp-block-button .wp-block-button__link:focus-visible,
body.home .home-footer .wp-block-button .wp-block-button__link:active,
body.home .home-footer .wp-block-button .wp-block-button__link:hover {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	color: var(--oh-iq-cta-label, #111111) !important;
}

body.home .home-footer .wp-block-button .wp-block-button__link.has-background-background-color:hover,
body.home .home-footer .wp-block-button .wp-block-button__link.has-background-background-color:focus-visible {
	background: #fff7f2 !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
}

body.home .home-footer .wp-block-button .wp-block-button__link.has-background-background-color:active {
	background: #ffefe6 !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
}

body.home .home-footer .wp-block-button .wp-block-button__link:not(.has-background-background-color):hover,
body.home .home-footer .wp-block-button .wp-block-button__link:not(.has-background-background-color):focus-visible {
	background: var(--wp--preset--color--secondary, #ff8541) !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
	filter: brightness(0.96);
}

body.home .home-footer .wp-block-button .wp-block-button__link:not(.has-background-background-color):active {
	background: var(--wp--preset--color--secondary, #ff8541) !important;
	border-color: var(--wp--preset--color--secondary, #ff8541) !important;
	filter: brightness(0.94);
}

@media (max-width: 781px) {
	body.home .home-footer.wp-block-columns,
	body.home .home-footer {
		--oh-iq-sticky-actions-pad-x: 16px;
		--oh-iq-sticky-actions-pad-y: 12px;
		flex-wrap: nowrap !important;
		height: auto !important;
		max-height: none !important;
		align-items: center !important;
	}

	body.home .home-footer .wp-block-column:last-child {
		flex-basis: 100% !important;
	}

	/*
	 * Mobile: secondary (Get Quote) left, primary (Order Water) right — one row
	 * so both CTAs stay above the fold without stacking.
	 */
	body.home .home-footer > .wp-block-column:last-child > .wp-block-group {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: stretch !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.home .home-footer > .wp-block-column:last-child > .wp-block-group > .wp-block-group {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: 1 1 0 !important;
	}

	body.home .home-footer .wp-block-buttons,
	body.home .home-footer .wp-block-buttons.is-content-justification-center.is-layout-flex {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	body.home .home-footer .wp-block-buttons.is-content-justification-center.is-layout-flex > .wp-block-button,
	body.home .home-footer .wp-block-buttons > .wp-block-button {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: 1 1 auto !important;
	}

	body.home .home-footer .wp-block-button .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--oh-home-sticky-btn-h) !important;
		min-height: var(--oh-home-sticky-btn-h) !important;
		max-height: var(--oh-home-sticky-btn-h) !important;
		padding: 12px 8px !important;
	}

	/*
	 * Clearance for the fixed sticky CTA after the global footer.
	 * Height tracks the real sticky CTA via --oh-home-sticky-cta-height
	 * (set by assets/js/home-sticky-clearance.js), plus a small gap.
	 * Fallback matches the compact Step 1–style sticky bar (~100px).
	 */
	body.home {
		--oh-home-sticky-clearance-gap: 24px;
	}

	body.home .wp-site-blocks > .wp-block-spacer:last-child {
		height: calc(
			var(--oh-home-sticky-cta-height, 100px) + var(--oh-home-sticky-clearance-gap, 24px) +
				env(safe-area-inset-bottom, 0px)
		) !important;
	}
}

/* Portable theme asset (not Media Library / environment absolute URL). */
.fancy-list {
  margin: 0;
  padding: 0 0 0 24px;
  list-style: none;
  background: url(assets/images/tick-1.png) no-repeat 0 0;
  min-height: 24px;
}

/* -------------------------------------------------------------------------
   Instant Quote journey — shared visual tokens + three-step progress
   ------------------------------------------------------------------------- */

.oh-iq-body,
body.oh-iq {
	/*
	 * Instant Quote design-system rules (carry into all journey screens):
	 * 1. CTA label text = black/dark (#111)
	 * 2. Helper/supporting text = secondary but readable (#5a6170)
	 * 3. User-entered / selected field values = black (#111)
	 * Future screenshots remain source of truth; report conflicts if they contradict.
	 */
	--oh-iq-cta-label: #111111;
	--oh-iq-helper: #5a6170;
	--oh-iq-field-value: #111111;
	/* Panel section titles only (e.g. Select date / Recurring). */
	--oh-iq-panel-heading: var(--wp--preset--color--primary, #4d6b99);
	background: #fff;
	margin: 0;
}

.oh-iq .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.oh-iq-page-header {
	background: var(--wp--preset--color--tertiary, #f0f1f5);
	padding: 28px 24px;
	text-align: center;
}

/*
 * Instant Quote journey pages: pin footer to the viewport bottom when
 * content is short (removes the empty white band beneath the footer).
 */
body.oh-iq-step-1,
body.oh-iq-step-2,
body.oh-iq-step-3,
body.oh-iq-step-5 {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

body.oh-iq-step-1 .oh-iq-main,
body.oh-iq-step-2 .oh-iq-main,
body.oh-iq-step-3 .oh-iq-main,
body.oh-iq-step-5 .oh-iq-main {
	flex: 1 0 auto;
}

body.oh-iq-step-1 .oh-site-footer,
body.oh-iq-step-3 .oh-site-footer,
body.oh-iq-step-5 .oh-site-footer {
	flex: 0 0 auto;
	margin-top: auto;
	/* Scroll clearance under the fixed IQ action bar — footer layout unchanged. */
	margin-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

/*
 * Products step: taller sticky region (Product Subtotal + Back/Continue).
 * Clearance tracks measured height; footer chrome itself is unchanged.
 */
body.oh-iq-step-2 .oh-site-footer {
	flex: 0 0 auto;
	margin-top: auto;
	margin-bottom: calc(
		var(--oh-iq-sticky-region-height, 180px) + 24px + env(safe-area-inset-bottom, 0px)
	);
}

.oh-iq-page-title {
	margin: 0;
	color: #191c1f;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: clamp(2rem, 1.35rem + 1.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.oh-iq-main {
	background: #fff;
	padding: 48px 32px 72px;
}

.oh-iq-shell {
	/* Match desktop reference content column (~half of 1440 design). */
	max-width: 720px;
	width: 100%;
	margin: 0 auto;
}

body.oh-iq-step-5 .oh-iq-shell {
	/* Step 5 quote preview needs a wider column than earlier form steps. */
	max-width: 920px;
}

.oh-iq-progress {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 28px;
}

.oh-iq-progress__track {
	display: flex;
	flex: 1 1 auto;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.oh-iq-progress__seg {
	flex: 1 1 0;
	height: 6px;
	border-radius: 999px;
	background: #e4e7ee;
}

.oh-iq-progress__seg.is-active {
	background: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-progress__label {
	margin: 0;
	flex: 0 0 auto;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.2;
	white-space: nowrap;
}

.oh-iq-step__heading {
	margin: 0 0 10px;
	color: #191c1f;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: clamp(2rem, 1.35rem + 1.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.oh-iq-step__support {
	margin: 0 0 28px;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 1rem;
	line-height: 1.45;
}

/* Homepage header: quote-type selection replaces the former cover hero. */

/*
 * Top navigation — logo left, cart (count + value) right.
 * Shown on homepage and Instant Quote journey pages.
 * Checkout reuses the same cart control (badge + amount pill) in its header.
 * Independent of Sticky CTA (.home-footer). Stays visible while scrolling.
 */
body.home .oh-home-top-nav,
body.oh-iq .oh-home-top-nav {
	box-sizing: border-box;
	position: sticky;
	top: 0;
	z-index: 40;
	width: 100%;
	background: #ffffff;
	border-bottom: 1px solid #e8ebf2;
}

body.home .oh-home-top-nav__inner,
body.oh-iq .oh-home-top-nav__inner {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 14px 32px;
}

body.home .oh-home-top-nav__logo,
body.oh-iq .oh-home-top-nav__logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	color: inherit;
	flex: 0 1 auto;
	min-width: 0;
}

body.home .oh-home-top-nav__logo-img,
body.oh-iq .oh-home-top-nav__logo-img {
	display: block;
	width: auto;
	height: 40px;
	max-width: min(200px, 58vw);
	object-fit: contain;
}

body.home .oh-home-top-nav__cart,
body.oh-iq .oh-home-top-nav__cart,
body.woocommerce-checkout .oh-home-top-nav__cart {
	--oh-cart-accent: var(--wp--preset--color--secondary, #ff8541);
	--oh-cart-fill: #fff5ee;
	box-sizing: border-box;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 4px;
	min-width: 64px;
	margin: 0;
	padding: 2px 0 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--wp--preset--color--primary, #4d6b99);
	text-decoration: none;
	line-height: 1;
}

body.home .oh-home-top-nav__cart:hover,
body.home .oh-home-top-nav__cart:focus-visible,
body.oh-iq .oh-home-top-nav__cart:hover,
body.oh-iq .oh-home-top-nav__cart:focus-visible,
body.woocommerce-checkout .oh-home-top-nav__cart:hover,
body.woocommerce-checkout .oh-home-top-nav__cart:focus-visible {
	color: var(--oh-cart-accent);
	outline: none;
}

body.home .oh-home-top-nav__cart:focus-visible,
body.oh-iq .oh-home-top-nav__cart:focus-visible,
body.woocommerce-checkout .oh-home-top-nav__cart:focus-visible {
	outline: 2px solid var(--oh-cart-accent);
	outline-offset: 2px;
}

body.home .oh-home-top-nav__cart-visual,
body.oh-iq .oh-home-top-nav__cart-visual,
body.woocommerce-checkout .oh-home-top-nav__cart-visual {
	position: relative;
	display: block;
	width: 30px;
	height: 26px;
}

body.home .oh-home-top-nav__cart-icon,
body.oh-iq .oh-home-top-nav__cart-icon,
body.woocommerce-checkout .oh-home-top-nav__cart-icon {
	display: block;
	width: 26px;
	height: 24px;
}

body.home .oh-home-top-nav__cart-badge,
body.oh-iq .oh-home-top-nav__cart-badge,
body.woocommerce-checkout .oh-home-top-nav__cart-badge {
	box-sizing: border-box;
	position: absolute;
	top: -6px;
	right: -10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border: 1.5px solid var(--oh-cart-accent);
	border-radius: 999px;
	background: var(--oh-cart-fill);
	color: #111111;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

body.home .oh-home-top-nav__cart-total,
body.oh-iq .oh-home-top-nav__cart-total,
body.woocommerce-checkout .oh-home-top-nav__cart-total {
	box-sizing: border-box;
	display: inline-block;
	max-width: 88px;
	padding: 2px 8px;
	border: 1.5px solid var(--oh-cart-accent);
	border-radius: 999px;
	background: var(--oh-cart-fill);
	color: #111111;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
}

/* Hide the unused Blocks cart-link shell if a parent still wraps our control. */
body.woocommerce-checkout .wp-block-woocommerce-cart-link:has([data-oh-checkout-cart-summary]) {
	display: contents;
}

@media (max-width: 781px) {
	body.home .oh-home-top-nav__inner,
	body.oh-iq .oh-home-top-nav__inner {
		padding: 12px 20px;
		gap: 12px;
	}

	body.home .oh-home-top-nav__logo-img,
	body.oh-iq .oh-home-top-nav__logo-img {
		height: 34px;
		max-width: min(160px, 55vw);
	}

	body.woocommerce-checkout .oh-home-top-nav__cart-total {
		max-width: 76px;
		padding: 2px 6px;
		font-size: 10px;
	}
}

.oh-iq-home-quote-type-band {
	background: #fff;
	padding: 48px 32px 56px;
	border-bottom: 1px solid #e8ebf2;
}

.oh-iq-home-quote-type {
	max-width: 720px;
	margin: 0 auto;
}

.oh-iq-home-quote-type .oh-iq-quote-type__heading,
.oh-iq-home-quote-type .oh-iq-step__heading {
	margin: 0 0 32px;
	color: #191c1f;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: clamp(2rem, 1.35rem + 1.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-align: center;
}

.oh-iq-home-quote-type .oh-iq-quote-type__support {
	margin: 0 0 28px;
}

.oh-iq-home-quote-type .oh-iq-selection {
	margin-bottom: 0;
}

/*
 * Homepage quote-type hero CTAs — shared .oh-iq-btn Primary/Secondary system
 * (same footprint as journey Back / Continue: 152×48).
 * Far-right on desktop; secondary left / primary right on mobile (one row).
 */
.oh-iq-home-quote-type__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin: 28px 0 0;
	padding: 0;
	border: 0;
}

/*
 * Layout hook only — sizing/colour come from .oh-iq-btn / --back / --continue.
 * Do not introduce a second Primary/Secondary footprint here.
 */
.oh-iq-home-quote-type__btn {
	flex: 0 0 auto;
	margin: 0;
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
}

/*
 * Single orange border only — suppress WP/theme focus outlines and rings.
 * Keyboard focus uses a subtle fill change, not a second outline/box-shadow stroke.
 */
.oh-iq-home-quote-type__btn:focus,
.oh-iq-home-quote-type__btn:focus-visible,
.oh-iq-home-quote-type__btn:active {
	outline: none;
	outline-offset: 0;
	box-shadow: none;
	text-decoration: none;
}

.oh-iq-home-quote-type__btn.oh-iq-btn--back:hover,
.oh-iq-home-quote-type__btn.oh-iq-btn--back:focus-visible {
	background: #fff7f2;
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-home-quote-type__btn.oh-iq-btn--back:active {
	background: #ffefe6;
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-home-quote-type__btn.oh-iq-btn--continue:hover,
.oh-iq-home-quote-type__btn.oh-iq-btn--continue:focus-visible {
	filter: brightness(0.96);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-home-quote-type__btn.oh-iq-btn--continue:active {
	filter: brightness(0.94);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

@media (max-width: 781px) {
	.oh-iq-home-quote-type-band {
		padding: 32px 16px 40px;
	}

	.oh-iq-home-quote-type__actions {
		/* DOM: quote then order → secondary left, primary right. */
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: stretch;
		gap: 12px;
		margin-top: 24px;
	}

	.oh-iq-home-quote-type__actions .oh-iq-btn,
	.oh-iq-home-quote-type__actions .oh-iq-home-quote-type__btn {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}
}

.oh-iq-options {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.oh-iq-selection {
	margin: 0 0 32px;
	color: #35353f;
}

.oh-iq-selection > .oh-iq-field-error {
	margin-top: 16px;
}

.oh-iq-selection.has-error .oh-iq-options {
	outline: 1.5px solid #fecaca;
	outline-offset: 4px;
	border-radius: 16px;
}

.oh-iq-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	width: 100%;
	margin: 0;
	padding: 20px 22px;
	border: 1.5px solid #d7dbe5;
	border-radius: 14px;
	background: #fff;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.oh-iq-option:hover {
	border-color: #c3c9d6;
}

/* Suppress default/mouse focus chrome; keyboard uses :focus-visible below. */
.oh-iq-option:focus,
.oh-iq-option:focus-within {
	outline: none;
	box-shadow: none;
}

.oh-iq-option:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 3px;
}

.oh-iq-option.is-selected:focus:not(:focus-visible),
.oh-iq-option[aria-checked='true']:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

.oh-iq-option__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	border: 1.5px solid #d7dbe5;
	background: #f7f8fb;
	color: var(--wp--preset--color--primary, #4d6b99);
}

.oh-iq-option__copy {
	flex: 1 1 auto;
	/* Do not force flex shrink that wraps titles on desktop. */
	min-width: min-content;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.oh-iq-option__title {
	display: block;
	color: #35353f;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.oh-iq-option__desc {
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.92rem;
	line-height: 1.4;
	font-weight: 400;
}

.oh-iq-option__radio {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin-left: auto;
	border-radius: 50%;
	border: 1.5px solid #c5cad6;
	background: #fff;
	color: #fff;
}

.oh-iq-option__check {
	opacity: 0;
	transform: scale(0.8);
}

.oh-iq-option.is-selected,
.oh-iq-option[aria-checked='true'] {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	border-width: 2px;
	padding: 19.5px 21.5px;
	box-shadow: none;
}

.oh-iq-option.is-selected .oh-iq-option__icon,
.oh-iq-option[aria-checked='true'] .oh-iq-option__icon {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: var(--wp--preset--color--secondary, #ff8541);
	color: #fff;
}

.oh-iq-option.is-selected .oh-iq-option__radio,
.oh-iq-option[aria-checked='true'] .oh-iq-option__radio {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-option.is-selected .oh-iq-option__check,
.oh-iq-option[aria-checked='true'] .oh-iq-option__check {
	opacity: 1;
	transform: scale(1);
}

.oh-iq-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
	flex-wrap: nowrap;
	width: 100%;
}

/*
 * Shared Instant Quote sticky Back / Continue bar (Steps 1–3, 5).
 * Full-bleed chrome; button pair aligns to the content shell’s right edge.
 * z-index stays below Places suggestions (80) so autocomplete remains usable.
 */
.oh-iq-actions--sticky {
	--oh-iq-sticky-actions-pad-y: 14px;
	--oh-iq-sticky-actions-pad-x: 32px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: var(--oh-iq-sticky-actions-pad-y) var(--oh-iq-sticky-actions-pad-x);
	padding-bottom: max(var(--oh-iq-sticky-actions-pad-y), env(safe-area-inset-bottom, 0px));
	background: #fff;
	border-top: 1px solid rgba(215, 219, 229, 0.95);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
}

.oh-iq-actions--sticky .oh-iq-actions__bar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
	flex-wrap: nowrap;
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
}

/*
 * Step 1 of 3 (internal step 2): sticky Continue / Back only.
 * Product count + subtotal live in the top-nav cart.
 */
.oh-iq-actions--sticky .oh-iq-actions__stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
}

body.oh-iq-step-5 .oh-iq-actions--sticky .oh-iq-actions__bar {
	max-width: 920px;
}

/* Keep last journey content / footer scrollable above the fixed action bar. */
body.oh-iq-step-1 .oh-iq-main,
body.oh-iq-step-3 .oh-iq-main,
body.oh-iq-step-5 .oh-iq-main {
	padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
}

/*
 * Products step: clearance tracks the real sticky CTA height
 * (--oh-iq-sticky-region-height set by instant-quote.js).
 */
body.oh-iq-step-2 .oh-iq-main {
	padding-bottom: calc(
		var(--oh-iq-sticky-region-height, 120px) + 24px + env(safe-area-inset-bottom, 0px)
	);
}

.oh-iq-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* One Primary / Secondary footprint site-wide (matches journey sticky CTAs). */
	width: 152px;
	min-width: 152px;
	max-width: 152px;
	height: 48px;
	min-height: 48px;
	max-height: 48px;
	/* Tight horizontal padding so longer labels (e.g. Get Instant Quote) fit. */
	padding: 12px 4px;
	border-radius: 8px;
	border: 2px solid transparent;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	/* Shared Instant Quote CTA label colour (Back, Continue, future actions). */
	color: var(--oh-iq-cta-label, #111111);
	transition: opacity 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.oh-iq-btn--back {
	background: #fff;
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-btn--back:hover,
.oh-iq-btn--back:focus-visible {
	background: #fff7f2;
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-btn--continue {
	background: var(--wp--preset--color--secondary, #ff8541);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-btn--continue:hover:not(:disabled),
.oh-iq-btn--continue:focus-visible:not(:disabled) {
	filter: brightness(0.96);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-btn--continue:disabled,
.oh-iq-btn--continue[aria-disabled='true'] {
	opacity: 0.45;
	cursor: not-allowed;
	filter: none;
}

/* ------------------------------------------------------------------ */
/* Instant Quote — Step 2: products + quantities                       */
/* ------------------------------------------------------------------ */

.oh-iq-products {
	margin: 0 0 32px;
}

.oh-iq-products > .oh-iq-field-error {
	margin-top: 16px;
}

.oh-iq-products.has-error {
	outline: 1.5px solid #fecaca;
	outline-offset: 6px;
	border-radius: 12px;
}

.oh-iq-product-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 10px;
}

.oh-iq-product {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	align-items: stretch;
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	padding: 0;
	gap: 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.oh-iq-product__media {
	grid-row: 1;
	grid-column: 1;
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	background: #f3f4f8;
}

.oh-iq-product__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: 14px;
	background: #f3f4f8;
}

.oh-iq-product__image--placeholder {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	background: #eef0f5;
}

.oh-iq-product__info {
	grid-row: 2;
	grid-column: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 2px;
}

.oh-iq-product__name {
	margin: 0;
	color: #111111;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.25;
}

.oh-iq-product__pack {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.85rem;
	line-height: 1.35;
	font-weight: 400;
}

.oh-iq-product__price {
	margin: 0;
	color: #6b7280;
	font-size: 0.85rem;
	line-height: 1.35;
	font-weight: 400;
}

.oh-iq-product__link {
	color: inherit;
	text-decoration: none;
}

.oh-iq-product__link--media {
	display: block;
	width: 100%;
}

.oh-iq-product__link--name {
	display: block;
}

.oh-iq-product__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
	border-radius: 4px;
}

.oh-iq-product__view {
	display: none;
}

.oh-iq-product__link--view {
	color: var(--wp--preset--color--primary, #4d6b99);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/*
 * Qty control sits on the product image (bottom overlay),
 * same cell as media via CSS grid stacking.
 */
.oh-iq-qty {
	grid-row: 1;
	grid-column: 1;
	align-self: end;
	justify-self: center;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: calc(100% - 16px);
	margin: 0 0 10px;
	padding: 4px 6px;
	gap: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 2px 8px rgba(17, 17, 17, 0.12);
}

.oh-iq-qty__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 999px;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
}

.oh-iq-qty__btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-qty__btn--minus {
	background: #eef0f5;
	color: #5b6475;
}

.oh-iq-qty__btn--minus:hover:not(:disabled) {
	background: #e4e7ee;
}

.oh-iq-qty__btn--minus:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.oh-iq-qty__btn--plus {
	background: var(--wp--preset--color--secondary, #ff8541);
	color: #fff;
}

.oh-iq-qty__btn--plus:hover {
	filter: brightness(0.96);
}

.oh-iq-qty__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	color: var(--wp--preset--color--primary, #4d6b99);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

/* Product card grid: 2 columns by default, max 3 on wider screens. */
@media (min-width: 782px) {
	.oh-iq-product-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px 16px;
	}

	.oh-iq-product__name {
		font-size: 1.02rem;
	}

	.oh-iq-product__pack,
	.oh-iq-product__price {
		font-size: 0.9rem;
	}

	.oh-iq-qty {
		margin-bottom: 12px;
		padding: 5px 8px;
		gap: 10px;
	}

	.oh-iq-qty__btn {
		width: 36px;
		height: 36px;
		font-size: 1.25rem;
	}
}

.oh-iq-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 12px;
	padding: 16px 18px;
	border: 1px solid #d7dbe5;
	border-radius: 12px;
	background: #f3f4f8;
}

.oh-iq-summary__selected {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.95rem;
	line-height: 1.3;
}

.oh-iq-summary__subtotal {
	margin: 0;
	color: var(--wp--preset--color--primary, #4d6b99);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: right;
}

.oh-iq-actions--step2 .oh-iq-actions__bar {
	justify-content: flex-end;
}

/* ------------------------------------------------------------------ */
/* Instant Quote — Step 3: delivery details (initial / empty)          */
/* ------------------------------------------------------------------ */

.oh-iq-delivery,
.oh-iq-delivery [data-oh-iq-delivery-full] {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.oh-iq-delivery {
	margin: 0 0 40px;
}

.oh-iq-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.oh-iq-field__label {
	margin: 0;
	color: #111111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-iq-field__input,
.oh-iq input.oh-iq-field__input,
.oh-iq button.oh-iq-field__input {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #fff;
	/* User-entered values = black (not primary navy / browser blue). */
	color: var(--oh-iq-field-value, #111111);
	-webkit-text-fill-color: var(--oh-iq-field-value, #111111);
	caret-color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	/* Override legacy global input shadow/border from earlier theme CSS. */
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
}

.oh-iq-field__input::placeholder {
	color: #9aa1b2;
	-webkit-text-fill-color: #9aa1b2;
	opacity: 1;
}

/* Keep autofilled values black (avoid browser blue/navy text fills). */
.oh-iq-field__input:-webkit-autofill,
.oh-iq-field__input:-webkit-autofill:hover,
.oh-iq-field__input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--oh-iq-field-value, #111111) !important;
	caret-color: var(--oh-iq-field-value, #111111);
}

.oh-iq-field__input:hover {
	border-color: #c3c9d6;
}

.oh-iq-field__input:focus,
.oh-iq-field__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
	border-color: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-field__help {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.4;
	font-weight: 400;
}

.oh-iq-fulfilment {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
}

.oh-iq-fulfilment__option {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex: 1 1 140px;
	min-height: 52px;
	padding: 12px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #fff;
	color: #111111;
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
}

.oh-iq-fulfilment__title {
	flex: 1 1 auto;
	min-width: 0;
}

.oh-iq-fulfilment__radio {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 2px solid #c3c9d6;
	border-radius: 50%;
	background: #fff;
	align-self: center;
}

.oh-iq-fulfilment__option:hover {
	border-color: #c3c9d6;
}

.oh-iq-fulfilment__option:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-fulfilment__option.is-selected,
.oh-iq-fulfilment__option[aria-checked='true'] {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-fulfilment__option.is-selected .oh-iq-fulfilment__radio,
.oh-iq-fulfilment__option[aria-checked='true'] .oh-iq-fulfilment__radio {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: radial-gradient(
		circle at center,
		var(--wp--preset--color--secondary, #ff8541) 0,
		var(--wp--preset--color--secondary, #ff8541) 38%,
		#fff 42%,
		#fff 100%
	);
}

.oh-iq-pickup-card {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 8px;
	padding: 14px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #f7f8fb;
}

.oh-iq-pickup-card__address {
	margin: 8px 0 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 1rem;
	line-height: 1.45;
}

[data-oh-iq-delivery-full][hidden],
[data-oh-iq-fulfilment][hidden],
[data-oh-iq-pickup-card][hidden],
[data-oh-iq-address-field][hidden],
[data-oh-iq-email-gate-copy][hidden],
[data-oh-iq-otp][hidden],
[data-oh-iq-saved][hidden],
[data-oh-iq-otp-challenge][hidden],
[data-oh-iq-order-otp][hidden],
[data-oh-iq-incomplete][hidden] {
	display: none !important;
}

.oh-iq-saved {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0 0 8px;
}

.oh-iq-saved__card,
.oh-iq-saved__card.is-selected {
	/* Match .oh-iq-pickup-card — informational, not a selectable control. */
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #f7f8fb;
	box-shadow: none;
}

.oh-iq-saved__title {
	margin: 0;
}

.oh-iq-saved__values {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding-right: 4px;
}

.oh-iq-saved__value {
	margin: 0;
	color: #111111;
	font-size: 0.95rem;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.oh-iq-saved__value:empty {
	display: none;
}

.oh-iq-saved__card-footer {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 4px;
}

.oh-iq-saved__edit {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 4px 0;
	margin: 0;
	color: #111111;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.oh-iq-saved__edit:hover,
.oh-iq-saved__edit:focus-visible {
	color: #000000;
}

.oh-iq-saved__edit:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

.oh-iq-saved__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
	margin-top: 4px;
}

.oh-iq-saved__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 20px;
	border: 2px solid var(--wp--preset--color--secondary, #ff8541);
	border-radius: 6px;
	background-color: #ffffff;
	color: var(--oh-iq-cta-label, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.oh-iq-saved__add-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.oh-iq-saved__add:hover {
	background-color: #fff7f2;
}

.oh-iq-saved__add:active {
	transform: scale(0.98);
}

.oh-iq-saved__add:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-delivery--saved-mode [data-oh-iq-otp],
.oh-iq-delivery--saved-mode .oh-iq-field:has([data-oh-iq-field="name"]),
.oh-iq-delivery--saved-mode .oh-iq-field:has([data-oh-iq-field="phone"]),
.oh-iq-delivery--saved-mode .oh-iq-field:has([data-oh-iq-field="address"]),
.oh-iq-delivery--saved-mode [data-oh-iq-fulfilment],
.oh-iq-delivery--saved-mode [data-oh-iq-pickup-card],
.oh-iq-delivery--otp-challenge [data-oh-iq-otp],
.oh-iq-delivery--otp-challenge .oh-iq-field:has([data-oh-iq-field="name"]),
.oh-iq-delivery--otp-challenge .oh-iq-field:has([data-oh-iq-field="phone"]),
.oh-iq-delivery--otp-challenge .oh-iq-field:has([data-oh-iq-field="address"]),
.oh-iq-delivery--otp-challenge [data-oh-iq-fulfilment],
.oh-iq-delivery--otp-challenge [data-oh-iq-pickup-card],
.oh-iq-delivery--otp-challenge [data-oh-iq-date-field],
.oh-iq-delivery--incomplete-mode [data-oh-iq-delivery-full] {
	display: none !important;
}

.oh-iq-incomplete {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
	width: 100%;
	margin: 4px 0 8px;
	padding: 16px;
	border: 1px solid #e8ebf2;
	border-radius: 8px;
	background: #fafbfc;
}

.oh-iq-incomplete[hidden] {
	display: none !important;
}

.oh-iq-incomplete__copy {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #2b3340;
}

@media (max-width: 420px) {
	.oh-iq-saved__add {
		width: 100%;
	}
}

.oh-iq-otp {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	padding: 16px;
	border: 1px solid #e8ebf2;
	border-radius: 8px;
	background: #fafbfc;
}

.oh-iq-otp__heading {
	margin: 0;
	color: #111111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-iq-otp__support {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.oh-iq-otp__field {
	gap: 8px;
}

.oh-iq-otp__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}

.oh-iq-otp__input {
	flex: 1 1 8rem;
	max-width: 12rem;
	letter-spacing: 0.18em;
	font-variant-numeric: tabular-nums;
}

.oh-iq-otp__verify {
	flex: 0 0 auto;
	width: auto;
	min-width: 8.5rem;
	min-height: 52px;
	padding: 0 18px;
}

.oh-iq-otp__resend-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}

.oh-iq-otp__resend {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--primary, #4d6b99);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: underline;
	cursor: pointer;
}

.oh-iq-otp__resend:hover,
.oh-iq-otp__resend:focus-visible {
	color: #3d567a;
}

.oh-iq-otp__resend:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-otp__resend[aria-disabled='true'] {
	color: #9aa1b2;
	text-decoration: none;
	cursor: not-allowed;
}

.oh-iq-otp__cooldown {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.4;
}

.oh-iq-field.has-error .oh-iq-field__help {
	display: none !important;
}

.oh-iq-address-wrap {
	position: relative;
	width: 100%;
}

.oh-iq-address-suggestions {
	box-sizing: border-box;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 80;
	width: 100%;
	max-width: 100%;
	max-height: min(240px, 40vh);
	margin: 0;
	padding: 6px 0;
	overflow-x: hidden;
	overflow-y: auto;
	list-style: none;
	background: #fff;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	box-shadow: 0 12px 32px rgba(53, 53, 63, 0.14);
}

.oh-iq-address-suggestions[hidden] {
	display: none !important;
}

.oh-iq-address-suggestions__option {
	display: flex;
	flex-direction: column;
	gap: 2px;
	width: 100%;
	margin: 0;
	padding: 10px 16px;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	cursor: pointer;
}

.oh-iq-address-suggestions__option.is-active,
.oh-iq-address-suggestions__option:hover {
	background: #f4f6fa;
}

.oh-iq-address-suggestions__main {
	min-width: 0;
	overflow-wrap: anywhere;
}

.oh-iq-address-suggestions__secondary {
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.4;
}

.oh-iq-field-error,
.oh-iq-address-error {
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #fecaca;
	border-radius: 6px;
	background: #fef2f2;
	color: var(--oh-iq-field-value, #111111);
	overflow-wrap: anywhere;
}

.oh-iq-field-error[hidden],
.oh-iq-address-error[hidden] {
	display: none !important;
}

.oh-iq-field-error__icon,
.oh-iq-address-error__icon {
	flex: 0 0 auto;
	display: inline-flex;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	color: #e11d48;
}

.oh-iq-field-error__icon svg,
.oh-iq-address-error__icon svg {
	display: block;
}

.oh-iq-field-error__body,
.oh-iq-address-error__body {
	flex: 1 1 auto;
	min-width: 0;
}

.oh-iq-field-error__heading,
.oh-iq-address-error__heading {
	margin: 0 0 4px;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-iq-field-error__text,
.oh-iq-address-error__text {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
}

.oh-iq .oh-iq-field__input[aria-invalid="true"] {
	border-color: #e11d48;
}

.oh-iq .oh-iq-field__input[aria-invalid="true"]:focus,
.oh-iq .oh-iq-field__input[aria-invalid="true"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
	border-color: #e11d48;
}

.oh-iq-date {
	position: relative;
	width: 100%;
}

.oh-iq-date__input {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	text-align: left;
	cursor: pointer;
	padding-right: 16px;
	color: var(--oh-iq-field-value, #111111);
	-webkit-text-fill-color: var(--oh-iq-field-value, #111111);
	font: inherit;
}

.oh-iq-date__value {
	color: #9aa1b2;
	-webkit-text-fill-color: #9aa1b2;
	flex: 1 1 auto;
	min-width: 0;
}

.oh-iq-date__value.is-filled {
	/* Match normal entered field values — not heading/semibold. */
	color: var(--oh-iq-field-value, #111111);
	-webkit-text-fill-color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
}

.oh-iq-date__icon {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: #8b90a0;
	pointer-events: none;
	transform: none;
}

.oh-iq-field--date {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.oh-iq-field--date > .oh-iq-field-error {
	margin-top: 14px;
}

/* --- Delivery schedule summary + panel --- */
.oh-iq-schedule-summary {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.oh-iq-schedule-summary__empty {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	color: #9aa1b2;
	font: inherit;
	font-size: 1rem;
	text-align: left;
	cursor: pointer;
}

.oh-iq-schedule-summary__empty[hidden] {
	display: none !important;
}

.oh-iq-schedule-summary__empty:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-summary__filled {
	box-sizing: border-box;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
}

.oh-iq-schedule-summary__filled[hidden] {
	display: none !important;
}

.oh-iq-field--date.is-filled .oh-iq-schedule-summary__filled,
.oh-iq-field--date.is-filled .oh-iq-schedule-summary__empty {
	border-color: #c5cad6;
}

.oh-iq-schedule-summary__lines {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}

.oh-iq-schedule-summary__line {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.95rem;
	line-height: 1.35;
}

.oh-iq-schedule-summary__line:first-child {
	font-weight: 600;
}

.oh-iq-schedule-summary__edit {
	flex-shrink: 0;
	margin: 0;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: #111111;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.oh-iq-schedule-summary__edit:hover,
.oh-iq-schedule-summary__edit:focus-visible {
	color: #000000;
}

.oh-iq-schedule-summary__edit:focus-visible {
	outline: 2px solid #111111;
	outline-offset: 2px;
}

/* In-flow schedule page (replaces modal overlay). */
.oh-iq-schedule-page[hidden],
[data-oh-iq-delivery-view][hidden],
[data-oh-iq-progress][hidden] {
	display: none !important;
}

.oh-iq-schedule-page {
	box-sizing: border-box;
	width: 100%;
}

.oh-iq-schedule-page__body {
	box-sizing: border-box;
	width: 100%;
	padding: 4px 0 8px;
}

.oh-iq-schedule-section {
	margin-bottom: 28px;
}

.oh-iq-schedule-error {
	margin: 0 0 12px;
}

.oh-iq-schedule-section.has-error .oh-iq-schedule-freq,
.oh-iq-schedule-section.has-error .oh-iq-schedule-days,
.oh-iq-schedule-section.has-error .oh-iq-schedule-ends,
.oh-iq-schedule-section.has-error .oh-iq-schedule-cal {
	border-color: #e11d48;
}

.oh-iq-schedule-section.has-error .oh-iq-schedule-freq[aria-invalid='true'],
.oh-iq-schedule-section.has-error .oh-iq-schedule-days[aria-invalid='true'],
.oh-iq-schedule-section.has-error .oh-iq-schedule-ends[aria-invalid='true'] {
	outline: 1px solid #fecaca;
	outline-offset: 4px;
	border-radius: 12px;
}

.oh-iq-schedule-ends__count-input[aria-invalid='true'] {
	border-color: #e11d48;
}

.oh-iq-schedule-section--enter {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 220ms ease, transform 220ms ease;
}

.oh-iq-schedule-section--enter.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.oh-iq-schedule-section--enter {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.oh-iq-schedule-section__title {
	margin: 0 0 12px;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-schedule-reminder {
	margin-top: 8px;
}

.oh-iq-schedule-reminder__options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.oh-iq-schedule-reminder__btn {
	min-height: 48px;
	padding: 12px 8px;
	border: 1.5px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

.oh-iq-schedule-reminder__btn.is-selected {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: color-mix(in srgb, var(--wp--preset--color--secondary, #ff8541) 14%, #fff);
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-schedule-reminder__btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-reminder__confirm {
	margin: 12px 0 0;
	font-size: 0.92rem;
	font-style: italic;
	color: #6b7280;
	text-align: center;
}

@media (max-width: 480px) {
	.oh-iq-schedule-reminder__options {
		gap: 8px;
	}

	.oh-iq-schedule-reminder__btn {
		min-height: 44px;
		padding: 10px 4px;
		font-size: 0.92rem;
	}
}

.oh-iq-schedule-freq {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.oh-iq-schedule-freq__btn {
	min-height: 52px;
	padding: 12px 8px;
	border: 1.5px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

.oh-iq-schedule-freq__btn.is-selected {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: color-mix(in srgb, var(--wp--preset--color--secondary, #ff8541) 12%, #fff);
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-schedule-freq__btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-days {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.oh-iq-schedule-days__chip {
	min-width: 44px;
	min-height: 44px;
	padding: 8px 10px;
	border: 1.5px solid #d7dbe5;
	border-radius: 999px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.9rem;
	cursor: pointer;
}

.oh-iq-schedule-days__chip.is-selected {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: var(--wp--preset--color--secondary, #ff8541);
	color: #fff;
}

.oh-iq-schedule-days__chip:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-dom {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.oh-iq-schedule-dom__day {
	aspect-ratio: 1;
	min-height: 44px;
	border: 1.5px solid #d7dbe5;
	border-radius: 10px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	cursor: pointer;
}

.oh-iq-schedule-dom__day.is-selected {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	background: var(--wp--preset--color--secondary, #ff8541);
	color: #fff;
}

.oh-iq-schedule-dom__day:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-dom__helper {
	margin: 12px 0 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.4;
}

.oh-iq-schedule-section__hint {
	margin: 8px 0 10px;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
	line-height: 1.4;
}

.oh-iq-schedule-pattern-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 4px 0 12px;
}

.oh-iq-schedule-pattern-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 6px 12px;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--secondary, #ff8541) 55%, #fff);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--secondary, #ff8541) 14%, #fff);
	color: #111111;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

.oh-iq-schedule-pattern-chip__x {
	color: #111111;
	font-weight: 700;
	line-height: 1;
}

.oh-iq-schedule-pattern-chip:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-add-day {
	display: inline-block;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--secondary, #ff8541);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

.oh-iq-schedule-add-day:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-occ {
	margin: 4px 0 8px;
	border: 1.5px solid #d7dbe5;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.oh-iq-schedule-occ__option {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 0;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 1rem;
	text-align: left;
	cursor: pointer;
}

.oh-iq-schedule-occ__option--divided {
	border-bottom: 1px solid #e8eaef;
}

.oh-iq-schedule-occ__radio {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border: 1.5px solid #c5CAD3;
	border-radius: 50%;
	background: #fff;
}

.oh-iq-schedule-occ__option:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: -2px;
}

.oh-iq-schedule-section--quiet {
	margin-top: -8px;
	margin-bottom: 20px;
}

.oh-iq-schedule-interval {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.oh-iq-schedule-interval__label {
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.875rem;
}

.oh-iq-schedule-interval__change {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--secondary, #ff8541);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.oh-iq-schedule-interval__change:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-interval__select {
	min-height: 40px;
	padding: 6px 10px;
	border: 1px solid #d7dbe5;
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: 0.875rem;
}

.oh-iq-schedule-ends {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.oh-iq-schedule-ends__row {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.oh-iq-schedule-ends__option {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1.5px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	text-align: left;
	cursor: pointer;
}

.oh-iq-schedule-ends__option.is-selected {
	border-color: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-schedule-ends__option:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-ends__radio {
	width: 18px;
	height: 18px;
	border: 2px solid #c5cad6;
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
}

.oh-iq-schedule-ends__option.is-selected .oh-iq-schedule-ends__radio {
	border-color: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-schedule-ends__option.is-selected .oh-iq-schedule-ends__radio::after {
	content: '';
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-schedule-ends__count {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-left: 4px;
}

.oh-iq-schedule-ends__count-input {
	width: 72px;
	min-height: 44px;
	padding: 8px 10px;
	border: 1px solid #d7dbe5;
	border-radius: 8px;
	font: inherit;
}

.oh-iq-schedule-cal {
	border: 1px solid #e4e7ee;
	border-radius: 12px;
	padding: 12px;
	background: #fafbfc;
}

.oh-iq-schedule-cal__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.oh-iq-schedule-cal__month {
	font-weight: 600;
	color: var(--oh-iq-panel-heading, #4d6b99);
}

.oh-iq-schedule-cal__nav-btns {
	display: flex;
	gap: 4px;
}

.oh-iq-schedule-cal__nav-btn {
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-schedule-cal__nav-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-cal__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
	margin-bottom: 6px;
	text-align: center;
	color: #9aa1b2;
	font-size: 0.75rem;
}

.oh-iq-schedule-cal__grid {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.oh-iq-schedule-cal__week {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}

.oh-iq-schedule-cal__week[hidden] {
	display: none;
}

.oh-iq-schedule-cal__expand {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #9aa1b2;
	cursor: pointer;
}

.oh-iq-schedule-cal__expand:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-schedule-cal__expand-icon {
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.oh-iq-schedule-cal.is-expanded .oh-iq-schedule-cal__expand-icon {
	transform: rotate(-135deg);
	margin-top: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.oh-iq-schedule-cal__expand-icon {
		transition: none;
	}
}

.oh-iq-schedule-cal__day {
	aspect-ratio: 1;
	min-height: 40px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font: inherit;
	font-size: 0.9rem;
	cursor: pointer;
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-schedule-cal__day.is-selected {
	background: var(--wp--preset--color--secondary, #ff8541);
	color: #fff;
	font-weight: 600;
}

.oh-iq-schedule-cal__day.is-disabled {
	color: #c5cad6;
	cursor: not-allowed;
}

.oh-iq-schedule-cal__day--empty {
	visibility: hidden;
	pointer-events: none;
}

.oh-iq-schedule-cal__day:not(.is-disabled):focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-datepicker,
.oh-iq-datepicker--inline {
	box-sizing: border-box;
	position: static;
	top: auto;
	left: auto;
	right: auto;
	z-index: auto;
	width: 100%;
	margin: 0;
	padding: 20px;
	border: 1px solid #d7dbe5;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
}

.oh-iq-datepicker[hidden] {
	display: none !important;
}

.oh-iq-datepicker[aria-invalid='true'] {
	border-color: #e11d48;
}

.oh-iq-datepicker[aria-invalid='true']:focus,
.oh-iq-datepicker[aria-invalid='true']:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-datepicker__panels {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 0;
	min-height: 320px;
	align-items: stretch;
}

.oh-iq-datepicker__calendar {
	padding-right: 20px;
	border-right: 1px solid #e4e7ee;
}

.oh-iq-datepicker__recurring {
	display: flex;
	flex-direction: column;
	padding-left: 20px;
	min-width: 0;
}

.oh-iq-datepicker.is-weekly-expanded .oh-iq-datepicker__panels {
	min-height: 0;
}

.oh-iq-datepicker__eyebrow {
	margin: 0 0 10px;
	color: var(--oh-iq-panel-heading, var(--wp--preset--color--primary, #4d6b99));
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
}

.oh-iq-datepicker__selected-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
}

.oh-iq-datepicker__selected {
	margin: 0;
	color: #9aa1b2;
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.2;
}

.oh-iq-datepicker__selected.is-filled {
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-datepicker__selected-row[hidden],
.oh-iq-datepicker__selected[hidden] {
	display: none !important;
}

.oh-iq-datepicker__month-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
}

.oh-iq-datepicker__month-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: default;
}

.oh-iq-datepicker__nav {
	display: inline-flex;
	gap: 4px;
}

.oh-iq-datepicker__nav-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--oh-iq-field-value, #111111);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	outline: none;
}

.oh-iq-datepicker__nav-btn:hover {
	background: #f3f4f8;
}

.oh-iq-datepicker__nav-btn:focus-visible,
.oh-iq-datepicker__day:focus-visible,
.oh-iq-recurrence__option:focus-visible,
.oh-iq-datepicker__cancel:focus-visible,
.oh-iq-datepicker__done:focus-visible,
.oh-iq-date__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-datepicker__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
	margin: 0 0 6px;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.8rem;
	font-weight: 600;
	text-align: center;
}

.oh-iq-datepicker__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.oh-iq-datepicker__day {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	cursor: pointer;
	outline: none;
}

.oh-iq-datepicker__day--empty {
	visibility: hidden;
	pointer-events: none;
}

.oh-iq-datepicker__day.is-disabled,
.oh-iq-datepicker__day:disabled {
	color: #c5cad6;
	cursor: not-allowed;
}

.oh-iq-datepicker__day.is-today:not(.is-selected) {
	color: var(--oh-iq-field-value, #111111);
	font-weight: 600;
}

.oh-iq-datepicker__day.is-selected {
	color: var(--oh-iq-field-value, #111111);
	font-weight: 700;
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-datepicker__day:hover:not(:disabled):not(.is-selected) {
	background: #f7f8fb;
	border-radius: 8px;
}

.oh-iq-recurrence {
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1 1 auto;
}

.oh-iq-recurrence__option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
	outline: none;
}

.oh-iq-recurrence__radio {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border: 2px solid var(--wp--preset--color--secondary, #ff8541);
	border-radius: 50%;
	background: #fff;
}

.oh-iq-recurrence__option.is-selected .oh-iq-recurrence__radio,
.oh-iq-recurrence__option[aria-checked='true'] .oh-iq-recurrence__radio {
	background: var(--wp--preset--color--secondary, #ff8541);
	box-shadow: inset 0 0 0 3px #fff;
}

.oh-iq-datepicker__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	margin-top: auto;
	padding-top: 24px;
}

.oh-iq-datepicker__cancel {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oh-iq-cta-label, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	outline: none;
}

.oh-iq-datepicker__done {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	min-height: 40px;
	padding: 8px 22px;
	border: 0;
	border-radius: 8px;
	background: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	outline: none;
}

.oh-iq-datepicker__done:hover {
	filter: brightness(0.96);
}

/* Weekly deliveries expanded schedule controls */
.oh-iq-weekly {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.oh-iq-weekly[hidden] {
	display: none !important;
}

.oh-iq-monthly {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.oh-iq-monthly[hidden] {
	display: none !important;
}

.oh-iq-monthly__on {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.oh-iq-monthly__on-row {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
	min-width: 0;
}

.oh-iq-monthly__on-row .oh-iq-weekly__end-option {
	flex: 0 0 auto;
}

.oh-iq-monthly__on-row .oh-iq-weekly__select {
	flex: 0 1 auto;
	align-self: center;
	height: 36px;
	min-height: 36px;
}

.oh-iq-monthly__on-row--the .oh-iq-weekly__select[data-oh-iq-monthly-ordinal] {
	min-width: 6.75rem;
	width: 7.25rem;
}

.oh-iq-monthly__on-row--the .oh-iq-weekly__select[data-oh-iq-monthly-weekday] {
	min-width: 7.75rem;
	width: 8.75rem;
}

.oh-iq-monthly__helper {
	margin: 2px 0 0 34px;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.3;
}

.oh-iq-datepicker.is-monthly-expanded .oh-iq-datepicker__panels {
	min-height: 0;
}

.oh-iq-weekly__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.oh-iq-weekly__label {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
}

.oh-iq-weekly__block {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.oh-iq-weekly__select {
	box-sizing: border-box;
	min-width: 118px;
	min-height: 36px;
	padding: 6px 28px 6px 12px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234d6b99' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;
	appearance: none;
	-webkit-appearance: none;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	cursor: pointer;
	outline: none;
	box-shadow: none;
}

.oh-iq-weekly__select:focus {
	outline: none;
	box-shadow: none;
	border-color: #d7dbe5;
}

.oh-iq-weekly__select:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-weekly__select:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.oh-iq-weekly__select--count {
	min-width: 64px;
	padding-right: 24px;
}

.oh-iq-weekly__days {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
	width: 100%;
}

.oh-iq-weekly__day {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: 36px;
	height: 36px;
	padding: 6px 2px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #fff;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	outline: none;
	white-space: nowrap;
}

.oh-iq-weekly__day:hover {
	border-color: #c3c9d6;
}

.oh-iq-weekly__day[aria-pressed='true'],
.oh-iq-weekly__day.is-selected {
	background: var(--wp--preset--color--secondary, #ff8541);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	color: var(--oh-iq-cta-label, #111111);
}

.oh-iq-weekly__day:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-weekly__ends {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.oh-iq-weekly__end-option {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oh-iq-field-value, #111111);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	cursor: pointer;
	outline: none;
	text-align: left;
}

.oh-iq-weekly__end-option.is-selected .oh-iq-recurrence__radio,
.oh-iq-weekly__end-option[aria-checked='true'] .oh-iq-recurrence__radio {
	border-color: var(--wp--preset--color--secondary, #ff8541);
	box-shadow: inset 0 0 0 3px #fff;
	background: var(--wp--preset--color--secondary, #ff8541);
}

.oh-iq-weekly__end-option:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
	border-radius: 4px;
}

.oh-iq-weekly__end-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.oh-iq-weekly__end-date {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex: 1 1 160px;
	min-width: 160px;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid #d7dbe5;
	border-radius: 6px;
	background: #fff;
	color: #9aa1b2;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 500;
	cursor: pointer;
	outline: none;
	text-align: left;
}

.oh-iq-weekly__end-date.is-filled {
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-weekly__end-date:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.oh-iq-weekly__end-date:focus-visible:not(:disabled) {
	outline: 2px solid var(--wp--preset--color--secondary, #ff8541);
	outline-offset: 2px;
}

.oh-iq-weekly__end-date-icon {
	display: inline-flex;
	color: #8b90a0;
}

.oh-iq-weekly__occurrences-label {
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.95rem;
	font-weight: 500;
}

.oh-iq-weekly__end-calendar {
	box-sizing: border-box;
	margin: 0 0 4px 28px;
	padding: 12px;
	border: 1px solid #e4e7ee;
	border-radius: 8px;
	background: #fafbfd;
}

.oh-iq-weekly__end-calendar[hidden] {
	display: none !important;
}

.oh-iq-weekly__end-cal-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0 0 10px;
}

.oh-iq-weekly__end-cal-nav span {
	color: var(--wp--preset--color--primary, #4d6b99);
	font-size: 0.9rem;
	font-weight: 600;
}

.oh-iq-weekly__end-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 2px;
}

.oh-iq-weekly__end-cal-grid .oh-iq-datepicker__day {
	max-height: 32px;
	font-size: 0.85rem;
}

.oh-iq-actions--step3 .oh-iq-actions__bar {
	justify-content: flex-end;
}

@media (max-width: 781px) {
	/* Match Steps 1–2 / 5: equal-width Back + Continue across the content width. */
	.oh-iq-actions--step3 .oh-iq-actions__bar {
		justify-content: stretch;
	}
}

/*
 * Steps 1–3: Continue stays visually active (solid orange).
 * Navigation is blocked in JS when incomplete; Steps 1–2 never use
 * disabled / faded styling. Step 3 still sets aria-disabled for state.
 */
.oh-iq-step--1 .oh-iq-btn--continue-visual,
.oh-iq-step--1 .oh-iq-btn--continue-visual[aria-disabled='true'],
.oh-iq-step--2 .oh-iq-btn--continue-visual,
.oh-iq-step--2 .oh-iq-btn--continue-visual[aria-disabled='true'],
.oh-iq-step--3 .oh-iq-btn--continue-visual,
.oh-iq-step--3 .oh-iq-btn--continue-visual[aria-disabled='true'] {
	opacity: 1;
	cursor: pointer;
	filter: none;
	pointer-events: auto;
	color: var(--oh-iq-cta-label, #111111);
}

@media (max-width: 781px) {
	/* Free vertical space on small screens — mode title lives in top nav context. */
	.oh-iq-page-header {
		display: none;
	}

	.oh-iq-main {
		padding: 28px 16px 48px;
	}

	.oh-iq-shell {
		max-width: 100%;
	}

	.oh-iq-option {
		padding: 16px 14px;
		gap: 12px;
	}

	.oh-iq-option.is-selected,
	.oh-iq-option[aria-checked='true'] {
		padding: 15.5px 13.5px;
	}

	.oh-iq-option__icon {
		width: 44px;
		height: 44px;
	}

	.oh-iq-option__copy {
		min-width: 0;
	}

	.oh-iq-option__title {
		white-space: normal;
	}

	.oh-iq-actions {
		flex-direction: row;
		align-items: stretch;
		justify-content: stretch;
		flex-wrap: nowrap;
		gap: 12px;
	}

	/*
	 * Mobile sticky CTAs: secondary (Back) left, primary (Continue) right.
	 * DOM stays Back then Continue — same order as desktop.
	 */
	.oh-iq-actions--sticky .oh-iq-actions__bar {
		flex-direction: row;
		align-items: stretch;
		justify-content: stretch;
		flex-wrap: nowrap;
		gap: 12px;
	}

	.oh-iq-actions--sticky {
		--oh-iq-sticky-actions-pad-x: 16px;
		--oh-iq-sticky-actions-pad-y: 12px;
	}

	.oh-iq-actions--sticky .oh-iq-actions__stack {
		gap: 10px;
	}

	.oh-iq-actions .oh-iq-btn,
	.oh-iq-actions--sticky .oh-iq-btn {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}

	.oh-iq-summary {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 14px;
	}

	.oh-iq-summary__subtotal {
		text-align: left;
	}

	.oh-iq-delivery,
	.oh-iq-delivery [data-oh-iq-delivery-full] {
		gap: 22px;
	}

	.oh-iq-delivery {
		margin-bottom: 28px;
	}

	.oh-iq-field__input {
		min-height: 48px;
	}

	.oh-iq-address-suggestions {
		max-height: min(200px, 35vh);
	}

	.oh-iq-datepicker {
		padding: 16px;
	}

	.oh-iq-datepicker__panels {
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 20px;
	}

	.oh-iq-datepicker__calendar {
		padding-right: 0;
		border-right: 0;
		padding-bottom: 16px;
		border-bottom: 1px solid #e4e7ee;
	}

	.oh-iq-datepicker__recurring {
		padding-left: 0;
	}

	.oh-iq-weekly__row {
		flex-wrap: wrap;
	}

	.oh-iq-weekly__days {
		gap: 3px;
	}

	.oh-iq-weekly__day {
		min-height: 34px;
		height: 34px;
		padding: 4px 1px;
		font-size: 0.85rem;
	}

	.oh-iq-weekly__end-calendar {
		margin-left: 0;
	}

	.oh-iq-datepicker__selected {
		font-size: 1.35rem;
	}

	.oh-iq-datepicker__day {
		max-height: 36px;
	}

	.oh-iq-monthly__on-row--the {
		gap: 8px;
	}

	.oh-iq-monthly__on-row--the .oh-iq-weekly__select[data-oh-iq-monthly-ordinal] {
		min-width: 0;
		width: auto;
		flex: 1 1 0;
		max-width: 7.5rem;
	}

	.oh-iq-monthly__on-row--the .oh-iq-weekly__select[data-oh-iq-monthly-weekday] {
		min-width: 0;
		width: auto;
		flex: 1 1 0;
		max-width: 9rem;
	}

	.oh-iq-monthly__helper {
		margin-left: 32px;
	}
}

/* ------------------------------------------------------------------ */
/* Instant Quote — Step 5: Your estimated quote                         */
/* ------------------------------------------------------------------ */

.oh-iq-quote-review {
	width: 100%;
	margin: 0 0 28px;
}

.oh-iq-quote-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 64px;
	padding: 12px 20px;
	background: #fff;
	border: 1px solid #e6e8ee;
	border-radius: 4px 4px 0 0;
}

.oh-iq-quote-bar__title {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

/*
 * Download PDF uses Secondary (.oh-iq-btn--back) — same 152×48 footprint.
 * Keep single-stroke focus behaviour only (no second size variant).
 */
.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back {
	outline: none;
	box-shadow: none;
}

.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back:hover,
.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back:focus,
.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back:active {
	background: #fff7f2;
	color: var(--oh-iq-cta-label, #111111);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	outline: none;
	box-shadow: none;
}

.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back:focus-visible {
	background: #ffefe6;
	color: var(--oh-iq-cta-label, #111111);
	border-color: var(--wp--preset--color--secondary, #ff8541);
	outline: none;
	box-shadow: none;
}

.oh-iq-quote-stage {
	box-sizing: border-box;
	width: 100%;
	padding: 36px 40px 48px;
	background: #eceff4;
	border: 1px solid #e6e8ee;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	display: flex;
	justify-content: center;
}

.oh-iq-quote-doc {
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(30, 40, 60, 0.12);
	padding: 40px 44px 36px;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.875rem;
	line-height: 1.45;
}

.oh-iq-quote-doc__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
}

.oh-iq-quote-doc__logo {
	display: block;
	width: auto;
	height: 52px;
	max-width: 200px;
	object-fit: contain;
}

.oh-iq-quote-doc__brand-name {
	margin: 0;
	color: var(--wp--preset--color--secondary, #ff8541);
	font-size: 1.25rem;
	font-weight: 700;
}

.oh-iq-quote-doc__tagline {
	margin: 2px 0 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.75rem;
}

.oh-iq-quote-doc__title {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
}

.oh-iq-quote-doc__meta-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 24px 32px;
	margin-bottom: 28px;
}

.oh-iq-quote-doc__block {
	margin: 0 0 18px;
}

.oh-iq-quote-doc__label {
	margin: 0 0 6px;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.875rem;
	font-weight: 700;
}

.oh-iq-quote-doc__values p {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-weight: 400;
}

.oh-iq-quote-doc__refs {
	text-align: right;
}

.oh-iq-quote-doc__refs p {
	margin: 0 0 6px;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
}

.oh-iq-quote-doc__ref-label {
	font-weight: 700;
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-quote-doc__refs strong {
	font-weight: 700;
	color: var(--oh-iq-field-value, #111111);
	max-width: 12rem;
	text-align: right;
}

.oh-iq-quote-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 18px;
	font-size: 0.8125rem;
}

.oh-iq-quote-table th,
.oh-iq-quote-table td {
	padding: 10px 8px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #d9dde6;
	color: var(--oh-iq-field-value, #111111);
}

.oh-iq-quote-table th {
	font-weight: 700;
	border-bottom: 1px solid #b8becb;
}

.oh-iq-quote-table th:nth-child(2),
.oh-iq-quote-table td:nth-child(2),
.oh-iq-quote-table th:nth-child(3),
.oh-iq-quote-table td:nth-child(3),
.oh-iq-quote-table th:nth-child(4),
.oh-iq-quote-table td:nth-child(4),
.oh-iq-quote-table th:nth-child(5),
.oh-iq-quote-table td:nth-child(5) {
	text-align: right;
	white-space: nowrap;
}

.oh-iq-quote-totals {
	/*
	 * Single shared two-column grid for all summary rows so labels/values
	 * share one vertical alignment (Discount must not drift vs Subtotal).
	 */
	display: grid;
	grid-template-columns: max-content max-content;
	justify-content: end;
	column-gap: 2rem;
	row-gap: 6px;
	margin: 0 0 32px;
	width: 100%;
	align-items: baseline;
}

.oh-iq-quote-totals__row {
	display: contents;
	color: var(--oh-iq-field-value, #111111);
	font-size: 0.875rem;
}

.oh-iq-quote-totals__row > span:first-child {
	justify-self: start;
	text-align: left;
}

.oh-iq-quote-totals__row > span:last-child {
	justify-self: end;
	text-align: right;
	font-variant-numeric: tabular-nums;
	min-width: 5.5rem;
}

.oh-iq-quote-totals__row--total > span {
	margin-top: 6px;
	font-size: 1.05rem;
	font-weight: 700;
}

.oh-iq-quote-totals__hint {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	line-height: 1.35;
	color: #5c5c5c;
	grid-column: 1 / -1;
}

.oh-iq-quote-doc__footer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-items: start;
	padding-top: 8px;
}

.oh-iq-quote-bank {
	margin: 0;
}

.oh-iq-quote-bank > div {
	display: grid;
	grid-template-columns: 7.5rem 1fr;
	gap: 8px;
	margin: 0 0 4px;
}

.oh-iq-quote-bank dt,
.oh-iq-quote-bank dd {
	margin: 0;
	color: var(--oh-iq-field-value, #111111);
	font-weight: 400;
}

.oh-iq-quote-doc__note {
	margin: 0 0 28px;
	color: var(--oh-iq-field-value, #111111);
	white-space: pre-line;
}

.oh-iq-quote-doc__yoco {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.75rem;
}

.oh-iq-quote-doc__yoco-logo {
	display: block;
	height: 16px;
	width: auto;
}

.oh-iq-quote-doc__block--notes {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.oh-iq-quote-doc__block--notes .oh-iq-quote-doc__yoco {
	margin-top: auto;
}

.oh-iq-actions--step5 .oh-iq-actions__bar {
	/* Same far-right CTA pattern as Steps 1–3. */
	justify-content: flex-end;
	gap: 16px;
}

.oh-iq-otp--order {
	box-sizing: border-box;
	width: 100%;
	max-width: 640px;
	margin: 0 auto 20px;
	padding: 0 4px;
}

.oh-iq-cart-handoff-error {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 10px;
	padding: 10px 12px;
	border: 1px solid #fecaca;
	border-radius: 6px;
	background: #fef2f2;
	color: #991b1b;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.oh-iq-cart-handoff-error[hidden] {
	display: none !important;
}

@media (max-width: 781px) {
	.oh-iq-quote-bar {
		flex-wrap: wrap;
		gap: 12px;
		padding: 12px 14px;
	}

	.oh-iq-quote-bar [data-oh-iq-download].oh-iq-btn--back {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.oh-iq-quote-stage {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 16px 12px 24px;
		/* Do not force a desktop/PDF-width preview that overflows mobile. */
		overflow-x: visible;
		justify-content: stretch;
	}

	.oh-iq-quote-doc {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		padding: 20px 14px 24px;
	}

	.oh-iq-quote-doc__header {
		flex-wrap: wrap;
		gap: 12px;
	}

	.oh-iq-quote-doc__title {
		font-size: 1.5rem;
	}

	.oh-iq-quote-doc__meta-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.oh-iq-quote-doc__refs {
		text-align: left;
	}

	.oh-iq-quote-doc__refs p {
		justify-content: flex-start;
	}

	.oh-iq-quote-doc__refs strong {
		max-width: none;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.oh-iq-quote-doc__values p,
	.oh-iq-quote-doc__note {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.oh-iq-quote-table {
		table-layout: fixed;
		width: 100%;
		max-width: 100%;
		font-size: 0.75rem;
	}

	.oh-iq-quote-table th,
	.oh-iq-quote-table td {
		padding: 8px 4px;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.oh-iq-quote-table th:nth-child(2),
	.oh-iq-quote-table td:nth-child(2),
	.oh-iq-quote-table th:nth-child(3),
	.oh-iq-quote-table td:nth-child(3),
	.oh-iq-quote-table th:nth-child(4),
	.oh-iq-quote-table td:nth-child(4),
	.oh-iq-quote-table th:nth-child(5),
	.oh-iq-quote-table td:nth-child(5) {
		white-space: normal;
	}

	.oh-iq-quote-totals {
		grid-template-columns: 1fr max-content;
		justify-content: stretch;
		column-gap: 1rem;
	}

	.oh-iq-quote-totals__row > span:last-child {
		min-width: 0;
	}

	.oh-iq-quote-doc__footer {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.oh-iq-quote-bank > div {
		grid-template-columns: minmax(0, 6.5rem) minmax(0, 1fr);
		gap: 6px;
	}

	.oh-iq-quote-bank dt,
	.oh-iq-quote-bank dd {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.oh-iq-quote-doc__yoco {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.oh-iq-actions--step5 .oh-iq-actions__bar {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: stretch;
		gap: 12px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.oh-iq-actions--step5 .oh-iq-btn {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}
}

/* Order-water PDP journey CTAs (View all products + Add to cart). */
.oh-iq-pdp-cta {
	margin: 1.25rem 0 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	max-width: 420px;
}

.oh-iq-pdp-cta__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 152px;
	min-height: 48px;
	padding: 0 1.25rem;
	text-decoration: none;
}

.oh-iq-pdp-cta__link.is-disabled,
.oh-iq-pdp-cta__link[aria-disabled='true'] {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
	filter: none;
}

.oh-iq-pdp-cta__support {
	margin: 0;
	color: var(--oh-iq-helper, #5a6170);
	font-size: 0.9rem;
	line-height: 1.4;
	max-width: 36rem;
}

.oh-iq-pdp-cta__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: flex-end;
	gap: 14px;
	width: 100%;
}

/*
 * Journey PDP: keep View all products / Add to cart always visible
 * while reading product details (same sticky chrome as Instant Quote steps).
 */
.oh-iq-pdp-cta--sticky {
	--oh-iq-pdp-sticky-pad-y: 14px;
	--oh-iq-pdp-sticky-pad-x: 32px;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: var(--oh-iq-pdp-sticky-pad-y) var(--oh-iq-pdp-sticky-pad-x);
	padding-bottom: max(var(--oh-iq-pdp-sticky-pad-y), env(safe-area-inset-bottom, 0px));
	background: #fff;
	border-top: 1px solid rgba(215, 219, 229, 0.95);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
}

.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__bar {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	box-sizing: border-box;
	width: 100%;
	max-width: 720px;
}

.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__actions {
	justify-content: flex-end;
}

.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__link {
	flex: 0 0 auto;
	width: 152px;
	min-width: 152px;
	max-width: 152px;
	padding: 12px 4px;
}

.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__availability {
	margin: 0;
	text-align: center;
}

body.oh-iq-journey-pdp {
	padding-bottom: calc(
		var(--oh-iq-pdp-sticky-region-height, 88px) + 24px + env(safe-area-inset-bottom, 0px)
	);
}

@media (max-width: 781px) {
	.oh-iq-pdp-cta--sticky {
		--oh-iq-pdp-sticky-pad-x: 16px;
		--oh-iq-pdp-sticky-pad-y: 12px;
	}

	.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__actions {
		justify-content: stretch;
		gap: 12px;
	}

	.oh-iq-pdp-cta--sticky .oh-iq-pdp-cta__link {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}
}

.oh-iq-snackbar[hidden] {
	display: none !important;
}

.oh-iq-snackbar {
	position: fixed;
	top: calc(88px + 12px);
	left: 50%;
	z-index: 45;
	box-sizing: border-box;
	width: max-content;
	max-width: calc(100vw - 24px);
	padding: 10px 16px;
	border-radius: 8px;
	background: #4ca96d;
	color: #ffffff;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
	transform: translateX(-50%) translateY(-8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.oh-iq-snackbar.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

body.oh-iq-journey-pdp .oh-iq-catalogue-view-link {
	text-decoration: none;
}

/*
 * Single product layout: space the details column away from the gallery
 * (image stays flush; gap lives on the text column).
 */
body.single-product .wp-block-columns.alignwide > .wp-block-column.wp-block-column-is-layout-flow:not(:has(.woocommerce-product-gallery)):not(:has(.wp-block-woocommerce-product-image-gallery)) {
	box-sizing: border-box;
	padding-left: 48px;
}

@media (max-width: 781px) {
	body.single-product .wp-block-columns.alignwide > .wp-block-column.wp-block-column-is-layout-flow:not(:has(.woocommerce-product-gallery)):not(:has(.wp-block-woocommerce-product-image-gallery)) {
		padding-left: 0;
		padding-top: 24px;
	}
}

.oh-iq-product--unavailable .oh-iq-qty__btn {
	cursor: not-allowed;
}

.oh-iq-product__availability,
.oh-iq-pdp-cta__availability {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: #b45309;
}

.oh-iq-selection-error,
.oh-iq-cart-handoff-error {
	margin: 0 0 1rem;
	color: #b91c1c;
	font-weight: 600;
}

/*
 * WooCommerce Order received (Thank you).
 * Centre confirmation copy and keep 48px vertical breathing room.
 */
body.woocommerce-order-received main.wp-block-group,
body.woocommerce-order-received main.oh-order-received {
	margin-top: 48px;
	margin-bottom: 48px;
	text-align: center;
}

body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-status,
body.woocommerce-order-received .wc-block-order-confirmation-status,
body.woocommerce-order-received .wc-block-order-confirmation-status-description,
body.woocommerce-order-received .wc-block-order-confirmation-status p,
body.woocommerce-order-received .wc-block-order-confirmation-status h1 {
	text-align: center;
}

/*
 * Homepage — “Water delivery for your needs”.
 * Scoped to this section so the hero and later homepage blocks stay unchanged.
 */
.oh-home-services {
	--oh-services-accent: var(--wp--preset--color--secondary, #ff8541);
	--oh-services-ink: #191c1f;
	--oh-services-muted: #4e5963;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 52px 32px;
	background: var(--wp--preset--color--tertiary, #f0f1f5);
	color: var(--oh-services-ink);
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
}

.oh-home-services__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
	gap: 36px 48px;
	align-items: center;
	width: 100%;
	max-width: 100%;
}

.oh-home-services__content,
.oh-home-services__media {
	min-width: 0;
}

.oh-home-services__eyebrow {
	margin: 0 0 12px;
	color: var(--oh-services-accent);
	font-family: inherit;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.2;
	text-transform: none;
}

.oh-home-services__heading {
	margin: 0;
	color: var(--oh-services-ink);
	font-family: inherit;
	font-size: clamp(2rem, 1.35rem + 1.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.oh-home-services__intro {
	max-width: 38rem;
	margin: 12px 0 0;
	color: var(--oh-services-muted);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.55;
}

.oh-home-services__list,
.oh-home-services__facts {
	margin: 0;
	padding: 0;
	list-style: none;
}

.oh-home-services__list {
	margin-top: 20px;
}

.oh-home-services__item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 10px 0;
}

.oh-home-services__icon,
.oh-home-services__fact-icon {
	color: var(--oh-services-accent);
}

.oh-home-services__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 133, 65, 0.14);
}

.oh-home-services__icon svg,
.oh-home-services__fact-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.oh-home-services__title {
	margin: 0;
	color: var(--oh-services-ink);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

.oh-home-services__desc {
	margin: 2px 0 0;
	color: var(--oh-services-muted);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.45;
}

.oh-home-services__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 20px;
	padding: 4px 6px;
	border: 1px solid rgba(77, 107, 153, 0.14);
	border-radius: 14px;
	background: #f8f9fc;
}

.oh-home-services__fact {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
	padding: 12px 14px;
}

.oh-home-services__fact + .oh-home-services__fact {
	border-left: 1px solid rgba(77, 107, 153, 0.14);
}

.oh-home-services__fact-icon {
	flex: 0 0 auto;
	margin-top: 1px;
}

.oh-home-services__fact-copy {
	min-width: 0;
}

.oh-home-services__fact-value,
.oh-home-services__fact-label {
	margin: 0;
}

.oh-home-services__fact-value {
	color: var(--oh-services-ink);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.25;
}

.oh-home-services__fact-label {
	margin-top: 2px;
	color: var(--oh-services-muted);
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.35;
}

.oh-home-services__media {
	margin: 0;
}

.oh-home-services__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 24px;
}

@media (max-width: 900px) {
	.oh-home-services__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
}

@media (max-width: 640px) {
	.oh-home-services {
		padding: 40px 20px;
	}

	.oh-home-services__facts {
		grid-template-columns: minmax(0, 1fr);
		padding: 4px 14px;
	}

	.oh-home-services__fact {
		padding: 12px 0;
	}

	.oh-home-services__fact + .oh-home-services__fact {
		border-left: 0;
		border-top: 1px solid rgba(77, 107, 153, 0.14);
	}
}
