/**
Theme Name: orb2026
Description: Astra child theme for the 2026 Orb redesign. Staatliches display type, Inter body copy, Orb orange on a bright, clean canvas.
Author: Orb
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: orb2026
Template: astra
*/

/* =========================================================================
   0. Self-hosted fonts
   ========================================================================= */
@font-face {
	font-family: 'Staatliches';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/staatliches-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('fonts/inter-variable-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================================================================
   1. Design tokens
   ========================================================================= */
:root {
	--orb-orange: #F28722;
	--orb-orange-dark: #D9731A;
	--orb-orange-soft: #FDF1E6;
	--orb-ink: #0F0F0F;
	--orb-ink-soft: #1C1C1C;
	--orb-text: #3A3A3A;
	--orb-muted: #6B6B6B;
	--orb-bg: #FFFFFF;
	--orb-bg-soft: #F6F5F2;
	--orb-border: #E6E4DF;
	--orb-radius: 16px;
	--orb-radius-sm: 10px;
	--orb-display: 'Staatliches', 'Inter', sans-serif;
	--orb-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--orb-shadow: 0 10px 30px rgba(15, 15, 15, 0.08);
	--orb-section: clamp(56px, 8vw, 112px);
	--orb-container: 1240px;
}

/* =========================================================================
   2. Base typography
   ========================================================================= */
body {
	font-family: var(--orb-body);
	color: var(--orb-text);
	background: var(--orb-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.orb-display,
.entry-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	font-family: var(--orb-display);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.02;
	color: var(--orb-ink);
}

h1 { font-size: clamp(2.75rem, 6vw, 4.5rem); }
h2 { font-size: clamp(2.25rem, 4.5vw, 3.25rem); }
h3 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
h4 { font-size: 1.5rem; }

p { margin-bottom: 1.25em; }

a { color: var(--orb-orange-text); text-decoration: none; }
a:hover { color: var(--orb-ink); }

.orb-eyebrow {
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--orb-orange-text);
	margin-bottom: 0.9rem;
}

.orb-lead {
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	line-height: 1.55;
	color: var(--orb-text);
	max-width: 44ch;
}

.orb-muted { color: var(--orb-muted); }

.orb-container {
	max-width: var(--orb-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* =========================================================================
   3. Buttons (Astra + Gutenberg)
   ========================================================================= */
.ast-button,
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.ast-custom-button,
.mc4wp-form button,
.mc4wp-form input[type="submit"] {
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	border-radius: var(--orb-radius-sm);
	padding: 15px 30px;
	background: var(--orb-orange);
	color: var(--orb-ink);
	border: 2px solid var(--orb-orange);
	line-height: 1.2;
	transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.ast-button:hover,
.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.ast-custom-button:hover,
.mc4wp-form button:hover,
.mc4wp-form input[type="submit"]:hover {
	background: var(--orb-orange-dark);
	border-color: var(--orb-orange-text);
	color: var(--orb-ink);
	transform: translateY(-1px);
}

/* Secondary (ink) and outline buttons */
.wp-block-button.is-style-outline .wp-block-button__link,
.orb-btn--outline {
	background: transparent;
	color: var(--orb-ink);
	border-color: var(--orb-ink);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.orb-btn--outline:hover {
	background: var(--orb-ink);
	border-color: var(--orb-ink);
	color: #fff;
}
.orb-on-dark .wp-block-button.is-style-outline .wp-block-button__link {
	color: #fff;
	border-color: rgba(255,255,255,0.6);
}
.orb-on-dark .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--orb-ink);
}
.wp-block-button.orb-btn-ink .wp-block-button__link {
	background: var(--orb-ink);
	border-color: var(--orb-ink);
	color: #fff;
}
.wp-block-button.orb-btn-ink .wp-block-button__link:hover {
	background: var(--orb-ink-soft);
	border-color: var(--orb-ink-soft);
}
.wp-block-buttons { gap: 12px; }

/* =========================================================================
   4. Header
   ========================================================================= */
.site-header .ast-primary-header-bar {
	background: var(--orb-bg);
	border-bottom: 1px solid var(--orb-border);
}
.site-header .ast-builder-menu .main-header-menu > .menu-item > .menu-link {
	font-family: var(--orb-body);
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--orb-ink);
	padding: 0 16px;
	position: relative;
}
.site-header .ast-builder-menu .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: -6px;
	height: 2px;
	background: var(--orb-orange);
	opacity: 0;
	transform: scaleX(0.6);
	transition: opacity .18s ease, transform .18s ease;
}
.site-header .ast-builder-menu .main-header-menu > .menu-item:hover > .menu-link::after,
.site-header .ast-builder-menu .main-header-menu > .current-menu-item > .menu-link::after,
.site-header .ast-builder-menu .main-header-menu > .current-menu-ancestor > .menu-link::after {
	opacity: 1;
	transform: scaleX(1);
}
.site-header .ast-builder-menu .main-header-menu > .menu-item:hover > .menu-link,
.site-header .ast-builder-menu .main-header-menu > .current-menu-item > .menu-link {
	color: var(--orb-ink);
}
.site-header .sub-menu {
	border-radius: 12px;
	border: 1px solid var(--orb-border);
	box-shadow: var(--orb-shadow);
	padding: 8px;
	overflow: hidden;
}
.site-header .sub-menu .menu-link {
	border-radius: 8px;
	font-size: 0.9rem;
}
.site-header .ast-header-button-1 .ast-custom-button {
	padding: 11px 20px;
	font-size: 0.9rem;
	color: var(--orb-ink);
}
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count,
.site-header .ast-site-header-cart .ast-icon-shopping-bag {
	color: var(--orb-ink);
}
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count::after {
	border-color: var(--orb-ink);
}
.site-header .ast-site-header-cart .ast-woo-header-cart-info-wrap { color: var(--orb-ink); }
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-bag:after,
.ast-site-header-cart .ast-cart-menu-wrap .count:after { display: none; }
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-bag,
.ast-site-header-cart .ast-addon-cart-wrap .count,
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-bag + .count { color: var(--orb-ink); }
.ast-site-header-cart .ast-addon-cart-wrap .count {
	background: var(--orb-orange);
	color: var(--orb-ink);
	border-color: var(--orb-orange);
	font-weight: 700;
	font-size: 11px;
	border-radius: 999px;
	min-width: 18px;
	height: 18px;
	line-height: 18px;
}
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-site-header-cart .ast-cart-menu-wrap .count:after {
	border-color: var(--orb-ink);
	color: var(--orb-ink);
}
.ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--orb-bg);
}
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
	background: var(--orb-ink);
	color: #fff;
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner .menu-link {
	font-family: var(--orb-display);
	font-size: 1.6rem;
	color: #fff;
	border: 0;
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner .sub-menu .menu-link {
	font-family: var(--orb-body);
	font-size: 1rem;
	color: rgba(255,255,255,0.75);
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner .ast-mobile-popup-header .menu-toggle-close {
	color: #fff;
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner .ast-header-button-1 .ast-custom-button {
	display: inline-block;
	margin: 12px 20px;
}
.ast-mobile-popup-drawer .main-header-menu .menu-item.ast-submenu-expanded > .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-item > .menu-link:hover {
	color: var(--orb-orange);
}
.ast-mobile-popup-drawer .ast-menu-toggle { color: #fff; }

/* =========================================================================
   5. Homepage sections
   ========================================================================= */
.orb-section {
	padding-top: var(--orb-section);
	padding-bottom: var(--orb-section);
}
.orb-section--tight {
	padding-top: calc(var(--orb-section) * 0.6);
	padding-bottom: calc(var(--orb-section) * 0.6);
}
.orb-section--soft { background: var(--orb-bg-soft); }
.orb-section--dark,
.orb-on-dark { background: var(--orb-ink); color: rgba(255,255,255,0.86); }
.orb-on-dark h1, .orb-on-dark h2, .orb-on-dark h3, .orb-on-dark h4 { color: #fff; }
.orb-on-dark .orb-eyebrow { color: var(--orb-orange); }
.orb-on-dark .orb-lead { color: rgba(255,255,255,0.8); }
.orb-on-dark a:not(.wp-block-button__link) { color: #fff; }
.orb-section--orange { background: var(--orb-orange); color: var(--orb-ink); }
.orb-section--orange h2 { color: var(--orb-ink); }
.orb-section__head {
	max-width: 720px;
	margin: 0 auto 48px;
	text-align: center;
}
.orb-section__head p { margin-bottom: 0; }
.orb-section__head.is-left { margin-left: 0; text-align: left; }

/* Hero */
.orb-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(40px, 6vw, 88px);
	padding-bottom: clamp(40px, 6vw, 88px);
}
.orb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(60% 70% at 78% 55%, rgba(242,135,34,0.28) 0%, rgba(242,135,34,0) 70%),
		radial-gradient(40% 40% at 10% 100%, rgba(242,135,34,0.10) 0%, rgba(242,135,34,0) 70%);
	pointer-events: none;
}
.orb-hero > * { position: relative; }
.orb-hero__title {
	font-size: clamp(3.4rem, 8.5vw, 6.6rem);
	line-height: 0.92;
	margin-bottom: 1.25rem;
	color: #fff;
}
.orb-hero__title em,
.orb-accent {
	font-style: normal;
	color: var(--orb-orange);
}
.orb-hero .orb-lead { margin-bottom: 2rem; }
.orb-hero__proof {
	margin-top: 1.5rem;
	font-size: 0.9rem;
	color: rgba(255,255,255,0.7);
}
.orb-hero__proof .orb-rating__stars { color: var(--orb-orange); letter-spacing: 1px; }
.orb-hero .wp-block-image img {
	border-radius: var(--orb-radius);
	box-shadow: 0 30px 60px rgba(0,0,0,0.45);
}
.orb-hero__price {
	display: inline-block;
	font-weight: 500;
	font-size: 0.95rem;
	margin-left: 8px;
	opacity: 0.85;
}

/* Rating */
.orb-rating__stars { color: var(--orb-orange); letter-spacing: 1px; }
.orb-rating__text { font-size: 0.9em; }

/* Stat strip */
.orb-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.orb-stats li {
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px 24px;
	margin: 0;
}
.orb-stats__value {
	display: block;
	font-family: var(--orb-display);
	font-size: clamp(2.2rem, 4vw, 3.2rem);
	line-height: 1;
	color: var(--orb-ink);
	margin-bottom: 8px;
}
.orb-stats__value small {
	font-size: 0.55em;
	color: var(--orb-orange-text);
	margin-left: 2px;
}
.orb-stats__label {
	font-size: 0.9rem;
	color: var(--orb-muted);
}

/* Feature cards */
.orb-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.orb-features--3 { grid-template-columns: repeat(3, 1fr); }
.orb-feature {
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.orb-feature:hover { transform: translateY(-3px); box-shadow: var(--orb-shadow); }
.orb-feature img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.orb-feature__body { padding: 22px 22px 26px; }
.orb-feature__body h3 { font-size: 1.6rem; margin-bottom: 8px; }
.orb-feature__body p { margin: 0; font-size: 0.95rem; color: var(--orb-muted); }
.orb-section--dark .orb-feature,
.orb-on-dark .orb-feature { background: var(--orb-ink-soft); border-color: rgba(255,255,255,0.08); }
.orb-on-dark .orb-feature__body p { color: rgba(255,255,255,0.7); }

/* Fact blocks (why side visibility) */
.orb-facts {
	display: grid;
	gap: 20px;
	margin-top: 24px;
}
.orb-fact {
	border-left: 4px solid var(--orb-orange);
	padding: 4px 0 4px 20px;
}
.orb-fact__value {
	display: block;
	font-family: var(--orb-display);
	font-size: clamp(2.4rem, 4vw, 3.4rem);
	line-height: 1;
	color: var(--orb-ink);
}
.orb-fact p { margin: 6px 0 0; color: var(--orb-muted); }
.orb-on-dark .orb-fact__value { color: #fff; }
.orb-on-dark .orb-fact p { color: rgba(255,255,255,0.7); }

/* Comparison table (MKI vs MKII) */
.orb-compare {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	background: var(--orb-bg);
	font-size: 0.95rem;
}
.orb-compare th,
.orb-compare td {
	padding: 16px 20px;
	border-bottom: 1px solid var(--orb-border);
	text-align: left;
	vertical-align: top;
}
.orb-compare tr:last-child td { border-bottom: 0; }
.orb-compare thead th {
	font-family: var(--orb-display);
	font-size: 1.35rem;
	letter-spacing: 0.02em;
	background: var(--orb-bg-soft);
	color: var(--orb-ink);
}
.orb-compare thead th.is-new {
	background: var(--orb-orange);
}
.orb-compare td.is-new {
	background: var(--orb-orange-soft);
	font-weight: 500;
	color: var(--orb-ink);
}
.orb-compare td.is-old { color: var(--orb-muted); }
.orb-compare th[scope="row"] {
	font-weight: 600;
	color: var(--orb-ink);
	width: 28%;
}

/* Product cards (home) */
.orb-products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.orb-product-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.orb-product-card:hover { transform: translateY(-3px); box-shadow: var(--orb-shadow); }
.orb-product-card img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}
.orb-product-card__body { padding: 26px 26px 30px; }
.orb-product-card__body h3 { font-size: 2rem; margin-bottom: 6px; }
.orb-product-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	align-items: center;
	font-size: 0.9rem;
	color: var(--orb-muted);
	margin-bottom: 12px;
}
.orb-product-card__meta .orb-price { font-weight: 600; color: var(--orb-ink); font-size: 1.05rem; }
.orb-product-card__meta .orb-price del { color: var(--orb-muted); font-weight: 400; margin-right: 6px; }
.orb-product-card__meta .orb-price ins { text-decoration: none; }
.orb-product-card p { color: var(--orb-text); margin-bottom: 16px; }
.orb-product-card ul {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	gap: 6px;
	font-size: 0.92rem;
}
.orb-product-card ul li { padding-left: 20px; position: relative; }
.orb-product-card ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--orb-orange);
}
.orb-product-card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	text-indent: -9999px;
}
.orb-product-card .wp-block-button,
.orb-product-card .orb-btn { position: relative; z-index: 2; }
.orb-product-card__tag {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	background: var(--orb-ink);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 10px;
	border-radius: 999px;
}

/* Generic inline button for HTML blocks */
.orb-btn {
	display: inline-block;
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 0.95rem;
	border-radius: var(--orb-radius-sm);
	padding: 14px 26px;
	background: var(--orb-orange);
	color: var(--orb-ink);
	border: 2px solid var(--orb-orange);
	line-height: 1.2;
	transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.orb-btn:hover { background: var(--orb-orange-dark); border-color: var(--orb-orange-text); color: var(--orb-ink); transform: translateY(-1px); }
.orb-btn--ink { background: var(--orb-ink); border-color: var(--orb-ink); color: #fff; }
.orb-btn--ink:hover { background: var(--orb-ink-soft); border-color: var(--orb-ink-soft); color: #fff; }
.orb-btn--ghost { background: transparent; border-color: var(--orb-ink); color: var(--orb-ink); }
.orb-btn--ghost:hover { background: var(--orb-ink); color: #fff; }
.orb-link-arrow {
	font-weight: 600;
	color: var(--orb-ink);
	border-bottom: 2px solid var(--orb-orange);
	padding-bottom: 2px;
}
.orb-link-arrow:hover { color: var(--orb-orange-text); }

/* Testimonials */
.orb-quotes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.orb-quote {
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.orb-quote__stars { color: var(--orb-orange); letter-spacing: 2px; font-size: 1rem; }
.orb-quote blockquote,
.orb-quote p.orb-quote__text {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--orb-text);
	font-style: normal;
}
.orb-quote__who {
	margin-top: auto;
	font-size: 0.85rem;
	color: var(--orb-muted);
}
.orb-quote__who strong { color: var(--orb-ink); font-weight: 600; display: block; }

/* Press logos */
.orb-press {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 28px 56px;
}
.orb-press img {
	max-height: 44px;
	width: auto;
	filter: grayscale(1) contrast(1.1);
	opacity: 0.6;
	transition: opacity .2s ease, filter .2s ease;
}
.orb-press img:hover { filter: none; opacity: 1; }
.orb-press__label {
	width: 100%;
	text-align: center;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--orb-muted);
	margin-bottom: 4px;
}

/* Newsletter (Mailchimp for WP) */
.orb-newsletter { text-align: center; }
.orb-newsletter .mc4wp-form { max-width: 560px; margin: 0 auto; }
.orb-newsletter__fields {
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
}
.orb-newsletter__fields input[type="email"] {
	flex: 1;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 14px 18px;
	font-family: var(--orb-body);
	font-size: 1rem;
	background: #fff;
}
.orb-newsletter__fields input[type="email"]:focus { border-color: var(--orb-ink); }
.orb-newsletter__consent {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	font-size: 0.85rem;
	color: var(--orb-muted);
	font-weight: 400;
}
.mc4wp-response { margin-top: 12px; font-size: 0.9rem; }

/* CTA band */
.orb-cta {
	text-align: center;
}
.orb-cta h2 {
	font-size: clamp(2.6rem, 6vw, 4.6rem);
	margin-bottom: 1rem;
}
.orb-cta p { max-width: 56ch; margin: 0 auto 1.75rem; }
.orb-section--orange .wp-block-button__link,
.orb-section--orange .orb-btn {
	background: var(--orb-ink);
	border-color: var(--orb-ink);
	color: #fff;
}
.orb-section--orange .wp-block-button__link:hover,
.orb-section--orange .orb-btn:hover {
	background: #fff;
	border-color: #fff;
	color: var(--orb-ink);
}

/* Media + text */
.orb-split .wp-block-column img,
.orb-split img {
	border-radius: var(--orb-radius);
	display: block;
}
.orb-split h2 { margin-bottom: 1rem; }

/* FAQ (core details block) */
.orb-faq .wp-block-details {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 0;
	margin-bottom: 10px;
	background: var(--orb-bg);
}
.orb-faq .wp-block-details summary {
	padding: 18px 22px;
	font-weight: 600;
	color: var(--orb-ink);
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 48px;
}
.orb-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.orb-faq .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-family: var(--orb-display);
	font-size: 1.5rem;
	color: var(--orb-orange-text);
}
.orb-faq .wp-block-details[open] summary::after { content: "–"; }
.orb-faq .wp-block-details > *:not(summary) {
	padding: 0 22px 18px;
	margin: 0;
	color: var(--orb-text);
}

/* Spec table */
.orb-specs {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.orb-specs th,
.orb-specs td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--orb-border);
	text-align: left;
	vertical-align: top;
}
.orb-specs th { font-weight: 600; color: var(--orb-ink); width: 34%; }
.orb-specs tr:last-child th, .orb-specs tr:last-child td { border-bottom: 0; }
.orb-specs--card {
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
}
.orb-specs--card th, .orb-specs--card td { padding: 16px 22px; }

/* =========================================================================
   6. WooCommerce: shop / archives
   ========================================================================= */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	padding: 0 0 22px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--orb-shadow); }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { background: var(--orb-bg-soft); }
.woocommerce ul.products li.product a img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 20px 22px 0; text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .ast-woo-product-category { text-align: left; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.75rem;
	margin-bottom: 6px;
	padding: 0;
}
.woocommerce ul.products li.product .price {
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--orb-ink);
	margin-bottom: 14px;
}
.woocommerce ul.products li.product .star-rating { margin: 0 0 10px; }
.woocommerce ul.products li.product .button {
	margin-top: 4px;
	padding: 12px 22px;
	font-size: 0.9rem;
}
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	background: var(--orb-orange);
	color: var(--orb-ink);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 6px 12px;
	min-height: 0;
	line-height: 1.2;
	top: 14px;
	left: 14px;
	right: auto;
}
.woocommerce .star-rating,
.woocommerce .star-rating span::before { color: var(--orb-orange); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	font-size: 0.9rem;
	color: var(--orb-muted);
}
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 8px 36px 8px 12px;
}
.woocommerce-products-header .page-title,
.ast-woo-shop-archive .page-title { margin-bottom: 1rem; }

/* =========================================================================
   7. WooCommerce: single product
   ========================================================================= */
.woocommerce div.product .product_title {
	font-size: clamp(2.6rem, 5vw, 4rem);
	margin-bottom: 0.4rem;
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 0.75rem; }
.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link {
	font-size: 0.85rem;
	color: var(--orb-muted);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 1.75rem;
	color: var(--orb-ink);
	margin-bottom: 1.1rem;
}
.woocommerce div.product p.price del { color: var(--orb-muted); font-weight: 400; font-size: 0.8em; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1.02rem;
	line-height: 1.6;
	margin-bottom: 1.4rem;
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom: 1em; }
.orb-summary-lead { font-size: 1.08rem; color: var(--orb-text); }
.orb-usp-list {
	list-style: none;
	margin: 0 0 0.5rem;
	padding: 0;
	display: grid;
	gap: 8px;
	font-size: 0.97rem;
}
.orb-usp-list li { position: relative; padding-left: 26px; }
.orb-usp-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--orb-orange);
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='8' fill='white'/><path d='M4.5 8.2l2.3 2.3 4.7-4.7' stroke='black' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='8' fill='white'/><path d='M4.5 8.2l2.3 2.3 4.7-4.7' stroke='black' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
}

.woocommerce div.product form.cart {
	margin-bottom: 1rem;
	padding: 20px 0 0;
	border-top: 1px solid var(--orb-border);
}
.woocommerce div.product form.cart div.quantity .qty {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	height: 52px;
	font-family: var(--orb-body);
	font-size: 1rem;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	height: 52px;
	padding: 0 32px;
	font-size: 1rem;
	min-width: 220px;
}
.woocommerce div.product form.cart .variations td.label { font-weight: 600; color: var(--orb-ink); }
.woocommerce div.product form.cart .variations select {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 10px 36px 10px 12px;
}
.woocommerce div.product .product_meta { font-size: 0.85rem; color: var(--orb-muted); }

.orb-trust {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--orb-border);
	display: grid;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--orb-muted);
}
.orb-trust li { display: flex; gap: 10px; align-items: center; }
.orb-trust__icon { color: var(--orb-orange); font-size: 0.7rem; }

/* Gallery */
.woocommerce div.product div.images img { border-radius: var(--orb-radius); }
.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: var(--orb-radius-sm);
	border: 2px solid transparent;
	opacity: 0.7;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	border-color: var(--orb-orange);
	opacity: 1;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	border-radius: 50%;
	background: #fff;
}

/* Story section (long-form product content) */
.orb-product-story {
	margin-top: var(--orb-section);
	clear: both;
}
.orb-product-story > .orb-section:first-child { padding-top: 0; }
.orb-product-story .wp-block-group.alignfull,
.orb-product-story .orb-bleed {
	position: relative;
}
.orb-product-story .orb-section--soft,
.orb-product-story .orb-section--dark,
.orb-product-story .orb-section--orange,
.orb-product-story .orb-on-dark {
	box-shadow: 0 0 0 100vmax currentColor;
	clip-path: inset(0 -100vmax);
}
.orb-product-story .orb-section--soft { color: var(--orb-bg-soft); }
.orb-product-story .orb-section--soft > * { color: var(--orb-text); }
.orb-product-story .orb-section--soft h2,
.orb-product-story .orb-section--soft h3 { color: var(--orb-ink); }
.orb-product-story .orb-section--dark,
.orb-product-story .orb-on-dark { color: var(--orb-ink); }
.orb-product-story .orb-section--dark > *,
.orb-product-story .orb-on-dark > * { color: rgba(255,255,255,0.86); }
.orb-product-story .orb-section--orange { color: var(--orb-orange); }
.orb-product-story .orb-section--orange > * { color: var(--orb-ink); }

/* Reviews */
.orb-product-reviews {
	margin-top: var(--orb-section);
	padding-top: var(--orb-section);
	border-top: 1px solid var(--orb-border);
	clear: both;
}
.orb-product-reviews .orb-container { padding-left: 0; padding-right: 0; }
.woocommerce #reviews #comments h2 {
	font-size: clamp(2rem, 4vw, 2.8rem);
	margin-bottom: 1.5rem;
}
.woocommerce #reviews #comments ol.commentlist {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
}
.woocommerce #reviews #comments ol.commentlist li {
	margin: 0;
	padding: 0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
	display: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 22px 24px;
	height: 100%;
	background: var(--orb-bg);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	font-size: 0.85rem;
	color: var(--orb-muted);
	margin-bottom: 8px;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong { color: var(--orb-ink); }
.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
	font-size: 0.95rem;
	line-height: 1.55;
	margin-bottom: 0;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating { float: none; margin-bottom: 8px; }
.woocommerce #reviews #review_form_wrapper {
	margin-top: 32px;
	background: var(--orb-bg-soft);
	border-radius: var(--orb-radius);
	padding: 28px;
}
.woocommerce #reviews #review_form_wrapper .comment-reply-title { font-family: var(--orb-display); font-size: 1.6rem; }
.woocommerce #reviews #review_form_wrapper input[type="text"],
.woocommerce #reviews #review_form_wrapper input[type="email"],
.woocommerce #reviews #review_form_wrapper textarea {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	background: #fff;
}
.woocommerce #reviews #comments .woocommerce-noreviews { color: var(--orb-muted); }

/* Related products */
.woocommerce .related.products,
.woocommerce .up-sells.products {
	margin-top: var(--orb-section);
	padding-top: var(--orb-section);
	border-top: 1px solid var(--orb-border);
	clear: both;
}
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2 {
	font-size: clamp(2rem, 4vw, 2.8rem);
	margin-bottom: 1.5rem;
}

/* Sticky add to cart */
.ast-sticky-add-to-cart {
	background: rgba(255,255,255,0.96);
	backdrop-filter: blur(8px);
	border-top: 1px solid var(--orb-border);
	box-shadow: 0 -8px 30px rgba(15,15,15,0.06);
}
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-title {
	font-family: var(--orb-display);
	font-size: 1.4rem;
}
.ast-sticky-add-to-cart .price { font-weight: 600; color: var(--orb-ink); }
.ast-sticky-add-to-cart .button { padding: 12px 24px; }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--orb-orange);
	background: var(--orb-bg-soft);
	border-radius: var(--orb-radius-sm);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--orb-orange-text); }

/* Cart / checkout basics */
.woocommerce table.shop_table {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
}
.woocommerce table.shop_table th { font-weight: 600; color: var(--orb-ink); }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-size: 1.6rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection--single {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 12px 14px;
	height: auto;
}

/* =========================================================================
   8. Blog
   ========================================================================= */
.ast-article-post {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	background: var(--orb-bg);
}
.ast-article-post .ast-blog-featured-section img { border-radius: 0; }
.ast-article-post .entry-title { font-size: 1.8rem; }
.single-post .entry-header .entry-title { font-size: clamp(2.4rem, 5vw, 3.6rem); }
.single-post .entry-content { max-width: 760px; margin: 0 auto; font-size: 1.05rem; }
.single-post .entry-content img { border-radius: var(--orb-radius); }

/* =========================================================================
   9. Footer
   ========================================================================= */
.site-footer {
	background: var(--orb-ink);
	color: rgba(255,255,255,0.72);
	font-size: 0.92rem;
}
.site-footer .ast-builder-footer-grid-columns { gap: 40px; }
.site-footer .ast-footer-row { padding-top: 56px; padding-bottom: 48px; }
.site-footer .ast-footer-row.ast-footer-row-below { padding-top: 20px; padding-bottom: 24px; }
.site-footer .ast-builder-html-element,
.site-footer .ast-footer-copyright,
.site-footer .footer-widget-area,
.site-footer .ast-builder-html-element p,
.site-footer .ast-builder-html-element a:not(.orb-btn) {
	color: rgba(255,255,255,0.72);
}
.site-footer .ast-builder-html-element a:not(.orb-btn):hover { color: var(--orb-orange); }
.site-footer h2, .site-footer h3, .site-footer h4,
.site-footer .orb-footer__title {
	font-family: var(--orb-display);
	font-size: 1.3rem;
	letter-spacing: 0.04em;
	color: #fff;
	margin: 0 0 14px;
}
.site-footer .orb-footer__logo { width: 96px; height: auto; display: block; margin-bottom: 18px; }
.site-footer .orb-footer__tag {
	font-family: var(--orb-display);
	font-size: 1.4rem;
	color: var(--orb-orange);
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.site-footer .orb-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.site-footer .astra-footer-vertical-menu .menu-item .menu-link,
.site-footer .ast-builder-footer-menu .menu-item .menu-link {
	color: rgba(255,255,255,0.72);
	padding: 4px 0;
	font-size: 0.92rem;
}
.site-footer .ast-builder-footer-menu .menu-item .menu-link:hover { color: var(--orb-orange); }
.site-footer .ast-footer-copyright { font-size: 0.82rem; color: rgba(255,255,255,0.45); }
.site-footer .ast-footer-social-wrap .ast-builder-social-element,
.site-footer .ast-footer-social-wrap .ast-builder-social-element svg {
	fill: rgba(255,255,255,0.72);
	color: rgba(255,255,255,0.72);
}
.site-footer .ast-footer-social-wrap .ast-builder-social-element:hover svg { fill: var(--orb-orange); }
.site-footer .ast-footer-row-below { border-top: 1px solid rgba(255,255,255,0.08); }

/* =========================================================================
   10. Utilities
   ========================================================================= */
.orb-rounded img, img.orb-rounded { border-radius: var(--orb-radius); }
.orb-shadow img, img.orb-shadow { box-shadow: var(--orb-shadow); }
.orb-center { text-align: center; }
.orb-max-60 { max-width: 60ch; }
.orb-mt-0 { margin-top: 0 !important; }
.orb-mb-0 { margin-bottom: 0 !important; }
.orb-hide { display: none !important; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* =========================================================================
   11. Responsive
   ========================================================================= */
@media (max-width: 1024px) {
	.orb-stats { grid-template-columns: repeat(2, 1fr); }
	.orb-features { grid-template-columns: repeat(2, 1fr); }
	.orb-quotes { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 782px) {
	.orb-hero .wp-block-columns { flex-direction: column-reverse; }
	.orb-hero__title { font-size: clamp(3rem, 14vw, 4.4rem); }
	.orb-products { grid-template-columns: 1fr; }
	.orb-quotes { grid-template-columns: 1fr; }
	.orb-features--3 { grid-template-columns: 1fr; }
	.orb-compare { font-size: 0.9rem; }
	.orb-compare th, .orb-compare td { padding: 12px 14px; }
	.orb-compare th[scope="row"] { width: 32%; }
	.orb-newsletter__fields { flex-direction: column; }
	.woocommerce #reviews #comments ol.commentlist { grid-template-columns: 1fr; }
	.orb-section__head { margin-bottom: 32px; }
	.site-footer .ast-footer-row { padding-top: 40px; padding-bottom: 32px; }
}

@media (max-width: 544px) {
	.orb-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
	.orb-stats li { padding: 18px 16px; }
	.orb-features { grid-template-columns: 1fr; }
	.orb-press { gap: 20px 32px; }
	.orb-press img { max-height: 32px; }
	.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; min-width: 0; }
	.woocommerce div.product form.cart div.quantity { margin-bottom: 10px; }
}

/* =========================================================================
   12. Refinements (round 2)
   ========================================================================= */

/* Display type is a single weight: never let it go bold */
h1, h2, h3, h4, h5, h6,
.orb-display, th,
.orb-compare thead th, .orb-specs th,
.orb-stats__value, .orb-fact__value,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-title,
.woocommerce #reviews #comments h2,
.woocommerce #review_form_wrapper .comment-reply-title,
.site-footer .orb-footer__title, .site-footer .orb-footer__tag,
.orb-product-card h3, .orb-feature h3, .orb-quote h3 {
	font-weight: 400 !important;
}
.orb-specs th, .orb-compare th[scope="row"] { font-family: var(--orb-body); font-weight: 600 !important; }
.orb-compare thead th { font-family: var(--orb-display); font-weight: 400 !important; }

/* Buttons never carry an underline */
.wp-block-button__link, .orb-btn, .ast-button, .button, .ast-custom-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.single_add_to_cart_button, .mc4wp-form button, .ast-sticky-add-to-cart .button,
.woocommerce #respond input#submit, .wp-block-button__link:hover, .orb-btn:hover,
.woocommerce a.button:hover, .button:hover {
	text-decoration: none !important;
}

/* Product cards on a dark band */
.orb-on-dark .orb-product-card { background: var(--orb-ink-soft); border-color: rgba(255,255,255,0.08); }
.orb-on-dark .orb-product-card h3 { color: #fff; }
.orb-on-dark .orb-product-card p,
.orb-on-dark .orb-product-card ul { color: rgba(255,255,255,0.78); }
.orb-on-dark .orb-product-card__meta { color: rgba(255,255,255,0.65); }
.orb-on-dark .orb-product-card__meta .orb-price { color: #fff; }
.orb-on-dark .orb-product-card__tag { background: var(--orb-orange); color: var(--orb-ink); }
.orb-on-dark .orb-btn--ink { background: #fff; border-color: #fff; color: var(--orb-ink); }
.orb-on-dark .orb-btn--ink:hover { background: var(--orb-orange); border-color: var(--orb-orange); color: var(--orb-ink); }
.orb-on-dark .orb-link-arrow { color: #fff; }
.orb-on-dark .orb-link-arrow:hover { color: var(--orb-orange); }
.orb-on-dark .orb-section__head h2 { color: #fff; }
.orb-on-dark .orb-section__head p { color: rgba(255,255,255,0.75); }

/* ---- Product hero: dark gradient band behind gallery and summary ---- */
.single-product .site-content,
.single-product #content { overflow-x: clip; }
.single-product .ast-container { padding-top: 0; }
.woocommerce div.product .orb-product-hero {
	position: relative;
	color: rgba(255,255,255,0.86);
	padding: clamp(32px, 5vw, 64px) 0 clamp(40px, 6vw, 72px);
	background: var(--orb-ink);
	box-shadow: 0 0 0 100vmax var(--orb-ink);
	clip-path: inset(0 -100vmax);
}
.woocommerce div.product .orb-product-hero::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background:
		radial-gradient(60% 70% at 22% 50%, rgba(242,135,34,0.26) 0%, rgba(242,135,34,0) 70%),
		radial-gradient(40% 40% at 95% 100%, rgba(242,135,34,0.10) 0%, rgba(242,135,34,0) 70%);
	pointer-events: none;
}
.woocommerce div.product .orb-product-hero::after { content: ""; display: table; clear: both; }
.woocommerce div.product .orb-product-hero > * { position: relative; }
.woocommerce div.product .orb-product-hero .product_title,
.woocommerce div.product .orb-product-hero p.price,
.woocommerce div.product .orb-product-hero span.price,
.woocommerce div.product .orb-product-hero .woocommerce-variation-price .price,
.woocommerce div.product .orb-product-hero form.cart .variations td.label,
.woocommerce div.product .orb-product-hero form.cart .variations td.label label { color: #fff; }
.woocommerce div.product .orb-product-hero p.price del { color: rgba(255,255,255,0.5); }
.woocommerce div.product .orb-product-hero .woocommerce-product-details__short-description,
.woocommerce div.product .orb-product-hero .orb-summary-lead,
.woocommerce div.product .orb-product-hero .orb-usp-list { color: rgba(255,255,255,0.82); }
.woocommerce div.product .orb-product-hero .woocommerce-product-rating .woocommerce-review-link { color: rgba(255,255,255,0.6); }
.woocommerce div.product .orb-product-hero form.cart { border-top-color: rgba(255,255,255,0.12); }
.woocommerce div.product .orb-product-hero form.cart div.quantity .qty {
	background: #fff;
	color: var(--orb-ink);
	border-color: transparent;
}
.woocommerce div.product .orb-product-hero .orb-trust { border-top-color: rgba(255,255,255,0.12); color: rgba(255,255,255,0.65); }
.woocommerce div.product .orb-product-hero .product_meta { color: rgba(255,255,255,0.5); }
.woocommerce div.product .orb-product-hero .woocommerce-variation-description { color: rgba(255,255,255,0.75); }
.woocommerce div.product .orb-product-hero .reset_variations { color: rgba(255,255,255,0.6); font-size: 0.85rem; }
.woocommerce div.product .orb-product-hero .stock { color: var(--orb-orange); font-size: 0.9rem; }
.woocommerce div.product .orb-product-hero .stock.out-of-stock { color: rgba(255,255,255,0.6); }
.woocommerce div.product .orb-product-hero form.cart .variations select {
	background: #fff;
	color: var(--orb-ink);
}
.woocommerce div.product .orb-product-hero form.cart > p { color: rgba(255,255,255,0.7); font-size: 0.85rem; }
.woocommerce div.product .orb-product-hero .woocommerce-breadcrumb,
.woocommerce div.product .orb-product-hero .woocommerce-breadcrumb a { color: rgba(255,255,255,0.55); font-size: 0.82rem; }
.woocommerce div.product .orb-product-hero .woocommerce-breadcrumb a:hover { color: var(--orb-orange); }

/* Astra Pro horizontal thumbnail slider (populated by JS) */
.woocommerce div.product div.images .ast-single-product-thumbnails { margin-top: 12px; }
.woocommerce div.product div.images .woocommerce-product-gallery-thumbnails__wrapper > div { margin-right: 10px; }
.woocommerce div.product div.images .woocommerce-product-gallery-thumbnails__wrapper > div img {
	border-radius: 8px;
	border: 2px solid transparent;
	opacity: 0.55;
	cursor: pointer;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	transition: opacity .15s ease, border-color .15s ease;
}
.woocommerce div.product div.images .woocommerce-product-gallery-thumbnails__wrapper > div.flex-active-slide img,
.woocommerce div.product div.images .woocommerce-product-gallery-thumbnails__wrapper > div:hover img { opacity: 1; border-color: var(--orb-orange); }
.woocommerce div.product div.images .ast-single-product-thumbnails .flex-direction-nav { display: block; }
.woocommerce div.product div.images .ast-single-product-thumbnails .flex-direction-nav a { color: #fff; opacity: 0.8; text-shadow: none; }

/* Gallery: tidy container and thumbnail strip */
.woocommerce div.product .orb-product-hero div.images { margin-bottom: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child {
	border-radius: var(--orb-radius);
	overflow: hidden;
	background: var(--orb-ink-soft);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image a { display: block; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	border-radius: 0;
	display: block;
}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
	margin: 0;
	list-style: none;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 8px;
	border: 2px solid transparent;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity .15s ease, border-color .15s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--orb-orange); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	top: 14px;
	right: 14px;
	border-radius: 50%;
	background: rgba(255,255,255,0.9);
}
.woocommerce div.product div.images .flex-direction-nav { display: none; }

/* Variation swatches (Woo Variation Swatches): clear selected and unavailable states */
.woocommerce div.product form.cart .variations td.value { padding-bottom: 12px; }
.variable-items-wrapper { gap: 8px; margin: 4px 0 0 !important; }
.variable-items-wrapper .variable-item.button-variable-item {
	background: rgba(255,255,255,0.06) !important;
	border: 2px solid rgba(255,255,255,0.28) !important;
	color: #fff !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	height: auto !important;
	min-width: 48px;
	padding: 8px 14px !important;
	font-family: var(--orb-body);
	font-size: 0.9rem;
	font-weight: 500;
	transition: background .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease;
}
.variable-items-wrapper .variable-item.button-variable-item:hover { border-color: var(--orb-orange) !important; }
.variable-items-wrapper .variable-item.button-variable-item.selected {
	background: var(--orb-orange) !important;
	border-color: var(--orb-orange) !important;
	color: var(--orb-ink) !important;
}
.variable-items-wrapper .variable-item.color-variable-item {
	border: 2px solid rgba(255,255,255,0.3) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	width: 36px !important;
	height: 36px !important;
	padding: 3px !important;
}
.variable-items-wrapper .variable-item.color-variable-item .variable-item-span-color { border-radius: 50%; }
.variable-items-wrapper .variable-item.color-variable-item.selected { border-color: var(--orb-orange) !important; }
.variable-items-wrapper .variable-item.disabled,
.variable-items-wrapper .variable-item[aria-disabled="true"],
.variable-items-wrapper .variable-item.unavailable {
	opacity: 0.3 !important;
	filter: grayscale(1);
	cursor: not-allowed !important;
	pointer-events: none;
}
.variable-items-wrapper .variable-item.button-variable-item.disabled { text-decoration: line-through; }
.variable-items-wrapper .variable-item.disabled.selected {
	background: transparent !important;
	border-color: rgba(255,255,255,0.3) !important;
	color: #fff !important;
}
.woocommerce div.product form.cart .variations select option:disabled { color: #aaa; }
.woocommerce div.product form.cart .variations { margin-bottom: 8px; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 12px; }
.woocommerce div.product form.cart .variations td { display: block; padding: 0; }
.woocommerce div.product form.cart .variations td.label { font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 4px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { margin-top: 8px; }
.wvs-stock-info, .wvs-stock-left-info { font-size: 0.8rem; color: rgba(255,255,255,0.6); }

/* FAQ on a dark band */
.orb-faq.orb-on-dark .wp-block-details,
.orb-on-dark .orb-faq .wp-block-details,
.orb-faq.orb-section--dark .wp-block-details {
	background: var(--orb-ink-soft);
	border-color: rgba(255,255,255,0.1);
}
.orb-faq.orb-on-dark .wp-block-details summary,
.orb-faq.orb-section--dark .wp-block-details summary { color: #fff; }
.orb-faq.orb-on-dark .wp-block-details summary::after,
.orb-faq.orb-section--dark .wp-block-details summary::after { color: var(--orb-orange); }
.orb-faq.orb-on-dark .wp-block-details > *:not(summary),
.orb-faq.orb-section--dark .wp-block-details > *:not(summary),
.orb-faq.orb-on-dark .wp-block-details li { color: rgba(255,255,255,0.78); }
.orb-faq.orb-on-dark .wp-block-details a { color: var(--orb-orange); }
.orb-faq.orb-on-dark .wp-block-details ul,
.orb-faq.orb-on-dark .wp-block-details ol { padding-left: 1.2em; margin: 0 0 8px; }
.orb-faq .wp-block-details ul,
.orb-faq .wp-block-details ol { padding: 0 22px 18px 44px; margin: 0; }
.orb-faq .wp-block-details ul li,
.orb-faq .wp-block-details ol li { margin-bottom: 6px; }

/* ---- Reviews: contained band with cards that mirror the homepage quotes ---- */
.orb-product-reviews {
	margin-top: var(--orb-section);
	padding: var(--orb-section) 0;
	border-top: 0;
	background: var(--orb-bg-soft);
	color: var(--orb-bg-soft);
	box-shadow: 0 0 0 100vmax currentColor;
	clip-path: inset(0 -100vmax);
}
.orb-product-reviews > * { color: var(--orb-text); }
.orb-reviews__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 40px;
}
.orb-reviews__head h2 { color: var(--orb-ink); margin-bottom: 0.5rem; }
.orb-reviews__head p { margin: 0; color: var(--orb-muted); }
.woocommerce #reviews #comments .woocommerce-Reviews-title { display: none; }
.woocommerce #reviews #comments ol.commentlist {
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.woocommerce #reviews #comments ol.commentlist li { position: relative; }
.woocommerce #reviews #comments ol.commentlist li .comment_container { height: 100%; }
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 26px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(15,15,15,0.04);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating {
	order: 1;
	float: none;
	margin: 0;
	font-size: 0.95rem;
	letter-spacing: 2px;
	color: var(--orb-orange);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description { order: 2; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--orb-text);
	margin: 0;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	order: 3;
	margin: auto 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--orb-border);
	font-size: 0.85rem;
	color: var(--orb-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	align-items: center;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong {
	color: var(--orb-ink);
	font-weight: 600;
	width: 100%;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__dash { display: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__verified {
	font-size: 0.75rem;
	background: var(--orb-orange-soft);
	color: var(--orb-orange-text);
	padding: 2px 8px;
	border-radius: 999px;
	font-style: normal;
}
.woocommerce #reviews #comments .woocommerce-pagination { text-align: center; margin-top: 24px; }
.woocommerce #reviews #comments .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	border: 0;
}
.woocommerce #reviews #comments .woocommerce-pagination ul.page-numbers li { border: 0; }
.woocommerce #reviews #comments .woocommerce-pagination ul.page-numbers li .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid var(--orb-border);
	background: #fff;
	color: var(--orb-ink);
	font-weight: 500;
}
.woocommerce #reviews #comments .woocommerce-pagination ul.page-numbers li .page-numbers.current { background: var(--orb-ink); color: #fff; border-color: var(--orb-ink); }
.woocommerce #reviews #review_form_wrapper {
	margin: 40px auto 0;
	max-width: 760px;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 32px;
}
.woocommerce #reviews #review_form_wrapper .comment-reply-title {
	display: block;
	font-size: 1.8rem;
	margin-bottom: 1rem;
	color: var(--orb-ink);
}
.woocommerce #reviews #review_form_wrapper .comment-form-rating label,
.woocommerce #reviews #review_form_wrapper label { font-weight: 500; color: var(--orb-ink); font-size: 0.92rem; }
.woocommerce #reviews #review_form_wrapper .stars a { color: var(--orb-orange); }
.woocommerce #reviews #review_form_wrapper textarea { min-height: 140px; }
.woocommerce #reviews #review_form_wrapper .form-submit { margin: 0; }
.woocommerce #reviews #review_form_wrapper .comment-form-cookies-consent { font-size: 0.85rem; color: var(--orb-muted); }
.woocommerce #reviews #comments .woocommerce-noreviews {
	text-align: center;
	background: #fff;
	border: 1px dashed var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px;
}

/* Suggestions row sits on white below the reviews band */
.woocommerce .related.products,
.woocommerce .up-sells.products {
	border-top: 0;
	margin-top: 0;
	padding-top: var(--orb-section);
	padding-bottom: calc(var(--orb-section) * 0.5);
}

/* Story spacing: first band sits straight under the dark hero */
.woocommerce div.product .orb-product-story { margin-top: 0; }
.woocommerce div.product .orb-product-story > .orb-section:first-child { padding-top: var(--orb-section); }

/* =========================================================================
   13. Round 3: hero form details, unavailable variations, CR reviews plugin
   ========================================================================= */

/* Variation labels and helper links on the dark hero */
.woocommerce div.product .orb-product-hero form.cart .variations th,
.woocommerce div.product .orb-product-hero form.cart .variations th label,
.woocommerce div.product .orb-product-hero form.cart .variations td.label,
.woocommerce div.product .orb-product-hero form.cart .variations td.label label {
	color: rgba(255,255,255,0.65);
	font-family: var(--orb-body);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 500;
}
.woocommerce div.product .orb-product-hero form.cart .variations th { display: block; padding: 0 0 6px; }
.woocommerce div.product .orb-product-hero form.cart .variations .wvs-selected-item { color: #fff; font-weight: 600; letter-spacing: 0; text-transform: none; font-size: 0.95rem; }
.woocommerce div.product .orb-product-hero form.cart .variations a.reset_variations {
	display: inline-block;
	margin-top: 4px;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.3);
}
.woocommerce div.product .orb-product-hero form.cart .variations a.reset_variations:hover { color: var(--orb-orange); border-color: var(--orb-orange); }
.woocommerce div.product .orb-product-hero .stock.out-of-stock { color: #FF8A80; font-weight: 500; }
.woocommerce div.product .orb-product-hero .stock.in-stock { color: var(--orb-orange); }
.woocommerce div.product .orb-product-hero .woocommerce-variation-availability { margin-bottom: 8px; }

/* Add to basket when no purchasable variation is selected */
.woocommerce div.product .orb-product-hero form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product .orb-product-hero form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product .orb-product-hero form.cart .single_add_to_cart_button.wc-variation-is-unavailable,
.woocommerce div.product .orb-product-hero form.cart .single_add_to_cart_button.wc-variation-selection-needed {
	background: rgba(255,255,255,0.12) !important;
	border-color: transparent !important;
	color: rgba(255,255,255,0.55) !important;
	cursor: not-allowed;
	opacity: 1;
	transform: none;
}

/* Unavailable option for the current selection (set by orb-variations.js) */
.variable-items-wrapper .variable-item.orb-unavailable {
	opacity: 0.35 !important;
	filter: grayscale(1);
	position: relative;
}
.variable-items-wrapper .variable-item.button-variable-item.orb-unavailable { text-decoration: line-through; }
.variable-items-wrapper .variable-item.color-variable-item.orb-unavailable::after,
.variable-items-wrapper .variable-item.image-variable-item.orb-unavailable::after {
	content: "";
	position: absolute;
	left: -4px;
	right: -4px;
	top: 50%;
	height: 2px;
	background: #fff;
	transform: rotate(-45deg);
}
.variable-items-wrapper .variable-item.orb-unavailable.selected {
	background: transparent !important;
	border-color: #FF8A80 !important;
	color: #FF8A80 !important;
	opacity: 0.9 !important;
	filter: none;
}
.woocommerce div.product form.cart .variations select option.orb-unavailable { color: #aaa; text-decoration: line-through; }

/* Reviews band: sit straight after the last story section */
.woocommerce div.product .orb-product-reviews { margin-top: 0; }
.orb-product-reviews .orb-reviews__head { margin-bottom: 32px; }

/* ---- Customer Reviews for WooCommerce plugin markup ---- */
.orb-product-reviews .cr-reviews-ajax-reviews { max-width: 1000px; margin: 0 auto; }
.orb-product-reviews .cr-summaryBox-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 48px;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px 32px;
	margin: 0 0 20px;
}
.orb-product-reviews .cr-overall-rating-wrap {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	min-width: 200px;
	padding: 0;
}
.orb-product-reviews .cr-average-rating span {
	font-family: var(--orb-display);
	font-size: 3.4rem;
	line-height: 1;
	color: var(--orb-ink);
	font-weight: 400;
}
.orb-product-reviews .cr-total-rating-count { font-size: 0.85rem; color: var(--orb-muted); }
.orb-product-reviews .cr-ajax-reviews-add-review,
.orb-product-reviews .cr-show-more-reviews-prd {
	margin-top: 10px;
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 0.9rem;
	border-radius: var(--orb-radius-sm);
	padding: 12px 22px;
	background: var(--orb-orange);
	color: var(--orb-ink);
	border: 2px solid var(--orb-orange);
	cursor: pointer;
	line-height: 1.2;
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease;
}
.orb-product-reviews .cr-ajax-reviews-add-review:hover,
.orb-product-reviews .cr-show-more-reviews-prd:hover { background: var(--orb-orange-dark); border-color: var(--orb-orange-text); color: var(--orb-ink); }
.orb-product-reviews .cr-show-more-reviews-prd { background: transparent; border-color: var(--orb-ink); color: var(--orb-ink); }
.orb-product-reviews .cr-show-more-reviews-prd:hover { background: var(--orb-ink); border-color: var(--orb-ink); color: #fff; }
.orb-product-reviews .cr-summaryBox-ajax,
.orb-product-reviews .ivole-summaryBox { flex: 1 1 320px; min-width: 260px; }
.orb-product-reviews .cr-histogramTable { width: 100%; }
.orb-product-reviews .ivole-histogramRow { display: flex; align-items: center; gap: 12px; padding: 4px 0; }
.orb-product-reviews .ivole-histogramCell1 { width: 44px; font-size: 0.85rem; color: var(--orb-ink); white-space: nowrap; }
.orb-product-reviews .ivole-histogramCell2 { flex: 1; }
.orb-product-reviews .ivole-histogramCell3 { width: 40px; text-align: right; font-size: 0.85rem; color: var(--orb-muted); }
.orb-product-reviews .ivole-meter {
	background: var(--orb-bg-soft);
	border: 0;
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}
.orb-product-reviews .ivole-meter-bar {
	background: var(--orb-orange);
	height: 10px;
	border-radius: 999px;
	color: transparent;
	font-size: 0;
}
.orb-product-reviews .cr-histogram-a { text-decoration: none; color: inherit; }
.orb-product-reviews .cr-histogram-rating-label { display: inline-flex; align-items: center; gap: 4px; }
.orb-product-reviews .cr-histogram-rating-icon,
.orb-product-reviews .cr-histogram-rating-label svg { width: 12px; height: 12px; }

/* Stars: orange on a pale track */
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-base svg,
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-base svg * { fill: #E6E4DF; }
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt svg,
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt svg *,
.orb-product-reviews .cr-histogram-rating-label svg,
.orb-product-reviews .cr-histogram-rating-label svg * { fill: var(--orb-orange); }

/* Search and sort row */
.orb-product-reviews .cr-ajax-search { margin: 0 0 12px; }
.orb-product-reviews .cr-ajax-search > div {
	position: relative;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 0 14px;
}
.orb-product-reviews .cr-ajax-search input.cr-input-text {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 13px 10px;
	font-family: var(--orb-body);
	font-size: 0.95rem;
	box-shadow: none;
}
.orb-product-reviews .cr-ajax-search input.cr-input-text:focus:not(:focus-visible) { outline: none; }
.orb-product-reviews .cr-ajax-search svg { width: 16px; height: 16px; fill: var(--orb-muted); }
.orb-product-reviews .cr-count-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: transparent;
	border: 0;
	padding: 6px 4px 14px;
	font-size: 0.85rem;
	color: var(--orb-muted);
}
.orb-product-reviews .cr-ajax-reviews-sort {
	border: 1px solid var(--orb-border);
	border-radius: 8px;
	background: #fff;
	padding: 6px 30px 6px 10px;
	font-family: var(--orb-body);
	font-size: 0.85rem;
	color: var(--orb-ink);
}

/* Review cards */
.woocommerce #reviews ol.commentlist.cr-ajax-reviews-list,
.orb-product-reviews ol.cr-ajax-reviews-list {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.orb-product-reviews ol.cr-ajax-reviews-list > li.review {
	margin: 0;
	padding: 26px;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	box-shadow: 0 6px 20px rgba(15,15,15,0.04);
	display: flex;
	flex-direction: column;
}
.orb-product-reviews ol.cr-ajax-reviews-list > li.review > .comment_container { flex: 1; display: flex; }
.orb-product-reviews .cr-comment-text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}
.orb-product-reviews .cr-comment-text .crstar-rating-svg { order: 1; }
.orb-product-reviews .cr-comment-text .description { order: 2; }
.orb-product-reviews .cr-comment-text .description p {
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--orb-text);
	margin: 0 0 0.6em;
}
.orb-product-reviews .cr-comment-text .description p:last-child { margin-bottom: 0; }
.orb-product-reviews .cr-comment-text > .meta {
	order: 3;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--orb-border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 10px;
	font-size: 0.85rem;
	color: var(--orb-muted);
}
.orb-product-reviews .cr-meta-author-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.orb-product-reviews .woocommerce-review__author { font-weight: 600; color: var(--orb-ink); font-size: 0.92rem; }
.orb-product-reviews .woocommerce-review__verified {
	font-size: 0.72rem;
	background: var(--orb-orange-soft);
	color: var(--orb-orange-text);
	padding: 2px 8px;
	border-radius: 999px;
	font-style: normal;
	font-weight: 500;
}
.orb-product-reviews .woocommerce-review__published-date { font-size: 0.8rem; color: var(--orb-muted); }
.orb-product-reviews .cr-meta-author-featured-date svg { width: 14px; height: 14px; fill: var(--orb-orange); }

/* Replies from the store, nested inside the card */
.orb-product-reviews ol.cr-ajax-reviews-list ul.children {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}
.orb-product-reviews ol.cr-ajax-reviews-list ul.children > li {
	margin: 0;
	padding: 14px 16px;
	background: var(--orb-bg-soft);
	border-radius: var(--orb-radius-sm);
	border-left: 3px solid var(--orb-orange);
}
.orb-product-reviews ol.cr-ajax-reviews-list ul.children .cr-comment-text { gap: 6px; }
.orb-product-reviews ol.cr-ajax-reviews-list ul.children .cr-comment-text > .meta {
	order: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.orb-product-reviews ol.cr-ajax-reviews-list ul.children .description p { font-size: 0.9rem; }
.orb-product-reviews ol.cr-ajax-reviews-list ul.children .woocommerce-review__verified {
	background: var(--orb-ink);
	color: #fff;
}

.orb-product-reviews .cr-show-more-review-spinner-cnt { text-align: center; margin-top: 20px; }
.orb-product-reviews .cr-search-no-reviews {
	text-align: center;
	background: #fff;
	border: 1px dashed var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px;
	color: var(--orb-muted);
}

/* Review form (plugin's AJAX form) */
.orb-product-reviews .cr-review-form-wrap,
.orb-product-reviews #review_form_wrapper {
	margin: 24px auto 0;
	max-width: 760px;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	padding: 28px 32px;
}
.orb-product-reviews .cr-review-form-wrap input[type="text"],
.orb-product-reviews .cr-review-form-wrap input[type="email"],
.orb-product-reviews .cr-review-form-wrap textarea {
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	width: 100%;
	padding: 10px 12px;
	font-family: var(--orb-body);
}
.orb-product-reviews .cr-review-form-wrap button,
.orb-product-reviews .cr-review-form-wrap input[type="submit"],
.orb-product-reviews .cr-review-form-continue {
	font-family: var(--orb-body);
	font-weight: 600;
	border-radius: var(--orb-radius-sm);
	padding: 12px 22px;
	background: var(--orb-orange);
	color: var(--orb-ink);
	border: 2px solid var(--orb-orange);
	cursor: pointer;
}

@media (max-width: 1024px) {
	.woocommerce #reviews #comments ol.commentlist { grid-template-columns: repeat(2, 1fr); }
}
/* Higher-specificity overrides: the reviews plugin styles its list with an ID selector */
.woocommerce #reviews ol.commentlist.cr-ajax-reviews-list > li.review,
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list > li.review {
	background: #fff !important;
	border: 1px solid var(--orb-border) !important;
	border-radius: var(--orb-radius) !important;
	padding: 26px !important;
	margin: 0 !important;
	box-shadow: 0 6px 20px rgba(15,15,15,0.04);
	display: flex;
	flex-direction: column;
}
.woocommerce #reviews ol.commentlist.cr-ajax-reviews-list > li.review > .comment_container,
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list > li.review > .comment_container {
	flex: 1;
	display: flex;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list li .cr-comment-text {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list ul.children {
	margin: 14px 0 0 !important;
	padding: 0 !important;
}
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list ul.children > li {
	background: var(--orb-bg-soft) !important;
	padding: 14px 16px !important;
	margin: 0 !important;
	border: 0 !important;
	border-left: 3px solid var(--orb-orange) !important;
	border-radius: var(--orb-radius-sm) !important;
}
.woocommerce #reviews #comments .cr-summaryBox-wrap { display: flex !important; }
.woocommerce #reviews #comments .cr-ajax-reviews-add-review,
.woocommerce #reviews #comments .cr-show-more-reviews-prd {
	background: var(--orb-orange) !important;
	border: 2px solid var(--orb-orange) !important;
	color: var(--orb-ink) !important;
	border-radius: var(--orb-radius-sm) !important;
	padding: 12px 22px !important;
	font-family: var(--orb-body) !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	box-shadow: none !important;
}
.woocommerce #reviews #comments .cr-show-more-reviews-prd { background: transparent !important; border-color: var(--orb-ink) !important; }
.woocommerce #reviews #comments .cr-ajax-reviews-add-review:hover { background: var(--orb-orange-dark) !important; border-color: var(--orb-orange-text) !important; }
.woocommerce #reviews #comments .cr-show-more-reviews-prd:hover { background: var(--orb-ink) !important; color: #fff !important; }
.woocommerce #reviews #comments .woocommerce-review__author { font-weight: 600 !important; color: var(--orb-ink) !important; }

@media (max-width: 782px) {
	.orb-product-reviews ol.cr-ajax-reviews-list { grid-template-columns: 1fr !important; }
	.orb-product-reviews .cr-summaryBox-wrap { padding: 22px; }
}
@media (max-width: 921px) {
	.woocommerce div.product .orb-product-hero { padding-top: 24px; }
	.woocommerce div.product .orb-product-hero div.images { margin-bottom: 28px; }
}
@media (max-width: 782px) {
	.woocommerce #reviews #comments ol.commentlist { grid-template-columns: 1fr; }
	.woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(5, 1fr); gap: 6px; }
	.woocommerce #reviews #review_form_wrapper { padding: 22px; }
}

/* =========================================================================
   14. Round 4: review polish, quantity buttons, dark shop / basket / order
   ========================================================================= */

/* ---- Review stars: fill only the star path, never the 24x24 background path of the icon ---- */
.orb-product-reviews .crstar-rating-svg svg path[stroke="none"],
.orb-product-reviews .cr-histogram-rating-label svg path[stroke="none"] { fill: none !important; }
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-base svg path:not([stroke="none"]) { fill: #E6E4DF !important; stroke: #E6E4DF !important; }
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt svg path:not([stroke="none"]),
.orb-product-reviews .cr-histogram-rating-label svg path:not([stroke="none"]) { fill: var(--orb-orange) !important; stroke: var(--orb-orange) !important; }
.orb-product-reviews .crstar-rating-svg svg { width: 18px; height: 18px; }
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg svg { width: 24px; height: 24px; }
.orb-product-reviews .cr-histogram-rating-label svg { width: 13px; height: 13px; }

/* Histogram: flat pill bars, no bevel */
.woocommerce #reviews #comments .ivole-meter,
.orb-product-reviews .ivole-meter {
	background: #ECEAE5 !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 999px !important;
	height: 10px !important;
	overflow: hidden;
}
.woocommerce #reviews #comments .ivole-meter-bar,
.orb-product-reviews .ivole-meter-bar {
	background: var(--orb-orange) !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 999px !important;
	height: 10px !important;
	color: transparent !important;
	font-size: 0 !important;
	text-indent: -9999px;
}
.orb-product-reviews .ivole-histogramCell1,
.orb-product-reviews .ivole-histogramCell3 { color: var(--orb-ink); }

/* Review photos */
.orb-product-reviews .cr-comment-image-top { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.orb-product-reviews .cr-comment-image-top-item,
.orb-product-reviews .description img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--orb-border);
	background: var(--orb-bg-soft);
	cursor: pointer;
	margin: 0;
}
.orb-product-reviews .cr-comment-videoicon { width: 28px; height: 28px; border: 0; background: transparent; }

/* Store replies: collapsed by default, revealed with a toggle */
.orb-product-reviews ol.cr-ajax-reviews-list ul.children.orb-hidden { display: none !important; }
.orb-product-reviews .orb-reply-toggle {
	align-self: flex-start;
	margin-top: 14px;
	background: transparent;
	border: 1px solid var(--orb-border);
	border-radius: 999px;
	padding: 7px 14px;
	font-family: var(--orb-body);
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--orb-ink);
	cursor: pointer;
	line-height: 1.2;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.orb-product-reviews .orb-reply-toggle:hover,
.orb-product-reviews .orb-reply-toggle.is-open { border-color: var(--orb-ink); background: var(--orb-ink); color: #fff; }
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list ul.children .woocommerce-review__verified {
	background: var(--orb-ink) !important;
	color: #fff !important;
}
.woocommerce #reviews #comments ol.commentlist.cr-ajax-reviews-list ul.children .cr-meta-author-featured-date svg { display: none; }

/* ---- Quantity stepper: white block, no borders ---- */
.woocommerce div.product form.cart div.quantity,
.woocommerce-cart table.shop_table div.quantity {
	display: inline-flex !important;
	align-items: stretch;
	background: #fff;
	border-radius: var(--orb-radius-sm);
	overflow: hidden;
	height: 52px;
	margin: 0 12px 0 0;
	border: 0;
	box-shadow: none;
}
.woocommerce .quantity .ast-qty-placeholder,
.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 100% !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--orb-ink) !important;
	font-family: var(--orb-body);
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: color .15s ease, background .15s ease;
}
.woocommerce .quantity .ast-qty-placeholder:hover { color: var(--orb-orange) !important; background: var(--orb-bg-soft) !important; }
.woocommerce div.product form.cart div.quantity .qty,
.woocommerce-cart table.shop_table div.quantity .qty,
.woocommerce .quantity .qty {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	color: var(--orb-ink) !important;
	height: 100% !important;
	width: 48px;
	text-align: center;
	font-family: var(--orb-body);
	font-weight: 600;
	font-size: 1rem;
	padding: 0;
	-moz-appearance: textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity .qty:focus:not(:focus-visible) { outline: none; }
.woocommerce-cart table.shop_table div.quantity { height: 44px; }
.woocommerce-cart table.shop_table div.quantity .ast-qty-placeholder { width: 34px; min-width: 34px; }
.woocommerce-cart table.shop_table div.quantity .qty { width: 40px; }

/* ---- Unavailable swatches are only applied after a click, so a selected item is never crossed out ---- */
.variable-items-wrapper .variable-item.orb-unavailable.selected { opacity: 0.35 !important; border-color: rgba(255,255,255,0.28) !important; color: #fff !important; filter: grayscale(1); }

/* ---- Shop and category archives: dark product tiles on the white page ---- */
.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
	background: var(--orb-ink-soft);
	border-color: rgba(255,255,255,0.08);
}
.post-type-archive-product ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
.tax-product_tag ul.products li.product:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.45); border-color: rgba(255,255,255,0.14); }
.post-type-archive-product ul.products li.product .astra-shop-thumbnail-wrap,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap { background: #141414; }
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product ul.products li.product .woocommerce-loop-product__title a,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title a { color: #fff; }
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price { color: #fff; }
.post-type-archive-product ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del { color: rgba(255,255,255,0.45); }
.post-type-archive-product ul.products li.product .ast-woo-product-category,
.tax-product_cat ul.products li.product .ast-woo-product-category,
.post-type-archive-product ul.products li.product .woocommerce-product-details__short-description,
.tax-product_cat ul.products li.product .woocommerce-product-details__short-description { color: rgba(255,255,255,0.6); }
.post-type-archive-product ul.products li.product .star-rating::before,
.tax-product_cat ul.products li.product .star-rating::before { color: rgba(255,255,255,0.2); }
.post-type-archive-product ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button {
	background: #fff;
	border-color: #fff;
	color: var(--orb-ink);
}
.post-type-archive-product ul.products li.product .button:hover,
.tax-product_cat ul.products li.product .button:hover,
.tax-product_tag ul.products li.product .button:hover { background: var(--orb-orange); border-color: var(--orb-orange); color: var(--orb-ink); }
.post-type-archive-product ul.products li.product .ast-on-card-button,
.tax-product_cat ul.products li.product .ast-on-card-button { background: #fff; color: var(--orb-ink); }
.post-type-archive-product ul.products li.product .ast-on-card-button:hover,
.tax-product_cat ul.products li.product .ast-on-card-button:hover { background: var(--orb-orange); color: var(--orb-ink); }
.post-type-archive-product ul.products li.product .ast-on-card-button .ast-icon svg,
.tax-product_cat ul.products li.product .ast-on-card-button .ast-icon svg { fill: var(--orb-ink); }


/* =========================================================================
   15. Round 5: review details, homepage link fixes, team page
   ========================================================================= */

/* Reply toggle in orange */
.orb-product-reviews .orb-reply-toggle {
	background: var(--orb-orange);
	border-color: var(--orb-orange);
	color: var(--orb-ink);
	font-weight: 600;
}
.orb-product-reviews .orb-reply-toggle:hover,
.orb-product-reviews .orb-reply-toggle.is-open { background: var(--orb-ink); border-color: var(--orb-ink); color: #fff; }

/* Histogram bars: the plugin paints a translucent stripe with ::before, remove it */
.orb-product-reviews .ivole-meter-bar::before,
.orb-product-reviews .ivole-meter-bar::after,
.orb-product-reviews .ivole-meter::before,
.orb-product-reviews .ivole-meter::after { display: none !important; content: none !important; }

/* Stars: keep the base and overlay layers the same size so nothing crops */
.orb-product-reviews .crstar-rating-svg svg { width: 20px; height: 20px; }
.orb-product-reviews .crstar-rating-svg,
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-base,
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt { height: 20px; overflow: visible; }
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt { overflow: hidden; }
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg,
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg .cr-rating-icon-base,
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg .cr-rating-icon-frnt { height: 26px; }
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg { width: 130px; }
.orb-product-reviews .cr-average-rating-stars .crstar-rating-svg svg { width: 26px; height: 26px; }
.orb-product-reviews .cr-average-rating-stars { margin: 4px 0 2px; }

/* Search field: icon sits inline before the text instead of floating over it */
.orb-product-reviews .cr-ajax-search > div > svg,
.orb-product-reviews .cr-ajax-search svg:first-child {
	position: static !important;
	transform: none !important;
	width: 16px !important;
	height: 16px !important;
	flex: 0 0 16px;
	margin: 0 4px 0 0;
	top: auto !important;
	left: auto !important;
}
.orb-product-reviews .cr-ajax-search input.cr-input-text { padding-left: 8px !important; height: 44px; }
.orb-product-reviews .cr-ajax-search .cr-clear-input { position: static; display: inline-flex; align-items: center; }
.orb-product-reviews .cr-ajax-search .cr-clear-input svg { width: 14px; height: 14px; }

/* Basket quantity stepper on the light table: soft block so it stays visible */
.woocommerce-cart table.shop_table div.quantity { background: var(--orb-bg-soft); }
.woocommerce-cart table.shop_table div.quantity .ast-qty-placeholder,
.woocommerce-cart table.shop_table div.quantity .minus,
.woocommerce-cart table.shop_table div.quantity .plus,
.woocommerce-cart table.shop_table div.quantity .qty { background: var(--orb-bg-soft) !important; }
.woocommerce-cart table.shop_table div.quantity .ast-qty-placeholder:hover { background: var(--orb-border) !important; }

/* Homepage: buttons and arrow links on dark bands */
.orb-on-dark a.orb-btn--ink,
.orb-section--dark a.orb-btn--ink { background: #fff; border-color: #fff; color: var(--orb-ink) !important; }
.orb-on-dark a.orb-btn--ink:hover,
.orb-section--dark a.orb-btn--ink:hover { background: var(--orb-orange); border-color: var(--orb-orange); color: var(--orb-ink) !important; }
.orb-on-dark a.orb-btn:not(.orb-btn--ink),
.orb-section--dark a.orb-btn:not(.orb-btn--ink) { color: var(--orb-ink) !important; }
a.orb-link-arrow,
.orb-on-dark a.orb-link-arrow,
.orb-link-arrow:hover { text-decoration: none !important; }

/* Team page: smaller portraits, cleaner profile cards, plain black Instagram icon */
.gb-block-profile.gb-profile-columns {
	background: var(--orb-bg-soft) !important;
	color: var(--orb-text) !important;
	border-radius: var(--orb-radius);
	padding: 28px !important;
	gap: 24px;
	align-items: flex-start;
	display: flex;
}
.gb-block-profile .gb-profile-avatar-wrap {
	flex: 0 0 150px;
	max-width: 150px;
	width: 150px;
}
.gb-block-profile .gb-profile-image-wrap,
.gb-block-profile .gb-profile-image-square { margin: 0; width: 150px; height: 150px; }
.gb-block-profile .gb-profile-avatar,
.gb-block-profile .gb-profile-image-square img {
	width: 150px !important;
	height: 150px !important;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}
.gb-block-profile .gb-profile-content-wrap { flex: 1 1 auto; text-align: left !important; }
.gb-block-profile .gb-profile-name { font-size: 1.9rem !important; margin: 0 0 2px !important; color: var(--orb-ink) !important; }
.gb-block-profile .gb-profile-title {
	font-family: var(--orb-body);
	font-size: 0.8rem !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--orb-orange-text) !important;
	margin: 0 0 12px !important;
	font-weight: 600;
}
.gb-block-profile .gb-profile-text,
.gb-block-profile .gb-profile-text p { font-size: 0.95rem; line-height: 1.6; color: var(--orb-text); }
.gb-block-profile ul.gb-social-links { margin: 14px 0 0; padding: 0; justify-content: flex-start; }
.gb-block-profile ul.gb-social-links li { margin: 0 10px 0 0; }
.gb-block-profile ul.gb-social-links li a {
	background: transparent !important;
	padding: 0 !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
}
.gb-block-profile ul.gb-social-links li a svg { width: 24px; height: 24px; fill: var(--orb-ink) !important; transition: fill .15s ease; }
.gb-block-profile ul.gb-social-links li a svg * { fill: var(--orb-ink) !important; }
.gb-block-profile ul.gb-social-links li a:hover svg,
.gb-block-profile ul.gb-social-links li a:hover svg * { fill: var(--orb-orange) !important; }
.page .gb-layout-team-1.alignfull { padding: 48px 20px 64px !important; }
.page .gb-layout-team-1 .gb-container-content h1 { margin-bottom: 0.5rem; }
@media (max-width: 600px) {
	.gb-block-profile.gb-profile-columns { flex-direction: column; align-items: center; text-align: center; }
	.gb-block-profile .gb-profile-content-wrap { text-align: center !important; }
	.gb-block-profile ul.gb-social-links { justify-content: center; }
}

/* =========================================================================
   16. Round 6: hide review media strip, product page top gap, image frames,
       3:2 image ratios, footer layout
   ========================================================================= */

/* Reviews plugin: hide the "Customer photos and videos" strip */
.orb-product-reviews .cr-ajax-reviews-cus-images-div { display: none !important; }

/* Product pages: Astra adds a 60px top margin to the content area on desktop */
.single-product #primary,
.single-product .ast-woocommerce-container { margin-top: 0 !important; }

/* Image blocks: no shadow box behind rounded images; the figure carries the radius */
.entry-content .wp-block-image,
.orb-split .wp-block-image,
.orb-section .wp-block-image {
	box-shadow: none !important;
	background: transparent !important;
	border-radius: var(--orb-radius);
	overflow: hidden;
	margin: 0;
}
.orb-split .wp-block-image img,
.orb-split .wp-block-column img,
.orb-split img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--orb-radius);
	display: block;
}

/* 3:2 everywhere images sit in cards */
.orb-feature img { aspect-ratio: 3 / 2; }
.orb-product-card img { aspect-ratio: 3 / 2; }
.woocommerce ul.products li.product a img { aspect-ratio: 3 / 2; width: 100%; }
.orb-product-story .orb-feature img,
.orb-product-story .orb-product-card img { aspect-ratio: 3 / 2; }

/* Footer: brand column centred, no menu, trust column */
.site-footer .ast-footer-html-1 .ast-builder-html-element { text-align: center; }
.site-footer .ast-footer-html-1 .orb-footer__logo { margin: 0 auto 14px; }
.site-footer .ast-footer-html-1 p { margin-left: auto; margin-right: auto; max-width: 360px; }
.site-footer .orb-footer__trust { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.site-footer .orb-footer__trust li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 0.92rem;
	line-height: 1.5;
	color: rgba(255,255,255,0.75);
}
.site-footer .orb-footer__trust img,
.site-footer .orb-footer__trust svg { flex: 0 0 auto; width: 32px; height: 32px; margin-top: 2px; }
.site-footer .orb-footer__trust svg { fill: #00B67A; }
.site-footer .orb-footer__trust a { color: #fff; border-bottom: 1px solid rgba(255,255,255,0.35); text-decoration: none; }
.site-footer .orb-footer__trust a:hover { color: var(--orb-orange); border-color: var(--orb-orange); }
.site-footer .orb-footer__trust strong { color: #fff; font-weight: 600; }
.site-footer .footer-widget-area .widget-title,
.site-footer .footer-widget-area .wp-block-heading { font-family: var(--orb-display); font-weight: 400; font-size: 1.25rem; letter-spacing: 0.04em; color: #fff; margin: 0 0 14px; }
.site-footer .footer-widget-area.widget_custom_html,
.site-footer .footer-widget-area.widget_block { color: rgba(255,255,255,0.75); }
@media (max-width: 921px) {
	.site-footer .ast-footer-html-1 .ast-builder-html-element { text-align: center; }
}

/* =========================================================================
   17. Team page
   ========================================================================= */
.orb-team { padding-top: clamp(40px, 6vw, 72px); }
.orb-team .orb-section__head { text-align: center; max-width: 720px; margin: 0 auto 44px; }
.orb-team .orb-section__head h1 { margin-bottom: 0.5rem; }
.orb-team .orb-section__head p:last-child { color: var(--orb-muted); margin: 0; }
.orb-team__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
}
.orb-team__card {
	display: grid;
	grid-template-columns: 180px 1fr;
	background: var(--orb-bg);
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.orb-team__card:hover { transform: translateY(-3px); box-shadow: var(--orb-shadow); }
.orb-team__photo { background: var(--orb-bg-soft); min-height: 100%; }
.orb-team__photo img {
	width: 100%;
	height: 100%;
	min-height: 240px;
	object-fit: cover;
	display: block;
	margin: 0;
	border-radius: 0;
	aspect-ratio: auto;
}
.orb-team__body { padding: 24px 26px 22px; display: flex; flex-direction: column; }
.orb-team__body h2 { font-size: 1.9rem; margin: 0 0 2px; line-height: 1; }
.orb-team__role {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--orb-orange-text);
	margin: 0 0 12px;
}
.orb-team__lead { font-size: 0.95rem; line-height: 1.55; color: var(--orb-text); margin: 0; }
.orb-team__more { margin: 8px 0 0; }
.orb-team__more > p { font-size: 0.95rem; line-height: 1.55; color: var(--orb-text); margin: 8px 0 0; }
.orb-team__more summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--orb-ink);
	border-bottom: 2px solid var(--orb-orange);
	padding-bottom: 1px;
	width: max-content;
}
.orb-team__more summary::-webkit-details-marker { display: none; }
.orb-team__more summary::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .15s ease;
}
.orb-team__more[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.orb-team__more summary:hover { color: var(--orb-orange-text); }
.orb-team__more-close { display: none; }
.orb-team__more[open] .orb-team__more-open { display: none; }
.orb-team__more[open] .orb-team__more-close { display: inline; }
.orb-team__social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 16px;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--orb-muted);
	text-decoration: none !important;
	width: max-content;
}
.orb-team__social svg { width: 20px; height: 20px; fill: var(--orb-ink); transition: fill .15s ease; }
.orb-team__social:hover { color: var(--orb-ink); }
.orb-team__social:hover svg { fill: var(--orb-orange); }
@media (max-width: 1024px) {
	.orb-team__grid { grid-template-columns: 1fr; }
	.orb-team__card { grid-template-columns: 200px 1fr; }
}
@media (max-width: 600px) {
	.orb-team__card { grid-template-columns: 1fr; }
	.orb-team__photo img { min-height: 0; aspect-ratio: 4 / 3; }
}

/* =========================================================================
   18. Footer: centre every column
   ========================================================================= */
.site-footer .site-primary-footer-inner-wrap .site-footer-section,
.site-footer .site-primary-footer-inner-wrap .ast-builder-html-element,
.site-footer .site-primary-footer-inner-wrap .footer-widget-area { text-align: center; }
.site-footer .orb-footer__list { justify-items: center; }
.site-footer .orb-footer__trust { justify-items: center; max-width: 320px; margin: 0 auto; gap: 22px; }
.site-footer .orb-footer__trust li {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}
.site-footer .orb-footer__trust img,
.site-footer .orb-footer__trust svg { margin-top: 0; }
.site-footer .site-below-footer-inner-wrap .site-footer-section { justify-content: center; text-align: center; }
.site-footer .ast-footer-social-wrap .footer-social-inner-wrap { justify-content: center; }

/* =========================================================================
   19. Cycle to Work page (3393): legibility
   ========================================================================= */
.page-id-3393 .entry-content > .wp-block-cover {
	border-radius: var(--orb-radius);
	overflow: hidden;
	min-height: 440px !important;
	margin-bottom: 36px;
}
.page-id-3393 .wp-block-cover .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(180deg, rgba(15,15,15,0.35) 0%, rgba(15,15,15,0.72) 100%) !important;
}
.page-id-3393 .wp-block-cover .wp-block-cover__inner-container { max-width: 820px; padding: 24px; }
.page-id-3393 .wp-block-cover h1 { color: #fff !important; font-size: clamp(2.8rem, 6vw, 4.5rem); margin-bottom: 0.4rem; }
.page-id-3393 .wp-block-cover p,
.page-id-3393 .wp-block-cover p strong {
	color: #fff !important;
	font-size: 1.15rem;
	font-weight: 500;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
.page-id-3393 .entry-content > p.has-medium-font-size {
	max-width: 760px;
	margin: 0 auto 8px;
	color: var(--orb-text);
	font-size: 1.15rem;
	line-height: 1.6;
}
.page-id-3393 .wp-block-separator { border-color: var(--orb-border); width: 80px; margin: 32px auto; }
.page-id-3393 .wp-block-media-text {
	align-items: center;
	gap: 40px;
	margin: 24px 0;
}
.page-id-3393 .wp-block-media-text .wp-block-media-text__media img {
	border-radius: var(--orb-radius);
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
	display: block;
}
.page-id-3393 .wp-block-media-text .wp-block-media-text__content { padding: 0 8px; }
.page-id-3393 .wp-block-media-text h2 { text-align: left; font-size: clamp(2rem, 3.5vw, 2.8rem); margin-bottom: 0.6rem; }
.page-id-3393 .wp-block-media-text p { text-align: left; color: var(--orb-text); line-height: 1.6; }
.page-id-3393 .wp-block-media-text ol { padding-left: 1.3em; margin: 0; color: var(--orb-text); line-height: 1.6; }
.page-id-3393 .wp-block-media-text ol li { margin-bottom: 10px; padding-left: 4px; }
.page-id-3393 .wp-block-media-text ol li::marker { color: var(--orb-orange-text); font-weight: 700; }
.page-id-3393 .wp-block-media-text a { color: var(--orb-orange-text); font-weight: 600; }
.page-id-3393 .wp-block-media-text .wp-block-image.aligncenter {
	float: none;
	margin: 18px 0 0;
	display: inline-block;
	background: #fff;
	border: 1px solid var(--orb-border);
	border-radius: var(--orb-radius-sm);
	padding: 12px 16px;
	box-shadow: none !important;
}
.page-id-3393 .wp-block-media-text .wp-block-image.aligncenter img { width: 180px; height: auto; aspect-ratio: auto; border-radius: 0; }
.page-id-3393 .wp-block-spacer { height: 12px !important; }
.page-id-3393 .wc-block-featured-product {
	border-radius: var(--orb-radius);
	overflow: hidden;
	margin: 24px 0 0;
	min-height: 540px !important;
}
.page-id-3393 .wc-block-featured-product .background-dim__overlay { opacity: 0.68 !important; }
.page-id-3393 .wc-block-featured-product__wrapper { padding: 48px 24px; }
.page-id-3393 .wc-block-featured-product__title { color: #fff !important; font-size: clamp(2.4rem, 5vw, 3.6rem); }
.page-id-3393 .wc-block-featured-product__description,
.page-id-3393 .wc-block-featured-product__description p { color: rgba(255,255,255,0.9) !important; font-size: 1.05rem; max-width: 640px; }
.page-id-3393 .wc-block-featured-product__description .orb-usp-list { text-align: left; display: inline-grid; margin: 12px auto 0; color: #fff; }
.page-id-3393 .wc-block-featured-product__price,
.page-id-3393 .wc-block-featured-product__price .amount { color: #fff !important; font-weight: 700; font-size: 1.4rem; }
.page-id-3393 .wc-block-featured-product .wp-block-button__link { background: var(--orb-orange); color: var(--orb-ink); border-color: var(--orb-orange); }
.page-id-3393 .wc-block-featured-product .wp-block-button__link:hover { background: var(--orb-orange-dark); border-color: var(--orb-orange-text); }
@media (max-width: 600px) {
	.page-id-3393 .wp-block-media-text { gap: 16px; }
	.page-id-3393 .wp-block-media-text .wp-block-media-text__content { padding: 0; }
}

/* Featured product block: the dim is drawn by the overlay pseudo-element */
.page-id-3393 .wc-block-featured-product .background-dim__overlay::before,
.wc-block-featured-product.has-background-dim .background-dim__overlay::before {
	opacity: 1 !important;
	background: linear-gradient(180deg, rgba(15,15,15,0.55) 0%, rgba(15,15,15,0.78) 100%) !important;
}

/* Single post featured image */
.single-post .post-thumb-img-content.post-thumb { margin: 0 0 32px; }
.single-post .post-thumb-img-content.post-thumb img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--orb-radius);
	display: block;
}

/* =========================================================================
   20. Hero video loop
   ========================================================================= */
.orb-hero__video {
	position: relative;
	aspect-ratio: 3 / 2;
	border-radius: var(--orb-radius);
	overflow: hidden;
	background: var(--orb-ink-soft);
	box-shadow: 0 30px 60px rgba(0,0,0,0.45);
}
.orb-hero__video video,
.orb-hero__video .orb-hero__video-fallback {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
	border-radius: 0;
}
.orb-hero__video .orb-hero__video-fallback { display: none; }
@media (prefers-reduced-motion: reduce) {
	.orb-hero__video video { display: none; }
	.orb-hero__video .orb-hero__video-fallback { display: block; }
}
.orb-hero__video--inline { box-shadow: 0 10px 30px rgba(15,15,15,0.12); }
.orb-hero__video--inline video { pointer-events: none; }
/* The poster still only ever shows for reduced-motion users, whatever column rules apply */
.orb-hero__video img.orb-hero__video-fallback,
.orb-split .orb-hero__video img.orb-hero__video-fallback { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	.orb-hero__video img.orb-hero__video-fallback,
	.orb-split .orb-hero__video img.orb-hero__video-fallback { display: block !important; }
	.orb-hero__video video { display: none !important; }
}

/* =========================================================================
   21. Accessibility and interaction pass
   ========================================================================= */

/* Text orange for light backgrounds: 5.1:1 on white, 4.6:1 on the off-white bands */
:root { --orb-orange-text: #AD560C; }

/* Keyboard focus: one visible ring everywhere, orange on dark surfaces */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.variable-item:focus-visible {
	outline: 2px solid var(--orb-ink) !important;
	outline-offset: 3px !important;
	box-shadow: none;
}
.orb-on-dark a:focus-visible,
.orb-on-dark button:focus-visible,
.orb-section--dark a:focus-visible,
.orb-section--dark button:focus-visible,
.orb-section--dark summary:focus-visible,
.orb-product-hero a:focus-visible,
.orb-product-hero button:focus-visible,
.orb-product-hero input:focus-visible,
.orb-product-hero select:focus-visible,
.orb-product-hero .variable-item:focus-visible,
.orb-hero a:focus-visible,
.orb-hero button:focus-visible,
.site-footer a:focus-visible,
.site-footer button:focus-visible,
.site-footer input:focus-visible,
.post-type-archive-product ul.products li.product a:focus-visible,
.tax-product_cat ul.products li.product a:focus-visible {
	outline-color: var(--orb-orange) !important;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) { outline: none; }

/* Links inside running text are underlined, not colour-only */
.entry-content p a:not(.wp-block-button__link):not(.orb-btn):not(.orb-link-arrow),
.entry-content li a:not(.wp-block-button__link):not(.orb-btn),
.orb-product-story p a:not(.orb-btn),
.orb-product-story li a:not(.orb-btn),
.orb-product-story td a,
.orb-faq .wp-block-details a,
.orb-product-reviews .description a,
.woocommerce-product-details__short-description a,
.site-footer .orb-footer__trust a,
.site-footer .orb-footer__list a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.site-footer .orb-footer__trust a { border-bottom: 0; }

/* Star ratings on light backgrounds: 3.3:1 non-text contrast */
.orb-rating__stars,
.orb-quote__stars,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .star-rating span::before,
.orb-product-reviews .cr-average-rating-stars .cr-rating-icon-frnt svg path:not([stroke="none"]),
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt svg path:not([stroke="none"]),
.orb-product-reviews .cr-histogram-rating-label svg path:not([stroke="none"]) { color: var(--orb-orange-dark); }
.orb-product-reviews .crstar-rating-svg .cr-rating-icon-frnt svg path:not([stroke="none"]),
.orb-product-reviews .cr-histogram-rating-label svg path:not([stroke="none"]) { fill: var(--orb-orange-dark) !important; stroke: var(--orb-orange-dark) !important; }
.orb-hero__proof .orb-rating__stars,
.orb-on-dark .orb-rating__stars,
.orb-product-hero .star-rating,
.post-type-archive-product ul.products li.product .star-rating span::before,
.tax-product_cat ul.products li.product .star-rating span::before { color: var(--orb-orange); }

/* Larger tap targets */
.woocommerce div.product form.cart .variations a.reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: 0;
	padding: 0 2px;
}
.orb-product-reviews .orb-reply-toggle { min-height: 44px; padding: 10px 18px; }
.variable-items-wrapper .variable-item.color-variable-item { width: 44px !important; height: 44px !important; padding: 4px !important; }
.variable-items-wrapper .variable-item.button-variable-item { min-height: 44px; }
.woocommerce .quantity .ast-qty-placeholder,
.woocommerce .quantity .minus,
.woocommerce .quantity .plus { width: 44px; min-width: 44px; }
.woocommerce ul.products li.product .ast-on-card-button {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
@media (hover: none) {
	.woocommerce ul.products li.product .ast-on-card-button,
	.woocommerce ul.products li.product .ast-on-card-button .ast-card-action-tooltip { opacity: 1 !important; visibility: visible !important; }
}

/* Sticky add-to-basket bar never covers the last control on the page */
@media (max-width: 921px) {
	.single-product #content { padding-bottom: 88px; }
	.single-product html { scroll-padding-bottom: 96px; }
}
.single-product { scroll-padding-bottom: 96px; }

/* Footer copyright nudged above the contrast line */
.site-footer .ast-footer-copyright { color: rgba(255,255,255,0.58); }

/* Hero video pause control */
.orb-hero__video .orb-video-toggle {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: rgba(15,15,15,0.6);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	backdrop-filter: blur(4px);
	transition: background .15s ease;
}
.orb-hero__video .orb-video-toggle:hover { background: var(--orb-orange); color: var(--orb-ink); }
.orb-hero__video .orb-video-toggle svg { width: 18px; height: 18px; fill: currentColor; }
.orb-hero__video .orb-video-toggle .orb-video-toggle__play { display: none; }
.orb-hero__video .orb-video-toggle.is-paused .orb-video-toggle__play { display: block; }
.orb-hero__video .orb-video-toggle.is-paused .orb-video-toggle__pause { display: none; }
@media (prefers-reduced-motion: reduce) {
	.orb-hero__video .orb-video-toggle { display: none; }
}

/* Reduced motion: stop decorative movement */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
	.orb-feature:hover,
	.orb-product-card:hover,
	.orb-team__card:hover,
	.woocommerce ul.products li.product:hover,
	.orb-btn:hover,
	.wp-block-button__link:hover { transform: none !important; }
}
.orb-product-hero [tabindex]:focus-visible,
.orb-product-hero summary:focus-visible,
.orb-on-dark [tabindex]:focus-visible,
.orb-section--dark [tabindex]:focus-visible,
.orb-hero [tabindex]:focus-visible,
.site-footer [tabindex]:focus-visible { outline-color: var(--orb-orange) !important; }

/* Sticky add-to-basket bar: everything on one centre line */
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-content { align-items: center; }
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap { display: flex; align-items: center; gap: 14px; }
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap img { width: 64px; height: 44px; object-fit: cover; border-radius: 8px; margin: 0; }
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-wrap { display: flex; align-items: center; gap: 18px; }
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-price { margin: 0; font-weight: 700; font-size: 1.1rem; color: var(--orb-ink); }
.ast-sticky-add-to-cart #sticky-add-to-cart { display: flex; align-items: center; gap: 12px; }
.ast-sticky-add-to-cart #sticky-add-to-cart .ast-stock-detail { display: none; }
.ast-sticky-add-to-cart form.cart {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
}
.ast-sticky-add-to-cart form.cart div.quantity {
	display: inline-flex !important;
	align-items: stretch;
	height: 46px;
	margin: 0;
	background: var(--orb-bg-soft);
	border-radius: var(--orb-radius-sm);
	overflow: hidden;
	border: 0;
}
.ast-sticky-add-to-cart form.cart div.quantity .minus,
.ast-sticky-add-to-cart form.cart div.quantity .plus,
.ast-sticky-add-to-cart form.cart div.quantity .ast-qty-placeholder {
	height: 46px !important;
	width: 40px;
	min-width: 40px;
	background: var(--orb-bg-soft) !important;
	line-height: 46px !important;
	font-size: 1.1rem;
	padding: 0;
	margin: 0;
	position: static;
	top: auto;
}
.ast-sticky-add-to-cart form.cart div.quantity .qty {
	height: 46px !important;
	width: 44px;
	background: var(--orb-bg-soft) !important;
	padding: 0;
	margin: 0;
}
.ast-sticky-add-to-cart form.cart .single_add_to_cart_button {
	height: 46px;
	min-width: 0;
	padding: 0 24px;
	margin: 0;
	font-size: 0.95rem;
}
@media (max-width: 544px) {
	.ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap { display: none; }
	.ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-wrap { width: 100%; justify-content: space-between; gap: 10px; }
	.ast-sticky-add-to-cart form.cart .single_add_to_cart_button { padding: 0 16px; }
}
.ast-sticky-add-to-cart form.cart div.quantity { width: auto !important; min-width: 124px; max-width: none !important; flex: 0 0 auto; }
