/*
 * Lumière — Shop Page Styles
 * page-templates/shop.php
 */

/* ══════════════════════════════════
   SHARED / UTILITIES
══════════════════════════════════ */
.lumiere-shop {
	--cat-wp:    #c9a96e;
	--cat-lr:    #7a9ec4;
	--cat-ps:    #9e83c4;
	--cat-eb:    #7ab89e;
}

.shop-eyebrow {
	font-size: 10px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--gold);
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}
.shop-eyebrow::before {
	content: '';
	width: 18px;
	height: 1px;
	background: var(--gold);
}
.shop-section-title {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 300;
	line-height: 1.1;
	color: var(--white, #f5f0eb);
}
.shop-section-title em {
	font-style: italic;
	color: rgba(245, 240, 235, 0.55);
}

/* ══════════════════════════════════
   HERO
══════════════════════════════════ */
.shop-hero {
	padding: 90px 60px 72px;
	text-align: center;
	background: linear-gradient(180deg, #111010 0%, #080808 100%);
	border-bottom: 1px solid rgba(245, 240, 235, 0.22);
	position: relative;
	overflow: hidden;
}
.shop-hero::before {
	content: '';
	position: absolute;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
	width: 700px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 169, 110, 0.06) 0%, transparent 70%);
	pointer-events: none;
}
.shop-hero__inner { position: relative; z-index: 1; }
.shop-hero__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(201, 169, 110, 0.12);
	border: 1px solid rgba(201, 169, 110, 0.3);
	border-radius: 20px;
	padding: 5px 16px;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold, #c9a96e);
	margin-bottom: 28px;
}
.shop-hero__pill-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gold, #c9a96e);
}
.shop-hero__title {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(44px, 5vw, 76px);
	font-weight: 300;
	line-height: 1.06;
	margin-bottom: 22px;
	color: var(--white, #f5f0eb);
}
.shop-hero__title em {
	font-style: italic;
	color: #dfc18e;
}
.shop-hero__sub {
	font-size: 15px;
	color: rgba(245, 240, 235, 0.55);
	max-width: 500px;
	margin: 0 auto 48px;
	line-height: 1.8;
}
.shop-hero__stats {
	display: flex;
	gap: 56px;
	justify-content: center;
	flex-wrap: wrap;
}
.shop-hero__stat-num {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 36px;
	font-weight: 300;
	color: var(--gold, #c9a96e);
	line-height: 1;
}
.shop-hero__stat-lbl {
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.22);
	margin-top: 4px;
}

/* ══════════════════════════════════
   CATEGORY NAV
══════════════════════════════════ */
.shop-cat-nav {
	position: sticky;
	top: var(--header-height, 72px);
	z-index: 90;
	background: rgba(17, 16, 16, 0.97);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(245, 240, 235, 0.22);
}
.shop-cat-nav__inner {
	padding: 0 60px;
	display: flex;
	align-items: stretch;
}
.shop-cat-tab {
	padding: 16px 22px;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.22);
	border: none;
	background: none;
	font-family: inherit;
	border-bottom: 2px solid transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	transition: color 0.2s, border-color 0.2s;
}
.shop-cat-tab:hover { color: rgba(245, 240, 235, 0.55); }
.shop-cat-tab.on { color: var(--white, #f5f0eb); }
.shop-cat-tab--all.on         { border-bottom-color: var(--gold, #c9a96e); }
.shop-cat-tab--wp.on          { border-bottom-color: var(--cat-wp); color: var(--cat-wp); }
.shop-cat-tab--lr.on          { border-bottom-color: var(--cat-lr); color: var(--cat-lr); }
.shop-cat-tab--ps.on          { border-bottom-color: var(--cat-ps); color: var(--cat-ps); }
.shop-cat-tab--ebook.on       { border-bottom-color: var(--cat-eb); color: var(--cat-eb); }
.shop-cat-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	flex-shrink: 0;
}
.shop-cat-dot--wp    { background: var(--cat-wp); }
.shop-cat-dot--lr    { background: var(--cat-lr); }
.shop-cat-dot--ps    { background: var(--cat-ps); }
.shop-cat-dot--ebook { background: var(--cat-eb); }
.shop-cat-count {
	font-size: 9px;
	background: rgba(245, 240, 235, 0.06);
	border-radius: 10px;
	padding: 2px 7px;
}
.shop-cat-nav__right { margin-left: auto; display: flex; align-items: center; }
.shop-sort {
	background: transparent;
	border: 1px solid rgba(245, 240, 235, 0.22);
	border-radius: 3px;
	color: rgba(245, 240, 235, 0.55);
	font-size: 11px;
	font-family: inherit;
	padding: 6px 28px 6px 10px;
	outline: none;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 9px center;
}

/* ══════════════════════════════════
   PRODUCTS SECTION
══════════════════════════════════ */
.shop-products {
	padding: 72px 60px 90px;
}
.shop-products__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 44px;
}
.shop-products__count {
	font-size: 12px;
	color: rgba(245, 240, 235, 0.22);
}
.shop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 2px;
}
.shop-empty {
	font-size: 14px;
	color: rgba(245, 240, 235, 0.55);
	padding: 40px 0;
	grid-column: 1 / -1;
}

/* ── Product Card ── */
.shop-product-card {
	background: #111010;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: background 0.25s;
}
.shop-product-card:hover { background: #1a1918; }
.shop-product-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.shop-product-card[data-category="wp"]::before    { background: var(--cat-wp); }
.shop-product-card[data-category="lr"]::before    { background: var(--cat-lr); }
.shop-product-card[data-category="ps"]::before    { background: var(--cat-ps); }
.shop-product-card[data-category="ebook"]::before { background: var(--cat-eb); }
.shop-product-card:hover::before { transform: scaleX(1); }
.shop-product-card.is-hidden { display: none; }

.shop-product-card__thumb-wrap {
	overflow: hidden;
	position: relative;
	flex-shrink: 0;
}
.shop-product-card__thumb {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease, filter 0.4s ease;
	filter: grayscale(15%);
}
.shop-product-card__thumb--placeholder {
	height: 210px;
	background: #1a1918;
}
.shop-product-card:hover .shop-product-card__thumb {
	transform: scale(1.03);
	filter: grayscale(0);
}

/* badges */
.shop-badge {
	position: absolute;
	top: 12px; left: 12px;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 2px;
	z-index: 2;
}
.shop-badge--wp    { background: rgba(201, 169, 110, 0.9); color: #080808; }
.shop-badge--lr    { background: rgba(91, 155, 213, 0.9);  color: #080808; }
.shop-badge--ps    { background: rgba(158, 131, 196, 0.9); color: #080808; }
.shop-badge--ebook { background: rgba(122, 184, 158, 0.9); color: #080808; }
.shop-badge--new   {
	left: auto; right: 12px;
	background: var(--gold, #c9a96e);
	color: #080808;
	font-weight: 600;
}

.shop-product-card__body {
	padding: 24px 24px 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.shop-product-card__cat {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 7px;
}
.shop-product-card__cat--wp    { color: var(--cat-wp); }
.shop-product-card__cat--lr    { color: var(--cat-lr); }
.shop-product-card__cat--ps    { color: var(--cat-ps); }
.shop-product-card__cat--ebook { color: var(--cat-eb); }
.shop-product-card__name {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 20px;
	font-weight: 300;
	line-height: 1.2;
	margin-bottom: 9px;
	color: var(--white, #f5f0eb);
}
.shop-product-card__desc {
	font-size: 12px;
	color: rgba(245, 240, 235, 0.55);
	line-height: 1.7;
	margin-bottom: 14px;
	flex: 1;
}
.shop-product-card__tags {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.shop-product-card__tag {
	font-size: 10px;
	color: rgba(245, 240, 235, 0.22);
	background: rgba(245, 240, 235, 0.05);
	border-radius: 2px;
	padding: 2px 7px;
}
.shop-product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(245, 240, 235, 0.22);
}
.shop-product-card__price {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 26px;
	font-weight: 300;
	line-height: 1;
	color: var(--white, #f5f0eb);
}
.shop-product-card__price sup { font-size: 13px; }
.shop-product-card__note {
	font-size: 10px;
	color: rgba(245, 240, 235, 0.22);
	margin-top: 2px;
}

/* buy buttons */
.shop-buy-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 9px 16px;
	border-radius: 2px;
	border: none;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
	text-decoration: none;
	transition: all 0.2s;
}
.shop-buy-btn--wp {
	background: var(--cat-wp);
	color: #080808;
}
.shop-buy-btn--wp:hover { background: #dfc18e; transform: translateY(-1px); }
.shop-buy-btn--lr,
.shop-buy-btn--ps,
.shop-buy-btn--ebook {
	background: rgba(245, 240, 235, 0.05);
	color: rgba(245, 240, 235, 0.55);
	border: 1px solid rgba(245, 240, 235, 0.22);
}
.shop-buy-btn--lr    { border-color: rgba(122, 158, 196, 0.35); color: var(--cat-lr); }
.shop-buy-btn--ps    { border-color: rgba(158, 131, 196, 0.35); color: var(--cat-ps); }
.shop-buy-btn--ebook { border-color: rgba(122, 184, 158, 0.35); color: var(--cat-eb); }
.shop-buy-btn--lr:hover    { background: rgba(122, 158, 196, 0.1); transform: translateY(-1px); }
.shop-buy-btn--ps:hover    { background: rgba(158, 131, 196, 0.1); transform: translateY(-1px); }
.shop-buy-btn--ebook:hover { background: rgba(122, 184, 158, 0.1); transform: translateY(-1px); }
.shop-buy-btn.is-loading { pointer-events: none; opacity: 0.7; }
.shop-buy-btn.is-loading span { opacity: 0; }
.shop-buy-btn.is-loading::after {
	content: '';
	position: absolute;
	top: 50%; left: 50%;
	margin: -6px 0 0 -6px;
	width: 12px; height: 12px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: shop-spin 0.7s linear infinite;
}
@keyframes shop-spin { to { transform: rotate(360deg); } }

/* ══════════════════════════════════
   PLATFORM STRIP
══════════════════════════════════ */
.shop-platform-strip {
	background: #1a1918;
	border-top: 1px solid rgba(245, 240, 235, 0.22);
	border-bottom: 1px solid rgba(245, 240, 235, 0.22);
	padding: 48px 60px;
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	align-items: center;
}
.shop-platform-block { padding: 0 56px; }
.shop-platform-block:first-child { padding-left: 0; }
.shop-platform-logo {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 22px;
	font-weight: 300;
	letter-spacing: 0.08em;
	margin-bottom: 6px;
	color: var(--white, #f5f0eb);
}
.shop-platform-logo span { color: var(--gold, #c9a96e); }
.shop-platform-tagline {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.22);
	margin-bottom: 10px;
}
.shop-platform-desc {
	font-size: 12px;
	color: rgba(245, 240, 235, 0.55);
	line-height: 1.75;
	max-width: 340px;
}
.shop-platform-divider {
	background: rgba(245, 240, 235, 0.22);
	height: 100px;
	margin: 0 auto;
}
.shop-platform-tags { display: flex; gap: 6px; margin-top: 14px; flex-wrap: wrap; }
.shop-platform-tag {
	font-size: 10px;
	letter-spacing: 0.06em;
	padding: 3px 9px;
	border-radius: 2px;
	background: rgba(245, 240, 235, 0.05);
	color: rgba(245, 240, 235, 0.22);
}

/* ══════════════════════════════════
   BUNDLE
══════════════════════════════════ */
.shop-bundle {
	padding: 72px 60px;
	background: #111010;
}
.shop-bundle__card {
	background: #1a1918;
	border: 1px solid rgba(201, 169, 110, 0.3);
	padding: 56px 52px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 52px;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.shop-bundle__card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top right, rgba(201, 169, 110, 0.04) 0%, transparent 60%);
	pointer-events: none;
}
.shop-bundle__eyebrow {
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold, #c9a96e);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 9px;
}
.shop-bundle__eyebrow::before { content: ''; width: 16px; height: 1px; background: var(--gold, #c9a96e); }
.shop-bundle__title {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(28px, 3vw, 46px);
	font-weight: 300;
	line-height: 1.1;
	margin-bottom: 14px;
	color: var(--white, #f5f0eb);
}
.shop-bundle__title em { font-style: italic; color: #dfc18e; }
.shop-bundle__desc {
	font-size: 13px;
	color: rgba(245, 240, 235, 0.55);
	line-height: 1.8;
	max-width: 460px;
	margin-bottom: 24px;
}
.shop-bundle__includes { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.shop-bundle__tag {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: rgba(245, 240, 235, 0.55);
	background: rgba(245, 240, 235, 0.05);
	border: 1px solid rgba(245, 240, 235, 0.22);
	padding: 5px 12px;
	border-radius: 2px;
}
.shop-bundle__dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.shop-bundle__dot--wp    { background: var(--cat-wp); }
.shop-bundle__dot--lr    { background: var(--cat-lr); }
.shop-bundle__dot--ps    { background: var(--cat-ps); }
.shop-bundle__dot--ebook { background: var(--cat-eb); }
.shop-bundle__footnote { font-size: 11px; color: rgba(245, 240, 235, 0.22); }
.shop-bundle__pricing { text-align: right; flex-shrink: 0; }
.shop-bundle__was {
	font-size: 13px;
	color: rgba(245, 240, 235, 0.22);
	text-decoration: line-through;
	margin-bottom: 5px;
}
.shop-bundle__price {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 64px;
	font-weight: 300;
	color: var(--gold, #c9a96e);
	line-height: 1;
}
.shop-bundle__price sup { font-size: 28px; }
.shop-bundle__save { font-size: 11px; color: #4caf7d; letter-spacing: 0.06em; margin-bottom: 20px; }
.shop-bundle__buy {
	display: block;
	background: var(--gold, #c9a96e);
	color: #080808;
	padding: 14px 32px;
	border-radius: 2px;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	transition: background 0.2s, transform 0.2s;
}
.shop-bundle__buy:hover { background: #dfc18e; transform: translateY(-1px); }

/* ══════════════════════════════════
   TESTIMONIALS
══════════════════════════════════ */
.shop-testimonials {
	padding: 72px 60px;
}
.shop-test-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 36px;
	margin-top: 48px;
}
.shop-test-card { border-top: 1px solid rgba(245, 240, 235, 0.22); padding-top: 28px; }
.shop-test-stars { color: var(--gold, #c9a96e); letter-spacing: 3px; font-size: 11px; margin-bottom: 14px; }
.shop-test-quote {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 16px;
	font-style: italic;
	font-weight: 300;
	line-height: 1.75;
	color: rgba(245, 240, 235, 0.55);
	margin-bottom: 18px;
}
.shop-test-author {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(245, 240, 235, 0.22);
}
.shop-test-author strong { color: var(--white, #f5f0eb); font-weight: 400; }
.shop-test-product { font-size: 10px; color: var(--gold, #c9a96e); letter-spacing: 0.08em; margin-top: 4px; }

/* ══════════════════════════════════
   CONTACT / FORMSPREE
══════════════════════════════════ */
.shop-contact {
	padding: 72px 60px;
	background: #111010;
	border-top: 1px solid rgba(245, 240, 235, 0.22);
}
.shop-contact__grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 90px;
	align-items: start;
}
.shop-contact__title {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(30px, 3vw, 44px);
	font-weight: 300;
	line-height: 1.15;
	margin: 12px 0 18px;
	color: var(--white, #f5f0eb);
}
.shop-contact__title em { font-style: italic; color: #dfc18e; }
.shop-contact__info p { font-size: 14px; color: rgba(245, 240, 235, 0.55); line-height: 1.8; margin-bottom: 28px; }
.shop-contact__details { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.shop-contact__details li { display: flex; gap: 12px; align-items: flex-start; }
.shop-contact__details svg { width: 16px; height: 16px; fill: var(--gold, #c9a96e); flex-shrink: 0; margin-top: 3px; }
.shop-contact__details strong {
	display: block;
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--white, #f5f0eb);
	font-weight: 400;
	margin-bottom: 1px;
}
.shop-contact__details div { font-size: 13px; color: rgba(245, 240, 235, 0.55); }

/* form */
.shop-contact__form { display: flex; flex-direction: column; gap: 18px; }
.shop-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.shop-form-group { display: flex; flex-direction: column; gap: 6px; }
.shop-form-label {
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.22);
}
.shop-form-label span { color: var(--gold, #c9a96e); }
.shop-form-field {
	background: #1a1918;
	border: 1px solid rgba(245, 240, 235, 0.22);
	border-radius: 3px;
	padding: 11px 14px;
	font-size: 13px;
	color: var(--white, #f5f0eb);
	font-family: inherit;
	outline: none;
	width: 100%;
	transition: border-color 0.2s, background 0.2s;
}
.shop-form-field::placeholder { color: rgba(245, 240, 235, 0.22); }
.shop-form-field:focus { border-color: rgba(201, 169, 110, 0.4); background: rgba(201, 169, 110, 0.03); }
textarea.shop-form-field { resize: vertical; min-height: 110px; line-height: 1.6; }
select.shop-form-field {
	appearance: none; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c9a96e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center;
}
select.shop-form-field option { background: #1a1918; }
.shop-form-status {
	padding: 12px 16px;
	border-radius: 3px;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 9px;
}
.shop-form-status[hidden] { display: none; }
.shop-form-status--success { background: rgba(76, 175, 125, 0.1); border: 1px solid rgba(76, 175, 125, 0.3); color: #7fcfa0; }
.shop-form-status--error   { background: rgba(220, 80, 80, 0.1);  border: 1px solid rgba(220, 80, 80, 0.3);  color: #eb8585; }
.shop-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.shop-form-note { font-size: 11px; color: rgba(245, 240, 235, 0.22); }
.shop-form-note a { color: var(--gold, #c9a96e); text-decoration: none; }
.shop-form-submit {
	background: var(--gold, #c9a96e);
	color: #080808;
	border: none;
	border-radius: 3px;
	padding: 13px 36px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
	position: relative;
}
.shop-form-submit:hover { background: #dfc18e; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(201, 169, 110, 0.2); }
.shop-form-submit.is-sending { pointer-events: none; opacity: 0.75; }
.shop-form-submit.is-sending span { opacity: 0; }
.shop-form-submit.is-sending::after {
	content: '';
	position: absolute;
	top: 50%; left: 50%;
	margin: -6px 0 0 -6px;
	width: 12px; height: 12px;
	border: 2px solid #080808;
	border-top-color: transparent;
	border-radius: 50%;
	animation: shop-spin 0.7s linear infinite;
}

/* ══════════════════════════════════
   FAQ
══════════════════════════════════ */
.shop-faq { padding: 72px 60px; }
.shop-faq__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; margin-top: 48px; }
.shop-faq__item { padding: 20px 0; border-bottom: 1px solid rgba(245, 240, 235, 0.22); cursor: pointer; }
.shop-faq__q {
	font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
	font-size: 17px;
	font-weight: 300;
	color: var(--white, #f5f0eb);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.3;
}
.shop-faq__plus { color: var(--gold, #c9a96e); font-size: 20px; line-height: 1; flex-shrink: 0; transition: transform 0.3s; }
.shop-faq__item.open .shop-faq__plus { transform: rotate(45deg); }
.shop-faq__a {
	font-size: 13px;
	color: rgba(245, 240, 235, 0.55);
	line-height: 1.8;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease, padding-top 0.3s;
}
.shop-faq__item.open .shop-faq__a { max-height: 200px; opacity: 1; padding-top: 12px; }

/* ══════════════════════════════════
   RESPONSIVE
══════════════════════════════════ */
@media (max-width: 1024px) {
	.shop-hero,
	.shop-cat-nav__inner,
	.shop-products,
	.shop-platform-strip,
	.shop-bundle,
	.shop-testimonials,
	.shop-contact,
	.shop-faq { padding-left: 32px; padding-right: 32px; }
	.shop-bundle__card { grid-template-columns: 1fr; }
	.shop-bundle__pricing { text-align: left; }
	.shop-contact__grid { grid-template-columns: 1fr; gap: 48px; }
	.shop-platform-strip { grid-template-columns: 1fr; gap: 40px; }
	.shop-platform-divider { display: none; }
	.shop-platform-block { padding: 0; }
	.shop-faq__cols { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
	.shop-hero { padding: 60px 20px 48px; }
	.shop-hero__stats { gap: 28px; }
	.shop-cat-nav__inner { padding: 0 20px; overflow-x: auto; }
	.shop-products { padding: 48px 20px 60px; }
	.shop-grid { grid-template-columns: 1fr; }
	.shop-products__header { flex-direction: column; align-items: flex-start; gap: 12px; }
	.shop-test-grid { grid-template-columns: 1fr; }
	.shop-form-row { grid-template-columns: 1fr; }
}
