/* ==========================================================
   Blast Collection — theme styles
   ========================================================== */

:root {
	--bt-navy: var(--wp--preset--color--navy, #243B55);
	--bt-ink: var(--wp--preset--color--ink, #0E0F12);
	--bt-mist: var(--wp--preset--color--mist, #EEF0F3);
	--bt-steel: var(--wp--preset--color--steel, #D6DDE8);
	--bt-muted: var(--wp--preset--color--muted, #59606C);
	--bt-line: var(--wp--preset--color--line, #E4E6EA);
	--bt-accent: var(--wp--preset--color--accent, #D7261E);
	--bt-display: var(--wp--preset--font-family--display, 'Anton', sans-serif);
	--bt-base: var(--wp--preset--color--base, #F3F4F6);
	--bt-gutter: clamp(16px, 3vw, 40px);
	--bt-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' viewBox='0 0 22 14' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M0 7h20M14 1l6 6-6 6'/%3E%3C/svg%3E");
}

.bt-main > * { margin-block-start: 0; }

.bt-section {
	max-width: 1440px;
	margin-inline: auto !important;
	padding: clamp(32px, 4vw, 56px) var(--bt-gutter);
	box-sizing: border-box;
}

/* ---------- Promo bar ---------- */
.bt-promo {
	background: var(--bt-navy);
	color: #fff;
	padding: 10px var(--bt-gutter);
}
.bt-promo__text {
	margin: 0;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ---------- Header ---------- */
.bt-header {
	border-bottom: 1px solid var(--bt-line);
	padding-inline: var(--bt-gutter);
	background: var(--bt-base);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .bt-header { top: 32px; }
.bt-header__inner {
	max-width: 1440px;
	margin-inline: auto !important;
	min-height: 72px;
	align-items: center;
	gap: 24px;
}
.bt-logo,
.bt-logo a {
	margin: 0;
	font-family: var(--bt-display);
	font-weight: 400;
	font-style: normal;
	font-size: 30px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bt-navy);
	line-height: 1;
}
.bt-nav {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	gap: 28px;
}
.bt-nav a { color: var(--bt-ink); text-decoration: none; }
.bt-nav a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.bt-nav .bt-nav__sale a { color: var(--bt-accent); }
.bt-header__icons { gap: 4px; align-items: center; }
.bt-header__icons .wp-block-search__button {
	background: transparent;
	color: var(--bt-ink);
	border: 0;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
}
.bt-header__icons .wc-block-mini-cart__button,
.bt-header__icons .wc-block-customer-account a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--bt-ink);
}

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { border-radius: 0; }
.bt-arrow .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}
.bt-arrow .wp-block-button__link::after,
.bt-arrow-link a::after {
	content: "";
	width: 22px;
	height: 14px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--bt-arrow) center / contain no-repeat;
	mask: var(--bt-arrow) center / contain no-repeat;
	transition: transform 0.2s ease;
}
.bt-arrow .wp-block-button__link:hover::after,
.bt-arrow-link a:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: #fff;
	color: var(--bt-navy);
	border: 2px solid var(--bt-navy);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--bt-navy);
	color: #fff;
}

/* White "highlight box" text, adidas-style */
.bt-boxed {
	display: inline;
	background: #fff;
	color: var(--bt-ink);
	padding: 4px 12px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	line-height: 1.5;
}
h1.bt-boxed, h2.bt-boxed { line-height: 1.25; }
h1.bt-boxed span, h2.bt-boxed span { background: #fff; }

/* ---------- Hero with 3D stack ---------- */
.bt-hero {
	position: relative;
	min-height: 640px;
	background: linear-gradient(180deg, #E9EDF3 0%, var(--bt-steel) 100%);
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	margin: 0 !important;
}
.bt-hero__stack {
	position: absolute;
	top: 50%;
	right: 8%;
	width: 520px;
	height: 460px;
	transform: translateY(-50%) perspective(1400px) rotateY(-22deg) rotateX(8deg);
	transform-style: preserve-3d;
	margin: 0 !important;
}
.bt-hero__card {
	position: absolute;
	margin: 0 !important;
	box-shadow: 0 30px 60px rgba(36, 59, 85, 0.28);
	transition: transform 0.5s cubic-bezier(.2,.7,.2,1);
}
.bt-hero__card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bt-hero__card--back  { left: 0;     top: 60px; width: 240px; height: 336px; transform: translateZ(-80px) rotate(-10deg); }
.bt-hero__card--main  { left: 140px; top: 20px; width: 260px; height: 364px; transform: translateZ(0); box-shadow: 0 40px 80px rgba(36, 59, 85, 0.32); }
.bt-hero__card--front { left: 300px; top: 90px; width: 220px; height: 308px; transform: translateZ(60px) rotate(9deg); }
.bt-hero:hover .bt-hero__card--back  { transform: translateZ(-80px) rotate(-14deg) translateX(-12px); }
.bt-hero:hover .bt-hero__card--front { transform: translateZ(80px) rotate(12deg) translateX(12px); }

.bt-hero__content {
	position: relative;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto !important;
	padding: 0 var(--bt-gutter) 64px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.bt-hero__content > * { margin: 0 !important; }
.bt-hero__content h1 { font-size: clamp(2.75rem, 6vw, 4rem); }
.bt-hero__sub { font-size: 17px; font-weight: 500; }
.bt-buttons { margin-top: 8px !important; gap: 12px; }

@media (max-width: 900px) {
	.bt-hero { flex-direction: column; align-items: stretch; min-height: 0; }
	.bt-hero__stack {
		position: relative;
		top: auto;
		right: auto;
		width: 340px;
		height: 300px;
		margin: 32px auto 0 !important;
		transform: perspective(1200px) rotateY(-18deg) rotateX(6deg) scale(0.65);
		transform-origin: center top;
	}
	.bt-hero__content { padding-top: 0; padding-bottom: 40px; }
}

/* ---------- Full-width photo banners (adidas-style) ---------- */
.bt-fullbanner {
	position: relative;
	min-height: clamp(480px, 70vh, 680px);
	background: #1B2738;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	margin: 24px 0 0 !important;
}
.bt-fullbanner--hero { min-height: clamp(560px, 88vh, 840px); margin-top: 0 !important; }
.bt-fullbanner__img {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
}
.bt-fullbanner__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-fullbanner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.45) 100%);
	pointer-events: none;
}
.bt-fullbanner__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto !important;
	padding: 0 var(--bt-gutter) clamp(40px, 6vw, 72px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.bt-fullbanner__content > * { margin: 0 !important; }
.bt-fullbanner--hero h1 { font-size: clamp(2.75rem, 6.5vw, 4.5rem); }
.bt-fullbanner h2 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
.bt-btn-light .wp-block-button__link,
.bt-btn-light .wp-block-button__link:hover {
	background: #fff !important;
	color: var(--bt-ink) !important;
	border: 0;
}
.bt-btn-light .wp-block-button__link:hover { background: var(--bt-mist) !important; }

/* ---------- Tabs + product grid ---------- */
.bt-tabs__bar {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--bt-line);
	margin-bottom: 28px;
}
.bt-tabs__btn {
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0 0 12px;
	margin-bottom: -1px;
	font-family: var(--bt-display);
	font-weight: 400;
	font-style: normal;
	font-size: 26px;
	text-transform: uppercase;
	color: #8A909A;
	border-bottom: 3px solid transparent;
}
.bt-tabs__btn[aria-selected="true"] { color: var(--bt-ink); border-bottom-color: var(--bt-ink); }
.bt-tabs__btn:focus-visible { outline: 2px solid var(--bt-navy); outline-offset: 4px; }
.bt-tabs.is-ready .bt-tab-panel__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bt-tabs.is-ready .bt-tab-panel[hidden] { display: none; }
.bt-tab-panel + .bt-tab-panel { margin-top: 40px; }
.bt-tabs.is-ready .bt-tab-panel + .bt-tab-panel { margin-top: 0; }

/* Product grids: 4 per row on desktop, 3 on tablet, 2 on phone.
   Covers the homepage rows (shortcodes) and the shop/category pages (blocks). */
.woocommerce ul.products,
.bt-section ul.products,
ul.wc-block-product-template,
.wc-block-product-template.is-flex-container,
.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.bt-section ul.products,
	ul.wc-block-product-template,
	.wc-block-product-template.is-flex-container,
	.wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
	.woocommerce ul.products,
	.bt-section ul.products,
	ul.wc-block-product-template,
	.wc-block-product-template.is-flex-container,
	.wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
ul.wc-block-product-template > li,
.wc-block-grid__product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	position: relative;
	border: 1px solid transparent;
	padding-bottom: 16px;
	background: transparent;
}
.woocommerce ul.products li.product:hover,
ul.wc-block-product-template > li:hover { border-color: var(--bt-ink); }

/* Every product photo uses the trading-card shape: 716 × 1000 (63 × 88 mm).
   The photo fills the frame edge to edge, with no white borders. */
.woocommerce ul.products li.product a img,
.wc-block-components-product-image img,
.wc-block-grid__product-image img,
.woocommerce-product-gallery__image img,
.wc-block-product-gallery-large-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 716 / 1000 !important;
	object-fit: contain !important;
	mix-blend-mode: multiply;
	background: transparent !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	display: block;
}
.woocommerce-product-gallery__image img,
.wc-block-product-gallery-large-image img { margin-bottom: 0 !important; }
.wc-block-components-product-image { margin-bottom: 12px !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: inherit;
	font-style: normal;
	text-transform: none;
	font-size: 15px;
	font-weight: 600;
	padding: 0 8px;
	color: var(--bt-ink);
}
.woocommerce ul.products li.product .price {
	display: block;
	color: var(--bt-ink);
	font-weight: 700;
	font-size: 14px;
	padding: 0 8px;
}
.woocommerce ul.products li.product .onsale {
	top: 12px;
	left: 12px;
	right: auto;
	margin: 0;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 6px 8px;
	border-radius: 0;
	background: var(--bt-accent);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.woocommerce ul.products li.product .button {
	margin: 8px 8px 0;
	border-radius: 0;
	background: var(--bt-navy);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 13px;
	opacity: 0;
	transition: opacity 0.2s;
}
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product .button:focus { opacity: 1; }
@media (hover: none) { .woocommerce ul.products li.product .button { opacity: 1; } }

.bt-viewall { margin-top: 16px; }
.bt-viewall a {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bt-ink);
	text-underline-offset: 4px;
}

/* ---------- Categories ---------- */
.bt-cats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}
.bt-cats > * { margin: 0 !important; }
.bt-cat { display: flex; flex-direction: column; gap: 12px; }
.bt-cat > * { margin: 0 !important; }
.bt-cat__img img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.bt-cat__img { overflow: hidden; }
.bt-cat:hover .bt-cat__img img { transform: scale(1.04); }
.bt-arrow-link a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bt-ink);
	text-decoration: none;
}

/* ---------- Feature banners ---------- */
.bt-banners {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	gap: 16px;
}
.bt-banners > * { margin: 0 !important; }
.bt-banner {
	position: relative;
	min-height: 520px;
	background: var(--bt-steel);
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.bt-banner--navy { background: var(--bt-navy); }
.bt-banner__img {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
}
.bt-banner__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-banner__content {
	position: relative;
	padding: 32px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.bt-banner__content > * { margin: 0 !important; }
.bt-banner--navy .wp-block-button.is-style-outline .wp-block-button__link { border-color: #fff; }

/* ---------- Trust row ---------- */
.bt-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px;
	border-top: 1px solid var(--bt-line);
}
.bt-trust > * { margin: 0 !important; }
.bt-trust__item {
	position: relative;
	padding-left: 58px;
	font-size: 14px;
	color: var(--bt-muted);
	line-height: 1.45;
	min-height: 44px;
}
.bt-trust__item strong {
	display: inline-block;
	margin-bottom: 4px;
	color: var(--bt-ink);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.bt-trust__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 44px;
	height: 44px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23243B55' stroke-width='2'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center / 22px no-repeat,
		#EEF1F6;
}

.bt-trust__item--star::before {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='%23243B55'%3E%3Cpath d='M12 2l3 6.6 7.2.7-5.4 4.8 1.6 7.1L12 17.6 5.6 21.2l1.6-7.1L1.8 9.3 9 8.6z'/%3E%3C/svg%3E") center / 22px no-repeat,
		#EEF1F6;
}
.bt-trust__item a { color: var(--bt-navy); font-weight: 600; }

/* ---------- Drop alerts ---------- */
.bt-alerts {
	background: var(--bt-navy);
	color: #fff;
	padding: 56px var(--bt-gutter) !important;
	margin: 0 !important;
}
.bt-alerts__inner { max-width: 1440px; margin-inline: auto !important; gap: 32px; align-items: center; }
.bt-alerts__text > * { margin: 0 0 8px !important; }
.bt-alerts__text p { color: #C9D3E3; }
.bt-alerts .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border-color: #fff;
}
.bt-alerts .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--bt-navy); }

/* ---------- Footer (navy, like the header bar) ---------- */
.bt-footer { padding: 56px var(--bt-gutter) 32px; background: var(--bt-navy); color: #fff; }
.bt-footer__cols {
	max-width: 1440px;
	margin-inline: auto !important;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 32px;
}
.bt-footer__cols > * { margin: 0 !important; }
.bt-footer__col p { margin: 0 0 10px; font-size: 14px; line-height: 2; color: #D6DDE8; }
.bt-footer__col a { color: #D6DDE8; text-decoration: none; }
.bt-footer__col a:hover { color: #fff; text-decoration: underline; }
.bt-footer__title { font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #fff !important; }
.bt-footer__blurb { color: #D6DDE8; line-height: 1.5 !important; }
.bt-footer .bt-logo, .bt-footer .bt-logo a { color: #fff; }
.bt-footer__bottom {
	max-width: 1440px;
	margin: 40px auto 0 !important;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 13px;
	color: #B9C4D4;
}
.bt-footer__bottom p { margin: 0; }

/* ---------- Inner pages ---------- */
.bt-page { padding-top: 48px; padding-bottom: 64px; }
.bt-page__title { margin-bottom: 24px; }

/* ---------- WooCommerce buttons everywhere ---------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
	border-radius: 0 !important;
	background: var(--bt-navy) !important;
	color: #fff !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
}
.woocommerce .button:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--bt-ink) !important; }

@media (prefers-reduced-motion: reduce) {
	.bt-hero__card, .bt-cat__img img, .bt-arrow .wp-block-button__link::after { transition: none; }
}

/* ---------- Product cards: buttons line up on every row ---------- */
.woocommerce ul.products li.product,
ul.wc-block-product-template > li {
	display: flex !important;
	flex-direction: column;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { flex: 1 1 auto; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.wc-block-product-template > li .wp-block-post-title {
	min-height: 2.6em;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.woocommerce ul.products li.product .price { margin-top: auto; }
.woocommerce ul.products li.product .button,
ul.wc-block-product-template > li .wp-block-button,
ul.wc-block-product-template > li .wc-block-components-product-button {
	margin-top: auto !important;
	align-self: center;
	opacity: 1;
}
ul.wc-block-product-template > li .wc-block-components-product-price { margin-bottom: 12px !important; }

/* ---------- Dropdown menus ---------- */
.bt-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	color: var(--bt-ink) !important;
	border: 1px solid var(--bt-line) !important;
	box-shadow: 0 12px 28px rgba(14, 15, 18, 0.12);
	padding: 8px 0;
	min-width: 230px !important;
	text-transform: none;
	letter-spacing: 0.02em;
	font-weight: 600;
}
.bt-nav .wp-block-navigation__submenu-container a { padding: 10px 18px !important; display: block; }
.bt-nav .wp-block-navigation__submenu-container a:hover { background: var(--bt-mist); text-decoration: none; }

/* ---------- Infinite scroll ---------- */
.bt-infinite { text-align: center; padding: 32px 0; color: var(--bt-muted); font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; }

/* ---------- Bearbrick photos: white background blends into the page ---------- */
li.product_cat-bearbrick img,
body.product_cat-bearbrick .woocommerce-product-gallery img,
body.product_cat-bearbrick .wc-block-product-gallery-large-image img,
body.product_cat-bearbrick .wp-block-woocommerce-product-image-gallery img {
	mix-blend-mode: multiply;
	background: transparent !important;
}
.bt-summary p { margin: 0 0 12px; line-height: 1.7; }

/* ---------- Brand above product name ---------- */
.bt-brand { margin: 0 0 4px !important; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.bt-brand a { color: var(--bt-muted); text-decoration: none; }
.bt-brand a:hover { color: var(--bt-navy); text-decoration: underline; }
.single-product .bt-brand { font-size: 15px; margin-bottom: 8px !important; }

/* ---------- Cart / checkout: hide product short descriptions ---------- */
.wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-mini-cart__products-table .wc-block-components-product-metadata__description { display: none !important; }

/* ---------- Storefront conversion and accessibility ---------- */
.bt-skip-link {
	position: fixed;
	z-index: 100000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	background: #fff;
	color: var(--bt-ink);
	font-weight: 700;
	transform: translateY(-160%);
	transition: transform 0.18s ease;
	box-shadow: 0 4px 18px rgba(14, 15, 18, 0.22);
}
.bt-skip-link:focus { transform: translateY(0); }

.woocommerce ul.products li.product,
ul.wc-block-product-template > li { position: relative; }
.bt-product-badge {
	position: absolute;
	z-index: 4;
	top: 12px;
	right: 12px;
	padding: 7px 10px;
	background: var(--bt-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(14, 15, 18, 0.16);
}
.bt-product-badge--preorder { background: var(--bt-ink); }
.bt-product-badge--new { background: var(--bt-navy); }

.bt-purchase-assurances {
	margin: 22px 0 0;
	padding: 18px 20px;
	list-style: none;
	border: 1px solid var(--bt-line);
	background: var(--bt-mist);
	font-size: 14px;
}
.bt-purchase-assurances li {
	position: relative;
	margin: 0;
	padding: 5px 0 5px 25px;
}
.bt-purchase-assurances li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--bt-navy);
	font-weight: 700;
}

@media (max-width: 781px) {
	.bt-promo__text { font-size: 11px; }
	.woocommerce ul.products li.product .button,
	ul.wc-block-product-template > li .wp-block-button,
	ul.wc-block-product-template > li .wc-block-components-product-button {
		width: 100%;
	}
}


/* Product page: see the "Product page" section at the end of this file. */

/* ---------- Brand directory ---------- */
.bt-brand-directory {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	margin: 28px 0 56px;
}
.bt-brand-directory__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	min-height: 190px;
	justify-content: center;
	padding: 24px 20px 22px;
	border: 1px solid var(--bt-line);
	color: var(--bt-ink);
	text-decoration: none;
	background: #fff;
	text-align: center;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.bt-brand-directory__item:hover {
	border-color: var(--bt-navy);
	box-shadow: 0 14px 30px rgba(15, 23, 42, .1);
	transform: translateY(-2px);
}
.bt-brand-directory__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 78px;
	margin-bottom: 6px;
}
.bt-brand-directory__logo img {
	display: block;
	max-width: 180px;
	max-height: 72px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.bt-brand-directory__item strong {
	font-family: var(--bt-display);
	font-size: 1.45rem;
	text-transform: uppercase;
}
.bt-brand-directory__count { color: var(--bt-muted); }


/* ---------- Hero: navy with a 3D fan of real cards ---------- */
.bt-hero3d {
	position: relative;
	min-height: clamp(560px, 86vh, 820px);
	background: radial-gradient(120% 90% at 75% 40%, #34567C 0%, #243B55 45%, #16263A 100%);
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	margin: 0 !important;
}
.bt-hero3d__glow {
	position: absolute;
	right: 6%;
	top: 50%;
	width: 620px;
	height: 620px;
	transform: translateY(-50%);
	background: radial-gradient(circle, rgba(140, 190, 255, 0.35) 0%, rgba(140, 190, 255, 0) 65%);
	pointer-events: none;
}
.bt-hero3d__stage {
	position: absolute;
	right: 7%;
	top: 50%;
	width: 560px;
	height: 520px;
	transform: translateY(-50%);
	perspective: 1600px;
	pointer-events: none;
}
.bt-hero3d__fan {
	position: relative;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transform: rotateY(-18deg) rotateX(8deg);
	animation: bt-float 6s ease-in-out infinite;
}
.bt-hero3d__card {
	position: absolute;
	width: 270px;
	aspect-ratio: 716 / 1000;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.12);
	mix-blend-mode: normal !important;
	background: #fff !important;
}
.bt-hero3d__card--back  { left: 20px;  top: 70px; transform: translateZ(-90px) rotate(-12deg); filter: brightness(0.85); }
.bt-hero3d__card--main  { left: 145px; top: 20px; width: 290px; transform: translateZ(10px); }
.bt-hero3d__card--front { left: 280px; top: 95px; transform: translateZ(70px) rotate(11deg); }
@keyframes bt-float {
	0%, 100% { transform: rotateY(-18deg) rotateX(8deg) translateY(0); }
	50%      { transform: rotateY(-12deg) rotateX(6deg) translateY(-10px); }
}
.bt-hero3d__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto !important;
	padding: 0 var(--bt-gutter) clamp(40px, 6vw, 80px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.bt-hero3d__content > * { margin: 0 !important; }
.bt-hero3d h1 { font-size: clamp(2.75rem, 6.5vw, 4.75rem); }

@media (max-width: 900px) {
	.bt-hero3d { flex-direction: column; align-items: stretch; min-height: 0; }
	.bt-hero3d__glow { right: 50%; top: 190px; transform: translate(50%, -50%); width: 420px; height: 420px; }
	.bt-hero3d__stage {
		position: relative;
		right: auto;
		top: auto;
		transform: scale(0.62);
		transform-origin: center top;
		margin: 24px auto -170px;
	}
	.bt-hero3d__content { padding-top: 0; padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
	.bt-hero3d__fan { animation: none; }
}

/* ==========================================================================
   Product page (templates/single-product.html)
   Two columns: a calm gallery on the left, one focused buying panel on the right.
   ========================================================================== */
.bt-pdp {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 var(--bt-gutter) 72px;
	box-sizing: border-box;
}
.bt-pdp > * { margin-block-start: 0 !important; }
.bt-pdp .woocommerce-breadcrumb,
.bt-pdp .wc-block-breadcrumbs {
	margin: 0 !important;
	padding: 20px 0 22px;
	font-size: 13px;
	color: var(--bt-muted);
}
.bt-pdp .woocommerce-breadcrumb a { color: var(--bt-muted); text-decoration: none; }
.bt-pdp .woocommerce-breadcrumb a:hover { color: var(--bt-ink); text-decoration: underline; }

.bt-pdp__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}
.bt-pdp__top > * { margin: 0 !important; }

/* Gallery */
.bt-pdp__media .woocommerce-product-gallery {
	position: relative;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	opacity: 1 !important;
}
.bt-pdp__media .woocommerce-product-gallery__wrapper,
.bt-pdp__media .flex-viewport {
	background: #fff;
	border: 1px solid var(--bt-line);
}
.bt-pdp__media .woocommerce-product-gallery__image { padding: clamp(20px, 4vw, 56px); box-sizing: border-box; }
.bt-pdp__media .woocommerce-product-gallery__image img {
	max-height: min(68vh, 720px);
	width: auto !important;
	max-width: 100%;
	margin: 0 auto !important;
	filter: drop-shadow(0 18px 30px rgba(14, 15, 18, 0.18));
	mix-blend-mode: normal;
}
.bt-pdp__media .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3 !important;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	background: #fff;
	border: 1px solid var(--bt-line);
	border-radius: 50%;
	font-size: 0;
	text-decoration: none;
}
.bt-pdp__media .woocommerce-product-gallery__trigger::before {
	content: "";
	width: 16px;
	height: 16px;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E0F12' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E");
}
.bt-pdp__media .woocommerce-product-gallery__trigger img { display: none; }
.bt-pdp__media .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, 76px);
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0;
	list-style: none;
}
.bt-pdp__media .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.bt-pdp__media .flex-control-thumbs img {
	width: 76px;
	height: 76px;
	object-fit: contain;
	padding: 6px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--bt-line);
	cursor: pointer;
	opacity: 1 !important;
	transition: border-color 0.15s ease;
}
.bt-pdp__media .flex-control-thumbs img.flex-active,
.bt-pdp__media .flex-control-thumbs img:hover { border-color: var(--bt-ink); }

/* Buying panel */
.bt-pdp__panel {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.bt-pdp__panel > * { margin: 0 !important; }
.bt-pdp__panel .bt-brand { margin: 0 0 10px !important; font-size: 13px; }
.bt-pdp__panel .bt-pdp__title {
	font-family: var(--bt-display);
	font-size: clamp(1.75rem, 2.6vw, 2.4rem);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--bt-ink);
	text-wrap: balance;
	max-width: none;
}
.bt-pdp__panel .bt-pdp__price { margin-top: 16px !important; }
.bt-pdp__panel .bt-pdp__price,
.bt-pdp__panel .bt-pdp__price .wc-block-components-product-price {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--bt-ink);
	text-align: left !important;
}
.bt-pdp__panel .bt-pdp__price del { color: var(--bt-muted); font-weight: 500; font-size: 0.75em; margin-right: 8px; }
.bt-pdp__panel .bt-pdp__price ins { color: var(--bt-accent); text-decoration: none; }

.bt-pdp__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 0 !important;
	padding: 0;
	list-style: none;
}
.bt-pdp__specs li {
	margin: 0;
	padding: 7px 12px;
	background: #fff;
	border: 1px solid var(--bt-line);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--bt-ink);
}

.bt-pdp__buy { margin-top: 26px !important; }
.bt-pdp__buy .stock {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
	background: none;
	font-size: 14px;
	font-weight: 600;
	color: #176b2c;
}
.bt-pdp__buy .stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}
.bt-pdp__buy .stock.out-of-stock { color: var(--bt-accent); }
.bt-pdp__buy form.cart {
	display: flex;
	gap: 10px;
	margin: 0 !important;
}
.bt-pdp__buy form.cart .quantity { margin: 0 !important; }
.bt-pdp__buy form.cart .quantity .qty {
	width: 64px;
	height: 56px;
	text-align: center;
	border: 1px solid var(--bt-steel);
	background: #fff;
	font-size: 16px;
}
.bt-pdp__buy .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 56px;
	margin: 0 !important;
	padding: 0 28px !important;
	background: var(--bt-navy) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: background 0.15s ease;
}
.bt-pdp__buy .single_add_to_cart_button:hover { background: var(--bt-ink) !important; }
.bt-pdp__buy form.cart > div:not(.quantity) { flex-basis: 100%; }
.bt-pdp__buy form.cart:has(.wcpay-express-checkout-wrapper, #wc-stripe-express-checkout-element, .StripeElement) { flex-wrap: wrap; }

.bt-pdp__assure {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 26px 0 0 !important;
	padding: 18px 0;
	list-style: none;
	border-top: 1px solid var(--bt-line);
	border-bottom: 1px solid var(--bt-line);
}
.bt-pdp__assure li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 12px;
	line-height: 1.35;
	color: var(--bt-muted);
}
.bt-pdp__assure svg { flex: 0 0 auto; color: var(--bt-navy); }
.bt-pdp__assure strong { display: block; color: var(--bt-ink); font-size: 13px; }

.bt-pdp__details { margin-top: 8px !important; }
.bt-pdp__details details { border-bottom: 1px solid var(--bt-line); }
.bt-pdp__details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 0;
	cursor: pointer;
	list-style: none;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bt-ink);
}
.bt-pdp__details summary::-webkit-details-marker { display: none; }
.bt-pdp__details summary::after { content: "+"; font-size: 20px; font-weight: 400; line-height: 1; }
.bt-pdp__details details[open] summary::after { content: "–"; }
.bt-pdp__details summary:focus-visible { outline: 2px solid var(--bt-navy); outline-offset: 2px; }
.bt-pdp__details-body { padding: 0 0 20px; font-size: 15px; line-height: 1.7; color: #2b2f36; }
.bt-pdp__details-body p { margin: 0 0 10px; }
.bt-pdp__details-body ul { margin: 0 0 10px; padding-left: 18px; }
.bt-pdp__details-body li { margin: 0 0 6px; }
.bt-pdp__details-body a { color: var(--bt-navy); font-weight: 600; }

/* Related */
.bt-pdp__related {
	margin-top: clamp(56px, 8vw, 96px) !important;
	padding-top: 40px;
	border-top: 1px solid var(--bt-line);
}
.bt-pdp__related .related.products { padding: 0; }
.bt-pdp__related .related.products > h2 {
	margin: 0 0 24px;
	font-family: var(--bt-display);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 400;
	text-transform: uppercase;
}

@media (max-width: 960px) {
	.bt-pdp__top { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.bt-pdp__panel { position: static; }
	.bt-pdp__media .woocommerce-product-gallery__image img { max-height: 58vh; }
}
@media (max-width: 520px) {
	.bt-pdp > .wc-block-breadcrumbs .woocommerce-breadcrumb { padding: 12px 0 14px; }
	.bt-pdp__assure { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.bt-pdp__assure li { align-items: center; }
	.bt-pdp__assure strong { display: inline; margin-right: 6px; }
}

/* Product page polish */
.wp-site-blocks > main.bt-pdp,
.wp-site-blocks > .bt-pdp,
.wp-site-blocks > .woocommerce.product:has(> .bt-pdp) { margin-block-start: 0 !important; }
.bt-pdp > .wc-block-breadcrumbs { padding: 0 !important; }
.bt-pdp > .wc-block-breadcrumbs .woocommerce-breadcrumb { padding: 18px 0 20px; }
.bt-pdp__buy form.cart > div:empty,
.bt-pdp__buy wc-order-attribution-inputs { display: none; }
.bt-pdp__buy .wcpay-express-checkout-wrapper,
.bt-pdp__buy #wc-stripe-express-checkout-element,
.bt-pdp__buy [id*="express-checkout"] { margin: 0 !important; }
.bt-pdp__buy > *:last-child { margin-bottom: 0 !important; }
@media (max-width: 520px) {
	.bt-pdp__media .woocommerce-product-gallery__image { padding: 16px; }
	.bt-pdp__panel .bt-pdp__title { font-size: 1.85rem; }
}

/* Tablets and narrow laptops: collapse the menu into the menu button too
   (WordPress only does this below 600px), so the header stays one row. */
@media (min-width: 600px) and (max-width: 1100px) {
	.bt-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.bt-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Header on phones, tablets and narrow laptops: logo, icons and menu button on one row */
@media (max-width: 1100px) {
	.bt-header__inner { flex-wrap: nowrap !important; gap: 4px; min-height: 60px; }
	.bt-logo, .bt-logo a { font-size: 22px; white-space: nowrap; }
	.bt-header__inner > .bt-logo { flex: 1 1 auto; }
	.bt-header__inner > .bt-header__icons { order: 2; margin-left: auto; gap: 0; }
	.bt-header__inner > .bt-nav { order: 3; flex: 0 0 auto; }
	.bt-header__icons .wp-block-search__button,
	.bt-header__icons .wc-block-mini-cart__button,
	.bt-header__icons .wc-block-customer-account a { min-width: 40px; min-height: 40px; }
}

/* Open menu (menu button): solid full-screen panel, left-aligned, nested lists inline */
.bt-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--bt-base) !important;
	color: var(--bt-ink) !important;
	padding: 64px 28px 40px !important;
	overflow-y: auto;
}
.bt-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	gap: 0 !important;
	padding-top: 0 !important;
}
.bt-nav .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.bt-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	width: 100%;
	border-bottom: 1px solid var(--bt-line);
}
.bt-nav .is-menu-open .wp-block-navigation-item > a { padding: 14px 0 !important; font-size: 16px; }
.bt-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	width: 100% !important;
	min-width: 0 !important;
	padding: 0 0 10px 14px !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	opacity: 1 !important;
	visibility: visible !important;
	height: auto !important;
	text-transform: none;
	letter-spacing: 0.02em;
}
.bt-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.bt-nav .is-menu-open .wp-block-navigation__submenu-container a { padding: 8px 0 !important; font-size: 15px; font-weight: 600; }
.bt-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.bt-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; right: 22px; }

/* Rating line, card details and Carousell reviews */
.bt-stars { color: #E8A317; letter-spacing: 1px; font-size: 15px; line-height: 1; }
.bt-stars__off { color: var(--bt-steel); }
.bt-pdp__panel .bt-pdp__rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px !important;
	font-size: 13px;
	font-weight: 600;
	color: var(--bt-muted);
	text-decoration: none;
}
.bt-pdp__rating:hover span { color: var(--bt-ink); text-decoration: underline; }
.bt-pdp__spec-table { width: 100%; margin: 0 0 16px; border-collapse: collapse; font-size: 14px; }
.bt-pdp__spec-table th,
.bt-pdp__spec-table td { padding: 9px 0; border-bottom: 1px solid var(--bt-line); vertical-align: top; text-align: left; }
.bt-pdp__spec-table th { width: 42%; padding-right: 12px; font-weight: 600; color: var(--bt-muted); }

.bt-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 22px; }
.bt-reviews__head h2 { margin: 0; font-family: var(--bt-display); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); text-transform: uppercase; }
.bt-reviews__head p { margin: 0; font-size: 14px; color: var(--bt-muted); }
.bt-reviews__head a { color: var(--bt-navy); font-weight: 600; }
.bt-reviews__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.bt-review { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 22px; background: #fff; border: 1px solid var(--bt-line); }
.bt-review blockquote { flex: 1; margin: 0; padding: 0; border: 0; font-size: 15px; line-height: 1.6; color: var(--bt-ink); }
.bt-review blockquote::before { content: "“"; }
.bt-review blockquote::after { content: "”"; }
.bt-review__by { margin: 0; font-size: 13px; font-weight: 600; color: var(--bt-ink); }
.bt-review__by span { font-weight: 400; color: var(--bt-muted); }
.bt-pdp__reviews { margin-top: clamp(56px, 8vw, 96px) !important; padding-top: 40px; border-top: 1px solid var(--bt-line); }
.bt-pdp__reviews + .bt-pdp__related { margin-top: 56px !important; }
.bt-pdp__reviews:empty { display: none; }
.bt-home-reviews { padding-block: clamp(40px, 6vw, 72px); }

/* Singles banner: the whole card on navy, tilted, top right */
.bt-banner--card { background: radial-gradient(110% 90% at 80% 20%, #34567C 0%, #243B55 55%, #16263A 100%); }
.bt-banner--card .bt-banner__img { display: flex; align-items: flex-start; justify-content: flex-end; padding: 28px 32px; box-sizing: border-box; }
.bt-banner--card .bt-banner__img img {
	width: auto !important;
	height: 74% !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	mix-blend-mode: normal !important;
	border-radius: 10px;
	transform: rotate(6deg);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
}

/* ---------- Hero v2: card-art backdrop, clean white type ---------- */
.bt-hero3d { background: #0f1d2e; isolation: isolate; }
.bt-hero3d__bg {
	position: absolute;
	inset: -60px;
	z-index: 0;
	background-repeat: no-repeat;
	background-size: 55% auto, 45% auto;
	background-position: 105% 30%, 62% 70%;
	filter: blur(42px) saturate(1.5);
	opacity: 0.7;
	transform: scale(1.1);
	pointer-events: none;
}
.bt-hero3d__shade {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.07) 1px, transparent 0) 0 0 / 22px 22px,
		linear-gradient(90deg, rgba(12, 22, 36, 0.97) 0%, rgba(16, 30, 48, 0.88) 42%, rgba(20, 36, 58, 0.35) 75%, rgba(20, 36, 58, 0.2) 100%);
	pointer-events: none;
}
.bt-hero3d__glow { z-index: 0; opacity: 0.6; }
.bt-hero3d__stage { z-index: 1; }
.bt-hero3d__content { z-index: 2; align-items: flex-start; gap: 0; }
.bt-hero3d__eyebrow {
	margin: 0 0 18px !important;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(6px);
}
.bt-hero3d h1.bt-hero3d__title {
	max-width: 13ch;
	margin: 0 0 18px !important;
	font-family: var(--bt-display);
	font-weight: 400;
	font-size: clamp(2.6rem, 6.2vw, 5rem);
	line-height: 0.98;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 6px 30px rgba(0, 0, 0, 0.35);
}
.bt-hero3d__title span {
	background: linear-gradient(90deg, #9fd0ff 0%, #c9b8ff 50%, #ffd27a 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.bt-hero3d__sub {
	max-width: 480px;
	margin: 0 0 28px !important;
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
}
.bt-hero3d__ctas { gap: 12px; margin: 0 0 26px !important; }
.bt-hero3d__cta .wp-block-button__link {
	min-height: 52px;
	padding: 0 26px !important;
	display: inline-flex;
	align-items: center;
	background: #fff !important;
	color: var(--bt-ink) !important;
	border: 1px solid #fff !important;
	border-radius: 0;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bt-hero3d__cta .wp-block-button__link:hover { background: var(--bt-mist) !important; }
.bt-hero3d__cta--ghost .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.6) !important;
}
.bt-hero3d__cta--ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.1) !important; }
.bt-hero3d__cta--ghost.bt-arrow .wp-block-button__link::after { filter: invert(1); }
.bt-hero3d__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0 !important;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75);
}
.bt-hero3d__proof li { margin: 0; display: flex; align-items: center; gap: 6px; }
.bt-hero3d__proof li:not(:first-child)::before { content: "✓"; color: #7fd49b; font-weight: 700; }
.bt-hero3d__stars { color: #f5b82e; letter-spacing: 1px; }
@media (max-width: 900px) {
	.bt-hero3d__bg { background-size: 120% auto, 90% auto; background-position: 50% 0, 50% 30%; }
	.bt-hero3d__shade { background: radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0) 0 0 / 22px 22px, linear-gradient(180deg, rgba(16,30,48,.35) 0%, rgba(12,22,36,.92) 55%, rgba(12,22,36,.98) 100%); }
	.bt-hero3d__sub { font-size: 16px; }
}

/* ---------- Product page: buttons line up with the express checkout buttons ---------- */
.bt-pdp__buy form.cart { flex-wrap: wrap; row-gap: 12px; }
.bt-pdp__buy form.cart .single_add_to_cart_button {
	flex: 1 1 100%;
	width: 100%;
	min-height: 48px;
	border-radius: 4px !important;
}
.bt-pdp__buy form.cart .quantity:has(input[type=hidden]) { display: none; }
.bt-pdp__buy form.cart > div:not(.quantity),
.bt-pdp__buy .wcpay-express-checkout-wrapper,
.bt-pdp__buy #wc-stripe-express-checkout-element,
.bt-pdp__buy [id*="express-checkout"] { flex: 1 1 100%; width: 100%; margin: 0 !important; }
.bt-pdp__buy form.cart > div:not(.quantity) > * + * { margin-top: 12px !important; }
/* Same width as the Google Pay / Link buttons (the form has 4px side padding they don't) */
.bt-pdp__buy form.cart { padding-right: 0 !important; }
.bt-pdp__buy form.cart .single_add_to_cart_button { flex: 0 0 calc(100% + 4px) !important; width: calc(100% + 4px) !important; max-width: none !important; }

/* Hero sits right under the header (no grey strip), and fits phones */
.wp-site-blocks > main.bt-main:has(> .bt-hero3d:first-child) { margin-block-start: 0 !important; }
@media (max-width: 900px) {
	.bt-hero3d__stage { transform: scale(0.58); transform-origin: left top; margin: 28px 0 -205px 4%; }
}
@media (max-width: 520px) {
	.bt-hero3d__eyebrow { font-size: 10px; letter-spacing: 0.1em; padding: 5px 10px; }
	.bt-hero3d__ctas .wp-block-button { flex: 1 1 100%; }
	.bt-hero3d__cta .wp-block-button__link { width: 100%; justify-content: center; }
}
