/* ==========================================================================
   Davima — main styles
   Futurist 2026: glassmorphism, soft pastels with bold accents, fluid type.
   ========================================================================== */

/* --- Tokens --- */
:root {
	--c-cream: #FFF8F0;
	--c-cream-2: #FBEFE0;
	--c-ink: #1A1A2E;
	--c-ink-2: #2D2D44;
	--c-coral: #FF6B9D;
	--c-coral-2: #FF4F8A;
	--c-mint: #A8D8B9;
	--c-lavender: #C8B6FF;
	--c-sun: #FFD93D;
	--c-muted: #6B6B7E;
	--c-line: rgba(26, 26, 46, 0.08);

	--g-dawn: linear-gradient(135deg, var(--c-sun) 0%, var(--c-coral) 100%);
	--g-dream: linear-gradient(135deg, var(--c-lavender) 0%, var(--c-coral) 100%);
	--g-fresh: linear-gradient(135deg, var(--c-mint) 0%, var(--c-lavender) 100%);

	--ff-display: "Fraunces", Georgia, serif;
	--ff-body: "Inter", system-ui, -apple-system, sans-serif;

	--fs-h1: clamp(3rem, 2rem + 4vw, 6rem);
	--fs-h2: clamp(2.25rem, 1.6rem + 2.8vw, 3.75rem);
	--fs-h3: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);
	--fs-lede: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);

	--radius-sm: 0.5rem;
	--radius: 1rem;
	--radius-lg: 1.75rem;
	--radius-xl: 2.5rem;

	--shadow-sm: 0 1px 2px rgba(26, 26, 46, 0.05);
	--shadow: 0 8px 30px rgba(26, 26, 46, 0.08);
	--shadow-lg: 0 24px 60px rgba(26, 26, 46, 0.12);

	--container: min(100% - 2.5rem, 1320px);
	--container-wide: min(100% - 2.5rem, 1440px);

	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* --- Reset / base --- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body {
	margin: 0;
	background: var(--c-cream);
	color: var(--c-ink);
	font-family: var(--ff-body);
	font-size: 1rem;
	line-height: 1.6;
	font-feature-settings: "ss01", "ss02";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
	width: 100%;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }
a { color: var(--c-coral); text-decoration: none; transition: color 0.2s var(--ease-out); }
a:hover { color: var(--c-coral-2); }
.screen-reader-text { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.skip-link { position: absolute; top: 0.5rem; left: 0.5rem; background: var(--c-ink); color: var(--c-cream); padding: 0.5rem 1rem; border-radius: var(--radius-sm); transform: translateY(-200%); transition: transform 0.2s; z-index: 100; }
.skip-link:focus { transform: translateY(0); color: var(--c-cream); }
::selection { background: var(--c-coral); color: var(--c-cream); }

/* --- Layout primitives --- */
.container { width: var(--container); margin-inline: auto; }
.container-wide { width: var(--container-wide); margin-inline: auto; }
.muted { color: var(--c-muted); }

/* --- Typography helpers --- */
h1, h2, h3, h4 { font-family: var(--ff-display); font-weight: 600; line-height: 1.1; letter-spacing: -0.015em; margin: 0 0 0.5em; }
h1 { font-size: var(--fs-h1); font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
p  { margin: 0 0 1em; }

/* --- Buttons --- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.875rem 1.75rem;
	border-radius: 999px;
	font-weight: 500;
	font-size: 1rem;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform 0.25s var(--ease-spring), background 0.2s var(--ease-out), color 0.2s var(--ease-out), box-shadow 0.2s var(--ease-out);
	will-change: transform;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--primary { background: var(--c-ink); color: var(--c-cream); }
.btn--primary:hover { background: var(--c-coral); color: var(--c-cream); box-shadow: var(--shadow); }
.btn--ghost { background: transparent; color: var(--c-ink); border-color: var(--c-ink); }
.btn--ghost:hover { background: var(--c-ink); color: var(--c-cream); }

/* --- Header --- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	background: rgba(255, 248, 240, 0.72);
	border-bottom: 1px solid transparent;
	transition: border-color 0.25s, background 0.25s;
}
.site-header[data-scrolled] {
	border-bottom-color: var(--c-line);
	background: rgba(255, 248, 240, 0.85);
}
/* While nav is open, header drops:
 *   - backdrop-filter: creates containing block → fixed descendants get
 *     positioned relative to header, not viewport
 *   - low z-index: header is z-index:50 stacking context → its descendants
 *     can't escape that slot globally, so the drawer renders below WP admin
 *     bar (99999). Bump header to outrank admin bar.
 */
body.has-nav-open .site-header {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	background: var(--c-cream);
	z-index: 999999;
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 1rem;
}
.site-brand { display: inline-flex; align-items: center; }
.site-brand__wordmark {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.75rem;
	letter-spacing: -0.04em;
	color: var(--c-ink);
}
.site-nav__list {
	display: flex;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-nav__list a {
	color: var(--c-ink);
	font-weight: 500;
	position: relative;
	padding-block: 0.25rem;
}
.site-nav__list a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--c-coral);
	transition: width 0.25s var(--ease-out);
}
.site-nav__list a:hover::after { width: 100%; }
.site-header__actions { display: flex; align-items: center; gap: 1rem; }
.cart-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--c-ink);
	font-weight: 500;
	padding: 0.5rem 0.875rem;
	border-radius: 999px;
	border: 1px solid var(--c-line);
	background: rgba(255, 255, 255, 0.5);
	transition: background 0.2s, border-color 0.2s;
}
.cart-link:hover { background: var(--c-ink); color: var(--c-cream); border-color: var(--c-ink); }
.cart-link__count { font-variant-numeric: tabular-nums; font-size: 0.875rem; }
.site-nav__toggle {
	display: none;
	flex-direction: column;
	gap: 4px;
	background: none;
	border: 0;
	padding: 0.5rem;
}
.site-nav__toggle span { display: block; width: 22px; height: 2px; background: var(--c-ink); border-radius: 2px; }
.site-nav__close { display: none; }

/* --- Hero --- */
.hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(4rem, 6vw, 8rem) clamp(5rem, 8vw, 10rem);
}
.hero__inner { position: relative; z-index: 2; max-width: 56rem; }
.hero__eyebrow {
	display: inline-block;
	padding: 0.4rem 0.875rem;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font-size: 0.875rem;
	color: var(--c-ink-2);
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(8px);
	margin-bottom: 1.5rem;
}
.hero__title { margin: 0 0 1.25rem; }
.hero__title-accent {
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-style: italic;
	font-weight: 500;
}
.hero__lede { font-size: var(--fs-lede); color: var(--c-ink-2); max-width: 38rem; margin-bottom: 2.5rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.hero__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.55;
	animation: float 12s ease-in-out infinite;
}
.hero__blob--1 { width: 28rem; height: 28rem; background: var(--c-coral); top: -8rem; right: -6rem; }
.hero__blob--2 { width: 22rem; height: 22rem; background: var(--c-lavender); bottom: -6rem; left: -4rem; animation-delay: -4s; }
.hero__blob--3 { width: 18rem; height: 18rem; background: var(--c-sun); top: 30%; left: 40%; animation-delay: -8s; opacity: 0.35; }
@keyframes float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(2rem, -1.5rem) scale(1.05); }
	66% { transform: translate(-1.5rem, 1rem) scale(0.97); }
}
@media (prefers-reduced-motion: reduce) {
	.hero__blob { animation: none; }
}

/* --- Section heads --- */
.section-head { text-align: center; margin-bottom: 2rem; }
.section-head__eyebrow {
	display: inline-block;
	font-size: 0.875rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-muted);
	margin-bottom: 0.5rem;
}
.section-head__title { margin: 0; }

/* --- Featured products / product grid --- */
.featured-products { padding-block: clamp(4rem, 6vw, 8rem); }
.product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 2rem;
}

/* --- Product card --- */
.product-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 2px rgba(26, 26, 46, 0.04);
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), border-color 0.3s;
}
.product-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px -12px rgba(26, 26, 46, 0.18);
	border-color: rgba(26, 26, 46, 0.14);
}
.product-card__link {
	display: block;
	color: var(--c-ink);
	text-decoration: none;
}
.product-card__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--c-cream-2);
	position: relative;
	margin: 0.75rem 0.75rem 0;
	border-radius: var(--radius);
}
.product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--ease-out);
}
.product-card:hover .product-card__media img { transform: scale(1.05); }
.product-card__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	background: var(--c-coral);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	box-shadow: var(--shadow-sm);
}
.product-card__body {
	padding: 1.1rem 1.25rem 0.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.product-card__title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.3;
	margin: 0;
	color: var(--c-ink);
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.product-card:hover .product-card__title { color: var(--c-coral); }
.product-card__price {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--c-ink);
	display: inline-flex;
	align-items: baseline;
	gap: 0.4rem;
	margin-top: auto;
}
.product-card__price del {
	color: var(--c-muted);
	font-weight: 400;
	font-size: 0.95rem;
}
.product-card__price ins {
	background: transparent;
	text-decoration: none;
	color: var(--c-coral-2);
}

.product-card__cta { padding: 0.5rem 1.25rem 1.25rem; }
.product-card__cta a,
.product-card__cta button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--c-ink);
	color: var(--c-cream);
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.01em;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	border: 0;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s var(--ease-out), color 0.2s var(--ease-out), transform 0.2s var(--ease-spring), box-shadow 0.25s var(--ease-out);
}
.product-card__cta a:hover,
.product-card__cta button:hover {
	background: var(--c-coral);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 16px -4px rgba(255, 79, 138, 0.4);
}
.product-card__cta a.is-loading,
.product-card__cta a.loading { opacity: 0.7; cursor: wait; pointer-events: none; }
/* Hide WC's auto-appended "View cart" link — our toast covers that flow. */
.product-card__cta .added_to_cart,
.product-card .added_to_cart,
.psp-related__grid .added_to_cart { display: none !important; }

/* --- Single product --- */
.product-single__top {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(2rem, 4vw, 5rem);
	padding-block: clamp(2rem, 4vw, 4rem);
}
.product-single__brand {
	font-size: 0.875rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-muted);
	margin: 0 0 0.5rem;
}
.product-single__title { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); margin: 0 0 1.25rem; }
.product-single__price { font-size: 1.75rem; font-weight: 600; margin-bottom: 1.5rem; }
.product-single__price del { color: var(--c-muted); font-weight: 400; margin-right: 0.5rem; font-size: 1.25rem; }
.product-single__lede { color: var(--c-ink-2); font-size: 1.0625rem; line-height: 1.65; margin-bottom: 1.5rem; }
.product-single__benefits {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 1rem 1.25rem;
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	display: grid;
	gap: 0.5rem;
	color: var(--c-ink-2);
}
.product-single__benefits li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.95rem; }

/* WC gallery (use defaults but tame them) */
.woocommerce-product-gallery { background: rgba(255, 255, 255, 0.5); border-radius: var(--radius-lg); padding: 1rem; border: 1px solid var(--c-line); }
.woocommerce-product-gallery img { border-radius: var(--radius); }

/* Quantity + cart */
form.cart { display: flex; align-items: center; gap: 0.75rem; margin-block: 1.5rem 0; flex-wrap: wrap; }
.quantity input.qty {
	width: 4.5rem;
	padding: 0.75rem 0.5rem;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.7);
	text-align: center;
	font: inherit;
}

/* --- Product sections (Carbon Fields renderer) --- */
.product-sections { padding-block: clamp(3rem, 5vw, 7rem); }
.product-section { padding-block: clamp(2.5rem, 4vw, 5rem); }
.product-section + .product-section { border-top: 1px solid var(--c-line); }
.product-section__inner { display: grid; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.product-section--split .product-section__inner { grid-template-columns: 1fr 1fr; }
.product-section--media-right .product-section__media { order: 2; }
.product-section__media img { border-radius: var(--radius-lg); width: 100%; height: auto; }
.product-section__eyebrow {
	display: inline-block;
	padding: 0.4rem 0.875rem;
	background: var(--g-fresh);
	color: var(--c-ink);
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
}
.product-section__title { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem); margin: 0 0 1rem; }
.product-section__body { font-size: 1.0625rem; color: var(--c-ink-2); }
.product-section__body p { margin-bottom: 1em; }
.product-section--gallery .product-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}
.product-gallery__item img { border-radius: var(--radius); aspect-ratio: 1; object-fit: cover; }
.product-section--quote { text-align: center; }
.product-section--quote blockquote {
	font-family: var(--ff-display);
	font-style: italic;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	line-height: 1.4;
	max-width: 48rem;
	margin: 0 auto 1rem;
	color: var(--c-ink);
}
.product-section--quote cite { color: var(--c-muted); font-style: normal; font-size: 0.95rem; }
.product-section--features ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
.product-section--features li {
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 1.5rem;
}
.product-section--features li strong { display: block; font-family: var(--ff-display); font-size: 1.25rem; margin-bottom: 0.5rem; }

/* --- Value props --- */
.value-props { padding-block: clamp(4rem, 6vw, 8rem); background: var(--c-cream-2); border-radius: var(--radius-xl) var(--radius-xl) 0 0; margin-top: 4rem; }
.value-props__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; }
.value-prop {
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 2rem;
	text-align: center;
	backdrop-filter: blur(10px);
}
.value-prop__icon { font-size: 2rem; margin-bottom: 1rem; color: var(--c-coral); }
.value-prop h3 { font-size: 1.25rem; margin: 0 0 0.5rem; }
.value-prop p { color: var(--c-ink-2); margin: 0; }

/* --- Footer --- */
.site-footer {
	background: var(--c-ink);
	color: var(--c-cream);
	padding-block: 4rem 2rem;
	margin-top: 4rem;
}
.site-footer a { color: var(--c-cream); }
.site-footer a:hover { color: var(--c-coral); }
.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 4rem; }
.site-footer__wordmark { font-family: var(--ff-display); font-weight: 700; font-size: 2rem; letter-spacing: -0.04em; display: block; }
.site-footer__tagline { color: rgba(255, 248, 240, 0.7); margin-top: 0.5rem; }
.site-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.site-footer__legal { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(255, 248, 240, 0.1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; color: rgba(255, 248, 240, 0.7); font-size: 0.875rem; }
.site-footer__legal p { margin: 0; }

/* --- 404 --- */
.error-404 { text-align: center; padding-block: 6rem 8rem; }
.error-404__code { font-family: var(--ff-display); font-weight: 700; font-size: clamp(6rem, 4rem + 8vw, 12rem); line-height: 1; margin: 0; background: var(--g-dream); -webkit-background-clip: text; background-clip: text; color: transparent; }
.error-404__title { margin: 0 0 0.5rem; }
.error-404__lede { color: var(--c-muted); margin-bottom: 2rem; }

/* --- Reveal animation --- */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ==========================================================================
   PROMO BAR (top marquee)
   ========================================================================== */
.promo-bar {
	background: var(--c-ink);
	color: var(--c-cream);
	overflow: hidden;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}
.promo-bar__track {
	display: flex;
	gap: 3rem;
	white-space: nowrap;
	padding: 0.6rem 0;
	width: max-content;
	animation: scroll-left 40s linear infinite;
}
.promo-bar__track span { flex: none; }
@keyframes scroll-left {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.promo-bar__track { animation: none; }
}

/* ==========================================================================
   HEADER UPDATES
   ========================================================================== */
.site-header__inner {
	gap: 1rem;
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: center;
}
@media (max-width: 900px) {
	.site-header__inner { grid-template-columns: auto auto 1fr auto; }
}
.site-brand__logo { height: 52px; width: auto; color: var(--c-ink); }
.site-nav { justify-self: center; }
.site-header__actions { display: flex; align-items: center; gap: 0.25rem; }
.header-action {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--c-ink);
	position: relative;
	transition: background 0.2s, color 0.2s, transform 0.2s var(--ease-spring);
	text-decoration: none;
}
.header-action:hover { background: var(--c-cream-2); color: var(--c-coral-2); transform: scale(1.05); }
.header-action__badge {
	position: absolute;
	top: 4px;
	right: 4px;
	background: var(--c-coral);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	line-height: 1;
}
.site-nav__toggle {
	display: none;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	color: var(--c-ink);
	border-radius: 999px;
}
.site-nav__toggle:hover { background: var(--c-ink); color: var(--c-cream); }

/* Search overlay */
.header-search {
	border-top: 1px solid var(--c-line);
	background: var(--c-cream);
	padding: 1.25rem 0;
}
.header-search__form {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	padding: 0.5rem 1rem;
}
.header-search__form input[type="search"] {
	flex: 1;
	border: 0;
	background: transparent;
	font: inherit;
	padding: 0.6rem 0;
	color: var(--c-ink);
	outline: none;
}
.header-search__form button[type="submit"] {
	background: var(--c-ink);
	color: var(--c-cream);
	border: 0;
	border-radius: 999px;
	padding: 0.6rem 1.25rem;
	font-weight: 500;
}
.header-search__close {
	background: transparent;
	border: 0;
	color: var(--c-muted);
	font-size: 1.5rem;
	width: 32px;
	height: 32px;
	border-radius: 999px;
}
.header-search__close:hover { background: var(--c-line); color: var(--c-ink); }

/* ==========================================================================
   HOME HERO (improved with media + stickers)
   ========================================================================== */
.home-hero { padding-block: clamp(2rem, 4vw, 4rem) clamp(3rem, 5vw, 5rem); }
.home-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 6rem);
	align-items: center;
	position: relative;
	z-index: 2;
}
.home-hero__content { max-width: 38rem; }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 0.4rem; vertical-align: middle; }
.dot--coral { background: var(--c-coral); }

.hero__title-accent {
	display: inline-block;
	position: relative;
	font-style: italic;
	font-weight: 500;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.hero__title-underline {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.4em;
	width: 100%;
	height: 0.5em;
	color: var(--c-coral);
}

.hero__proof {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px dashed var(--c-line);
}
.hero__proof-avatars { display: inline-flex; }
.hero__avatar {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--c-cream);
	border: 2px solid var(--c-cream);
	box-shadow: var(--shadow-sm);
}
.hero__avatar + .hero__avatar { margin-left: -10px; }
.hero__proof-info { display: flex; flex-direction: column; gap: 0.15rem; }
.hero__proof-stars { display: inline-flex; align-items: center; gap: 4px; font-size: 0.95rem; color: var(--c-ink); }
.hero__proof-stars strong { font-weight: 600; margin-left: 0.25rem; }
.hero__proof p { margin: 0; color: var(--c-muted); font-size: 0.85rem; }

.hero__grid {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--c-ink);
	opacity: 0.04;
	mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%);
}

.hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	transform: translateX(-50%);
	width: 22px;
	height: 36px;
	border: 1.5px solid var(--c-ink-2);
	border-radius: 999px;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding-top: 6px;
	opacity: 0.5;
	transition: opacity 0.2s var(--ease-out);
	z-index: 3;
}
.hero__scroll:hover { opacity: 1; }
.hero__scroll span {
	width: 3px;
	height: 7px;
	background: var(--c-ink-2);
	border-radius: 999px;
	animation: scroll-cue 2.4s ease-in-out infinite;
}
@keyframes scroll-cue {
	0%, 20% { transform: translateY(0); opacity: 1; }
	100% { transform: translateY(10px); opacity: 0; }
}
@media (min-width: 901px) { .hero__scroll { display: inline-flex; } }
@media (prefers-reduced-motion: reduce) { .hero__scroll span { animation: none; } }

.home-hero__media {
	position: relative;
	aspect-ratio: 4 / 5;
	max-height: 700px;
	width: 100%;
	max-width: 560px;
	justify-self: center;
}
.home-hero__media-frame {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	transform: rotate(-1.5deg);
	transition: transform 0.6s var(--ease-out);
}
.home-hero__media-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid rgba(255, 255, 255, 0.5);
	pointer-events: none;
}
.home-hero__media:hover .home-hero__media-frame { transform: rotate(0deg) scale(1.01); }
.home-hero__image,
.home-hero__placeholder {
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
}
.home-hero__placeholder svg { width: 100%; height: 100%; }

.home-hero__sticker { position: absolute; pointer-events: none; }
.home-hero__sticker--rotate {
	width: 130px;
	height: 130px;
	top: -28px;
	right: -28px;
	animation: spin-slow 18s linear infinite;
	filter: drop-shadow(0 8px 20px rgba(255, 217, 61, 0.4));
}
@keyframes spin-slow { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.home-hero__sticker--rotate { animation: none; }
}

.home-hero__sticker--card {
	bottom: -24px;
	left: -32px;
	pointer-events: auto;
}
.hero-mini-card {
	display: inline-flex;
	align-items: center;
	gap: 0.875rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow);
	border-radius: 999px;
	padding: 0.75rem 1.25rem;
	font-size: 0.9rem;
}
.hero-mini-card__icon {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-coral);
	color: #fff;
	border-radius: 999px;
	font-size: 1.1rem;
}
.hero-mini-card__icon svg { stroke: currentColor; fill: none; }

.home-hero__sticker--note {
	top: 12%;
	left: -24px;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow);
	border-radius: 999px;
	padding: 0.55rem 0.9rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--c-ink);
	transform: rotate(-6deg);
}
.home-hero__sticker--note svg { color: var(--c-coral); }
.hero-mini-card div { display: flex; flex-direction: column; line-height: 1.2; }
.hero-mini-card strong { font-family: var(--ff-display); font-weight: 600; font-size: 1rem; }
.hero-mini-card span { color: var(--c-muted); font-size: 0.8125rem; }

/* ==========================================================================
   MARQUEE STRIP
   ========================================================================== */
.marquee {
	overflow: hidden;
	background: var(--c-ink);
	color: var(--c-cream);
	padding: 1.25rem 0;
	border-top: 1px solid var(--c-ink-2);
	border-bottom: 1px solid var(--c-ink-2);
}
.marquee__track {
	display: flex;
	gap: 2.5rem;
	width: max-content;
	white-space: nowrap;
	animation: scroll-left 30s linear infinite;
	font-family: var(--ff-display);
	font-size: clamp(1.5rem, 1rem + 1vw, 2rem);
	font-weight: 500;
	font-style: italic;
}
.marquee__star { color: var(--c-coral); font-style: normal; }
@media (prefers-reduced-motion: reduce) {
	.marquee__track { animation: none; }
}

/* ==========================================================================
   SECTION HEADS
   ========================================================================== */
.section-head--left { text-align: left; max-width: 40rem; margin-bottom: 2rem; }
.section-head--row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
	margin-bottom: 2rem;
	text-align: left;
}
.section-head__lede { color: var(--c-muted); font-size: 1.0625rem; margin: 0.5rem 0 0; }
.section-head__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--c-ink);
	font-weight: 600;
	font-size: 0.95rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: color 0.2s var(--ease-out), gap 0.2s var(--ease-out);
	flex-shrink: 0;
}
.section-head__link:hover { color: var(--c-coral); gap: 0.6rem; }

/* ==========================================================================
   VALUE STRIP (4 trust pills)
   ========================================================================== */
.value-strip {
	padding-block: clamp(2rem, 3vw, 3rem);
	background: linear-gradient(to bottom, var(--c-cream) 0%, transparent 100%);
}
.value-strip__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}
.value-strip__item {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 1.1rem 1.25rem;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s;
}
.value-strip__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
	border-color: rgba(26, 26, 46, 0.14);
}
.value-strip__icon {
	width: 44px;
	height: 44px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	color: var(--c-ink);
}
.value-strip__icon--coral    { background: rgba(255, 107, 157, 0.18); color: var(--c-coral-2); }
.value-strip__icon--lavender { background: rgba(200, 182, 255, 0.35); color: #6B5BD9; }
.value-strip__icon--mint     { background: rgba(168, 216, 185, 0.4); color: #2F8E55; }
.value-strip__icon--sun      { background: rgba(255, 217, 61, 0.3); color: #B8860B; }
.value-strip__item div { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.value-strip__item strong { font-family: var(--ff-display); font-weight: 600; font-size: 1rem; color: var(--c-ink); }
.value-strip__item span { font-size: 0.825rem; color: var(--c-muted); }

/* ==========================================================================
   COLLECTIONS GRID
   ========================================================================== */
.collections { padding-block: clamp(2.5rem, 4vw, 4.5rem); }
.collections__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.collection-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: var(--radius-xl);
	overflow: hidden;
	color: var(--c-ink);
	min-height: 540px;
	transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
	text-decoration: none;
	isolation: isolate;
}
.collection-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.collection-card--coral    { background: linear-gradient(160deg, #FFE5EE 0%, #FFB8D1 100%); }
.collection-card--lavender { background: linear-gradient(160deg, #ECE5FF 0%, #C8B6FF 100%); }
.collection-card--mint     { background: linear-gradient(160deg, #E8F5EE 0%, #A8D8B9 100%); }

/* Decorative blob in card background */
.collection-card::before {
	content: "";
	position: absolute;
	width: 200px; height: 200px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	top: -60px; right: -60px;
	filter: blur(40px);
	z-index: 0;
	transition: transform 0.6s var(--ease-out);
}
.collection-card:hover::before { transform: scale(1.3); }

.collection-card__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.collection-card__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	background: var(--c-cream);
	color: var(--c-ink);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	box-shadow: var(--shadow-sm);
	border: 1px solid var(--c-line);
}
.collection-card--coral    .collection-card__badge { color: var(--c-coral-2); }
.collection-card--lavender .collection-card__badge { color: #6B5BD9; }
.collection-card--mint     .collection-card__badge { color: #2F8E55; }
.collection-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--ease-out), filter 0.4s var(--ease-out);
	filter: saturate(1.05);
}
.collection-card:hover .collection-card__media img { transform: scale(1.08); filter: saturate(1.15); }

.collection-card__body { padding: 1.5rem 1.75rem 1.75rem; background: rgba(255, 248, 240, 0.85); backdrop-filter: blur(10px); position: relative; z-index: 1; }
.collection-card__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-ink-2);
	margin-bottom: 0.5rem;
}
.collection-card__title { font-size: 1.5rem; margin: 0 0 0.5rem; }
.collection-card__desc { color: var(--c-ink-2); font-size: 0.95rem; margin: 0 0 1rem; line-height: 1.55; }
.collection-card__cta { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; color: var(--c-ink); }
.collection-card__cta-arrow {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-ink);
	color: var(--c-cream);
	border-radius: 999px;
	transition: transform 0.3s var(--ease-spring), background 0.2s var(--ease-out);
}
.collection-card:hover .collection-card__cta { color: var(--c-coral); }
.collection-card:hover .collection-card__cta-arrow { transform: translateX(4px); background: var(--c-coral); }

/* ==========================================================================
   BESTSELLERS SLIDER
   ========================================================================== */
.bestsellers { padding-block: clamp(2.5rem, 4vw, 4.5rem); }
.slider {
	margin: 0 -1rem;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 3rem), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 1.5rem, #000 calc(100% - 3rem), transparent 100%);
}
.slider__track {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 1rem 1rem 2rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
}
.slider__track::-webkit-scrollbar { display: none; }
.slider__slide {
	flex: 0 0 calc((100% - 4.5rem) / 4);
	scroll-snap-align: start;
	min-width: 240px;
}
@media (max-width: 1100px) { .slider__slide { flex: 0 0 calc((100% - 3rem) / 3); } }
@media (max-width: 800px)  { .slider__slide { flex: 0 0 calc((100% - 1.5rem) / 2); } }
@media (max-width: 540px)  { .slider__slide { flex: 0 0 80%; } }

.slider-controls { display: flex; gap: 0.5rem; }
.slider-controls__btn {
	width: 44px; height: 44px;
	border: 1px solid var(--c-line);
	background: rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.slider-controls__btn:hover { background: var(--c-ink); color: var(--c-cream); border-color: var(--c-ink); }
.slider-controls__btn:disabled { opacity: 0.35; cursor: not-allowed; }

.bestsellers__cta { text-align: center; margin-top: 2rem; }

/* ==========================================================================
   HOW IT WORKS
   ========================================================================== */
.how { padding-block: clamp(2.5rem, 4vw, 4.5rem); background: var(--c-cream-2); border-radius: var(--radius-xl); margin-block: clamp(1.5rem, 3vw, 3rem); }
.how__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	position: relative;
}
.how__steps::before {
	content: "";
	position: absolute;
	top: 4.25rem;
	left: 16%;
	right: 16%;
	height: 2px;
	background: repeating-linear-gradient(to right, var(--c-ink) 0 6px, transparent 6px 14px);
	opacity: 0.18;
	z-index: 0;
}
@media (max-width: 900px) { .how__steps::before { display: none; } }
.how__step {
	background: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(10px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 2.5rem 2rem;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.how__step:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.how__step::before {
	content: "";
	position: absolute;
	width: 200px; height: 200px;
	border-radius: 50%;
	filter: blur(60px);
	top: -100px; right: -80px;
	opacity: 0.4;
}
.how__step--coral::before { background: var(--c-coral); }
.how__step--lavender::before { background: var(--c-lavender); }
.how__step--mint::before { background: var(--c-mint); }

.how__num {
	font-family: var(--ff-display);
	font-size: 3rem;
	font-weight: 700;
	color: var(--c-ink);
	line-height: 1;
	margin-bottom: 1.25rem;
	display: inline-block;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.how__icon {
	position: absolute;
	top: 2.3rem;
	right: 2rem;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	color: var(--c-ink);
	z-index: 2;
}
.how__step--coral .how__icon { color: var(--c-coral-2); }
.how__step--lavender .how__icon { color: #6B5BD9; }
.how__step--mint .how__icon { color: #2F8E55; }
.how__step h3 { font-size: 1.5rem; margin: 0 0 0.5rem; position: relative; }
.how__step p { color: var(--c-ink-2); margin: 0; position: relative; }

/* ==========================================================================
   LOCAL IAȘI DELIVERY
   ========================================================================== */
.iasi { padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.iasi__card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding: clamp(1.75rem, 3vw, 2.75rem);
	background: linear-gradient(135deg, #FFE5EE 0%, #FBEFE0 50%, #ECE5FF 100%);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-xl);
	overflow: hidden;
	isolation: isolate;
}
.iasi__card::before {
	content: "";
	position: absolute;
	width: 320px; height: 320px;
	border-radius: 50%;
	background: var(--c-coral);
	filter: blur(80px);
	opacity: 0.25;
	top: -100px;
	right: -80px;
	z-index: 0;
}

.iasi__visual {
	position: relative;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.25rem;
	z-index: 1;
}
.iasi__map { width: 100%; height: auto; display: block; }
.iasi__route {
	stroke-dasharray: 200;
	stroke-dashoffset: 200;
	animation: iasi-trace 4s var(--ease-out) infinite;
}
@keyframes iasi-trace {
	0% { stroke-dashoffset: 200; }
	60%, 100% { stroke-dashoffset: 0; }
}
.iasi__pin-bounce {
	transform-origin: center bottom;
	animation: iasi-bounce 1.6s ease-in-out infinite;
}
@keyframes iasi-bounce {
	0%, 100% { transform: translateY(0) scale(1, 1); }
	30% { transform: translateY(-6px) scale(1.05, 0.95); }
	60% { transform: translateY(0) scale(0.95, 1.05); }
}
@media (prefers-reduced-motion: reduce) {
	.iasi__route { animation: none; stroke-dashoffset: 0; }
	.iasi__pin-bounce { animation: none; }
}

.iasi__badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: var(--c-ink);
	color: var(--c-cream);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
}
.iasi__badge svg { color: var(--c-sun); }

.iasi__content { position: relative; z-index: 1; }
.iasi__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--c-ink);
	color: var(--c-cream);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.iasi__pill svg { color: var(--c-coral); }

.iasi__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
	color: var(--c-ink);
}
.iasi__title-accent {
	font-style: italic;
	font-weight: 500;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.iasi__lede {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--c-ink-2);
	margin: 0 0 1.25rem;
	max-width: 32rem;
}
.iasi__perks {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}
.iasi__perks li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.95rem;
	color: var(--c-ink);
	font-weight: 500;
}
.iasi__check {
	width: 22px;
	height: 22px;
	flex: none;
	border-radius: 999px;
	background: var(--c-mint);
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.iasi__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; align-items: center; }
.iasi__secondary {
	color: var(--c-ink);
	font-weight: 600;
	font-size: 0.9rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.iasi__secondary:hover { color: var(--c-coral); }

@media (max-width: 900px) {
	.iasi__card { grid-template-columns: 1fr; }
	.iasi__visual { order: -1; }
}

/* ==========================================================================
   STORY
   ========================================================================== */
.story { padding-block: clamp(2.5rem, 4vw, 4.5rem); }
.story__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.story__media {
	position: relative;
	aspect-ratio: 4 / 5;
	max-width: 540px;
}
.story__image { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }
.story__badge {
	position: absolute;
	bottom: -28px;
	right: -28px;
	width: 130px;
	height: 130px;
	animation: spin-slow 18s linear infinite reverse;
	filter: drop-shadow(0 8px 20px rgba(168, 216, 185, 0.5));
}
.story__stats {
	position: absolute;
	bottom: 1.5rem;
	left: -1.5rem;
	display: flex;
	gap: 0;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 0.875rem 0.5rem;
	box-shadow: var(--shadow-lg);
	max-width: calc(100% - 3rem);
}
.story__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 1.1rem;
	min-width: 0;
}
.story__stat + .story__stat { border-left: 1px solid var(--c-line); }
.story__stat strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.story__stat span { font-size: 0.75rem; color: var(--c-muted); margin-top: 0.25rem; letter-spacing: 0.04em; }
@media (max-width: 900px) {
	.story__stats { left: 50%; transform: translateX(-50%); bottom: -1.25rem; }
}
.story__content { max-width: 36rem; }
.story__title { font-size: clamp(2rem, 1.4rem + 1.8vw, 3rem); margin: 0.5rem 0 1.5rem; }
.story__content p { color: var(--c-ink-2); font-size: 1.0625rem; line-height: 1.7; }
.story__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	font-weight: 600;
	color: var(--c-ink);
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.story__link:hover { color: var(--c-coral); }

/* ==========================================================================
   REVIEWS
   ========================================================================== */
.reviews {
	padding-block: clamp(3rem, 4.5vw, 5rem);
	background: linear-gradient(180deg, var(--c-cream-2) 0%, #F5E6D3 100%);
	border-radius: var(--radius-xl);
	margin-block: clamp(1.5rem, 3vw, 3rem);
	position: relative;
	overflow: hidden;
}
.reviews::before {
	content: "";
	position: absolute;
	width: 280px; height: 280px;
	border-radius: 50%;
	background: var(--c-coral);
	filter: blur(120px);
	opacity: 0.18;
	top: 20%;
	left: -120px;
	pointer-events: none;
}
.reviews::after {
	content: "";
	position: absolute;
	width: 280px; height: 280px;
	border-radius: 50%;
	background: var(--c-lavender);
	filter: blur(120px);
	opacity: 0.22;
	bottom: 10%;
	right: -120px;
	pointer-events: none;
}
.reviews .container { position: relative; z-index: 1; }
.reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.review-card {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 2.25rem 2rem 1.75rem;
	position: relative;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out), border-color 0.3s;
	border-top: 3px solid var(--c-coral);
}
.review-card--coral    { border-top-color: var(--c-coral); }
.review-card--lavender { border-top-color: var(--c-lavender); }
.review-card--mint     { border-top-color: var(--c-mint); }
.review-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.review-card__quote-mark {
	position: absolute;
	top: -18px;
	left: 24px;
	width: 40px;
	height: 40px;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-coral);
	box-shadow: var(--shadow-sm);
}
.review-card--lavender .review-card__quote-mark { color: #6B5BD9; }
.review-card--mint .review-card__quote-mark { color: #2F8E55; }
.review-card__stars { display: inline-flex; gap: 2px; margin: 0 0 1rem; }
.review-card__quote {
	font-family: var(--ff-display);
	font-style: italic;
	font-size: 1.0625rem;
	line-height: 1.55;
	margin: 0 0 1.5rem;
	color: var(--c-ink);
}
.review-card__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding-top: 1rem;
	border-top: 1px solid var(--c-line);
}
.review-card__author > div { display: flex; flex-direction: column; line-height: 1.3; }
.review-card__author strong { font-weight: 600; color: var(--c-ink); }
.review-card__author span { color: var(--c-muted); font-size: 0.825rem; margin-top: 2px; display: inline-flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
.review-card__avatar {
	width: 42px;
	height: 42px;
	flex: none;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--c-cream);
	background: var(--g-dream);
}
.review-card--lavender .review-card__avatar { background: linear-gradient(135deg, var(--c-lavender) 0%, #8B7BFF 100%); }
.review-card--mint .review-card__avatar { background: linear-gradient(135deg, var(--c-mint) 0%, #6FB888 100%); }
.review-card__verified {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	background: rgba(47, 142, 85, 0.12);
	color: #2F8E55;
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.15rem 0.5rem 0.15rem 0.4rem;
	border-radius: 999px;
}
.review-card__verified svg { stroke: currentColor; }

/* ==========================================================================
   LIFESTYLE GRID (Instagram-style)
   ========================================================================== */
.lifestyle { padding-block: clamp(2.5rem, 4vw, 4.5rem); }
.lifestyle__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.25rem 1.5rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	margin-bottom: 1.5rem;
	box-shadow: var(--shadow-sm);
}
.lifestyle__profile { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.lifestyle__avatar {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 80%, #4F5BD5 100%);
}
.lifestyle__handle { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.lifestyle__name {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.25rem;
	margin: 0;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.lifestyle__verified { display: inline-flex; align-items: center; }
.lifestyle__bio {
	font-size: 0.875rem;
	color: var(--c-muted);
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}
.lifestyle__count strong { color: var(--c-ink); font-weight: 600; }
.lifestyle__sep { opacity: 0.5; }
.lifestyle__follow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 80%, #4F5BD5 100%);
	color: #fff;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0.6rem 1.1rem;
	border-radius: 999px;
	flex-shrink: 0;
	transition: transform 0.2s var(--ease-spring), box-shadow 0.25s var(--ease-out);
}
.lifestyle__follow:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px -4px rgba(214, 41, 118, 0.4);
}

.lifestyle__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 0.5rem;
}
.lifestyle__item {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--radius-sm);
	display: block;
	position: relative;
	border: 1px solid var(--c-line);
}
.lifestyle__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease-out); }
.lifestyle__item:hover img { transform: scale(1.05); }
.lifestyle__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	color: var(--c-cream);
	background: linear-gradient(180deg, rgba(26, 26, 46, 0.1) 0%, rgba(26, 26, 46, 0.65) 100%);
	opacity: 0;
	transition: opacity 0.3s var(--ease-out);
	pointer-events: none;
}
.lifestyle__metric {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-weight: 700;
	font-size: 0.875rem;
	transform: translateY(8px);
	transition: transform 0.3s var(--ease-out);
}
.lifestyle__metric svg { fill: currentColor; stroke: currentColor; }
.lifestyle__item:hover .lifestyle__overlay { opacity: 1; }
.lifestyle__item:hover .lifestyle__metric { transform: translateY(0); }

/* ==========================================================================
   NEWSLETTER
   ========================================================================== */
.newsletter { padding-block: clamp(2rem, 4vw, 4rem); }
.newsletter__inner {
	background: linear-gradient(135deg, #2D2D44 0%, #1A1A2E 60%, #3A1F3A 100%);
	color: var(--c-cream);
	border-radius: var(--radius-xl);
	padding: clamp(2.5rem, 4vw, 4.5rem);
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 2.5rem;
	align-items: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.newsletter__deco { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.newsletter__deco-blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
}
.newsletter__deco-blob--1 {
	width: 320px; height: 320px;
	background: var(--g-dream);
	opacity: 0.55;
	top: -120px;
	right: -80px;
}
.newsletter__deco-blob--2 {
	width: 260px; height: 260px;
	background: linear-gradient(135deg, var(--c-mint) 0%, var(--c-lavender) 100%);
	opacity: 0.35;
	bottom: -100px;
	left: -60px;
}
.newsletter__copy { position: relative; z-index: 1; }
.newsletter__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-sun);
	margin: 0 0 1rem;
}
.newsletter__eyebrow svg { color: var(--c-sun); }
.newsletter__title { color: var(--c-cream); font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem); margin: 0 0 0.75rem; line-height: 1.15; }
.newsletter__lede { color: rgba(255, 248, 240, 0.75); margin: 0; max-width: 32rem; }
.newsletter__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 28px;
	padding: 0.4rem;
	position: relative;
	z-index: 1;
	transition: border-color 0.2s var(--ease-out), background 0.2s var(--ease-out);
}
.newsletter__form:focus-within {
	border-color: rgba(255, 217, 61, 0.5);
	background: rgba(255, 255, 255, 0.12);
}
.newsletter__form input[type="email"] {
	flex: 1 1 220px;
	min-width: 0;
	background: transparent;
	border: 0;
	color: var(--c-cream);
	font: inherit;
	padding: 0.75rem 1rem;
	outline: none;
}
.newsletter__form input[type="email"]::placeholder { color: rgba(255, 248, 240, 0.5); }
.newsletter__form button.btn--primary { background: var(--c-coral); color: var(--c-cream); flex: 0 0 auto; padding-inline: 1.5rem; }
.newsletter__form button.btn--primary:hover { background: var(--c-sun); color: var(--c-ink); }
.newsletter__success {
	background: rgba(168, 216, 185, 0.15);
	border: 1px solid rgba(168, 216, 185, 0.4);
	border-radius: var(--radius);
	padding: 1rem 1.25rem;
	color: var(--c-cream);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.95rem;
}
.newsletter__success strong { color: #A8D8B9; font-weight: 700; }
.newsletter__code {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--c-cream);
	color: var(--c-ink);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.125rem;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	letter-spacing: 0.04em;
	width: fit-content;
}
.newsletter__code-copy {
	background: var(--c-coral);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 0.3rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
}
.newsletter__code-copy:hover { background: var(--c-coral-2); }

/* ==========================================================================
   FOOTER (improved)
   ========================================================================== */
.site-footer { background: var(--c-ink); color: var(--c-cream); padding-block: clamp(3rem, 5vw, 5rem) 2rem; margin-top: 4rem; }
.site-footer__top {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 4rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgba(255, 248, 240, 0.1);
}
.site-footer__brand { max-width: 24rem; }
.site-footer__logo { height: 44px; color: var(--c-cream); margin-bottom: 0.75rem; display: block; }
.site-footer__tagline { color: rgba(255, 248, 240, 0.7); margin: 0 0 1.5rem; }
.site-footer__social { display: flex; gap: 0.5rem; }
.site-footer__social a {
	width: 40px; height: 40px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--c-cream);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, transform 0.2s;
}
.site-footer__social a:hover { background: var(--c-coral); color: var(--c-cream); transform: translateY(-2px); }

.site-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.site-footer__col h4 {
	font-family: var(--ff-display);
	font-size: 1rem;
	font-weight: 600;
	color: var(--c-cream);
	margin: 0 0 1rem;
}
.site-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.site-footer__col a { color: rgba(255, 248, 240, 0.7); font-size: 0.95rem; }
.site-footer__col a:hover { color: var(--c-coral); }

.site-footer__trust {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	padding: 2rem 0;
	border-bottom: 1px solid rgba(255, 248, 240, 0.1);
	text-align: center;
}
.site-footer__trust-item { display: flex; flex-direction: column; gap: 0.25rem; }
.site-footer__trust-num { font-family: var(--ff-display); font-size: 1.75rem; font-weight: 700; color: var(--c-cream); }
.site-footer__trust-label { font-size: 0.875rem; color: rgba(255, 248, 240, 0.6); }

.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	padding-top: 2rem;
	flex-wrap: wrap;
}
.site-footer__copy { color: rgba(255, 248, 240, 0.6); margin: 0; font-size: 0.875rem; }
.site-footer__payments { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.payment-pill {
	background: rgba(255, 255, 255, 0.08);
	color: rgba(255, 248, 240, 0.8);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.4rem 0.75rem;
	border-radius: 6px;
}
.site-footer__anpc { display: flex; gap: 1rem; }
.site-footer__anpc a { color: rgba(255, 248, 240, 0.6); font-size: 0.8125rem; }
.site-footer__anpc a:hover { color: var(--c-coral); }

/* ==========================================================================
   PRODUCT SINGLE PAGE (.psp-*) — futurist 2026 layout
   ========================================================================== */
.psp { padding-bottom: clamp(3rem, 5vw, 5rem); }

/* --- Hero --- */
.psp-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(2.5rem, 4vw, 4rem);
}
.psp-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.psp-hero__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	opacity: 0.45;
}
.psp-hero__blob--1 { width: 22rem; height: 22rem; background: var(--c-coral); top: -8rem; right: -6rem; }
.psp-hero__blob--2 { width: 18rem; height: 18rem; background: var(--c-lavender); bottom: -6rem; left: -4rem; opacity: 0.35; }

.psp-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: start;
}

/* --- Gallery (WC default) wrapped in frame for animation --- */
.psp-hero__media {
	position: relative;
	max-width: 460px;
	width: 100%;
	margin: 1rem auto 0;
}
.psp-hero__media-frame {
	animation: psp-float 6s ease-in-out infinite;
	transform-origin: center center;
	transition: transform 0.5s var(--ease-out);
}
.psp-hero__media:hover .psp-hero__media-frame { transform: rotate(-1deg) scale(1.01); }
@keyframes psp-float {
	0%, 100% { transform: translateY(0) rotate(-1.5deg); }
	50% { transform: translateY(-10px) rotate(0.5deg); }
}
@media (prefers-reduced-motion: reduce) {
	.psp-hero__media-frame { animation: none; transform: none; }
}
.woocommerce-product-gallery {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(12px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-xl);
	padding: 0.75rem;
	box-shadow: var(--shadow-lg);
	position: relative;
}
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery img {
	border-radius: var(--radius-lg);
	display: block;
	width: 100%;
	height: auto;
}
.woocommerce-product-gallery .flex-control-thumbs {
	list-style: none;
	display: flex;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 80px; }
.woocommerce-product-gallery .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: var(--radius);
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 0.2s, border-color 0.2s;
}
.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--c-coral); }
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
	box-shadow: var(--shadow-sm);
}

/* --- Hero stickers --- */
.psp-hero__sticker { position: absolute; z-index: 4; pointer-events: none; }
.psp-hero__sticker--rotate {
	width: 110px;
	height: 110px;
	top: -28px;
	right: -22px;
	animation: spin-slow 18s linear infinite;
	filter: drop-shadow(0 8px 20px rgba(255, 217, 61, 0.4));
}
@media (prefers-reduced-motion: reduce) {
	.psp-hero__sticker--rotate { animation: none; }
}

.psp-hero__sticker--ig {
	pointer-events: auto;
	bottom: 24px;
	right: -32px;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow-lg);
	border-radius: 999px;
	padding: 0.5rem 0.95rem 0.5rem 0.5rem;
	color: var(--c-ink);
	text-decoration: none;
	transform: rotate(2deg);
	animation: psp-bob 4.5s ease-in-out infinite;
	transition: transform 0.3s var(--ease-spring);
}
.psp-hero__sticker--ig:hover {
	transform: rotate(0deg) translateY(-3px);
	color: var(--c-ink);
	box-shadow: 0 16px 32px -10px rgba(214, 41, 118, 0.45);
}
.psp-hero__ig-icon {
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 80%, #4F5BD5 100%);
}
.psp-hero__sticker--ig div { display: flex; flex-direction: column; line-height: 1.2; }
.psp-hero__sticker--ig strong {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.875rem;
}
.psp-hero__sticker--ig span { font-size: 0.7rem; color: var(--c-muted); letter-spacing: 0.04em; }

.psp-hero__sticker--note {
	pointer-events: none;
	top: 14%;
	left: -28px;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--c-coral);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	box-shadow: 0 8px 18px -4px rgba(255, 79, 138, 0.45);
	transform: rotate(-8deg);
	animation: psp-bob 5.5s ease-in-out infinite reverse;
}
.psp-hero__sticker--note svg { color: var(--c-sun); }
@keyframes psp-bob {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -6px; }
}
@media (prefers-reduced-motion: reduce) {
	.psp-hero__sticker--ig,
	.psp-hero__sticker--note { animation: none; }
}

/* --- Summary --- */
.psp-hero__summary { display: flex; flex-direction: column; gap: 1rem; }

.psp-crumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
	margin: 0;
}
.psp-crumbs a { color: var(--c-muted); }
.psp-crumbs a:hover { color: var(--c-coral); }
.psp-crumbs span[aria-hidden] { opacity: 0.5; }

.psp-summary__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-coral-2);
}
.psp-summary__brand-dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--c-coral);
	box-shadow: 0 0 0 4px rgba(255, 107, 157, 0.18);
}

.psp-summary__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--c-ink);
}

.psp-summary__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.875rem;
}
.psp-summary__stars { display: inline-flex; gap: 1px; }
.psp-summary__rating-num { font-weight: 700; color: var(--c-ink); }
.psp-summary__rating-link { color: var(--c-muted); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.psp-summary__rating-link:hover { color: var(--c-coral); }

.psp-summary__price {
	display: inline-flex;
	align-items: baseline;
	gap: 0.6rem;
	flex-wrap: wrap;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.1;
	color: var(--c-ink);
}
.psp-summary__price del { color: var(--c-muted); font-weight: 400; font-size: 1.25rem; }
.psp-summary__price ins {
	background: transparent;
	text-decoration: none;
	color: var(--c-coral-2);
}
.psp-summary__save {
	font-family: var(--ff-body);
	font-size: 0.825rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #2F8E55;
	background: rgba(47, 142, 85, 0.12);
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	align-self: center;
}

.psp-summary__lede {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--c-ink-2);
	padding: 1rem 1.25rem;
	background: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(8px);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}
.psp-summary__lede p { margin: 0; }
.psp-summary__lede p + p { margin-top: 0.5rem; }

/* --- Cart form (qty + button) --- */
.psp-summary__cart {
	display: flex;
	gap: 0.75rem;
	margin: 0.5rem 0 0;
	flex-wrap: wrap;
}
.psp-qty {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	padding: 0.25rem;
	gap: 0.25rem;
}
.psp-qty__btn {
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	border-radius: 999px;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s;
}
.psp-qty__btn:hover { background: var(--c-cream-2); }
.psp-qty__btn:disabled { opacity: 0.35; cursor: not-allowed; }
.psp-summary__cart .quantity { display: inline-flex; align-items: center; }
.psp-summary__cart .quantity input.qty {
	width: 3rem;
	border: 0;
	background: transparent;
	font: 600 1rem var(--ff-display);
	text-align: center;
	outline: none;
	color: var(--c-ink);
	-moz-appearance: textfield;
}
.psp-summary__cart .quantity input.qty::-webkit-outer-spin-button,
.psp-summary__cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.psp-cta {
	flex: 1;
	min-width: 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--c-ink);
	color: var(--c-cream);
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0.875rem 1.5rem;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s var(--ease-out), transform 0.2s var(--ease-spring), box-shadow 0.25s var(--ease-out);
}
.psp-cta:hover {
	background: var(--c-coral);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -6px rgba(255, 79, 138, 0.45);
}
.psp-cta:active { transform: translateY(0); }
.psp-cta__price {
	padding-left: 0.6rem;
	margin-left: 0.4rem;
	border-left: 1px solid rgba(255, 248, 240, 0.25);
	font-weight: 700;
}
.psp-cta__price del,
.psp-cta__price ins { font-weight: inherit; background: transparent; text-decoration: none; color: inherit; }
.psp-cta__price del { opacity: 0.55; margin-right: 0.3rem; font-size: 0.8em; }

/* --- Secondary actions --- */
.psp-summary__actions { display: flex; gap: 0.5rem; }
.psp-summary__action {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: transparent;
	border: 1px solid var(--c-line);
	color: var(--c-ink-2);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.55rem 0.95rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.psp-summary__action:hover {
	background: rgba(255, 255, 255, 0.6);
	border-color: rgba(26, 26, 46, 0.18);
	color: var(--c-ink);
}
.psp-summary__action.is-active { color: var(--c-coral-2); border-color: var(--c-coral); background: rgba(255, 107, 157, 0.08); }

/* --- Trust pills --- */
.psp-summary__trust {
	list-style: none;
	margin: 1rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px dashed var(--c-line);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
.psp-summary__trust li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.875rem;
	color: var(--c-ink-2);
}
.psp-summary__trust-icon {
	width: 36px;
	height: 36px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	color: var(--c-coral-2);
}
.psp-summary__trust strong { display: block; font-family: var(--ff-display); font-weight: 600; font-size: 0.95rem; color: var(--c-ink); line-height: 1.25; }
.psp-summary__trust span { font-size: 0.8rem; color: var(--c-muted); }

/* --- Sticky tabs --- */
.psp-tabs {
	position: sticky;
	top: 4.5rem;
	z-index: 20;
	background: rgba(255, 248, 240, 0.85);
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.psp-tabs ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.25rem;
	overflow-x: auto;
	scrollbar-width: none;
}
.psp-tabs ul::-webkit-scrollbar { display: none; }
.psp-tabs a {
	display: inline-flex;
	align-items: center;
	padding: 1rem 1.25rem;
	color: var(--c-muted);
	font-weight: 600;
	font-size: 0.9rem;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}
.psp-tabs a:hover { color: var(--c-ink); }
.psp-tabs a.is-active { color: var(--c-ink); border-bottom-color: var(--c-coral); }

/* --- Content blocks --- */
.psp-block { padding-block: clamp(2rem, 4vw, 3.5rem); scroll-margin-top: 8rem; }
.psp-block--alt {
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	border-radius: var(--radius-xl);
	margin: 0 1rem;
}
.psp-content { max-width: 56rem; margin: 0 auto; }
.psp-content__head { margin-bottom: 1.75rem; }
.psp-content__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 0.5rem;
}
.psp-content__head h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	margin: 0 0 0.5rem;
}
.psp-content__lede { color: var(--c-muted); font-size: 1rem; margin: 0; max-width: 36rem; }
.psp-content__body { font-size: 1.0625rem; line-height: 1.75; color: var(--c-ink-2); }
.psp-content__body > * + * { margin-top: 1rem; }
.psp-content__body p { margin: 0 0 1rem; }
.psp-content__body h2,
.psp-content__body h3 {
	font-family: var(--ff-display);
	color: var(--c-ink);
	margin: 1.75rem 0 0.5rem;
	letter-spacing: -0.01em;
}
.psp-content__body h2 { font-size: 1.5rem; font-weight: 600; }
.psp-content__body h3 { font-size: 1.2rem; font-weight: 600; }
.psp-content__body ul,
.psp-content__body ol { padding-left: 1.25rem; margin: 0.5rem 0 1rem; }
.psp-content__body ul li::marker { color: var(--c-coral); }
.psp-content__body strong { color: var(--c-ink); }
.psp-content__body a { color: var(--c-coral-2); border-bottom: 1px solid currentColor; }

/* --- Specs table --- */
.psp-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	margin: 0;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.psp-specs__row {
	display: contents;
}
.psp-specs__row dt,
.psp-specs__row dd {
	padding: 1rem 1.25rem;
	margin: 0;
	border-top: 1px solid var(--c-line);
	font-size: 0.95rem;
}
.psp-specs__row:first-child dt,
.psp-specs__row:first-child dd { border-top: 0; }
.psp-specs__row dt {
	font-weight: 600;
	color: var(--c-ink);
	background: var(--c-cream-2);
	border-right: 1px solid var(--c-line);
}
.psp-specs__row dd { color: var(--c-ink-2); }

/* --- Shipping cards --- */
.psp-shipping {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.psp-shipping__card {
	position: relative;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.psp-shipping__card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.psp-shipping__card::before {
	content: "";
	position: absolute;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	filter: blur(50px);
	top: -60px; right: -60px;
	opacity: 0.35;
}
.psp-shipping__card--coral::before { background: var(--c-coral); }
.psp-shipping__card--lavender::before { background: var(--c-lavender); }
.psp-shipping__card--mint::before { background: var(--c-mint); }
.psp-shipping__icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: 12px;
	margin-bottom: 1rem;
	position: relative;
}
.psp-shipping__card--coral .psp-shipping__icon { color: var(--c-coral-2); }
.psp-shipping__card--lavender .psp-shipping__icon { color: #6B5BD9; }
.psp-shipping__card--mint .psp-shipping__icon { color: #2F8E55; }
.psp-shipping__card h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.1rem;
	margin: 0 0 0.4rem;
	position: relative;
}
.psp-shipping__card p { font-size: 0.95rem; color: var(--c-ink-2); margin: 0; line-height: 1.55; position: relative; }

/* --- Reviews block --- */
.psp-reviews .woocommerce-Reviews-title,
.psp-reviews #reviews > #comments > h2:first-child { display: none; }
.psp-reviews .woocommerce-noreviews { color: var(--c-muted); margin: 0 0 1rem; padding: 0.5rem 0; }
.psp-reviews #reply-title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0 0 0.75rem;
	color: var(--c-ink);
}
.psp-reviews .commentlist { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 1rem; }
.psp-reviews .comment_container {
	display: flex;
	gap: 1rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 1.25rem;
}
.psp-reviews .avatar { width: 42px; height: 42px; border-radius: 999px; }
.psp-reviews .meta { font-size: 0.8125rem; color: var(--c-muted); margin: 0 0 0.4rem; }
.psp-reviews .description p { color: var(--c-ink-2); margin: 0; }
.psp-reviews #review_form_wrapper {
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 1.5rem;
}
.psp-reviews input[type="text"],
.psp-reviews input[type="email"],
.psp-reviews textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: #fff;
	font: inherit;
	margin-top: 0.4rem;
	outline: none;
}
.psp-reviews input:focus,
.psp-reviews textarea:focus { border-color: var(--c-coral); }
.psp-reviews .submit {
	background: var(--c-ink);
	color: var(--c-cream);
	border: 0;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 0.5rem;
}
.psp-reviews .submit:hover { background: var(--c-coral); }

/* WC review form: visual star rating (left → right, JS-driven hover/fill) */
.psp-reviews .comment-form-rating { margin: 0 0 1rem; }
.psp-reviews .comment-form-rating > label { display: block; font-weight: 600; color: var(--c-ink); margin-bottom: 0.4rem; }
.psp-reviews .comment-form-rating .stars,
.psp-reviews .comment-form-rating .stars > span {
	display: inline-flex;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.psp-reviews .comment-form-rating .stars a {
	position: relative;
	width: 28px;
	height: 28px;
	font-size: 0;
	line-height: 0;
	color: rgba(26, 26, 46, 0.2);
	border: 0;
	padding: 0;
	text-decoration: none;
	transition: color 0.15s var(--ease-out), transform 0.15s var(--ease-spring);
}
.psp-reviews .comment-form-rating .stars a::before {
	content: "★";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	color: currentColor;
	line-height: 1;
}
.psp-reviews .comment-form-rating .stars a:hover { transform: scale(1.12); }
/* Cascading fill via :has() — modern browsers (2022+). JS classes act as fallback. */
.psp-reviews .comment-form-rating .stars a:hover,
.psp-reviews .comment-form-rating .stars a.active,
.psp-reviews .comment-form-rating .stars a.is-hover,
.psp-reviews .comment-form-rating .stars a.is-fill,
.psp-reviews .comment-form-rating .stars span:has(a:hover) a:not(:hover ~ a),
.psp-reviews .comment-form-rating .stars span:has(a.active) a:not(.active ~ a),
.psp-reviews .comment-form-rating .stars:has(a:hover) > span > a:not(:hover ~ a),
.psp-reviews .comment-form-rating .stars:has(a.active) > span > a:not(.active ~ a) { color: var(--c-sun); }
.psp-reviews .comment-form-rating select { display: none; }

/* Star rating display (review listing + product card average) */
.psp-reviews .star-rating,
.star-rating {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: calc(5em + 4 * 0.05em);
	height: 1em;
	line-height: 1;
	font-size: 1rem;
	letter-spacing: 0.05em;
	margin: 0 0 0.5rem;
}
.psp-reviews .star-rating::before,
.star-rating::before {
	content: "★★★★★";
	color: rgba(26, 26, 46, 0.18);
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
}
.psp-reviews .star-rating > span,
.star-rating > span {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	height: 1em;
	padding-top: 1.5em;
}
.psp-reviews .star-rating > span::before,
.star-rating > span::before {
	content: "★★★★★";
	color: var(--c-sun);
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
	letter-spacing: 0.05em;
}

/* --- Related products (custom grid, bypasses WC markup) --- */
.psp-related { padding-bottom: clamp(2.5rem, 4vw, 4rem); }
.psp-related .psp-content { max-width: 1200px; }
.psp-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}
.psp-related__grid > .product-card { min-width: 0; }
@media (max-width: 980px) {
	.psp-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.psp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}

/* --- Sticky purchase bar --- */
.psp-sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 40;
	background: rgba(255, 248, 240, 0.92);
	backdrop-filter: blur(16px) saturate(140%);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	border-top: 1px solid var(--c-line);
	transform: translateY(100%);
	transition: transform 0.35s var(--ease-out);
	box-shadow: 0 -10px 30px -10px rgba(26, 26, 46, 0.15);
}
.psp-sticky.is-visible { transform: translateY(0); }
.psp-sticky__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
}
.psp-sticky__product { display: flex; align-items: center; gap: 0.875rem; min-width: 0; }
.psp-sticky__thumb {
	width: 48px;
	height: 48px;
	flex: none;
	object-fit: cover;
	border-radius: var(--radius);
	border: 1px solid var(--c-line);
}
.psp-sticky__info { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.psp-sticky__info strong {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--c-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 24rem;
}
.psp-sticky__price { font-weight: 600; font-size: 0.875rem; color: var(--c-ink-2); }
.psp-sticky__price del { color: var(--c-muted); font-weight: 400; margin-right: 0.3rem; font-size: 0.85em; }
.psp-sticky__cta { padding: 0.7rem 1.4rem; flex-shrink: 0; }

/* ==========================================================================
   SHOP ARCHIVE (/produse/, /categorie/*)
   ========================================================================== */
.shop-archive { padding-bottom: clamp(3rem, 5vw, 5rem); }

.shop-archive__hero {
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.shop-archive__crumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
	margin-bottom: 0.75rem;
}
.shop-archive__crumbs a { color: var(--c-muted); }
.shop-archive__crumbs a:hover { color: var(--c-coral); }
.shop-archive__crumbs span[aria-hidden] { opacity: 0.5; }

.shop-archive__hero-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
	flex-wrap: wrap;
}
.shop-archive__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
	color: var(--c-ink);
}
.shop-archive__lede { color: var(--c-ink-2); font-size: 1rem; max-width: 36rem; }
.shop-archive__lede p:last-child { margin: 0; }
.shop-archive__hero-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 0.75rem 1.25rem;
	box-shadow: var(--shadow-sm);
}
.shop-archive__hero-stat strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.shop-archive__hero-stat span { font-size: 0.75rem; color: var(--c-muted); letter-spacing: 0.06em; text-transform: uppercase; }

/* --- Layout: sidebar + main --- */
.shop-archive__layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

/* --- Sidebar --- */
.shop-sidebar { position: relative; }
.shop-sidebar__toggle {
	display: none;
	width: 100%;
	align-items: center;
	gap: 0.5rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	padding: 0.75rem 1.25rem;
	font-weight: 600;
	color: var(--c-ink);
	margin-bottom: 1rem;
	cursor: pointer;
}
.shop-sidebar__toggle svg { color: var(--c-coral); }

.shop-sidebar__inner {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.25rem;
	box-shadow: var(--shadow-sm);
	position: sticky;
	top: 5.5rem;
	max-height: calc(100vh - 6.5rem);
	overflow-y: auto;
}

.shop-filter + .shop-filter {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--c-line);
}
.shop-filter__title {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-muted);
	margin: 0 0 0.65rem;
}
.shop-filter__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}
.shop-filter__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.5rem 0.7rem;
	color: var(--c-ink);
	font-size: 0.9rem;
	border-radius: 8px;
	transition: background 0.15s, color 0.15s;
}
.shop-filter__list a:hover {
	background: var(--c-cream-2);
	color: var(--c-ink);
}
.shop-filter__list .is-current > a {
	background: rgba(255, 107, 157, 0.1);
	color: var(--c-coral-2);
	font-weight: 600;
}
.shop-filter__count {
	color: var(--c-muted);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	background: var(--c-cream-2);
	padding: 0.05rem 0.45rem;
	border-radius: 999px;
}
.is-current .shop-filter__count { background: var(--c-coral); color: #fff; }
.shop-filter__check {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--c-coral);
	color: #fff;
}

.shop-filter--cta { padding-top: 1.25rem; border-top: 1px solid var(--c-line); margin-top: 1.25rem; }
.shop-filter__cta {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	background: linear-gradient(135deg, #FFE5EE 0%, #ECE5FF 100%);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 0.75rem 0.9rem;
}
.shop-filter__cta svg { color: var(--c-coral-2); }
.shop-filter__cta div { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.shop-filter__cta strong { font-family: var(--ff-display); font-weight: 600; font-size: 0.9rem; }
.shop-filter__cta span { font-size: 0.75rem; color: var(--c-muted); }

/* --- Main column --- */
.shop-archive__main { min-width: 0; }

.shop-archive__toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding: 0.6rem 1rem 0.6rem 1.25rem;
	background: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	flex-wrap: wrap;
}
.shop-archive__count {
	margin: 0;
	color: var(--c-muted);
	font-size: 0.875rem;
	font-weight: 500;
}
.shop-archive__sort select {
	border: 1px solid var(--c-line);
	border-radius: 999px;
	padding: 0.45rem 2rem 0.45rem 1rem;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 0.65rem center/14px;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--c-ink);
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.shop-archive__sort select:hover { border-color: var(--c-coral); }

/* --- Product grid --- */
.shop-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}
@media (max-width: 1100px) {
	.shop-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
	.shop-archive__grid { grid-template-columns: 1fr; }
}

/* --- Empty state --- */
.shop-archive__empty {
	text-align: center;
	padding: 3rem 1.5rem;
	background: #fff;
	border: 1px dashed var(--c-line);
	border-radius: var(--radius-lg);
}
.shop-archive__empty-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 217, 61, 0.25);
	color: var(--c-coral-2);
	border-radius: 999px;
}
.shop-archive__empty h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
}
.shop-archive__empty p { color: var(--c-muted); margin: 0 0 1.25rem; }

/* --- Pagination --- */
.shop-archive__pagination { margin-top: 2rem; }
.shop-archive__pagination .woocommerce-pagination ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}
.shop-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 0.65rem;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: #fff;
	color: var(--c-ink);
	font-weight: 600;
	font-size: 0.875rem;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.shop-archive__pagination .page-numbers:hover { border-color: var(--c-coral); color: var(--c-coral); }
.shop-archive__pagination .page-numbers.current {
	background: var(--c-ink);
	color: var(--c-cream);
	border-color: var(--c-ink);
}

/* --- Responsive sidebar collapse --- */
@media (max-width: 900px) {
	.shop-archive__layout { grid-template-columns: 1fr; }
	.shop-sidebar__toggle { display: inline-flex; }
	.shop-sidebar__inner {
		position: static;
		max-height: none;
		display: none;
	}
	.shop-sidebar__inner.is-open { display: block; }
}

/* ==========================================================================
   PAGE SHELL (content pages: livrare, despre, retur, etc.)
   ========================================================================== */
.page-shell { padding-bottom: clamp(3rem, 5vw, 5rem); }
.page-shell__hero {
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	padding-block: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.page-shell__crumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
	margin-bottom: 0.75rem;
}
.page-shell__crumbs a { color: var(--c-muted); }
.page-shell__crumbs a:hover { color: var(--c-coral); }
.page-shell__crumbs span[aria-hidden] { opacity: 0.5; }
.page-shell__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0 0 0.75rem;
	color: var(--c-ink);
}
.page-shell__lede {
	font-size: 1.0625rem;
	color: var(--c-ink-2);
	max-width: 44rem;
	margin: 0;
	line-height: 1.6;
}

.page-shell__layout {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.page-toc {
	position: sticky;
	top: 5.5rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.25rem 1rem;
	box-shadow: var(--shadow-sm);
	max-height: calc(100vh - 7rem);
	overflow-y: auto;
}
.page-toc__title {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--c-muted);
	margin: 0 0 0.875rem;
}
.page-toc__title svg { color: var(--c-coral); }
.page-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}
.page-toc__list li { position: relative; }
.page-toc__list a {
	display: block;
	padding: 0.45rem 0.6rem 0.45rem 0.85rem;
	border-left: 2px solid transparent;
	color: var(--c-muted);
	font-size: 0.875rem;
	line-height: 1.4;
	border-radius: 0 6px 6px 0;
	transition: color 0.2s var(--ease-out), border-color 0.2s, background 0.2s;
}
.page-toc__list a:hover {
	color: var(--c-ink);
	background: rgba(26, 26, 46, 0.03);
	border-left-color: var(--c-line);
}
.page-toc__list a.is-active {
	color: var(--c-coral-2);
	border-left-color: var(--c-coral);
	background: rgba(255, 107, 157, 0.06);
	font-weight: 600;
}
.page-toc__list .page-toc__sub a {
	padding-left: 1.5rem;
	font-size: 0.8125rem;
}
.page-toc__empty {
	font-size: 0.8125rem;
	color: var(--c-muted);
	font-style: italic;
	padding: 0.4rem 0.6rem;
}

/* Content typography */
.page-shell__content {
	max-width: 44rem;
	color: var(--c-ink);
	font-size: 1rem;
	line-height: 1.7;
}
.page-shell__content > * + * { margin-top: 1rem; }
.page-shell__content h2 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.625rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--c-ink);
	margin: 2.25rem 0 0.5rem;
	scroll-margin-top: 5.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--c-line);
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.page-shell__content h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.page-shell__content h2::before {
	content: "";
	width: 6px;
	height: 6px;
	background: var(--c-coral);
	border-radius: 999px;
	flex: none;
}
.page-shell__content h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1.3;
	color: var(--c-ink);
	margin: 1.5rem 0 0.25rem;
	scroll-margin-top: 5.5rem;
}
.page-shell__content p { margin: 0 0 0.75rem; color: var(--c-ink-2); }
.page-shell__content p:last-child { margin-bottom: 0; }
.page-shell__content a { color: var(--c-coral-2); border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.page-shell__content a:hover { color: var(--c-coral); }
.page-shell__content strong { color: var(--c-ink); font-weight: 600; }
.page-shell__content ul,
.page-shell__content ol {
	margin: 0.5rem 0 1rem;
	padding-left: 1.25rem;
	color: var(--c-ink-2);
}
.page-shell__content li { margin: 0.35rem 0; }
.page-shell__content ul li::marker { color: var(--c-coral); }
.page-shell__content blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	background: var(--c-cream-2);
	border-left: 3px solid var(--c-coral);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-family: var(--ff-display);
	font-style: italic;
	color: var(--c-ink);
}
.page-shell__content code {
	background: var(--c-cream-2);
	border: 1px solid var(--c-line);
	padding: 0.1rem 0.4rem;
	border-radius: 4px;
	font-size: 0.875em;
}
.page-shell__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
	margin: 1rem 0;
}
.page-shell__content th,
.page-shell__content td {
	padding: 0.65rem 0.75rem;
	text-align: left;
	border-bottom: 1px solid var(--c-line);
}
.page-shell__content th { background: var(--c-cream-2); font-weight: 600; }

/* ==========================================================================
   CART PAGE — futurist 2026
   ========================================================================== */
.wc-page { padding-bottom: clamp(3rem, 5vw, 5rem); }

.cart-page { padding-bottom: 0; }
.cart-page__hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 4vw, 3rem);
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.cart-page__hero-bg { position: absolute; inset: 0; pointer-events: none; }
.cart-page__blob { position: absolute; border-radius: 50%; filter: blur(80px); }
.cart-page__blob--1 { width: 22rem; height: 22rem; background: var(--c-coral); top: -6rem; right: -6rem; opacity: 0.3; }
.cart-page__blob--2 { width: 18rem; height: 18rem; background: var(--c-lavender); bottom: -8rem; left: -4rem; opacity: 0.25; }
.cart-page__hero .container { position: relative; z-index: 1; }
.cart-page__crumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
	margin-bottom: 0.75rem;
}
.cart-page__crumbs a { color: var(--c-muted); }
.cart-page__crumbs a:hover { color: var(--c-coral); }
.cart-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 0.65rem;
}
.cart-page__dot {
	width: 8px; height: 8px;
	border-radius: 999px;
	background: var(--c-coral);
	box-shadow: 0 0 0 4px rgba(255, 107, 157, 0.18);
	animation: about-pulse 2s ease-in-out infinite;
}
.cart-page__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
	color: var(--c-ink);
}
.cart-page__title-accent {
	font-style: italic;
	font-weight: 500;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.cart-page__lede { color: var(--c-ink-2); font-size: 1rem; margin: 0; max-width: 36rem; }

.cart-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

/* --- Free shipping bar --- */
.cart-shipping-bar {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
}
.cart-shipping-bar__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 0.65rem;
	font-size: 0.875rem;
}
.cart-shipping-bar__head span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--c-muted);
}
.cart-shipping-bar__head svg { color: var(--c-coral); }
.cart-shipping-bar__head strong { color: var(--c-ink); font-weight: 600; }
.cart-shipping-bar__track {
	height: 8px;
	background: var(--c-cream-2);
	border-radius: 999px;
	overflow: hidden;
}
.cart-shipping-bar__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--c-coral) 0%, var(--c-lavender) 100%);
	border-radius: 999px;
	transition: width 0.6s var(--ease-out);
}
.cart-shipping-bar--unlocked {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	background: rgba(47, 142, 85, 0.1);
	border-color: rgba(47, 142, 85, 0.3);
	color: #2F8E55;
	margin-bottom: 1rem;
}
.cart-shipping-bar__check {
	width: 24px;
	height: 24px;
	background: #2F8E55;
	color: #fff;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.cart-shipping-bar--unlocked strong { color: #2F8E55; font-family: var(--ff-display); font-weight: 600; }

/* --- Cart items list --- */
.cart-items__list { display: flex; flex-direction: column; gap: 0.875rem; }
.cart-items.is-updating { opacity: 0.55; pointer-events: none; transition: opacity 0.2s; position: relative; }
.cart-items.is-updating::after {
	content: "";
	position: absolute;
	top: 50%; left: 50%;
	width: 32px; height: 32px;
	margin: -16px 0 0 -16px;
	border: 3px solid var(--c-line);
	border-top-color: var(--c-coral);
	border-radius: 999px;
	animation: cart-spin 0.8s linear infinite;
}
@keyframes cart-spin { to { transform: rotate(360deg); } }
.cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: 1rem;
	padding: 1rem;
	padding-right: 2.5rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	box-shadow: 0 1px 2px rgba(26, 26, 46, 0.04);
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}
.cart-item:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -10px rgba(26, 26, 46, 0.12); }
.cart-item__media {
	width: 96px;
	height: 96px;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--c-cream-2);
	flex: none;
}
.cart-item__media a, .cart-item__media img {
	display: block;
	width: 100%;
	height: 100%;
}
.cart-item__media img { object-fit: cover; }
.cart-item__body { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.cart-item__title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.25;
	margin: 0;
	color: var(--c-ink);
	letter-spacing: -0.01em;
}
.cart-item__title a { color: inherit; }
.cart-item__title a:hover { color: var(--c-coral); }
.cart-item__price {
	font-weight: 600;
	color: var(--c-muted);
	font-size: 0.9rem;
}
.cart-item__price .amount { color: var(--c-ink); }
.cart-item__excerpt {
	color: var(--c-muted);
	font-size: 0.825rem;
	line-height: 1.4;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cart-item__controls {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: auto;
	padding-top: 0.4rem;
}
.cart-item__qty {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	width: fit-content;
	background: var(--c-cream-2);
	border-radius: 999px;
	padding: 0.2rem;
	gap: 0.15rem;
}
.cart-item__qty-btn {
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	border-radius: 999px;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.15s;
}
.cart-item__qty-btn:hover { background: rgba(26, 26, 46, 0.08); }
.cart-item__qty-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.cart-item__qty-input {
	width: 2.4rem;
	border: 0;
	background: transparent;
	font: 600 0.95rem var(--ff-display);
	text-align: center;
	color: var(--c-ink);
	outline: none;
	-moz-appearance: textfield;
}
.cart-item__qty-input::-webkit-outer-spin-button,
.cart-item__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.cart-item__remove {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-muted);
	background: var(--c-cream-2);
	border-radius: 999px;
	transition: background 0.2s, color 0.2s, transform 0.2s var(--ease-spring);
	z-index: 2;
}
.cart-item__remove:hover {
	background: var(--c-coral);
	color: #fff;
	transform: rotate(90deg);
}

.cart-item__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.2rem;
	min-width: 5rem;
	padding-left: 0.5rem;
}
.cart-item__total-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-muted);
}
.cart-item__total strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--c-ink);
}

/* --- Cart actions / coupon --- */
.cart-update-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: transparent;
	border: 1px dashed var(--c-line);
	color: var(--c-muted);
	padding: 0.55rem 1rem;
	border-radius: 999px;
	font-size: 0.825rem;
	cursor: pointer;
	margin-top: 1rem;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.cart-update-btn:hover { border-color: var(--c-coral); color: var(--c-coral); background: rgba(255, 107, 157, 0.04); }
.cart-update-btn svg { color: var(--c-coral); }

.cart-coupon { margin-top: 1rem; }
.cart-coupon__details summary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--c-ink);
	cursor: pointer;
	list-style: none;
	padding: 0.5rem 0.75rem;
	border-radius: 999px;
	transition: background 0.15s;
}
.cart-coupon__details summary::-webkit-details-marker { display: none; }
.cart-coupon__details summary:hover { background: var(--c-cream-2); }
.cart-coupon__details summary svg { color: var(--c-coral); }
.cart-coupon__form {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
	max-width: 360px;
}
.cart-coupon__form input {
	flex: 1;
	padding: 0.55rem 0.875rem;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font: inherit;
	background: #fff;
	outline: none;
}
.cart-coupon__form input:focus { border-color: var(--c-coral); }
.cart-coupon__btn {
	background: var(--c-ink);
	color: var(--c-cream);
	border: 0;
	padding: 0.55rem 1.25rem;
	border-radius: 999px;
	font: inherit;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	transition: background 0.2s;
}
.cart-coupon__btn:hover { background: var(--c-coral); }

/* --- Totals card --- */
.cart-totals {
	position: sticky;
	top: 5.5rem;
}
.cart-totals__inner {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-xl);
	padding: 1.5rem;
	box-shadow: 0 8px 24px -8px rgba(26, 26, 46, 0.1);
	position: relative;
	overflow: hidden;
}
.cart-totals__inner::before {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	background: var(--g-dream);
	border-radius: 50%;
	filter: blur(80px);
	top: -100px;
	right: -100px;
	opacity: 0.18;
	pointer-events: none;
}
.cart-totals__title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0 0 1rem;
	color: var(--c-ink);
	position: relative;
}
.cart-totals__list { margin: 0 0 1.25rem; padding: 0; position: relative; }
.cart-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.5rem 0;
	font-size: 0.95rem;
	color: var(--c-ink-2);
	border-bottom: 1px dashed var(--c-line);
}
.cart-totals__row dt { font-weight: 500; flex-shrink: 0; }
.cart-totals__row dd { margin: 0; font-weight: 600; color: var(--c-ink); font-variant-numeric: tabular-nums; text-align: right; }
.cart-totals__row--coupon dd { color: #2F8E55; }

/* --- Shipping row in cart totals — full-width column for card-style options --- */
.cart-totals__row--shipping {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.5rem;
	padding: 0.75rem 0 !important;
}
.cart-totals__row--shipping dt {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-muted);
	margin-bottom: 0.25rem;
}
.cart-totals__row--shipping dd {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.4rem !important;
	color: var(--c-ink);
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1.4;
	width: 100% !important;
	text-align: left !important;
}
.cart-totals__row--shipping .woocommerce-shipping-destination {
	margin: 0.4rem 0 0;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--c-muted);
}
.cart-totals__row--shipping .shipping-calculator-button,
.cart-totals__row--shipping a {
	font-size: 0.75rem;
	color: var(--c-coral-2);
	font-weight: 600;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0;
	display: inline-block;
}

/* --- Shipping methods list — card-style radio options. The <input> is a SIBLING
       of <label> inside <li>, so we make the <li> itself the flex container. --- */
body ul#shipping_method,
body ul.woocommerce-shipping-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.45rem !important;
	width: 100% !important;
}
/* When free shipping is in the list, hide any other (paid) option via CSS — instant
   feedback even if WC's session cache still holds the old paid rates. */
body ul#shipping_method:has(input[value*="free_shipping"]) > li:not(:has(input[value*="free_shipping"])),
body ul.woocommerce-shipping-methods:has(input[value*="free_shipping"]) > li:not(:has(input[value*="free_shipping"])) {
	display: none !important;
}
body ul#shipping_method > li,
body ul.woocommerce-shipping-methods > li {
	list-style: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.7rem !important;
	margin: 0 !important;
	padding: 0.75rem 0.95rem !important;
	background: var(--c-cream-2);
	border: 2px solid transparent;
	border-radius: 14px;
	cursor: pointer;
	transition: background 0.18s var(--ease-out), border-color 0.18s var(--ease-out), transform 0.18s var(--ease-out);
	position: relative;
	overflow: hidden;
}
body ul#shipping_method > li:hover,
body ul.woocommerce-shipping-methods > li:hover {
	border-color: rgba(255, 107, 157, 0.3);
	background: #fff;
}
body ul#shipping_method > li:has(input:checked),
body ul.woocommerce-shipping-methods > li:has(input:checked) {
	background: linear-gradient(135deg, rgba(255, 217, 61, 0.15) 0%, rgba(255, 255, 255, 0.4) 100%);
	border-color: var(--c-coral);
	box-shadow: 0 6px 14px -6px rgba(255, 107, 157, 0.3);
}

/* Custom radio — replace the browser default (which renders all over the place). */
body ul#shipping_method > li input[type="radio"],
body ul.woocommerce-shipping-methods > li input[type="radio"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #C8C8D0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	cursor: pointer !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
	position: relative !important;
	transition: border-color 0.15s, background 0.15s !important;
}
body ul#shipping_method > li:hover input[type="radio"],
body ul.woocommerce-shipping-methods > li:hover input[type="radio"] {
	border-color: var(--c-coral);
}
body ul#shipping_method > li input[type="radio"]:checked,
body ul.woocommerce-shipping-methods > li input[type="radio"]:checked {
	border-color: var(--c-coral) !important;
	background: #fff !important;
}
body ul#shipping_method > li input[type="radio"]:checked::after,
body ul.woocommerce-shipping-methods > li input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	inset: 3px;
	background: var(--c-coral);
	border-radius: 999px;
}

body ul#shipping_method > li label,
body ul.woocommerce-shipping-methods > li label {
	flex: 1 !important;
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-weight: 600;
	color: var(--c-ink);
	font-size: 0.9rem;
	line-height: 1.3;
}
body ul#shipping_method > li label .woocommerce-Price-amount {
	margin-left: auto;
	color: var(--c-ink);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	font-size: 0.95rem;
}

/* "Transport gratuit" — green GRATUIT pill at the end of the row. */
body ul#shipping_method > li:has(input[value*="free_shipping"]) label::after {
	content: "GRATUIT";
	margin-left: auto;
	background: linear-gradient(135deg, #3BAA68 0%, #2F8E55 100%);
	color: #fff;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	flex-shrink: 0;
	box-shadow: 0 2px 6px -2px rgba(47, 142, 85, 0.4);
}

/* --- Hide success/info notices (item removed, etc.) — implicit feedback is enough.
   ERRORS are styled prominently, never hidden. --- */
.wc-page > .woocommerce-message,
.wc-page > .woocommerce-info,
.wc-page > .woocommerce-NoticeGroup,
.wc-page .woocommerce-notices-wrapper > .woocommerce-message,
.wc-page .woocommerce-notices-wrapper > .woocommerce-info { display: none !important; }
.cart-totals__row--total {
	border-bottom: 0;
	margin-top: 0.5rem;
	padding-top: 0.875rem;
	border-top: 2px solid var(--c-ink);
}
.cart-totals__row--total dt {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--c-ink);
}
.cart-totals__row--total dd {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--c-ink);
}

.cart-totals__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--c-ink);
	color: var(--c-cream);
	font-family: var(--ff-body);
	font-weight: 600;
	font-size: 1rem;
	padding: 0.95rem 1.5rem;
	border-radius: 999px;
	border: 0;
	text-decoration: none;
	cursor: pointer;
	margin-bottom: 1rem;
	position: relative;
	transition: background 0.2s, transform 0.2s var(--ease-spring), box-shadow 0.25s;
}
.cart-totals__cta:hover {
	background: var(--c-coral);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -6px rgba(255, 79, 138, 0.45);
}

.cart-totals__trust {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	position: relative;
}
.cart-totals__trust li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
}
.cart-totals__trust svg { color: var(--c-coral); }

.cart-totals__continue {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	color: var(--c-ink);
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
	position: relative;
}
.cart-totals__continue:hover { color: var(--c-coral); }

/* --- Empty cart --- */
.cart-empty {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 6vw, 5rem);
}
.cart-empty__bg { position: absolute; inset: 0; pointer-events: none; }
.cart-empty__blob { position: absolute; border-radius: 50%; filter: blur(90px); }
.cart-empty__blob--1 { width: 24rem; height: 24rem; background: var(--c-coral); top: -8rem; right: -6rem; opacity: 0.25; }
.cart-empty__blob--2 { width: 20rem; height: 20rem; background: var(--c-lavender); bottom: -6rem; left: -6rem; opacity: 0.25; }
.cart-empty__inner {
	position: relative;
	z-index: 1;
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
}
.cart-empty__visual { max-width: 280px; margin: 0 auto 1.5rem; }
.cart-empty__visual svg { width: 100%; height: auto; }
.cart-empty__heart {
	transform-origin: 88px 64px;
	animation: about-heartbeat 1.8s ease-in-out infinite;
}
.cart-empty__sparkles circle {
	animation: cart-empty-twinkle 2.4s ease-in-out infinite;
}
.cart-empty__sparkles circle:nth-child(2) { animation-delay: -0.8s; }
.cart-empty__sparkles circle:nth-child(3) { animation-delay: -1.6s; }
@keyframes cart-empty-twinkle {
	0%, 100% { opacity: 0.4; transform: scale(0.8); }
	50% { opacity: 1; transform: scale(1.2); }
}
@media (prefers-reduced-motion: reduce) {
	.cart-empty__heart, .cart-empty__sparkles circle { animation: none; }
}
.cart-empty__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	letter-spacing: -0.015em;
	margin: 0 0 0.75rem;
	color: var(--c-ink);
}
.cart-empty__lede {
	color: var(--c-ink-2);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 1.75rem;
}
.cart-empty__btn { display: inline-flex; align-items: center; gap: 0.5rem; }

/* --- Responsive --- */
@media (max-width: 980px) {
	.cart-page__layout { grid-template-columns: 1fr; }
	.cart-totals { position: static; }
}
@media (max-width: 700px) {
	.cart-item { grid-template-columns: 72px 1fr; gap: 0.75rem; padding: 0.75rem; }
	.cart-item__media { width: 72px; height: 72px; }
	.cart-item__total { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; padding: 0.5rem 0 0; border-top: 1px dashed var(--c-line); margin-top: 0.5rem; }
}

/* ==========================================================================
   CHECKOUT PAGE — futurist 2026
   ========================================================================== */
.checkout-page__hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 4vw, 3rem);
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.checkout-page__hero-bg { position: absolute; inset: 0; pointer-events: none; }
.checkout-page__hero .container { position: relative; z-index: 1; }

form.checkout.checkout-page__layout,
.checkout-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
	align-items: start;
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
	width: var(--container);
	margin-inline: auto;
}
.checkout-page__form { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }

/* Persoană juridică toggle */
.cui-block {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	box-shadow: var(--shadow-sm);
}
.cui-block__toggle {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	cursor: pointer;
	user-select: none;
}
.cui-block__toggle input { position: absolute; opacity: 0; pointer-events: none; }
.cui-block__toggle-track {
	width: 42px;
	height: 24px;
	background: var(--c-cream-2);
	border-radius: 999px;
	position: relative;
	transition: background 0.25s var(--ease-out);
	flex: none;
}
.cui-block__toggle-thumb {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 999px;
	box-shadow: var(--shadow-sm);
	transition: transform 0.25s var(--ease-spring);
}
.cui-block__toggle input:checked + .cui-block__toggle-track { background: var(--c-coral); }
.cui-block__toggle input:checked + .cui-block__toggle-track .cui-block__toggle-thumb { transform: translateX(18px); }
.cui-block__toggle-label { display: flex; flex-direction: column; line-height: 1.3; }
.cui-block__toggle-label strong { font-family: var(--ff-display); font-weight: 600; color: var(--c-ink); font-size: 1rem; }
.cui-block__toggle-label small { color: var(--c-muted); font-size: 0.825rem; }

.cui-block__lookup { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--c-line); }
.cui-block__field { display: flex; flex-direction: column; gap: 0.4rem; }
.cui-block__label { font-size: 0.8125rem; font-weight: 600; color: var(--c-ink); }
.cui-block__input-wrap { position: relative; }
.cui-block__input-wrap input {
	width: 100%;
	padding: 0.75rem 2.75rem 0.75rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-cream);
	font: inherit;
	font-weight: 600;
	letter-spacing: 0.04em;
	outline: none;
	transition: border-color 0.2s, background 0.2s;
}
.cui-block__input-wrap input:focus { border-color: var(--c-coral); background: #fff; }
.cui-block__loader,
.cui-block__check {
	position: absolute;
	top: 50%;
	right: 0.75rem;
	transform: translateY(-50%);
	display: none;
	align-items: center;
	justify-content: center;
}
.cui-block.is-loading .cui-block__loader { display: inline-flex; color: var(--c-coral); animation: cart-spin 0.85s linear infinite; }
.cui-block.is-loaded  .cui-block__check  { display: inline-flex; width: 24px; height: 24px; background: #2F8E55; color: #fff; border-radius: 999px; }
.cui-block.is-error   .cui-block__input-wrap input { border-color: var(--c-coral-2); background: rgba(255, 79, 138, 0.04); }
.cui-block__hint { font-size: 0.8125rem; color: var(--c-muted); }
.cui-block.is-error .cui-block__hint { color: var(--c-coral-2); }

.cui-block__company {
	margin-top: 0.875rem;
	padding: 0.875rem 1rem;
	background: linear-gradient(135deg, rgba(168, 216, 185, 0.15) 0%, rgba(255, 248, 240, 0) 100%);
	border: 1px solid rgba(47, 142, 85, 0.2);
	border-radius: var(--radius);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.cui-block__company-info { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.cui-block__company-info strong { font-family: var(--ff-display); font-weight: 600; color: var(--c-ink); font-size: 1rem; }
.cui-block__company-info span { color: var(--c-muted); font-size: 0.8125rem; }
.cui-block__edit {
	background: transparent;
	border: 1px solid var(--c-line);
	color: var(--c-ink);
	padding: 0.4rem 0.875rem;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.2s, border-color 0.2s;
}
.cui-block__edit:hover { background: var(--c-cream-2); border-color: rgba(26, 26, 46, 0.18); }

/* Toggle billing fields based on PF/PJ state. */
body:not(.is-pj) .form-row.davima-pj-only,
body:not(.is-pj) #billing_company_field { display: none !important; }
body.is-pj .form-row.davima-pf-only,
body.is-pj #billing_cnp_cui_field { display: none !important; }

/* Coupon area sits as a sibling above the checkout form (not nested — would break HTML). */
.checkout-page__coupon {
	width: var(--container);
	margin: 0 auto 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

/* WC success notice when a coupon is applied — render as a celebratory green banner. */
.cart-page .woocommerce-message,
.checkout-page .woocommerce-message,
.cart-page__layout + .woocommerce-message,
form.checkout + .woocommerce-message,
.woocommerce-cart-form .woocommerce-message,
.checkout-page__coupon + .woocommerce-message,
.checkout-page__coupon ~ .woocommerce-message,
.cart-page__coupon ~ .woocommerce-message {
	display: flex !important;
	align-items: center;
	gap: 0.875rem;
	background: linear-gradient(135deg, rgba(168, 216, 185, 0.18) 0%, rgba(255, 255, 255, 0) 100%);
	border: 1px solid rgba(47, 142, 85, 0.35);
	border-left: 4px solid #2F8E55;
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	margin: 0 auto 1.25rem !important;
	color: #1A3F26;
	font-weight: 500;
	list-style: none;
	width: var(--container);
	box-shadow: 0 8px 16px -8px rgba(47, 142, 85, 0.15);
	animation: coupon-success-pop 0.5s var(--ease-spring);
}
.cart-page .woocommerce-message::before,
.checkout-page .woocommerce-message::before,
form.checkout + .woocommerce-message::before,
.woocommerce-cart-form .woocommerce-message::before,
.checkout-page__coupon ~ .woocommerce-message::before,
.cart-page__coupon ~ .woocommerce-message::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: #2F8E55;
	color: #fff;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	flex-shrink: 0;
	animation: coupon-check-pop 0.5s var(--ease-spring);
}
.cart-page .woocommerce-message a,
.checkout-page .woocommerce-message a {
	color: #2F8E55;
	font-weight: 600;
	margin-left: auto;
}
.cart-page .woocommerce-message a.button {
	display: none;
}
@keyframes coupon-success-pop {
	0%   { opacity: 0; transform: translateY(-8px) scale(0.97); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes coupon-check-pop {
	0%   { transform: scale(0); }
	60%  { transform: scale(1.2); }
	100% { transform: scale(1); }
}

/* WC error notice — bright coral alert with "OPS!" prefix, impossible to miss.
   Uses `body` prefix to outrank any wc-blocks-style.css rules. */
body .woocommerce-error,
body ul.woocommerce-error,
body div.woocommerce-error,
body .woocommerce-NoticeGroup .woocommerce-error,
body .woocommerce-notices-wrapper .woocommerce-error,
body .coupon-error-notice,
body span.coupon-error-notice,
body [role="alert"].coupon-error-notice {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.875rem !important;
	background: linear-gradient(135deg, rgba(255, 79, 138, 0.15) 0%, rgba(255, 255, 255, 0) 100%) !important;
	border: 1px solid rgba(255, 79, 138, 0.45) !important;
	border-left: 4px solid #FF4F8A !important;
	border-radius: 16px !important;
	padding: 1rem 1.25rem !important;
	margin: 0.75rem 0 0 !important;
	color: #1A1A2E !important;
	font-weight: 500 !important;
	list-style: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	font-size: 0.95rem !important;
	line-height: 1.5 !important;
	box-shadow: 0 8px 16px -8px rgba(255, 79, 138, 0.25) !important;
	animation: coupon-error-pop 0.4s var(--ease-spring) !important;
	flex-wrap: wrap !important;
	/* Force full row in any parent layout (flex, grid, float). */
	flex-basis: 100% !important;
	grid-column: 1 / -1 !important;
	clear: both !important;
	float: none !important;
	order: 99 !important;
}
body .woocommerce-error::before,
body .coupon-error-notice::before {
	content: "OPS!" !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #FF4F8A !important;
	color: #fff !important;
	font-family: var(--ff-display) !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
	letter-spacing: 0.05em !important;
	padding: 0.4rem 0.75rem !important;
	border-radius: 999px !important;
	flex-shrink: 0 !important;
	animation: coupon-shake 0.5s var(--ease-out) !important;
	line-height: 1 !important;
}
body .woocommerce-error > li,
body ul.woocommerce-error li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: inherit !important;
	flex: 1 !important;
	min-width: 0 !important;
}
body .woocommerce-error a {
	color: #FF4F8A !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}
@keyframes coupon-error-pop {
	0%   { opacity: 0; transform: translateY(-8px); }
	100% { opacity: 1; transform: translateY(0); }
}
@keyframes coupon-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-3px) rotate(-2deg); }
	75% { transform: translateX(3px) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
	.wc-page .woocommerce-error,
	.wc-page .woocommerce-error::before { animation: none; }
}

/* "Ai un cupon?" — moved inside form layout, styled as a soft pill banner. */
.checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
	background: linear-gradient(135deg, rgba(255, 217, 61, 0.18) 0%, rgba(255, 248, 240, 0) 100%);
	border: 1px dashed rgba(255, 217, 61, 0.5);
	border-radius: var(--radius);
	padding: 0.7rem 1rem;
	margin: 0;
	color: var(--c-ink);
	font-size: 0.875rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before {
	content: "🎁";
	font-size: 1rem;
}
.checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
	color: var(--c-coral-2);
	font-weight: 600;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}
.checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover { color: var(--c-coral); }

/* Coupon form: collapsed by default (WC inline display:none wins). When opened, render as a column so input stays full-width and error/button stack below. */
.checkout-page .woocommerce-form-coupon {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1rem 1.25rem;
	margin: 0.5rem 0 0;
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.checkout-page .woocommerce-form-coupon > p:first-child { margin: 0; font-size: 0.875rem; color: var(--c-muted); }
.checkout-page .woocommerce-form-coupon .form-row {
	display: block !important;
	margin: 0;
	width: 100%;
	float: none;
	clear: both;
}
.checkout-page .woocommerce-form-coupon .form-row-first { width: 100%; }
.checkout-page .woocommerce-form-coupon .form-row-last  { width: 100%; }
.checkout-page .woocommerce-form-coupon .form-row input[type="text"] { width: 100%; }
.checkout-page .woocommerce-form-coupon input[type="text"] {
	width: 100%;
	padding: 0.65rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--c-cream);
	font: inherit;
	outline: none;
	transition: border-color 0.2s, background 0.2s;
}
.checkout-page .woocommerce-form-coupon input[type="text"]:focus { border-color: var(--c-coral); background: #fff; }
.checkout-page .woocommerce-form-coupon button,
.checkout-page .woocommerce-form-coupon button[name="apply_coupon"] {
	background: var(--c-ink);
	color: var(--c-cream);
	border: 0;
	padding: 0.65rem 1.4rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.875rem;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s, transform 0.2s var(--ease-spring), box-shadow 0.25s;
}
.checkout-page .woocommerce-form-coupon button:hover {
	background: var(--c-coral);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 16px -4px rgba(255, 79, 138, 0.4);
}
.checkout-page .woocommerce-form-coupon .clear { display: none; }

/* Customer details (billing/shipping forms styling) */
#customer_details {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	box-shadow: var(--shadow-sm);
}
#customer_details h3,
#customer_details > div > h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
	color: var(--c-ink);
	letter-spacing: -0.01em;
}
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields { display: contents; }
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0.75rem 0 0;
	color: var(--c-ink);
}
.woocommerce-shipping-fields h3 label { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; font-size: 1.125rem; cursor: pointer; }

.checkout .form-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
}
.checkout .form-row label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--c-ink);
}
.checkout .form-row label .required,
.checkout .form-row label .optional { color: var(--c-muted); font-weight: 400; margin-left: 0.2rem; }
.checkout .form-row .input-text,
.checkout .form-row textarea,
.checkout .form-row select,
.checkout .form-row .select2-selection {
	width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-cream);
	font: inherit;
	color: var(--c-ink);
	outline: none;
	transition: border-color 0.2s, background 0.2s;
	min-height: auto;
	height: auto;
}
.checkout .form-row .input-text:focus,
.checkout .form-row textarea:focus,
.checkout .form-row select:focus { border-color: var(--c-coral); background: #fff; }

/* Two-column rows on wide screens */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-billing-fields__field-wrapper .form-row.notes,
.woocommerce-billing-fields__field-wrapper #order_comments_field,
.woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-shipping-fields__field-wrapper #shipping_address_1_field,
.woocommerce-shipping-fields__field-wrapper #shipping_address_2_field { grid-column: 1 / -1; }

.checkout .form-row-first { grid-column: auto; }
.checkout .form-row-last  { grid-column: auto; }

/* select2 tweaks */
.select2-container--default .select2-selection--single { border: 1px solid var(--c-line); border-radius: 12px; height: 44px; padding: 0.4rem 0.6rem; background: var(--c-cream); }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0.4rem; line-height: 32px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 0.4rem; }

/* --- Review sidebar --- */
.checkout-page__review { position: sticky; top: 5.5rem; }
.checkout-page__review-inner {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-xl);
	padding: 1.5rem;
	box-shadow: 0 8px 24px -8px rgba(26, 26, 46, 0.1);
	position: relative;
	overflow: hidden;
}
.checkout-page__review-inner::before {
	content: "";
	position: absolute;
	width: 220px; height: 220px;
	background: var(--g-dream);
	border-radius: 50%;
	filter: blur(80px);
	top: -100px; right: -100px;
	opacity: 0.18;
	pointer-events: none;
}
.checkout-page__review-title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0 0 1rem;
	color: var(--c-ink);
	position: relative;
}

#order_review { position: relative; }
#order_review .shop_table { width: 100%; border-collapse: collapse; }
#order_review .shop_table th,
#order_review .shop_table td {
	padding: 0.55rem 0;
	font-size: 0.95rem;
	border-bottom: 1px dashed var(--c-line);
	text-align: left;
}
#order_review .shop_table thead { display: none; }
#order_review .shop_table .product-name { color: var(--c-ink-2); font-weight: 500; }
#order_review .shop_table .product-total { text-align: right; font-weight: 600; color: var(--c-ink); font-variant-numeric: tabular-nums; }

/* === Davima review (div-based, replaces the WC table for cart items) === */
.dv-review { width: 100%; }

.dv-review__items {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.dv-review__item {
	display: block;
	width: 100%;
	padding: 0 0 0.85rem;
	border-bottom: 1px dashed var(--c-line);
}
.dv-review__item:last-child { border-bottom: 0; padding-bottom: 0; }

.dv-review__row {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
}
.dv-review__thumb {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 8px;
	object-fit: cover;
	border: 1px solid var(--c-line);
}
.dv-review__head {
	flex: 1 1 auto;
	min-width: 0;
}
.dv-review__name {
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
	color: var(--c-ink);
	overflow-wrap: break-word;
	hyphens: auto;
}
.dv-review__qty {
	font-size: 0.82rem;
	color: var(--c-ink-2);
	margin-top: 0.15rem;
}

.dv-review__variation {
	width: 100%;
	margin: 0.55rem 0 0;
	padding: 0.55rem 0.7rem;
	background: rgba(255, 234, 220, 0.55);
	border-left: 2px solid var(--c-accent, #FF6B9D);
	border-radius: 8px;
	font-size: 0.83rem;
	line-height: 1.5;
}
.dv-review__variation dt {
	display: inline;
	font-weight: 500;
	color: var(--c-ink-2);
	margin: 0;
}
.dv-review__variation dt::after { content: " "; }
.dv-review__variation dd {
	display: inline;
	margin: 0;
	font-weight: 600;
	color: var(--c-ink);
}
.dv-review__variation dd p { display: inline; margin: 0; }
.dv-review__variation dd:not(:last-of-type)::after {
	content: "";
	display: block;
	height: 0.3rem;
}

.dv-review__price {
	display: block;
	width: 100%;
	text-align: right;
	margin-top: 0.55rem;
	padding-top: 0.5rem;
	border-top: 1px dashed rgba(0,0,0,0.06);
	font-weight: 700;
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
}

/* Totals table — stays as a table because WC core helpers write <tr>. */
.dv-review__totals { width: 100%; border-collapse: collapse; }
#order_review .cart-subtotal th,
#order_review .shipping th,
#order_review .fee th { font-weight: 500; color: var(--c-ink-2); }
#order_review .cart-subtotal td,
#order_review .shipping td,
#order_review .fee td { text-align: right; color: var(--c-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
#order_review .order-total {
	border-top: 2px solid var(--c-ink);
	border-bottom: 0 !important;
}
#order_review .order-total th {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.125rem;
	padding-top: 0.875rem;
}
#order_review .order-total td {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.5rem;
	text-align: right;
	color: var(--c-ink);
	padding-top: 0.875rem;
}

/* Payment methods */
#payment {
	margin-top: 1rem;
	padding: 1rem;
	background: var(--c-cream);
	border-radius: var(--radius);
	position: relative;
}
#payment .wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
#payment .wc_payment_method {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	padding: 0.75rem 1rem;
	transition: border-color 0.2s;
}
#payment .wc_payment_method:has(input:checked) { border-color: var(--c-coral); background: rgba(255, 107, 157, 0.04); }
#payment .wc_payment_method label { font-weight: 600; cursor: pointer; }
#payment .wc_payment_method .payment_box {
	font-size: 0.825rem;
	color: var(--c-muted);
	padding: 0.5rem 0 0;
	background: transparent;
}

#place_order,
.checkout button[name="woocommerce_checkout_place_order"] {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--c-ink);
	color: var(--c-cream);
	font-weight: 600;
	font-size: 1rem;
	padding: 0.95rem 1.5rem;
	border-radius: 999px;
	border: 0;
	cursor: pointer;
	margin-top: 1rem;
	position: relative;
	transition: background 0.2s, transform 0.2s var(--ease-spring), box-shadow 0.25s;
}
#place_order:hover {
	background: var(--c-coral);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -6px rgba(255, 79, 138, 0.45);
}

/* Hide the WC update_totals row WC sometimes shows */
.checkout .woocommerce-terms-and-conditions-wrapper { font-size: 0.85rem; color: var(--c-muted); margin-top: 0.5rem; }

/* Terms checkbox row — fix alignment (checkbox + label centered on the same
 * baseline) și mărim ușor textul ca să se citească mai clar. */
.checkout .form-row.validate-required.terms,
.checkout .woocommerce-form__label.checkbox.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.95rem;
	color: var(--c-ink);
	cursor: pointer;
	line-height: 1.4;
	margin: 0;
}
.checkout input.woocommerce-form__input-checkbox,
.checkout input#terms {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: 0 0 18px;
	accent-color: var(--c-coral, #FF6B9D);
	cursor: pointer;
}
.checkout .woocommerce-terms-and-conditions-checkbox-text {
	display: inline;
}
.checkout .woocommerce-terms-and-conditions-link {
	color: var(--c-coral, #FF6B9D);
	font-weight: 600;
	text-decoration: underline;
}

/* Responsive */
@media (max-width: 980px) {
	.checkout-page__layout { grid-template-columns: 1fr; }
	.checkout-page__review { position: static; }
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* ==========================================================================
   THANKYOU / ORDER RECEIVED PAGE — futurist 2026
   ========================================================================== */
.thankyou-page__hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 4vw, 3.5rem);
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
	text-align: center;
}
.thankyou-page__hero-bg { position: absolute; inset: 0; pointer-events: none; }
.thankyou-page__hero .container { position: relative; z-index: 1; max-width: 720px; margin-inline: auto; }
.thankyou-page__confetti {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}
.thankyou-page__confetti-piece {
	transform-origin: center;
	animation: ty-confetti-drop 3.5s ease-in-out infinite;
}
.thankyou-page__confetti-piece:nth-child(2) { animation-delay: -0.4s; }
.thankyou-page__confetti-piece:nth-child(3) { animation-delay: -0.8s; }
.thankyou-page__confetti-piece:nth-child(4) { animation-delay: -1.2s; }
.thankyou-page__confetti-piece:nth-child(5) { animation-delay: -1.6s; }
.thankyou-page__confetti-piece:nth-child(6) { animation-delay: -2.0s; }
.thankyou-page__confetti-piece:nth-child(7) { animation-delay: -2.4s; }
.thankyou-page__confetti-piece:nth-child(8) { animation-delay: -2.8s; }
.thankyou-page__confetti-piece:nth-child(9) { animation-delay: -3.2s; }
@keyframes ty-confetti-drop {
	0%   { transform: translateY(-30px) rotate(0deg); opacity: 0; }
	20%  { opacity: 1; }
	80%  { opacity: 1; }
	100% { transform: translateY(50px) rotate(180deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.thankyou-page__confetti-piece { animation: none; }
}

.thankyou-page__check {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	animation: ty-check-pop 0.6s var(--ease-spring);
}
@keyframes ty-check-pop {
	0%   { transform: scale(0); }
	60%  { transform: scale(1.15); }
	100% { transform: scale(1); }
}

.thankyou-page__order-meta {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.75rem;
}
.thankyou-page__order-pill {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	padding: 0.6rem 1rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	box-shadow: var(--shadow-sm);
	min-width: 0;
}
.thankyou-page__order-pill span {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-muted);
	font-weight: 600;
}
.thankyou-page__order-pill strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--c-ink);
	max-width: 18rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.thankyou-page__order-pill .woocommerce-Price-amount { color: var(--c-ink); font-weight: 700; }

.thankyou-page__body {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 3.5rem);
	padding-bottom: clamp(2rem, 5vw, 4rem);
}

/* Steps */
.thankyou-page__steps-head { text-align: center; margin-bottom: 1.5rem; }
.thankyou-page__steps-head h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	margin: 0;
	letter-spacing: -0.015em;
}
.thankyou-page__steps-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.thankyou-page__step {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.5rem 1.25rem 1.25rem;
	position: relative;
	overflow: hidden;
}
.thankyou-page__step::before {
	content: "";
	position: absolute;
	width: 160px; height: 160px;
	border-radius: 50%;
	filter: blur(50px);
	top: -60px; right: -60px;
	opacity: 0.35;
}
.thankyou-page__step:nth-child(1)::before { background: var(--c-coral); }
.thankyou-page__step:nth-child(2)::before { background: var(--c-lavender); }
.thankyou-page__step:nth-child(3)::before { background: var(--c-mint); }

.thankyou-page__step-num {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 2.25rem;
	line-height: 1;
	color: rgba(26, 26, 46, 0.12);
	z-index: 0;
}
.thankyou-page__step-icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	background: var(--c-cream-2);
	border-radius: 12px;
	color: var(--c-ink);
	margin-bottom: 0.875rem;
	position: relative;
	z-index: 1;
}
.thankyou-page__step:nth-child(1) .thankyou-page__step-icon { color: var(--c-coral-2); background: rgba(255, 107, 157, 0.15); }
.thankyou-page__step:nth-child(2) .thankyou-page__step-icon { color: #6B5BD9; background: rgba(200, 182, 255, 0.32); }
.thankyou-page__step:nth-child(3) .thankyou-page__step-icon { color: #2F8E55; background: rgba(168, 216, 185, 0.38); }
.thankyou-page__step h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	position: relative;
	z-index: 1;
}
.thankyou-page__step p {
	font-size: 0.95rem;
	color: var(--c-ink-2);
	margin: 0;
	position: relative;
	z-index: 1;
	line-height: 1.55;
}

/* Order details */
.thankyou-page__details-head { text-align: center; margin-bottom: 1.5rem; }
.thankyou-page__details-head h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	margin: 0;
	letter-spacing: -0.015em;
}
.thankyou-page__details-inner {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	box-shadow: var(--shadow-sm);
}
.thankyou-page__details-inner .woocommerce-order-details,
.thankyou-page__details-inner .woocommerce-customer-details { font-size: 0.95rem; }
.thankyou-page__details-inner h2 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0 0 1rem;
	color: var(--c-ink);
}
.thankyou-page__details-inner table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}
.thankyou-page__details-inner table.shop_table th,
.thankyou-page__details-inner table.shop_table td {
	padding: 0.65rem 0.5rem;
	text-align: left;
	border-bottom: 1px dashed var(--c-line);
	font-size: 0.95rem;
}
.thankyou-page__details-inner table.shop_table thead th {
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-muted);
	font-weight: 700;
}
.thankyou-page__details-inner table.shop_table tfoot th { font-weight: 600; }
.thankyou-page__details-inner table.shop_table tfoot tr:last-child th,
.thankyou-page__details-inner table.shop_table tfoot tr:last-child td {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.125rem;
	border-top: 2px solid var(--c-ink);
	border-bottom: 0;
	padding-top: 0.875rem;
}
/* Customer-details section: 2 cards (billing + shipping) side-by-side on wide. */
.thankyou-page__details-inner .woocommerce-customer-details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px dashed var(--c-line);
}
.thankyou-page__details-inner .woocommerce-customer-details > h2 {
	display: none; /* Section title; using per-column h3 instead. */
}
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-columns {
	display: contents;
}
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-column {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.25rem 1.4rem 1.4rem;
	position: relative;
	overflow: hidden;
}
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-column::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
}
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-column--billing-address::before {
	background: linear-gradient(90deg, var(--c-coral) 0%, var(--c-lavender) 100%);
}
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-column--shipping-address::before {
	background: linear-gradient(90deg, var(--c-mint) 0%, var(--c-lavender) 100%);
}
.thankyou-page__details-inner .woocommerce-customer-details h2,
.thankyou-page__details-inner .woocommerce-customer-details .woocommerce-column__title {
	display: block;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-muted);
	margin: 0 0 0.5rem;
}
.thankyou-page__details-inner address {
	display: block;
	font-style: normal;
	background: transparent;
	padding: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--c-ink-2);
	margin: 0;
}
.thankyou-page__details-inner address p { margin: 0.4rem 0 0; }
.thankyou-page__details-inner address a {
	color: var(--c-coral-2);
	font-weight: 500;
	border-bottom: 1px solid currentColor;
}

@media (max-width: 700px) {
	.thankyou-page__details-inner .woocommerce-customer-details {
		grid-template-columns: 1fr;
	}
}

/* CTA */
.thankyou-page__cta {
	background: linear-gradient(135deg, #2D2D44 0%, #1A1A2E 60%, #3A1F3A 100%);
	color: var(--c-cream);
	border-radius: var(--radius-xl);
	padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
	text-align: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.thankyou-page__cta::before,
.thankyou-page__cta::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	z-index: 0;
}
.thankyou-page__cta::before { width: 320px; height: 320px; background: var(--g-dream); opacity: 0.5; top: -120px; left: -80px; }
.thankyou-page__cta::after  { width: 240px; height: 240px; background: linear-gradient(135deg, var(--c-mint), var(--c-lavender)); opacity: 0.35; bottom: -100px; right: -60px; }
.thankyou-page__cta-inner { position: relative; z-index: 1; max-width: 36rem; margin: 0 auto; }
.thankyou-page__cta .psp-content__eyebrow { color: var(--c-sun); }
.thankyou-page__cta .psp-content__eyebrow svg { color: var(--c-sun); }
.thankyou-page__cta h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem);
	color: var(--c-cream);
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
}
.thankyou-page__cta p {
	color: rgba(255, 248, 240, 0.75);
	font-size: 1rem;
	margin: 0 0 1.5rem;
}
.thankyou-page__cta-btn {
	background: var(--c-coral);
	color: #fff;
}
.thankyou-page__cta-btn:hover { background: var(--c-sun); color: var(--c-ink); }

@media (max-width: 900px) {
	.thankyou-page__steps-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   CART TOAST (AJAX add-to-cart confirmation)
   ========================================================================== */
.cart-toast {
	position: fixed;
	top: clamp(0.875rem, 2vw, 1.5rem);
	right: clamp(0.875rem, 2vw, 1.5rem);
	width: min(360px, calc(100vw - 1.75rem));
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 48px -12px rgba(26, 26, 46, 0.25);
	z-index: 60;
	overflow: hidden;
	transform: translateX(calc(100% + 2rem));
	transition: transform 0.4s var(--ease-spring);
	pointer-events: auto;
}
.cart-toast.is-visible { transform: translateX(0); }
.cart-toast__inner { display: flex; flex-direction: column; }

.cart-toast__head {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.875rem 1rem 0.5rem;
	background: linear-gradient(135deg, rgba(168, 216, 185, 0.18) 0%, rgba(255, 255, 255, 0) 100%);
}
.cart-toast__check {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #2F8E55;
	color: #fff;
	flex: none;
	animation: cart-toast-pop 0.5s var(--ease-spring);
}
@keyframes cart-toast-pop {
	0% { transform: scale(0); }
	60% { transform: scale(1.2); }
	100% { transform: scale(1); }
}
.cart-toast__title {
	flex: 1;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1rem;
	color: var(--c-ink);
	line-height: 1.2;
}
.cart-toast__close {
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: var(--c-muted);
	font-size: 1.4rem;
	cursor: pointer;
	border-radius: 999px;
	line-height: 1;
	transition: background 0.2s, color 0.2s;
}
.cart-toast__close:hover { background: var(--c-cream-2); color: var(--c-ink); }

.cart-toast__body {
	display: flex;
	gap: 0.75rem;
	padding: 0.5rem 1rem 0.75rem;
	align-items: center;
}
.cart-toast__thumb {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: var(--radius);
	object-fit: cover;
	border: 1px solid var(--c-line);
}
.cart-toast__thumb-fallback {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: var(--radius);
	background: var(--c-cream-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-coral);
}
.cart-toast__text { display: flex; flex-direction: column; gap: 0.15rem; line-height: 1.3; min-width: 0; }
.cart-toast__product {
	font-weight: 600;
	color: var(--c-ink);
	margin: 0;
	font-size: 0.9rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cart-toast__msg { font-size: 0.825rem; color: var(--c-muted); margin: 0; }

.cart-toast__actions {
	display: flex;
	gap: 0.5rem;
	padding: 0.5rem 1rem 1rem;
}
.cart-toast__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.6rem 0.9rem;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.cart-toast__btn--ghost {
	background: transparent;
	color: var(--c-ink);
	border-color: var(--c-line);
}
.cart-toast__btn--ghost:hover { background: var(--c-cream-2); }
.cart-toast__btn--primary {
	background: var(--c-ink);
	color: var(--c-cream);
}
.cart-toast__btn--primary:hover { background: var(--c-coral); color: #fff; }

.cart-toast.is-error .cart-toast__check { background: var(--c-coral-2); }
.cart-toast.is-error .cart-toast__head {
	background: linear-gradient(135deg, rgba(255, 107, 157, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
}

@media (max-width: 540px) {
	.cart-toast { left: 0.6rem; right: 0.6rem; width: auto; top: 0.6rem; }
}

/* ==========================================================================
   FLOATING CONTACT BUTTONS (phone + WhatsApp, fixed bottom-right)
   ========================================================================== */
.floating-contact {
	position: fixed;
	right: clamp(0.875rem, 2vw, 1.5rem);
	bottom: clamp(0.875rem, 2vw, 1.5rem);
	z-index: 45;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	pointer-events: none;
}
.floating-contact__btn {
	pointer-events: auto;
	position: relative;
	width: 54px;
	height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	color: #fff;
	box-shadow: 0 10px 24px -6px rgba(26, 26, 46, 0.35);
	transition: transform 0.25s var(--ease-spring), box-shadow 0.25s var(--ease-out);
	text-decoration: none;
}
.floating-contact__btn:hover {
	transform: translateY(-3px) scale(1.05);
	color: #fff;
	box-shadow: 0 14px 28px -6px rgba(26, 26, 46, 0.4);
}
.floating-contact__btn--phone {
	background: linear-gradient(135deg, var(--c-coral) 0%, var(--c-coral-2) 100%);
}
.floating-contact__btn--phone::before {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 999px;
	border: 2px solid var(--c-coral);
	opacity: 0;
	animation: floating-ring 2.4s ease-out infinite;
}
@keyframes floating-ring {
	0% { transform: scale(0.85); opacity: 0.7; }
	100% { transform: scale(1.4); opacity: 0; }
}
.floating-contact__btn--whatsapp {
	background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}
.floating-contact__btn--whatsapp::after {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #25D366;
	border: 2px solid #fff;
	animation: floating-pulse 1.6s ease-in-out infinite;
}
@keyframes floating-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.25); }
}
@media (prefers-reduced-motion: reduce) {
	.floating-contact__btn--phone::before,
	.floating-contact__btn--whatsapp::after { animation: none; }
}

/* Tooltip-style label revealed on hover (desktop) */
.floating-contact__tip {
	position: absolute;
	right: calc(100% + 0.6rem);
	top: 50%;
	transform: translateY(-50%) translateX(8px);
	background: var(--c-ink);
	color: var(--c-cream);
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.4rem 0.7rem;
	border-radius: 8px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s, transform 0.25s var(--ease-spring);
}
.floating-contact__tip::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	border: 5px solid transparent;
	border-left-color: var(--c-ink);
}
.floating-contact__btn:hover .floating-contact__tip,
.floating-contact__btn:focus-visible .floating-contact__tip {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

/* Lift the buttons when the product-page sticky purchase bar is visible. */
body:has(.psp-sticky.is-visible) .floating-contact { bottom: calc(70px + clamp(0.875rem, 2vw, 1.5rem)); }

@media (max-width: 700px) {
	.floating-contact__btn { width: 48px; height: 48px; }
	.floating-contact__tip { display: none; }
}

/* ==========================================================================
   CONTACT PAGE (/contact/)
   ========================================================================== */
.contact-page { padding-bottom: clamp(3rem, 5vw, 5rem); }

.contact-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 4vw, 3.5rem);
	background: linear-gradient(180deg, var(--c-cream-2) 0%, var(--c-cream) 100%);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}
.contact-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.contact-hero__blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.35; }
.contact-hero__blob--1 { width: 22rem; height: 22rem; background: var(--c-coral); top: -6rem; right: -6rem; }
.contact-hero__blob--2 { width: 18rem; height: 18rem; background: var(--c-lavender); bottom: -8rem; left: -4rem; opacity: 0.3; }
.contact-hero__inner { position: relative; z-index: 1; }
.contact-hero__crumbs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	color: var(--c-muted);
	margin-bottom: 0.75rem;
}
.contact-hero__crumbs a { color: var(--c-muted); }
.contact-hero__crumbs a:hover { color: var(--c-coral); }
.contact-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 0.65rem;
}
.contact-hero__dot {
	width: 8px; height: 8px;
	border-radius: 999px;
	background: #2F8E55;
	box-shadow: 0 0 0 4px rgba(47, 142, 85, 0.18);
	animation: about-pulse 2s ease-in-out infinite;
}
.contact-hero__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(2rem, 1.5rem + 1.8vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.75rem;
	color: var(--c-ink);
}
.contact-hero__title-accent {
	font-style: italic;
	font-weight: 500;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.contact-hero__lede {
	font-size: 1.0625rem;
	color: var(--c-ink-2);
	max-width: 38rem;
	margin: 0;
	line-height: 1.6;
}

/* --- Body grid --- */
.contact-body { padding-block: clamp(0.5rem, 2vw, 1.5rem); }
.contact-body__grid {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

/* --- Channels --- */
.contact-channels { display: flex; flex-direction: column; gap: 0.75rem; }
.contact-channel {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	color: var(--c-ink);
	text-decoration: none;
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s;
}
.contact-channel:hover:not(.contact-channel--note) {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
	border-color: rgba(26, 26, 46, 0.14);
	color: var(--c-ink);
}
.contact-channel--note { cursor: default; opacity: 0.85; }
.contact-channel__icon {
	width: 44px;
	height: 44px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--c-cream-2);
	color: var(--c-ink);
}
.contact-channel--phone .contact-channel__icon { background: rgba(255, 107, 157, 0.18); color: var(--c-coral-2); }
.contact-channel--email .contact-channel__icon { background: rgba(255, 217, 61, 0.3); color: #B8860B; }
.contact-channel--ig    .contact-channel__icon { background: linear-gradient(135deg, #FEDA75 0%, #FA7E1E 25%, #D62976 55%, #962FBF 80%, #4F5BD5 100%); color: #fff; }
.contact-channel--note  .contact-channel__icon { background: rgba(168, 216, 185, 0.4); color: #2F8E55; }

.contact-channel > div { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.contact-channel__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-muted);
}
.contact-channel strong {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--c-ink);
	word-break: break-word;
}
.contact-channel small { font-size: 0.8125rem; color: var(--c-muted); }

/* --- Form --- */
.contact-form-wrap {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-xl);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: var(--shadow-sm);
}
.contact-form-wrap__head { margin-bottom: 1.25rem; }
.contact-form-wrap__eyebrow {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 0.4rem;
}
.contact-form-wrap__head h2 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.5rem;
	margin: 0;
	letter-spacing: -0.01em;
}

.contact-form { display: flex; flex-direction: column; gap: 1rem; }
.contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.contact-form__field { display: flex; flex-direction: column; gap: 0.4rem; }
.contact-form__field > span {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--c-ink);
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-cream);
	font: inherit;
	color: var(--c-ink);
	transition: border-color 0.2s, background 0.2s;
}
.contact-form input:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--c-coral);
	background: #fff;
}
.contact-form textarea { resize: vertical; min-height: 120px; }
.contact-form__field.has-error input,
.contact-form__field.has-error textarea {
	border-color: var(--c-coral-2);
	background: rgba(255, 79, 138, 0.04);
}
.contact-form__err { color: var(--c-coral-2); font-size: 0.8125rem; min-height: 1em; }
.contact-form__honeypot { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

.contact-form__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 0.25rem;
}
.contact-form__hint { color: var(--c-muted); font-size: 0.8125rem; margin: 0; }
.contact-form__submit {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--c-ink);
	color: var(--c-cream);
	padding: 0.8rem 1.5rem;
	border-radius: 999px;
	border: 0;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s var(--ease-spring), box-shadow 0.25s;
}
.contact-form__submit:hover {
	background: var(--c-coral);
	transform: translateY(-2px);
	box-shadow: 0 8px 16px -4px rgba(255, 79, 138, 0.4);
}
.contact-form__submit:disabled { opacity: 0.7; cursor: wait; transform: none; }
.contact-form__spinner { display: none; animation: contact-spin 0.85s linear infinite; }
.contact-form.is-loading .contact-form__spinner { display: inline-block; }
.contact-form.is-loading .contact-form__submit-text { opacity: 0.7; }
@keyframes contact-spin { to { transform: rotate(360deg); } }

.contact-form__feedback {
	font-size: 0.95rem;
	padding: 0;
	margin: 0;
	min-height: 0;
	transition: padding 0.2s, min-height 0.2s;
}
.contact-form__feedback.is-success {
	background: rgba(47, 142, 85, 0.1);
	color: #2F8E55;
	border: 1px solid rgba(47, 142, 85, 0.3);
	border-radius: 12px;
	padding: 0.75rem 1rem;
}
.contact-form__feedback.is-error {
	background: rgba(255, 79, 138, 0.1);
	color: var(--c-coral-2);
	border: 1px solid rgba(255, 79, 138, 0.3);
	border-radius: 12px;
	padding: 0.75rem 1rem;
}

@media (max-width: 900px) {
	.contact-body__grid { grid-template-columns: 1fr; }
	.contact-form__row { grid-template-columns: 1fr; }
}

/* ==========================================================================
   ABOUT PAGE (/despre/) — emotional storytelling
   ========================================================================== */
.about { padding-bottom: clamp(3rem, 5vw, 5rem); }

/* --- Hero --- */
.about-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2.5rem, 5vw, 5rem);
}
.about-hero__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.about-hero__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	opacity: 0.45;
	animation: about-float 14s ease-in-out infinite;
}
.about-hero__blob--1 { width: 26rem; height: 26rem; background: var(--c-coral); top: -8rem; left: -6rem; }
.about-hero__blob--2 { width: 22rem; height: 22rem; background: var(--c-lavender); bottom: -8rem; right: -4rem; animation-delay: -5s; }
.about-hero__blob--3 { width: 16rem; height: 16rem; background: var(--c-sun); top: 20%; right: 30%; opacity: 0.3; animation-delay: -9s; }
@keyframes about-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(2rem, -1.5rem) scale(1.05); }
	66% { transform: translate(-1.5rem, 1rem) scale(0.97); }
}
@media (prefers-reduced-motion: reduce) {
	.about-hero__blob { animation: none; }
}

.about-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.about-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 1rem;
}
.about-hero__dot {
	width: 8px; height: 8px;
	border-radius: 999px;
	background: var(--c-coral);
	box-shadow: 0 0 0 4px rgba(255, 107, 157, 0.18);
	animation: about-pulse 2s ease-in-out infinite;
}
@keyframes about-pulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(255, 107, 157, 0.18); }
	50% { box-shadow: 0 0 0 8px rgba(255, 107, 157, 0.05); }
}

.about-hero__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(2.25rem, 1.6rem + 2.5vw, 4rem);
	line-height: 1.05;
	letter-spacing: -0.025em;
	margin: 0 0 1.25rem;
	color: var(--c-ink);
}
.about-hero__title-accent {
	display: inline-block;
	position: relative;
	font-style: italic;
	font-weight: 500;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.about-hero__underline {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.3em;
	width: 100%;
	height: 0.4em;
	color: var(--c-coral);
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	animation: about-draw 1.4s 0.6s var(--ease-out) forwards;
}
@keyframes about-draw {
	to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.about-hero__underline { animation: none; stroke-dashoffset: 0; }
}

.about-hero__lede {
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
	line-height: 1.6;
	color: var(--c-ink-2);
	max-width: 36rem;
	margin: 0 0 1.75rem;
}

.about-hero__scroll {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	color: var(--c-ink);
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	transition: color 0.2s var(--ease-out);
}
.about-hero__scroll:hover { color: var(--c-coral); }
.about-hero__scroll-arrow {
	display: inline-flex;
	transition: transform 0.3s var(--ease-spring);
}
.about-hero__scroll:hover .about-hero__scroll-arrow {
	transform: translateY(2px) rotate(90deg);
}

/* Hero visual: 2 photos overlapping + sticker + heart */
.about-hero__visual {
	position: relative;
	min-height: 520px;
}
.about-hero__photo {
	position: absolute;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	border: 1px solid rgba(255, 255, 255, 0.6);
}
.about-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-hero__photo--main {
	width: 70%;
	aspect-ratio: 4/5;
	top: 0;
	left: 0;
	transform: rotate(-3deg);
	animation: about-bob 6s ease-in-out infinite;
	z-index: 2;
}
.about-hero__photo--secondary {
	width: 55%;
	aspect-ratio: 1;
	bottom: 0;
	right: 0;
	transform: rotate(4deg);
	animation: about-bob 7s ease-in-out infinite reverse;
	animation-delay: -2s;
	z-index: 1;
}
@keyframes about-bob {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -10px; }
}
@media (prefers-reduced-motion: reduce) {
	.about-hero__photo { animation: none; }
}
.about-hero__sticker {
	position: absolute;
	width: 110px;
	height: 110px;
	top: -16px;
	right: 8%;
	z-index: 3;
	animation: spin-slow 18s linear infinite;
	filter: drop-shadow(0 8px 20px rgba(255, 217, 61, 0.4));
}
.about-hero__heart {
	position: absolute;
	left: 12%;
	bottom: 4%;
	z-index: 3;
	width: 44px; height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-coral);
	color: #fff;
	border-radius: 999px;
	box-shadow: 0 8px 18px -4px rgba(255, 79, 138, 0.5);
	animation: about-heartbeat 1.8s ease-in-out infinite;
}
@keyframes about-heartbeat {
	0%, 100% { transform: scale(1); }
	15% { transform: scale(1.15); }
	30% { transform: scale(1); }
	45% { transform: scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	.about-hero__heart, .about-hero__sticker { animation: none; }
}

/* --- Chapters --- */
.about-chapter { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.about-chapter__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: center;
}
.about-chapter--reverse .about-chapter__media { order: 2; }

.about-chapter__media { position: relative; }
.about-chapter__photo {
	position: relative;
	aspect-ratio: 4/5;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	transform: rotate(-1.5deg);
	transition: transform 0.6s var(--ease-out);
}
.about-chapter__media:hover .about-chapter__photo { transform: rotate(0deg) scale(1.01); }
.about-chapter__photo img { width: 100%; height: 100%; object-fit: cover; }
.about-chapter__photo--rotate { transform: rotate(2deg); }
.about-chapter--reverse .about-chapter__media:hover .about-chapter__photo--rotate { transform: rotate(0deg) scale(1.01); }

.about-chapter__tape {
	position: absolute;
	width: 90px;
	top: -10px;
	left: 30%;
	transform: rotate(-6deg);
	filter: drop-shadow(0 3px 6px rgba(0,0,0,0.12));
	z-index: 2;
}
.about-chapter__sticker-mini {
	position: absolute;
	bottom: -16px;
	right: -16px;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	box-shadow: var(--shadow);
	border-radius: 999px;
	padding: 0.5rem 0.95rem;
	font-size: 0.8125rem;
	font-weight: 600;
	transform: rotate(-3deg);
}
.about-chapter__sticker-mini svg { color: var(--c-coral); }

.about-chapter__count {
	position: absolute;
	bottom: -1rem;
	left: -1rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 0.875rem 1.25rem;
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
	line-height: 1.1;
}
.about-chapter__count strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.75rem;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.about-chapter__count span { font-size: 0.75rem; color: var(--c-muted); }

.about-chapter__num {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 4rem;
	line-height: 1;
	background: var(--g-dream);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	margin-bottom: 0.5rem;
	display: inline-block;
}
.about-chapter__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
	color: var(--c-ink);
}
.about-chapter__text p {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--c-ink-2);
	margin: 0 0 1rem;
}
.about-chapter__text p:last-child { margin-bottom: 0; }

/* --- Manifesto quote --- */
.about-manifesto {
	padding-block: clamp(3rem, 5vw, 5rem);
	margin-block: clamp(2rem, 4vw, 3rem);
	background: linear-gradient(135deg, #FFE5EE 0%, #FBEFE0 50%, #ECE5FF 100%);
	border-radius: var(--radius-xl);
	margin-inline: 1rem;
	position: relative;
	overflow: hidden;
}
.about-manifesto::before {
	content: "";
	position: absolute;
	width: 280px; height: 280px;
	background: var(--c-coral);
	filter: blur(100px);
	opacity: 0.25;
	top: -100px;
	right: -100px;
	border-radius: 50%;
}
.about-manifesto__inner {
	max-width: 56rem;
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 1;
}
.about-manifesto__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px; height: 64px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	color: var(--c-coral);
	margin-bottom: 1.25rem;
	box-shadow: var(--shadow);
}
.about-manifesto__quote {
	font-family: var(--ff-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
	line-height: 1.35;
	color: var(--c-ink);
	margin: 0;
	letter-spacing: -0.01em;
}

/* --- Values --- */
.about-values { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.about-values__head { text-align: center; margin-bottom: 2.5rem; }
.about-values__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--c-coral-2);
	margin: 0 0 0.5rem;
}
.about-values__head h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem);
	letter-spacing: -0.02em;
	margin: 0;
}
.about-values__grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
.about-values__item {
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	padding: 1.5rem 1.25rem;
	position: relative;
	overflow: hidden;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.about-values__item:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.about-values__item::before {
	content: "";
	position: absolute;
	width: 140px; height: 140px;
	border-radius: 50%;
	filter: blur(50px);
	top: -60px; right: -60px;
	opacity: 0.35;
}
.about-values__item--coral::before { background: var(--c-coral); }
.about-values__item--lavender::before { background: var(--c-lavender); }
.about-values__item--mint::before { background: var(--c-mint); }
.about-values__item--sun::before { background: var(--c-sun); }
.about-values__icon {
	display: inline-flex;
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--c-cream-2);
	margin-bottom: 0.875rem;
	position: relative;
}
.about-values__item--coral .about-values__icon { color: var(--c-coral-2); background: rgba(255, 107, 157, 0.18); }
.about-values__item--lavender .about-values__icon { color: #6B5BD9; background: rgba(200, 182, 255, 0.32); }
.about-values__item--mint .about-values__icon { color: #2F8E55; background: rgba(168, 216, 185, 0.4); }
.about-values__item--sun .about-values__icon { color: #B8860B; background: rgba(255, 217, 61, 0.3); }
.about-values__item h3 {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.125rem;
	margin: 0 0 0.5rem;
	position: relative;
}
.about-values__item p {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--c-ink-2);
	margin: 0;
	position: relative;
}

/* --- Signature --- */
.about-signature {
	padding-block: clamp(2.5rem, 4vw, 3.5rem);
	text-align: center;
}
.about-signature__inner { max-width: 36rem; margin: 0 auto; }
.about-signature__greeting {
	font-family: var(--ff-display);
	font-style: italic;
	font-size: 1.25rem;
	color: var(--c-ink-2);
	margin: 0 0 0.5rem;
}
.about-signature__name {
	display: block;
	width: 200px;
	height: auto;
	margin: 0 auto 0.5rem;
	color: var(--c-coral-2);
}
.about-signature__path {
	stroke-dasharray: 800;
	stroke-dashoffset: 800;
	animation: about-sign 2.5s 0.5s var(--ease-out) forwards;
}
@keyframes about-sign {
	to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.about-signature__path { animation: none; stroke-dashoffset: 0; }
}
.about-signature__role {
	font-size: 0.875rem;
	color: var(--c-muted);
	letter-spacing: 0.04em;
	margin: 0;
}

/* --- CTA --- */
.about-cta { padding-block: clamp(2rem, 4vw, 3.5rem); }
.about-cta__inner {
	background: linear-gradient(135deg, #2D2D44 0%, #1A1A2E 60%, #3A1F3A 100%);
	color: var(--c-cream);
	border-radius: var(--radius-xl);
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
	text-align: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.about-cta__deco { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.about-cta__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
}
.about-cta__blob--1 { width: 320px; height: 320px; background: var(--g-dream); opacity: 0.55; top: -120px; left: -80px; }
.about-cta__blob--2 { width: 260px; height: 260px; background: linear-gradient(135deg, var(--c-mint) 0%, var(--c-lavender) 100%); opacity: 0.35; bottom: -100px; right: -60px; }
.about-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-sun);
	margin: 0 0 0.875rem;
	position: relative;
	z-index: 1;
}
.about-cta__eyebrow svg { color: var(--c-sun); }
.about-cta__title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.75rem);
	letter-spacing: -0.02em;
	color: var(--c-cream);
	margin: 0 0 0.875rem;
	position: relative;
	z-index: 1;
}
.about-cta__lede {
	font-size: 1rem;
	color: rgba(255, 248, 240, 0.75);
	max-width: 36rem;
	margin: 0 auto 1.75rem;
	position: relative;
	z-index: 1;
}
.about-cta__btn {
	background: var(--c-coral);
	color: #fff;
	position: relative;
	z-index: 1;
}
.about-cta__btn:hover { background: var(--c-sun); color: var(--c-ink); }

/* --- Responsive --- */
@media (max-width: 900px) {
	.about-hero__grid { grid-template-columns: 1fr; }
	.about-hero__visual { min-height: 360px; max-width: 480px; margin: 0 auto; }
	.about-chapter__inner { grid-template-columns: 1fr; }
	.about-chapter--reverse .about-chapter__media { order: 0; }
	.about-values__grid { grid-template-columns: repeat(2, 1fr); }
	.about-manifesto { margin-inline: 0; }
}
@media (max-width: 540px) {
	.about-values__grid { grid-template-columns: 1fr; }
	.about-hero__sticker { width: 80px; height: 80px; right: 0; top: -8px; }
	.about-chapter__num { font-size: 3rem; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
	.collections__grid { grid-template-columns: repeat(2, 1fr); }
	.reviews__grid { grid-template-columns: repeat(2, 1fr); }
	.site-footer__cols { grid-template-columns: repeat(2, 1fr); }
	.value-strip__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.psp-hero__grid { grid-template-columns: 1fr; }
	.woocommerce-product-gallery { position: static; }
	.psp-hero__media { max-width: 380px; }
	.psp-hero__sticker--rotate { width: 84px; height: 84px; top: -16px; right: -8px; }
	.psp-hero__sticker--ig { right: -8px; bottom: 12px; transform: rotate(0); }
	.psp-hero__sticker--note { left: 8px; top: 10px; }
	.psp-shipping { grid-template-columns: 1fr; }
	.psp-specs { grid-template-columns: 1fr; }
	.psp-specs__row dt { border-right: 0; border-bottom: 1px solid var(--c-line); }
	.psp-related .related .products,
	.psp-related .products { grid-template-columns: repeat(2, 1fr); }
	.page-shell__layout { grid-template-columns: 1fr; }
	.page-toc {
		position: relative;
		top: 0;
		max-height: none;
		order: -1;
		margin-bottom: 1.5rem;
	}
	.page-toc__list { flex-direction: row; flex-wrap: wrap; gap: 0.25rem; }
	.page-toc__list a { padding: 0.4rem 0.75rem; border-left: 0; border-radius: 999px; background: var(--c-cream-2); }
	.page-toc__list a.is-active { border-left: 0; background: var(--c-coral); color: #fff; }
	.page-toc__list .page-toc__sub a { padding-left: 0.75rem; }

	/* Specificity fix: the base rule is `form.checkout.checkout-page__layout` which
	   beats `.checkout-page__layout` alone, so the checkout would otherwise stay
	   in 2 columns on mobile. Match the specificity here. */
	form.checkout.checkout-page__layout,
	.checkout-page__layout { grid-template-columns: 1fr !important; gap: 1.25rem !important; }
	.checkout-page__review { position: static !important; }
}
@media (max-width: 900px) {
	.product-single__top { grid-template-columns: 1fr; }
	.product-section--split .product-section__inner { grid-template-columns: 1fr; }
	.product-section--media-right .product-section__media { order: 0; }
	.home-hero__grid { grid-template-columns: 1fr; }
	.home-hero__media { order: -1; max-height: 480px; }
	.home-hero__sticker--rotate { width: 90px; height: 90px; top: -16px; right: -8px; }
	.home-hero__sticker--card { left: 0; bottom: -20px; }
	.home-hero__sticker--note { left: 8px; top: 14px; }
	.story__grid { grid-template-columns: 1fr; }
	.how__steps { grid-template-columns: 1fr; }
	.how__icon { top: 1.75rem; right: 1.5rem; }
	.newsletter__inner { grid-template-columns: 1fr; padding: clamp(2rem, 5vw, 3rem); }
	.site-footer__top { grid-template-columns: 1fr; gap: 3rem; }
	.site-footer__trust { grid-template-columns: repeat(2, 1fr); }
	.section-head--row { flex-direction: column; align-items: flex-start; }
	.lifestyle__grid { grid-template-columns: repeat(3, 1fr); }
	.lifestyle__head { flex-direction: column; align-items: flex-start; }
	.lifestyle__follow { width: 100%; justify-content: center; }
}
/* ==========================================================================
   MOBILE-ONLY POLISH (≤700px) — symmetrical padding + tap targets + tight spacing
   ========================================================================== */
@media (max-width: 700px) {
	/* Force every container to symmetric inline padding so content never sticks left. */
	.container,
	.container-wide,
	.cart-page__layout,
	.checkout-page__layout,
	.checkout-page__coupon,
	.cart-page__hero .container,
	.checkout-page__hero .container {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: 0 !important;
		padding-inline: 1rem !important;
		box-sizing: border-box;
	}

	/* Remove edge bleed on full-bleed sections. */
	.hero,
	.home-hero,
	.about-hero,
	.psp-hero,
	.checkout-page__hero,
	.cart-page__hero,
	.contact-hero { padding-inline: 0; }

	/* Tighter typography on mobile so titles don't wrap awkwardly. */
	.hero__title              { font-size: clamp(2.25rem, 9vw, 3rem); line-height: 1.05; }
	.cart-page__title,
	.checkout-page__hero h1   { font-size: clamp(1.75rem, 7.5vw, 2.25rem); }
	.about-hero__title        { font-size: clamp(2rem, 8vw, 2.75rem); }
	.section-head__title      { font-size: clamp(1.75rem, 7vw, 2.25rem); }

	/* Buttons get min height + full-width where applicable. */
	.btn { min-height: 44px; padding-inline: 1.25rem; }
	.btn--primary,
	.btn--ghost { width: 100%; justify-content: center; }
	.hero__actions .btn,
	.about-cta__btn,
	.iasi__actions .btn { width: 100%; }
	.about-hero__scroll,
	.about-cta__btn,
	.story__link,
	.story__cta { display: inline-flex; }

	/* Hero — content wraps naturally instead of being squeezed. */
	.home-hero__grid { gap: 1.5rem; }
	.home-hero__content { max-width: 100%; }
	.hero__lede,
	.about-hero__lede,
	.cart-page__lede,
	.contact-hero__lede { font-size: 0.95rem; }

	/* Marquee thinner. */
	.marquee { padding: 0.875rem 0; }
	.marquee__track { font-size: 1.125rem; }

	/* Section vertical breathing room. */
	.collections,
	.bestsellers,
	.story,
	.lifestyle,
	.iasi { padding-block: clamp(2rem, 6vw, 3rem); }
	.section-head { margin-bottom: 1.5rem; }
	.section-head--row { margin-bottom: 1rem; }
	.section-head__link { font-size: 0.875rem; }

	/* Value strip — items full width stacked. */
	.value-strip__list { gap: 0.6rem; }
	.value-strip__item { padding: 0.85rem 1rem; }

	/* Collection card — slightly tighter. */
	.collection-card { min-height: auto; }
	.collection-card__body { padding: 1.1rem 1.25rem 1.25rem; }
	.collection-card__title { font-size: 1.25rem; }

	/* How it works — tighter cards. */
	.how__step { padding: 1.75rem 1.25rem; }
	.how__num { font-size: 2.5rem; }

	/* Reviews — single col, smaller card. */
	.review-card { padding: 1.6rem 1.25rem 1.25rem; }
	.review-card__quote { font-size: 1rem; line-height: 1.5; }

	/* Story stats card readable. */
	.story__stats { padding: 0.5rem 0.25rem; gap: 0; }
	.story__stat { padding: 0 0.6rem; }
	.story__stat strong { font-size: 1rem; }
	.story__stat span { font-size: 0.7rem; }

	/* Newsletter — stacked + readable. */
	.newsletter__inner { padding: 1.75rem 1.25rem; }
	.newsletter__form { flex-direction: column; padding: 0.5rem; }
	.newsletter__form input[type="email"] {
		flex: 0 0 auto; /* override `flex: 1 1 220px` from desktop — on column direction that 220px becomes min-height */
		width: 100%;
		padding: 0.65rem 1rem;
	}
	.newsletter__form button.btn--primary { width: 100%; }
	.newsletter__title { font-size: 1.5rem; }

	/* Footer — single column, more breathing room. */
	.site-footer__top { padding-bottom: 2rem; }
	.site-footer__cols { gap: 1.5rem; }
	.site-footer__trust { grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.25rem 0; }
	.site-footer__bottom { gap: 1rem; padding-top: 1.5rem; }
	.payment-pill { font-size: 0.65rem; padding: 0.3rem 0.5rem; }

	/* Iași section — simpler decorations. */
	.iasi__card { padding: 1.5rem 1rem; gap: 1.25rem; }
	.iasi__title { font-size: 1.875rem; }
	.iasi__visual { padding: 0.875rem; }

	/* Cart on mobile. */
	.cart-page__hero,
	.checkout-page__hero { padding-block: 1.5rem; margin-bottom: 1rem; }
	.cart-totals__inner { padding: 1.25rem; }
	.cart-totals__title { font-size: 1rem; }
	.cart-totals__row--total dd { font-size: 1.25rem; }

	/* Product page — sticker positions handled separately above; tighten layout. */
	.psp-hero { padding-block: 1rem 2rem; }
	.psp-hero__media { max-width: 320px; margin: 0 auto; }
	.psp-summary__title { font-size: 1.625rem; }
	.psp-summary__price { font-size: 1.75rem; }
	.psp-summary__cart { gap: 0.6rem; }
	.psp-cta { font-size: 0.9rem; padding: 0.85rem 1.25rem; }

	/* About page — tighter chapters. */
	.about-chapter { padding-block: 2rem; }
	.about-chapter__num { font-size: 2.5rem; }
	.about-chapter__title { font-size: 1.5rem; }
	.about-chapter__text p { font-size: 1rem; line-height: 1.65; }
	.about-manifesto__quote { font-size: 1.25rem; line-height: 1.4; }
	.about-values__item { padding: 1.25rem 1rem; }

	/* Contact page — channels stacked. */
	.contact-hero { padding-block: 1.5rem; margin-bottom: 1.25rem; }
	.contact-hero__title { font-size: 1.875rem; }
	.contact-form-wrap { padding: 1.25rem; }
	.contact-form__row { grid-template-columns: 1fr; }
	.contact-channel { padding: 0.875rem 1rem; }
	.contact-channel strong { font-size: 0.95rem; }

	/* Pull all stickers and overhang decorations inside the viewport on mobile. */
	.home-hero__sticker--rotate { right: 4px !important; top: -8px !important; }
	.home-hero__sticker--card   { left: 4px !important; bottom: -16px !important; }
	.home-hero__sticker--note   { left: 4px !important; top: 4px !important; }
	.story__badge               { right: 0 !important; bottom: -16px !important; }
	.story__stats               { left: 50% !important; transform: translateX(-50%); }
	.about-hero__sticker        { right: 4px !important; }
	.about-chapter__count       { left: 0 !important; bottom: 0 !important; }
	.about-chapter__sticker-mini{ right: 0 !important; bottom: -8px !important; }
	.about-chapter__tape        { left: 20% !important; }
	.psp-hero__sticker--rotate  { right: 4px !important; top: -8px !important; }
	.psp-hero__sticker--ig      { right: 4px !important; bottom: 4px !important; transform: rotate(0) !important; }
	.psp-hero__sticker--note    { left: 4px !important; top: 4px !important; }
	.about-cta__blob--1,
	.about-cta__blob--2,
	.cart-page__blob--1,
	.cart-page__blob--2,
	.about-hero__blob,
	.psp-hero__blob,
	.contact-hero__blob,
	.hero__blob { max-width: 60vw; max-height: 60vw; }
	/* Inner full-bleed elements that may overflow due to padding. */
	.about-manifesto,
	.reviews,
	.how { margin-inline: 0 !important; }

	.site-nav { display: none; }
	.site-nav__toggle { display: inline-flex; position: relative; z-index: 70; }
	body.has-nav-open { overflow: hidden; }
	body.has-nav-open .site-nav__toggle { color: var(--c-coral); }
	.site-nav.is-open {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100vw;
		height: 100dvh;
		background: var(--c-cream);
		padding: 5rem 1.5rem 2rem;
		border-bottom: 0;
		z-index: 999999; /* above WP admin bar (99999) and any floating widgets */
		overflow-y: auto;
		box-shadow: 0 0 40px rgba(26, 26, 46, 0.08);
		animation: nav-slide-in 0.25s var(--ease-out);
	}
	/* Close button — visible only when drawer is open. */
	.site-nav__close {
		display: none;
		position: absolute;
		top: 1rem;
		right: 1rem;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		border: 1px solid var(--c-line);
		background: #fff;
		color: var(--c-ink);
		cursor: pointer;
		align-items: center;
		justify-content: center;
		padding: 0;
		z-index: 1;
	}
	.site-nav__close:hover { background: var(--c-cream-2); }
	.site-nav.is-open .site-nav__close { display: inline-flex; }
	.site-nav.is-open .site-nav__list { flex-direction: column; gap: 0.5rem; width: 100%; }
	.site-nav.is-open .site-nav__list a {
		display: block;
		padding: 0.875rem 1rem;
		font-size: 1.125rem;
		font-weight: 600;
		border-radius: var(--radius);
		transition: background 0.2s, color 0.2s;
	}
	.site-nav.is-open .site-nav__list a:hover,
	.site-nav.is-open .site-nav__list a:focus { background: var(--c-cream-2); }
	.site-nav.is-open .site-nav__list a::after { display: none; }
	@keyframes nav-slide-in {
		from { opacity: 0; transform: translateX(-12px); }
		to   { opacity: 1; transform: translateX(0); }
	}
	.collections__grid { grid-template-columns: 1fr; }
	.reviews__grid { grid-template-columns: 1fr; }
	.site-footer__cols { grid-template-columns: 1fr; }
	.site-footer__bottom { flex-direction: column; align-items: flex-start; }
	.value-strip__list { grid-template-columns: 1fr; }
	.lifestyle__grid { grid-template-columns: repeat(2, 1fr); }
	.psp-summary__trust { grid-template-columns: 1fr; }
	.psp-summary__cart { flex-direction: column; }
	.psp-qty { width: fit-content; }
	.psp-cta { width: 100%; }
	.psp-related .related .products,
	.psp-related .products { grid-template-columns: 1fr; }
	.psp-sticky__product { flex: 1; min-width: 0; }
	.psp-sticky__info strong { max-width: 12rem; }
	.hero__proof { flex-wrap: wrap; }
	.story__stats { padding: 0.6rem 0.25rem; }
	.story__stat { padding: 0 0.7rem; }
	.story__stat strong { font-size: 1.1rem; }
}
