/**
 * Responsive enhancements — mobile overrides stay inside max-width queries;
 * desktop chrome in chrome.css / patterns.css must not be overridden globally.
 */

html {
	font-size: 106.25%;
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: clip;
}

body.home {
	background-color: var(--wp--preset--color--white);
}

/* ========== Mobile only (≤781px) ========== */

@media screen and (max-width: 781px) {
	.spectrao-header {
		padding: 0.75rem 1.25rem !important;
	}

	.spectrao-header__row {
		flex-wrap: wrap !important;
		gap: 0.75rem;
		min-height: 3rem;
	}

	.spectrao-header__logo img {
		max-height: 1.55rem;
	}

	.spectrao-header__actions {
		flex: 1 1 100%;
		gap: 0.5rem;
		justify-content: space-between;
	}

	.spectrao-header__cta .wp-block-button__link {
		font-size: 0.875rem !important;
		min-height: 2.75rem;
		padding: 0.5rem 0.875rem;
	}

	/* Mobile nav overlay only — never affects desktop dropdowns */
	.spectrao-primary-nav .wp-block-navigation__responsive-container-open,
	.spectrao-primary-nav .wp-block-navigation__responsive-container-close {
		min-height: 2.75rem;
		min-width: 2.75rem;
	}

	.spectrao-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		inset: 0;
		padding: 1rem 1.25rem 1.5rem;
	}

	.spectrao-primary-nav .wp-block-navigation__responsive-container-content {
		gap: 0.25rem;
		padding-top: 0.5rem;
	}

	.spectrao-primary-nav .wp-block-navigation__responsive-container .wp-block-navigation-item__content {
		align-items: center;
		display: flex;
		min-height: 2.75rem;
		padding: 0.625rem 0;
	}

	.spectrao-primary-nav .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {
		border: none;
		border-radius: 0;
		box-shadow: none;
		margin-left: 0.75rem;
		min-width: 0;
		padding: 0 0 0.5rem;
		position: static;
		width: 100%;
	}

	.spectrao-primary-nav .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		color: var(--wp--preset--color--border) !important;
		font-size: 0.9375rem !important;
		min-height: 2.75rem;
		padding: 0.75rem 0;
	}

	.spectrao-footer {
		padding: 3rem 1.25rem 1.75rem !important;
	}

	.spectrao-footer__columns {
		display: grid !important;
		gap: 1.75rem 1.25rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 2rem;
		margin-top: 2rem !important;
	}

	.spectrao-footer__columns > .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}

	.spectrao-footer__bottom {
		grid-template-columns: 1fr;
		justify-items: center;
		row-gap: 1rem;
	}

	.spectrao-footer__copyright,
	.spectrao-footer__contact--center,
	.spectrao-footer__social--bottom.wp-block-social-links {
		justify-self: center;
		text-align: center;
		white-space: normal;
	}

	.spectrao-footer__contact-item {
		justify-content: center;
	}

	.spectrao-footer__copyright {
		font-size: 0.875rem !important;
	}

	.spectrao-hero-dark {
		min-height: auto;
	}

	.spectrao-hero-dark__grid.wp-block-columns {
		flex-direction: column !important;
	}

	.spectrao-hero-dark__copy,
	.spectrao-hero-dark__media {
		flex-basis: 100% !important;
		max-width: none;
	}

	.spectrao-hero-dark h1 {
		max-width: none;
	}

	.spectrao-hero-dark__grid.wp-block-columns {
		flex-direction: column !important;
	}

	.spectrao-hero-dark__media {
		margin-bottom: 1.5rem;
	}

	.spectrao-home-shell {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.spectrao-home-solutions__grid {
		grid-template-columns: 1fr;
	}

	.spectrao-home-product__row.wp-block-columns,
	.spectrao-home-product__row--reverse.wp-block-columns {
		flex-direction: column !important;
	}

	.spectrao-home-product__media {
		order: -1;
	}

	.spectrao-faq-accordion__grid {
		grid-template-columns: 1fr;
	}

	.spectrao-flip-card:last-child:nth-child(3n + 1) {
		grid-column: auto;
	}

	.spectrao-home-cta__buttons.wp-block-buttons {
		flex-direction: column !important;
		width: 100%;
	}

	.spectrao-home-cta__buttons .wp-block-button {
		width: 100%;
	}

	.spectrao-home-cta__buttons .wp-block-button__link {
		width: 100%;
	}
}

/* ========== Small tablet (600px+) ========== */

@media screen and (min-width: 600px) and (max-width: 781px) {
	.spectrao-footer__columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ========== Desktop nav + layout (782px+) ========== */

@media screen and (min-width: 782px) {
	.spectrao-header {
		padding: 1rem 2rem !important;
	}

	.spectrao-header__row {
		flex-wrap: nowrap !important;
	}

	.spectrao-header__actions {
		flex: 1;
		flex-wrap: nowrap !important;
		justify-content: flex-end;
	}

	.spectrao-footer__columns {
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	.spectrao-footer__columns > .wp-block-column {
		flex-basis: 16.66% !important;
	}

	.spectrao-hero-dark__grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.spectrao-hero-dark__grid > .wp-block-column {
		flex-basis: 0;
		flex-grow: 1;
	}

	.spectrao-hero-dark__copy {
		flex-basis: 58% !important;
		flex-grow: 0;
		max-width: none;
	}

	.spectrao-hero-dark__media {
		flex-basis: 42% !important;
		flex-grow: 0;
	}

	.spectrao-home-solutions__grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.spectrao-home-solutions__grid > .wp-block-column {
		flex-basis: 33.33% !important;
	}

	.spectrao-home-product__row.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.spectrao-home-product__row > .wp-block-column {
		flex-basis: 50% !important;
	}

	/* Desktop dropdown — anchored under parent item */
	.spectrao-primary-nav .wp-block-navigation__container > .wp-block-navigation-item {
		position: relative;
	}

	.spectrao-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container {
		left: 0 !important;
		margin-top: 0;
		position: absolute !important;
		right: auto !important;
		top: 100% !important;
		width: auto;
		z-index: 200;
	}

	/* Invisible bridge so moving from parent link to submenu does not break :hover */
	.spectrao-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-container::before {
		content: "";
		height: 0.5rem;
		left: 0;
		position: absolute;
		right: 0;
		top: -0.5rem;
	}

	.spectrao-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		color: var(--wp--preset--color--dark) !important;
		padding: 0.75rem 1.5rem;
		white-space: nowrap;
	}
}

/* ========== Large desktop (1024px+) ========== */

@media screen and (min-width: 1024px) {
	.spectrao-header {
		padding: 1rem 2.5rem !important;
	}

	.spectrao-footer {
		padding: 4.5rem 2.5rem 2.25rem !important;
	}
}

/* ========== Bottom bar row (960px+) ========== */

@media screen and (min-width: 960px) {
	.spectrao-footer__bottom {
		column-gap: 1.5rem;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
		justify-items: stretch;
		row-gap: 0;
	}

	.spectrao-footer__copyright {
		justify-self: start;
		text-align: left;
		white-space: nowrap;
	}

	.spectrao-footer__tagline {
		justify-self: center;
		padding: 0 0.5rem;
		text-align: center;
	}

	.spectrao-footer__contact--center {
		justify-self: center;
		padding: 0 0.5rem;
	}

	.spectrao-footer__social--bottom.wp-block-social-links {
		justify-self: end;
	}
}
