/* ==========================================================================
   AtoZ SiteOne — responsive styles
   Breakpoints and their order match the original design.
   ========================================================================== */

@media (max-width: 1000px) {
	.grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.journey__grid { gap: 36px; }
}

@media (max-width: 1080px) {
	.switcher__panel { grid-template-columns: minmax(0, 1fr); gap: 34px; }
}

@media (max-width: 420px) {
	.sw__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

@media (max-width: 1150px) and (min-width: 861px) {
	.journey__grid { gap: 34px; }
	.faq__grid { gap: 34px; }
	.showcase__grid { gap: 32px; }
	.why__grid { gap: 32px; }
	.cta-banner__grid { gap: 30px; }
	.footer-cta { gap: 28px; }
}

@media (max-width: 1050px) {
	.footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}

@media (max-width: 860px) {
	.footer-cta { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.faq__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.faq__intro { position: static; }
	.cta-banner__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.why__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.showcase__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}

@media (max-width: 760px) {
	.journey__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.journey__intro { position: static; }
}

@media (max-width: 640px) {
	.footer-cols { grid-template-columns: minmax(0, 1fr); }
	.grid-3 { grid-template-columns: minmax(0, 1fr); }
}

/* Header: collapse to the mobile menu */
@media (max-width: 1150px) {
	.site-header__links { display: none; }
	.header-phone em { display: none; }
	.header-cta { display: none; }
	.site-header__row { gap: 14px; }
	.site-header__nav { flex-wrap: nowrap; column-gap: 12px; flex: 0 0 auto; }
	.menu-toggle { display: flex; }
	/* Dropdown overlays the page below the sticky header instead of pushing
	   the content down; scrolls on its own when taller than the screen. */
	.mobile-panel.is-open {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - 100px);
		max-height: calc(100dvh - 100px);
		overflow-y: auto;
		overscroll-behavior: contain;
		border-bottom: 1px solid #e8e9f2;
		box-shadow: 0 34px 60px -30px rgba(15, 23, 48, .45);
	}
	.hero__title {font-size: clamp(34px, 6.4vw, 60px);}
	.industry-more {padding: 30px;}
	.addon-card__amount {  font-size: 22px;}
}


/* Sticky CTA bar */
@media (max-width: 1120px) {
	.cta-bar__note { display: none; }

}
@media (max-width: 1023px) {
	.demo__points{  max-width: 100%;}
	.compare-card {padding: clamp(22px, 4vw, 25px);}
	.compare-card__title {font-size: 18px;}
	.compare-card__icon {width: 40px;height: 40px;}
	.compare__grid {gap: 20px;}
	.cta-bar__call {gap: 10px;padding: 11px 10px;font-size: 14px;}
	.cta-bar__inner {  column-gap: 10px;}

}
@media (max-width: 767px) {
	.cta-bar__title {width: 100%;}
	.cta-bar__call {margin: 0;}
	.cta-bar__close {position: absolute; right: 20px; }
	.hero-highlights__item {padding: 20px;}
	.essentials__card {padding: 25px;}
	.switch-tab {padding: 10px 15px;font-size: 14px;}
	.compare__grid{grid-template-columns:auto;}
	.cta-banner__grid {padding: 30px;gap: 20px;}
	.plan__includes {padding-left: 0;border-left: none;}
	.footer-bottom__links {margin: 0;}
	.footer-bottom {justify-content: center;  gap: 0 15px;}

}
@media (max-width: 639px) {
	.hero-schedule__rows {display: block;}
	.industry-more {padding: 20px;}
	.demo-form .aiinq-field--w-half {flex: 1 1 calc(100% - 0px);}
	.demo__card {padding: 20px;}
	.why__cards {grid-template-columns: auto;}
	.cta-bar__call,.cta-bar__demo {flex: unset !important;  padding: 10px 15px; font-size: 13px;}
.cta-bar__inner {  column-gap: 7px;}
.footer-cta__actions {  justify-content: start;}
.footer-cta {padding: 25px;gap: 20px;}
.sw__grid {grid-template-columns: minmax(0, 1fr);}
.footer-bottom {padding: 15px 0 15px;}
.footer-bottom__text {min-height: 30px;}
}

@media (max-width: 620px) {
	.cta-bar__title { display: none; }
	.cta-bar__number { display: none; }
	.cta-bar__call { flex: 1 1 0; min-width: 0; margin-left: 0; }
	.cta-bar__demo { flex: 1 1 0; min-width: 0; }
	.cta-bar__close { width: 32px; height: 32px; }


}


/* Top bar */
@media (max-width: 720px) {
	.topbar__note { display: none; }
	.topbar__sep { display: none; }
}

/* Status pages (Thank You / 404): stack the buttons on small phones */
@media (max-width: 560px) {
	.status__actions { flex-direction: column; align-items: stretch; }
	.status__actions a { justify-content: center; text-align: center; }
	.status__call { width: 100%; }
}

/* WordPress admin bar height on small screens */
@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
	.admin-bar section[id] { scroll-margin-top: 126px; }
}
@media (max-width: 600px) {
	.admin-bar .site-header { top: 0; }
	.admin-bar section[id] { scroll-margin-top: 80px; }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.marquee__track,
	.hero-float,
	.hw-cta.is-ready,
	.live-dot { animation: none; }
	* { transition-duration: 0s !important; }
}
@media (max-width: 479px) {
.journey-step { gap: 5px; }
.journey-step__card { padding: 20px; }
.journey-step__title { font-size: 16px; margin-bottom: 6px; }
.journey-step__icon { width: 40px; height: 40px; border-radius: 12px; }
.journey-step__icon svg { width: 20px; height: auto; }
.journey__grid { gap: 20px; }

.cta-bar__call,.cta-bar__demo {flex: unset;  padding: 10px 15px; font-size: 13px;}
.cta-bar__inner {  column-gap: 7px;}
.demo__points span {font-size: 14px;}
.demo__heading,.demo-form__title,.section-title,.journey__heading,.switcher__heading,.industry-more__title,.section-intro__heading,.essentials__heading,.switcher__headline,.showcase__heading,.owner__heading,.pricing__heading,.addons__heading,.why__heading,.cta-banner__heading,.final__heading,.footer-cta__title{font-size: 20px !important;}
.section-title,.essentials__heading,.section-intro,.switcher__intro,.journey__text,.demo__text,.owner__intro {margin-bottom: 20px !important;}
.industry-card__title,.showcase__overlay-title {font-size: 18px;}
.hero-mock,.why-card {padding: 20px;}
.demo__text {font-size: 16px;}
.showcase__overlay {width: 100%;padding: 20px;}
.showcase__aside,.plan__card,.final__card,.final__call,.final__panel,.footer-cta {padding: 20px;}
.plan__card,.plan__highlights{gap: 20px;}
.plan__period {font-size: 20px;}
.plan__price,.addon-card__amount {font-size: 18px;}
.plan__btn {padding: 12px;font-size: 14px;}
.faq-item__q {gap: 12px;padding: 20px;font-size: 16px;}
.faq-item__a {font-size: 14px;  padding: 0 20px 20px;}
.final__btn-primary,.final__btn-secondary,.footer-cta__btn,.footer-cta__call {padding: 12px 15px;font-size: 14px;}
.footer-cta__actions {justify-content: start;}
}
/* Booking wizard (industry demo) */
@media (max-width: 640px) {
	.sw { padding: 22px 18px 24px; }
	.wiz__body,
	.wiz__done { min-height: 0; }
	.wiz__steps { gap: 4px; }
	.wiz-step { flex-direction: column; align-items: center; gap: 5px; font-size: 11px; text-align: center; }
	.wiz-step__label { white-space: normal; line-height: 1.2; }
	.wiz__dates { gap: 5px; }
	.wiz__slots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wiz-row { gap: 10px; padding: 12px; flex-wrap: wrap; }
	.wiz-row__key { width: 100%; }
	.sw-owner__time { display: none; }
	.sw-owner__avatar { width: 36px; height: 36px; font-size: 12.5px; }
	.sw-owner__title,
	.sw-owner__sub { white-space: normal; }
}

/* Hero on phones (design v2): the floating cards and the highlight strip are
   decoration that crowds a small screen; the time slots go two per row. */
@media (max-width: 600px) {
	.hero-float { display: none; }
	.hero-highlights { display: none; }
	.hw-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hw-chip { width: 100%; justify-content: center; }
	.hero-highlights__card { grid-template-columns: minmax(0, 1fr); }
}
