/*
 * Skyway main stylesheet. Written for this theme; every value comes from audit/design-tokens.md.
 * Tokens live in theme.json (presets + responsive root vars in styles.css). Block-specific CSS
 * lives next to each block and only loads when that block is on the page.
 *
 * Contents: 1 base · 2 type · 3 links · 4 buttons · 5 controls · 6 forms · 7 announcement · 8 header
 * 9 overlays (drawer, search) · 10 footer · 11 pop-up, cookie, badge · 12 product cards & grid
 * 13 blog · 14 pages · 15 single product · 16 accordion · 17 quote form · 18 editor hints · 19 motion
 */

/* 1. Base ----------------------------------------------------------------------------------- */
:root {
	--skyway-card-gap: 1.25rem;
	--skyway-faded: .7; /* live uses 65%; 70% keeps #303030 at AA (5.1:1) on white */
	--skyway-ease: cubic-bezier(.785,.135,.15,.86);
	--skyway-btn-bg: var(--wp--preset--color--gold);
	--skyway-btn-fg: var(--wp--preset--color--text);
	--skyway-btn-hover-fg: var(--wp--preset--color--gold-text);
	--skyway-circle-bg: var(--wp--preset--color--blue);
	--skyway-circle-icon: var(--wp--preset--color--gold);
	--skyway-dot: var(--wp--preset--color--text);
}
@media (min-width: 700px) { :root { --skyway-card-gap: 2rem; } }
@media (min-width: 1000px) { :root { --skyway-card-gap: 3.75rem; } }

*, *::before, *::after { box-sizing: border-box; } /* round 2: padding no longer adds to widths */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--skyway-header-h) + 1rem); }
body { background: var(--wp--preset--color--base); -webkit-font-smoothing: antialiased; overflow-x: clip; }
.skyway-locked, .skyway-locked body { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; }
.skyway-icon { display: block; flex: none; }
hr.skyway-rule { border: 0; border-top: 1px solid var(--wp--preset--color--border); margin: 1.5rem 0; }

/* Sections stack edge to edge and are separated by thin rules (design tokens 4). */
.wp-site-blocks > * { margin-block-start: 0; }
main.wp-block-group > * { margin-block: 0; }
main.wp-block-group > * + * { border-top: 1px solid var(--wp--preset--color--border); }
main.wp-block-group > :is(.skyway-tiles, .skyway-its, .skyway-related-post, .skyway-media-grid, .skyway-trust, .skyway-blog-section, .skyway-toolbar, .skyway-newsletter.is-card, .skyway-article-bar, .skyway-post-hero),
main.wp-block-group > .skyway-toolbar + *,
main.wp-block-group > .skyway-article-bar + * { border-top: 0; }

:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.skip-link.screen-reader-text:focus, .screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0;
	position: fixed !important; top: .5rem; left: .5rem; z-index: 100000;
	padding: .75rem 1.25rem; background: var(--wp--preset--color--base); color: var(--wp--preset--color--text);
	text-transform: uppercase; letter-spacing: .18em; font-size: var(--wp--preset--font-size--sm);
	outline: 2px solid var(--wp--preset--color--blue);
}

/* 2. Type ----------------------------------------------------------------------------------- */
.skyway-subheading {
	margin: 0 0 .75rem;
	font-size: var(--wp--preset--font-size--heading-6);
	text-transform: uppercase;
	letter-spacing: .18em;
	line-height: 1.65;
}
.skyway-section-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .18em;
	line-height: 1.4;
}
.skyway-section-header { text-align: center; padding-inline: var(--skyway-gutter); }
.skyway-section-header .skyway-section-title { overflow-wrap: normal; }
.is-style-section-blue, .is-style-section-blue-alt, .is-style-section-navy, .is-style-section-dark { --skyway-dot: var(--wp--preset--color--base); }

/* 3. Links ---------------------------------------------------------------------------------- */
/* Text links: 1px underline drawn as a background; it shrinks away on hover (design tokens 6b). */
.wp-block-post-content a:not(.wp-element-button, .wp-block-button__link),
.skyway-link,
.skyway-prose a {
	color: inherit;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) no-repeat right bottom / 100% 1px;
	transition: background-size .3s ease-in-out;
	padding-bottom: .1em;
}
@media (pointer: fine) {
	.wp-block-post-content a:not(.wp-element-button, .wp-block-button__link):hover,
	.skyway-link:hover,
	.skyway-prose a:hover { background-size: 0 1px; }
}
/* Faded links (footer, menus): 70% opacity, full on hover. */
.skyway-faded { color: inherit; text-decoration: none; opacity: var(--skyway-faded); transition: opacity .2s, color .2s; }
.skyway-faded:hover, .skyway-faded:focus-visible, .skyway-faded[aria-current="page"] { opacity: 1; }

/* 4. Buttons -------------------------------------------------------------------------------- */
/* Square, 13px uppercase, .18em, padding .65rem 1.75rem. Hover: the fill wipes away and leaves an
   outline (design tokens 6b). Gold buttons use #303030 text (Luis, 2026-10-30: WCAG AA). */
.skyway-btn,
.wp-element-button,
.wp-block-button__link,
.wp-block-search__button {
	--_bg: var(--skyway-btn-bg);
	--_fg: var(--skyway-btn-fg);
	--_hover: var(--skyway-btn-hover-fg);
	display: inline-block;
	padding: .65rem 1.75rem;
	border: 1px solid var(--_bg);
	border-radius: 0;
	background: linear-gradient(var(--_bg), var(--_bg)) no-repeat left center / 100% 100%, transparent;
	color: var(--_fg);
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition:
		background-size .45s var(--skyway-ease),
		background-position .45s step-end,
		color .45s var(--skyway-ease),
		border-color .45s var(--skyway-ease);
}
@media (pointer: fine) {
	.skyway-btn:hover,
	.wp-element-button:hover,
	.wp-block-button__link:hover,
	.wp-block-search__button:hover {
		background-size: 0 100%;
		background-position: right center;
		color: var(--_hover);
	}
}
.skyway-btn.is-full, .is-style-full .wp-block-button__link, .wp-block-button.is-style-full { width: 100%; }
.wp-block-button.is-style-navy, .is-style-navy .wp-block-button__link, .skyway-btn.is-navy {
	--skyway-btn-bg: var(--wp--preset--color--blue);
	--skyway-btn-fg: var(--wp--preset--color--base);
	--skyway-btn-hover-fg: var(--wp--preset--color--blue);
}
.wp-block-button.is-style-white, .is-style-white .wp-block-button__link {
	--skyway-btn-bg: var(--wp--preset--color--base);
	--skyway-btn-fg: var(--wp--preset--color--text);
	--skyway-btn-hover-fg: var(--wp--preset--color--base);
}
/* Outline buttons do the reverse: empty at rest, fill wipes in on hover. */
.is-style-outline .wp-block-button__link, .skyway-btn.is-outline {
	background-size: 0 100%;
	background-position: right center;
	color: var(--_bg);
}
@media (pointer: fine) {
	.is-style-outline .wp-block-button__link:hover, .skyway-btn.is-outline:hover {
		background-size: 100% 100%;
		background-position: left center;
		color: var(--_fg);
	}
}
/* Buttons inside color schemes (section style variations from /styles/sections). */
.is-style-section-blue, .is-style-section-blue-alt, .is-style-section-navy { --skyway-btn-hover-fg: var(--wp--preset--color--gold); }
.is-style-section-light-gold-button { --skyway-btn-bg: var(--wp--preset--color--gold-light); --skyway-btn-hover-fg: var(--wp--preset--color--text); }
.is-style-section-gold { --skyway-btn-bg: var(--wp--preset--color--base); --skyway-btn-fg: var(--wp--preset--color--text); --skyway-btn-hover-fg: var(--wp--preset--color--text); }
.is-style-section-gold-blue-button { --skyway-btn-bg: var(--wp--preset--color--blue); --skyway-btn-fg: var(--wp--preset--color--base); --skyway-btn-hover-fg: var(--wp--preset--color--blue); }
.is-style-section-dark { --skyway-btn-bg: var(--wp--preset--color--base); --skyway-btn-fg: var(--wp--preset--color--dark); --skyway-btn-hover-fg: var(--wp--preset--color--base); }
.is-style-section-blue-alt { --skyway-circle-bg: var(--wp--preset--color--base); --skyway-circle-icon: var(--wp--preset--color--gold); }
.is-style-section-blue { --skyway-circle-bg: var(--wp--preset--color--gold); --skyway-circle-icon: var(--wp--preset--color--base); }
@media (max-width: 699px) {
	.wp-block-buttons.is-mobile-full .wp-block-button, .wp-block-buttons.is-mobile-full .wp-block-button__link { width: 100%; }
}

/* 5. Small controls ------------------------------------------------------------------------- */
.skyway-icon-btn {
	display: inline-grid;
	place-items: center;
	position: relative;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}
/* Circle buttons: 2.75rem, .75rem icon, soft shadow (design tokens 6b). */
.skyway-circle {
	display: inline-grid;
	place-items: center;
	width: var(--wp--custom--circle-button--size);
	height: var(--wp--custom--circle-button--size);
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--skyway-circle-bg);
	color: var(--skyway-circle-icon);
	box-shadow: 0 .125rem .625rem rgb(0 0 0 / .15);
	cursor: pointer;
	transition: transform .2s;
}
.skyway-circle .skyway-icon { width: var(--wp--custom--circle-button--icon); height: var(--wp--custom--circle-button--icon); stroke-width: 2.5; }
.skyway-lightbox .skyway-circle { --skyway-circle-icon: var(--wp--preset--color--base); }
@media (pointer: fine) { .skyway-circle:hover { transform: scale(1.06); } }
.skyway-dot {
	width: 1.5rem; /* 24px touch target (WCAG 2.5.8); the visible dot is 8px */
	height: 1.5rem;
	margin-block: -.5rem; /* pitch 24px: dots sit 16px apart (was 8px) so targets do not overlap */
	padding: 0;
	border: 0;
	background: none;
	opacity: .3;
	cursor: pointer;
	transition: opacity .2s;
	position: relative;
}
.skyway-dot::before { content: ""; position: absolute; inset: .5rem; border-radius: 50%; background: var(--skyway-dot); }
.skyway-dot[aria-current="true"] { opacity: 1; }

/* 6. Forms ---------------------------------------------------------------------------------- */
.skyway-input,
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="url"],
select, textarea {
	width: 100%;
	padding: .65rem .8rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.65;
}
:is(.is-style-section-blue, .is-style-section-blue-alt, .is-style-section-navy, .skyway-popup, .skyway-search) :is(.skyway-input, input, select, textarea) { border-color: var(--wp--preset--color--blue-border); }
::placeholder { color: currentColor; opacity: .7; }
input[type="checkbox"], input[type="radio"] { width: .875rem; height: .875rem; accent-color: var(--wp--preset--color--blue); margin: 0; flex: none; }
label { display: inline-block; }

/* 7. Announcement bar ----------------------------------------------------------------------- */
.skyway-announcement {
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--base);
	text-align: center;
	padding: .65rem var(--skyway-gutter);
	border-bottom: 1px solid rgb(255 255 255 / .12);
}
.skyway-announcement p {
	margin: 0;
	font-size: var(--wp--preset--font-size--announcement);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-weight: 700;
	line-height: 1.65;
}

/* 8. Header --------------------------------------------------------------------------------- */
/* Sticky, 190px (93px below 700). SOLID #0B4C72 whenever over content. Transparent ONLY on the
   home page while at the very top over the hero (theme.js adds .is-transparent; bug fix vs live). */
.skyway-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .skyway-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.admin-bar .skyway-toolbar, .admin-bar .skyway-article-bar { top: calc(var(--skyway-header-h) + var(--wp-admin--admin-bar--height, 32px)); }
@media (max-width: 600px) { .admin-bar .skyway-site-header { top: 0; } .admin-bar .skyway-toolbar, .admin-bar .skyway-article-bar { top: var(--skyway-header-h); } }
.skyway-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: var(--skyway-header-h);
	padding: 0 calc(var(--skyway-gutter) - .75rem);
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--base);
	border-bottom: 1px solid rgb(255 255 255 / .12);
	transition: none; /* becoming solid is instant, so it is never see-through over content */
}
.skyway-site-header { transition: none; }
.skyway-header > *, .skyway-header__actions > * { margin-block: 0 !important; }
.skyway-header > :first-child { justify-self: start; }
.skyway-header > :last-child { justify-self: end; display: flex; align-items: center; gap: 0; }
.skyway-has-hero-header .skyway-header.is-transparent { background-color: transparent; border-color: transparent; box-shadow: none; transition: background-color .3s, box-shadow .3s; }
.skyway-logo { line-height: 0; }
.skyway-logo a { display: inline-block; }
.skyway-logo__img { width: var(--skyway-logo-w); height: auto; }
.skyway-quote-icon__count {
	position: absolute;
	top: .35rem;
	right: .1rem;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 .25rem;
	border-radius: 1rem;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--text);
	font-size: .625rem;
	line-height: 1.1rem;
	text-align: center;
	letter-spacing: 0;
}
.skyway-quote-icon__count[hidden] { display: none; }
/* Home: pull the hero up under the sticky header. */
.skyway-has-hero-header main.wp-block-group > .wp-block-skyway-hero-slideshow:first-child { margin-top: calc(-1 * var(--skyway-header-h)); }
.skyway-has-hero-header .wp-block-skyway-hero-slideshow:first-child .skyway-hero__content { padding-top: var(--skyway-header-h); }
.skyway-has-hero-header main.wp-block-group > .wp-block-skyway-collection-banner.has-image:first-child { margin-top: calc(-1 * var(--skyway-header-h)); padding-top: var(--skyway-header-h); }

/* 9. Overlays: drawer and search ------------------------------------------------------------- */
.skyway-overlay { position: fixed; inset: 0; z-index: 300; }
.skyway-overlay[hidden] { display: none; }
.skyway-overlay__backdrop { position: absolute; inset: 0; background: var(--wp--custom--overlay); opacity: 0; transition: opacity .3s; }
.skyway-overlay.is-open .skyway-overlay__backdrop { opacity: 1; }

.skyway-drawer__panel {
	position: absolute;
	inset: 0 auto 0 0;
	width: min(25rem, 92vw);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--text);
	padding: 1.5rem 1.875rem;
	transform: translateX(-100%);
	transition: transform .4s var(--skyway-ease);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}
@media (min-width: 1000px) { .skyway-drawer__panel { overflow: visible; } }
.skyway-drawer.is-open .skyway-drawer__panel { transform: none; }
.skyway-drawer__close { margin: -.75rem 0 1.5rem -.75rem; align-self: flex-start; }
.skyway-drawer__close:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.skyway-drawer__close { position: relative; z-index: 2; } /* stays visible and clickable over the submenu view */
@media (min-width: 1000px) { .skyway-drawer__panel { width: 25rem; } } /* 400px incl. padding (live) */
.skyway-drawer__list { list-style: none; margin: 0; padding: 0; }
.skyway-drawer__item { border-bottom: 1px solid var(--wp--preset--color--border); }
.skyway-drawer__item:last-child { border-bottom: 0; }
.skyway-drawer__link, .skyway-drawer__back {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.25rem 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--text);
	font: inherit;
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	letter-spacing: .18em;
	text-align: start;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .2s;
}
/* Must come AFTER the base rule above (same specificity, later wins). */
@media (max-width: 699px) { .skyway-drawer__link, .skyway-drawer__back { padding-block: 1.05rem; } } /* rows ~54px apart (live) */
/* Hovered item stays dark; the others fade (menu-hover-dims-others.png). */
@media (pointer: fine) {
	.skyway-drawer__list:hover > .skyway-drawer__item > .skyway-drawer__link { opacity: var(--skyway-faded); }
	.skyway-drawer__list > .skyway-drawer__item > .skyway-drawer__link:hover { opacity: 1; }
}
.skyway-drawer__list.has-open > .skyway-drawer__item > .skyway-drawer__link { opacity: var(--skyway-faded); }
.skyway-drawer__list.has-open > .skyway-drawer__item > .skyway-drawer__link[aria-expanded="true"] { opacity: 1; }
.skyway-drawer__back { justify-content: flex-start; gap: .75rem; opacity: var(--skyway-faded); border-bottom: 1px solid var(--wp--preset--color--border); }
.skyway-drawer__sub {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--wp--preset--color--base);
	padding: 5.25rem 1.875rem 1.5rem;
	overflow-y: auto;
}
.skyway-drawer__sub[hidden] { display: none; }
@media (min-width: 1000px) {
	/* Second white column next to the panel. */
	.skyway-drawer__sub { left: 100%; right: auto; width: min(25rem, 40vw); border-left: 1px solid var(--wp--preset--color--border); padding-top: 4.5rem; }
	.skyway-drawer__back { display: none; }
}

.skyway-search.skyway-overlay { inset: var(--skyway-search-top, 0px) 0 0 0; } /* header stays visible above */
.skyway-search__panel {
	position: absolute;
	inset: 0 0 auto 0;
	max-height: calc(100vh - var(--skyway-search-top, 0px));
	overflow-y: auto;
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--base);
	padding: 1rem var(--skyway-gutter) 2rem;
}
.skyway-search__form { display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid var(--wp--preset--color--blue-border); }
.skyway-search__input {
	flex: 1;
	border: 0 !important;
	padding: .9rem 0 !important;
	background: transparent;
	color: inherit;
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: var(--wp--preset--font-size--base);
}
.skyway-search__input::-webkit-search-cancel-button { display: none; }
.skyway-search__input:focus-visible { outline: none; }
.skyway-search__form:focus-within { border-bottom-color: var(--wp--preset--color--base); }
.skyway-search__results { padding-top: 1.75rem; }
.skyway-search__results[hidden] { display: none; }
.skyway-search__grid { display: grid; gap: 2rem; }
@media (min-width: 1000px) { .skyway-search__grid { grid-template-columns: 12.75rem 1fr; gap: 2rem; } }
.skyway-search__heading, .skyway-search__tabs button {
	margin: 0 0 1.25rem;
	padding: 0 0 .75rem;
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	letter-spacing: .18em;
	opacity: var(--skyway-faded);
	border-bottom: 1px solid var(--wp--preset--color--blue-border);
}
.skyway-search__suggestions ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.skyway-search__suggestions a { color: inherit; text-decoration: none; font-size: var(--wp--preset--font-size--sm); }
.skyway-search__suggestions mark { background: none; color: inherit; font-weight: 700; }
.skyway-search__tabs { display: flex; gap: 3.5rem; border-bottom: 1px solid var(--wp--preset--color--blue-border); margin-bottom: 1.5rem; }
.skyway-search__tabs button { border: 0; margin: 0 0 -1px; background: none; color: inherit; font: inherit; font-size: var(--wp--preset--font-size--xs); cursor: pointer; }
.skyway-search__tabs button[aria-selected="true"] { opacity: 1; border-bottom: 1px solid currentColor; }
.skyway-search__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 1000px) { .skyway-search__cards { grid-template-columns: repeat(4, 1fr); } }
.skyway-search .skyway-card { color: inherit; }
.skyway-search .skyway-card__media { background: var(--wp--preset--color--base); }
.skyway-search__collections { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.skyway-search__collections a { color: inherit; text-transform: uppercase; letter-spacing: .18em; font-size: var(--wp--preset--font-size--xs); text-decoration: none; }
.skyway-search__more { text-align: center; margin: 2rem 0 0; }
.skyway-search__empty { opacity: var(--skyway-faded); }

/* 10. Footer -------------------------------------------------------------------------------- */
.skyway-footer { padding: var(--skyway-section-spacing) var(--skyway-gutter) 2rem; border-top: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--text); }
.skyway-footer__grid { display: grid; gap: 2.5rem var(--skyway-gutter); }
@media (min-width: 700px) {
	.skyway-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
	.skyway-footer__grid > .skyway-newsletter { grid-column: 1 / -1; max-width: 28rem; }
}
@media (min-width: 1000px) {
	.skyway-footer__grid { grid-template-columns: 2.2fr 1fr 1.1fr 1.25fr; }
	.skyway-footer__grid > .skyway-newsletter { grid-column: auto; max-width: none; }
}
.skyway-footer__grid > *, .skyway-footer__bottom > * { margin-block: 0 !important; } /* all column titles on one line */
.skyway-footer__about > :first-child { margin-top: 0; }
.skyway-footer__title { margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; }
.skyway-footer__about p:not(.skyway-footer__title) { margin: 0 0 1.25rem; color: var(--wp--preset--color--muted); max-width: 21.875rem; }
.skyway-footer-menu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.skyway-footer-menu a { color: var(--wp--preset--color--text); }
.skyway-footer .skyway-newsletter__text { color: var(--wp--preset--color--muted); margin: 0 0 1.25rem; }
.skyway-footer .skyway-newsletter__fields { display: grid; gap: 1.25rem; justify-items: start; min-width: 0; }
.skyway-footer .skyway-newsletter__fields .skyway-input { max-width: 100%; }
.skyway-footer__grid > * { min-width: 0; }
.skyway-footer__bottom { margin-top: 3rem; display: grid; gap: 1.75rem; }
.skyway-footer .wp-block-social-links { gap: 1.5rem; margin: 0; }
.skyway-footer .wp-block-social-links .wp-social-link { color: var(--wp--preset--color--text); opacity: var(--skyway-faded); transition: opacity .2s; }
.skyway-footer .wp-block-social-links .wp-social-link:hover { opacity: 1; }
.skyway-footer .wp-block-social-links .wp-block-social-link-anchor { padding: 0; }
.skyway-copyright { margin: 0; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-footer-legal { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.skyway-footer-legal .skyway-footer__title { display: none; }
.skyway-footer-legal ul { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.skyway-footer-legal a { font-size: var(--wp--preset--font-size--xs); }

/* Social icons: grey line logos (live), not brand colors. */
.skyway-footer .wp-block-social-links.is-style-logos-only .wp-social-link { color: var(--wp--preset--color--text); background: none; }
.skyway-footer .wp-block-social-links .wp-social-link svg { width: 1.125rem; height: 1.125rem; }

/* Newsletter "card over image" (home 8.13): white card centered over a full-bleed photo. */
.skyway-newsletter.is-card { position: relative; display: grid; place-items: center; padding: 4.5rem var(--skyway-gutter); min-height: 31rem; }
.skyway-newsletter.is-card .skyway-newsletter__bg { position: absolute; inset: 0; background: var(--wp--preset--color--tile); }
.skyway-newsletter.is-card .skyway-newsletter__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.skyway-newsletter.is-card .skyway-newsletter__box {
	position: relative;
	width: min(100%, 44.625rem); /* ~714px (live) */
	padding: 3.5rem clamp(1.25rem, 5vw, 4.5rem);
	background: var(--wp--preset--color--base);
	color: #000;
	text-align: center;
}
.skyway-newsletter.is-card .skyway-section-header { padding: 0; margin-bottom: 1.5rem; }
.skyway-newsletter.is-card .skyway-newsletter__text { margin: 0 0 2rem; }
.skyway-newsletter.is-card .skyway-input { border-color: var(--wp--preset--color--text); }

/* 11. Pop-up, cookie banner, USA badge ------------------------------------------------------ */
/* Newsletter pop-up: 380px, 32px from bottom, ~47px from right, 32px padding, #0B4C72 (design tokens 6b). */
.skyway-popup {
	position: fixed;
	z-index: 250;
	right: max(var(--skyway-gutter), 2.9375rem);
	bottom: 2rem;
	width: min(23.75rem, calc(100vw - 2 * var(--skyway-gutter)));
	padding: 2rem;
	background: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--base);
	text-align: center;
	box-shadow: var(--wp--preset--shadow--md);
}
@media (max-width: 699px) { .skyway-popup { right: var(--skyway-gutter); bottom: var(--skyway-gutter); padding: 1.5rem; } }
.skyway-popup[hidden] { display: none; }
.skyway-popup__close { position: absolute; top: .25rem; right: .25rem; }
.skyway-popup__title { margin: 0 1rem 1rem; font-size: 1.125rem; text-transform: uppercase; letter-spacing: .18em; line-height: 1.4; }
.skyway-popup__text { margin: 0 0 1.5rem; font-size: var(--wp--preset--font-size--base); }
.skyway-newsletter__fields { display: grid; gap: 1rem; }
.skyway-newsletter__status { margin: 0; font-size: var(--wp--preset--font-size--sm); }
.skyway-newsletter__status:empty { display: none; }

/* Cookie banner: #1C1C1C card bottom-left, ~410px, Accept / Decline as equal underlined text buttons. */
.skyway-cookie {
	position: fixed;
	z-index: 260;
	left: var(--skyway-gutter);
	bottom: var(--skyway-gutter);
	width: min(25.625rem, calc(100vw - 2 * var(--skyway-gutter)));
	padding: 1.75rem 1.75rem 1.5rem;
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--sm);
}
.skyway-cookie[hidden] { display: none; }
.skyway-cookie__close { position: absolute; top: .25rem; right: .25rem; }
.skyway-cookie__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--heading-6); color: inherit; }
.skyway-cookie__text { margin: 0 0 1rem; }
.skyway-cookie__text a { color: inherit; }
.skyway-cookie__actions { display: flex; gap: 1rem; }
.skyway-cookie__choice {
	padding: .25rem 0;
	border: 0;
	background: linear-gradient(currentColor, currentColor) no-repeat left bottom / 100% 1px;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

/* Made in USA badge. Bug fix vs live: never covers content.
   - Below 1000px: no floating badge at all; it sits inline in the footer About column.
   - 1000px+: 40px wide inside the 48px right gutter, hidden while the footer badge is visible
     or any overlay (menu, search, pop-up, cookie banner on narrow screens) is open. */
.skyway-badge img { width: 2.5rem; height: auto; display: block; }
.skyway-badge.is-inline { margin-top: .5rem; }
.skyway-badge.is-floating { display: none; }
@media (min-width: 1000px) {
	.skyway-floating-badge-on .skyway-badge.is-floating {
		display: block;
		position: fixed;
		z-index: 90;
		right: .25rem;
		bottom: 1.5rem;
		transition: opacity .3s, visibility .3s;
	}
	.skyway-floating-badge-on .skyway-badge.is-floating.is-hidden,
	.skyway-overlay-open .skyway-badge.is-floating,
	.skyway-popup-open .skyway-badge.is-floating { opacity: 0; visibility: hidden; }
}

/* 12. Product cards and grid ---------------------------------------------------------------- */
/* Square light-grey tile, 12px uppercase .18em title centered, price below in grey. Second image
   cross-fades in on hover (design tokens 6, 6b). */
.skyway-card { text-align: center; }
.skyway-card__link { display: block; color: inherit; text-decoration: none; }
.skyway-card__media { position: relative; aspect-ratio: 1 / 1; background: var(--wp--preset--color--tile); overflow: hidden; }
.skyway-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: opacity .4s; }
.skyway-card__img--alt { opacity: 0; }
@media (pointer: fine) {
	.skyway-card__link:hover .skyway-card__img--alt, .skyway-card__link:focus-visible .skyway-card__img--alt { opacity: 1; }
	.skyway-card__link:has(.skyway-card__img--alt):hover .skyway-card__img:not(.skyway-card__img--alt) { opacity: 0; }
}
.skyway-card__noimg { position: absolute; inset: 0; }
.skyway-card__title {
	margin: 1.5rem auto 0;
	max-width: 17.5rem;
	font-size: var(--wp--preset--font-size--heading-6);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .18em;
	line-height: 1.65;
}
.skyway-card__price { margin-top: .25rem; font-size: var(--wp--preset--font-size--base); letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-grid-wrap { padding: var(--skyway-section-spacing) var(--skyway-gutter); }
/* Toolbar → first card gap (live): ~22px at <700, 48px at 700+. */
@media (max-width: 699px) { .skyway-toolbar + * .skyway-grid-wrap, .skyway-toolbar + .skyway-grid-wrap { padding-top: 1.375rem; } }
@media (min-width: 700px) { .skyway-toolbar + * .skyway-grid-wrap, .skyway-toolbar + .skyway-grid-wrap { padding-top: 3rem; } }
.skyway-grid {
	--cols-mobile: 1;
	--cols-tablet: 3;
	--cols-desktop: 4;
	--cols: var(--cols-mobile);
	display: grid;
	grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
	gap: 3rem var(--skyway-card-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 700px) and (max-width: 999px) { .skyway-grid { --cols: var(--cols-tablet); } }
@media (min-width: 1000px) { .skyway-grid { --cols: var(--cols-desktop); } }
@media (max-width: 699px) { .skyway-grid { gap: 2.5rem 1rem; } }
.skyway-grid__empty { text-align: center; }
.skyway-pagination { display: flex; justify-content: center; align-items: center; gap: 1.25rem; margin-top: var(--skyway-section-spacing); font-size: var(--wp--preset--font-size--sm); }
.skyway-pagination .page-numbers { color: var(--wp--preset--color--muted); text-decoration: none; min-width: 1.5rem; text-align: center; padding-bottom: .15rem; }
.skyway-pagination .page-numbers.current { color: var(--wp--preset--color--text); border-bottom: 1px solid currentColor; }
.skyway-pagination a.page-numbers:hover { color: var(--wp--preset--color--text); }

/* 13. Blog ---------------------------------------------------------------------------------- */
.wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.skyway-post-meta { font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-post-meta > * { margin: 0 !important; }
.skyway-blog-section { padding: var(--skyway-section-spacing) var(--skyway-gutter); }
.skyway-blog-section .wp-block-post-template { gap: 3rem var(--skyway-card-gap); }
.skyway-blog-section > .wp-block-query, .skyway-blog-section .wp-block-query { max-width: var(--wp--custom--container--lg); margin-inline: auto; } /* 1260px: ~380px cards at 1440 */
.skyway-post-card .wp-block-post-featured-image, .skyway-post-card__media { aspect-ratio: 3 / 2; overflow: hidden; margin: 0 0 1.5rem; display: block; background: var(--wp--preset--color--tile); }
.skyway-post-card .wp-block-post-featured-image img, .skyway-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.skyway-post-card .wp-block-post-terms, .skyway-post-card__cat { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-post-card .wp-block-post-terms a { color: inherit; text-decoration: none; }
.skyway-post-card .wp-block-post-title, .skyway-post-card__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--heading-4); line-height: 1.55; }
.skyway-post-card .wp-block-post-title a, .skyway-post-card__title a { color: inherit; text-decoration: none; }
.skyway-post-card .wp-block-read-more { display: inline; padding-bottom: .1em; color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) no-repeat right bottom / 100% 1px; transition: background-size .3s ease-in-out; }
@media (pointer: fine) { .skyway-post-card .wp-block-read-more:hover { background-size: 0 1px; } }
.skyway-blog-more { text-align: center; margin-top: var(--skyway-stack-gap); }
/* Single post: full-width hero, white card overlapping it with date + category, then the text.
   Text column capped at 61.25rem (sm container) instead of live's ~1100px (lines too long). */
.skyway-post-hero { position: relative; }
.skyway-post-hero .wp-block-post-featured-image { margin: 0; aspect-ratio: auto; height: 97vw; } /* ~378px at 390 (live ~1:1) */
@media (min-width: 700px) { .skyway-post-hero .wp-block-post-featured-image { height: 54vw; } } /* ~414px at 768 */
@media (min-width: 1000px) { .skyway-post-hero .wp-block-post-featured-image { height: clamp(16rem, 34vw, 30rem); } }
.skyway-post-hero .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.skyway-post-card-head {
	position: relative;
	z-index: 1;
	max-width: var(--wp--custom--container--lg);
	margin: -4.25rem auto 0 !important;
	padding: 3rem var(--skyway-gutter) 0;
	background: var(--wp--preset--color--base);
}
@media (min-width: 700px) { .skyway-post-card-head { width: calc(100% - 2 * var(--skyway-gutter)); } } /* inset ~32px at 768 (live) */
@media (min-width: 1000px) { .skyway-post-card-head { padding-inline: 3rem; } }
.skyway-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-bottom: 1.5rem; }
.skyway-post-meta > * + *::before { content: "•"; margin-inline-end: 1.25rem; color: var(--wp--preset--color--muted); }
.skyway-post-meta a { color: inherit; text-decoration: none; }
.skyway-post-body { max-width: var(--wp--custom--container--sm); margin-inline: auto; padding: 2rem var(--skyway-gutter) var(--skyway-section-spacing); } /* ~884px text at 1440 (Luis: keep narrower than live) */
@media (min-width: 700px) and (max-width: 999px) { .skyway-post-body { max-width: calc(37.75rem + 2 * var(--skyway-gutter)); } } /* ~604px text at 768, as live */
/* Checklists: one marker only (live showed a bullet AND a checkbox). */
.skyway-post-body ul:has(input[type="checkbox"]) { list-style: none; padding-inline-start: 0; }

/* 14. Pages --------------------------------------------------------------------------------- */
.skyway-page-title { padding: var(--skyway-section-spacing) var(--skyway-gutter); text-align: center; margin: 0; }
.skyway-page-title .wp-block-post-title, .skyway-page-title h1 { margin: 0; font-size: var(--wp--preset--font-size--heading-1); }
.skyway-page-body > .wp-block-post-content > :not(.alignfull):not(.alignwide) { max-width: var(--wp--custom--container--sm); margin-inline: auto; padding-inline: var(--skyway-gutter); }
.skyway-page-body > .wp-block-post-content > * + * { margin-block-start: 0; }
.skyway-page-body > .wp-block-post-content > .alignfull + .alignfull { border-top: 1px solid var(--wp--preset--color--border); }
.skyway-section { padding: var(--skyway-section-spacing) var(--skyway-gutter) !important; }
/* Image-with-text (About): image edge to edge, text column inset. */
.wp-block-media-text.skyway-image-text { gap: 0; }
.wp-block-media-text.skyway-image-text .wp-block-media-text__content { padding: var(--skyway-section-spacing) var(--skyway-gutter); }
@media (min-width: 1000px) { .wp-block-media-text.skyway-image-text .wp-block-media-text__content { padding: 4rem 5.75rem; } }
@media (max-width: 699px) { .wp-block-media-text.skyway-image-text:not(.is-inset) .wp-block-media-text__content { text-align: center; } } /* live: centered on phones */
/* Inset variant (About "Decades…" and "Restoration"): image starts x≈139 at 1440, text left-aligned. */
.wp-block-media-text.skyway-image-text.is-inset .wp-block-media-text__content { text-align: start; }
@media (min-width: 1000px) {
	.skyway-page-body .wp-block-media-text.skyway-image-text.is-inset { max-width: 72.5rem; margin-inline: auto; }
}
/* Wide text variant (Wholesale "Commercial Outdoor Furniture…"): ~540px text column at 1440. */
@media (min-width: 1000px) {
	.wp-block-media-text.skyway-image-text.is-wide-text .wp-block-media-text__content { padding-inline: 5.5rem 3rem; }
	.wp-block-media-text.skyway-image-text.is-wide-text .wp-block-media-text__content > :not(h2) { max-width: 33.75rem; }
	.wp-block-media-text.skyway-image-text.is-wide-text .wp-block-media-text__content > h2 { max-width: 35.625rem; } /* ~570px: 2 lines (live) */
}
.wp-block-media-text.skyway-image-text .wp-block-media-text__media img { min-height: 100%; object-fit: cover; }
/* Multi-column rows: below 700px live side-scrolled with the next column cut off (hard to read).
   Fixed: they stack. The "Side-scroll on mobile" style is available if wanted. */
@media (max-width: 699px) {
	.wp-block-columns.is-style-scroll-mobile { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; }
	.wp-block-columns.is-style-scroll-mobile > .wp-block-column { flex: 0 0 85% !important; scroll-snap-align: start; }
}
/* One list marker style everywhere (live mixed triangles and dots). */
/* Content lists (Phase 6 r2): bullets only on plain content lists, never on theme components
   (trust strip, carousels, grids, menus) that sit inside page content. */
.wp-block-post-content ul:where(:not([class*="skyway-"], .wp-block-social-links, .wp-block-post-template)), .is-style-dots { list-style: disc; padding-inline-start: 1.25rem; }
.wp-block-post-content ul:where(:not([class*="skyway-"], .wp-block-social-links, .wp-block-post-template)) > li + li { margin-top: .35rem; }
.wp-block-post-content :is(.skyway-trust__list, .skyway-media-grid__list, .skyway-carousel__track, .skyway-grid, .skyway-gallery__track, .skyway-gallery__thumbs, .skyway-search__cards, .wp-block-post-template) { list-style: none; padding-inline-start: 0; margin-block: 0; }
.wp-block-post-content .skyway-trust__list { padding: 0; }
.skyway-note-band { text-align: center; }
.skyway-404 { padding: calc(var(--skyway-section-spacing) * 2) var(--skyway-gutter); text-align: center; }
.skyway-404 .wp-block-search { max-width: 30rem; margin: 2rem auto 0; }
.skyway-search-header { padding: var(--skyway-section-spacing) var(--skyway-gutter); text-align: center; }
.skyway-search-header .wp-block-search { max-width: 30rem; margin: 1.5rem auto 0; }

/* 15. Single product ------------------------------------------------------------------------ */
/* 1440: gallery left (~55%), info right; accordion under the gallery. Phones: gallery, info, accordion. */
.skyway-product {
	display: grid;
	gap: 2rem;
	grid-template-areas: "gallery" "info" "extra";
	max-width: calc(var(--wp--custom--container--lg) + 2 * var(--skyway-gutter));
	margin-inline: auto;
	padding: 0 var(--skyway-gutter) var(--skyway-section-spacing);
}
@media (min-width: 1000px) {
	.skyway-product {
		grid-template-columns: 1.5fr 1fr;
		grid-template-areas: "gallery info" "extra info";
		grid-template-rows: auto 1fr;
		column-gap: 4.875rem;
		padding-top: 3rem;
	}
}
@media (max-width: 999px) { .skyway-product { padding-inline: 0; } .skyway-product > :not(.skyway-product__gallery) { padding-inline: var(--skyway-gutter); } }
.skyway-product > * { margin: 0 !important; min-width: 0; }
.skyway-product__gallery { grid-area: gallery; }
.skyway-product__info { grid-area: info; align-self: start; }
@media (min-width: 1000px) { .skyway-product__info { position: sticky; top: calc(var(--skyway-header-h) + 1.5rem); } }
.skyway-product__extra { grid-area: extra; }
.skyway-summary__brand { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-summary__title { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--heading-3); }
.skyway-summary__sku { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-summary__price { margin: 0; font-size: var(--wp--preset--font-size--lg); letter-spacing: .18em; color: var(--wp--preset--color--muted); }
.skyway-product__info .wp-block-post-content { font-size: var(--wp--preset--font-size--base); }
.skyway-product__info .wp-block-post-content h2, .skyway-product__info .wp-block-post-content h3 { font-size: var(--wp--preset--font-size--heading-3); }
.skyway-product-actions { display: grid; gap: 1rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); }
.skyway-product-actions > * { margin: 0 !important; } /* ~16px between the three buttons (live) */
.skyway-product-actions .wp-block-buttons { display: grid; gap: 1rem; }
.skyway-product-actions .wp-block-button, .skyway-product-actions .wp-block-button__link { width: 100%; margin: 0; }
.skyway-rfq.is-full .skyway-btn { width: 100%; }

/* 16. Accordion (core/details): 1px rules, toggle padding 1.25rem, icon left, + turns into − (6b). */
.wp-block-details {
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0;
}
.wp-block-details + .wp-block-details { border-top: 0; }
.wp-block-details > summary {
	position: relative;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: 1.25rem 2rem 1.25rem 0;
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	letter-spacing: .18em;
}
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::before,
.wp-block-details > summary::after {
	content: "";
	position: absolute;
	right: .25rem;
	top: 50%;
	width: .75rem;
	height: 1px;
	background: currentColor;
	transition: transform .2s;
}
.wp-block-details > summary::after { transform: rotate(90deg); }
.wp-block-details[open] > summary::after { transform: rotate(0deg); }
.wp-block-details > :not(summary) { margin-top: -.25rem; padding-bottom: 1.25rem; }
.wp-block-details.has-icon-shield > summary { padding-left: 1.75rem; background: no-repeat left center / 1rem url("../images/icon-shield.svg"); }

/* 17. Quote form (markup only, wired in Phase 7) -------------------------------------------- */
.skyway-quote { max-width: var(--wp--custom--container--xs); margin-inline: auto; padding: var(--skyway-section-spacing) var(--skyway-gutter); }
.skyway-quote-form { display: grid; gap: 1.25rem; }
.skyway-quote-form fieldset { display: grid; gap: 1rem; margin: 0; padding: 0; border: 0; }
.skyway-quote-form legend { padding: 0; margin-bottom: 1rem; font-size: var(--wp--preset--font-size--heading-6); text-transform: uppercase; letter-spacing: .18em; }
.skyway-field { display: grid; gap: .625rem; }
.skyway-field label { font-size: var(--wp--preset--font-size--sm); }
.skyway-field-row { display: grid; gap: 1rem; }
@media (min-width: 700px) { .skyway-field-row { grid-template-columns: repeat(var(--n, 2), 1fr); } }
.skyway-choice { display: flex; align-items: center; gap: .75rem; font-size: var(--wp--preset--font-size--sm); }
.skyway-choices { display: grid; gap: .5rem; }
@media (min-width: 700px) { .skyway-choices { grid-template-columns: repeat(2, 1fr); } }
.skyway-req { color: var(--wp--preset--color--error); }
.skyway-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* Phase 7: quote list, Request a Quote options, form errors / success. */
.skyway-quote__title { text-align: center; margin-bottom: 1.5rem; }
.skyway-quote-list { margin-bottom: 2.5rem; }
.skyway-quote-list__empty { border: 1px solid var(--wp--preset--color--border); padding: 1.5rem; text-align: center; color: var(--wp--preset--color--muted); margin: 0; }
.skyway-quote-list__items { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--border); }
.skyway-quote-list__item { display: grid; gap: .75rem 1rem; align-items: end; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--border); }
@media (min-width: 700px) { .skyway-quote-list__item { grid-template-columns: minmax(0, 1fr) 11rem 6rem auto; } }
.skyway-quote-list__product { display: grid; gap: .25rem; align-self: center; min-width: 0; overflow-wrap: anywhere; }
.skyway-quote-list__product a { color: inherit; text-transform: uppercase; letter-spacing: .18em; font-size: var(--wp--preset--font-size--xs); }
.skyway-quote-list__sku { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.skyway-quote-list__field { display: grid; gap: .35rem; font-size: var(--wp--preset--font-size--xs); }
.skyway-quote-list__remove { border: 0; background: none; padding: .65rem 0; color: var(--wp--preset--color--text); font: inherit; font-size: var(--wp--preset--font-size--sm); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.skyway-rfq__form { display: grid; gap: 1rem; }
.skyway-rfq__options { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; }
.skyway-rfq__options .skyway-rfq__color, .skyway-rfq__options .skyway-rfq__finish { grid-column: 1 / -1; } /* color pickers + notes span the row; quantity sits alone on the first row */
.skyway-rfq__options select { width: 100%; }
.skyway-rfq__options .skyway-field { gap: .35rem; }
.skyway-rfq__options label { font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .18em; }
.skyway-rfq__status { margin: 0; font-size: var(--wp--preset--font-size--sm); }
.skyway-rfq__status:empty { display: none; }
.skyway-field-error { margin: .35rem 0 0; color: var(--wp--preset--color--error); font-size: var(--wp--preset--font-size--sm); }
.skyway-contact .skyway-field-error { color: #7a1010; } /* AA on gold */
[aria-invalid="true"] { border-color: var(--wp--preset--color--error) !important; }
.skyway-form-errors { padding: 1rem 1.25rem; border: 1px solid var(--wp--preset--color--error); background: var(--wp--preset--color--base); color: var(--wp--preset--color--text); }
.skyway-form-errors p { margin: 0; }
.skyway-form-errors ul { margin: .5rem 0 0; padding-inline-start: 1.25rem; }
.skyway-form-errors a { color: inherit; }
.skyway-form-success { padding: 1rem 1.25rem; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--success); color: var(--wp--preset--color--text); margin: 0 0 1rem; }
.skyway-choice-group { border: 0; padding: 0; margin: 0; }
.skyway-choice-group legend { font-size: var(--wp--preset--font-size--sm); margin-bottom: .5rem; padding: 0; }
.skyway-quote-form fieldset fieldset legend { text-transform: none; letter-spacing: 0; font-size: var(--wp--preset--font-size--sm); }
.skyway-turnstile { min-height: 65px; }
.skyway-btn[aria-busy="true"] { cursor: progress; }

/* Phase 6: About lists, inquiry pages (staff cards, contact info, contact form on gold) ----- */
.skyway-list-center { display: table; margin-inline: auto; text-align: start; }
.skyway-services .wp-block-columns + .wp-block-columns { margin-top: var(--skyway-stack-gap); }
.skyway-staff .wp-block-columns { gap: var(--skyway-gutter); }
/* Staff cards: plain centered text, no box (live). */
.skyway-staff-card p { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
/* Round 3: the 2 staff cards stay in one row from 700px (core columns otherwise stack below 782px). */
@media (min-width: 700px) {
	.skyway-staff .wp-block-columns { flex-wrap: nowrap !important; }
	.skyway-staff .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
}
.skyway-staff-card strong { font-weight: 700; }
.skyway-staff-card a, .skyway-contact-info a, .skyway-contact__note a { color: inherit; }
.skyway-contact-info :is(h3, h4) { margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--heading-6); }
.skyway-contact-info__cols { margin-top: var(--skyway-stack-gap); }
.skyway-contact-info__cols p { margin: 0; }
.skyway-contact__intro { margin: 0 0 1.5rem; }
.skyway-contact-form { display: grid; gap: 1rem; }
.skyway-contact-form .skyway-field { gap: 0; }
.skyway-contact-form p { margin: 0; } /* round 3: no extra paragraph margins in the form */
.skyway-contact-form textarea { height: 5.75rem; min-height: 5.75rem; } /* ~92px (live) */
/* Round 3: intro sections as tight as live (no 2.25rem block gaps between eyebrow, heading, text). */
.skyway-contact-info > .skyway-narrow { margin-block: 1rem 0 !important; }
.skyway-contact-info > .skyway-subheading + .skyway-narrow { margin-top: 0 !important; } /* labels are visually hidden: placeholders show the field names (live) */
.skyway-narrow { max-width: 42.5rem !important; margin-inline: auto !important; } /* ~680px intro column at 1440 */
.skyway-contact :is(input, select, textarea) { background: var(--wp--preset--color--base); border-color: var(--wp--preset--color--gold-border); color: var(--wp--preset--color--text); }
.skyway-contact__note { margin: 0; font-size: var(--wp--preset--font-size--sm); }
.skyway-quote-form .skyway-btn[disabled] { opacity: .6; cursor: not-allowed; }
/* Disabled until Phase 7 but shown solid navy, as live (no faded look on the gold band). */
.skyway-contact .skyway-btn[disabled] { opacity: 1; cursor: not-allowed; }
@media (pointer: fine) { .skyway-contact .skyway-btn[disabled]:hover { background-size: 100% 100%; color: var(--wp--preset--color--base); } }
/* No divider lines under the inquiry page titles or around "Why Partner…" (live). */
main.wp-block-group > .skyway-page-body:has(> .wp-block-post-content > .skyway-no-rule:first-child) { border-top: 0; }
.skyway-page-body > .wp-block-post-content > .alignfull.skyway-no-rule,
.skyway-page-body > .wp-block-post-content > .skyway-no-rule-after + .alignfull { border-top: 0; }

/* 18. Editor-only hints (visible to logged-in editors, never to visitors) ---------------------- */
.skyway-image-hint, .skyway-editor-note {
	display: inline-block;
	padding: .35rem .6rem;
	background: #fff8e1;
	color: #5a4300;
	border: 1px dashed #bc9e33;
	font-size: .75rem;
	letter-spacing: 0;
	text-transform: none;
}

/* 19. Motion -------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Phase 8 pages: gallery grid and full-width banner image (More Information). */
.skyway-page-gallery.wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem !important; box-sizing: border-box; width: 100%; max-width: calc(75rem + 2 * var(--skyway-gutter)) !important; margin-inline: auto !important; padding: var(--skyway-section-spacing) var(--skyway-gutter); }
@media (min-width: 700px) { .skyway-page-gallery.wp-block-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem !important; } }
.skyway-page-gallery.wp-block-gallery > .wp-block-image { width: auto !important; margin: 0 !important; aspect-ratio: 4 / 3; }
.skyway-page-gallery.wp-block-gallery > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.skyway-page-banner { margin-block: 0; }
.skyway-page-banner img { width: 100%; max-height: 37.5rem; object-fit: cover; display: block; }

/* Product descriptions from Shopify start at h3; they are promoted to h2 for heading order but keep the h3 look. */
.skyway-h3-look { font-size: var(--wp--preset--font-size--heading-3); }

/* Request a Quote feedback (2026-11-05): button confirms in navy, a bordered panel offers the next step,
   and the header quote-list icon pops. */
.skyway-rfq__btn.is-added { background: var(--wp--preset--color--blue); border-color: var(--wp--preset--color--blue); color: var(--wp--preset--color--base); }
.skyway-rfq__added { margin-top: 1rem; padding: 1rem 1.25rem; border: 1px solid var(--wp--preset--color--blue); border-left-width: 4px; background: var(--wp--preset--color--base); animation: skyway-added-in .3s ease-out; }
.skyway-rfq__added-msg { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text); }
.skyway-rfq__added-msg::before { content: "✓ "; color: var(--wp--preset--color--blue); font-weight: 700; }
.skyway-rfq__added-actions { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.skyway-rfq__view { padding-inline: 1.5rem; }
@keyframes skyway-added-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.skyway-quote-icon.is-bumped .skyway-quote-icon__count { animation: skyway-bump .6s ease-out; }
@keyframes skyway-bump { 0% { transform: scale(1); } 30% { transform: scale(1.6); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .skyway-rfq__added, .skyway-quote-icon.is-bumped .skyway-quote-icon__count { animation: none; } }
