/**
 * Maison Velena — feuille principale
 * Composants : header, home, blog, WooCommerce, formulaires
 */

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--velena-font-body);
	font-size: var(--velena-text-base);
	line-height: var(--velena-leading-normal);
	color: var(--velena-color-text);
	background: var(--velena-color-bg);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--velena-color-accent-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--velena-transition);
}

a:hover,
a:focus-visible {
	color: var(--velena-color-text);
}

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

.velena-skip-link {
	position: absolute;
	left: -999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.velena-skip-link:focus {
	position: fixed;
	left: var(--velena-space-4);
	top: var(--velena-space-4);
	width: auto;
	height: auto;
	padding: var(--velena-space-3) var(--velena-space-4);
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	z-index: 100000;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	width: 1px;
	overflow: hidden;
	position: absolute;
}

/* -------------------------------------------------------------------------
   Typo & utilitaires
   ------------------------------------------------------------------------- */
.velena-heading-1,
.velena-heading-2,
.velena-hero__title {
	font-family: var(--velena-font-display);
	font-weight: 500;
	letter-spacing: var(--velena-tracking-tight);
	color: var(--velena-color-text);
}

.velena-heading-1 {
	font-size: var(--velena-text-4xl);
	line-height: var(--velena-leading-tight);
	margin: 0 0 var(--velena-space-6);
}

.velena-heading-2 {
	font-size: var(--velena-text-3xl);
	line-height: var(--velena-leading-tight);
	margin: 0 0 var(--velena-space-4);
}

.velena-eyebrow {
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-accent-dark);
	margin: 0 0 var(--velena-space-4);
}

.velena-section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto var(--velena-space-12);
}

.velena-section-head--row {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-6);
	max-width: none;
	text-align: left;
	margin-left: 0;
	margin-right: 0;
}

@media (min-width: 768px) {
	.velena-section-head--row {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

.velena-section-head__text {
	margin: var(--velena-space-3) 0 0;
	color: var(--velena-color-text-muted);
	font-size: var(--velena-text-lg);
}

.velena-text-link {
	font-size: var(--velena-text-sm);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	text-decoration: none;
	border-bottom: 1px solid var(--velena-color-border);
	padding-bottom: 2px;
	color: var(--velena-color-text);
}

.velena-text-link:hover {
	border-color: var(--velena-color-accent);
}

.velena-prose {
	font-size: var(--velena-text-lg);
	color: var(--velena-color-text-muted);
}

.velena-prose p {
	margin: 0 0 var(--velena-space-4);
}

/* -------------------------------------------------------------------------
   Layout
   ------------------------------------------------------------------------- */
.velena-container {
	width: min(100% - var(--velena-space-8), var(--velena-container));
	margin-inline: auto;
}

.velena-container--narrow {
	width: min(100% - var(--velena-space-8), var(--velena-container-narrow));
}

.velena-section {
	padding-block: var(--velena-space-20);
}

.velena-section--tight {
	padding-block: var(--velena-space-16);
}

.velena-section--compact {
	padding-block: var(--velena-space-12);
}

.velena-section--bordered {
	border-block: 1px solid var(--velena-color-border-subtle);
	background: var(--velena-color-bg-elevated);
}

/* -------------------------------------------------------------------------
   Boutons & champs
   ------------------------------------------------------------------------- */
.velena-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--velena-space-2);
	padding: 0.85rem 1.5rem;
	font-family: var(--velena-font-body);
	font-size: var(--velena-text-sm);
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--velena-radius-full);
	border: 1px solid transparent;
	cursor: pointer;
	transition:
		background var(--velena-transition),
		color var(--velena-transition),
		border-color var(--velena-transition),
		transform var(--velena-transition);
}

.velena-btn--primary {
	background: var(--color-primary);
	color: var(--color-inverse);
}

.velena-btn--primary:hover {
	background: var(--color-accent-hover);
	color: var(--color-inverse);
	transform: translateY(-1px);
}

.velena-btn--secondary {
	background: transparent;
	color: var(--velena-color-dark);
	border-color: var(--velena-color-border);
}

.velena-btn--secondary:hover {
	border-color: var(--velena-color-accent);
}

.velena-btn--ghost {
	background: transparent;
	color: var(--velena-color-text);
	border-color: transparent;
}

.velena-btn--ghost:hover {
	border-color: var(--velena-color-border);
}

.velena-btn--large {
	padding: 1rem 1.75rem;
	font-size: var(--velena-text-base);
}

.velena-input {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--velena-color-border);
	border-radius: var(--velena-radius-md);
	background: var(--velena-color-bg-elevated);
	font-family: inherit;
	font-size: var(--velena-text-base);
	transition: border-color var(--velena-transition);
}

.velena-input:focus-visible {
	border-color: var(--velena-color-accent);
	outline: none;
}

/* -------------------------------------------------------------------------
   Top bar & header
   ------------------------------------------------------------------------- */
.velena-top-bar {
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	font-size: var(--velena-text-xs);
	letter-spacing: var(--velena-tracking-wide);
	text-transform: uppercase;
}

.velena-top-bar__inner {
	display: flex;
	justify-content: center;
	text-align: center;
	padding-block: var(--velena-space-2);
}

.velena-top-bar__text {
	margin: 0;
}

.velena-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--velena-color-header-glass);
	backdrop-filter: none;
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.velena-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--velena-space-4);
	min-height: var(--velena-header-height);
}

@media (min-width: 960px) {
	.velena-header__inner {
		grid-template-columns: 1fr auto 1fr;
	}
}

.velena-header__brand .custom-logo-link,
.velena-header__title {
	display: block;
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-2xl);
	font-weight: 600;
	text-decoration: none;
	color: var(--velena-color-text);
	text-align: center;
}

.velena-header__brand {
	justify-self: center;
}

@media (min-width: 960px) {
	.velena-header__brand {
		justify-self: start;
	}
}

.velena-header__toggle {
	display: inline-flex;
	border: 0;
	background: transparent;
	padding: var(--velena-space-2);
	cursor: pointer;
}

@media (min-width: 960px) {
	.velena-header__toggle {
		display: none;
	}
}

.velena-header__toggle-bars {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--velena-color-text);
	box-shadow: 0 6px 0 var(--velena-color-text), 0 -6px 0 var(--velena-color-text);
}

.velena-header__nav {
	position: fixed;
	inset: 0;
	top: calc(var(--velena-header-height) + 41px);
	background: var(--velena-color-bg);
	padding: var(--velena-space-6);
	transform: translateX(-100%);
	transition: transform var(--velena-transition-slow);
	z-index: 999;
}

.velena-header__nav.is-open {
	transform: translateX(0);
}

@media (min-width: 960px) {
	.velena-header__nav {
		position: static;
		inset: auto;
		padding: 0;
		transform: none;
		justify-self: center;
	}
}

.velena-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-4);
}

@media (min-width: 960px) {
	.velena-menu {
		flex-direction: row;
		gap: var(--velena-space-8);
	}
}

.velena-menu a {
	text-decoration: none;
	font-size: var(--velena-text-sm);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-text);
}

.velena-menu a:hover,
.velena-menu .current-menu-item > a {
	color: var(--velena-color-accent-dark);
}

.velena-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--velena-space-2);
	justify-self: end;
}

.velena-icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--velena-radius-full);
	color: var(--velena-color-text);
	text-decoration: none;
	transition: background var(--velena-transition);
}

.velena-icon-btn:hover,
.velena-icon-btn:focus-visible {
	background: var(--velena-color-surface);
}

.velena-icon {
	display: block;
}

.velena-header__cart-count {
	position: absolute;
	top: 6px;
	right: 4px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: var(--velena-radius-full);
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

.velena-header__search {
	position: relative;
}

.velena-header__search-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	width: min(92vw, 420px);
	padding: var(--velena-space-4);
	background: var(--velena-color-bg-elevated);
	border: 1px solid var(--velena-color-border-subtle);
	border-radius: var(--velena-radius-lg);
	box-shadow: var(--velena-shadow-md);
	z-index: 50;
}

.velena-header__search-panel[hidden] {
	display: none;
}

.velena-product-search {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-3);
}

.velena-product-search__submit {
	width: 100%;
}

/* -------------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------------- */
.velena-hero {
	position: relative;
	min-height: min(78vh, 720px);
	display: flex;
	align-items: flex-end;
	padding-block: var(--velena-space-24) var(--velena-space-16);
	overflow: hidden;
	background-color: var(--velena-color-surface);
	background-image: var(--velena-hero-image, var(--velena-gradient-hero));
	background-size: cover;
	background-position: center;
}

.velena-hero__overlay {
	position: absolute;
	inset: 0;
	background: transparent;
	pointer-events: none;
}

.velena-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 640px;
	color: var(--velena-color-inverse);
}

.velena-hero .velena-eyebrow {
	color: var(--velena-color-inverse-88);
}

.velena-hero__title {
	font-size: var(--velena-text-5xl);
	margin: 0 0 var(--velena-space-5);
	color: var(--velena-color-inverse);
}

.velena-hero__subtitle {
	font-size: var(--velena-text-lg);
	line-height: var(--velena-leading-snug);
	margin: 0 0 var(--velena-space-8);
	color: var(--velena-color-inverse-92);
}

.velena-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-4);
}

.velena-hero .velena-btn--primary {
	background: var(--velena-color-inverse);
	color: var(--velena-color-dark);
}

.velena-hero .velena-btn--primary:hover {
	background: var(--velena-color-accent-soft);
	color: var(--velena-color-dark);
}

.velena-hero .velena-btn--ghost {
	color: var(--velena-color-inverse);
	border-color: var(--velena-color-inverse-35);
}

/* -------------------------------------------------------------------------
   Catégories
   ------------------------------------------------------------------------- */
.velena-cat-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--velena-space-4);
}

@media (min-width: 768px) {
	.velena-cat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--velena-space-6);
	}
}

@media (min-width: 1100px) {
	.velena-cat-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.velena-cat-card__link {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-4);
	text-decoration: none;
	color: inherit;
}

.velena-cat-card__media {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--velena-color-surface);
	border: 1px solid var(--velena-color-border-subtle);
	box-shadow: none;
	transition:
		transform var(--velena-transition),
		box-shadow var(--velena-transition);
}

.velena-cat-card__link:hover .velena-cat-card__media,
.velena-cat-card__link:focus-visible .velena-cat-card__media {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(36, 33, 36, 0.08);
}

.velena-cat-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.velena-cat-card__placeholder {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	background: var(--velena-color-surface);
}

.velena-cat-card__placeholder-mark {
	display: block;
	width: 34%;
	height: 34%;
	border: 1px solid var(--velena-color-accent-soft);
	border-radius: 50% 50% 45% 45%;
	transform: rotate(-18deg);
}

.velena-cat-card__title {
	font-family: var(--velena-font-display);
	font-size: clamp(1rem, 2vw, var(--velena-text-xl));
	text-align: center;
	color: var(--velena-color-text);
}

.velena-cat-card__count {
	display: block;
	margin-top: -0.5rem;
	color: var(--velena-color-text-muted);
	font-size: var(--velena-text-xs);
	text-align: center;
}

@media (min-width: 768px) {
	.velena-cat-grid.velena-cat-grid--boutique {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

@media (min-width: 1024px) {
	.velena-cat-grid.velena-cat-grid--boutique {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.75rem;
	}
}

@media (max-width: 767px) {
	.velena-cat-grid.velena-cat-grid--boutique {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	.velena-cat-card__link {
		gap: 0.65rem;
	}

	.velena-cat-card__media {
		aspect-ratio: 4 / 5;
	}
}

/* -------------------------------------------------------------------------
   Onglets produits
   ------------------------------------------------------------------------- */
.velena-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-2);
	margin-bottom: var(--velena-space-8);
	border-bottom: 1px solid var(--velena-color-border-subtle);
	padding-bottom: var(--velena-space-2);
}

.velena-tabs__tab {
	border: 0;
	background: transparent;
	padding: var(--velena-space-3) var(--velena-space-4);
	font-family: inherit;
	font-size: var(--velena-text-sm);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-text-muted);
	cursor: pointer;
	border-radius: var(--velena-radius-sm);
	transition:
		color var(--velena-transition),
		background var(--velena-transition);
}

.velena-tabs__tab[aria-selected="true"] {
	color: var(--velena-color-text);
	background: var(--velena-color-surface);
}

.velena-tabs__tab:focus-visible {
	outline: 2px solid var(--velena-color-accent);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   Grille produits WooCommerce
   ------------------------------------------------------------------------- */
.velena-products-grid.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--velena-space-6);
}

@media (min-width: 768px) {
	.velena-products-grid.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.velena-products-grid.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.velena-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.velena-product-card .woocommerce-loop-product__link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-3);
}

.velena-product-card .woocommerce-loop-product__title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-xl);
	font-weight: 500;
	margin: 0;
	order: 2;
}

.velena-product-card .price {
	order: 3;
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
}

.velena-product-card .woocommerce-loop-product__link img {
	order: 1;
	border-radius: var(--velena-radius-md);
	background: var(--velena-color-bg-elevated);
	transition: transform var(--velena-transition);
}

.velena-product-card:hover img {
	transform: translateY(-3px);
}

.velena-product-card .button,
.velena-product-card .add_to_cart_button {
	order: 4;
	align-self: center;
	margin-top: var(--velena-space-3);
	background: transparent;
	border: 1px solid var(--velena-color-border);
	color: var(--velena-color-text);
	border-radius: var(--velena-radius-full);
	padding: 0.65rem 1.25rem;
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	cursor: pointer;
	transition:
		background var(--velena-transition),
		border-color var(--velena-transition);
}

.velena-product-card .button:hover {
	border-color: var(--velena-color-accent);
	background: var(--velena-color-surface);
}

.velena-product-card .price ins,
.woocommerce div.product p.price ins {
	color: var(--velena-color-accent-dark);
	text-decoration: none;
	font-weight: 600;
}

.velena-product-card .price del,
.woocommerce div.product p.price del {
	color: var(--velena-color-text-muted);
	opacity: 0.75;
}

.velena-product-card .onsale {
	position: absolute;
	top: var(--velena-space-3);
	left: var(--velena-space-3);
	background: var(--color-highlight);
	color: var(--color-inverse);
	font-size: var(--velena-text-xs);
	padding: 0.35rem 0.65rem;
	border-radius: var(--velena-radius-sm);
}

.velena-product-card .woocommerce-LoopProduct-link {
	position: relative;
}

/* -------------------------------------------------------------------------
   Marque / storytelling
   ------------------------------------------------------------------------- */
.velena-brand__grid {
	display: grid;
	gap: var(--velena-space-10);
	align-items: center;
}

@media (min-width: 960px) {
	.velena-brand__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--velena-space-16);
	}
}

.velena-brand__media {
	border-radius: var(--velena-radius-lg);
	overflow: hidden;
	box-shadow: var(--velena-shadow-soft);
}

.velena-brand__placeholder {
	aspect-ratio: 4 / 5;
	background: var(--velena-gradient-soft);
}

.velena-brand__content .velena-heading-2 {
	margin-bottom: var(--velena-space-6);
}

/* -------------------------------------------------------------------------
   Social proof / témoignage / réassurance
   ------------------------------------------------------------------------- */
.velena-social-proof__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--velena-space-6);
	text-align: center;
}

@media (max-width: 767px) {
	.velena-social-proof__list {
		grid-template-columns: 1fr;
		gap: var(--velena-space-8);
	}
}

.velena-social-proof__value {
	display: block;
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-3xl);
	font-weight: 500;
	color: var(--velena-color-text);
}

.velena-social-proof__label {
	display: block;
	margin-top: var(--velena-space-2);
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
}

.velena-testimonial__inner {
	max-width: 880px;
	margin-inline: auto;
}

.velena-testimonial__card {
	display: grid;
	gap: var(--velena-space-8);
	align-items: center;
	padding: var(--velena-space-10);
	border-radius: var(--velena-radius-lg);
	background: var(--velena-color-bg-elevated);
	box-shadow: var(--velena-shadow-sm);
	border: 1px solid var(--velena-color-border-subtle);
}

@media (min-width: 768px) {
	.velena-testimonial__card {
		grid-template-columns: auto 1fr;
		padding: var(--velena-space-12);
	}
}

.velena-testimonial__photo img {
	width: 96px;
	height: 96px;
	border-radius: var(--velena-radius-full);
	object-fit: cover;
}

.velena-testimonial__quote {
	margin: 0;
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-2xl);
	line-height: var(--velena-leading-snug);
}

.velena-testimonial__quote p {
	margin: 0;
}

.velena-testimonial__meta {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-1);
	margin-top: var(--velena-space-6);
	font-style: normal;
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
}

.velena-testimonial__author {
	font-weight: 600;
	color: var(--velena-color-text);
	font-style: normal;
}

.velena-reassurance__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--velena-space-8);
}

@media (min-width: 768px) {
	.velena-reassurance__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--velena-space-6);
	}
}

.velena-reassurance__item {
	padding: var(--velena-space-6);
	border-radius: var(--velena-radius-md);
	border: 1px solid var(--velena-color-border-subtle);
	background: var(--velena-color-bg-elevated);
}

.velena-reassurance__icon {
	display: flex;
	color: var(--velena-color-accent-dark);
	margin-bottom: var(--velena-space-4);
}

.velena-reassurance__title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-xl);
	margin: 0 0 var(--velena-space-2);
}

.velena-reassurance__text {
	margin: 0;
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
}

/* -------------------------------------------------------------------------
   Blog
   ------------------------------------------------------------------------- */
.velena-blog-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--velena-space-8);
}

@media (min-width: 768px) {
	.velena-blog-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.velena-blog-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	border-radius: var(--velena-radius-lg);
	overflow: hidden;
	background: var(--velena-color-bg-elevated);
	border: 1px solid var(--velena-color-border-subtle);
	transition:
		transform var(--velena-transition),
		box-shadow var(--velena-transition);
}

.velena-blog-card__link:hover {
	transform: translateY(-4px);
	box-shadow: var(--velena-shadow-md);
}

.velena-blog-card__media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--velena-color-surface);
}

.velena-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.velena-blog-card__placeholder {
	width: 100%;
	height: 100%;
	background: var(--velena-gradient-soft);
}

.velena-blog-card__body {
	padding: var(--velena-space-6);
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-2);
	flex: 1;
}

.velena-blog-card__meta {
	margin: 0;
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-text-muted);
}

.velena-blog-card__title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-2xl);
	margin: 0;
}

.velena-blog-card__excerpt {
	margin: 0;
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
	flex: 1;
}

.velena-blog-card__cta {
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	margin-top: var(--velena-space-4);
	color: var(--velena-color-accent-dark);
}

/* newsletter */
.velena-newsletter__card {
	display: grid;
	gap: var(--velena-space-8);
	padding: var(--velena-space-10);
	border-radius: var(--velena-radius-lg);
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	align-items: center;
}

@media (min-width: 960px) {
	.velena-newsletter__card {
		grid-template-columns: 1fr 1fr;
		padding: var(--velena-space-12);
	}
}

.velena-newsletter__card .velena-heading-2 {
	color: var(--velena-color-inverse);
	margin-bottom: var(--velena-space-4);
}

.velena-newsletter__subtitle {
	margin: 0;
	opacity: 0.85;
	font-size: var(--velena-text-lg);
}

.velena-newsletter__hint {
	font-size: var(--velena-text-xs);
	opacity: 0.75;
	margin-top: var(--velena-space-4);
}

.velena-newsletter__embed input[type="email"],
.velena-newsletter__embed input[type="text"] {
	width: 100%;
	padding: 0.85rem 1rem;
	border-radius: var(--velena-radius-md);
	border: 1px solid rgba(250, 248, 245, 0.25);
	background: rgba(250, 248, 245, 0.08);
	color: var(--velena-color-inverse);
	margin-bottom: var(--velena-space-3);
}

.velena-newsletter .velena-btn--primary {
	background: var(--velena-color-inverse);
	color: var(--velena-color-dark);
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.velena-footer {
	padding-block: var(--velena-space-16) var(--velena-space-10);
	background: var(--velena-color-bg-elevated);
	border-top: 1px solid var(--velena-color-border-subtle);
}

.velena-footer__grid {
	display: grid;
	gap: var(--velena-space-10);
}

@media (min-width: 960px) {
	.velena-footer__grid {
		grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr));
		gap: var(--velena-space-8);
		align-items: start;
	}
}

.velena-footer__tagline {
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
	max-width: 280px;
}

.velena-social {
	list-style: none;
	margin: var(--velena-space-6) 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-4);
}

.velena-social__link {
	font-size: var(--velena-text-sm);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.velena-social__link:hover {
	border-color: var(--velena-color-accent);
}

.velena-widget__title {
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	margin: 0 0 var(--velena-space-4);
}

.velena-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-3);
	font-size: var(--velena-text-sm);
}

.velena-footer-list a {
	text-decoration: none;
	color: var(--velena-color-text-muted);
}

.velena-footer-list a:hover {
	color: var(--velena-color-text);
}

.velena-footer__bottom {
	margin-top: var(--velena-space-12);
	padding-top: var(--velena-space-8);
	border-top: 1px solid var(--velena-color-border-subtle);
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-4);
	align-items: flex-start;
}

@media (min-width: 768px) {
	.velena-footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

.velena-footer__copy {
	margin: 0;
	font-size: var(--velena-text-xs);
	color: var(--velena-color-text-muted);
}

.velena-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-4);
	font-size: var(--velena-text-xs);
}

.velena-footer__legal a {
	text-decoration: none;
	color: var(--velena-color-text-muted);
}

/* -------------------------------------------------------------------------
   Archives blog / pages
   ------------------------------------------------------------------------- */
.velena-post-list {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-8);
}

.velena-post-card__link {
	display: grid;
	gap: var(--velena-space-6);
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid var(--velena-color-border-subtle);
	padding-bottom: var(--velena-space-8);
}

@media (min-width: 768px) {
	.velena-post-card__link {
		grid-template-columns: 280px 1fr;
		align-items: start;
	}
}

.velena-post-card__media {
	border-radius: var(--velena-radius-md);
	overflow: hidden;
	background: var(--velena-color-surface);
}

.velena-post-card__title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-3xl);
	margin: 0 0 var(--velena-space-3);
}

.velena-pagination {
	display: flex;
	justify-content: center;
	gap: var(--velena-space-4);
	margin-top: var(--velena-space-10);
}

.velena-pagination a,
.velena-pagination span {
	padding: var(--velena-space-2) var(--velena-space-4);
	border-radius: var(--velena-radius-sm);
	text-decoration: none;
	color: var(--velena-color-text);
	border: 1px solid var(--velena-color-border);
}

.velena-pagination .current {
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	border-color: var(--velena-color-dark);
}

/* -------------------------------------------------------------------------
   WooCommerce — boutique & fiche
   ------------------------------------------------------------------------- */
.velena-shop {
	padding-block: var(--velena-space-10);
}

.velena-shop-header {
	padding-bottom: var(--velena-space-8);
}

.velena-breadcrumb {
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	margin-bottom: var(--velena-space-6);
	color: var(--velena-color-text-muted);
}

.velena-breadcrumb a {
	text-decoration: none;
	color: var(--velena-color-text-muted);
}

.velena-breadcrumb a:hover {
	color: var(--velena-color-text);
}

.woocommerce .woocommerce-ordering select {
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	border: 1px solid var(--velena-color-border);
	border-radius: var(--velena-radius-sm);
	background: var(--velena-color-bg-elevated);
	font-family: inherit;
}

.woocommerce ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--velena-space-8);
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.woocommerce div.product {
	display: grid;
	gap: var(--velena-space-10);
	padding-top: var(--velena-space-4);
}

@media (min-width: 960px) {
	.woocommerce div.product {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		align-items: start;
		gap: var(--velena-space-12);
	}
}

.woocommerce div.product .woocommerce-product-gallery {
	margin-bottom: 0;
}

.woocommerce div.product .summary {
	padding-top: 0;
}

.woocommerce div.product .product_title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-4xl);
	margin: 0 0 var(--velena-space-4);
}

.woocommerce div.product p.price {
	font-size: var(--velena-text-xl);
	color: var(--velena-color-text-muted);
	margin-bottom: var(--velena-space-6);
}

.woocommerce div.product form.cart {
	margin-top: var(--velena-space-6);
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-4);
}

.woocommerce div.product .quantity .qty {
	padding: 0.65rem;
	border-radius: var(--velena-radius-sm);
	border: 1px solid var(--velena-color-border);
}

.woocommerce div.product .single_add_to_cart_button {
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	border: 0;
	border-radius: var(--velena-radius-full);
	padding: 1rem 1.75rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--velena-transition);
}

.woocommerce div.product .single_add_to_cart_button:hover {
	background: var(--velena-color-accent-dark);
}

.woocommerce div.product table.variations select {
	width: 100%;
	padding: 0.65rem;
	border-radius: var(--velena-radius-sm);
	border: 1px solid var(--velena-color-border);
}

.woocommerce-tabs {
	margin-top: var(--velena-space-16);
	border-top: 1px solid var(--velena-color-border-subtle);
	padding-top: var(--velena-space-8);
}

.woocommerce-tabs ul.tabs {
	list-style: none;
	display: flex;
	gap: var(--velena-space-6);
	padding: 0;
	margin: 0 0 var(--velena-space-6);
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding-bottom: var(--velena-space-4);
	text-decoration: none;
	font-size: var(--velena-text-sm);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-text-muted);
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--velena-color-text);
	border-bottom: 2px solid var(--velena-color-dark);
}

.related.products > h2,
.upsells.products > h2 {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-3xl);
	margin-bottom: var(--velena-space-8);
}

/* Stock */
.woocommerce div.product .stock {
	font-size: var(--velena-text-sm);
	color: var(--velena-color-accent-dark);
}

/* Panier / checkout / compte */
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order-table {
	border-collapse: collapse;
	width: 100%;
	font-size: var(--velena-text-sm);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: var(--velena-space-4);
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.woocommerce .cart-collaterals .cart_totals {
	background: var(--velena-color-bg-elevated);
	border: 1px solid var(--velena-color-border-subtle);
	border-radius: var(--velena-radius-lg);
	padding: var(--velena-space-6);
}

.woocommerce-checkout #payment {
	background: var(--velena-color-surface);
	border-radius: var(--velena-radius-md);
	padding: var(--velena-space-4);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: var(--velena-space-4) var(--velena-space-5);
	border-radius: var(--velena-radius-md);
	margin-bottom: var(--velena-space-6);
	font-size: var(--velena-text-sm);
	border-left: 3px solid var(--velena-color-accent-dark);
	background: var(--velena-color-bg-elevated);
}

.woocommerce-error {
	border-left-color: var(--velena-color-error-text);
	background: var(--velena-color-error-bg);
}

/* Compte */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--velena-space-8);
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-3);
}

.woocommerce-MyAccount-navigation a {
	text-decoration: none;
	font-size: var(--velena-text-sm);
	padding: var(--velena-space-2) var(--velena-space-4);
	border-radius: var(--velena-radius-full);
	border: 1px solid var(--velena-color-border);
	display: inline-block;
}

.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--velena-color-dark);
	color: var(--velena-color-inverse);
	border-color: var(--velena-color-dark);
}

/* Etats vides */
.velena-empty,
.velena-empty-state {
	text-align: center;
	color: var(--velena-color-text-muted);
}

.velena-error__inner {
	text-align: center;
	padding-block: var(--velena-space-16);
}

.velena-error__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--velena-space-4);
	margin-top: var(--velena-space-8);
}

/* =========================================================================
   Velena V2 — homepage boutique (rythme proche vitrine bijoux, DA féminine)
   ========================================================================= */

.velena-front--v2 .velena-section--collection {
	background: var(--velena-color-bg-elevated);
}

.velena-front--v2 .velena-section--featured {
	background: var(--velena-color-bg-2);
}

.velena-front--v2 .velena-section--brand {
	background: var(--velena-color-bg-elevated);
}

.velena-front--v2 .velena-section--testimonials {
	background: var(--velena-color-bg);
}

.velena-front--v2 .velena-section--services {
	background: var(--velena-color-bg-elevated);
}

.velena-front--v2 .velena-section--editorial {
	background: var(--velena-color-bg-2);
}

.velena-front--v2 .velena-section--newsletter {
	padding-block: var(--velena-space-20);
}

/* Top bar — 3 puces */
.velena-top-bar {
	background: var(--velena-color-topbar);
	color: var(--velena-color-inverse);
	font-size: var(--velena-text-xs);
	border-bottom: 1px solid rgba(255, 252, 250, 0.08);
}

.velena-top-bar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--velena-space-3) var(--velena-space-6);
	padding-block: var(--velena-space-3);
}

@media (min-width: 960px) {
	.velena-top-bar__inner {
		justify-content: space-between;
	}
}

.velena-top-bar__lang {
	flex-shrink: 0;
}

.velena-top-bar__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--velena-space-6) var(--velena-space-10);
	text-align: center;
}

.velena-top-bar__chip {
	position: relative;
	margin: 0;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.92;
}

.velena-top-bar__chip::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: var(--velena-space-2);
	border-radius: 50%;
	background: var(--velena-color-accent-soft);
	vertical-align: middle;
}

@media (min-width: 960px) {
	.velena-top-bar__chips {
		justify-content: flex-start;
		flex: 1;
	}
}

/* Sélecteur de langue FR / EN */
.velena-lang-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--velena-text-xs);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.velena-top-bar .velena-lang-switcher {
	color: rgba(255, 252, 250, 0.85);
}

.velena-header__actions .velena-lang-switcher {
	color: var(--velena-color-text-muted);
	margin-right: var(--velena-space-1);
}

.velena-lang-switcher__link {
	text-decoration: none;
	color: inherit;
	opacity: 0.65;
	padding: 0.2rem 0.35rem;
	border-radius: var(--velena-radius-sm);
	transition: opacity var(--velena-transition), color var(--velena-transition);
}

.velena-lang-switcher__link:hover,
.velena-lang-switcher__link.is-active {
	opacity: 1;
	color: var(--velena-color-gold);
}

.velena-top-bar .velena-lang-switcher__link.is-active {
	color: var(--velena-color-gold-soft);
}

.velena-lang-switcher__sep {
	opacity: 0.4;
	user-select: none;
}

@media (min-width: 960px) {
	.velena-top-bar ~ .velena-header .velena-header__actions > .velena-lang-switcher {
		display: none;
	}
}

@media (max-width: 959px) {
	.velena-top-bar__lang {
		display: none;
	}
}

/* Header boutique */
.velena-header {
	background: var(--velena-color-header-glass);
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.velena-header__accent {
	height: 3px;
	background: var(--velena-color-accent-soft);
	opacity: 0.85;
}

.velena-wordmark {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: inherit;
	gap: 2px;
}

.velena-wordmark__name {
	font-family: var(--velena-font-display);
	font-size: clamp(1.85rem, 4vw, 2.35rem);
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--velena-color-text);
	line-height: 1;
}

.velena-wordmark__tagline {
	font-size: var(--velena-text-xs);
	letter-spacing: var(--velena-tracking-wide);
	text-transform: uppercase;
	color: var(--velena-color-rose-deep);
}

.velena-header__logo-wrap .custom-logo-link {
	display: flex;
	justify-content: center;
}

@media (min-width: 960px) {
	.velena-header__brand {
		justify-self: start;
	}

	.velena-wordmark {
		align-items: flex-start;
	}
}

.velena-search-panel__hint {
	margin: 0 0 var(--velena-space-3);
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-xl);
	color: var(--velena-color-text-soft);
}

/* Section kickers */
.velena-section-kicker {
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-accent-dark);
	margin: 0 0 var(--velena-space-3);
}

.velena-section-head--boutique {
	text-align: center;
	max-width: 720px;
	margin: 0 auto var(--velena-space-12);
}

.velena-section-head--boutique .velena-heading-2 {
	margin-bottom: var(--velena-space-4);
}

/* Hero split */
.velena-hero--boutique {
	position: relative;
	min-height: auto;
	padding-block: var(--velena-space-16) var(--velena-space-20);
	background: var(--velena-color-bg);
	color: var(--velena-color-text);
	overflow: hidden;
}

.velena-hero--boutique .velena-hero__overlay {
	background: transparent;
}

.velena-hero__glow {
	position: absolute;
	width: 55vw;
	height: 55vw;
	max-width: 620px;
	max-height: 620px;
	top: -18%;
	right: -8%;
	background: transparent;
	pointer-events: none;
}

.velena-hero__layout {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--velena-space-12);
	align-items: center;
}

@media (min-width: 960px) {
	.velena-hero__layout {
		grid-template-columns: 1fr 0.95fr;
		gap: var(--velena-space-16);
	}
}

.velena-hero__pill {
	display: inline-block;
	margin: 0 0 var(--velena-space-4);
	padding: 0.4rem 0.9rem;
	border-radius: var(--velena-radius-full);
	background: rgba(255, 252, 250, 0.85);
	border: 1px solid var(--velena-color-border-subtle);
	font-size: var(--velena-text-xs);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--velena-color-accent-dark);
	box-shadow: var(--velena-shadow-sm);
}

.velena-hero--boutique .velena-hero__title {
	color: var(--velena-color-text);
	font-size: var(--velena-text-5xl);
	margin-bottom: var(--velena-space-4);
}

.velena-hero__romantic {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-2xl);
	font-style: italic;
	color: var(--velena-color-rose-deep);
	margin: 0 0 var(--velena-space-5);
	line-height: var(--velena-leading-snug);
}

.velena-hero--boutique .velena-hero__subtitle {
	color: var(--velena-color-text-soft);
	font-size: var(--velena-text-lg);
	max-width: 34rem;
	margin-bottom: var(--velena-space-8);
}

.velena-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-4);
}

.velena-btn--outline {
	background: transparent;
	color: var(--velena-color-warm-dark);
	border: 1px solid var(--velena-color-border);
}

.velena-btn--outline:hover {
	border-color: var(--velena-color-gold);
	background: rgba(255, 252, 250, 0.8);
}

.velena-btn--shine {
	box-shadow: 0 8px 28px rgba(45, 35, 30, 0.12);
}

.velena-hero__visual {
	display: flex;
	justify-content: center;
}

.velena-hero__frame {
	position: relative;
	width: 100%;
	max-width: 460px;
	border-radius: var(--velena-radius-xl);
	overflow: hidden;
	box-shadow: var(--velena-shadow-card);
	background: var(--velena-color-bg-elevated);
	aspect-ratio: 4 / 5;
}

.velena-hero__frame-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.velena-hero__frame-placeholder {
	width: 100%;
	height: 100%;
	background: var(--velena-color-surface);
}

.velena-hero__spark {
	position: absolute;
	width: 120px;
	height: 120px;
	bottom: 8%;
	left: 8%;
	border-radius: 50%;
	background: transparent;
	opacity: 0.7;
}

/* Catégories */
.velena-cat-grid--boutique {
	gap: var(--velena-space-5);
}

@media (min-width: 768px) {
	.velena-cat-grid--boutique {
		gap: var(--velena-space-6);
	}
}

.velena-cat-card__link {
	text-align: center;
}

.velena-cat-grid--boutique .velena-cat-card__media {
	border-radius: var(--velena-radius-lg);
	border: 1px solid var(--velena-color-border-subtle);
	box-shadow: var(--velena-shadow-sm);
}

.velena-cat-card__shine {
	position: absolute;
	inset: 0;
	background: transparent;
	opacity: 0;
	transition: opacity var(--velena-transition-slow);
	pointer-events: none;
}

.velena-cat-card__media {
	position: relative;
}

.velena-cat-card__link:hover .velena-cat-card__shine {
	opacity: 1;
}

.velena-cat-card__title {
	font-size: var(--velena-text-2xl);
	margin-top: var(--velena-space-4);
}

.velena-cat-card__count {
	display: block;
	margin-top: var(--velena-space-2);
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text-muted);
	letter-spacing: 0.04em;
}

/* Produits phares */
.velena-featured__head {
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-6);
	margin-bottom: var(--velena-space-10);
	padding-bottom: var(--velena-space-6);
	border-bottom: 1px solid rgba(58, 50, 46, 0.08);
}

@media (min-width: 768px) {
	.velena-featured__head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

.velena-tabs--boutique .velena-tabs__list {
	border-bottom: none;
	gap: var(--velena-space-2);
	margin-bottom: var(--velena-space-10);
	justify-content: center;
	flex-wrap: wrap;
}

.velena-tabs--boutique .velena-tabs__tab {
	padding: 0.65rem 1.15rem;
	border-radius: var(--velena-radius-full);
	background: rgba(255, 252, 250, 0.75);
	border: 1px solid var(--velena-color-border-subtle);
	color: var(--velena-color-text-soft);
}

.velena-tabs--boutique .velena-tabs__tab[aria-selected="true"] {
	background: var(--velena-color-warm-dark);
	color: var(--velena-color-inverse);
	border-color: var(--velena-color-warm-dark);
	box-shadow: var(--velena-shadow-sm);
}

.velena-text-link--gold {
	border-color: color-mix(in srgb, var(--velena-color-accent) 45%, transparent);
}

.velena-products-grid--boutique {
	gap: var(--velena-space-5) var(--velena-space-6);
}

.velena-products-grid--boutique .velena-product-card {
	background: var(--velena-color-bg-elevated);
	border-radius: var(--velena-radius-lg);
	border: 1px solid var(--velena-color-border-subtle);
	padding: var(--velena-space-4);
	box-shadow: var(--velena-shadow-sm);
	transition:
		transform var(--velena-transition),
		box-shadow var(--velena-transition);
}

.velena-products-grid--boutique .velena-product-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--velena-shadow-md);
}

.velena-products-grid--boutique .velena-product-card img {
	border-radius: var(--velena-radius-md);
}

.velena-products-grid--boutique .velena-product-card .button {
	background: transparent;
	border-color: var(--velena-color-gold);
	color: var(--velena-color-accent-dark);
}

.velena-products-grid--boutique .velena-product-card .button:hover {
	background: var(--velena-color-champagne);
}

/* Marque */
.velena-brand__grid--boutique {
	gap: var(--velena-space-12);
}

.velena-brand__media-inner {
	border-radius: var(--velena-radius-xl);
	overflow: hidden;
	box-shadow: var(--velena-shadow-card);
	border: 1px solid var(--velena-color-border-subtle);
}

.velena-brand__ribbon {
	position: absolute;
	width: 40%;
	height: 3px;
	bottom: -14px;
	left: 12%;
	background: var(--velena-color-accent-soft);
	border-radius: var(--velena-radius-full);
}

.velena-brand__media {
	position: relative;
}

.prose--brand,
.velena-prose--brand {
	font-size: var(--velena-text-base);
	color: var(--velena-color-text-soft);
}

/* Témoignages grille */
.velena-testimonials__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--velena-space-6);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.velena-testimonials__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1100px) {
	.velena-testimonials__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.velena-testimonial-card {
	position: relative;
	padding: var(--velena-space-8) var(--velena-space-6);
	background: var(--velena-color-bg-elevated);
	border-radius: var(--velena-radius-lg);
	border: 1px solid var(--velena-color-border-subtle);
	box-shadow: var(--velena-shadow-sm);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.velena-testimonial-card__quote-icon {
	font-family: var(--velena-font-display);
	font-size: 3rem;
	line-height: 1;
	color: var(--velena-color-gold-soft);
	opacity: 0.55;
	margin-bottom: var(--velena-space-2);
}

.velena-testimonial-card__quote {
	margin: 0;
	flex: 1;
}

.velena-testimonial-card__quote p {
	margin: 0;
	font-size: var(--velena-text-base);
	line-height: var(--velena-leading-normal);
	color: var(--velena-color-text-soft);
}

.velena-testimonial-card__footer {
	margin-top: var(--velena-space-6);
	padding-top: var(--velena-space-4);
	border-top: 1px solid var(--velena-color-border-subtle);
}

.velena-testimonial-card__name {
	display: block;
	font-style: normal;
	font-weight: 600;
	font-size: var(--velena-text-sm);
	color: var(--velena-color-text);
}

.velena-testimonial-card__detail {
	font-size: var(--velena-text-xs);
	color: var(--velena-color-text-muted);
}

/* Réassurance */
.velena-reassurance__grid--boutique {
	gap: var(--velena-space-5);
}

@media (min-width: 900px) {
	.velena-reassurance__grid--boutique {
		grid-template-columns: repeat(4, 1fr);
	}
}

.velena-reassurance__grid--boutique .velena-reassurance__item {
	min-height: 100%;
	background: var(--velena-color-bg-elevated);
}

/* Blog éditorial */
.velena-section-head--editorial .velena-section-kicker {
	color: var(--velena-color-rose-deep);
}

.velena-blog-grid--editorial .velena-blog-card__link {
	border-radius: var(--velena-radius-xl);
	border: 1px solid var(--velena-color-border-subtle);
	background: var(--velena-color-bg-elevated);
}

/* Contact strip */
.velena-contact-strip {
	background: var(--velena-color-warm-dark);
	color: var(--velena-color-inverse);
	padding-block: var(--velena-space-10);
}

.velena-contact-strip__inner {
	text-align: center;
}

.velena-contact-strip__intro {
	margin: 0 0 var(--velena-space-6);
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-2xl);
	opacity: 0.95;
}

.velena-contact-strip__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--velena-space-5);
	align-items: center;
}

@media (min-width: 768px) {
	.velena-contact-strip__list {
		flex-direction: row;
		justify-content: center;
		gap: var(--velena-space-12);
	}
}

.velena-contact-strip__label {
	display: block;
	font-size: var(--velena-text-xs);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	opacity: 0.65;
	margin-bottom: var(--velena-space-1);
}

.velena-contact-strip__value {
	font-size: var(--velena-text-lg);
	color: var(--velena-color-inverse);
	text-decoration: none;
	border-bottom: 1px solid var(--velena-color-inverse-35);
}

.velena-contact-strip__value:hover {
	border-color: var(--velena-color-gold-soft);
}

/* Newsletter */
.velena-newsletter__shell {
	position: relative;
	border-radius: var(--velena-radius-xl);
	overflow: hidden;
	box-shadow: var(--velena-shadow-md);
}

.velena-newsletter__pattern {
	position: absolute;
	inset: 0;
	background-image: none;
	background-size: 14px 14px;
	pointer-events: none;
}

.velena-newsletter__card {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--velena-space-10);
	padding: var(--velena-space-12) var(--velena-space-8);
	background: var(--velena-gradient-dark);
	color: var(--velena-color-inverse);
}

@media (min-width: 960px) {
	.velena-newsletter__card {
		grid-template-columns: 1fr 1fr;
		align-items: center;
		padding: var(--velena-space-16);
	}
}

.velena-newsletter__title {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-4xl);
	color: var(--velena-color-inverse);
	margin: 0 0 var(--velena-space-4);
}

.velena-newsletter__subtitle {
	margin: 0;
	opacity: 0.88;
	font-size: var(--velena-text-lg);
	line-height: var(--velena-leading-snug);
}

.velena-section-kicker--on-dark {
	color: var(--velena-color-gold-soft);
	opacity: 0.95;
}

.velena-newsletter__embed input[type="email"],
.velena-newsletter__embed input[type="text"] {
	width: 100%;
	padding: 0.95rem 1.1rem;
	border-radius: var(--velena-radius-md);
	border: 1px solid var(--velena-color-inverse-22);
	background: var(--velena-color-inverse-08);
	color: var(--velena-color-inverse);
	margin-bottom: var(--velena-space-3);
}

.velena-btn--newsletter {
	background: var(--velena-color-accent);
	color: var(--velena-color-warm-dark);
	border: none;
	font-weight: 600;
	width: 100%;
}

.velena-btn--newsletter:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.velena-newsletter__micro {
	margin: var(--velena-space-4) 0 0;
	font-size: var(--velena-text-xs);
	opacity: 0.7;
}

.velena-newsletter__fake-field {
	margin: 0 0 var(--velena-space-4);
	padding: 0.9rem 1rem;
	border-radius: var(--velena-radius-md);
	border: 1px dashed rgba(255, 252, 250, 0.35);
	color: var(--velena-color-inverse-55);
	font-size: var(--velena-text-sm);
	text-align: left;
}

.velena-newsletter__fallback {
	margin: 0;
}

/* Footer boutique */
.velena-footer--boutique {
	background: var(--velena-color-footer);
	color: var(--velena-color-inverse-88);
	border-top: none;
}

.velena-footer__top-accent {
	height: 4px;
	background: var(--velena-color-accent);
}

.velena-footer--boutique .velena-widget__title {
	color: var(--velena-color-gold-soft);
}

.velena-footer--boutique .velena-footer-list a,
.velena-footer--boutique .velena-social__link {
	color: var(--velena-color-inverse-78);
	text-decoration: none;
	border-color: transparent;
}

.velena-footer--boutique .velena-footer-list a:hover {
	color: var(--velena-color-inverse);
}

.velena-footer__wordmark a {
	font-family: var(--velena-font-display);
	font-size: var(--velena-text-3xl);
	text-decoration: none;
	color: var(--velena-color-inverse);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.velena-footer--boutique .velena-footer__tagline {
	color: var(--velena-color-inverse-70);
}

.velena-footer__contact-mini {
	margin-top: var(--velena-space-5);
	font-size: var(--velena-text-sm);
}

.velena-footer__contact-mini a {
	color: var(--velena-color-gold-soft);
	text-decoration: none;
}

.velena-footer__contact-mini a:hover {
	text-decoration: underline;
}

.velena-footer--boutique .velena-footer__copy {
	color: var(--velena-color-inverse-55);
}

.velena-footer--boutique .velena-footer__legal a {
	color: rgba(255, 252, 250, 0.6);
}

.velena-footer-cta {
	font-weight: 600;
	color: var(--velena-color-gold-soft);
	text-decoration: none;
}

/* Newsletter — formulaire natif */
.velena-newsletter__native {
	display: flex;
	flex-wrap: wrap;
	gap: var(--velena-space-3);
	align-items: stretch;
}

.velena-newsletter__native .velena-input {
	flex: 1 1 12rem;
	min-width: 0;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(255, 252, 250, 0.25);
	border-radius: var(--velena-radius-full);
	background: rgba(255, 252, 250, 0.08);
	color: var(--velena-color-inverse);
}

.velena-newsletter__native .velena-btn--newsletter {
	background: var(--velena-color-accent);
	color: #ffffff;
	border: 1px solid var(--velena-color-accent);
	filter: none;
}

/* -------------------------------------------------------------------------
   Direction artistique premium — couche publique finale
   ------------------------------------------------------------------------- */
:root {
	--velena-header-height: 72px;
	--velena-transition: 0.2s ease;
}

body {
	background: var(--velena-color-bg);
	color: var(--velena-color-text);
}

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

.velena-section {
	padding-block: clamp(3.75rem, 8vw, 7rem);
}

.velena-section--bordered,
.velena-page-hero,
.velena-page-cta,
.velena-shop-editorial,
.velena-hero--boutique,
.velena-cat-card__placeholder,
.velena-blog-card__placeholder,
.velena-brand__placeholder,
.velena-product-card__media,
.velena-single-product__summary-card p.price {
	background-image: none;
}

.velena-btn {
	min-height: 2.9rem;
	border-radius: 6px;
	letter-spacing: 0.01em;
}

.velena-btn--primary,
.velena-btn--newsletter {
	background: var(--velena-color-accent);
	border-color: var(--velena-color-accent);
	color: #ffffff;
}

.velena-btn--primary:hover,
.velena-btn--newsletter:hover {
	background: var(--velena-color-accent-dark);
	border-color: var(--velena-color-accent-dark);
	color: #ffffff;
	filter: none;
}

.velena-btn--secondary,
.velena-btn--outline,
.velena-btn--ghost {
	background: #ffffff;
	border: 1px solid var(--velena-color-accent-soft);
	border-radius: 6px;
	color: var(--velena-color-accent-dark);
}

.velena-btn--secondary:hover,
.velena-btn--outline:hover,
.velena-btn--ghost:hover {
	background: var(--velena-color-surface);
	border-color: var(--velena-color-accent);
	color: var(--velena-color-accent-dark);
}

.velena-input,
.velena-contact-form input,
.velena-contact-form select,
.velena-contact-form textarea,
.velena-newsletter__native .velena-input {
	min-height: 3rem;
	border: 1px solid var(--velena-color-border);
	border-radius: 5px;
	background: #ffffff;
	color: var(--velena-color-text);
}

.velena-input:focus,
.velena-contact-form input:focus,
.velena-contact-form select:focus,
.velena-contact-form textarea:focus,
.velena-newsletter__native .velena-input:focus {
	border-color: var(--velena-color-accent);
	box-shadow: 0 0 0 3px rgba(183, 154, 200, 0.16);
	outline: 0;
}

.velena-top-bar {
	background: var(--velena-color-topbar);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
}

.velena-top-bar__inner {
	justify-content: space-between;
	padding-block: 0.55rem;
}

.velena-top-bar__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.velena-header {
	background: #ffffff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: 0 1px 0 var(--velena-color-border-subtle);
}

.velena-header__inner {
	min-height: var(--velena-header-height);
}

.velena-wordmark__name,
.velena-header__brand .custom-logo-link,
.velena-header__title {
		color: var(--velena-color-text);
		font-weight: 600;
}

.velena-wordmark__tagline {
	color: var(--velena-color-text-muted);
}

.velena-menu {
	gap: clamp(1rem, 2.5vw, 2rem);
}

.velena-menu a {
	position: relative;
	padding-block: 0.6rem;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
}

.velena-menu a::after {
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 1px;
	background: var(--velena-color-accent);
	content: '';
	transition: right var(--velena-transition);
}

.velena-menu a:hover::after,
.velena-menu .current-menu-item > a::after,
.velena-menu .current_page_item > a::after {
	right: 0;
}

.velena-menu a:hover,
.velena-menu .current-menu-item > a,
.velena-menu .current_page_item > a {
	color: var(--velena-color-accent-dark);
}

.velena-icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 5px;
}

.velena-icon-btn:hover,
.velena-icon-btn:focus-visible {
	background: var(--velena-color-surface);
	color: var(--velena-color-accent-dark);
}

.velena-header__search-panel {
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(36, 33, 36, 0.1);
}

.velena-hero--boutique {
	min-height: 0;
	padding-block: clamp(4.5rem, 10vw, 8rem);
	background: var(--velena-color-bg);
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.velena-hero--boutique .velena-hero__overlay,
.velena-hero__glow,
.velena-hero__spark {
	display: none;
}

.velena-hero__layout {
	grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.8fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
}

.velena-hero__copy {
	max-width: 40rem;
}

.velena-hero__pill {
	display: inline-block;
	margin: 0 0 1.25rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid var(--velena-color-accent-soft);
	border-radius: 4px;
	background: #ffffff;
	color: var(--velena-color-accent-dark);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.velena-hero--boutique .velena-hero__title {
	max-width: 12ch;
	margin-bottom: 1rem;
	color: var(--velena-color-text);
	font-size: clamp(2.5rem, 6vw, 4.8rem);
	line-height: 0.98;
}

.velena-hero__romantic {
	margin: 0 0 1rem;
	color: var(--velena-color-accent-dark);
	font-family: var(--velena-font-display);
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

.velena-hero--boutique .velena-hero__subtitle {
	max-width: 36rem;
	margin-bottom: 2rem;
	color: var(--velena-color-text-muted);
	font-size: 1rem;
}

.velena-hero__frame {
	min-height: 420px;
	border: 1px solid var(--velena-color-border);
	border-radius: 8px;
	background: var(--velena-color-surface);
	box-shadow: 0 18px 45px rgba(36, 33, 36, 0.08);
}

.velena-hero__frame-img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
}

.velena-cat-card__media,
.velena-product-card__inner,
.velena-blog-card__link,
.velena-testimonial__card,
.velena-reassurance__item,
.velena-contact-form,
.velena-contact-card,
.velena-page-values,
.velena-faq__item {
	border-radius: 8px;
	box-shadow: none;
}

.velena-cat-card__media,
.velena-product-card__media,
.velena-blog-card__media {
	background: var(--velena-color-surface);
}

.velena-cat-card__link:hover .velena-cat-card__media,
.velena-cat-card__link:focus-visible .velena-cat-card__media {
	box-shadow: 0 10px 26px rgba(36, 33, 36, 0.08);
}

.velena-section-head__text,
.velena-prose,
.velena-shop-intro {
	color: var(--velena-color-text-muted);
}

.velena-tabs__list {
	gap: 1.5rem;
	border-bottom-color: var(--velena-color-border);
}

.velena-tabs__tab {
	position: relative;
	padding-inline: 0;
	border-radius: 0;
	background: transparent;
}

.velena-tabs__tab::after {
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -0.6rem;
	height: 1px;
	background: var(--velena-color-accent);
	content: '';
	transition: right var(--velena-transition);
}

.velena-tabs__tab[aria-selected="true"] {
	background: transparent;
	color: var(--velena-color-accent-dark);
}

.velena-tabs__tab[aria-selected="true"]::after {
	right: 0;
}

.velena-product-card__inner {
	background: #ffffff;
	border-color: var(--velena-color-border-subtle);
}

.velena-product-card__media {
	border-bottom: 1px solid var(--velena-color-border-subtle);
}

.velena-product-card__media img {
	transition: transform 0.35s ease;
}

.velena-product-card:hover .velena-product-card__media img {
	transform: scale(1.025);
}

.velena-product-card__title,
.velena-product-card .woocommerce-loop-product__title {
	color: var(--velena-color-text);
}

.velena-product-card__price ins,
.velena-product-card .price ins {
	color: var(--velena-color-accent-dark);
}

.velena-product-card__actions .button,
.velena-product-card .button,
.velena-product-card .add_to_cart_button {
	border-radius: 5px !important;
	border-color: var(--velena-color-accent-soft) !important;
	color: var(--velena-color-accent-dark) !important;
}

.velena-product-card__actions .button:hover,
.velena-product-card .button:hover {
	background: var(--velena-color-accent) !important;
	border-color: var(--velena-color-accent) !important;
	color: #ffffff !important;
}

.velena-product-card__badge,
.velena-product-card .onsale {
	border-radius: 4px;
	background: var(--velena-color-accent);
	color: #ffffff;
}

.velena-newsletter__card {
	background: var(--velena-color-text);
	border: 1px solid var(--velena-color-text);
	border-radius: 8px;
}

.velena-newsletter__native .velena-input {
	background: #ffffff;
	color: var(--velena-color-text);
}

.velena-footer--boutique {
	background: var(--velena-color-text);
}

.velena-footer__top-accent {
	height: 1px;
	background: var(--velena-color-accent);
}

.velena-footer--boutique .velena-widget__title,
.velena-footer__contact-mini a,
.velena-footer-cta {
	color: var(--velena-color-accent-soft);
}

@media (max-width: 959px) {
	.velena-header__nav {
		top: var(--velena-header-height);
		background: #ffffff;
		border-top: 1px solid var(--velena-color-border-subtle);
	}

	.velena-menu a {
		display: inline-block;
		font-size: 0.9rem;
	}
}

@media (max-width: 767px) {
	.velena-header__inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.velena-header__brand {
		min-width: 0;
	}

	.velena-wordmark__name {
		font-size: 1.55rem;
	}

	.velena-header__actions {
		gap: 0;
	}

	.velena-container {
		width: min(100% - 2rem, var(--velena-container));
	}

	.velena-top-bar__inner {
		justify-content: center;
	}

	.velena-top-bar__chips {
		justify-content: center;
		gap: 0.25rem 1rem;
		text-align: center;
	}

	.velena-hero--boutique {
		padding-block: 3.5rem 4rem;
	}

	.velena-hero__layout {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.velena-hero--boutique .velena-hero__title {
		font-size: clamp(2.45rem, 13vw, 3.75rem);
	}

	.velena-hero__frame,
	.velena-hero__frame-img {
		min-height: 360px;
	}

	.velena-hero__cta .velena-btn {
		width: 100%;
	}

	.velena-products-grid.products {
		gap: 1rem;
	}

	.velena-product-card__body {
		padding: 0.9rem;
	}

	.velena-product-card__title {
		font-size: 1.05rem;
	}
}
	flex-shrink: 0;
}

/* Notices front */
.velena-notice {
	padding: var(--velena-space-3) 0;
	font-size: var(--velena-text-sm);
	font-weight: 500;
	text-align: center;
}

.velena-notice--success {
	background: var(--velena-color-success-bg);
	color: var(--velena-color-success-text);
}

.velena-notice--error {
	background: var(--velena-color-error-bg);
	color: var(--velena-color-error-text);
}

/* 404 liens utiles */
.velena-error__links {
	text-align: center;
	margin-bottom: var(--velena-space-10);
}

.velena-error__links ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--velena-space-4);
}

.velena-error__links a {
	text-decoration: none;
	font-size: var(--velena-text-sm);
	text-transform: uppercase;
	letter-spacing: var(--velena-tracking-wide);
	color: var(--velena-color-text-muted);
	border-bottom: 1px solid var(--velena-color-border);
}

.velena-error__links a:hover {
	color: var(--velena-color-dark);
}
