:root {
	--cw-shell-max: 1460px;
	--cw-content-max: 1260px;
	--cw-bg: #f2f5f9;
	--cw-surface: #ffffff;
	--cw-surface-soft: #f9f9f9;
	--cw-surface-quiet: #ececec;
	--cw-border: #d5d5db;
	--cw-text: #252531;
	--cw-muted: #7a7a7a;
	--cw-accent: #009999;
	--cw-accent-dark: #006b6b;
	--cw-warm: #f2442c;
	--cw-accent-rgb: 0, 153, 153;
	--cw-text-rgb: 37, 37, 49;
	--cw-shadow: 0 12px 28px rgba(37, 37, 49, 0.08);
	--cw-shadow-soft: 0 8px 18px rgba(37, 37, 49, 0.06);
	--cw-radius-xl: 22px;
	--cw-radius-lg: 16px;
	--cw-radius-md: 12px;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--cw-bg);
	color: var(--cw-text);
	font-family: "Assistant", sans-serif;
}

body.single-cw_resource.cw-resource-has-featured-bg {
	background-color: var(--cw-bg);
	background-image: none;
}

body.single-cw_resource.cw-resource-has-featured-bg::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	background-image: var(--cw-resource-featured-bg);
	background-position: top center;
	background-size: inherit;
	background-repeat: no-repeat;
	background-attachment: fixed;
	opacity: 0.2;
	pointer-events: none;
}

.no-pic img {
	height: 0 !important;
}

body.single-cw_resource.cw-resource-has-featured-bg .wp-site-blocks {
	position: relative;
	z-index: 1;
}

body.admin-bar .site-header {
	top: 32px;
}

a {
	color: var(--cw-text);
	text-decoration-color: rgba(var(--cw-accent-rgb), 0.36);
	text-underline-offset: 0.18em;
}

a:hover,
a:focus {
	color: var(--cw-accent);
	text-decoration-color: rgba(var(--cw-accent-rgb), 0.64);
}

img {
	border-radius: calc(var(--cw-radius-md) - 2px);
}

input,
select,
textarea,
button {
	font-family: "Assistant", sans-serif;
}

.wp-site-blocks {
	min-height: 100vh;
}

.site-header,
.site-footer {
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(14px);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid rgba(var(--cw-text-rgb), 0.06);
}

.site-footer {
	margin-top: 20px;
	border-top: 1px solid rgba(var(--cw-text-rgb), 0.06);
}

.site-header .header-inner,
.site-footer .footer-inner {
	max-width: var(--cw-shell-max);
	margin: 0 auto;
	padding: 16px 18px;
}

.site-title a {
	color: var(--cw-accent-dark);
	font-family: "Mulish", sans-serif;
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-decoration: none;
}

.site-title a:hover,
.site-title a:focus {
	color: var(--cw-accent);
}

.site-description,
.site-tagline {
	margin: 4px 0 0;
	color: var(--cw-muted);
	font-size: 0.84rem;
	line-height: 1.4;
}

.custom-logo-link img,
.wp-block-site-logo img {
	max-height: 64px;
	width: auto;
}

.site-navigation,
.cw-header-actions {
	display: flex;
	align-items: center;
}

.cw-header-actions {
	gap: 8px;
}

.site-navigation ul,
.site-navigation .wp-block-page-list,
.site-navigation .wp-block-navigation__container {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.site-navigation li,
.site-navigation .wp-block-page-list__item,
.site-navigation .wp-block-navigation-item {
	margin: 0;
	list-style: none;
}

.site-navigation .children {
	display: none;
}

.site-navigation a,
.site-navigation .wp-block-navigation-item__content,
.site-navigation .wp-block-navigation-submenu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--cw-text);
	font-family: "Mulish", sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.site-navigation a:hover,
.site-navigation a:focus,
.site-navigation .wp-block-navigation-item__content:hover,
.site-navigation .wp-block-navigation-item__content:focus,
.site-navigation .wp-block-navigation-submenu__toggle:hover,
.site-navigation .wp-block-navigation-submenu__toggle:focus,
.site-navigation .current_page_item > a,
.site-navigation .current-menu-item > a,
.site-navigation .current_page_ancestor > a,
.site-navigation .current-menu-item > .wp-block-navigation-item__content,
.site-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.site-navigation .current-menu-item > .wp-block-navigation-submenu__toggle,
.site-navigation .current-menu-ancestor > .wp-block-navigation-submenu__toggle {
	border-color: rgba(var(--cw-accent-rgb), 0.2);
	background: rgba(var(--cw-accent-rgb), 0.1);
	color: var(--cw-accent-dark);
}

.site-navigation .wp-block-navigation__submenu-icon {
	margin-left: 0.2rem;
}

.site-navigation .wp-block-navigation__submenu-container {
	min-width: 220px;
	padding: 8px;
	border: 1px solid var(--cw-border);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: var(--cw-shadow-soft);
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
}

.site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	justify-content: flex-start;
	padding: 10px 12px;
	border-radius: 10px;
}

.site-navigation .wp-block-navigation__responsive-container-open,
.site-navigation .wp-block-navigation__responsive-container-close {
	border: 1px solid var(--cw-border);
	border-radius: 999px;
	background: #ffffff;
	box-shadow: none;
}

.site-navigation .wp-block-navigation__responsive-container {
	background: rgba(255, 255, 255, 0.98);
}

.cw-shop-menu {
	position: relative;
	z-index: 20;
}

.cw-shop-menu__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--cw-text);
	font-family: "Mulish", sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.cw-header-cart {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 9px 7px 12px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.22);
	border-radius: 999px;
	background: rgba(var(--cw-accent-rgb), 0.06);
	color: var(--cw-accent-dark);
	font-family: "Mulish", sans-serif;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cw-header-cart:hover,
.cw-header-cart:focus {
	border-color: var(--cw-accent);
	background: var(--cw-accent);
	color: #fff;
	transform: translateY(-1px);
}

.cw-header-cart__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: var(--cw-accent);
	color: #fff;
	font-size: 0.74rem;
	line-height: 1;
}

.cw-header-cart:hover .cw-header-cart__count,
.cw-header-cart:focus .cw-header-cart__count {
	background: #fff;
	color: var(--cw-accent-dark);
}

.cw-shop-menu__trigger::after {
	content: "";
	width: 0.52rem;
	height: 0.52rem;
	margin-left: 0.45rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
}

.cw-shop-menu:hover .cw-shop-menu__trigger,
.cw-shop-menu:focus-within .cw-shop-menu__trigger {
	border-color: rgba(var(--cw-accent-rgb), 0.2);
	background: rgba(var(--cw-accent-rgb), 0.1);
	color: var(--cw-accent-dark);
}

.cw-shop-menu__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 280px;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.cw-shop-menu:hover .cw-shop-menu__panel,
.cw-shop-menu:focus-within .cw-shop-menu__panel {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.cw-shop-menu__panel-inner {
	padding: 10px;
	border: 1px solid var(--cw-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: var(--cw-shadow-soft);
}

.cw-shop-menu__all,
.cw-shop-menu__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--cw-text);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.cw-shop-menu__all {
	margin-bottom: 6px;
	color: var(--cw-accent-dark);
	background: rgba(var(--cw-accent-rgb), 0.08);
}

.cw-shop-menu__all:hover,
.cw-shop-menu__all:focus,
.cw-shop-menu__link:hover,
.cw-shop-menu__link:focus {
	background: rgba(var(--cw-accent-rgb), 0.1);
	color: var(--cw-accent-dark);
}

.cw-shop-menu__list {
	display: grid;
	gap: 2px;
}

.cw-shop-menu__link small {
	color: var(--cw-muted);
	font-size: 0.78rem;
	font-weight: 700;
}

.cw-route-app .site-header .header-inner {
	padding-top: 12px;
	padding-bottom: 12px;
}

.cw-route-app .site-description,
.cw-route-app .site-tagline {
	display: none;
}

.cw-route-app .site-navigation ul,
.cw-route-app .site-navigation .wp-block-page-list,
.cw-route-app .site-navigation .wp-block-navigation__container {
	gap: 6px;
}

.cw-route-app .site-navigation .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="/"]),
.cw-route-app .site-navigation .wp-block-page-list__item:has(> a[href="/"]),
.cw-route-app .site-navigation .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href="/ops/"]),
.cw-route-app .site-navigation .wp-block-page-list__item:has(> a[href="/ops/"]) {
	display: none;
}

.cw-route-app .site-main {
	padding-top: 14px;
}

.cw-route-app .site-footer {
	display: none;
}

.site-header--portal {
	position: static;
	border-bottom: 0;
	background: transparent;
	backdrop-filter: none;
}

.header-inner--portal {
	padding-top: 18px;
	padding-bottom: 0;
}

.cw-brand-lockup--portal {
	gap: 10px;
}

.cw-brand-lockup--portal .site-title {
	margin: 0;
}

body.cw-route-portal-entry {
	background: #f7fafc;
}

.cw-route-portal-entry .site-main--portal {
	max-width: 640px;
	min-height: calc(100vh - 88px);
	padding-top: 56px;
	padding-bottom: 72px;
	display: flex;
	align-items: flex-start;
}

.cw-route-portal-entry .site-main--portal > .wp-block-post-content {
	width: 100%;
}

.site-navigation-toggle {
	border: 1px solid var(--cw-border);
	border-radius: 999px;
	background: #ffffff;
	box-shadow: var(--cw-shadow-soft);
}

.site-navigation-dropdown {
	margin-top: 10px;
	padding: 12px;
	border: 1px solid var(--cw-border);
	border-radius: var(--cw-radius-lg);
	background: rgba(255, 255, 255, 0.98);
	box-shadow: var(--cw-shadow);
}

.site-main {
	max-width: var(--cw-shell-max);
	margin: 0 auto;
	padding: 18px 18px 48px;
}

.site-main--front,
.site-main--app {
	position: relative;
}

.site-main--newhome {
	max-width: none;
	padding: 0;
}

.site-main--newhome > .wp-block-post-content {
	display: block;
	width: 100%;
}

.site-main--newhome > .wp-block-post-content > .alignfull,
.site-main--newhome > .wp-block-post-content > .wp-block-cover.alignfull {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

/* New Home: editorial composition for the existing block content. */
.site-main--newhome {
	background: #f5f6f4;
}

.site-main.site-main--newhome > .page-header {
	display: none;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover {
	min-height: min(740px, 76vh) !important;
	background: #193b40;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-cover__background {
	background: linear-gradient(105deg, rgba(15, 37, 40, 0.8) 4%, rgba(22, 72, 76, 0.5) 54%, rgba(15, 37, 40, 0.14) 100%) !important;
	opacity: 1;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-cover__inner-container {
	width: min(100% - 44px, 1240px);
	margin: 0 auto;
	padding: clamp(80px, 13vw, 180px) 0 clamp(64px, 9vw, 128px);
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover h1 {
	max-width: 760px;
	margin: 0;
	color: #fff !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(4.25rem, 9vw, 8.5rem) !important;
	font-weight: 600;
	letter-spacing: -0.065em;
	line-height: 0.8 !important;
	text-align: left !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-buttons {
	justify-content: flex-start !important;
	gap: 10px;
	margin-top: 34px;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-button__link {
	min-height: 46px;
	padding: 0.78rem 1.1rem;
	border: 1px solid #fff;
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: #17373b;
	font-family: "Mulish", sans-serif;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-button:not(:first-child) .wp-block-button__link {
	background: transparent;
	color: #fff;
}

.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-button__link:hover,
.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-button__link:focus {
	border-color: #b9dad2;
	background: #b9dad2;
	color: #17373b;
	transform: none;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) {
	max-width: 1220px;
	margin: 0 auto !important;
	padding: clamp(32px, 5vw, 76px) clamp(22px, 4vw, 52px) clamp(76px, 11vw, 156px) !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns {
	margin: 0 !important;
	padding: clamp(52px, 8vw, 112px) 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns > .wp-block-column {
	max-width: 780px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns:first-child > .wp-block-column > p:first-child {
	margin: 0 0 18px;
	color: var(--cw-accent-dark);
	font-family: "Mulish", sans-serif;
	font-size: 0.72rem !important;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns > .wp-block-column > h2 {
	margin: 0 0 22px;
	color: #193b40 !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(3rem, 5.3vw, 5.5rem) !important;
	font-weight: 600;
	letter-spacing: -0.06em;
	line-height: 0.9;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns > .wp-block-column > p,
.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns > .wp-block-column .wp-block-group > p {
	max-width: 67ch;
	color: #4f5a5c;
	font-size: 1.08rem;
	line-height: 1.75;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-columns h3 {
	margin: 34px 0 8px;
	color: #193b40;
	font-family: "Mulish", sans-serif;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group {
	margin-top: 34px;
	border-top: 1px solid rgba(25, 59, 64, 0.18);
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
	gap: clamp(34px, 7vw, 100px);
	margin: 0 !important;
	padding: clamp(42px, 6vw, 78px) 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(25, 59, 64, 0.18) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:first-child > h2 {
	margin: 0 0 18px;
	color: #193b40 !important;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(2.75rem, 4.5vw, 4.5rem) !important;
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 0.9;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:first-child > p {
	max-width: 61ch;
	color: #4f5a5c;
	font-size: 1.04rem;
	line-height: 1.75;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:last-child {
	align-self: start;
	padding: 6px 0 6px clamp(22px, 3vw, 40px) !important;
	border-left: 1px solid rgba(25, 59, 64, 0.18) !important;
}

.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:last-child > h2 {
	margin: 0 0 16px;
	color: var(--cw-accent-dark) !important;
	font-family: "Mulish", sans-serif;
	font-size: 0.72rem !important;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.site-main--newhome .wp-block-query .wp-block-post-template {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
}

.site-main--newhome .wp-block-query .wp-block-post-template > li {
	margin: 0;
	padding: 11px 0;
	border-top: 1px solid rgba(25, 59, 64, 0.14);
}

.site-main--newhome .wp-block-query .wp-block-post-title {
	margin: 0;
	font-family: "Mulish", sans-serif;
	font-size: 0.92rem !important;
	font-weight: 700;
	line-height: 1.35;
}

.site-main--newhome .wp-block-query .wp-block-post-title a {
	color: #193b40;
	text-decoration: none;
}

.site-main--newhome .wp-block-query .wp-block-post-title a:hover,
.site-main--newhome .wp-block-query .wp-block-post-title a:focus {
	color: var(--cw-accent);
}

.site-main--front .page-header,
.site-main--app .page-header {
	padding-top: 18px;
	padding-bottom: 10px;
}

.site-main--front .wp-block-query,
.site-main--front .page-content,
.site-main--app .wp-block-query,
.site-main--app .page-content {
	display: grid;
	gap: 18px;
}

.site-main--app,
.post-type-archive-product .site-main,
.single-product .site-main {
	max-width: var(--cw-shell-max);
}

.page-header {
	max-width: var(--cw-shell-max);
	margin: 0 auto;
	padding: 10px 0 2px;
}

.page-header .entry-title {
	width: auto;
	max-width: none;
	margin: 0;
	color: var(--cw-accent);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 0.92;
}

.page-header p {
	max-width: 64ch;
	margin: 10px 0 0;
	color: var(--cw-muted);
}

.page-content {
	display: grid;
	gap: 16px;
}

.page-content > article,
.cw-content-frame,
.site-main > article.post,
.site-main > article.page,
.site-main > .woocommerce,
.site-main > .cw-client-dashboard,
.site-main > .cw-ops-dashboard,
.site-main > .cw-dashboard-notice,
.site-main > .cw-service-detail,
.site-main .wp-block-post-content > .woocommerce,
.site-main .wp-block-post-content > .cw-dashboard-notice,
.site-main .wp-block-post-content > .cw-client-dashboard,
.site-main .wp-block-post-content > .cw-ops-dashboard,
.site-main .wp-block-post-content > .cw-service-detail,
.site-main .wp-block-post-content > .cw-services-directory {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.page-content > article,
.cw-content-frame {
	max-width: none;
}

.post .entry-title,
.page .entry-title,
.page-content > article .entry-title {
	margin: 0 0 10px;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1;
	letter-spacing: -0.04em;
}

.post .entry-title a,
.page .entry-title a,
.page-content > article .entry-title a {
	color: var(--cw-text);
}

.post .entry-title a:hover,
.page .entry-title a:hover,
.page-content > article .entry-title a:hover {
	color: var(--cw-accent);
}

.page-content > article > .wp-block-post-content,
.cw-content-frame > .wp-block-post-content,
.site-main > .wp-block-post-content {
	display: grid;
	gap: 16px;
}

.site-main > .wp-block-post-content > :first-child {
	margin-top: 0;
}

.site-main--services > .wp-block-post-content,
.site-main--portal > .wp-block-post-content,
.site-main--ops > .wp-block-post-content,
.site-main--assign > .wp-block-post-content {
	display: block;
}

.site-main--services > .wp-block-post-content > .cw-services-directory,
.site-main--portal > .wp-block-post-content > .cw-client-dashboard,
.site-main--portal > .wp-block-post-content > .cw-dashboard-notice,
.site-main--ops > .wp-block-post-content > .cw-ops-dashboard,
.site-main--ops > .wp-block-post-content > .cw-dashboard-notice,
.site-main--assign > .wp-block-post-content > .cw-ops-dashboard,
.site-main--assign > .wp-block-post-content > .cw-dashboard-notice {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.site-main--services > .wp-block-post-content > .cw-services-directory,
.site-main--services > .wp-block-post-content > .cw-service-detail {
	display: grid;
	gap: 16px;
}

.site-main--services .cw-services-directory > section,
.site-main--services .cw-services-directory > div,
.site-main--services .cw-service-detail > section,
.site-main--services .cw-service-detail > div {
	padding: 16px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.12);
	border-radius: var(--cw-radius-lg);
	background: rgba(255, 255, 255, 0.78);
	box-shadow: var(--cw-shadow-soft);
}

.cw-services-directory > section,
.cw-services-directory > div,
.cw-service-detail > section,
.cw-service-detail > div {
	padding: 16px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.12);
	border-radius: var(--cw-radius-lg);
	background: rgba(255, 255, 255, 0.78);
	box-shadow: var(--cw-shadow-soft);
}

.site-main--resource .cw-service-detail > .cw-service-detail__content {
	box-sizing: border-box;
	width: 100%;
	padding: 24px;
}

.site-main--resource .cw-service-detail > .cw-service-detail__body {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--cw-shell-max) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 24px;
}

.site-main--resource .cw-service-detail__intro .page-header {
	padding-top: 0;
	padding-bottom: 24px;
}

.site-main--resource .cw-service-detail__intro .page-header .entry-title {
	margin: 0;
}

.site-main--resource .cw-service-detail__content > .wp-block-post-content,
.site-main--resource .cw-practice-better-booking-block {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.site-main--resource .cw-practice-better-booking-block {
	display: flex;
	justify-content: center;
	padding: 18px;
}

.site-main--resource .cw-practice-better-booking-block .better-inline-booking-widget {
	flex: 0 1 550px;
	width: 100% !important;
	margin-top: 0;
}

.site-main--services .cw-services-directory h1,
.site-main--services .cw-services-directory h2,
.site-main--services .cw-service-detail h1,
.site-main--services .cw-service-detail h2 {
	color: var(--cw-text);
	font-family: "Mulish", sans-serif;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.cw-services-directory h1,
.cw-services-directory h2,
.cw-service-detail h1,
.cw-service-detail h2 {
	color: var(--cw-text);
	font-family: "Mulish", sans-serif;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.site-main--services .cw-services-directory p,
.site-main--services .cw-service-detail p {
	color: var(--cw-muted);
}

.cw-services-directory p,
.cw-service-detail p {
	color: var(--cw-muted);
}

.site-main--services .cw-service-card {
	padding: 16px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.12);
	border-radius: var(--cw-radius-lg);
	background: rgba(255, 255, 255, 0.86);
	box-shadow: var(--cw-shadow-soft);
}

.cw-service-card {
	padding: 16px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.12);
	border-radius: var(--cw-radius-lg);
	background: rgba(255, 255, 255, 0.86);
	box-shadow: var(--cw-shadow-soft);
}

.wp-block-post-featured-image img {
	width: 100%;
	border-radius: var(--cw-radius-xl);
	box-shadow: var(--cw-shadow-soft);
}

.cw-home-hero,
.cw-band {
	position: relative;
	overflow: visible;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.cw-home-hero {
	margin-bottom: 16px;
	padding: 0;
}

.cw-home-hero__eyebrow,
.cw-band__eyebrow {
	margin: 0;
	color: var(--cw-accent-dark);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.cw-home-hero h1,
.cw-band h2 {
	margin: 0;
	color: var(--cw-text);
	font-size: clamp(2.2rem, 5vw, 4.2rem);
	line-height: 0.92;
}

.cw-band h2 {
	font-size: clamp(1.5rem, 3vw, 2.4rem);
}

.cw-home-hero p,
.cw-band p {
	margin: 0;
	color: var(--cw-muted);
	line-height: 1.7;
}

.cw-home-hero__inner,
.cw-band__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
	gap: 18px;
	align-items: start;
}

.cw-home-hero__copy,
.cw-home-hero__aside,
.cw-band__copy,
.cw-band__aside {
	display: grid;
	gap: 12px;
}

.cw-stat-card,
.cw-path-card,
.cw-note-card,
.cw-query-card {
	height: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.cw-stat-card strong,
.cw-path-card h3,
.cw-note-card strong,
.cw-query-card .wp-block-post-title {
	display: block;
	margin: 0 0 8px;
	font-family: "Mulish", sans-serif;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.08;
}

.cw-stat-card strong {
	font-size: 1.45rem;
	color: var(--cw-accent);
}

.cw-stat-card p,
.cw-path-card p,
.cw-note-card p,
.cw-query-card p,
.cw-query-card .wp-block-post-excerpt__excerpt {
	margin: 0;
	color: var(--cw-muted);
}

.cw-path-grid,
.site-main .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.site-main .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-main .wp-block-post-template > li {
	margin: 0;
	list-style: none;
}

.cw-home-resource-feed .wp-block-post-template {
	grid-template-columns: 1fr;
	gap: 10px;
}

.site-main--front .wp-block-column[style*="flex-basis:35%"] .wp-block-query .wp-block-post-template {
	grid-template-columns: 1fr;
	gap: 10px;
}

.cw-home-resource-feed .wp-block-post-template > li {
	padding: 0;
}

.site-main--front .wp-block-column[style*="flex-basis:35%"] .wp-block-query .wp-block-post-template > li {
	padding: 0;
}

.cw-home-resource-feed .wp-block-columns {
	margin: 0;
}

.site-main--front .wp-block-column[style*="flex-basis:35%"] .wp-block-query .wp-block-columns {
	margin: 0;
}

.cw-home-resource-feed .wp-block-post-title {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.25;
}

.site-main--front .wp-block-query .wp-block-post-title {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.25;
}

.cw-home-resource-feed .wp-block-post-title a {
	color: var(--cw-accent-dark);
	font-weight: 800;
	text-decoration: none;
}

.site-main--front .wp-block-query .wp-block-post-title a {
	color: var(--cw-accent-dark);
	font-weight: 800;
	text-decoration: none;
}

.cw-home-resource-feed .wp-block-post-title a:hover,
.cw-home-resource-feed .wp-block-post-title a:focus {
	color: var(--cw-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.site-main--front .wp-block-query .wp-block-post-title a:hover,
.site-main--front .wp-block-query .wp-block-post-title a:focus {
	color: var(--cw-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.cw-query-card {
	padding: 0 0 14px;
	border-bottom: 1px solid var(--cw-border);
}

.cw-query-card .wp-block-post-date,
.cw-query-card .wp-block-post-terms {
	color: var(--cw-muted);
	font-size: 0.9rem;
}

.cw-query-card .wp-block-post-title {
	margin-bottom: 10px;
}

.cw-query-card .wp-block-read-more {
	font-weight: 700;
}

.cw-doc-archive {
	max-width: 1100px;
}

.cw-doc-archive__intro,
.cw-doc-archive__query {
	width: min(100%, 960px);
	margin: 0 auto;
}

.cw-doc-archive__intro {
	display: grid;
	gap: 12px;
}

.cw-doc-archive .wp-block-post-template {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.cw-doc-archive .wp-block-post-template > li {
	height: 100%;
}

.cw-doc-archive .cw-doc-card {
	height: 100%;
	padding: 24px 24px 22px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--cw-border);
	border-radius: 22px;
	box-shadow: var(--cw-shadow);
}

.cw-doc-archive .cw-doc-card .wp-block-post-terms {
	margin-bottom: 2px;
}

.cw-doc-archive .cw-doc-card .wp-block-post-title {
	margin-bottom: 8px;
	font-size: 1.28rem;
	line-height: 1.18;
}

.cw-doc-archive .cw-doc-card .wp-block-post-title a {
	color: var(--cw-text);
	text-decoration: none;
}

.cw-doc-archive .cw-doc-card .wp-block-post-title a:hover,
.cw-doc-archive .cw-doc-card .wp-block-post-title a:focus {
	color: var(--cw-accent);
}

.cw-doc-archive .cw-doc-card .wp-block-post-excerpt__excerpt {
	margin-bottom: 12px;
	color: var(--cw-muted);
	line-height: 1.6;
}

.cw-doc-archive .cw-doc-card .wp-block-post-excerpt__more-text {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(var(--cw-accent-rgb), 0.08);
	color: var(--cw-accent-dark);
	font-weight: 800;
	text-decoration: none;
}

.cw-doc-archive .cw-doc-card .wp-block-post-excerpt__more-text:hover,
.cw-doc-archive .cw-doc-card .wp-block-post-excerpt__more-text:focus {
	background: rgba(var(--cw-accent-rgb), 0.14);
	color: var(--cw-accent);
}

.cw-ops-dashboard__links a,
.cw-ops-client-access__actions a,
.cw-client-dashboard__actions a,
.cw-client-dashboard__item-action,
.cw-service-card__actions a,
.cw-service-detail__actions a,
.cw-my-account-dashboard__actions a,
.cw-my-account-portal-card__actions a,
.cw-dashboard-notice__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.button,
button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border: 1px solid var(--cw-accent);
	border-radius: 999px;
	background: var(--cw-accent);
	box-shadow: 0 10px 22px rgba(var(--cw-accent-rgb), 0.18);
	color: #ffffff;
	font-family: "Mulish", sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.cw-ops-dashboard__links a:hover,
.cw-ops-client-access__actions a:hover,
.cw-client-dashboard__actions a:hover,
.cw-client-dashboard__item-action:hover,
.cw-service-card__actions a:hover,
.cw-service-detail__actions a:hover,
.cw-my-account-dashboard__actions a:hover,
.cw-my-account-portal-card__actions a:hover,
.cw-dashboard-notice__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
	background: var(--cw-accent-dark);
	border-color: var(--cw-accent-dark);
	box-shadow: 0 12px 24px rgba(var(--cw-accent-rgb), 0.22);
	color: #ffffff;
	transform: translateY(-1px);
}

.wp-block-search__inside-wrapper,
.wp-block-search__button,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
	border-radius: 999px;
}

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea {
	border: 1px solid var(--cw-border);
	border-radius: 12px;
	background: #ffffff;
	color: var(--cw-text);
	padding: 10px 12px;
	box-shadow: inset 0 1px 2px rgba(var(--cw-text-rgb), 0.02);
}

input:focus,
select:focus,
textarea:focus {
	border-color: rgba(var(--cw-accent-rgb), 0.55);
	outline: 2px solid rgba(var(--cw-accent-rgb), 0.12);
}

.wp-block-query-pagination {
	margin-top: 24px;
	gap: 10px;
}

.wp-block-query-pagination > * {
	padding: 9px 14px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.16);
	border-radius: 999px;
	background: rgba(var(--cw-accent-rgb), 0.06);
	text-decoration: none;
}

.site-footer {
	color: var(--cw-muted);
}

.copyright p {
	margin: 0;
	color: var(--cw-muted);
}

.site-footer .wp-block-heading {
	margin-bottom: 10px;
	color: var(--cw-text);
	font-size: 1rem;
	letter-spacing: -0.02em;
}

.site-footer .wp-block-list,
.site-footer .wp-block-list li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .wp-block-list li + li {
	margin-top: 8px;
}

.site-footer .footer-links a {
	color: var(--cw-text);
	text-decoration: none;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus {
	color: var(--cw-accent);
}

.site-footer .copyright p {
	margin: 0;
	color: var(--cw-muted);
	font-size: 0.9rem;
}

.woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	color: var(--cw-muted);
}

.cw-shop-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border: 1px solid var(--cw-border);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--cw-shadow);
}

.cw-shop-toolbar__sort {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.cw-shop-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.cw-shop-intro__eyebrow {
	margin: 0 0 4px;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cw-accent);
}

.cw-shop-intro__title {
	margin: 0;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	line-height: 1.05;
}

.cw-shop-intro__summary {
	margin: 2px 0 0;
	max-width: none;
	font-size: 0.82rem;
	line-height: 1.35;
	color: var(--cw-muted);
}

.cw-shop-intro__main {
	min-width: 0;
}

.cw-shop-intro__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.cw-shop-intro__stat {
	min-width: 72px;
	padding: 6px 8px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	background: rgba(247, 248, 251, 0.88);
}

.cw-shop-intro__stat strong {
	display: block;
	font-size: 0.98rem;
	line-height: 1;
}

.cw-shop-intro__stat span {
	display: block;
	margin-top: 2px;
	font-size: 0.64rem;
	color: var(--cw-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.cw-shop-intro__actions {
	margin: 0;
}

.cw-shop-intro__actions a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--cw-accent);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.78rem;
}

.cw-shop-catalog-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.cw-shop-catalog-layout__main {
	min-width: 0;
}

.cw-shop-filters__inner {
	position: sticky;
	top: 104px;
	padding: 16px;
	border: 1px solid var(--cw-border);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--cw-shadow);
}

.cw-shop-filters__eyebrow {
	margin: 0 0 10px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cw-accent);
}

.cw-shop-filters__title {
	margin: 0 0 12px;
	font-size: 1.2rem;
}

.cw-shop-filters__list {
	display: grid;
	gap: 8px;
}

.cw-shop-filters__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 14px;
	background: rgba(247, 248, 251, 0.8);
	text-decoration: none;
	color: var(--cw-text);
	transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.cw-shop-filters__link:hover,
.cw-shop-filters__link:focus {
	transform: translateX(2px);
	border-color: rgba(0, 153, 153, 0.28);
	background: rgba(223, 244, 239, 0.72);
}

.cw-shop-filters__link.is-active {
	border-color: rgba(0, 153, 153, 0.34);
	background: rgba(223, 244, 239, 0.95);
}

.cw-shop-filters__link span {
	font-weight: 700;
	line-height: 1.2;
	font-size: 0.9rem;
}

.cw-shop-filters__link small {
	font-size: 0.76rem;
	color: var(--cw-muted);
}

.woocommerce .woocommerce-ordering {
	margin-bottom: 0;
}

.cw-shop-toolbar .woocommerce .woocommerce-ordering,
.cw-shop-toolbar .woocommerce-ordering {
	margin: 0;
}

.cw-shop-toolbar .orderby {
	min-width: 220px;
}

.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products,
.tax-product_tag .woocommerce ul.products {
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: 14px;
}

.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product,
.tax-product_tag .woocommerce ul.products li.product {
	padding: 12px;
}

.wp-block-woocommerce-product-template.wc-block-product-template__responsive.columns-3 {
	grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
	gap: 14px;
}

.wp-block-woocommerce-product-template .wc-block-product {
	padding: 12px;
	border-radius: 18px;
}

.wp-block-woocommerce-product-template .wp-block-post-title {
	font-size: 1rem !important;
	line-height: 1.15 !important;
}

.wp-block-woocommerce-product-template .wc-block-components-product-price {
	font-size: 0.92rem;
}

.wp-block-woocommerce-product-template .wp-block-button__link {
	padding: 0.7rem 0.9rem;
	font-size: 0.82rem;
}

.woocommerce ul.products li.product,
.woocommerce div.product,
.woocommerce-page ul.products li.product,
.woocommerce-page div.product {
	background: rgba(255, 255, 255, 0.84);
	border-radius: var(--cw-radius-lg);
}

.woocommerce div.product,
.woocommerce-cart-form,
.woocommerce-checkout-review-order-table,
.shop_table {
	border-color: var(--cw-border);
}

.single-product .content-area.alignwide {
	max-width: var(--cw-shell-max);
	margin: 0 auto;
}

.single-product .woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(320px, 1.05fr);
	gap: 24px;
	align-items: start;
}

.single-product .woocommerce div.product .woocommerce-product-gallery,
.single-product .woocommerce div.product .summary {
	padding: 22px;
	border: 1px solid var(--cw-border);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--cw-shadow);
}

.single-product .woocommerce div.product .woocommerce-product-gallery {
	position: sticky;
	top: 104px;
}

.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce div.product .woocommerce-product-gallery__image,
.single-product .woocommerce div.product .woocommerce-product-gallery__image--placeholder {
	border-radius: 20px;
	overflow: hidden;
	background: rgba(247, 248, 251, 0.88);
}

.single-product .woocommerce div.product .woocommerce-product-gallery img {
	display: block;
	width: 100%;
	height: auto;
}

.single-product .woocommerce div.product .summary {
	display: grid;
	gap: 16px;
}

.single-product .woocommerce div.product .product_title.entry-title {
	order: 1;
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 0.95;
	letter-spacing: -0.05em;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
	order: 2;
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	font-weight: 800;
	color: var(--cw-accent);
}

.single-product .woocommerce div.product .woocommerce-product-details__short-description {
	order: 3;
}

.single-product .woocommerce div.product .stock {
	order: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin: 0;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(223, 244, 239, 0.88);
	color: var(--cw-brand-deep);
	font-size: 0.88rem;
	font-weight: 700;
}

.single-product .woocommerce div.product form.cart {
	order: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding-top: 6px;
}

.single-product .woocommerce div.product form.cart .quantity {
	margin: 0;
}

.single-product .woocommerce div.product .quantity .qty,
.single-product .woocommerce div.product form.cart select,
.single-product .woocommerce div.product form.cart input:not([type="submit"]):not([type="hidden"]) {
	min-height: 48px;
	border: 1px solid var(--cw-border);
	border-radius: 16px;
	background: #fff;
	padding: 0 14px;
	font-size: 1rem;
	color: var(--cw-text);
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button.alt {
	min-height: 48px;
	padding: 0.85rem 1.25rem;
	border-radius: 999px;
}

.single-product .woocommerce div.product .cw-product-category-notices {
	order: 5;
	display: grid;
	gap: 12px;
	margin-top: 6px;
}

.single-product .woocommerce div.product .cw-product-category-notice {
	padding: 16px 18px;
	border: 1px solid rgba(211, 126, 74, 0.24);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 247, 240, 0.98) 0%, rgba(255, 252, 249, 0.98) 100%);
	box-shadow: 0 10px 24px rgba(37, 37, 49, 0.06);
}

.single-product .woocommerce div.product .cw-product-category-notice__eyebrow {
	margin: 0 0 6px;
	color: #9a5a2f;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-product .woocommerce div.product .cw-product-category-notice__message {
	margin: 0;
	color: #5a3b26;
	font-size: 0.94rem;
	line-height: 1.65;
}

.single-product .woocommerce div.product .woocommerce-product-details__short-description,
.single-product .woocommerce div.product .product_meta {
	color: var(--cw-muted);
}

.single-product .woocommerce div.product .product_meta {
	order: 6;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-top: 4px;
	padding-top: 14px;
	border-top: 1px solid var(--cw-border);
	font-size: 0.88rem;
	line-height: 1.7;
}

.single-product .woocommerce div.product .product_meta > span {
	display: block;
	width: 100%;
	color: var(--cw-muted);
}

.single-product .woocommerce div.product .product_meta a {
	color: var(--cw-text);
	text-decoration: none;
	border-bottom: 1px solid rgba(37, 37, 49, 0.18);
}

.single-product .woocommerce div.product .product_meta a:hover {
	border-bottom-color: rgba(0, 153, 153, 0.4);
}

.single-product .woocommerce-tabs.wc-tabs-wrapper {
	grid-column: 1 / -1;
	display: grid;
	gap: 8px;
	clear: both;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs::before,
.single-product .woocommerce-tabs ul.tabs.wc-tabs::after {
	display: none !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
	float: none;
	position: static;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	border-radius: 999px;
	box-shadow: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li::before,
.single-product .woocommerce-tabs ul.tabs.wc-tabs li::after {
	display: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active,
.single-product .woocommerce-tabs ul.tabs.wc-tabs li:hover {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border: 1px solid var(--cw-border);
	border-radius: 999px;
	background: rgba(247, 248, 251, 0.88);
	color: var(--cw-text);
	font-weight: 700;
	text-decoration: none;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
	background: rgba(223, 244, 239, 0.95);
	border-color: rgba(0, 153, 153, 0.28);
	color: var(--cw-brand-deep);
}

.single-product .woocommerce-tabs.wc-tabs-wrapper:has(> ul.tabs.wc-tabs > li:only-child.description_tab) {
	gap: 0;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs:has(> li:only-child.description_tab) {
	display: none;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: 26px 30px !important;
	border: 1px solid var(--cw-border);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--cw-shadow);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2:first-child,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information > h2:first-child {
	display: none;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
	margin-top: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel > :last-child {
	margin-bottom: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel > p:first-child {
	margin-top: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details {
	border: 1px solid var(--cw-border);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--cw-shadow);
	overflow: hidden;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details summary {
	position: relative;
	display: block;
	margin: 0;
	padding: 22px 68px 22px 24px;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.3rem, 2vw, 1.85rem);
	font-weight: 800;
	line-height: 1.05;
	color: var(--cw-text);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: var(--cw-text);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details[open] summary::after {
	content: "\2212";
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details > :not(summary) {
	margin-left: 24px;
	margin-right: 24px;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel .wp-block-details > *:last-child {
	margin-bottom: 24px;
}

.single-product .woocommerce-Reviews,
.single-product #review_form_wrapper {
	display: grid;
	gap: 14px;
}

.single-product .woocommerce-Reviews-title,
.single-product .comment-reply-title {
	font-size: 1.2rem;
	font-weight: 800;
}

.single-product .woocommerce-Reviews select,
.single-product .woocommerce-Reviews textarea,
.single-product .woocommerce-Reviews input:not([type="submit"]):not([type="checkbox"]) {
	width: 100%;
	border: 1px solid var(--cw-border);
	border-radius: 16px;
	background: #fff;
	padding: 12px 14px;
	font-size: 1rem;
	color: var(--cw-text);
}

.single-product .woocommerce-Reviews textarea {
	min-height: 150px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-radius: 16px;
	border: 1px solid var(--cw-border);
	background: #ffffff;
	box-shadow: var(--cw-shadow);
}

/* WooCommerce utility pages — cart, checkout, account and confirmation. */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main,
body.woocommerce-order-received .site-main {
	max-width: var(--cw-content-max);
}

.cw-woocommerce-page {
	max-width: var(--cw-content-max);
	margin-right: auto;
	margin-left: auto;
}

.cw-woocommerce-page > .wp-block-post-title {
	margin: 0 0 24px;
	font-size: clamp(2rem, 4vw, 3.25rem);
	letter-spacing: -0.05em;
	line-height: 0.95;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.woocommerce-order-received .entry-title {
	margin-bottom: 24px;
	font-size: clamp(2rem, 4vw, 3.25rem);
	letter-spacing: -0.05em;
	line-height: 0.95;
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
.woocommerce-checkout .woocommerce,
.woocommerce-order-received .woocommerce,
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
	color: var(--cw-text);
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-order-received .woocommerce-order,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
	padding: 24px;
	border: 1px solid var(--cw-border);
	border-radius: var(--cw-radius-xl);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: var(--cw-shadow-soft);
}

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout {
	gap: 24px;
}

.woocommerce-cart .wc-block-cart {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

@media (min-width: 783px) {
	.woocommerce-cart .wc-block-components-sidebar-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr) !important;
		gap: 24px !important;
		align-items: start;
	}

	.woocommerce-cart .wc-block-cart__main {
		grid-column: 1;
		width: auto !important;
		min-width: 0;
	}

	.woocommerce-cart .wc-block-cart__sidebar {
		grid-column: 2;
		grid-row: 1;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.woocommerce-cart .wc-block-cart__sidebar > *,
	.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
	.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
	.woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit-container {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
	}
}

.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-cart .cart-collaterals .cart_totals {
	position: sticky;
	top: 104px;
	align-self: start;
}

.woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-checkout .wc-block-components-sidebar-layout {
	gap: 24px;
}

.woocommerce-cart .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-cart .wc-block-components-panel,
.woocommerce-checkout .wc-block-components-panel,
.woocommerce-checkout .wc-block-components-payment-method-label {
	border-color: var(--cw-border);
}

.woocommerce-cart .wc-block-components-title,
.woocommerce-checkout .wc-block-components-title,
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
	margin-top: 0;
	color: var(--cw-text);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.woocommerce-cart .wc-block-cart-item,
.woocommerce-checkout .wc-block-components-order-summary-item,
.woocommerce-cart .cart_item {
	padding: 18px 0;
	border-color: var(--cw-border);
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-cart .product-name a,
.woocommerce-order-received .product-name a,
.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	color: var(--cw-text);
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-cart .wc-block-components-product-name:hover,
.woocommerce-checkout .wc-block-components-product-name:hover,
.woocommerce-cart .product-name a:hover,
.woocommerce-order-received .product-name a:hover,
.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
	color: var(--cw-accent);
}

.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart .quantity .qty,
.woocommerce-checkout .wc-block-components-quantity-selector {
	min-height: 42px;
	border-color: var(--cw-border);
	border-radius: 12px;
	background: var(--cw-surface);
}

.woocommerce-cart .wc-block-components-quantity-selector input,
.woocommerce-cart .quantity .qty,
.woocommerce-cart .wc-block-components-quantity-selector button {
	box-shadow: none;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-order-received table.shop_table,
.woocommerce-account table.shop_table {
	margin: 0;
	border: 1px solid var(--cw-border);
	border-radius: var(--cw-radius-lg);
	background: var(--cw-surface);
	overflow: hidden;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td,
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	padding: 15px 16px;
	border-color: var(--cw-border);
	vertical-align: middle;
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th,
.woocommerce-order-received table.shop_table th,
.woocommerce-account table.shop_table th {
	color: var(--cw-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce-checkout form .form-row,
.woocommerce-account form .form-row {
	margin: 0 0 16px;
}

.woocommerce-checkout form label,
.woocommerce-account form label,
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox .components-base-control__label {
	margin-bottom: 7px;
	color: var(--cw-text);
	font-size: 0.94rem;
	font-weight: 700;
}

.woocommerce-checkout input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-account form.login input:not([type="submit"]):not([type="checkbox"]),
.woocommerce-account form.register input:not([type="submit"]):not([type="checkbox"]),
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input {
	min-height: 48px;
	border: 1px solid var(--cw-border);
	border-radius: 12px;
	background: var(--cw-surface);
	color: var(--cw-text);
	box-shadow: inset 0 1px 2px rgba(var(--cw-text-rgb), 0.02);
}

.woocommerce-checkout textarea {
	min-height: 120px;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark,
.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
	background: var(--cw-accent);
}

.woocommerce-checkout .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-components-payment-method-label,
.woocommerce-checkout .payment_box {
	border-radius: var(--cw-radius-md);
}

.woocommerce-checkout .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-components-payment-method-label,
.woocommerce-checkout .payment_box {
	border-color: var(--cw-border);
	background: var(--cw-surface-soft);
}

.woocommerce-checkout #payment,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-payment-method-label {
	border: 1px solid var(--cw-border);
	border-radius: var(--cw-radius-lg);
	background: var(--cw-surface-soft);
}

.woocommerce .wc-block-components-button,
.woocommerce-checkout #place_order,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-account form.login .button,
.woocommerce-account form.register .button {
	min-height: 48px;
	border: 1px solid var(--cw-accent);
	border-radius: 999px;
	background: var(--cw-accent);
	box-shadow: 0 10px 22px rgba(var(--cw-accent-rgb), 0.18);
	color: #fff;
	font-family: "Mulish", sans-serif;
	font-size: 0.9rem;
	font-weight: 800;
}

.woocommerce .wc-block-components-button:hover,
.woocommerce .wc-block-components-button:focus,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover {
	border-color: var(--cw-accent-dark);
	background: var(--cw-accent-dark);
	color: #fff;
}

.woocommerce .woocommerce-notices-wrapper:not(:empty),
.woocommerce .wc-block-components-notice-banner,
.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 20px;
	padding: 15px 18px;
	border: 1px solid rgba(var(--cw-accent-rgb), 0.22);
	border-radius: var(--cw-radius-lg);
	background: rgba(var(--cw-accent-rgb), 0.06);
	box-shadow: none;
	color: var(--cw-text);
}

.woocommerce-order-received .woocommerce-thankyou-order-details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1px;
	margin: 20px 0;
	padding: 1px;
	border: 1px solid var(--cw-border);
	border-radius: var(--cw-radius-lg);
	background: var(--cw-border);
	overflow: hidden;
}

.woocommerce-order-received .woocommerce-thankyou-order-details li {
	float: none;
	width: auto;
	margin: 0;
	padding: 16px;
	border: 0;
	background: var(--cw-surface);
	color: var(--cw-muted);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.woocommerce-order-received .woocommerce-thankyou-order-details li strong {
	display: block;
	margin-top: 6px;
	color: var(--cw-text);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
}

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	.site-main {
		padding: 16px 14px 40px;
	}

	.site-main--newhome {
		padding: 0;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-cover {
		min-height: 580px !important;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-cover .wp-block-cover__inner-container {
		width: min(100% - 36px, 1240px);
		padding-top: 120px;
		padding-bottom: 64px;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-cover h1 {
		font-size: clamp(4rem, 18vw, 6rem) !important;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) {
		padding-right: 22px !important;
		padding-left: 22px !important;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.site-main--newhome > .wp-block-post-content > .wp-block-group > .wp-block-group > .wp-block-columns > .wp-block-column:last-child {
		padding: 24px 0 0 !important;
		border-top: 1px solid rgba(25, 59, 64, 0.18) !important;
		border-left: 0 !important;
	}

	.site-header .header-inner,
	.site-footer .footer-inner {
		padding: 14px;
	}

	.cw-header-actions {
		width: 100%;
		justify-content: flex-end;
	}

	.cw-shop-menu__panel {
		left: auto;
		right: 0;
		min-width: min(320px, calc(100vw - 28px));
	}

	.page-content > article,
	.cw-content-frame,
	.site-main > article.post,
	.site-main > article.page,
	.site-main > .woocommerce,
	.site-main > .cw-client-dashboard,
	.site-main > .cw-ops-dashboard,
	.site-main > .cw-dashboard-notice,
	.site-main > .cw-service-detail,
	.site-main .wp-block-post-content > .woocommerce,
	.site-main .wp-block-post-content > .cw-dashboard-notice,
	.site-main .wp-block-post-content > .cw-client-dashboard,
	.site-main .wp-block-post-content > .cw-ops-dashboard,
	.site-main .wp-block-post-content > .cw-service-detail,
	.site-main .wp-block-post-content > .cw-services-directory,
	.cw-home-hero,
	.cw-band {
		padding: 16px;
	}

	.cw-home-hero__inner,
	.cw-band__inner,
	.cw-path-grid,
	.site-main .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.cw-shop-catalog-layout {
		grid-template-columns: 1fr;
	}

	.cw-shop-toolbar {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.cw-shop-toolbar__sort {
		justify-content: flex-start;
	}

	.cw-shop-filters__inner {
		position: static;
	}

	.cw-shop-intro {
		display: grid;
		align-items: start;
	}

	.single-product .woocommerce div.product {
		grid-template-columns: 1fr;
	}

	.single-product .woocommerce div.product .woocommerce-product-gallery {
		position: static;
	}

	.single-product .woocommerce div.product .woocommerce-product-gallery,
	.single-product .woocommerce div.product .summary,
	.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 18px !important;
		border-radius: 22px;
	}

	.woocommerce-cart .wc-block-cart__sidebar,
	.woocommerce-checkout .wc-block-components-sidebar,
	.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
	}

	.woocommerce-cart .wc-block-cart__main,
	.woocommerce-checkout .wc-block-checkout__main,
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout .woocommerce-checkout-review-order,
	.woocommerce-cart .cart-collaterals .cart_totals,
	.woocommerce-order-received .woocommerce-order,
	.woocommerce-order-received .woocommerce-order-details,
	.woocommerce-order-received .woocommerce-customer-details,
	.woocommerce-account .woocommerce form.login,
	.woocommerce-account .woocommerce form.register {
		padding: 18px;
		border-radius: 18px;
	}

	.woocommerce-cart table.shop_table,
	.woocommerce-checkout table.shop_table,
	.woocommerce-order-received table.shop_table,
	.woocommerce-account table.shop_table {
		font-size: 0.9rem;
	}

	.woocommerce-cart table.shop_table th,
	.woocommerce-cart table.shop_table td,
	.woocommerce-checkout table.shop_table th,
	.woocommerce-checkout table.shop_table td,
	.woocommerce-order-received table.shop_table th,
	.woocommerce-order-received table.shop_table td,
	.woocommerce-account table.shop_table th,
	.woocommerce-account table.shop_table td {
		padding: 12px;
	}

	.cw-doc-archive {
		max-width: 100%;
	}

	.cw-doc-archive__intro,
	.cw-doc-archive__query {
		width: 100%;
	}

	.cw-doc-archive .cw-doc-card {
		padding: 20px 18px;
		border-radius: 18px;
	}

	.page-header .entry-title {
		font-size: clamp(1.8rem, 10vw, 2.6rem);
	}
}
