/* Foundation tokens, reset, global canvas, shared controls, and reduced-motion defaults. */

/* Tax information follows its amount, independent of surrounding price typography. */
small.cannectra-price-tax {
	display:inline!important;
	margin:0!important;
	color:inherit!important;
	font-size:var(--cannectra-price-note-size, max(.875rem, .875em))!important;
	font-weight:500;
	line-height:1.4;
	letter-spacing:normal;
}

:root {
	--cannectra-brand: #578b9b;
	--cannectra-brand-dark: #365f6b;
	--cannectra-brand-accessible: #477887;
	--cannectra-brand-soft: #eaf4f6;
	--cannectra-ink: #1e2a2f;
	--cannectra-muted: #5c7078;
	--cannectra-line: #d1e1e5;
	--cannectra-surface: #ffffff;
	--cannectra-canvas: #f4fafb;
	--cannectra-accent: #ff8a2a;
	--cannectra-content: 1540px;
	--cannectra-service-height: 34px;
	--cannectra-header-height: 86px;
	--cannectra-category-height: 50px;
}
html {
	min-height:100%;
	max-width:100%;
	overflow-x:clip;
	overscroll-behavior-x:none;
	scroll-behavior:smooth;
	scroll-padding-top: calc(var(--cannectra-service-height) + var(--cannectra-header-height) + var(--cannectra-category-height) + 1rem);
}
body {
	display:flex;
	margin: 0;
	min-height: 100vh;
	max-width:100%;
	overflow-x:clip;
	overscroll-behavior-x:none;
	flex-direction:column;
	background:
		radial-gradient(circle at 5% 8%, rgba(94, 143, 158, 0.055), transparent 28rem),
		radial-gradient(circle at 95% 42%, rgba(242, 140, 53, 0.025), transparent 26rem),
		var(--cannectra-canvas);
	color: var(--cannectra-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
@media (min-width:761px){
html,
body { overscroll-behavior-y:none; }
}
@supports not (overflow:clip){
html,
body { overflow-x:hidden; }
}
.wp-site-blocks {
	display: flex;
	min-height: 100vh;
	flex:1 0 auto;
	flex-direction: column;
	gap:0;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
a {
	color: inherit;
}
/* The text caret is a global brand invariant, including nested third-party controls. */
input,
textarea,
[contenteditable]:not([contenteditable="false"]) {
	caret-color:var(--cannectra-brand)!important;
}
body > .skip-link.screen-reader-text {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 1000;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	background: var(--cannectra-surface);
	box-shadow: 0 0 0 3px var(--cannectra-accent);
	font-weight: 750;
	transform: translateY(-160%);
}
body > .skip-link.screen-reader-text:focus {
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	overflow: visible;
	white-space: normal;
	transform: translateY(0);
}
#cannectra-main {
	width: min(var(--cannectra-content), calc(100% - 2rem));
	min-height: 45vh;
	margin-inline: auto;
	padding-block: clamp(2rem, 5vw, 5rem);
}
@media (max-width: 1200px){
:root {
		--cannectra-header-height: 74px;
		--cannectra-category-height: 46px;
	}
}
@media (max-width: 640px){
:root {
		--cannectra-service-height: 30px;
		--cannectra-header-height: 108px;
	}
#cannectra-main {
		width: calc(100% - 1rem);
	}
}
@media (prefers-reduced-motion: reduce){
html {
		scroll-behavior: auto;
	}
*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
.cannectra-kicker { display:inline-block; font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.cannectra-button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:48px; padding:.2rem 1.25rem; border-radius:.75rem; background:var(--cannectra-accent); box-shadow:0 10px 24px rgba(255,138,42,.22); color:#fff; font-weight:800; text-decoration:none; }
.cannectra-button:hover { background:#df6e17; }

/* Progressive custom presentation for still-native single-select controls. */
.cannectra-custom-select {
	position:relative;
	display:block;
	width:100%;
	min-width:0;
	font:inherit;
}
.cannectra-custom-select__native {
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	overflow:hidden!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	white-space:nowrap!important;
	border:0!important;
	opacity:0!important;
	pointer-events:none!important;
}
.cannectra-custom-select__trigger {
	display:flex;
	width:100%;
	min-height:44px;
	align-items:center;
	justify-content:space-between;
	gap:.75rem;
	padding:.65rem .75rem .65rem .9rem;
	border:1.5px solid var(--cannectra-line);
	border-radius:.72rem;
	background:#fff;
	box-shadow:none;
	color:var(--cannectra-ink);
	font:inherit;
	font-size:.78rem;
	font-weight:720;
	line-height:1.25;
	text-align:left;
	cursor:pointer;
	transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.cannectra-custom-select__trigger:hover,
.cannectra-custom-select.is-open .cannectra-custom-select__trigger {
	border-color:var(--cannectra-brand);
	background:var(--cannectra-brand-soft);
}
.cannectra-custom-select__trigger:focus-visible {
	outline:3px solid rgba(255,138,42,.32);
	outline-offset:2px;
}
.cannectra-custom-select__trigger:disabled {
	cursor:not-allowed;
	opacity:.62;
}
.cannectra-custom-select__trigger[aria-invalid="true"] { border-color:#b55c58; }
.cannectra-custom-select__value {
	display:flex;
	min-width:0;
	align-items:center;
	gap:.28em;
	white-space:nowrap;
}
.cannectra-custom-select__value > span:first-child {
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cannectra-custom-select__value.is-placeholder { color:#7b8c92; }
.cannectra-custom-select__required {
	flex:0 0 auto;
	color:#b55c58;
}
.cannectra-custom-select__chevron {
	display:grid;
	width:1.25rem;
	height:1.25rem;
	flex:0 0 1.25rem;
	place-items:center;
	color:var(--cannectra-brand-dark);
	transition:transform .18s ease;
}
.cannectra-custom-select__chevron svg {
	width:.9rem;
	height:.9rem;
	fill:none;
	stroke:currentColor;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.cannectra-custom-select.is-open .cannectra-custom-select__chevron { transform:rotate(180deg); }
.cannectra-custom-select__menu {
	position:absolute;
	top:calc(100% + .35rem);
	right:0;
	left:0;
	z-index:500;
	display:grid;
	max-height:min(18rem,55vh);
	gap:.18rem;
	padding:.38rem;
	overflow:auto;
	border:1px solid rgba(54,95,107,.2);
	border-radius:.85rem;
	background:#fff;
	box-shadow:0 18px 48px rgba(30,42,47,.18);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateY(-.3rem);
	transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.cannectra-custom-select.is-open .cannectra-custom-select__menu {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:none;
}
.cannectra-custom-select__option {
	min-height:2.35rem;
	padding:.55rem .7rem;
	border:0;
	border-radius:.58rem;
	background:transparent;
	color:var(--cannectra-muted);
	font:inherit;
	font-size:.75rem;
	font-weight:720;
	line-height:1.35;
	text-align:left;
	cursor:pointer;
}
.cannectra-custom-select__option:hover,
.cannectra-custom-select__option.is-active {
	outline:0;
	background:var(--cannectra-brand-soft);
	color:var(--cannectra-brand-dark);
}
.cannectra-custom-select__option[aria-selected="true"] {
	background:var(--cannectra-brand-dark);
	color:#fff;
}
.cannectra-custom-select__option[aria-disabled="true"] {
	cursor:not-allowed;
	opacity:.52;
}
@media (min-width:761px) and (max-width:1180px){
:root { --cannectra-header-height:112px; }
}
@media (max-width:760px){
:root { --cannectra-header-height:108px; }
}
:root {
	--cannectra-title-height:0px;
	--cannectra-shop-toolbar-height:50px;
	--cannectra-sticky-gap:10px;
}
.wp-site-blocks > main { flex:1 0 auto; }
:root { --cannectra-shop-toolbar-height:44px;--cannectra-shop-controls-height:var(--cannectra-shop-toolbar-height);--cannectra-sticky-gap:8px; }
