/*
Theme Name: Solitaire Fabrics
Theme URI: https://solitairefabrics.pk/
Author: Solitaire Fabrics
Author URI: https://solitairefabrics.pk/
Description: A custom luxury WooCommerce theme for Solitaire Fabrics, a Pakistani men's unstitched fabric and perfume ecommerce store.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: solitaire-fabrics
Tags: ecommerce, woocommerce, custom-logo, custom-menu, responsive, accessibility-ready
*/

:root {
	--sf-accent: #50968c;
	--sf-accent-dark: #2f6f67;
	--sf-black: #050505;
	--sf-ink: #151515;
	--sf-muted: #62666a;
	--sf-line: #e5e2dc;
	--sf-soft: #f7f5f1;
	--sf-paper: #fffdf9;
	--sf-white: #ffffff;
	--sf-gold: #c9a24c;
	--sf-danger: #9b1c31;
	--sf-success: #1e6b48;
	--sf-heading: "Playfair Display", Georgia, serif;
	--sf-body: "DM Sans", system-ui, -apple-system, sans-serif;
	--sf-radius: 8px;
	--sf-shadow: 0 18px 48px rgba(0, 0, 0, .11);
	--sf-container: min(100% - 32px, 1320px);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--sf-paper);
	color: var(--sf-ink);
	font-family: var(--sf-body);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0;
	overflow-x: hidden;
	text-rendering: optimizeLegibility;
}

body.nav-open,
body.search-open,
body.cart-open,
body.filters-open {
	overflow: hidden;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: var(--sf-accent-dark);
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--sf-accent);
	outline-offset: 3px;
}

.screen-reader-text,
.screen-reader-text span {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	background: var(--sf-black);
	color: var(--sf-white);
}

.site-main {
	min-height: 56vh;
}

.page-shell,
.woocommerce-page-shell,
.shop-main,
.single-product-main {
	width: var(--sf-container);
	margin: 0 auto;
	padding: 54px 0 80px;
}

.announcement-bar {
	background: var(--sf-black);
	color: var(--sf-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
}

.announcement-bar__inner {
	width: var(--sf-container);
	min-height: 38px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.announcement-bar__slides {
	position: relative;
	width: 100%;
	max-width: 920px;
	min-height: 38px;
}

.announcement-bar__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 8px 12px;
	text-align: center;
	text-transform: uppercase;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease, visibility .35s ease;
}

.announcement-bar__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
}

.announcement-bar__slide a {
	color: var(--sf-white);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 253, 249, .96);
	border-bottom: 1px solid var(--sf-line);
	backdrop-filter: blur(12px);
}

.site-header__inner {
	width: var(--sf-container);
	min-height: 82px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 28px;
	align-items: center;
}

.brand-logo {
	display: inline-flex;
	align-items: center;
	min-width: 150px;
}

.brand-logo img {
	width: 180px;
	max-height: 62px;
	object-fit: contain;
}

.brand-logo--footer img {
	width: 210px;
	max-height: 90px;
}

.primary-navigation {
	justify-self: center;
}

.menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.primary-menu {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 28px);
}

.primary-menu > .menu-item {
	position: relative;
}

.primary-menu a {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--sf-black);
}

.primary-menu .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
}

.sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	z-index: 20;
	min-width: 230px;
	padding: 10px;
	margin: 0;
	list-style: none;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	box-shadow: var(--sf-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.primary-menu,
.primary-menu li,
.sub-menu li {
	list-style: none;
}

.menu-item:hover > .sub-menu,
.menu-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sub-menu a {
	min-height: 38px;
	padding: 0 10px;
	font-size: 12px;
	text-transform: none;
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.header-action,
.solitaire-icon-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: transparent;
	border: 1px solid transparent;
	color: var(--sf-black);
}

.header-action:hover,
.solitaire-icon-button:hover {
	color: var(--sf-accent-dark);
	border-color: var(--sf-line);
}

.header-action__count {
	position: absolute;
	top: 3px;
	right: 1px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--sf-accent);
	color: var(--sf-white);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
}

.header-action--menu {
	display: none;
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 12px 20px;
	background: var(--sf-black);
	border: 1px solid var(--sf-black);
	border-radius: 4px;
	color: var(--sf-white);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.2;
	letter-spacing: 0;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--sf-accent-dark);
	border-color: var(--sf-accent-dark);
	color: var(--sf-white);
	transform: translateY(-1px);
}

.button--ghost {
	background: transparent;
	color: var(--sf-black);
	border-color: var(--sf-black);
}

.button--ghost:hover {
	background: var(--sf-black);
	color: var(--sf-white);
	border-color: var(--sf-black);
}

.button--light {
	background: var(--sf-white);
	color: var(--sf-black);
	border-color: var(--sf-white);
}

.button--light:hover {
	background: var(--sf-accent);
	border-color: var(--sf-accent);
	color: var(--sf-white);
}

.eyebrow {
	display: inline-flex;
	color: var(--sf-accent-dark);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 14px;
	color: var(--sf-black);
	font-family: var(--sf-heading);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
}

h1 {
	font-size: clamp(42px, 7vw, 88px);
}

h2 {
	font-size: clamp(30px, 4vw, 52px);
}

h3 {
	font-size: clamp(22px, 2.2vw, 32px);
}

p {
	margin: 0 0 18px;
}

.lead {
	color: var(--sf-muted);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.7;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sf-accent-dark);
	font-weight: 800;
}

.hero {
	position: relative;
	display: grid;
	min-height: min(76vh, 820px);
	overflow: hidden;
	background: var(--sf-black);
	color: var(--sf-white);
}

.hero__media,
.hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero__media img {
	object-fit: cover;
	opacity: .72;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .74), rgba(0, 0, 0, .22) 56%, rgba(0, 0, 0, .08));
}

.hero__content {
	position: relative;
	z-index: 1;
	width: var(--sf-container);
	margin: 0 auto;
	align-self: end;
	padding: 112px 0 92px;
	max-width: 760px;
	justify-self: start;
}

.hero .eyebrow,
.hero h1,
.hero p {
	color: var(--sf-white);
}

.hero p {
	max-width: 680px;
	font-size: clamp(17px, 2vw, 22px);
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.section {
	width: var(--sf-container);
	margin: 0 auto;
	padding: 82px 0;
}

.section__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 22px;
	align-items: end;
	margin-bottom: 30px;
}

.section__head .eyebrow {
	grid-column: 1 / -1;
}

.section__head h2 {
	max-width: 760px;
	margin: 0;
}

.category-tiles {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.category-tile {
	position: relative;
	display: grid;
	align-content: end;
	min-height: 290px;
	overflow: hidden;
	background: var(--sf-black);
	color: var(--sf-white);
	border-radius: var(--sf-radius);
}

.category-tile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .68;
	transition: transform .35s ease, opacity .35s ease;
}

.category-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .62));
}

.category-tile span,
.category-tile svg {
	position: relative;
	z-index: 1;
	margin: 0 18px 18px;
	font-weight: 800;
	text-transform: uppercase;
}

.category-tile svg {
	margin-top: -8px;
}

.category-tile:hover img {
	transform: scale(1.05);
	opacity: .82;
}

.products,
.solitaire-products-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
	padding: 0;
	margin: 0;
	list-style: none;
}

.solitaire-product-card {
	position: relative;
	min-width: 0;
	background: var(--sf-paper);
}

.solitaire-product-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--sf-soft);
	border-radius: var(--sf-radius);
}

.solitaire-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.solitaire-product-card:hover .solitaire-product-card__media img {
	transform: scale(1.04);
}

.solitaire-product-card__wishlist {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(255, 255, 255, .9);
	border-color: rgba(255, 255, 255, .9);
}

.solitaire-product-card__wishlist.is-active {
	background: var(--sf-accent);
	color: var(--sf-white);
	border-color: var(--sf-accent);
}

.product-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	gap: 6px;
}

.product-badge {
	display: inline-flex;
	padding: 5px 8px;
	background: var(--sf-accent);
	color: var(--sf-white);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.product-badge--sold {
	background: var(--sf-black);
}

.solitaire-product-card.is-out-of-stock .solitaire-product-card__media img {
	opacity: .72;
}

.solitaire-product-card__quick {
	position: absolute;
	right: 10px;
	bottom: 10px;
	left: 10px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .2s ease, transform .2s ease;
}

.solitaire-product-card:hover .solitaire-product-card__quick,
.solitaire-product-card:focus-within .solitaire-product-card__quick {
	opacity: 1;
	transform: translateY(0);
}

.solitaire-product-card__quick .button {
	min-height: 42px;
	padding: 10px 8px;
	font-size: 11px;
	white-space: normal;
	text-align: center;
}

.solitaire-product-card__body {
	padding: 16px 2px 0;
}

.woocommerce-loop-product__title {
	min-height: 54px;
	margin: 0 0 8px;
	font-family: var(--sf-body);
	font-size: clamp(15px, 1.5vw, 20px);
	font-weight: 800;
	line-height: 1.35;
	text-transform: uppercase;
}

.solitaire-product-card__rating,
.solitaire-rating {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--sf-black);
	font-size: 14px;
}

.solitaire-rating,
.solitaire-rating__stars {
	color: var(--sf-gold);
	font-weight: 800;
}

.solitaire-product-card .price,
.price {
	display: block;
	margin: 10px 0 12px;
	color: var(--sf-black);
	font-size: 18px;
	font-weight: 600;
}

.price del {
	margin-right: 7px;
	color: var(--sf-muted);
	font-size: .9em;
}

.price ins {
	color: var(--sf-danger);
	text-decoration: none;
}

.star-rating {
	position: relative;
	display: inline-block;
	width: 5.5em;
	height: 1.2em;
	overflow: hidden;
	color: var(--sf-gold);
	font-size: 14px;
	line-height: 1.2;
}

.star-rating::before {
	content: "★★★★★";
	position: absolute;
	inset: 0;
	color: #d7d1c5;
}

.star-rating span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
	text-indent: -999em;
}

.star-rating span::before {
	content: "★★★★★";
	position: absolute;
	top: 0;
	left: 0;
	text-indent: 0;
	color: var(--sf-gold);
}

.solitaire-swatches {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-height: 34px;
}

.solitaire-swatch {
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: var(--swatch-color);
	border: 1px solid rgba(0, 0, 0, .18);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .35);
}

.solitaire-swatch-more {
	color: var(--sf-muted);
	font-weight: 800;
}

.split-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}

.split-showcase--perfume {
	grid-template-columns: minmax(320px, .9fr) minmax(0, 1fr);
}

.split-showcase__image {
	aspect-ratio: 5 / 4;
	overflow: hidden;
	border-radius: var(--sf-radius);
	background: var(--sf-soft);
}

.split-showcase__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.split-showcase__content p {
	color: var(--sf-muted);
	font-size: 18px;
}

.feature-points {
	display: grid;
	gap: 12px;
	margin-top: 28px;
}

.feature-points span {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
}

.trust-section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.trust-badges {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.trust-badge {
	display: flex;
	gap: 12px;
	align-items: center;
	min-width: 0;
	padding: 16px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.trust-badge__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	background: color-mix(in srgb, var(--sf-accent) 12%, var(--sf-white));
	color: var(--sf-accent-dark);
	border-radius: 50%;
}

.trust-badge strong,
.trust-badge small {
	display: block;
}

.trust-badge small {
	color: var(--sf-muted);
	font-size: 12px;
	line-height: 1.35;
}

.trust-badges--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.trust-badges--compact .trust-badge {
	padding: 10px;
}

.trust-badges--compact .trust-badge__icon {
	width: 34px;
	height: 34px;
	flex-basis: 34px;
}

.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.testimonials-grid article {
	padding: 24px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.testimonials-grid p {
	color: var(--sf-muted);
}

.social-follow {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	background: var(--sf-black);
	color: var(--sf-white);
	padding: 36px;
	border-radius: var(--sf-radius);
}

.social-follow h2,
.social-follow .eyebrow {
	color: var(--sf-white);
}

.social-follow__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.social-follow__links a,
.footer-social a,
.payment-trust span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 6px;
}

.shop-hero,
.archive-header,
.page-header,
.single-post-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 24px;
	margin-bottom: 36px;
	padding: 42px;
	background: var(--sf-black);
	color: var(--sf-white);
	border-radius: var(--sf-radius);
}

.shop-hero h1,
.shop-hero p,
.shop-hero .eyebrow,
.archive-header h1,
.archive-header p,
.archive-header .eyebrow,
.page-header h1,
.page-header .eyebrow,
.single-post-header h1,
.single-post-header p,
.single-post-header .eyebrow {
	color: var(--sf-white);
}

.shop-hero p,
.archive-header p,
.single-post-header p {
	max-width: 820px;
	margin: 0;
	color: rgba(255, 255, 255, .78);
}

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

.shop-sidebar {
	position: sticky;
	top: 118px;
}

.solitaire-filters {
	padding: 18px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.solitaire-filters__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.solitaire-filters__head h2 {
	margin: 0;
	font-family: var(--sf-body);
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
}

.js-filter-close {
	display: none;
}

.filter-group {
	border-top: 1px solid var(--sf-line);
}

.filter-group summary {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 15px 0;
	font-weight: 800;
	list-style: none;
	cursor: pointer;
}

.filter-group summary::-webkit-details-marker {
	display: none;
}

.filter-group__body {
	display: grid;
	gap: 9px;
	padding: 0 0 15px;
}

.filter-choice {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 8px;
	align-items: center;
	color: var(--sf-muted);
	font-size: 14px;
}

.filter-choice input {
	accent-color: var(--sf-accent);
}

.filter-choice small {
	color: #9a9288;
}

.filter-price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding-bottom: 15px;
}

.filter-price span {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.filter-price input,
.solitaire-form input,
.solitaire-form textarea,
.newsletter-form input,
.search-form input,
.search-overlay input,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 4px;
	color: var(--sf-black);
}

.filter-actions {
	display: grid;
	gap: 8px;
	margin-top: 14px;
}

.shop-toolbar,
.shop-mobile-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.shop-mobile-bar {
	display: none;
}

.woocommerce-result-count {
	margin: 0;
	color: var(--sf-muted);
}

.woocommerce-ordering select {
	min-width: 210px;
}

.woocommerce-pagination,
.pagination,
.nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 38px;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid var(--sf-line);
	background: var(--sf-white);
}

.page-numbers.current {
	background: var(--sf-black);
	color: var(--sf-white);
	border-color: var(--sf-black);
}

.single-product-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}

.single-product-gallery {
	position: sticky;
	top: 118px;
}

.woocommerce-product-gallery {
	width: 100% !important;
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery__image {
	overflow: hidden;
	background: var(--sf-soft);
	border-radius: var(--sf-radius);
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
}

.single-product-summary {
	padding: 30px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.single-product-summary .product_title {
	font-size: clamp(34px, 4vw, 58px);
}

.woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.woocommerce-review-link {
	color: var(--sf-muted);
	font-size: 14px;
}

.single-product-price .price {
	font-size: 26px;
}

.single-product-excerpt {
	color: var(--sf-muted);
}

.single-product-swatches {
	margin: 22px 0;
	padding: 16px 0;
	border-top: 1px solid var(--sf-line);
	border-bottom: 1px solid var(--sf-line);
}

.single-product-swatches h2 {
	margin-bottom: 12px;
	font-family: var(--sf-body);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.product-detail-table {
	display: grid;
	gap: 8px;
	margin: 20px 0;
}

.product-detail-table div {
	display: grid;
	grid-template-columns: minmax(110px, .45fr) 1fr;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--sf-line);
}

.product-detail-table span {
	color: var(--sf-muted);
	font-size: 13px;
	text-transform: uppercase;
}

.product-detail-table strong {
	font-weight: 700;
}

.single-product-cart {
	margin-top: 24px;
}

.single-product-cart form.cart,
.woocommerce-variation-add-to-cart {
	display: grid;
	gap: 12px;
}

.single-product-cart .quantity,
.quantity {
	display: inline-flex;
	align-items: center;
}

.variations {
	width: 100%;
	margin-bottom: 12px;
}

.variations th,
.variations td {
	display: block;
	padding: 0 0 8px;
	text-align: left;
}

.variations label {
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.variation-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.variation-swatch {
	width: 34px;
	height: 34px;
	padding: 0;
	background: var(--swatch-color);
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: 6px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .42);
}

.variation-swatch.is-active,
.variation-swatch:hover {
	outline: 2px solid var(--sf-black);
	outline-offset: 2px;
}

.quantity input.qty {
	width: 86px;
	min-height: 46px;
	text-align: center;
}

.single_add_to_cart_button {
	width: 100%;
}

.single-product-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 10px;
}

.single-product-actions .button--whatsapp {
	grid-column: 1 / -1;
	background: var(--sf-success);
	border-color: var(--sf-success);
	color: var(--sf-white);
}

.single-product-trust {
	margin-top: 22px;
}

.payment-note {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 12px;
	padding: 12px;
	background: var(--sf-soft);
	border-radius: var(--sf-radius);
	color: var(--sf-muted);
	font-size: 13px;
}

.product-section-tabs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 64px 0 22px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sf-line);
}

.product-section-tabs a {
	padding: 9px 12px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 4px;
	font-size: 13px;
	font-weight: 800;
}

.product-section-panel {
	padding: 26px 0;
	border-bottom: 1px solid var(--sf-line);
}

.product-section-panel h2 {
	font-size: clamp(24px, 3vw, 36px);
}

.product-section-panel p {
	max-width: 850px;
	color: var(--sf-muted);
}

.solitaire-reviews {
	padding: 66px 0 24px;
}

.solitaire-reviews > h2 {
	text-align: center;
}

.reviews-summary {
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr) minmax(200px, .8fr);
	gap: 34px;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid var(--sf-line);
}

.reviews-average {
	display: grid;
	justify-items: center;
	text-align: center;
}

.reviews-average strong {
	font-size: 18px;
}

.reviews-average span {
	color: var(--sf-muted);
}

.reviews-bars {
	display: grid;
	gap: 8px;
}

.reviews-bar {
	display: grid;
	grid-template-columns: 96px 1fr 34px;
	gap: 10px;
	align-items: center;
	color: var(--sf-accent-dark);
	font-weight: 800;
}

.reviews-bar progress {
	width: 100%;
	height: 14px;
	appearance: none;
}

.reviews-bar progress::-webkit-progress-bar {
	background: #e9e8e5;
}

.reviews-bar progress::-webkit-progress-value {
	background: var(--sf-accent-dark);
}

.reviews-bar progress::-moz-progress-bar {
	background: var(--sf-accent-dark);
}

.reviews-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 0;
	border-bottom: 1px solid var(--sf-line);
	color: var(--sf-accent-dark);
	font-weight: 800;
}

.reviews-toolbar select {
	width: auto;
	min-width: 180px;
	border: 0;
	background: transparent;
	color: var(--sf-accent-dark);
	font-weight: 800;
}

.review-card {
	padding: 24px 0;
	border-bottom: 1px solid var(--sf-line);
}

.review-card__top {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: var(--sf-muted);
}

.review-card__top strong {
	margin-right: 8px;
	color: var(--sf-accent-dark);
}

.verified-badge {
	display: inline-flex;
	padding: 2px 6px;
	background: var(--sf-accent-dark);
	color: var(--sf-white);
	font-size: 11px;
	font-weight: 800;
}

.review-card h3 {
	margin-top: 12px;
	font-family: var(--sf-body);
	font-size: 17px;
	font-weight: 800;
}

.woocommerce-Reviews {
	margin-top: 30px;
	padding: 28px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.related-products-wrap {
	margin-top: 70px;
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.blog-card {
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	overflow: hidden;
}

.blog-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--sf-soft);
	overflow: hidden;
}

.blog-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-card__body {
	padding: 20px;
}

.blog-card h2 {
	font-size: 26px;
}

.entry-content {
	max-width: 920px;
	margin: 0 auto;
}

.entry-content a {
	color: var(--sf-accent-dark);
	text-decoration: underline;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.4rem;
}

.single-post-layout {
	max-width: 980px;
	margin: 0 auto;
}

.single-post-header {
	display: block;
}

.single-post-image {
	margin: 0 0 34px;
	overflow: hidden;
	border-radius: var(--sf-radius);
}

.single-post-image img {
	width: 100%;
}

.split-feature,
.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
	gap: 28px;
	align-items: center;
}

.split-feature img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--sf-radius);
}

.contact-card,
.solitaire-form,
.policy-box,
.content-none,
.not-found {
	padding: 28px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.contact-list,
.styled-list {
	display: grid;
	gap: 12px;
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}

.contact-list li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.solitaire-form {
	display: grid;
	gap: 10px;
}

.policy-box .solitaire-form {
	margin: 22px 0;
}

.solitaire-form label {
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.faq-list {
	display: grid;
	gap: 12px;
}

.faq-list details {
	padding: 18px 20px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.faq-list summary {
	font-weight: 800;
	cursor: pointer;
}

.wishlist-page {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.wishlist-empty {
	grid-column: 1 / -1;
	padding: 32px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	text-align: center;
}

.wishlist-item {
	display: grid;
	grid-template-columns: 104px 1fr;
	gap: 14px;
	padding: 14px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.wishlist-item img {
	width: 104px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
}

.wishlist-item h3 {
	font-family: var(--sf-body);
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
}

.site-footer {
	background: var(--sf-black);
	color: rgba(255, 255, 255, .76);
}

.site-footer a:hover {
	color: var(--sf-white);
}

.site-footer__main,
.site-footer__newsletter,
.site-footer__bottom {
	width: var(--sf-container);
	margin: 0 auto;
}

.site-footer__main {
	display: grid;
	grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
	gap: 30px;
	padding: 70px 0 38px;
}

.site-footer__brand p {
	max-width: 320px;
}

.footer-column {
	display: grid;
	align-content: start;
	gap: 9px;
}

.footer-column h2 {
	margin-bottom: 8px;
	color: var(--sf-white);
	font-family: var(--sf-body);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.footer-column a,
.footer-column p {
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
}

.footer-contact p {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.footer-social {
	display: flex;
	gap: 8px;
	margin-top: 20px;
}

.site-footer__newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
	gap: 24px;
	align-items: center;
	padding: 28px 0;
	border-top: 1px solid rgba(255, 255, 255, .13);
	border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.site-footer__newsletter h2,
.site-footer__newsletter .eyebrow {
	color: var(--sf-white);
}

.newsletter-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}

.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 24px 0 34px;
}

.payment-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mobile-nav-overlay,
.solitaire-cart-overlay,
.shop-filter-overlay {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: rgba(0, 0, 0, .46);
}

.mobile-navigation,
.solitaire-cart-drawer,
.shop-sidebar {
	transition: transform .25s ease;
}

.mobile-navigation {
	position: fixed;
	inset: 0 auto 0 0;
	z-index: 110;
	width: min(420px, 92vw);
	padding: 18px;
	background: var(--sf-paper);
	border-right: 1px solid var(--sf-line);
	transform: translateX(-105%);
	overflow-y: auto;
}

body.nav-open .mobile-navigation {
	transform: translateX(0);
}

.mobile-navigation__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.mobile-menu {
	display: grid;
	gap: 4px;
}

.mobile-menu a {
	display: flex;
	justify-content: space-between;
	padding: 13px 0;
	border-bottom: 1px solid var(--sf-line);
	font-weight: 800;
	text-transform: uppercase;
}

.mobile-menu .sub-menu {
	position: static;
	display: block;
	min-width: 0;
	padding: 0 0 0 14px;
	background: transparent;
	border: 0;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
}

.mobile-navigation__support {
	display: grid;
	gap: 10px;
	margin-top: 24px;
}

.mobile-navigation__support a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	font-weight: 800;
}

.search-overlay {
	position: fixed;
	inset: 0;
	z-index: 130;
	display: none;
}

body.search-open .search-overlay {
	display: block;
}

.search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .5);
}

.search-overlay__panel {
	position: relative;
	width: min(860px, calc(100% - 28px));
	margin: 80px auto 0;
	padding: 24px;
	background: var(--sf-paper);
	border-radius: var(--sf-radius);
	box-shadow: var(--sf-shadow);
}

.search-overlay__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.search-overlay__title {
	margin: 0;
	font-family: var(--sf-body);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sf-muted);
}

.search-overlay__form {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 12px;
	align-items: center;
}

.search-suggestions {
	margin-top: 18px;
}

.search-suggestions__list {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.search-suggestions__list a {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 12px;
	align-items: center;
	padding: 10px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.search-suggestions__list img {
	width: 72px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
}

.solitaire-cart-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	z-index: 120;
	display: grid;
	grid-template-rows: auto 1fr auto;
	width: min(460px, 94vw);
	background: var(--sf-paper);
	border-left: 1px solid var(--sf-line);
	transform: translateX(105%);
	box-shadow: var(--sf-shadow);
}

body.cart-open .solitaire-cart-drawer {
	transform: translateX(0);
}

.cart-drawer-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	border-bottom: 1px solid var(--sf-line);
}

.cart-drawer-header h2 {
	margin: 0;
	font-size: 26px;
}

.solitaire-cart-drawer__body {
	overflow-y: auto;
	padding: 18px;
}

.cart-drawer-item {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--sf-line);
}

.cart-drawer-item__image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--sf-soft);
	border-radius: 6px;
}

.cart-drawer-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart-drawer-item__title {
	display: block;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.35;
}

.cart-drawer-item__price {
	margin: 5px 0 10px;
	color: var(--sf-muted);
}

.cart-drawer-item__controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.quantity-control {
	display: inline-grid;
	grid-template-columns: 34px 52px 34px;
	border: 1px solid var(--sf-line);
	border-radius: 4px;
	overflow: hidden;
}

.quantity-control button,
.quantity-control input {
	width: 100%;
	min-height: 34px;
	border: 0;
	background: var(--sf-white);
	text-align: center;
}

.quantity-control input {
	border-right: 1px solid var(--sf-line);
	border-left: 1px solid var(--sf-line);
}

.cart-drawer-item__remove {
	color: var(--sf-danger);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.solitaire-cart-drawer__footer {
	padding: 18px;
	border-top: 1px solid var(--sf-line);
	background: var(--sf-white);
}

.cart-drawer-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	font-size: 18px;
}

.cart-drawer-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 12px;
}

.cart-empty-state {
	display: grid;
	justify-items: center;
	gap: 12px;
	padding: 40px 12px;
	text-align: center;
}

.cart-empty-state svg {
	width: 48px;
	height: 48px;
	color: var(--sf-accent);
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-order,
.woocommerce-form,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content,
.woocommerce-order,
.woocommerce-form {
	padding: 22px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	padding: 14px 18px;
	margin-bottom: 18px;
	list-style: none;
}

.woocommerce-message {
	border-left: 4px solid var(--sf-success);
}

.woocommerce-info {
	border-left: 4px solid var(--sf-accent);
}

.woocommerce-error {
	border-left: 4px solid var(--sf-danger);
}

.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 14px 10px;
	border-bottom: 1px solid var(--sf-line);
	text-align: left;
}

.woocommerce table.shop_table img {
	width: 72px;
	border-radius: 6px;
}

.woocommerce form .form-row {
	margin-bottom: 14px;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 7px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 12px;
	background: var(--sf-soft);
	border-radius: 4px;
	font-weight: 800;
}

.woocommerce-MyAccount-content {
	margin-top: 18px;
}

.not-found,
.content-none {
	text-align: center;
}

.not-found .search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	max-width: 560px;
	margin: 24px auto;
}

@media (max-width: 1200px) {
	.primary-menu {
		gap: 14px;
	}

	.category-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.trust-badges {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-footer__main {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.site-header__inner {
		grid-template-columns: auto 1fr auto;
		gap: 12px;
	}

	.header-action--menu {
		display: inline-flex;
	}

	.primary-navigation {
		display: none;
	}

	.brand-logo img {
		width: 154px;
	}

	.products,
	.solitaire-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

	.shop-toolbar {
		display: none;
	}

	.shop-mobile-bar {
		display: flex;
	}

	.shop-sidebar {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 111;
		width: min(360px, 92vw);
		padding: 14px;
		background: var(--sf-paper);
		transform: translateX(-105%);
		overflow-y: auto;
	}

	body.filters-open .shop-sidebar {
		transform: translateX(0);
	}

	.js-filter-close {
		display: inline-flex;
	}

	.single-product-grid,
	.split-showcase,
	.split-showcase--perfume,
	.contact-grid,
	.split-feature {
		grid-template-columns: 1fr;
	}

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

	.reviews-summary {
		grid-template-columns: 1fr;
	}

	.wishlist-page,
	.blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	:root {
		--sf-container: min(100% - 24px, 1320px);
	}

	.page-shell,
	.woocommerce-page-shell,
	.shop-main,
	.single-product-main {
		padding-top: 32px;
	}

	.site-header__inner {
		min-height: 70px;
	}

	.header-actions {
		gap: 2px;
	}

	.header-action {
		width: 38px;
		height: 38px;
	}

	.header-actions .header-action[href*="my-account"] {
		display: none;
	}

	.hero {
		min-height: 650px;
	}

	.hero::after {
		background: rgba(0, 0, 0, .58);
	}

	.hero__content {
		padding: 90px 0 54px;
	}

	.section {
		padding: 54px 0;
	}

	.section__head,
	.shop-hero,
	.archive-header,
	.page-header,
	.single-post-header,
	.social-follow,
	.site-footer__newsletter,
	.site-footer__bottom {
		display: grid;
		grid-template-columns: 1fr;
		align-items: start;
	}

	.category-tiles,
	.products,
	.solitaire-products-grid,
	.trust-badges,
	.testimonials-grid,
	.site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.category-tile {
		min-height: 220px;
	}

	.solitaire-product-card__quick {
		position: static;
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 10px;
		opacity: 1;
		transform: none;
	}

	.single-product-summary,
	.shop-hero,
	.archive-header,
	.page-header,
	.single-post-header {
		padding: 24px;
	}

	.single-product-actions,
	.cart-drawer-actions,
	.newsletter-form,
	.not-found .search-form {
		grid-template-columns: 1fr;
	}

	.trust-badges--compact {
		grid-template-columns: 1fr;
	}

	.site-footer__main {
		gap: 24px;
	}
}

@media (max-width: 560px) {
	.announcement-bar {
		padding: 0 10px;
		text-align: center;
	}

	.brand-logo img {
		width: 128px;
	}

	.category-tiles,
	.products,
	.solitaire-products-grid,
	.trust-badges,
	.testimonials-grid,
	.site-footer__main,
	.wishlist-page,
	.blog-grid {
		grid-template-columns: 1fr;
	}

	.woocommerce-loop-product__title {
		min-height: auto;
	}

	.shop-mobile-bar {
		display: grid;
		grid-template-columns: 1fr;
	}

	.woocommerce-ordering,
	.woocommerce-ordering select {
		width: 100%;
	}

	.single-product-summary {
		padding: 18px;
	}

	.product-detail-table div,
	.wishlist-item {
		grid-template-columns: 1fr;
	}

	.reviews-bar {
		grid-template-columns: 78px 1fr 24px;
		font-size: 12px;
	}

	.search-overlay__panel {
		margin-top: 54px;
		padding: 18px;
	}

	.search-overlay__form {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom {
		align-items: start;
	}
}

@media (min-width: 380px) and (max-width: 560px) {
	.products,
	.solitaire-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.solitaire-swatch {
		width: 24px;
		height: 24px;
	}

	.solitaire-product-card__quick .button {
		font-size: 10px;
	}
}

@media (max-width: 340px) {
	:root {
		--sf-container: min(100% - 18px, 1320px);
	}

	h1 {
		font-size: 36px;
	}

	.button {
		width: 100%;
		padding-right: 12px;
		padding-left: 12px;
	}

	.header-actions .header-action[href*="wishlist"] {
		display: none;
	}
}

/* Premium client-ready refinement pass. */
.header-service-bar {
	background: var(--sf-paper);
	border-bottom: 1px solid var(--sf-line);
	font-size: 12px;
	font-weight: 800;
	color: var(--sf-muted);
}

.header-service-bar__inner {
	width: var(--sf-container);
	min-height: 38px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 22px;
}

.header-service-bar span,
.header-service-bar a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.header-service-bar svg {
	width: 16px;
	height: 16px;
	color: var(--sf-accent-dark);
}

.site-header__inner {
	min-height: 92px;
}

.primary-menu a {
	font-size: 12px;
	letter-spacing: .04em;
}

.solitaire-icon-button {
	border-radius: 50%;
}

.header-action {
	border-radius: 0;
	border: none;
	outline: none;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}

.header-action:hover,
.header-action:focus,
.header-action:active {
	border: none;
	background: transparent;
	box-shadow: none;
	color: var(--sf-accent-dark);
	transform: none;
}

.hero--home {
	min-height: min(82vh, 860px);
}

.hero__content {
	max-width: 820px;
}

.hero h1 {
	font-weight: 700;
	letter-spacing: .01em;
}

.hero p {
	font-weight: 500;
}

.video-story-section {
	padding-top: 24px;
}

.video-carousel {
	position: relative;
	overflow: hidden;
	background: var(--sf-black);
	border-radius: 8px;
	box-shadow: var(--sf-shadow);
}

.video-carousel__viewport {
	position: relative;
	aspect-ratio: 16 / 7;
	min-height: 420px;
}

.video-slide {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: end;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease, visibility .45s ease;
}

.video-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.video-slide video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .78;
}

.video-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .7));
}

.video-slide__caption {
	position: relative;
	z-index: 1;
	max-width: 580px;
	padding: clamp(24px, 5vw, 54px);
	color: var(--sf-white);
}

.video-slide__caption span {
	display: block;
	margin-bottom: 8px;
	color: rgba(255, 255, 255, .78);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.video-slide__caption strong {
	display: block;
	font-family: var(--sf-heading);
	font-size: clamp(32px, 5vw, 64px);
	font-weight: 700;
	line-height: 1;
}

.video-carousel__controls {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
}

.video-carousel__controls .solitaire-icon-button {
	background: rgba(255, 255, 255, .92);
	border-color: rgba(255, 255, 255, .92);
}

.js-video-prev svg {
	transform: rotate(180deg);
}

.video-carousel__dots {
	display: flex;
	gap: 7px;
	padding: 8px 10px;
	background: rgba(255, 255, 255, .92);
	border-radius: 999px;
}

.video-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	background: #b9b9b9;
	border: 0;
	border-radius: 50%;
}

.video-carousel__dots button.is-active {
	width: 24px;
	background: var(--sf-accent);
	border-radius: 999px;
}

.solitaire-empty-products {
	padding: 28px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 8px;
	color: var(--sf-muted);
}

.solitaire-breadcrumbs {
	width: 100%;
	margin: 0 0 18px;
	color: var(--sf-muted);
	font-size: 13px;
	font-weight: 700;
}

.solitaire-breadcrumbs a {
	color: var(--sf-accent-dark);
}

.shop-hero,
.archive-header,
.page-header,
.single-post-header {
	background:
		linear-gradient(135deg, rgba(80, 150, 140, .28), rgba(0, 0, 0, 0) 38%),
		var(--sf-black);
	border: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .16);
}

.shop-layout {
	gap: 42px;
}

.shop-sidebar {
	top: 142px;
}

.solitaire-filters {
	padding: 0;
	overflow: hidden;
	background: var(--sf-white);
	border: 1px solid #ded8ce;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .05);
}

.solitaire-filters__head {
	padding: 18px 18px 12px;
	margin: 0;
	background: var(--sf-black);
	color: var(--sf-white);
}

.solitaire-filters__head h2 {
	color: var(--sf-white);
}

.filter-group {
	padding: 0 18px;
}

.filter-group summary {
	font-size: 13px;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.filter-actions {
	padding: 0 18px 18px;
}

.shop-toolbar {
	padding: 14px 0 18px;
	border-bottom: 1px solid var(--sf-line);
}

.solitaire-product-card {
	padding-bottom: 8px;
}

.solitaire-product-card__media {
	border: 1px solid var(--sf-line);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .04);
}

.solitaire-product-card__body {
	padding-top: 18px;
}

.woocommerce-loop-product__title {
	font-size: clamp(14px, 1.2vw, 18px);
	letter-spacing: .03em;
}

.solitaire-product-card .price,
.price {
	font-weight: 800;
}

.single-product-main {
	max-width: 1500px;
}

.single-product-grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(430px, .82fr);
	gap: clamp(34px, 5vw, 86px);
}

.single-product-gallery {
	top: 150px;
}

.single-product-gallery .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
}

.single-product-gallery .woocommerce-product-gallery__image {
	border: 1px solid var(--sf-line);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .07);
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: rgba(255, 255, 255, .9);
	border-radius: 50%;
	text-indent: -9999px;
}

.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	padding: 12px 0 0;
	margin: 0;
	list-style: none;
}

.flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid var(--sf-line);
	border-radius: 6px;
	cursor: pointer;
	opacity: .68;
}

.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--sf-accent);
}

.single-product-summary {
	position: relative;
	padding: clamp(24px, 3vw, 42px);
	background:
		linear-gradient(180deg, rgba(80, 150, 140, .08), rgba(255, 255, 255, 0) 220px),
		var(--sf-white);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .08);
}

.single-product-summary .product_title {
	margin-bottom: 10px;
	font-weight: 700;
}

.product-meta-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.product-meta-strip span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 9px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	color: var(--sf-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.single-product-price .price {
	margin: 14px 0 18px;
	font-size: clamp(26px, 3vw, 34px);
}

.single-product-excerpt {
	padding-bottom: 18px;
	border-bottom: 1px solid var(--sf-line);
	font-size: 15px;
}

.single-product-swatches {
	border-top: 0;
}

.single-product-cart form.cart {
	padding: 18px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 8px;
}

.product-assurance-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 16px 0 18px;
}

.product-assurance-grid div {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 12px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 8px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .035);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.product-assurance-grid svg {
	flex: 0 0 auto;
	color: var(--sf-accent-dark);
}

.single-product-cart .variations select {
	background: var(--sf-white);
}

.single-product-cart .single_add_to_cart_button,
.single-product-actions .button {
	min-height: 52px;
}

.button--buy-now {
	background: var(--sf-accent);
	border-color: var(--sf-accent);
}

.single-product-actions .button--whatsapp {
	background: #1f7a4f;
	border-color: #1f7a4f;
}

.product-section-tabs {
	position: sticky;
	top: 130px;
	z-index: 20;
	padding: 12px 0;
	background: var(--sf-paper);
}

.product-section-tabs a {
	background: var(--sf-white);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .04);
}

.product-section-panel {
	padding: 34px;
	margin-bottom: 14px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 8px;
}

.solitaire-reviews {
	margin-top: 34px;
	padding: 40px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 8px;
}

.reviews-summary {
	border-top: 1px solid var(--sf-line);
}

.site-footer {
	background: var(--sf-soft);
	color: var(--sf-ink);
	border-top: 1px solid var(--sf-line);
}

.site-footer a:hover {
	color: var(--sf-accent-dark);
}

.site-footer__main {
	grid-template-columns: 1.25fr repeat(4, minmax(0, .82fr));
	padding-top: 58px;
}

.site-footer__brand {
	padding: 26px;
	background: var(--sf-black);
	color: rgba(255, 255, 255, .75);
	border-radius: 8px;
}

.footer-column h2 {
	color: var(--sf-black);
}

.footer-column a,
.footer-column p {
	color: var(--sf-muted);
}

.footer-social a {
	color: var(--sf-white);
}

.site-footer__newsletter {
	padding: 30px;
	background: var(--sf-black);
	border: 0;
	border-radius: 8px;
	color: rgba(255, 255, 255, .78);
}

.site-footer__bottom {
	color: var(--sf-muted);
}

.payment-trust span {
	border-color: var(--sf-line);
	background: var(--sf-white);
	color: var(--sf-muted);
}

@media (max-width: 1024px) {
	.header-service-bar__inner {
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.header-service-bar__inner::-webkit-scrollbar {
		display: none;
	}

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

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

	.product-section-tabs {
		position: static;
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.product-section-tabs a {
		white-space: nowrap;
	}
}

@media (max-width: 768px) {
	.header-service-bar {
		font-size: 11px;
	}

	.header-service-bar span:not(:first-child) {
		display: none;
	}

	.video-carousel__viewport {
		aspect-ratio: 4 / 5;
		min-height: 520px;
	}

	.video-carousel__controls {
		right: 16px;
		bottom: 16px;
		left: 16px;
		justify-content: space-between;
	}

	.single-product-main {
		width: min(100% - 18px, 1320px);
	}

	.product-section-panel,
	.solitaire-reviews {
		padding: 22px;
	}

	.site-footer__main {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	.video-carousel__viewport {
		min-height: 460px;
	}

	.video-slide__caption {
		padding-bottom: 86px;
	}

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

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

	.site-footer__main {
		grid-template-columns: 1fr;
	}

	.site-footer__newsletter {
		padding: 22px;
	}
}

/* v1.1 — modern UI pass */
.footer-trust-bar {
	background: var(--sf-accent-dark);
	color: var(--sf-white);
}

.footer-trust-bar__inner {
	width: var(--sf-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 14px 0;
}

.footer-trust-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.footer-trust-item svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.shop-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
}

.shop-active-filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 6px 12px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	color: var(--sf-ink);
	font-size: 12px;
	font-weight: 600;
}

.shop-active-filter span {
	color: var(--sf-muted);
	font-size: 16px;
	line-height: 1;
}

.shop-active-filter--clear {
	background: var(--sf-black);
	border-color: var(--sf-black);
	color: var(--sf-white);
}

.product-taxonomy-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.product-taxonomy-links a {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	padding: 4px 10px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	color: var(--sf-muted);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
}

.product-taxonomy-links a:hover {
	border-color: var(--sf-accent);
	color: var(--sf-accent-dark);
}

.product-meta-strip__stock.is-instock {
	color: var(--sf-success);
}

.product-meta-strip__stock.is-outofstock {
	color: var(--sf-danger);
}

.product-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--sf-line);
}

.product-share > span {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sf-muted);
}

.product-share a,
.product-share__copy {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 8px 14px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	color: var(--sf-ink);
	font-family: var(--sf-body);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}

.product-share__copy.is-copied {
	border-color: var(--sf-success);
	color: var(--sf-success);
}

.single-product-summary .product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.reviews-empty {
	display: grid;
	gap: 14px;
	padding: 28px;
	background: var(--sf-soft);
	border: 1px dashed var(--sf-line);
	border-radius: var(--sf-radius);
	text-align: center;
}

.related-products-wrap {
	margin-top: 48px;
}

.related-products-wrap .section__head {
	margin-bottom: 24px;
}

.sticky-add-to-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	background: rgba(255, 253, 249, .96);
	border-top: 1px solid var(--sf-line);
	box-shadow: 0 -12px 40px rgba(0, 0, 0, .12);
	backdrop-filter: blur(14px);
	transform: translateY(110%);
	transition: transform .25s ease;
}

.sticky-add-to-cart.is-visible {
	transform: translateY(0);
}

.sticky-add-to-cart__inner {
	width: var(--sf-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 12px;
	align-items: center;
}

.sticky-add-to-cart__inner img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--sf-line);
}

.sticky-add-to-cart__meta {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.sticky-add-to-cart__meta strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: var(--sf-body);
	font-size: 13px;
	font-weight: 700;
}

.sticky-add-to-cart__meta span {
	font-size: 14px;
	font-weight: 700;
	color: var(--sf-accent-dark);
}

body.has-sticky-cart {
	padding-bottom: 88px;
}

.woocommerce div.product div.images {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.woocommerce div.product div.summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

@media (min-width: 1025px) {
	.shop-sidebar {
		display: block;
		transform: none !important;
		position: sticky;
	}
}

@media (max-width: 1024px) {
	.shop-filter-overlay:not([hidden]) {
		display: block;
	}
}

@media (max-width: 900px) {
	.footer-trust-bar__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.sticky-add-to-cart {
		display: block;
	}

	.product-section-tabs a.is-active {
		background: var(--sf-black);
		border-color: var(--sf-black);
		color: var(--sf-white);
	}
}

@media (min-width: 769px) {
	.sticky-add-to-cart {
		display: none;
	}
}

/* v1.1.1 — user-requested fixes only */
.shop-layout {
	display: grid !important;
	grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
	align-items: start;
}

.shop-sidebar {
	display: block;
	width: 100%;
}

.shop-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

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

.shop-toolbar .woocommerce-ordering select,
.shop-mobile-bar .woocommerce-ordering select {
	width: auto !important;
	min-width: 200px;
	max-width: 260px;
}

@media (min-width: 1025px) {
	.shop-mobile-bar {
		display: none !important;
	}

	.shop-toolbar {
		display: flex !important;
	}

	.shop-sidebar {
		position: sticky !important;
		transform: none !important;
		inset: auto !important;
		width: auto !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
	}
}

.woocommerce-pagination ul,
.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.woocommerce-pagination ul li::before,
.woocommerce-pagination ul li::marker,
.woocommerce nav.woocommerce-pagination ul li::before,
.woocommerce nav.woocommerce-pagination ul li::marker {
	display: none !important;
	content: none !important;
}

.site-footer__newsletter .newsletter-form .button {
	background: var(--sf-accent-dark);
	border-color: var(--sf-accent-dark);
	color: var(--sf-white);
}

.site-footer__newsletter .newsletter-form .button:hover,
.site-footer__newsletter .newsletter-form .button:focus {
	background: var(--sf-accent-dark);
	border-color: var(--sf-accent-dark);
	color: var(--sf-white);
	transform: none;
}

.price--from {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.price--from .price-label {
	color: var(--sf-muted);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.solitaire-product-card__quick .button,
.solitaire-product-card__quick a.button {
	min-height: 40px;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}

.solitaire-product-card__quick .button--light {
	background: rgba(255, 255, 255, .96);
	border-color: rgba(255, 255, 255, .96);
	color: var(--sf-black);
}

.solitaire-product-card__quick .add_to_cart_button,
.solitaire-product-card__quick .product_type_variable {
	background: var(--sf-black);
	border-color: var(--sf-black);
	color: var(--sf-white);
}

.product-badge {
	border-radius: 4px;
	letter-spacing: .04em;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
}

.product-badge--sale {
	background: var(--sf-danger);
}

.single-product-trust__title {
	margin: 0 0 14px;
	font-family: var(--sf-body);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sf-muted);
}

.single-product-trust .trust-badges {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.solitaire-single-product .woocommerce-tabs,
.solitaire-single-product .wc-tabs-wrapper {
	display: none !important;
}

.woocommerce-product-gallery {
	opacity: 1 !important;
}

.woocommerce-product-gallery .flex-viewport {
	width: 100% !important;
	overflow: hidden !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	width: 100% !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image,
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li::before,
.woocommerce-product-gallery .flex-control-thumbs li::marker {
	display: none !important;
	content: none !important;
}

@media (max-width: 1024px) {
	.shop-layout {
		grid-template-columns: 1fr !important;
	}
}

/* v1.2.0 — user-requested UI fixes */
.hero-slider {
	position: relative;
	min-height: min(82vh, 860px);
	overflow: hidden;
	background: var(--sf-black);
	color: var(--sf-white);
}

.hero-slider__viewport {
	position: relative;
	min-height: inherit;
}

.hero-slide {
	position: absolute;
	inset: 0;
	display: grid;
	opacity: 0;
	visibility: hidden;
	transition: opacity .55s ease, visibility .55s ease;
}

.hero-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-slide__media,
.hero-slide__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero-slide__media img {
	object-fit: cover;
	opacity: .74;
}

.hero-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .2) 58%, rgba(0, 0, 0, .08));
}

.hero-slide__content {
	position: relative;
	z-index: 1;
	width: var(--sf-container);
	margin: 0 auto;
	align-self: end;
	padding: 112px 0 108px;
	max-width: 760px;
}

.hero-slide .eyebrow,
.hero-slide h1,
.hero-slide p {
	color: var(--sf-white);
}

.hero-slide .eyebrow {
	color: rgba(255, 255, 255, .82);
}

.hero-slide h1 {
	margin-bottom: 12px;
	font-size: clamp(38px, 6vw, 78px);
	line-height: 1.06;
}

.hero-slide p {
	max-width: 640px;
	font-size: clamp(16px, 2vw, 20px);
}

.hero-slide__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.hero-slider__controls,
.video-carousel__controls {
	position: absolute;
	right: clamp(16px, 3vw, 28px);
	bottom: clamp(16px, 3vw, 28px);
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
}

.hero-slider__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	background: rgba(255, 255, 255, .94);
	border: none;
	border-radius: 50%;
	color: var(--sf-black);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus {
	background: var(--sf-white);
	color: var(--sf-black);
	transform: none;
}

.js-hero-prev svg,
.js-video-prev svg {
	transform: rotate(180deg);
}

.hero-slider__dots,
.video-carousel__dots {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 8px 12px;
	background: rgba(255, 255, 255, .92);
	border-radius: 999px;
}

.hero-slider__dots button,
.video-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	background: #b5b5b5;
	border: 0;
	border-radius: 50%;
}

.hero-slider__dots button.is-active,
.video-carousel__dots button.is-active {
	width: 26px;
	background: var(--sf-accent);
	border-radius: 999px;
}

.video-story-section {
	padding-top: 0;
}

.video-story-section .section__head {
	display: none;
}

.video-carousel {
	position: relative;
	overflow: hidden;
	background: var(--sf-black);
	border-radius: var(--sf-radius);
}

.video-carousel__viewport {
	position: relative;
	aspect-ratio: 16 / 8;
	min-height: 440px;
}

.video-slide__caption {
	position: absolute;
	left: 0;
	right: auto;
	bottom: 0;
	z-index: 2;
	max-width: min(640px, 88%);
	padding: clamp(24px, 5vw, 48px);
}

.video-slide__caption span {
	display: block;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, .8);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.video-slide__caption strong {
	display: block;
	font-family: var(--sf-heading);
	font-size: clamp(30px, 4.5vw, 58px);
	font-weight: 700;
	line-height: 1.05;
	color: var(--sf-white);
}

.social-follow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	padding: clamp(28px, 4vw, 42px);
}

.social-follow__copy {
	min-width: 0;
	padding-right: 12px;
}

.mobile-menu__row {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 8px;
	border-bottom: 1px solid var(--sf-line);
}

.mobile-menu__row > a {
	flex: 1;
	border-bottom: 0;
}

.mobile-menu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	flex: 0 0 44px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--sf-black);
}

.mobile-menu__toggle span {
	position: relative;
	width: 12px;
	height: 12px;
}

.mobile-menu__toggle span::before,
.mobile-menu__toggle span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.mobile-menu__toggle span::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.mobile-menu__accordion-ready.is-open .mobile-menu__toggle span::after {
	transform: translate(-50%, -50%) rotate(0);
}

.mobile-menu .sub-menu[hidden] {
	display: none !important;
}

.mobile-menu .sub-menu:not([hidden]) {
	display: grid;
	gap: 0;
	padding: 0 0 8px 18px;
}

.mobile-menu .sub-menu a {
	padding: 10px 0;
	font-size: 13px;
	font-weight: 700;
}

.search-overlay__field {
	display: inline-flex;
	align-items: center;
}

.search-overlay__input-wrap {
	position: relative;
	min-width: 0;
}

.shop-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 22px;
	padding: 16px 18px;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .04);
}

.shop-filter-bar__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.shop-filter-chip {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 8px 14px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	color: var(--sf-ink);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.shop-filter-chip.is-active,
.shop-filter-chip:hover {
	background: var(--sf-black);
	border-color: var(--sf-black);
	color: var(--sf-white);
}

.shop-toolbar {
	margin-bottom: 28px;
	padding-bottom: 22px;
}

.shop-results .products,
.shop-results .solitaire-products-grid {
	margin-top: 8px;
}

.shop-mobile-bar {
	margin-bottom: 16px;
}

.shop-mobile-bar .woocommerce-ordering {
	margin-top: 12px;
}

.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick .button,
.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick a.button,
.solitaire-shop-view .solitaire-product-card__quick .button,
.solitaire-shop-view .solitaire-product-card__quick a.button {
	background: var(--sf-black) !important;
	border-color: var(--sf-black) !important;
	color: var(--sf-white) !important;
	transform: none !important;
}

.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick .button--light,
.solitaire-shop-view .solitaire-product-card__quick .button--light {
	background: rgba(255, 255, 255, .96) !important;
	border-color: rgba(255, 255, 255, .96) !important;
	color: var(--sf-black) !important;
}

.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick .button:hover,
.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick a.button:hover,
.solitaire-shop-view .solitaire-product-card__quick .button:hover,
.solitaire-shop-view .solitaire-product-card__quick a.button:hover {
	background: var(--sf-black) !important;
	border-color: var(--sf-black) !important;
	color: var(--sf-white) !important;
	transform: none !important;
}

.woocommerce ul.products li.product.solitaire-product-card .solitaire-product-card__quick .button--light:hover,
.solitaire-shop-view .solitaire-product-card__quick .button--light:hover {
	background: var(--sf-white) !important;
	border-color: var(--sf-white) !important;
	color: var(--sf-black) !important;
}

.single-product-gallery .woocommerce-product-gallery {
	opacity: 1 !important;
}

.single-product-gallery .flex-viewport {
	height: auto !important;
	max-height: none !important;
}

.single-product-gallery .woocommerce-product-gallery__wrapper {
	display: block;
	width: 100% !important;
	transform: none !important;
}

.single-product-gallery .woocommerce-product-gallery__image {
	display: block !important;
	width: 100% !important;
	float: none !important;
}

.single-product-gallery .woocommerce-product-gallery__image a {
	display: block;
	line-height: 0;
}

.single-product-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain;
}

.related-products-wrap ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: clamp(18px, 2vw, 28px) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.related-products-wrap ul.products::before,
.related-products-wrap ul.products::after {
	display: none !important;
	content: none !important;
}

.related-products-wrap ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

.related-products-wrap .woocommerce-loop-product__title {
	min-height: auto;
	margin-bottom: 8px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.footer-trust-bar__inner {
	padding: 18px 0;
	gap: 16px;
}

.footer-trust-item {
	padding: 10px 12px;
	background: rgba(255, 255, 255, .06);
	border-radius: 8px;
}

@media (max-width: 900px) and (min-width: 641px) {
	.social-follow {
		padding: 32px 28px;
	}

	.social-follow__copy {
		padding-left: 4px;
		padding-right: 16px;
	}
}

@media (max-width: 768px) {
	.hero-slide__content {
		padding: 88px 0 96px;
	}

	.hero-slider__controls,
	.video-carousel__controls {
		left: 16px;
		right: 16px;
		justify-content: space-between;
	}

	.social-follow {
		grid-template-columns: 1fr;
		padding: 28px 24px;
	}

	.social-follow__copy {
		padding: 0;
	}

	.social-follow__links {
		width: 100%;
	}

	.shop-filter-bar {
		flex-direction: column;
		align-items: stretch;
	}

	.shop-filter-bar__chips {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.shop-filter-bar__chips::-webkit-scrollbar {
		display: none;
	}

	.shop-filter-bar__open {
		width: 100%;
	}

	.shop-toolbar {
		margin-bottom: 32px;
	}

	.shop-results .products,
	.shop-results .solitaire-products-grid {
		margin-top: 16px;
	}

	.search-overlay__form {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.search-overlay__field {
		display: none;
	}

	.search-overlay__input-wrap::before {
		content: "";
		position: absolute;
		left: 14px;
		top: 50%;
		width: 16px;
		height: 16px;
		transform: translateY(-50%);
		opacity: .45;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
		pointer-events: none;
	}

	.search-overlay__input-wrap .js-product-search {
		padding-left: 42px;
	}

	.related-products-wrap ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.footer-trust-bar__inner {
		padding: 16px 12px;
	}
}

@media (max-width: 560px) {
	.related-products-wrap ul.products {
		grid-template-columns: 1fr !important;
	}
}

/* v1.2.1 — footer icons, shop filters, editorial hero, video studio */
.footer-trust-bar__inner {
	padding: 22px 0;
	gap: 20px;
}

.footer-trust-item {
	flex-direction: column;
	gap: 12px;
	padding: 14px 10px;
	text-align: center;
}

.footer-trust-item svg,
.footer-trust-item__icon svg {
	width: 30px;
	height: 30px;
}

.footer-trust-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: rgba(255, 255, 255, .14);
	border-radius: 50%;
}

.footer-trust-item__label,
.footer-trust-item > span:last-child {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1.35;
}

.shop-shell {
	display: grid;
	grid-template-columns: minmax(270px, 300px) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.shop-filters-panel {
	display: block;
	position: sticky;
	top: 118px;
}

.shop-filters-panel .solitaire-filters {
	max-height: calc(100vh - 140px);
	overflow-y: auto;
}

.shop-toolbar {
	margin-bottom: 32px;
	padding-bottom: 24px;
}

.solitaire-ordering {
	display: flex;
	align-items: center;
}

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

.solitaire-ordering select,
.shop-toolbar .woocommerce-ordering select {
	min-width: 220px;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--sf-line);
	border-radius: 6px;
	background: var(--sf-white);
	font-weight: 600;
}

.shop-results .products,
.shop-results .solitaire-products-grid {
	margin-top: 12px;
}

/* Editorial hero — split image + panel */
.hero-editorial {
	background: var(--sf-soft);
	border-bottom: 1px solid var(--sf-line);
}

.hero-editorial__stage {
	position: relative;
	min-height: min(78vh, 760px);
}

.hero-editorial__slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility .5s ease;
}

.hero-editorial__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-editorial__visual {
	position: relative;
	min-height: 320px;
	overflow: hidden;
	background: var(--sf-black);
}

.hero-editorial__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-editorial__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 5vw, 64px);
	background: var(--sf-paper);
	border-left: 1px solid var(--sf-line);
}

.hero-editorial__count {
	margin: 0 0 16px;
	color: var(--sf-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
}

.hero-editorial__panel h1 {
	margin-bottom: 16px;
	font-size: clamp(34px, 4.5vw, 62px);
	line-height: 1.05;
	color: var(--sf-black);
}

.hero-editorial__panel .eyebrow {
	color: var(--sf-accent-dark);
}

.hero-editorial__panel p {
	color: var(--sf-muted);
	font-size: clamp(16px, 2vw, 19px);
}

.hero-editorial__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.hero-editorial__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px var(--sf-container);
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	background: var(--sf-white);
	border-top: 1px solid var(--sf-line);
}

.hero-editorial__progress {
	flex: 1;
	height: 3px;
	background: var(--sf-line);
	border-radius: 999px;
	overflow: hidden;
}

.hero-editorial__progress-fill {
	display: block;
	width: 33.33%;
	height: 100%;
	background: var(--sf-accent);
	transition: width .45s ease;
}

.hero-editorial__nav {
	display: flex;
	gap: 10px;
}

.hero-editorial__nav-btn {
	min-height: 42px;
	padding: 10px 18px;
	background: transparent;
	border: 1px solid var(--sf-black);
	color: var(--sf-black);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.hero-editorial__nav-btn--primary {
	background: var(--sf-black);
	color: var(--sf-white);
}

/* Video studio — player + side rail */
.video-studio-section .section__head {
	margin-bottom: 22px;
}

.video-studio {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: 16px;
	align-items: stretch;
}

.video-studio__main {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	background: var(--sf-black);
	border-radius: var(--sf-radius);
}

.video-studio__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, visibility .4s ease;
}

.video-studio__slide.is-active {
	opacity: 1;
	visibility: visible;
}

.video-studio__slide video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-studio__rail {
	display: grid;
	gap: 10px;
	align-content: start;
}

.video-studio__thumb {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px;
	align-items: start;
	width: 100%;
	padding: 14px;
	text-align: left;
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.video-studio__thumb.is-active {
	border-color: var(--sf-accent);
	box-shadow: 0 10px 28px rgba(80, 150, 140, .18);
}

.video-studio__thumb-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: var(--sf-soft);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 800;
}

.video-studio__thumb-copy strong {
	display: block;
	margin-bottom: 4px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.video-studio__thumb-copy small {
	display: block;
	color: var(--sf-muted);
	font-size: 13px;
	line-height: 1.45;
}

@media (max-width: 1024px) {
	.shop-shell {
		grid-template-columns: 1fr;
	}

	.shop-filters-panel {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 112;
		width: min(380px, 92vw);
		padding: 14px;
		background: var(--sf-paper);
		border-right: 1px solid var(--sf-line);
		transform: translateX(-105%);
		overflow-y: auto;
		transition: transform .25s ease;
		top: 0;
	}

	body.filters-open .shop-filters-panel {
		transform: translateX(0);
	}

	.shop-filters-panel .js-filter-close {
		display: inline-flex;
	}

	.hero-editorial__slide {
		grid-template-columns: 1fr;
	}

	.hero-editorial__panel {
		border-left: 0;
		border-top: 1px solid var(--sf-line);
	}

	.video-studio {
		grid-template-columns: 1fr;
	}

	.video-studio__main {
		min-height: 360px;
	}
}

@media (max-width: 768px) {
	.footer-trust-bar__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 20px 16px;
	}

	.hero-editorial__stage {
		min-height: auto;
	}

	.hero-editorial__slide {
		position: relative;
		display: none;
	}

	.hero-editorial__slide.is-active {
		display: grid;
		position: relative;
	}

	.hero-editorial__bar {
		flex-direction: column;
		align-items: stretch;
	}

	.solitaire-ordering,
	.solitaire-ordering select {
		width: 100%;
	}

	.shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.shop-toolbar__actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* =============================================================
   SOLITAIRE 2026 — UPGRADE STYLES (All 11 Steps)
   ============================================================= */

/* ── Version bump ───────────────────────────────────────────── */
/* Version: 1.4.0 */

/* ── STEP 1: Modern Hero Showcase Slider ─────────────────── */
.sf-hero-showcase {
	position: relative;
	width: 100%;
	height: min(90vh, 880px);
	min-height: 560px;
	overflow: hidden;
	background: var(--sf-black);
}

.hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .7s cubic-bezier(.4, 0, .2, 1), visibility .7s;
}

.hero-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-slide__bg {
	position: absolute;
	inset: 0;
}

.hero-slide__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform: scale(1.04);
	transition: transform 6s cubic-bezier(.25, .46, .45, .94);
}

.hero-slide.is-active .hero-slide__bg img {
	transform: scale(1);
}

.hero-slide__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		120deg,
		rgba(5, 5, 5, .72) 0%,
		rgba(5, 5, 5, .36) 55%,
		rgba(5, 5, 5, .12) 100%
	);
}

.hero-slide__content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(32px, 6vw, 80px) clamp(24px, 6vw, 100px) clamp(80px, 10vw, 140px);
	color: var(--sf-white);
	max-width: 760px;
}

.hero-slide__eyebrow {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 14px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	backdrop-filter: blur(8px);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.9);
	transform: translateY(20px);
	opacity: 0;
	transition: transform .6s .2s cubic-bezier(.25,.46,.45,.94), opacity .6s .2s;
}

.hero-slide.is-active .hero-slide__eyebrow {
	transform: translateY(0);
	opacity: 1;
}

.hero-slide__title {
	margin: 0 0 16px;
	font-family: var(--sf-heading);
	font-size: clamp(40px, 6vw, 88px);
	font-weight: 700;
	line-height: 1.05;
	color: var(--sf-white);
	letter-spacing: -.02em;
	transform: translateY(30px);
	opacity: 0;
	transition: transform .7s .35s cubic-bezier(.25,.46,.45,.94), opacity .7s .35s;
}

.hero-slide.is-active .hero-slide__title {
	transform: translateY(0);
	opacity: 1;
}

.hero-slide__subtitle {
	margin: 0 0 28px;
	font-size: clamp(15px, 2vw, 18px);
	color: rgba(255,255,255,.78);
	max-width: 560px;
	line-height: 1.6;
	transform: translateY(20px);
	opacity: 0;
	transition: transform .6s .5s cubic-bezier(.25,.46,.45,.94), opacity .6s .5s;
}

.hero-slide.is-active .hero-slide__subtitle {
	transform: translateY(0);
	opacity: 1;
}

.hero-slide__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	transform: translateY(20px);
	opacity: 0;
	transition: transform .6s .65s cubic-bezier(.25,.46,.45,.94), opacity .6s .65s;
}

.hero-slide.is-active .hero-slide__actions {
	transform: translateY(0);
	opacity: 1;
}

/* Outline white button for hero secondary CTA */
.button--outline-white {
	background: transparent;
	border-color: rgba(255,255,255,.7);
	color: var(--sf-white);
}

.button--outline-white:hover {
	background: rgba(255,255,255,.12);
	border-color: var(--sf-white);
	color: var(--sf-white);
}

/* Hero arrows */
.hero-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%;
	backdrop-filter: blur(10px);
	color: var(--sf-white);
	cursor: pointer;
	transform: translateY(-50%);
	transition: background .2s, border-color .2s, transform .2s;
}

.hero-arrow:hover {
	background: rgba(255,255,255,.22);
	border-color: rgba(255,255,255,.55);
	transform: translateY(-50%) scale(1.08);
}

.hero-arrow svg {
	width: 20px;
	height: 20px;
}

.hero-arrow--prev { left: clamp(14px, 3vw, 40px); }
.hero-arrow--next { right: clamp(14px, 3vw, 40px); }

/* Hero dots */
.hero-slider__dots {
	position: absolute;
	bottom: 32px;
	left: 50%;
	z-index: 5;
	display: flex;
	gap: 8px;
	transform: translateX(-50%);
}

.hero-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	background: rgba(255,255,255,.4);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: width .35s ease, background .35s ease;
}

.hero-dot.is-active {
	width: 28px;
	background: var(--sf-white);
}

/* Hero progress bar */
.hero-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
	height: 3px;
	background: rgba(255,255,255,.18);
	overflow: hidden;
}

.hero-progress__fill {
	display: block;
	height: 100%;
	background: var(--sf-accent);
	width: 0;
	transition: width .3s ease;
}

/* Hero counter */
.hero-counter {
	position: absolute;
	bottom: 24px;
	right: clamp(14px, 3vw, 48px);
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 6px;
	color: rgba(255,255,255,.7);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
}

.hero-counter__current {
	color: var(--sf-white);
	font-size: 22px;
}

/* ── STEP 2: Video Reel Carousel ──────────────────────────── */
.sf-reels-section {
	background: var(--sf-black);
	padding: 64px 0 72px;
	overflow: hidden;
}

.sf-reels-header {
	width: var(--sf-container);
	margin: 0 auto 36px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}

.sf-reels-header .eyebrow {
	color: rgba(255,255,255,.6);
}

.sf-reels-header h2 {
	margin: 0;
	color: var(--sf-white);
}

.sf-reels-controls {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.sf-reel-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 50%;
	color: var(--sf-white);
	cursor: pointer;
	transition: background .2s, transform .2s;
}

.sf-reel-arrow:hover {
	background: rgba(255,255,255,.22);
	transform: scale(1.08);
}

.sf-reel-arrow svg {
	width: 18px;
	height: 18px;
}

.sf-reels-track-wrap {
	width: var(--sf-container);
	margin: 0 auto;
	overflow: hidden;
}

.sf-reels-track {
	display: flex;
	gap: 16px;
	transition: transform .45s cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}

.sf-reel-card {
	flex: 0 0 calc(20% - 14px);
	min-width: 200px;
}

.sf-reel-card__media {
	position: relative;
	aspect-ratio: 9 / 16;
	border-radius: 16px;
	overflow: hidden;
	background: #1a1a1a;
	cursor: pointer;
}

.sf-reel-card__media video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.sf-reel-card:hover .sf-reel-card__media video {
	transform: scale(1.04);
}

.sf-reel-card__play {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.28);
	transition: opacity .25s ease;
}

.sf-reel-card:hover .sf-reel-card__play {
	opacity: 0;
}

.sf-reel-card__play svg {
	width: 52px;
	height: 52px;
	color: var(--sf-white);
	filter: drop-shadow(0 2px 12px rgba(0,0,0,.5));
}

.sf-reel-card__gradient {
	position: absolute;
	inset: 30% 0 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.78));
}

.sf-reel-card__meta {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 3;
	padding: 16px 14px;
	color: var(--sf-white);
}

.sf-reel-card__creator {
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	color: rgba(255,255,255,.7);
	font-weight: 600;
	letter-spacing: .04em;
}

.sf-reel-card__label {
	display: block;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .03em;
}

@media (max-width: 1024px) {
	.sf-reel-card {
		flex: 0 0 calc(25% - 12px);
	}
}

@media (max-width: 768px) {
	.sf-reels-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.sf-reel-card {
		flex: 0 0 calc(40% - 10px);
	}
}

@media (max-width: 560px) {
	.sf-reel-card {
		flex: 0 0 calc(72vw - 20px);
	}
}

/* ── STEP 3 & 4: Account Page — Password Toggle + Register Form ── */
/* Fix show-password-input positioning */
.woocommerce-form-row {
	position: relative;
}

.show-password-input {
	position: absolute !important;
	right: 12px;
	top: 50%;
	transform: translateY(calc(-50% + 12px));
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: var(--sf-muted);
	cursor: pointer;
	padding: 0;
	transition: color .2s;
}

.show-password-input:hover {
	color: var(--sf-accent-dark);
}

.show-password-input::after {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2362666a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

/* Password strength meter — hide clutter, just show bar */
.woocommerce-password-strength {
	display: block;
	height: 4px;
	margin-top: 6px;
	border-radius: 999px;
	font-size: 0;
	background: var(--sf-line);
	overflow: hidden;
}

/* WooCommerce My Account — modern two-column login/register layout */
#customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}

#customer_login .u-column1,
#customer_login .u-column2 {
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	border-radius: var(--sf-radius);
	padding: 32px;
	box-shadow: 0 12px 32px rgba(0,0,0,.06);
}

#customer_login h2 {
	font-size: 24px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--sf-line);
}

#customer_login .woocommerce-form-row {
	margin-bottom: 18px;
}

#customer_login .woocommerce-Input {
	padding-right: 48px !important;
}

@media (max-width: 768px) {
	#customer_login {
		grid-template-columns: 1fr;
	}
}

/* ── STEP 5: Search Overlay — Premium Command Palette ─────── */
.search-overlay {
	transition: opacity .25s ease, visibility .25s ease;
	opacity: 0;
	visibility: hidden;
}

body.search-open .search-overlay {
	display: block;
	opacity: 1;
	visibility: visible;
}

.search-overlay__backdrop {
	background: rgba(0,0,0,.6);
	backdrop-filter: blur(4px);
}

.search-overlay__panel {
	position: relative;
	width: min(720px, calc(100% - 32px));
	margin: 64px auto 0;
	padding: 28px;
	background: var(--sf-white);
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0,0,0,.2);
	border: 1px solid var(--sf-line);
}

.search-overlay__form {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 10px 16px;
	background: var(--sf-soft);
	border: 1.5px solid var(--sf-line);
	border-radius: 10px;
	transition: border-color .2s;
}

.search-overlay__form:focus-within {
	border-color: var(--sf-accent);
}

.search-overlay__form .js-product-search {
	border: 0 !important;
	background: transparent !important;
	outline: none !important;
	padding: 0 !important;
	min-height: 0 !important;
	font-size: 16px;
}

.search-overlay__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.search-overlay__chips a {
	display: inline-flex;
	align-items: center;
	padding: 6px 14px;
	background: var(--sf-soft);
	border: 1px solid var(--sf-line);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	transition: background .2s, border-color .2s;
}

.search-overlay__chips a:hover {
	background: var(--sf-accent);
	border-color: var(--sf-accent);
	color: var(--sf-white);
}

.search-suggestions__list a {
	transition: border-color .2s, box-shadow .2s;
}

.search-suggestions__list a:hover {
	border-color: var(--sf-accent);
	box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

/* ── STEP 6: Archive Quick View — Ghost Button Style ──────── */
.solitaire-product-card__quick .button:first-child {
	background: var(--sf-white);
	border: 1px solid var(--sf-line);
	color: var(--sf-ink);
}

.solitaire-product-card__quick .button:first-child:hover {
	background: var(--sf-soft);
	border-color: var(--sf-accent);
	color: var(--sf-accent-dark);
}

/* ── STEP 7: Archive Filters — Desktop Sticky + Mobile Fix ── */
/* On desktop: make filter panel sticky sidebar (always visible) */
@media (min-width: 1025px) {
	.shop-shell {
		display: grid;
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 40px;
		align-items: start;
		width: var(--sf-container);
		margin: 0 auto;
	}

	.shop-filters-panel {
		position: sticky;
		top: 130px;
		transform: none !important;
		max-height: calc(100vh - 150px);
		overflow-y: auto;
		border: 1px solid var(--sf-line);
		border-radius: var(--sf-radius);
		background: var(--sf-white);
		box-shadow: 0 8px 24px rgba(0,0,0,.05);
	}

	.shop-filter-overlay {
		display: none !important;
	}

	.js-filter-open,
	.shop-toolbar .js-filter-open {
		display: none !important;
	}

	.shop-results {
		min-width: 0;
	}
}

/* On mobile: keep offcanvas but fix overlay z-index */
@media (max-width: 1024px) {
	.shop-filter-overlay {
		z-index: 108;
	}

	.shop-filters-panel {
		z-index: 112 !important;
	}

	/* Make body NOT lock scroll when filters are open on mobile */
	body.filters-open {
		overflow: hidden;
	}
}

/* ── STEP 9: Remove Border Circle on Icon Hover ────────────── */
.header-action,
.solitaire-icon-button {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.header-action:hover,
.header-action:focus,
.header-action:active,
.solitaire-icon-button:hover,
.solitaire-icon-button:focus {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Remove circular hover border from wishlist icon on product cards */
.solitaire-product-card__wishlist {
	border: none !important;
	box-shadow: none !important;
}

.solitaire-product-card__wishlist:hover {
	border: none !important;
	box-shadow: none !important;
	background: rgba(255,255,255,.9) !important;
}

/* Remove border from search clear/close button */
.search-overlay__clear,
.js-search-clear {
	border: none !important;
	background: transparent !important;
}

.search-overlay__clear:hover,
.js-search-clear:hover {
	border: none !important;
	background: rgba(0,0,0,.06) !important;
}

/* ── STEP 10: Mobile — 2-Column Product Grid ───────────────── */
@media (max-width: 640px) {
	.products,
	.solitaire-products-grid,
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
}

/* ── Hero Slider JS update fixes ────────────────────────────── */
/* Dots in new hero slider */
.sf-hero-showcase .hero-slider__dots {
	bottom: 28px;
}

/* Make hero section handle old JS class names too */
.sf-hero-showcase .hero-editorial__slide { display: none; }

/* Shop shell on old layout */
.shop-shell .shop-results {
	min-width: 0;
}

/* Reels track full-width with padding-aware clipping */
.sf-reels-section .sf-reels-track-wrap {
	padding: 0 max(16px, calc((100vw - var(--sf-container, 1320px)) / 2));
	width: 100%;
	box-sizing: border-box;
}

/* Hero section spacing fix */
.sf-hero-showcase + .section {
	margin-top: 0;
}

@media (max-width: 768px) {
	.sf-hero-showcase {
		height: min(88vh, 700px);
		min-height: 520px;
	}

	.hero-slide__content {
		max-width: 100%;
		padding: 24px 20px 80px;
	}

	.hero-arrow {
		width: 40px;
		height: 40px;
	}

	.hero-counter {
		display: none;
	}

	.hero-slider__dots {
		bottom: 22px;
	}

	.sf-reels-header {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 24px;
	}
}

@media (max-width: 480px) {
	.sf-hero-showcase {
		height: 100svh;
		max-height: 720px;
	}

	.hero-slide__title {
		font-size: clamp(32px, 9vw, 56px);
	}
}

