/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Sky Motion Team UG
 * Template: blocksy
 * Version: 0.17.20
 * Text Domain: blocksy
 */

/* Shared tokens are loaded from assets/css/design-system.css in frontend and editor. */

body,
.entry-content,
.editor-styles-wrapper {
	color: var(--sm-color-body);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
	--theme-link-initial-color: var(--sm-color-link);
	--theme-link-hover-color: var(--sm-color-link-hover);
}

/* Editorial prose in the WooCommerce purchase/review UI is still body text;
 * price, legal suffix, selectors and review metadata keep their own roles. */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-Reviews .description {
	color: var(--sm-color-body);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

/* One editorial heading scale. Interface labels and prices retain their roles. */
:is(.entry-content, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6) {
	color: var(--sm-heading-color, var(--sm-color-navy));
}
:is(.entry-content, .editor-styles-wrapper) h1 { font-size: var(--sm-text-title); }
:is(.entry-content, .editor-styles-wrapper) h2 { font-size: var(--sm-text-section); }
:is(.entry-content, .editor-styles-wrapper) h3 { font-size: var(--sm-text-card); }
:is(.entry-content, .editor-styles-wrapper) h4 { font-size: var(--sm-text-h4); }
:is(.entry-content, .editor-styles-wrapper) h5 { font-size: var(--sm-text-h5); }
:is(.entry-content, .editor-styles-wrapper) h6 { font-size: var(--sm-text-h6); }
.is-style-sm-dark,
.sm-home :is(.hero, .pilot, .school, .location-card, .sm-site-footer) {
	--sm-heading-color: var(--sm-color-white);
	--sm-pattern-muted: var(--sm-color-white);
	--sm-color-link: var(--sm-color-white);
	--sm-color-link-hover: var(--sm-color-gold);
	--theme-link-initial-color: var(--sm-color-link);
	--theme-link-hover-color: var(--sm-color-link-hover);
}

/* Inline editorial links share one role in the frontend and block editor.
 * Buttons and kickers retain their separate action/accent colours. */
:is(.entry-content, .editor-styles-wrapper, .woocommerce-product-details__short-description) :is(p, li, dt, dd, figcaption, h1, h2, h3, h4, h5, h6) a:not(:where(.wp-element-button, .wp-block-button__link, .button, [class*="ct-button"], [role="button"], .is-style-sm-eyebrow *, .eyebrow *, .sm-product-story__eyebrow *)) {
	color: var(--sm-color-link);
}
:is(.entry-content, .editor-styles-wrapper, .woocommerce-product-details__short-description) :is(p, li, dt, dd, figcaption, h1, h2, h3, h4, h5, h6) a:not(:where(.wp-element-button, .wp-block-button__link, .button, [class*="ct-button"], [role="button"], .is-style-sm-eyebrow *, .eyebrow *, .sm-product-story__eyebrow *)):hover {
	color: var(--sm-color-link-hover);
}
:is(.entry-content, .editor-styles-wrapper) a[href^="tel:"]:hover {
	text-decoration: none;
}

/* Commerce controls retain their functional typography, sharing the square shape. */
body.woocommerce-page :is(.button, button[type="submit"], .ct-button) {
	border-radius: var(--sm-radius);
}

/* Native WooCommerce account: one service heading, clear navigation and work area.
 * No template/shortcode replacement; endpoint and form behaviour stays native. */
body.woocommerce-account #main > .ct-container-full { padding-block: 0; }
body.woocommerce-account .hero-section {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-block: 60px;
	background: var(--sm-color-white);
}
body.woocommerce-account .hero-section .entry-header {
	width: min(var(--sm-content-width), calc(100% - 2 * var(--sm-page-gutter)));
	margin-inline: auto;
}
body.woocommerce-account .hero-section .page-title {
	margin: 0;
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading);
	font-size: var(--sm-text-title);
	font-weight: 700;
	line-height: 1.05;
}
body.woocommerce-account #main .entry-content {
	padding-block: 60px var(--sm-space-section);
	background: var(--sm-color-mist);
}
body.woocommerce-account #main .entry-content > .woocommerce {
	width: min(var(--sm-content-width), calc(100% - 2 * var(--sm-page-gutter)));
	max-width: none;
	margin-inline: auto;
}
body.woocommerce-account .ct-woo-account {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: start;
	gap: 28px;
}
body.woocommerce-account .ct-acount-nav,
body.woocommerce-account .woocommerce-MyAccount-content { width: auto; min-width: 0; }
body.woocommerce-account .ct-acount-nav { margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-ResetPassword {
	background: var(--sm-color-white);
	border: 1px solid var(--sm-card-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-card);
}
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-ResetPassword { padding: clamp(22px, 3vw, 40px); }
body.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation a {
	min-height: 54px;
	border-radius: var(--sm-radius);
	font-family: var(--sm-font-body);
	font-size: 16px;
	font-weight: 600;
	color: var(--sm-color-navy);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover {
	background: var(--sm-color-mist);
	color: var(--sm-color-ink);
}
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--sm-color-blue);
	color: var(--sm-color-white);
}
body.woocommerce-account #main :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--sm-color-gold);
	outline-offset: 3px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { outline-offset: -4px; }
@media (max-width: 999.98px) {
	body.woocommerce-account .ct-woo-account { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	/* Use one outer gutter, not a second inset on nested content containers. */
	body:is(.woocommerce-cart, .woocommerce-checkout) #main > :is(.ct-container, .ct-container-full) {
		width: calc(100% - 2 * var(--sm-page-gutter));
	}
	body.woocommerce-account .hero-section { padding-block: 44px; }
	body.woocommerce-account #main .entry-content { padding-top: 32px; }
}

/* Single-product purchase area: native Blocksy layers with Sky Motion styling. */
body.single-product .entry-summary-items > .price .woocommerce-price-suffix {
	display: block;
	margin-top: 2px;
	color: var(--sm-color-muted);
	font-family: var(--sm-font-body, "Source Sans 3", sans-serif);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

body.single-product .variations label,
body.single-product .ct-product-additional-info .ct-module-title,
body.single-product .ct-payment-methods legend {
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.035em;
}

body.single-product .variations label {
	margin-bottom: 12px;
}

body.single-product .ct-variation-swatches {
	gap: 10px;
}

body.single-product .ct-variation-swatches .ct-swatch-container {
	min-height: 42px;
	border-radius: 3px;
}

body.single-product .ct-variation-swatches .ct-swatch {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body.single-product .ct-variation-swatches .ct-swatch-container:hover .ct-swatch,
body.single-product .ct-variation-swatches .ct-swatch-container[aria-pressed="true"] .ct-swatch {
	color: var(--sm-color-white);
	border-color: var(--sm-color-blue);
	background: var(--sm-color-blue);
}

body.single-product .single_add_to_cart_button {
	min-height: 55px;
	font-size: 18px;
	letter-spacing: 0.035em;
	gap: 10px;
}

/* The theme reserves ::before for its loading indicator. */
body.single-product .single_add_to_cart_button::after {
	content: "";
	display: inline-block;
	order: -1;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--sm-cart-icon) center / contain no-repeat;
	mask: var(--sm-cart-icon) center / contain no-repeat;
}

@media (max-width: 479px) {
	body.single-product .entry-summary .ct-cart-actions .single_add_to_cart_button {
		flex: 1 0 100%;
		min-height: 48px;
		white-space: nowrap;
	}
}

body.single-product .ct-product-additional-info {
	padding: 22px 24px 18px;
	border: 1px solid var(--sm-card-border);
	border-left: 4px solid var(--sm-color-blue);
	border-radius: 4px;
	background: var(--sm-color-mist);
	box-shadow: var(--sm-shadow-card);
}

body.single-product .ct-product-additional-info .ct-module-title {
	margin-bottom: 16px;
}

body.single-product .ct-product-additional-info ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 20px;
}

body.single-product .ct-product-additional-info li {
	align-items: center;
	min-width: 0;
	margin: 0;
	font-size: 16px;
	line-height: 1.35;
}

body.single-product .ct-product-additional-info .ct-icon-container {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	border: 1px solid rgba(0, 87, 181, 0.18);
	border-radius: 50%;
	color: var(--sm-color-blue);
	background: var(--sm-color-white);
}

body.single-product .ct-product-additional-info .ct-icon-container svg {
	width: 15px;
	height: 15px;
}

body.single-product .ct-payment-methods {
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 14px;
	padding: 18px 22px 20px;
	border: 1px solid var(--sm-card-border);
	border-radius: 4px;
	background: var(--sm-color-white);
	box-shadow: var(--sm-shadow-card);
}

body.single-product .ct-payment-methods legend {
	padding: 0 10px;
}

body.single-product .product_meta {
	color: var(--sm-color-muted);
	font-size: 14px;
	line-height: 1.55;
}

body.single-product .product_meta > span {
	display: block;
}

/* Native Blocksy product tabs: calm separation and readable accordion content. */
body.single-product .woocommerce-tabs {
	margin-block-start: clamp(32px, 4vw, 48px);
	padding-block: 64px;
	background: #f5f8fb;
}

body.single-product .woocommerce-tabs .ct-accordion-heading {
	min-height: 52px;
	padding-block: 17px;
	color: var(--sm-color-ink);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.2;
}

body.single-product .woocommerce-tabs .ct-accordion-heading[aria-expanded="true"] {
	color: var(--sm-color-navy);
}

body.single-product .woocommerce-tabs .ct-accordion-heading svg {
	width: 14px;
	height: 14px;
}

body.single-product .woocommerce-tabs .entry-content > * {
	max-width: min(880px, var(--theme-normal-container-max-width, 1180px));
}

body.single-product .woocommerce-tabs .entry-content > .sm-product-story {
	max-width: var(--theme-normal-container-max-width, 1180px);
}

/* Atomic Gutenberg story used by the reviewed "Pilot fuer einen Tag" product. */
.sm-product-story {
	margin-block: 72px 0;
	box-shadow: var(--sm-shadow-card);
}

.sm-product-story > .sm-product-story__header {
	max-width: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--sm-card-border);
	background: var(--sm-color-mist);
	text-align: left;
}

.sm-product-story__intro.wp-block-columns {
	display: grid;
	margin: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.sm-product-story__intro-title,
.sm-product-story__intro-copy {
	display: flex;
	min-width: 0;
	padding: clamp(38px, 5vw, 68px);
	flex-direction: column;
	justify-content: flex-start;
}

.sm-product-story__eyebrow,
.sm-product-story__number {
	color: var(--sm-color-blue);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.sm-product-story__header .sm-product-story__eyebrow {
	margin-bottom: 8px;
}

.sm-product-story__header h2 {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: var(--sm-text-section);
	font-weight: 700;
	line-height: 1.06;
}

.sm-product-story__intro-copy p {
	margin-bottom: 18px;
	color: var(--sm-color-body);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-product-story__intro-copy .is-style-sm-lead {
	font-size: var(--sm-text-lead);
	font-weight: 400;
	line-height: var(--sm-leading-lead);
}

.sm-product-story__intro-copy > p:last-child {
	margin-bottom: 0;
}

.sm-product-story__step.wp-block-columns {
	display: grid;
	min-height: 360px;
	margin: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border: 1px solid var(--sm-card-border);
	border-top: 0;
	background: var(--sm-color-white);
}

.sm-product-story > .sm-product-story__header + .sm-product-story__step.wp-block-columns {
	margin-block-start: 0;
}

.sm-product-story__step.is-reversed .sm-product-story__media {
	grid-column: 2;
	grid-row: 1;
}

.sm-product-story__step.is-reversed .sm-product-story__copy {
	grid-column: 1;
	grid-row: 1;
}

.sm-product-story__media {
	min-width: 0;
	min-height: 0;
	align-self: start;
	aspect-ratio: 4 / 3;
}

.sm-product-story__media figure,
.sm-product-story__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.sm-product-story__media figure {
	margin: 0;
}

.sm-product-story__media img {
	object-fit: cover;
	object-position: center center;
}

.sm-product-story__copy {
	display: flex;
	padding: clamp(38px, 5vw, 68px);
	flex-direction: column;
	justify-content: flex-start;
}

.sm-product-story__copy .sm-product-story__number {
	margin-bottom: 8px;
}

.sm-product-story__copy h3 {
	margin-top: 0;
	margin-bottom: 18px;
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: var(--sm-text-card);
	font-weight: 700;
	line-height: 1.08;
}

.sm-product-story__copy > p:last-child {
	margin-bottom: 0;
	color: var(--sm-color-muted);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-product-story__closing {
	max-width: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--sm-card-border);
	border-top: 0;
	background: var(--sm-color-mist);
}

.sm-product-story__closing-grid.wp-block-columns {
	display: grid;
	margin: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.sm-product-story__closing-title,
.sm-product-story__closing-copy {
	display: flex;
	min-width: 0;
	padding: clamp(38px, 5vw, 68px);
	flex-direction: column;
	justify-content: flex-start;
}

.sm-product-story__closing-title h3 {
	margin: 0;
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: var(--sm-text-card);
	font-weight: 700;
	line-height: 1.08;
}

.sm-product-story__closing-copy p {
	margin: 0;
	color: var(--sm-color-body);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

@media (max-width: 781px) {
	.sm-product-story {
		margin-top: 54px;
	}

	.sm-product-story__header {
		padding: 0;
	}

	.sm-product-story__intro.wp-block-columns,
	.sm-product-story__closing-grid.wp-block-columns {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.sm-product-story__intro-title,
	.sm-product-story__intro-copy,
	.sm-product-story__closing-title,
	.sm-product-story__closing-copy {
		padding: 32px 28px 36px;
	}

	.sm-product-story__header h2 {
		font-size: var(--sm-text-section);
	}

	.sm-product-story__intro-copy p {
		font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

	.sm-product-story__intro-copy .is-style-sm-lead {
		font-size: var(--sm-text-lead);
	line-height: var(--sm-leading-lead);
	font-weight: 400;
}

	.sm-product-story__step.wp-block-columns {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.sm-product-story__step.is-reversed .sm-product-story__media,
	.sm-product-story__step.is-reversed .sm-product-story__copy {
		grid-column: 1;
		grid-row: auto;
	}

	.sm-product-story__media {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.sm-product-story__copy {
		padding: 32px 28px 36px;
	}

	.sm-product-story__closing-title h3 {
		font-size: var(--sm-text-card);
	}

	.sm-product-story__closing-copy p {
		font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}
}

.wp-element-button,
.wp-block-button__link,
[class*="ct-button"] {
	border-radius: 0;
}

/* Relaunch header utilities. */
.sm-fa-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	fill: currentColor;
	vertical-align: -0.125em;
}

.sm-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	color: inherit;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.sm-header-phone .sm-fa-icon {
	width: 13px;
	height: 13px;
}

.ct-header-account .sm-fa-icon,
.ct-header-cart .sm-fa-icon {
	width: 18px;
	height: 18px;
	color: var(--theme-icon-color, currentColor);
}

.ct-header-trigger .ct-icon,
.ct-toggle-close .ct-icon {
	display: none;
}

.ct-header-trigger::before,
.ct-toggle-close::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: var(--theme-icon-color, currentColor);
}

.ct-header-trigger::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M0%2096C0%2078.3%2014.3%2064%2032%2064l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20128C14.3%20128%200%20113.7%200%2096zM0%20256c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20288c-17.7%200-32-14.3-32-32zM448%20416c0%2017.7-14.3%2032-32%2032L32%20448c-17.7%200-32-14.3-32-32s14.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20d='M0%2096C0%2078.3%2014.3%2064%2032%2064l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20128C14.3%20128%200%20113.7%200%2096zM0%20256c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20288c-17.7%200-32-14.3-32-32zM448%20416c0%2017.7-14.3%2032-32%2032L32%20448c-17.7%200-32-14.3-32-32s14.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ct-toggle-close::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20384%20512'%3E%3Cpath%20d='M55.1%2073.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L147.2%20256%209.9%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192.5%20301.3%20329.9%20438.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.8%20256%20375.1%20118.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192.5%20210.7%2055.1%2073.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20384%20512'%3E%3Cpath%20d='M55.1%2073.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L147.2%20256%209.9%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192.5%20301.3%20329.9%20438.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.8%20256%20375.1%20118.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192.5%20210.7%2055.1%2073.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Match Blocksy's header to the prototype without changing its data model. */
#header [data-row] {
	transition: background-color 0.28s, box-shadow 0.28s, backdrop-filter 0.28s;
}

#header [data-transparent] [data-sticky]:not([data-sticky*="yes"]) [data-row="middle"] {
	background: linear-gradient(rgba(7, 31, 52, 0.48), transparent);
}

#header [data-row="middle"] > div {
	width: 100%;
	max-width: none;
	padding-inline: clamp(24px, 3vw, 58px);
}

#header [data-device="desktop"] [data-row="middle"] > div {
	grid-template-columns: auto minmax(0, 1fr) auto;
}

/* Keep Blocksy's device/sticky logic; use its native offcanvas on compact desktop. */
#header [data-device="desktop"] [data-id="trigger"] {
	display: none;
}

#header {
	--sm-header-logo-width: 230px;
}

#header [data-id="logo"] .site-logo-container {
	display: block;
	width: var(--sm-header-logo-width);
	height: calc(var(--sm-header-logo-width) * 0.3);
	overflow: visible;
}

#header [data-id="logo"] img {
	width: var(--sm-header-logo-width);
	height: auto;
	max-width: 100%;
	transform: none;
}

#header [data-id="menu"] {
	--menu-items-spacing: clamp(20px, 2vw, 38px);
	justify-self: start;
	margin-left: clamp(30px, 2.6vw, 37px);
	transform: translateX(-9px);
}

#header .menu > li > a,
#header .sm-header-phone,
#offcanvas .ct-menu-link {
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.075em;
	line-height: 1;
	text-transform: uppercase;
}

/* Shared navigation colours also bypass editorial .entry-content rules in
 * the phone widget. Blocksy still controls transparent and sticky states. */
#header {
	--sm-nav-color: var(--sm-color-navy);
	--sm-nav-hover-color: var(--sm-color-ink);
}

#header [data-transparent] [data-sticky]:not([data-sticky*="yes"]) [data-transparent-row="yes"] {
	--sm-nav-color: var(--sm-color-white);
	--sm-nav-hover-color: var(--sm-color-gold);
}

#header .menu > li > a,
#header .sm-header-phone {
	color: var(--sm-nav-color);
}

#header .menu > li > a:is(:hover, :focus-visible, [aria-current="page"]),
#header .menu > li:is(.current-menu-item, .current-menu-ancestor) > a,
#header .sm-header-phone:is(:hover, :focus-visible) {
	color: var(--sm-nav-hover-color);
}

#header .sm-header-phone {
	height: 38px;
	padding-inline: 9px;
	text-decoration: none;
}

#header .sm-header-phone:hover,
#header .sm-header-phone:focus-visible {
	text-decoration: none;
}

/* One continuous marker, close to the label, without moving the link box. */
#header .menu > li > a,
#offcanvas .ct-menu-link {
	text-decoration-line: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 2px;
	text-decoration-skip-ink: none;
	text-underline-offset: .35em;
}

#offcanvas .ct-menu-link {
	min-height: 44px;
}

#header .menu > li > a:is(:hover, :focus-visible, [aria-current="page"]),
#header .menu > li:is(.current-menu-item, .current-menu-ancestor) > a,
#offcanvas .ct-menu-link:is(:hover, :focus-visible, [aria-current="page"]),
#offcanvas li:is(.current-menu-item, .current-menu-ancestor) > .ct-menu-link {
	text-decoration-color: currentColor;
}

#header :is(.menu > li > a, .sm-header-phone):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

#header .ct-header-cta .ct-button {
	min-height: 44px;
	padding-inline: 18px;
	column-gap: 9px;
	border-radius: 0;
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	--theme-icon-size: 16px;
	--theme-icon-color: var(--sm-color-white);
}

#header [data-device="desktop"] .ct-header-cta {
	margin-left: 6px;
	padding-left: 16px;
	border-left: 1px solid rgba(255, 255, 255, 0.4);
}

#header [data-transparent] [data-sticky]:not([data-sticky*="yes"]) [data-transparent-row="yes"] .ct-header-cta .ct-button {
	border: 1px solid rgba(255, 255, 255, 0.75);
}

#header [data-transparent] [data-sticky]:not([data-sticky*="yes"]) [data-transparent-row="yes"] .ct-header-cta .ct-button:hover {
	border-color: var(--sm-color-white);
	opacity: 1 !important;
	filter: none !important;
	text-shadow: none !important;
	--theme-icon-color: var(--sm-color-muted);
}

#header [data-device="desktop"] [data-sticky*="yes"] .ct-header-cta {
	border-left-color: var(--sm-color-line);
}

#header .ct-header-cta .ct-button:hover {
	--theme-icon-color: var(--sm-color-white);
}

/* Prototype-aligned homepage. */
.home .site-main,
.home .content-area,
.home .entry-content {
	margin: 0;
	padding: 0;
}

.home .site-main > .ct-container,
.home .site-main .ct-container-full {
	max-width: none;
	width: 100%;
	padding: 0;
}

.sm-home,
.sm-home * {
	box-sizing: border-box;
}

.sm-home {
	margin: 0;
	overflow: hidden;
	background: var(--sm-color-white);
	color: var(--sm-color-body);
	font-family: var(--sm-font-body, "Source Sans 3", sans-serif);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home a {
	color: inherit;
	text-decoration: none;
}

.sm-home h1,
.sm-home h2,
.sm-home h3 {
	color: var(--sm-heading-color, var(--sm-color-navy));
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-weight: 700;
	letter-spacing: 0.005em;
}

.sm-home .eyebrow {
	margin: 0 0 22px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.5;
	text-transform: uppercase;
}

.sm-home .eyebrow.blue {
	color: var(--sm-color-blue);
}

.sm-home .button {
	display: inline-flex;
	min-height: 54px;
	padding: 0 26px;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border: 0;
	background: var(--sm-color-blue);
	color: var(--sm-color-white);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	transition: background 0.2s, transform 0.2s;
}

.sm-home .button:hover {
	background: var(--sm-color-blue-dark);
	color: var(--sm-color-white);
	transform: translateY(-1px);
}

.sm-home .hero {
	display: flex;
	height: 100vh;
	min-height: 680px;
	margin: 0;
	align-items: center;
	position: relative;
	overflow: hidden;
	background: var(--sm-color-mist);
	color: var(--sm-color-white);
}

.sm-home .section-photo,
.sm-home .card-photo,
.sm-product-card .product-visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sm-home .hero-photo {
	object-position: center 50%;
}

.sm-home .hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(7, 31, 52, 0.88) 0%, rgba(7, 31, 52, 0.51) 43%, rgba(7, 31, 52, 0.03) 76%);
}

.sm-home .hero-content {
	z-index: 1;
	position: relative;
	width: min(1180px, 86vw);
	margin: auto;
	padding-bottom: 6vh;
}

.sm-home .hero h1 {
	max-width: 820px;
	margin: 0;
	font-size: var(--sm-text-title);
	line-height: 0.98;
}

.sm-home .hero-copy {
	max-width: 590px;
	margin: 34px 0;
	color: var(--sm-color-white);
	font-size: var(--sm-text-lead);
	line-height: var(--sm-leading-lead);
}

.sm-home .hero-buttons {
	display: flex;
	gap: 12px;
}

.sm-home .button.ghost {
	border: 1px solid rgba(255, 255, 255, 0.65);
	background: transparent;
}

.sm-home .button.ghost:hover,
.sm-home .button.light {
	background: var(--sm-color-white);
	color: var(--sm-color-navy);
}

.sm-home .hero-note {
	display: flex;
	margin: 18px 0 0;
	align-items: center;
	gap: 9px;
	color: rgba(255, 255, 255, 0.84);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.sm-home .hero-note span {
	color: var(--sm-color-gold);
}

.sm-home .gift-mark {
	display: inline-flex;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}

.sm-home .gift-mark .sm-fa-icon {
	width: 100%;
	height: 100%;
}

.sm-home .hero-proof {
	z-index: 1;
	display: flex;
	position: absolute;
	right: 5vw;
	bottom: 8vh;
	padding-left: 22px;
	align-items: center;
	gap: 18px;
	border-left: 1px solid rgba(255, 255, 255, 0.4);
}

.sm-home .hero-proof p {
	margin: 0;
	color: rgba(255, 255, 255, 0.84);
	font-size: 15px;
	line-height: 1.5;
}

.sm-home .hero-proof strong {
	color: var(--sm-color-white);
}

.sm-home .rating span {
	color: var(--sm-color-gold);
	font-size: 13px;
}

.sm-home .sm-fa-stars {
	display: inline-flex;
	gap: 3px;
}

.sm-home .rating b {
	display: block;
	margin-top: 5px;
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 30px;
	line-height: 0.92;
}

.sm-home .scroll {
	z-index: 1;
	position: absolute;
	bottom: 24px;
	left: 50%;
	color: var(--sm-color-white);
	font-size: 20px;
}

.sm-home .scroll .sm-fa-icon {
	display: block;
}

.sm-home .choice-strip {
	z-index: 2;
	display: grid;
	position: relative;
	width: min(var(--sm-content-width), calc(100% - (2 * var(--sm-page-gutter))));
	margin: -18px auto 0;
	grid-template-columns: 1.05fr 1fr 1fr;
	background: var(--sm-color-white);
	box-shadow: var(--sm-shadow-raised);
}

.sm-home .choice-intro,
.sm-home .choice {
	padding: 38px 40px;
}

.sm-home .choice-intro .eyebrow {
	margin-bottom: 10px;
}

.sm-home .choice-intro h2 {
	margin: 0;
	font-size: 30px;
	line-height: 1.12;
}

.sm-home .choice {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 18px;
	border-left: 1px solid var(--sm-color-line);
	transition: background 0.2s, color 0.2s;
}

.sm-home .choice:hover {
	background: var(--sm-color-mist);
	color: var(--sm-color-link-hover);
}

.sm-home .choice-icon {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	color: var(--sm-color-blue);
	font-size: 25px;
}

.sm-home .choice-icon--gift {
	font-size: 24px;
}

.sm-home .choice > :last-child .sm-fa-icon,
.sm-home .button .sm-fa-icon,
.sm-home .text-link .sm-fa-icon,
.sm-product-card .product-link .sm-fa-icon,
.sm-home .location-action .sm-fa-icon {
	width: 12px;
	height: 12px;
}

.sm-home .choice b,
.sm-home .choice small {
	display: block;
}

.sm-home .choice b {
	margin-bottom: 7px;
	font-size: 18px;
	line-height: 1.2;
}

.sm-home .choice small {
	color: var(--sm-color-muted);
	font-size: 15px;
	line-height: 1.35;
}

.sm-home .section {
	width: min(var(--sm-content-width), calc(100% - (2 * var(--sm-page-gutter))));
	margin: 0 auto;
	padding: 120px 0;
}

.sm-home .section-head {
	display: flex;
	margin-bottom: 48px;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.sm-home .section-head h2,
.sm-home .trust h2,
.sm-home .experience h2 {
	margin: 0;
	font-size: var(--sm-text-section);
	line-height: 1.04;
}

.sm-home .section-head > p {
	max-width: 430px;
	margin: 0;
	color: var(--sm-color-muted);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .section-head .eyebrow {
	margin-bottom: 18px;
}

.sm-home .location-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.sm-home .location-card {
	display: flex;
	min-height: 340px;
	padding: 28px;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
	overflow: hidden;
	border: 1px solid var(--sm-card-border);
	background: var(--sm-color-mist);
	box-shadow: var(--sm-shadow-card);
	color: var(--sm-color-white);
	transition: box-shadow 0.3s, border-color 0.3s;
}

.sm-home .location-card::before {
	content: "";
	z-index: 1;
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(7, 31, 52, 0.05) 28%, rgba(7, 31, 52, 0.9));
}

.sm-home .location-card > * {
	z-index: 1;
	position: relative;
}

.sm-home .location-card > .card-photo {
	z-index: 0;
	position: absolute;
	transition: transform 0.45s;
}

.sm-home .location-card:hover .card-photo {
	transform: scale(1.045);
}

.sm-home .location-card:hover,
.sm-home .location-card:focus-within {
	border-color: var(--sm-card-border-active);
	box-shadow: var(--sm-shadow-card-active);
}

.sm-home .location-card .number {
	position: absolute;
	top: 22px;
	left: 26px;
	font-size: 14px;
	letter-spacing: 0.18em;
}

.sm-home .location-copy {
	margin-bottom: 20px;
}

.sm-home .location-copy b,
.sm-home .location-copy small {
	display: block;
}

.sm-home .location-copy b {
	margin-bottom: 10px;
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 29px;
	line-height: 1.08;
}

.sm-home .location-copy small {
	color: var(--sm-color-white);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .location-card > :last-child {
	position: absolute;
	right: 28px;
	bottom: 30px;
}

.sm-home .location-marker {
	z-index: 2;
	position: absolute;
	top: 28px;
	right: 28px;
	color: var(--sm-color-white);
	font-size: 16px;
	filter: drop-shadow(0 1px 5px rgba(7, 31, 52, 0.45));
}

.sm-home .products {
	padding-top: 80px;
}

.sm-home .products,
.sm-home .trust {
	background: var(--sm-color-mist);
	box-shadow: 0 0 0 100vmax var(--sm-color-mist);
	clip-path: inset(0 -100vmax);
}

.sm-home .product-heading {
	margin-bottom: 28px;
}

.sm-product-finder__form {
	display: grid;
	margin-bottom: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	align-items: end;
	gap: 12px;
}

.sm-product-finder__form label {
	display: flex;
	min-width: 0;
	margin: 0;
	flex-direction: column;
	gap: 8px;
}

.sm-product-finder__form label > span {
	color: var(--sm-color-blue);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sm-product-finder__form select,
.sm-product-finder__reset {
	width: 100%;
	height: 54px;
	border: 1px solid var(--sm-color-line);
	border-radius: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
}

.sm-product-finder__form select {
	padding: 0 42px 0 16px;
	appearance: none;
	background-color: var(--sm-color-white);
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3E%3Cpath%20fill='%23132330'%20d='M201.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200l192-192c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L224%20338.7%2054.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l192%20192z'/%3E%3C/svg%3E");
	background-position: calc(100% - 16px) center;
	background-repeat: no-repeat;
	background-size: 10px 12px;
	color: var(--sm-color-ink);
}

.sm-product-finder__form select:focus {
	border-color: var(--sm-color-blue);
	box-shadow: 0 0 0 2px rgba(0, 87, 181, 0.12);
}

.sm-product-finder__reset {
	width: auto;
	padding: 0 20px;
	border-color: var(--sm-color-blue);
	background: transparent;
	color: var(--sm-color-blue);
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.sm-product-finder__summary {
	min-height: 24px;
	margin: 0 0 28px;
	color: var(--sm-color-muted);
	font-size: 15px;
}

.sm-product-finder.is-loading .sm-product-finder__results {
	opacity: 0.42;
	pointer-events: none;
}

.sm-product-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.sm-product-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--sm-product-border);
	background: var(--sm-color-white);
	box-shadow: var(--sm-product-shadow);
	transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}

.sm-product-card:hover {
	transform: translateY(-5px);
}

.sm-product-card:hover,
.sm-product-card:focus-within {
	border-color: var(--sm-product-border-active);
	box-shadow: var(--sm-product-shadow-active);
}

.sm-product-card .product-visual {
	display: grid;
	height: 270px;
	position: relative;
	overflow: hidden;
	place-items: center;
	background: var(--sm-color-mist);
}

.sm-product-card .product-visual img {
	transition: transform 0.4s;
}

.sm-product-card:hover .product-visual img {
	transform: scale(1.025);
}

.sm-product-card .duration,
.sm-product-card .best {
	z-index: 2;
	position: absolute;
	font-weight: 700;
}

.sm-product-card .duration {
	top: 20px;
	left: 22px;
	color: var(--sm-color-white);
	font-size: 16px;
	text-shadow: 0 1px 8px rgba(7, 31, 52, 0.7);
}

.sm-product-card .best {
	top: 16px;
	right: 16px;
	padding: 8px 12px;
	background: var(--sm-color-gold);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sm-product-card .product-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px;
}

.sm-product-card .product-body > p {
	margin: 0 0 8px;
	color: var(--sm-color-blue);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sm-product-card .product-body h3 {
	min-height: 64px;
	margin: 0 0 24px;
	font-size: var(--sm-text-card);
	line-height: 1.16;
}

.sm-product-card .product-body h3 a {
	color: var(--sm-color-navy);
}

.sm-product-card .product-meta {
	display: flex;
	margin-top: auto;
	margin-bottom: 22px;
	padding-top: 18px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-top: 1px solid var(--sm-color-line);
}

.sm-product-card .product-meta span {
	color: var(--sm-color-muted);
	font-size: 15px;
}

.sm-product-card .product-meta span .sm-fa-icon {
	width: 12px;
	height: 12px;
	color: var(--sm-color-gold);
}

.sm-product-card .product-meta b {
	font-size: 22px;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.sm-product-card .product-meta .price,
.sm-product-card .product-meta .price .woocommerce-Price-amount {
	color: var(--sm-color-ink);
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
}

.sm-product-card .product-meta .price {
	display: inline-grid;
	grid-template-columns: auto auto;
	align-items: baseline;
	justify-content: end;
	column-gap: 0.2em;
	text-align: right;
}

.sm-product-card .product-meta .price .woocommerce-price-suffix {
	grid-column: 1 / -1;
	margin-top: 2px;
	color: var(--sm-color-muted);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.25;
	white-space: nowrap;
}

.sm-product-card .product-meta .price del {
	display: none;
}

/* Shared action for revealing additional items, independent of button wording. */
.sm-load-more-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 26px;
	text-align: center;
}

.sm-load-more-wrap[hidden] {
	display: none;
}

.sm-load-more {
	display: inline-flex;
	min-width: 250px;
	min-height: 52px;
	padding: 12px 26px;
	align-items: center;
	justify-content: center;
	gap: 11px;
	border: 1px solid var(--sm-color-blue);
	border-radius: 0;
	background: transparent;
	color: var(--sm-color-blue);
	font-family: var(--sm-font-body, "Source Sans 3", sans-serif);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.sm-load-more:hover,
.sm-load-more:focus-visible,
.sm-load-more:active,
.sm-product-finder__reset:hover,
.sm-product-finder__reset:focus-visible {
	border-color: var(--sm-color-blue-dark);
	background: var(--sm-color-blue);
	color: var(--sm-color-white);
	transform: none;
}

.sm-load-more:focus-visible,
.sm-product-finder__reset:focus-visible {
	outline: 3px solid rgba(0, 87, 181, 0.22);
	outline-offset: 3px;
}

.sm-load-more:disabled {
	cursor: progress;
	opacity: 0.55;
}

.sm-load-more[hidden] {
	display: none;
}

.sm-product-finder__empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 42px 24px;
	background: var(--sm-color-mist);
	color: var(--sm-color-muted);
	text-align: center;
}

.sm-product-card .product-link,
.sm-home .text-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	color: var(--sm-color-link);
	font-size: 16px;
	font-weight: 700;
}

.sm-home .text-link:hover {
	color: var(--sm-color-link-hover);
}

.sm-product-card .sm-product-card__actions {
	display: flex;
	min-height: 44px;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	gap: 14px;
}

/* Keep purchase labels visible; card width determines the row arrangement. */
.sm-product-card .product-body {
	container: sm-product-actions / inline-size;
}

.sm-product-card .sm-product-card__cart-label {
	display: inline;
}

.sm-product-card .sm-product-card__actions .product-link {
	display: inline-flex;
	min-width: 0;
	min-height: 44px;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
}

.sm-product-card .sm-product-card__actions .product-link > span:last-child,
.sm-product-card .sm-product-card__cart-icon,
.sm-product-card .sm-product-card__cart-success,
.sm-product-card .sm-product-card__options > span:last-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.sm-product-card .sm-product-card__actions .sm-fa-icon {
	width: 15px;
	height: 15px;
}

.sm-product-card .sm-product-card__cart,
.sm-product-card .sm-product-card__options {
	display: inline-flex;
	height: 44px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sm-color-blue);
	background: var(--sm-color-blue);
	color: var(--sm-color-white);
	transition: background-color 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.sm-product-card .sm-product-card__cart {
	gap: 10px;
	padding-inline: 18px;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}

.sm-product-card .sm-product-card__actions :is(.sm-product-card__cart, .sm-product-card__options) {
	width: 100%;
	height: 48px;
	font-size: 16px;
}

.sm-product-card .sm-product-card__actions .sm-product-card__options-detail {
	display: inline;
}

@container sm-product-actions (min-width: 400px) {
	.sm-product-card .sm-product-card__actions {
		flex-direction: row;
		align-items: center;
	}
	.sm-product-card .sm-product-card__actions :is(.sm-product-card__cart, .sm-product-card__options) {
		width: auto;
		height: 44px;
	}
}

.sm-product-card .sm-product-card__options {
	gap: 8px;
	padding-inline: 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sm-product-card .sm-product-card__cart:hover,
.sm-product-card .sm-product-card__cart:focus-visible,
.sm-product-card .sm-product-card__options:hover,
.sm-product-card .sm-product-card__options:focus-visible {
	border-color: var(--sm-color-blue-dark);
	background: var(--sm-color-blue-dark);
	color: var(--sm-color-white);
	transform: translateY(-1px);
}

.sm-product-card .sm-product-card__cart.loading {
	pointer-events: none;
}

.sm-product-card .sm-product-card__cart.loading .sm-product-card__cart-icon {
	opacity: 0.35;
}

.sm-product-card .sm-product-card__cart-success,
.sm-product-card .sm-product-card__cart.added .sm-product-card__cart-icon,
.sm-product-card .sm-product-card__actions > .added_to_cart.wc-forward {
	display: none;
}

.sm-product-card .sm-product-card__cart.added .sm-product-card__cart-success {
	display: inline-flex;
}

.single-product .sm-related-products {
	margin-top: clamp(64px, 7vw, 96px);
	margin-bottom: clamp(64px, 7vw, 96px);
}

.single-product .sm-related-products > h2 {
	width: min(var(--theme-normal-container-max-width, 1180px), calc(100% - (2 * var(--sm-page-gutter))));
	margin-bottom: 28px;
	margin-inline: auto;
}

.single-product .sm-related-products__grid {
	width: min(var(--theme-normal-container-max-width, 1180px), calc(100% - (2 * var(--sm-page-gutter))));
	margin-inline: auto;
}

.sm-home .pilot {
	display: grid;
	min-height: 620px;
	grid-template-columns: 1.15fr 0.85fr;
	background: var(--sm-color-navy);
	color: var(--sm-color-white);
}

.sm-home .pilot-photo {
	display: flex;
	padding: 60px;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
	background: var(--sm-color-mist);
}

.sm-home .pilot-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(transparent 40%, rgba(7, 31, 52, 0.68));
}

.sm-home .pilot-photo span {
	z-index: 2;
	position: relative;
	font-size: 15px;
	letter-spacing: 0.18em;
	line-height: 1.6;
	text-transform: uppercase;
}

.sm-home .pilot-copy {
	display: flex;
	padding: 100px 8vw;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.sm-home .pilot-copy h2,
.sm-home .school h2 {
	margin: 0 0 28px;
	font-size: var(--sm-text-section);
	line-height: 1.01;
}

.sm-home .pilot-copy > p:not(.eyebrow),
.sm-home .school > p:not(.eyebrow) {
	max-width: 480px;
	margin: 0 0 36px;
	color: var(--sm-color-white);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .experience {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	align-items: center;
	gap: 90px;
}

.sm-home .experience-copy > p:not(.eyebrow) {
	margin: 28px 0;
	color: var(--sm-color-muted);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .experience-photo {
	height: 470px;
	overflow: hidden;
}

.sm-home .experience-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sm-home .trust {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 80px;
}

.sm-home .trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sm-home .trust-grid > div {
	padding: 0 30px 38px;
	border-left: 1px solid var(--sm-color-line);
}

.sm-home .trust-grid b {
	color: var(--sm-color-navy);
	font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
	font-size: 46px;
	line-height: 0.95;
}

.sm-home .trust-grid h3 {
	margin: 13px 0 10px;
	font-size: var(--sm-text-card);
	line-height: 1.2;
}

.sm-home .trust-grid p {
	margin: 0;
	color: var(--sm-color-muted);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .school {
	display: flex;
	min-height: 590px;
	padding: 100px max(7vw, calc(50vw - 590px));
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	overflow: hidden;
	background: var(--sm-color-navy);
	color: var(--sm-color-white);
}

.sm-home .school .section-photo {
	object-position: center 54%;
}

.sm-home .school-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(7, 31, 52, 0.93) 0%, rgba(7, 31, 52, 0.68) 47%, rgba(7, 31, 52, 0.08) 80%);
}

.sm-home .school > :not(.section-photo):not(.school-shade) {
	z-index: 1;
	position: relative;
}

.sm-home .gallery {
	display: grid;
	height: 260px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	background: var(--sm-color-navy);
}

/* Full-bleed closing sections must meet without Gutenberg block gaps. */
.sm-home > .school,
.sm-home > .gallery,
.sm-home > .sm-site-footer {
	margin-block: 0 !important;
}

.sm-home .gallery img {
	display: block;
	width: 100%;
	min-width: 0;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.sm-home .sm-site-footer {
	clear: both;
	padding: 78px max(4vw, calc(50vw - 590px)) 28px;
	position: relative;
	background: var(--sm-color-navy);
	color: var(--sm-color-white);
}

.sm-home .footer-main {
	display: grid;
	grid-template-columns: 1.8fr 1fr 1.15fr 0.85fr;
	gap: 58px;
}

.sm-home .footer-brand {
	padding-top: 0;
}

.sm-home .footer-brand > img {
	display: block;
	width: 240px;
	height: 26px;
	margin: 4px 0 24px;
	object-fit: cover;
	object-position: center;
}

.sm-home .footer-brand > p {
	max-width: 390px;
	margin: 0 0 25px;
	color: var(--sm-color-white);
	font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

.sm-home .footer-contact,
.sm-home .footer-column {
	display: flex;
	flex-direction: column;
}

.sm-home .footer-contact {
	gap: 9px;
}

.sm-home .footer-contact a {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 16px;
}

.sm-home .footer-contact .sm-fa-icon {
	width: 14px;
	height: 14px;
	color: rgba(255, 255, 255, 0.72);
}

.sm-home .footer-column {
	gap: 10px;
}

.sm-home .footer-column h3 {
	margin: 4px 0 14px;
	color: var(--sm-color-white);
	font-size: 22px;
	line-height: 1.2;
}

.sm-home .footer-column a {
	color: rgba(255, 255, 255, 0.72);
	font-size: 16px;
	line-height: 1.45;
}

.sm-home .footer-contact a:hover,
.sm-home .footer-column a:hover {
	color: var(--sm-color-white);
}

.sm-home .footer-confidence {
	display: grid;
	margin-top: 58px;
	padding: 24px 0;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
}

.sm-home .footer-confidence span {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	border-right: 1px solid rgba(255, 255, 255, 0.13);
	font-size: 15px;
}

.sm-home .footer-confidence .sm-fa-icon {
	width: 15px;
	height: 15px;
	color: rgba(255, 255, 255, 0.72);
}

.sm-home .footer-confidence b {
	font-weight: 700;
}

.sm-home .footer-confidence span:last-child {
	border-right: 0;
}

.sm-home .footer-bottom {
	display: grid;
	padding-top: 25px;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 28px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
}

.sm-home .footer-bottom nav {
	display: flex;
	gap: 22px;
}

.sm-home .footer-bottom a {
	color: rgba(255, 255, 255, 0.66);
}

@media (max-width: 1420px) {
	#header [data-device="desktop"] [data-row="middle"] > div {
		padding-inline: clamp(28px, 3vw, 44px);
	}

	#header {
		--sm-header-logo-width: clamp(196px, calc(21.25vw - 76px), 230px);
	}

	#header [data-id="menu"] {
		--menu-items-spacing: clamp(20px, 2vw, 28px);
	}

	#header .ct-header-cta .ct-button {
		padding-inline: 18px;
		font-size: 16px;
	}
}

@media (max-width: 1300px) {
	#header [data-device="desktop"] [data-row="middle"] > div {
		padding-inline: 28px;
	}
}

@media (max-width: 1099.98px) {
	#header [data-device="mobile"] [data-row="middle"] > div {
		padding-inline: 20px;
	}

	.sm-product-finder__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sm-product-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sm-product-card .product-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.sm-product-card .product-meta .price {
		align-self: flex-end;
	}

	.sm-product-finder__reset {
		width: 100%;
	}

	#header [data-device="mobile"] .ct-header-cta .ct-button {
		padding-inline: 14px;
	}

	#header [data-device="mobile"] .ct-header-cta .ct-button .ct-icon {
		display: block;
	}

	.sm-header-phone__label {
		display: none;
	}

	.sm-home .footer-main {
		grid-template-columns: 1.5fr 1fr 1fr;
	}

	.sm-home .footer-column:last-child {
		display: none;
	}
}

@media (max-width: 760px) {
	.sm-home {
		font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

	#header [data-device="mobile"] [data-row="middle"] .ct-header-cta .ct-button {
		width: 40px;
		min-width: 40px;
		height: 40px;
		min-height: 40px;
		padding: 0;
		column-gap: 0;
		justify-content: center;
		font-size: 0;
	}

	#header [data-device="mobile"] [data-row="middle"] .ct-header-cta .ct-button .ct-icon {
		margin: 0;
	}

	.sm-product-card .sm-product-card__actions {
		gap: 10px;
	}

	.sm-product-card .sm-product-card__actions .product-link {
		white-space: nowrap;
	}

	.sm-product-card .sm-product-card__options {
		gap: 6px;
		padding-inline: 10px;
	}

	.sm-product-card .sm-product-card__options-detail {
		display: none;
	}

	.sm-home .hero {
		height: 100svh;
		min-height: 650px;
	}

	.sm-home .hero-photo {
		object-position: 61% center;
	}

	.sm-home .hero-shade {
		background: linear-gradient(90deg, rgba(7, 31, 52, 0.86), rgba(7, 31, 52, 0.33));
	}

	.sm-home .hero-content {
		width: auto;
		margin: 0;
		padding: 44px 24px 36px;
	}

	.sm-home .hero h1 {
		font-size: var(--sm-text-title);
	}

	.sm-home .hero-copy {
		margin: 26px 0;
		font-size: var(--sm-text-lead);
	line-height: var(--sm-leading-lead);
}

	.sm-home .hero-buttons {
		max-width: 320px;
		flex-direction: column;
		align-items: stretch;
	}

	.sm-home .hero-note {
		margin-top: 15px;
		font-size: 13px;
	}

	.sm-home .hero-proof {
		display: none;
	}

	.sm-home .choice-strip {
		width: 100%;
		margin: 0;
		grid-template-columns: 1fr;
		box-shadow: none;
	}

	.sm-home .choice-intro,
	.sm-home .choice {
		padding: 28px 24px;
	}

	.sm-home .choice {
		border-top: 1px solid var(--sm-color-line);
		border-left: 0;
	}

	.sm-home .section {
		width: auto;
		padding: 80px 22px;
	}

	.sm-home .section-head {
		display: block;
		margin-bottom: 30px;
	}

	.sm-home .section-head h2,
	.sm-home .trust h2,
	.sm-home .experience h2 {
		font-size: var(--sm-text-section);
	}

	.sm-home .section-head > p {
		margin-top: 22px;
		font-size: var(--sm-text-body);
	line-height: var(--sm-leading-body);
}

	.sm-home .location-grid,
	.sm-product-card-grid {
		grid-template-columns: 1fr;
	}

	.sm-home .location-grid {
		gap: 22px;
	}

	.sm-home .location-card {
		min-height: 285px;
	}

	.sm-product-card-grid {
		gap: 28px;
	}

	.sm-product-finder__form {
		grid-template-columns: 1fr;
	}

	.sm-product-finder__summary {
		margin-bottom: 22px;
	}

	.sm-home .pilot {
		grid-template-columns: 1fr;
	}

	.sm-home .pilot-photo {
		min-height: 360px;
		padding: 28px;
	}

	.sm-home .pilot-copy {
		padding: 70px 24px;
	}

	.sm-home .pilot-copy h2,
	.sm-home .school h2 {
		font-size: var(--sm-text-section);
	}

	.sm-home .experience {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.sm-home .experience-photo {
		height: 320px;
	}

	.sm-home .trust {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.sm-home .trust-grid > div {
		padding: 0 16px 34px;
	}

	.sm-home .school {
		min-height: 560px;
		padding: 80px 24px;
	}

	.sm-home .school .section-photo {
		object-position: 62% center;
	}

	.sm-home .gallery {
		height: 180px;
		grid-template-columns: 1fr 1fr;
	}

	.sm-home .gallery img:last-child {
		display: none;
	}

	.sm-home .sm-site-footer {
		padding: 58px 24px 25px;
	}

	.sm-home .footer-main {
		grid-template-columns: 1fr 1fr;
		gap: 42px 24px;
	}

	.sm-home .footer-brand {
		grid-column: 1 / -1;
		padding-top: 0;
	}

	.sm-home .footer-column:last-child {
		display: flex;
	}

	.sm-home .footer-confidence {
		grid-template-columns: 1fr 1fr;
		margin-top: 45px;
	}

	.sm-home .footer-confidence span {
		justify-content: flex-start;
		padding: 15px 10px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	}

	.sm-home .footer-confidence span:nth-child(2) {
		border-right: 0;
	}

	.sm-home .footer-confidence span:nth-child(3),
	.sm-home .footer-confidence span:nth-child(4) {
		border-bottom: 0;
	}

	.sm-home .footer-bottom {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.sm-home .footer-bottom nav {
		flex-wrap: wrap;
		gap: 10px 18px;
	}
}

/* Only the header changes at 1360px; content and native device breakpoints stay put. */
@media (min-width: 1000px) and (max-width: 1359.98px) {
	#header [data-device="desktop"] [data-id="menu"] {
		display: none;
	}

	#header [data-device="desktop"] [data-id="trigger"] {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	#header {
		--sm-header-logo-width: 196px;
	}
}

@media (max-width: 999.98px) {
	#header {
		--sm-header-logo-width: 175px;
	}
}

@media (max-width: 359.98px) {
	#header {
		--sm-header-logo-width: clamp(130px, calc(100vw - 180px), 175px);
	}
}

@media (max-width: 520px) {
	body.single-product .woocommerce-tabs .shop_attributes,
	body.single-product .woocommerce-tabs .shop_attributes tbody {
		display: block;
	}

	body.single-product .woocommerce-tabs .shop_attributes {
		width: calc(100% - 32px);
		margin-inline: auto;
	}

	body.single-product .woocommerce-tabs .shop_attributes tbody {
		width: 100%;
	}

	body.single-product .woocommerce-tabs .shop_attributes tr {
		display: block;
		padding: 15px 0;
		border-bottom: 1px solid var(--sm-color-line);
		background: transparent;
	}

	body.single-product .woocommerce-tabs .shop_attributes tr:first-child {
		border-top: 1px solid var(--sm-color-line);
	}

	body.single-product .woocommerce-tabs .shop_attributes th,
	body.single-product .woocommerce-tabs .shop_attributes td {
		display: block;
		width: 100%;
		padding: 0;
		border: 0;
		background: transparent;
		text-align: left;
	}

	body.single-product .woocommerce-tabs .shop_attributes th {
		margin-bottom: 6px;
		color: var(--sm-color-navy);
		font-family: var(--sm-font-heading, "Barlow Condensed", sans-serif);
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.045em;
	}

	body.single-product .woocommerce-tabs .shop_attributes td,
	body.single-product .woocommerce-tabs .shop_attributes td p {
		font-size: 16px;
		line-height: 1.5;
	}

	.sm-home .footer-main {
		grid-template-columns: 1fr;
	}

	.sm-home .footer-brand {
		grid-column: auto;
	}
}

@media (max-width: 689.98px) {
	.sm-load-more {
		width: 100%;
		min-width: 0;
	}

	body.single-product .hero-section,
	body.single-product .product-entry-wrapper {
		width: calc(100% - 44px);
	}

	body.single-product #main > .ct-container-full {
		padding-top: 24px;
	}

	body.single-product .ct-product-additional-info {
		padding: 20px 20px 18px;
	}

	body.single-product .ct-product-additional-info ul {
		grid-template-columns: 1fr;
		gap: 11px;
	}

	body.single-product .ct-product-additional-info li {
		font-size: 16px;
	}

	body.single-product .ct-payment-methods {
		justify-content: center;
		gap: 10px;
		padding-inline: 16px;
	}

	body.single-product .ct-payment-methods legend {
		max-width: calc(100% - 20px);
		font-size: 16px;
		line-height: 1.25;
		text-align: center;
	}

	body.single-product .woocommerce-tabs {
		padding-block: 40px;
	}

	body.single-product .woocommerce-tabs .ct-accordion-heading {
		min-height: 54px;
		padding-block: 17px;
		font-size: 15px;
	}

	#header [data-device="mobile"] [data-row="middle"] [data-id="cart"],
	#header [data-device="mobile"] [data-row="middle"] [data-id="cart"] .ct-cart-item,
	#header [data-device="mobile"] [data-row="middle"] [data-id="trigger"] {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	#header [data-device="mobile"] [data-row="middle"] [data-id="cart"] .sm-fa-icon,
	#header [data-device="mobile"] [data-row="middle"] [data-id="trigger"]::before {
		width: 22px;
		height: 22px;
	}

	#offcanvas [data-id="sm-mob"],
	#offcanvas [data-id="sm-mob"] .ct-button {
		width: 100%;
	}

	#offcanvas [data-id="sm-mob"] .ct-button {
		min-height: 48px;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sm-home *,
	#header * {
		transition: none !important;
	}
}
