:root {
	--latelier-canvas: #fcf4f1;
	--latelier-paper: #fffaf7;
	--latelier-ink: #2d2322;
	--latelier-muted: #7f6d68;
	--latelier-line: #e8d8d1;
	--latelier-highlight: #f5e2dc;
	--latelier-rose: #efc9c5;
	--latelier-sage: #d8e4d7;
	--latelier-butter: #f5e8c4;
	--latelier-peach: #f4d7c7;
	--latelier-accent: #8a5a66;
	--latelier-accent-strong: #744552;
	--latelier-accent-soft: #f7ebe8;
	--latelier-accent-shadow: rgba(138, 90, 102, 0.22);
	--latelier-shadow: 0 18px 48px rgba(76, 49, 39, 0.08);
	--latelier-radius: 26px;
	--latelier-gutter: clamp(1rem, 3vw, 2rem);
	--latelier-shell: min(1180px, calc(100vw - (var(--latelier-gutter) * 2)));
	--wp--style--global--content-size: 1180px;
	--wp--style--global--wide-size: 1180px;
}

:root :where(.is-layout-flow)>* {
	margin-block-start: 0 !important;
}


html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	background: var(--latelier-canvas);
	color: var(--latelier-ink);
	font-family: "Jost", sans-serif;
	margin: 0;
	overflow-x: hidden;
}

a {
	text-underline-offset: 0.18em;
}

.wp-site-blocks {
	padding-top: 0;
	overflow-x: hidden;
}

.wp-site-blocks>* {
	box-sizing: border-box;
	margin: 0 !important;
}


.latelier-utility,
.latelier-header,
.latelier-footer {
	padding-left: var(--latelier-gutter);
	padding-right: var(--latelier-gutter);
}

.latelier-utility {
	border-bottom: 1px solid var(--latelier-line);
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
	font-size: 0.86rem;
}

.latelier-utility__inner,
.latelier-header__inner,
.latelier-footer__top,
.latelier-footer__bottom,
.latelier-page-shell,
.latelier-home,
.latelier-hero,
.latelier-section,
.latelier-value-strip,
.latelier-service-band {
	max-width: var(--latelier-shell);
	margin-left: auto;
	margin-right: auto;
}

.alignwide,
.is-layout-constrained>.alignwide,
.is-layout-flow>.alignwide {
	max-width: var(--latelier-shell);
	margin-left: auto !important;
	margin-right: auto !important;
}

.alignfull,
.is-layout-constrained>.alignfull,
.is-layout-flow>.alignfull {
	width: 100%;
	max-width: none;
}

.latelier-social {
	gap: 0.6rem;
}

.latelier-inline-link {
	margin: 0;
	font-size: 0.82rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.latelier-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
	border-bottom: 1px solid rgba(219, 207, 193, 0.75);
	transition: border-color 0.35s ease;
}

.latelier-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(252, 244, 241, 0.97) 0%, rgba(255, 250, 247, 0.95) 100%);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	z-index: -1;
	opacity: 1;
	transition: opacity 0.35s ease;
}

/* ── Homepage only: header fixed, header transparent ── */

/* Remove WP blockGap margin that creates white space above hero */
body.has-cinematic-hero .wp-block-post-content,
body.has-cinematic-hero .wp-block-post-content>.latelier-home {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

body.has-cinematic-hero .latelier-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	border-bottom-color: transparent;
}

/* Header vraiment transparent au départ — texte blanc */
body.has-cinematic-hero .latelier-header::before {
	opacity: 0;
}

body.has-cinematic-hero .latelier-header.is-scrolled {
	border-bottom-color: rgba(219, 207, 193, 0.75);
}

body.has-cinematic-hero .latelier-header.is-scrolled::before {
	opacity: 1;
}

/* ── Nav items: always clean — strip WP-generated bg/border/radius ── */
.latelier-header .wp-block-navigation .wp-block-navigation-item__content,
.latelier-header .wp-block-navigation a.wp-block-navigation-item__content,
.latelier-header .wp-block-navigation li a,
.latelier-header .wp-block-navigation .has-text-color,
.latelier-header .wp-block-navigation .has-background,
.latelier-header .wp-block-navigation .wp-block-navigation-item,
.latelier-header .wp-block-navigation__container>li {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	padding-left: 0.45rem !important;
	padding-right: 0.45rem !important;
	transition: color 0.45s ease, opacity 0.45s ease !important;
}

/* Underline animation on hover — consistent in both states */
.latelier-header .wp-block-navigation-item__content {
	position: relative;
	margin-top: 0 !important;
}

.latelier-header .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0.45rem;
	right: 0.45rem;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	opacity: 0.6;
}

.latelier-header .wp-block-navigation-item__content:hover::after {
	transform: scaleX(1);
}

/* ── Cinematic hero — transparent state: white text / white logo ── */
body.has-cinematic-hero .latelier-header:not(.is-scrolled) .latelier-logo a,
body.has-cinematic-hero .latelier-header:not(.is-scrolled) .latelier-logo a:visited {
	color: #fff;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-site-logo img {
	filter: brightness(0) invert(1);
	transition: filter 0.45s ease;
}

body.has-cinematic-hero .latelier-header.is-scrolled .wp-block-site-logo img {
	filter: none;
	transition: filter 0.45s ease;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.88) !important;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation-item__content:hover {
	color: #fff !important;
	opacity: 1;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .latelier-header-icon {
	color: rgba(255, 250, 247, 0.88);
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .latelier-header-icon:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
}

/* ── Global header transitions (all pages) ── */
.latelier-header .latelier-logo a,
.latelier-header .wp-block-navigation-item__content,
.latelier-header .latelier-header-icon,
.latelier-header .wp-block-navigation__responsive-container-open,
.latelier-header .wp-block-site-logo img {
	transition: color 0.45s ease, background 0.45s ease, border-color 0.45s ease, opacity 0.45s ease, filter 0.45s ease;
}

.latelier-header__inner {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	gap: clamp(1rem, 2vw, 2rem);
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}

/* Logo : largeur fixe, ne rétrécit pas */
.latelier-header__inner>.wp-block-site-title,
.latelier-header__inner>.wp-block-site-logo,
.latelier-header__inner>.latelier-logo {
	flex: 0 0 auto;
	min-width: 80px;
}

/* Nav : prend tout l'espace central, centré */
.latelier-header__inner>.wp-block-navigation {
	flex: 1 1 0;
	justify-content: center !important;
}

/* Shortcode (actions icons) : collé à droite, même ligne */
.latelier-header__inner>.wp-block-shortcode {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── Header icons: account + cart ── */
.latelier-header-actions {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	flex-shrink: 0;
}

.latelier-header-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	color: var(--latelier-ink);
	text-decoration: none;
	position: relative;
	transition: background 0.2s ease, color 0.35s ease;
	flex-shrink: 0;
}

.latelier-header-icon:hover {
	background: var(--latelier-highlight);
}

.latelier-header-icon svg {
	display: block;
	flex-shrink: 0;
}

.latelier-header-cart__count {
	position: absolute;
	top: 3px;
	right: 3px;
	background: var(--latelier-accent);
	color: #fffaf7;
	font-family: "Jost", sans-serif;
	font-size: 0.6rem;
	font-weight: 600;
	min-width: 15px;
	height: 15px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
	line-height: 1;
}


/* Logged-in indicator dot */
.latelier-header-account.is-logged-in::after {
	content: '';
	position: absolute;
	bottom: 6px;
	right: 6px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #6aad7a;
	border: 1.5px solid var(--latelier-paper);
}

.latelier-logo {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.35rem, 1.9vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 0.95;
	margin: 0;
	max-width: 11ch;
}

/* Site logo image block */
.latelier-header .wp-block-site-logo {
	margin: 0;
	line-height: 0;
}

.latelier-header .wp-block-site-logo img {
	height: 44px;
	width: auto;
	max-width: 160px;
	display: block;
	object-fit: contain;
}

.latelier-header .wp-block-navigation {
	min-width: 0;
	justify-content: flex-end;
}

.latelier-header .wp-block-navigation__container {
	gap: clamp(0.8rem, 1vw, 1.35rem);
}

.latelier-header .wp-block-navigation-item__content,
.latelier-search .wp-block-search__label,
.latelier-footer__list a {
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.latelier-search {
	margin: 0;
	min-width: 220px;
	width: min(100%, 250px);
}

.latelier-header .wp-block-navigation__responsive-container-open,
.latelier-header .wp-block-navigation__responsive-container-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--latelier-line);
	border-radius: 999px;
	background: var(--latelier-paper);
	color: var(--latelier-ink);
}

.latelier-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--latelier-gutter);
	background: rgba(23, 19, 17, 0.28);
	backdrop-filter: blur(6px);
}

.latelier-header .wp-block-navigation__responsive-dialog {
	background: var(--latelier-paper);
	border-radius: 28px;
	padding: 1.1rem;
	box-shadow: var(--latelier-shadow);
}

.latelier-header .wp-block-navigation__responsive-container-content {
	padding-top: 1rem;
}

.latelier-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	align-items: flex-start;
	gap: 0.75rem;
}

.latelier-search .wp-block-search__inside-wrapper {
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 999px;
	padding: 0.35rem 0.35rem 0.35rem 1rem;
}

.latelier-search .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: 0.86rem;
}

.latelier-search .wp-block-search__button {
	margin-left: 0.5rem;
	padding: 0.7rem 1rem;
}

.latelier-home {
	padding-bottom: 4rem;
}

.latelier-hero {
	padding-top: 0;
	padding-bottom: 0;
}

/* ═══════════════════════════════════════════════════════════════
   HERO CINEMATIC — full-bleed 2026
═══════════════════════════════════════════════════════════════ */

.latelier-hero-cinematic {
	position: relative;
	width: 100%;
	min-height: 100svh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

/* Background image */
.latelier-hero-cinematic__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.latelier-hero-cinematic__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	transform: scale(1.1);
	transform-origin: center center;
	transition: transform 2.6s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

.latelier-hero-cinematic__bg img.hero-revealed {
	transform: scale(1);
}

/* Gradient overlay — dark top (header), dark bottom (text), transparent middle */
.latelier-hero-cinematic__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(to bottom,
			rgba(12, 5, 2, 0.45) 0%,
			transparent 22%),
		linear-gradient(to top,
			rgba(18, 9, 5, 0.92) 0%,
			rgba(18, 9, 5, 0.55) 30%,
			rgba(18, 9, 5, 0.15) 55%,
			transparent 100%),
		linear-gradient(to right,
			rgba(18, 9, 5, 0.22) 0%,
			transparent 50%);
}

/* Content block — bottom-left */
.latelier-hero-cinematic__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--latelier-shell);
	margin: 0 auto;
	padding:
		clamp(6rem, 12vw, 10rem) var(--latelier-gutter) clamp(3.5rem, 6vw, 5.5rem);
}

/* Eyebrow */
.latelier-hero-cinematic__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 238, 228, 0.65);
	margin: 0 0 1.4rem;
}

.latelier-hero-cinematic__eyebrow::before {
	content: '';
	display: block;
	width: 36px;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(255, 220, 200, 0.6));
	flex-shrink: 0;
}

/* Title */
.latelier-hero-cinematic__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(4.8rem, 10vw, 11.5rem);
	font-weight: 400;
	line-height: 0.88;
	letter-spacing: -0.03em;
	color: #fffaf7;
	margin: 0 0 1.6rem;
}

.latelier-hero-cinematic__title>span {
	display: block;
	overflow: hidden;
}

.latelier-hero-cinematic__line {
	display: block;
}

.latelier-hero-cinematic__line--italic {
	font-style: italic;
	font-weight: 300;
	color: rgba(255, 220, 195, 0.92);
}

/* Sub */
.latelier-hero-cinematic__sub {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 250, 247, 0.45);
	margin: 0 0 2.25rem;
}

/* Actions */
.latelier-hero-cinematic__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

/* Hero CTA — warm mauve solid on dark bg */
.latelier-button--hero-cta {
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: #fffaf7 !important;
	border-color: rgba(138, 90, 102, 0.8) !important;
	box-shadow: 0 8px 28px rgba(138, 90, 102, 0.45) !important;
}

.latelier-button--hero-cta:hover {
	box-shadow: 0 14px 36px rgba(138, 90, 102, 0.6) !important;
	transform: translateY(-2px);
}

/* Light ghost button for dark backgrounds */
.latelier-button--light,
.latelier-button--light:visited {
	background: rgba(255, 250, 247, 0.1) !important;
	color: rgba(255, 250, 247, 0.88) !important;
	border-color: rgba(255, 250, 247, 0.28) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: none !important;
}

.latelier-button--light:hover {
	background: rgba(255, 250, 247, 0.2) !important;
	color: #fffaf7 !important;
	border-color: rgba(255, 250, 247, 0.5) !important;
	transform: translateY(-2px);
	box-shadow: none !important;
}

/* Scroll indicator */
.latelier-hero-cinematic__scroll {
	position: absolute;
	bottom: 2.5rem;
	right: clamp(1rem, 3vw, 2.5rem);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	opacity: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.latelier-hero-cinematic__scroll {
		animation: heroFadeUp 0.7s ease 2s both;
	}
}

.latelier-hero-cinematic__scroll-line {
	display: block;
	width: 1px;
	height: 52px;
	background: rgba(255, 250, 247, 0.18);
	position: relative;
	overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
	.latelier-hero-cinematic__scroll-line::after {
		content: '';
		position: absolute;
		inset: 0;
		background: rgba(255, 250, 247, 0.7);
		animation: heroScrollLine 2.2s ease-in-out 2.5s infinite;
	}
}

.latelier-hero-cinematic__scroll-text {
	font-family: "Jost", sans-serif;
	font-size: 0.64rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 250, 247, 0.38);
	writing-mode: vertical-rl;
}

/* ─── Hero cinematic — entry animations ──────────────────────── */
@media (prefers-reduced-motion: no-preference) {
	.latelier-hero-cinematic [data-hero-anim] {
		opacity: 0;
		transform: translateY(22px);
		transition:
			opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.latelier-hero-cinematic [data-hero-anim].hero-revealed {
		opacity: 1;
		transform: translateY(0);
	}

	/* Title lines: clip-based slide-up */
	.latelier-hero-cinematic__title>span {
		overflow: hidden;
	}

	.latelier-hero-cinematic__title>span .latelier-hero-cinematic__line {
		transform: translateY(100%);
		transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.latelier-hero-cinematic__title>span[data-hero-anim].hero-revealed .latelier-hero-cinematic__line {
		transform: translateY(0);
	}
}

/* ─── Hero cinematic — responsive ────────────────────────────── */
@media (max-width: 782px) {
	.latelier-hero-cinematic {
		min-height: 78svh;
		align-items: flex-end;
	}

	.latelier-hero-cinematic__bg img {
		object-position: 65% center;
	}

	.latelier-hero-cinematic__title {
		font-size: clamp(2.55rem, 11.8vw, 4.25rem);
		line-height: 0.94;
		margin-bottom: 1rem;
	}

	.latelier-hero-cinematic__content {
		padding: clamp(5.25rem, 20vw, 7.25rem) var(--latelier-gutter) clamp(2rem, 8vw, 2.9rem);
	}

	.latelier-hero-cinematic__sub {
		font-size: 0.68rem;
		letter-spacing: 0.1em;
		margin-bottom: 1.25rem;
	}

	.latelier-hero-cinematic__scroll {
		display: none;
	}
}

.latelier-hero.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.latelier-section.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.latelier-value-strip.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--latelier-shell) !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
}

.latelier-hero__grid {
	display: grid;
	grid-template-columns: minmax(380px, 1fr) minmax(360px, 1.05fr);
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: center;
}

.latelier-hero__copy {
	padding: clamp(1.5rem, 3vw, 3.5rem) clamp(1rem, 2.5vw, 2rem) clamp(1.5rem, 3vw, 3rem) clamp(0.5rem, 2vw, 1.5rem);
	max-width: 40rem;
}

.latelier-eyebrow {
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin-bottom: 1rem;
}

.latelier-hero h1,
.latelier-page-shell h1,
.latelier-blog-head h1 {
	font-size: clamp(4rem, 9vw, 8rem);
	line-height: 0.88;
	margin: 0 0 1.2rem;
}

.latelier-home .latelier-hero h1:not(.latelier-hero-cinematic__title) {
	font-size: clamp(3.8rem, 7vw, 6.8rem);
	max-width: 9.5ch;
}

/* Cinematic hero title — pleine largeur container */
.latelier-hero-cinematic__title {
	max-width: none !important;
}

.latelier-lead {
	font-size: clamp(1rem, 1.2vw, 1.12rem);
	max-width: 37rem;
	color: var(--latelier-muted);
	margin-bottom: 1.6rem;
	line-height: 1.72;
}

.latelier-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-bottom: 1.5rem;
}

.latelier-button,
.latelier-button:visited,
.latelier-btn,
.latelier-btn:visited,
.latelier-home .wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	border-radius: 999px;
	padding: 0.92rem 1.45rem;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: var(--latelier-paper);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border: 1px solid rgba(116, 69, 82, 0.95);
	text-decoration: none;
	box-shadow: 0 14px 28px var(--latelier-accent-shadow);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	will-change: transform;
}

.latelier-button::after,
.latelier-btn::after,
.latelier-home .wp-block-button__link::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce input.button::after,
.wp-element-button::after {
	content: ">";
	font-size: 0.9em;
	line-height: 1;
	transform: translateX(0);
	transition: transform 0.2s ease;
}

.latelier-button--ghost {
	background: rgba(255, 250, 247, 0.96);
	color: var(--latelier-accent-strong) !important;
	border-color: rgba(138, 90, 102, 0.34);
	box-shadow: 0 10px 24px rgba(32, 21, 12, 0.08);
}

/* .latelier-btn--ghost {
	background: rgba(255, 250, 247, 0.96);
	color: var(--latelier-accent-strong);
	border-color: rgba(138, 90, 102, 0.34);
	box-shadow: 0 10px 24px rgba(32, 21, 12, 0.08);
} */

.latelier-button:hover,
.latelier-btn:hover,
.latelier-home .wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px var(--latelier-accent-shadow);
	background: linear-gradient(135deg, #9a6673 0%, #82515d 100%);
	color: var(--latelier-paper);
	border-color: rgba(116, 69, 82, 1);
}

.latelier-button:hover::after,
.latelier-btn:hover::after,
.latelier-home .wp-block-button__link:hover::after,
.woocommerce a.button:hover::after,
.woocommerce button.button:hover::after,
.woocommerce input.button:hover::after,
.wp-element-button:hover::after {
	transform: translateX(3px);
}

.latelier-button--ghost:hover,
.latelier-button--ghost:focus-visible,
.latelier-btn--ghost:hover,
.latelier-btn--ghost:focus-visible {
	background: var(--latelier-accent-soft);
	color: var(--latelier-accent-strong);
	border-color: rgba(138, 90, 102, 0.52);
}

.latelier-button:focus-visible,
.latelier-btn:focus-visible,
.latelier-home .wp-block-button__link:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:focus-visible,
.wp-element-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 4px rgba(247, 235, 232, 0.98), 0 0 0 7px rgba(116, 69, 82, 0.22);
}

.latelier-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
	font-size: 0.84rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.latelier-hero__media {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 1rem;
	position: relative;
}

.latelier-hero__media img,
.latelier-story-card img,
.latelier-instagram-grid img,
.wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.latelier-hero__media>img {
	min-height: 620px;
	border-radius: var(--latelier-radius);
	box-shadow: var(--latelier-shadow);
}

.latelier-hero__stack {
	display: grid;
	gap: 1rem;
}

.latelier-hero__stack img {
	min-height: calc((620px - 1rem) / 2);
	border-radius: 22px;
	box-shadow: var(--latelier-shadow);
	transform: translateY(var(--hero-parallax, 0px));
	will-change: transform;
}


/* ─── Hero 2026 — Entry animations ───────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
	@keyframes heroFadeUp {
		from {
			opacity: 0;
			transform: translateY(28px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	@keyframes heroBadgePop {
		0% {
			opacity: 0;
			transform: scale(0.72) rotate(-6deg);
		}

		70% {
			transform: scale(1.06) rotate(2deg);
		}

		100% {
			opacity: 1;
			transform: scale(1) rotate(0deg);
		}
	}

	@keyframes heroScrollLine {
		0% {
			transform: scaleY(0);
			transform-origin: top;
		}

		50% {
			transform: scaleY(1);
			transform-origin: top;
		}

		51% {
			transform: scaleY(1);
			transform-origin: bottom;
		}

		100% {
			transform: scaleY(0);
			transform-origin: bottom;
		}
	}

}

.latelier-section {
	padding-top: clamp(2rem, 4vw, 4rem);
}

.latelier-section-head {
	margin-bottom: 1.5rem;
}

.latelier-section-copy {
	max-width: 44rem;
	margin: 0.5rem 0 0 !important;
	color: var(--latelier-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.latelier-section h2,
.latelier-story-card h2,
.latelier-value-strip h2,
.latelier-footer__title,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.04em;
}

/* ═══════════════════════════════════════════════════════════════
   INTRO / VALUE STRIP — redesign 2026
═══════════════════════════════════════════════════════════════ */

.latelier-value-strip.alignfull {
	padding: 0;
}

.latelier-intro {
	background: linear-gradient(160deg, #fdf6f2 0%, #f9ede8 100%);
	padding: clamp(4rem, 7vw, 7rem) var(--latelier-gutter);
	position: relative;
	overflow: hidden;
}

/* Decorative grain overlay */
.latelier-intro::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 80% 20%, rgba(138, 90, 102, 0.06) 0%, transparent 55%),
		radial-gradient(circle at 10% 80%, rgba(138, 90, 102, 0.04) 0%, transparent 45%);
	pointer-events: none;
}

.latelier-intro__inner {
	max-width: var(--latelier-shell);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
	position: relative;
}

/* ── Editorial side ── */
.latelier-intro__editorial {
	position: sticky;
	top: calc(var(--header-h, 72px) + 1rem);
}

.latelier-intro__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2.8rem, 4.5vw, 5rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.03em;
	color: var(--latelier-ink);
	margin: 0.75rem 0 1.4rem;
}

.latelier-intro__title em {
	font-style: italic;
	font-weight: 300;
	color: var(--latelier-accent);
}

.latelier-intro__lead {
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--latelier-muted);
	max-width: 34rem;
	margin: 0 0 2rem;
}

.latelier-intro__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-accent-strong);
	text-decoration: none;
	transition: gap 0.25s ease;
}

.latelier-intro__cta:hover {
	gap: 0.85rem;
}

.latelier-intro__cta svg {
	transition: transform 0.25s ease;
	flex-shrink: 0;
}

.latelier-intro__cta:hover svg {
	transform: translateX(4px);
}

/* ── Feature cards grid ── */
.latelier-intro__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.latelier-intro-card {
	background: rgba(255, 250, 247, 0.7);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(232, 216, 209, 0.7);
	border-radius: 20px;
	padding: 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.latelier-intro-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 48px rgba(76, 49, 39, 0.1);
}

.latelier-intro-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fffaf7;
	flex-shrink: 0;
}

.latelier-intro-card__body h3 {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.45rem;
	color: var(--latelier-ink);
}

.latelier-intro-card__body p {
	font-size: 0.88rem;
	line-height: 1.65;
	color: var(--latelier-muted);
	margin: 0;
}

/* ── Scroll reveal animations ── */
@media (prefers-reduced-motion: no-preference) {
	[data-intro-reveal] {
		opacity: 0;
		transform: translateY(28px);
		transition:
			opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	}

	[data-intro-reveal].is-revealed {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── Responsive ── */
@media (max-width: 900px) {
	.latelier-intro__inner {
		grid-template-columns: 1fr;
	}

	.latelier-intro__editorial {
		position: static;
	}
}

@media (max-width: 580px) {
	.latelier-intro__features {
		grid-template-columns: 1fr;
	}
}

.latelier-section h2,
.latelier-value-strip h2 {
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	margin: 0;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.35rem;
	margin: 0;
	padding: 0;
}

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

.latelier-home-products,
.latelier-home-products .products {
	width: 100%;
	max-width: none;
}

.latelier-home-products {
	margin-top: 0.5rem;
}

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

.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce ul.products li.first,
.woocommerce ul.products li.last,
.woocommerce-page ul.products li.first,
.woocommerce-page ul.products li.last {
	clear: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 1rem;
	border-radius: 20px;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.woocommerce ul.products li.product a img {
	margin: 0;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	padding: 1rem 1rem 0;
	margin: 0 0 0.35rem;
	min-height: 2.4em;
}

.woocommerce ul.products li.product .price {
	padding: 0 1rem;
	color: var(--latelier-muted);
	font-size: 0.95rem;
	min-height: 1.5rem;
	display: block;
}

.woocommerce ul.products li.product .button {
	margin: 0.75rem 1rem 0;
	margin-top: auto;
	align-self: flex-start;
}

.latelier-story-grid {
	display: grid;
	gap: 1.4rem;
}

.latelier-section--blog {
	background:
		radial-gradient(circle at 12% 12%, rgba(244, 215, 199, 0.28), transparent 34%),
		radial-gradient(circle at 88% 88%, rgba(216, 228, 215, 0.25), transparent 36%);
	border: 1px solid rgba(219, 207, 193, 0.7);
	border-radius: calc(var(--latelier-radius) + 4px);
	padding: clamp(1.2rem, 2.6vw, 2rem);
}

.latelier-section--blog .latelier-section-copy {
	max-width: 70ch;
}

.latelier-section--blog .latelier-section-head h2 {
	letter-spacing: -0.015em;
}

.latelier-blog-feature {
	display: grid;
	grid-template-columns: minmax(240px, 0.95fr) minmax(320px, 1.05fr);
	gap: clamp(1rem, 2.2vw, 2rem);
	align-items: stretch;
	background: linear-gradient(145deg, rgba(255, 252, 249, 0.96), rgba(252, 245, 239, 0.96));
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: calc(var(--latelier-radius) + 2px);
	overflow: hidden;
}

.latelier-blog-feature__visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.latelier-blog-feature__content {
	padding: clamp(1.2rem, 2.5vw, 2.2rem);
	display: grid;
	gap: 0.9rem;
	align-content: center;
}

.latelier-blog-feature__kicker {
	margin: 0;
	font-size: 0.74rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.latelier-blog-feature h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.2;
}

.latelier-blog-feature__content p {
	margin: 0;
	color: var(--latelier-muted);
}

.latelier-blog-feature__points {
	margin: 0.1rem 0 0.35rem;
	padding-left: 1.1rem;
	display: grid;
	gap: 0.5rem;
	color: var(--latelier-ink);
}

.latelier-blog-feature__points li::marker {
	color: var(--latelier-accent);
}

.latelier-blog-latest-head {
	margin-top: clamp(1.2rem, 2.4vw, 2rem);
	padding-top: clamp(0.9rem, 1.8vw, 1.3rem);
	border-top: 1px solid rgba(185, 160, 141, 0.35);
	text-align: left;
	margin-left: 0;
	margin-right: auto;
}

.latelier-blog-latest-head h3 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.1rem, 1.7vw, 1.45rem);
	letter-spacing: -0.01em;
}

.latelier-blog-latest-head p {
	margin: 0;
	max-width: 78ch;
	color: var(--latelier-muted);
	text-align: left;
	margin-left: 0;
	margin-right: auto;
}

/* WP block layout can inject centered margins on constrained children.
   Force true left alignment for the "derniers articles" intro text. */
.latelier-section--blog .latelier-blog-latest-head.wp-block-group-is-layout-constrained > p,
.latelier-section--blog .latelier-blog-latest-head.wp-block-group > p {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	text-indent: 0 !important;
	max-width: none !important;
	width: 100%;
}

.latelier-section--blog .latelier-blog-latest-head > .wp-block-paragraph {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

/* The wrapper itself is constrained/centered by a global rule on
   `.latelier-section.is-layout-constrained > *`. Override that here. */
.latelier-section.latelier-section--blog.is-layout-constrained > .latelier-blog-latest-head {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Real front markup can miss `.latelier-section--blog`.
   Override core constrained layout directly on this block and its children. */
.latelier-blog-latest-head.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.latelier-blog-latest-head.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.latelier-posts-carousel .latelier-carousel__img-wrap {
	aspect-ratio: 4 / 3;
}

.latelier-posts-carousel .latelier-posts-carousel__excerpt {
	margin: 0.45rem 0 0;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--latelier-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 900px) {
	.latelier-blog-feature {
		grid-template-columns: 1fr;
	}

	.latelier-blog-feature__visual img {
		min-height: 250px;
	}
}

.latelier-story-card {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 0;
	background: linear-gradient(180deg, rgba(255, 250, 247, 1) 0%, rgba(252, 246, 242, 1) 100%);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: var(--latelier-radius);
	overflow: hidden;
	box-shadow: var(--latelier-shadow);
}

.latelier-story-card--reverse {
	grid-template-columns: 0.9fr 1.1fr;
}

.latelier-story-card__body {
	padding: clamp(1.5rem, 4vw, 3rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: linear-gradient(180deg, #fffaf7 0%, #fcf6f2 100%);
	background-color: #fffaf7;
}

.latelier-story-card__meta {
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin: 0 0 0.75rem;
}

.latelier-story-card a {
	font-size: 0.82rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.latelier-value-strip {
	background:
		radial-gradient(circle at top right, rgba(216, 228, 215, 0.55), transparent 34%),
		radial-gradient(circle at bottom left, rgba(244, 215, 199, 0.6), transparent 38%),
		linear-gradient(180deg, rgba(255, 250, 247, 0.92), rgba(245, 226, 220, 0.6));
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: var(--latelier-radius);
	padding: clamp(1rem, 3vw, 2rem);
	margin-top: clamp(2rem, 4vw, 4rem);
}

.latelier-value-strip .wp-block-columns {
	gap: 1.5rem;
}

.latelier-editorial-list {
	margin: 0;
	padding-left: 1.15rem;
	display: grid;
	gap: 0.75rem;
	color: var(--latelier-muted);
}

.latelier-editorial-list li::marker {
	color: var(--latelier-ink);
}

.latelier-category-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.35rem;
}

.latelier-category-card {
	display: grid;
	grid-template-columns: minmax(180px, 0.95fr) minmax(0, 1.05fr);
	background: linear-gradient(180deg, rgba(255, 250, 247, 1) 0%, rgba(251, 244, 241, 1) 100%);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: var(--latelier-radius);
	overflow: hidden;
	box-shadow: var(--latelier-shadow);
	text-decoration: none;
	color: inherit;
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.latelier-category-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(35, 23, 14, 0.1);
}

.latelier-category-card img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.latelier-category-card__body {
	padding: clamp(1.25rem, 3vw, 2rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.latelier-category-card__meta {
	font-size: 0.76rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin: 0 0 0.7rem;
}

.latelier-category-card h3 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 0.95;
	letter-spacing: -0.04em;
	margin: 0 0 0.8rem;
}

.latelier-category-card p {
	margin: 0 0 1rem;
	color: var(--latelier-muted);
	line-height: 1.65;
}

.latelier-category-card__cta {
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.latelier-instagram-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.latelier-instagram-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.latelier-instagram-grid a {
	display: block;
	text-decoration: none;
}

.latelier-instagram-grid img {
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	box-shadow: var(--latelier-shadow);
}

.latelier-service-band {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	border: 1px solid rgba(219, 207, 193, 0.86);
	border-radius: var(--latelier-radius);
	background:
		radial-gradient(circle at top left, rgba(244, 215, 199, 0.42), transparent 34%),
		radial-gradient(circle at bottom right, rgba(216, 228, 215, 0.42), transparent 34%),
		linear-gradient(90deg, rgba(255, 250, 247, 0.92) 0%, rgba(252, 244, 241, 0.96) 100%);
	padding: 1.15rem;
	margin-top: clamp(2rem, 4vw, 4rem);
	box-shadow: var(--latelier-shadow);
}

.latelier-service-band__item {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.9rem 1rem;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(219, 207, 193, 0.52);
}

.latelier-service-band__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: var(--latelier-accent-soft);
	color: var(--latelier-accent-strong);
	box-shadow: inset 0 0 0 1px rgba(138, 90, 102, 0.14);
}

.latelier-service-band__icon svg {
	width: 1.2rem;
	height: 1.2rem;
}

.latelier-service-band__text {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--latelier-ink);
}

.latelier-footer {
	padding-top: 4rem;
	padding-bottom: 2rem;
	margin-top: 4rem;
	border-top: 1px solid var(--latelier-line);
}

.latelier-footer__top {
	gap: 2rem;
	margin-bottom: 2rem;
}

.latelier-footer__title {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}

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

.latelier-footer__list li {
	margin-bottom: 0.6rem;
}

.latelier-footer__bottom {
	border-top: 1px solid var(--latelier-line);
	padding-top: 1rem;
	gap: 0.75rem 2rem;
	color: var(--latelier-muted);
}

.latelier-shop-archive {
	padding: clamp(2rem, 4vw, 4rem) var(--latelier-gutter) 0;
}

.latelier-shop-archive__intro {
	margin-bottom: 1.5rem;
}

.latelier-shop-archive__intro .wp-block-query-title {
	margin-bottom: 0.75rem;
}

.latelier-shop-toolbar {
	justify-content: flex-start;
	align-items: center;
	padding: 0;
	margin-bottom: 1.15rem;
	gap: 0.75rem;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.latelier-shop-toolbar .wc-block-product-search {
	flex: 0 1 32rem;
	width: min(100%, 32rem);
	margin: 0;
}

.latelier-shop-toolbar .wc-block-product-search form {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.latelier-shop-toolbar .wc-block-product-search__fields {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 999px;
	padding: 0.28rem 0.28rem 0.28rem 1rem;
	box-shadow: 0 10px 24px rgba(32, 21, 12, 0.04);
}

.latelier-shop-toolbar .wc-block-product-search__field {
	flex: 1 1 auto;
	border: 0;
	background: transparent;
	padding: 0.55rem 0;
	font-family: "Jost", sans-serif;
	font-size: 0.92rem;
	color: var(--latelier-ink);
}

.latelier-shop-toolbar .wc-block-product-search__button {
	border: 1px solid rgba(116, 69, 82, 0.95);
	border-radius: 999px;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: var(--latelier-paper);
	padding: 0.85rem 0.95rem;
	box-shadow: 0 12px 24px var(--latelier-accent-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.latelier-shop-toolbar .wc-block-product-search__button:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px var(--latelier-accent-shadow);
	background: linear-gradient(135deg, #9a6673 0%, #82515d 100%);
}

.latelier-shop-toolbar .wc-block-product-search__button:focus-visible,
.latelier-shop-layout__filters .wc-block-product-filter-price__actions button:focus-visible,
.latelier-shop-layout__filters .wc-block-components-price-slider__actions button:focus-visible,
.wc-block-product-filters__apply:focus-visible,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 4px rgba(247, 235, 232, 0.98), 0 0 0 7px rgba(116, 69, 82, 0.22);
}

.latelier-shop-toolbar__meta {
	gap: 1rem;
	color: var(--latelier-muted);
}

.latelier-shop-layout {
	display: grid !important;
	grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
	gap: clamp(1.75rem, 3vw, 2.75rem);
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: 0;
	width: 100%;
}

.latelier-shop-layout__filters {
	position: sticky;
	top: 7.5rem;
}

.latelier-shop-layout>.wp-block-column,
.latelier-shop-layout__filters>.wp-block-column,
.latelier-shop-layout__products>.wp-block-column {
	flex-basis: auto;
	min-width: 0;
}

.latelier-shop-layout__filters {
	--wc-product-filter-checkbox-list-option-element-border: var(--latelier-line);
	--wc-product-filter-checkbox-list-option-element-selected: var(--latelier-paper);
	--wc-product-filter-checkbox-list-label-element: var(--latelier-ink);
	--wc-product-filter-price-slider: var(--latelier-ink);
	--wc-product-filter-price-slider-handle: var(--latelier-paper);
	--wc-product-filter-price-slider-handle-border: var(--latelier-ink);
}

.latelier-shop-layout__filters .wc-block-product-filters {
	display: block;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 22px;
	padding: 1.25rem;
}

.latelier-shop-layout__filters .wc-block-product-filters>*+* {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(219, 207, 193, 0.7);
}

.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-active {
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.96) 0%, rgba(248, 238, 232, 0.92) 100%);
	border: 1px solid rgba(138, 90, 102, 0.22);
	border-radius: 16px;
	padding: 0.8rem 0.9rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-active+* {
	margin-top: 1.55rem;
	padding-top: 1.55rem;
}

.latelier-shop-layout__filters h3,
.latelier-shop-layout__filters legend,
.latelier-shop-layout__filters .wc-block-product-filter-heading,
.latelier-filter-heading {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin-bottom: 0.75rem;
	margin-top: 0;
}

.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-price,
.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-taxonomy {
	padding-top: 1.25rem;
	border-top: 1px solid var(--latelier-line);
}

.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-attribute,
.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-price,
.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-taxonomy,
.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-price-slider,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__content,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__range {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider__content {
	grid-template-areas:
		"price-slider price-slider"
		"left-input right-input";
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 0.75rem;
	column-gap: 0.95rem;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider__left,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider .text {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider__left.text,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right.text {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider .text input[type="text"],
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__left input.min[type="text"],
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right input.max[type="text"],
input[name="quantity"] {
	all: unset;
	display: block !important;
	flex: 1 1 auto;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	height: 3rem !important;
	margin: 0 !important;
	padding: 0 1.05rem !important;
	border: 1px solid rgba(216, 203, 188, 0.95) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, rgba(255, 252, 247, 1) 0%, rgba(247, 240, 232, 1) 100%) !important;
	box-shadow: 0 12px 26px rgba(32, 21, 12, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	line-height: 1 !important;
	color: var(--latelier-ink) !important;
	text-align: left !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

input[name="quantity"] {
	width: 75px !important;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider__range {
	margin: 0.35rem 0 0.15rem;
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider .text input[type="text"]:focus,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__left input.min[type="text"]:focus,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right input.max[type="text"]:focus {
	outline: none;
	border-color: rgba(23, 19, 17, 0.32);
	box-shadow: 0 0 0 3px rgba(239, 227, 209, 0.72), 0 10px 22px rgba(32, 21, 12, 0.06);
}

.latelier-shop-layout__filters .wc-block-product-filter-price-slider .text input[type="text"]::placeholder,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__left input.min[type="text"]::placeholder,
.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right input.max[type="text"]::placeholder {
	color: var(--latelier-muted);
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__list,
.latelier-shop-layout__filters .wc-block-product-filter-price {
	margin-top: 0.5rem;
}

.latelier-shop-layout__filters fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.35rem 0.5rem;
	margin: 0 -0.5rem;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.15s;
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__label:hover {
	background: var(--latelier-highlight);
}

.latelier-shop-layout__filters input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
	width: 1rem;
	height: 1rem;
	border: 1.5px solid var(--latelier-line);
	border-radius: 4px;
	background: transparent;
	flex-shrink: 0;
	transition: background 0.15s, border-color 0.15s;
}

.latelier-shop-layout__filters input[type="checkbox"].wc-block-product-filter-checkbox-list__input:checked {
	background: var(--latelier-ink);
	border-color: var(--latelier-ink);
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__text-wrapper {
	font-size: 0.88rem;
	color: var(--latelier-ink);
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__count {
	color: var(--latelier-muted);
	font-size: 0.78rem;
}

.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list label,
.latelier-shop-layout__filters .wc-block-product-filter-price__range-text,
.latelier-shop-layout__filters .wc-block-product-filter-price__actions {
	font-size: 0.88rem;
	color: var(--latelier-muted);
}

.latelier-shop-layout__filters .wc-block-product-filter-remove-list-item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--latelier-line);
	border-radius: 999px;
	background: var(--latelier-highlight);
	text-decoration: none;
	font-size: 0.78rem;
	color: var(--latelier-ink);
	transition: background 0.15s, border-color 0.15s;
}

.latelier-shop-layout__filters .wc-block-product-filter-remove-list-item:hover {
	background: var(--latelier-line);
	border-color: var(--latelier-muted);
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--latelier-paper);
	border: 1px solid rgba(138, 90, 102, 0.28);
	border-radius: 999px;
	padding: 0.28rem 0.35rem 0.28rem 0.72rem;
	box-shadow: 0 6px 14px rgba(35, 23, 14, 0.04);
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__label {
	font-family: "Jost", sans-serif;
	font-size: 0.76rem;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: var(--latelier-ink);
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	border: 1px solid rgba(116, 69, 82, 0.24);
	background: var(--latelier-accent-soft);
	color: var(--latelier-accent-strong);
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__remove:hover {
	background: var(--latelier-accent);
	border-color: var(--latelier-accent);
	color: var(--latelier-paper);
}

.latelier-shop-layout__filters .wc-block-product-filter-removable-chips__remove .wc-block-product-filter-removable-chips__remove-icon {
	width: 0.95rem;
	height: 0.95rem;
}

.latelier-shop-layout__filters .wc-block-product-filter-price__actions button,
.latelier-shop-layout__filters .wc-block-components-price-slider__actions button,
.wc-block-product-filters__apply {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 0.75rem 1.5rem;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: var(--latelier-paper);
	border: 1px solid rgba(116, 69, 82, 0.95);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	width: 100%;
	cursor: pointer;
	box-shadow: 0 12px 24px var(--latelier-accent-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.latelier-shop-layout__filters .wc-block-product-filter-price__actions button:hover,
.latelier-shop-layout__filters .wc-block-components-price-slider__actions button:hover,
.wc-block-product-filters__apply:hover {
	transform: translateY(-2px);
	background: linear-gradient(135deg, #9a6673 0%, #82515d 100%);
	border-color: rgba(116, 69, 82, 1);
	box-shadow: 0 18px 30px var(--latelier-accent-shadow);
}

.wc-block-product-filters__overlay-dialog {
	background: var(--latelier-paper) !important;
	border-radius: 22px 22px 0 0 !important;
}

.wc-block-product-filters__overlay-header {
	padding: 1rem 1.25rem 0 !important;
}

.wc-block-product-filters__overlay-content {
	padding: 0 1.25rem !important;
}

.wc-block-product-filters__overlay-footer {
	padding: 1rem 1.25rem !important;
	box-shadow: none !important;
	border-top: 1px solid var(--latelier-line);
}

.wc-block-product-filters__close-overlay {
	color: var(--latelier-ink);
}

.latelier-shop-layout__products .wc-block-product-template,
.latelier-shop-layout__products .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.35rem;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.latelier-shop-layout__products .wc-block-product,
.latelier-shop-layout__products .type-product {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 20px;
	padding-bottom: 1rem;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
	height: fit-container;
}

.latelier-shop-layout__products .wc-block-product img {
	display: block;
	width: 100%;
	height: auto;
}

.latelier-shop-layout__products .wp-block-post-title,
.latelier-shop-layout__products .wc-block-components-product-name {
	padding-left: 1rem;
	padding-right: 1rem;
}

.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price,
.latelier-shop-layout__products .wc-block-product .wp-block-woocommerce-product-price,
.latelier-shop-layout__products .wc-block-product .wp-block-woocommerce-product-button {
	padding-left: 1rem;
	padding-right: 1rem;
}

.latelier-shop-layout__products .wc-block-product .wp-block-button__link,
.latelier-shop-layout__products .wc-block-components-product-button__button {
	width: auto;
}

.latelier-shop-layout__products,
.latelier-shop-layout__products .wp-block-woocommerce-product-collection,
.latelier-shop-layout__products .wc-block-product-template-wrapper {
	width: 100%;
	max-width: none;
	min-width: 0;
}

.latelier-shop-layout__products .wp-block-query-pagination {
	margin-top: 3.5rem;
}

.latelier-shop-layout__products .wp-block-query-pagination a,
.latelier-shop-layout__products .wp-block-query-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	border: 1px solid var(--latelier-line);
	background: var(--latelier-paper);
	padding: 0 0.8rem;
}

.latelier-page-shell {
	padding: clamp(2rem, 5vw, 5rem) 1rem;
}

.latelier-page-shell>.wp-block-post-content {
	max-width: 980px;
	margin: 0 auto;
}

.latelier-page-shell>.wp-block-post-title {
	max-width: 980px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-post .latelier-page-shell > .wp-block-post-title,
.woocommerce-account .latelier-page-shell > .wp-block-post-title {
	max-width: var(--latelier-shell) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.latelier-page-shell h1 {
	font-size: clamp(3rem, 6vw, 5.6rem);
	margin-bottom: 3rem !important;
}

.latelier-page-shell .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
}

.latelier-page-shell .wp-block-column {
	display: block !important;
	min-width: 0;
	flex-basis: auto !important;
}

.latelier-page-shell p,
.latelier-page-shell li {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--latelier-ink);
}

.latelier-page-shell .wp-block-list {
	margin: 1.25rem 0 1.5rem;
	padding-left: 1.2rem;
}

.latelier-page-shell figure {
	margin: 0;
}

.latelier-page-shell img {
	width: 100%;
	height: auto;
	max-height: 760px;
	object-fit: cover;
	border-radius: var(--latelier-radius);
	box-shadow: var(--latelier-shadow);
}

.latelier-page-shell blockquote {
	margin: 2rem 0 0;
	padding: 1.4rem 1.6rem;
	border-left: 0;
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(239, 201, 197, 0.18) 0%, rgba(216, 228, 215, 0.18) 100%);
}

.latelier-page-shell blockquote p {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	line-height: 1.1;
	letter-spacing: -0.03em;
	margin: 0;
}

.latelier-entry-title {
	text-align: left;
	margin-bottom: 2rem;
}

/* Legal pages: remove extra inner constrained offsets so content starts on
   the exact same left edge as the page title. */
body.page-id-3 .latelier-page-shell>.wp-block-post-content,
body.page-id-312 .latelier-page-shell>.wp-block-post-content,
body.page-id-313 .latelier-page-shell>.wp-block-post-content,
body.page-id-315 .latelier-page-shell>.wp-block-post-content,
body.page-id-2047 .latelier-page-shell>.wp-block-post-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.page-id-3 .latelier-page-shell>.wp-block-post-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.page-id-312 .latelier-page-shell>.wp-block-post-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.page-id-313 .latelier-page-shell>.wp-block-post-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.page-id-315 .latelier-page-shell>.wp-block-post-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.page-id-2047 .latelier-page-shell>.wp-block-post-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.latelier-post-card {
	padding-bottom: 1rem;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 18px;
	overflow: hidden;
}

.latelier-post-card .wp-block-post-title,
.latelier-post-card .wp-block-post-excerpt {
	padding-left: 1rem;
	padding-right: 1rem;
}

.latelier-post-card .wp-block-post-title {
	margin: 1rem 0 0.5rem;
	font-size: 1.6rem;
}

.wp-block-latest-posts.is-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	list-style: none;
	padding: 0;
}

.wp-block-latest-posts__post-item {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 18px;
	padding: 0 0 1rem;
	overflow: hidden;
}

.wp-block-latest-posts__featured-image img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts__post-date {
	display: block;
	padding-left: 1rem;
	padding-right: 1rem;
}

.wp-block-latest-posts__post-title {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.8rem;
	line-height: 0.95;
	margin-top: 1rem;
}

.wp-block-latest-posts__post-excerpt {
	color: var(--latelier-muted);
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering {
	color: var(--latelier-muted);
}

.woocommerce div.product:not(.wp-block-group) {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
	width: 100%;
}

.woocommerce div.product:not(.wp-block-group) div.images,
.woocommerce div.product:not(.wp-block-group) div.summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce div.product:not(.wp-block-group) div.images img,
.woocommerce div.product:not(.wp-block-group) div.images .woocommerce-product-gallery__image {
	border-radius: 18px;
}

.single-product .wp-site-blocks main {
	padding: clamp(1.25rem, 3vw, 2rem) 0 0;
}

.single-product .wp-site-blocks .wp-block-group.woocommerce.product {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
}

.single-product .wp-site-blocks .wp-block-group.woocommerce.product>main {
	max-width: var(--latelier-shell) !important;
	width: 100% !important;
}

.single-product .wp-site-blocks main>* {
	max-width: var(--latelier-shell);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.single-product .wp-site-blocks main .woocommerce,
.single-product .wp-site-blocks main .product {
	width: 100%;
	max-width: none;
}

.single-product .wp-site-blocks .wp-block-group.woocommerce.product>main>.wp-block-columns.alignwide {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
	max-width: none !important;
	width: 100% !important;
}

.single-product .wp-site-blocks .wp-block-group.woocommerce.product>main>.wp-block-columns.alignwide>.wp-block-column {
	flex-basis: auto !important;
	width: auto !important;
	min-width: 0;
}

.single-product .woocommerce-breadcrumb {
	margin-bottom: 1.25rem;
	font-size: 0.86rem;
}

.single-product .woocommerce div.product:not(.wp-block-group) .images {
	min-width: 0;
}

.single-product .woocommerce div.product:not(.wp-block-group) .summary {
	max-width: none;
	width: 100%;
	min-width: 0;
}

.single-product .woocommerce div.product:not(.wp-block-group)>* {
	min-width: 0;
}

.single-product .woocommerce div.product:not(.wp-block-group) .summary>*+* {
	margin-top: 1.15rem;
}

.single-product .woocommerce-tabs,
.single-product .related.products {
	margin-top: 3.5rem;
}

.single-product .woocommerce-tabs .panel,
.single-product .related.products {
	max-width: var(--latelier-shell);
}

/* Product page tabs */
.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0 0 0 0;
	padding: 0;
	border-bottom: 1px solid var(--latelier-line);
}

.single-product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.single-product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	padding: 0.75rem 1.25rem;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.2s, border-color 0.2s;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--latelier-ink);
	border-bottom-color: var(--latelier-ink);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	border: none !important;
	padding: 1.75rem 0 0 !important;
	margin: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	display: none;
}

/* Product quantity + add to cart row */
.single-product .woocommerce div.product:not(.wp-block-group) form.cart {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.single-product .woocommerce div.product:not(.wp-block-group) form.cart .quantity input {
	width: 3.5rem !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0.75rem 0.5rem !important;
	text-align: center !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.88rem !important;
	background: transparent !important;
	-webkit-appearance: textfield !important;
	appearance: textfield !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--latelier-ink) !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
}

.single-product .woocommerce div.product:not(.wp-block-group) form.cart .single_add_to_cart_button {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: var(--latelier-paper);
	border: none;
	border-radius: 999px;
	padding: 0.85rem 1.75rem;
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 14px 28px var(--latelier-accent-shadow);
	transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, opacity 0.2s;
}

.single-product .woocommerce div.product:not(.wp-block-group) form.cart .single_add_to_cart_button:hover {
	transform: translateY(-2px);
	background: linear-gradient(135deg, #9a6673 0%, #82515d 100%);
	box-shadow: 0 18px 30px var(--latelier-accent-shadow);
}

.single-product .woocommerce div.product:not(.wp-block-group) form.cart .single_add_to_cart_button.disabled,
.single-product .woocommerce div.product:not(.wp-block-group) form.cart .single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Variation selector */
.single-product .woocommerce div.product:not(.wp-block-group) .variations td.label label {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.single-product .woocommerce div.product:not(.wp-block-group) .variations select {
	border: 1px solid var(--latelier-line);
	border-radius: 14px;
	padding: 0.6rem 2rem 0.6rem 0.85rem;
	font-family: "Jost", sans-serif;
	font-size: 0.88rem;
	background: var(--latelier-paper);
	appearance: auto;
	min-width: 10rem;
}

/* Related products heading */
.single-product .related.products>h2,
.single-product .up-sells.products>h2 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0 0 2rem;
	color: var(--latelier-ink);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form select,
.latelier-filters input,
.latelier-filters select {
	border: 1px solid var(--latelier-line);
	border-radius: 14px;
	background: var(--latelier-paper);
	padding: 0.85rem 1rem;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-cart table.cart td.actions .coupon .input-text {
	border-radius: 16px;
}

/* Single product: added-to-cart notices */
.single-product .woocommerce-notices-wrapper {
	margin: 0 0 1.35rem;
}

/* — Shared foundation — */
.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .wc-block-store-notices .wc-block-components-notice-banner {
	position: relative;
	border: 1px solid rgba(138, 90, 102, 0.22) !important;
	border-left: 4px solid var(--latelier-accent) !important;
	border-radius: 14px !important;
	background: linear-gradient(160deg, var(--latelier-paper) 0%, rgba(247, 234, 228, 0.92) 100%) !important;
	color: var(--latelier-ink) !important;
	box-shadow: 0 12px 32px rgba(35, 23, 14, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	overflow: hidden;
	outline: none !important;
	animation: latelier-notice-enter 0.42s cubic-bezier(0.22, 0.8, 0.3, 1) both;
}

/* Shine sweep on entry */
.single-product .woocommerce-notices-wrapper .woocommerce-message::after,
.single-product .wc-block-store-notices .wc-block-components-notice-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 28%, rgba(255, 255, 255, 0.44) 50%, transparent 72%);
	transform: translateX(-130%);
	animation: latelier-notice-shine 0.82s ease-out 0.14s both;
	pointer-events: none;
}

/* — Classic notice (.woocommerce-message) — */
.single-product .woocommerce-notices-wrapper .woocommerce-message {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.7rem 0.85rem;
	padding: 0.95rem 1rem 0.95rem 3rem;
}

/* Checkmark badge */
.single-product .woocommerce-notices-wrapper .woocommerce-message::before {
	content: "✓";
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 999px;
	font-family: "Jost", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	box-shadow: 0 6px 12px var(--latelier-accent-shadow);
	z-index: 1;
}

/* Classic "Voir le panier" button */
.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward {
	float: none;
	display: inline-flex;
	align-items: center;
	margin-left: auto;
	padding: 0.55rem 1.1rem;
	border: 1px solid var(--latelier-accent-strong) !important;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: #fff !important;
	font-family: "Jost", sans-serif;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: 0 8px 18px var(--latelier-accent-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	position: relative;
	z-index: 1;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 26px var(--latelier-accent-shadow);
}

.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:focus-visible {
	outline: 2px solid var(--latelier-accent) !important;
	outline-offset: 2px;
}

/* — Woo Blocks notice (.wc-block-components-notice-banner) — */
.single-product .wc-block-store-notices .wc-block-components-notice-banner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.8rem;
	padding: 1rem 1.1rem;
}

.single-product .wc-block-store-notices .wc-block-components-notice-banner svg {
	width: 1.1rem;
	height: 1.1rem;
	color: var(--latelier-accent);
	position: relative;
	z-index: 1;
}

.single-product .wc-block-store-notices .wc-block-components-notice-banner__content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.85rem;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}

/* Woo Blocks "Voir le panier" link */
.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a {
	display: inline-flex;
	align-items: center;
	margin-left: auto;
	padding: 0.52rem 1rem;
	border: 1px solid var(--latelier-accent-strong) !important;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: #fff !important;
	font-family: "Jost", sans-serif;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none !important;
	box-shadow: 0 8px 18px var(--latelier-accent-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	outline: none;
}

.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 26px var(--latelier-accent-shadow);
}

.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a:focus-visible {
	outline: 2px solid var(--latelier-accent) !important;
	outline-offset: 2px;
}

/* Success / error variants */
.single-product .wc-block-store-notices .wc-block-components-notice-banner.is-success {
	border-left-color: rgba(76, 130, 104, 0.9) !important;
}

.single-product .wc-block-store-notices .wc-block-components-notice-banner.is-error {
	border-left-color: #9a5d3f !important;
	background: linear-gradient(160deg, rgba(255, 248, 242, 0.99) 0%, rgba(251, 234, 220, 0.96) 100%) !important;
}

@keyframes latelier-notice-enter {
	0% {
		opacity: 0;
		transform: translateY(-8px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes latelier-notice-shine {
	0% {
		transform: translateX(-130%);
	}

	100% {
		transform: translateX(130%);
	}
}

@media (max-width: 782px) {
	.single-product .woocommerce-notices-wrapper .woocommerce-message {
		padding: 0.9rem 0.9rem 0.9rem 2.75rem;
	}

	.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
	.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a {
		margin-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product .woocommerce-notices-wrapper .woocommerce-message,
	.single-product .wc-block-store-notices .wc-block-components-notice-banner,
	.single-product .woocommerce-notices-wrapper .woocommerce-message::after,
	.single-product .wc-block-store-notices .wc-block-components-notice-banner::after {
		animation: none !important;
	}

	.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
	.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a {
		transition: none !important;
	}
}

.latelier-filters {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 20px;
	padding: 1rem;
	margin: 1.5rem 0;
}

.latelier-filters__row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.75rem;
}

.latelier-filters__row label {
	display: grid;
	gap: 0.35rem;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.latelier-filters__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.latelier-result-count {
	color: var(--latelier-muted);
	margin-bottom: 1rem;
}

.latelier-empty {
	list-style: none;
	padding: 2rem;
	text-align: center;
	border: 1px dashed var(--latelier-line);
	border-radius: 18px;
	background: rgba(255, 253, 249, 0.7);
}

.page .entry-content>*,
.single .entry-content>* {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.page .entry-content>.alignwide,
.single .entry-content>.alignwide,
.page .entry-content>.alignfull,
.single .entry-content>.alignfull {
	max-width: none;
}

@media (max-width: 1280px) {
	.latelier-header__inner {
		grid-template-columns: minmax(0, 185px) minmax(0, 1fr);
	}
}

@media (min-width: 783px) {
	.latelier-header__inner {
		grid-template-columns: 205px max-content;
		justify-content: space-between;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.latelier-header .wp-block-navigation {
		justify-self: end;
		margin-left: auto;
		width: auto !important;
		max-width: none;
		padding: 0;
		background: transparent;
		box-shadow: none;
	}

	.latelier-header .wp-block-navigation__responsive-container {
		position: static;
		display: block;
		width: auto !important;
		max-width: none !important;
		flex: 0 0 auto;
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-content {
		display: block;
		padding-top: 0;
		background: transparent !important;
	}

	.latelier-header .wp-block-navigation__responsive-dialog,
	.latelier-header .wp-block-navigation__responsive-close {
		background: transparent !important;
		box-shadow: none !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.latelier-header .wp-block-navigation__container {
		display: flex;
		flex-wrap: nowrap;
		gap: 0.85rem;
		padding: 0.95rem 1.3rem;
		border-radius: 999px;
		background: rgba(255, 253, 249, 0.96);
		box-shadow: 0 18px 36px rgba(32, 21, 12, 0.08);
	}

	.latelier-header .wp-block-navigation-item__content {
		font-size: 0.76rem;
	}

}

@media (min-width: 783px) {

	.latelier-shop-layout__filters .wc-block-product-filters__open-overlay,
	.latelier-shop-layout__filters .wc-block-product-filters__overlay-header,
	.latelier-shop-layout__filters .wc-block-product-filters__overlay-footer,
	.latelier-shop-layout__filters .wc-block-product-filters__close-overlay {
		display: none !important;
	}

	.latelier-shop-layout__filters .wc-block-product-filters__overlay {
		position: relative !important;
		background: transparent !important;
		pointer-events: auto !important;
	}

	.latelier-shop-layout__filters .wc-block-product-filters__overlay-wrapper {
		height: auto !important;
	}

	.latelier-shop-layout__filters .wc-block-product-filters__overlay-dialog {
		position: relative !important;
		transform: none !important;
		transition: none !important;
		inset: auto !important;
		max-height: none !important;
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.latelier-shop-layout__filters .wc-block-product-filters__overlay-content {
		overflow: visible !important;
		padding: 0 !important;
	}
}

@media (max-width: 782px) {

	.latelier-header {
		padding-left: 0.9rem;
		padding-right: 0.9rem;
	}

	.latelier-header__inner {
		grid-template-columns: 1fr auto;
	}

	.latelier-header .wp-block-navigation {
		justify-content: flex-end !important;
		width: auto;
		padding: 0;
		background: transparent;
		box-shadow: none;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 3.25rem;
		height: 3.25rem;
		border: 1px solid rgba(219, 207, 193, 0.92);
		border-radius: 999px;
		background: rgba(255, 253, 249, 0.96);
		box-shadow: 0 12px 30px rgba(32, 21, 12, 0.06);
	}

	/* Mobile: show cart icon only next to hamburger, hide account icon */
	.latelier-header__inner>.wp-block-shortcode {
		display: flex !important;
		align-items: center;
		padding: 0 !important;
		margin: 0 !important;
	}

	.latelier-header__inner>.wp-block-shortcode .latelier-header-account {
		display: none !important;
	}

	.latelier-header__inner>.wp-block-shortcode .latelier-header-cart {
		display: inline-flex !important;
	}

	.latelier-header .wp-block-navigation__responsive-container {
		position: fixed !important;
		inset: 0 !important;
		z-index: 9999;
		display: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		padding: 0 !important;
		background: rgba(18, 15, 13, 0.22);
		backdrop-filter: blur(8px);
	}

	.latelier-header .wp-block-navigation__responsive-container.is-menu-open {
		display: block !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		padding: 0 !important;
		overflow: hidden;
	}

	.latelier-header .wp-block-navigation__responsive-close {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 100dvh;
		padding: 0;
		width: 100%;
	}

	.latelier-header .wp-block-navigation__responsive-dialog {
		display: block;
		width: 100%;
		max-width: 100%;
		min-height: 100dvh;
		position: relative;
		margin: 0;
		padding: 1.5rem;
		border-radius: 0;
		background: var(--latelier-paper) !important;
		box-shadow: none;
	}

	.latelier-header .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 1.5rem;
		right: 1.5rem;
		z-index: 2;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		border: 1px solid rgba(219, 207, 193, 0.92);
		border-radius: 999px;
		background: rgba(255, 253, 249, 0.96);
	}

	.latelier-header .wp-block-navigation__responsive-container-content {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		width: 100%;
	}

	.latelier-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		display: flex;
		flex: 0 1 auto;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.85rem;
		width: min(100%, 36rem);
		max-width: 36rem;
		margin: 0 auto;
		padding: 0 1rem;
		background: transparent;
		box-shadow: none;
		border-radius: 0;
		text-align: center;
		list-style: none;
		padding-inline-start: 0;
		margin-block: 0;
	}

	.latelier-header .wp-block-navigation-item {
		width: 100%;
	}

	.latelier-header .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 0;
		font-family: "Cormorant Garamond", serif;
		font-size: clamp(2.2rem, 6vw, 3.8rem);
		line-height: 0.95;
		letter-spacing: -0.035em;
		text-transform: none;
	}

	.latelier-hero__grid,
	.woocommerce div.product:not(.wp-block-group),
	.single-product .wp-site-blocks .wp-block-group.woocommerce.product>main>.wp-block-columns.alignwide,
	.latelier-story-card,
	.latelier-story-card--reverse {
		grid-template-columns: 1fr;
	}

	.latelier-hero-badge {
		left: 1rem;
		bottom: 1.5rem;
	}

	.latelier-hero-scroll {
		display: none;
	}

	.latelier-shop-layout__products .wc-block-product-template,
	.latelier-shop-layout__products .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.latelier-category-grid,
	.latelier-story-grid {
		grid-template-columns: 1fr;
	}

		.latelier-category-card {
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		}

		.single-product .latelier-related-carousel {
			margin-left: -50vw;
			margin-right: -50vw;
			left: 50%;
			right: 50%;
		}

	.latelier-shop-layout {
		grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
		gap: 1.85rem;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4,
	.wp-block-latest-posts.is-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.latelier-filters__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 782px) {
	.latelier-utility {
		display: none;
	}

	.latelier-header {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

	.latelier-header__inner {
		grid-template-columns: 1fr auto;
	}

	.latelier-header .wp-block-navigation {
		justify-content: flex-end !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		width: 3rem;
		height: 3rem;
	}

	/* Mobile ≤782px: cart icon only, no account */
	.latelier-header__inner>.wp-block-shortcode {
		display: flex !important;
		align-items: center;
		padding: 0 !important;
		margin: 0 !important;
	}

	.latelier-header__inner>.wp-block-shortcode .latelier-header-account {
		display: none !important;
	}

	.latelier-header__inner>.wp-block-shortcode .latelier-header-cart {
		display: inline-flex !important;
		width: 2.75rem !important;
		height: 2.75rem !important;
	}

	.latelier-header .wp-block-navigation__responsive-container {
		background: rgba(18, 15, 13, 0.26);
	}

	.latelier-header .wp-block-navigation__responsive-dialog {
		padding: 1.1rem 1.1rem 1.75rem;
		background: var(--latelier-paper) !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-content {
		padding: 0;
	}

	.latelier-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		gap: 1rem;
		max-width: 100%;
		padding: 0;
	}

	.latelier-header .wp-block-navigation-item__content {
		font-family: "Cormorant Garamond", serif;
		font-size: clamp(2rem, 8vw, 3rem);
		line-height: 0.95;
		letter-spacing: -0.03em;
		text-transform: none;
	}

	.latelier-logo {
		max-width: 9ch;
	}

	.latelier-header .wp-block-navigation {
		width: auto;
		padding: 0;
		background: transparent;
		box-shadow: none;
	}

	.latelier-actions {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
	}

	.latelier-actions .latelier-button {
		width: auto;
		min-width: 11.5rem;
		padding: 0.95rem 1.35rem;
	}

	.latelier-actions .latelier-button--ghost {
		min-width: 14.5rem;
	}

	.latelier-benefits {
		gap: 0.55rem 1rem;
		font-size: 0.76rem;
	}

	.latelier-shop-layout__filters {
		position: static;
		order: 0;
	}

	.latelier-shop-layout__products {
		order: 1;
	}

	.latelier-shop-layout__products .wc-block-product-template,
	.latelier-shop-layout__products .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.latelier-hero h1,
	.latelier-page-shell h1,
	.latelier-blog-head h1 {
		font-size: clamp(3rem, 16vw, 5rem);
	}

	.latelier-home .latelier-hero h1 {
		max-width: none;
	}

	.latelier-hero__media {
		grid-template-columns: 1fr;
	}

	.latelier-hero__media>img {
		min-height: 460px;
	}

	.latelier-hero__stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.latelier-hero-badge {
		display: none;
	}

	.latelier-section-head,
	.latelier-shop-toolbar,
	.latelier-footer__top,
	.latelier-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.latelier-service-band {
		grid-template-columns: 1fr;
	}

	.latelier-section-head {
		gap: 0.55rem;
	}

	.latelier-section h2,
	.latelier-value-strip h2 {
		font-size: clamp(2rem, 11vw, 2.8rem);
	}

	.latelier-value-strip {
		padding: 1.1rem;
		border-radius: 20px;
	}

	.latelier-value-strip .wp-block-columns {
		gap: 1.2rem;
	}

	.latelier-value-strip .wp-block-column+.wp-block-column {
		padding-top: 1rem;
		border-top: 1px solid rgba(219, 207, 193, 0.9);
	}

	.latelier-category-card {
		grid-template-columns: 1fr;
	}

	.latelier-category-card img {
		height: 260px;
		min-height: 0;
		object-position: center center;
	}

	.latelier-page-shell .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce-page ul.products.columns-4,
	.wp-block-latest-posts.is-grid,
	.latelier-instagram-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.latelier-story-card__body {
		order: 2;
	}

	.latelier-story-card__body {
		padding: 1.25rem 1rem 1.35rem;
	}

	.latelier-footer {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

	.latelier-shop-toolbar {
		padding: 0;
	}

	.latelier-shop-toolbar .wc-block-product-search {
		width: 100%;
		flex-basis: 100%;
	}

	.latelier-shop-toolbar .wc-block-product-search__fields {
		padding-left: 0.8rem;
	}

	.latelier-shop-layout__filters .wc-block-product-filters {
		padding: 0.85rem;
		border-radius: 18px;
	}

	.latelier-shop-layout__filters .wc-block-product-filter-price-slider__content {
		grid-template-areas:
			"price-slider"
			"left-input"
			"right-input";
		grid-template-columns: minmax(0, 1fr);
	}

	.latelier-shop-layout__filters .wc-block-product-filters__open-overlay {
		width: 100%;
		justify-content: center;
		padding: 0.9rem 1rem;
		border: 1px solid var(--latelier-line);
		border-radius: 999px;
		background: var(--latelier-paper);
		font-size: 0.76rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.latelier-shop-layout__products .wc-block-product,
	.latelier-shop-layout__products .type-product {
		border-radius: 18px;
	}

	.latelier-shop-archive {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

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

	.latelier-filters__row {
		grid-template-columns: 1fr;
	}
}

/* Mobile nav actions — injected by JS into hamburger overlay */
.latelier-mobile-nav-actions {
	display: none;
}

/* Fix: overlay inherits white color from hero transparent state — force dark text + icons */
body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--latelier-ink) !important;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation__responsive-container.is-menu-open .latelier-header-icon {
	color: var(--latelier-ink) !important;
	background: var(--latelier-highlight) !important;
}

body.has-cinematic-hero .latelier-header:not(.is-scrolled) .wp-block-navigation__responsive-container.is-menu-open .latelier-header-icon:hover {
	color: var(--latelier-ink) !important;
	background: var(--latelier-rose) !important;
}

/* ── Footer column internal spacing ── */
.latelier-footer__top .wp-block-column>*+* {
	margin-top: 1.25rem;
}

.latelier-footer__top .wp-block-column:first-child {
	padding-right: clamp(0rem, 3vw, 2rem);
}

.latelier-footer__top .wp-block-column p {
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--latelier-muted);
}

.latelier-footer__top .wp-block-column:last-child .wp-block-paragraph {
	margin-bottom: 0;
}

/* ── Product gallery — disable zoom, fix layout ── */
.woocommerce-product-gallery__trigger,
.zoomImg {
	display: none !important;
}

.single-product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column;
	gap: 0.75rem;
}

.single-product .woocommerce-product-gallery .flex-viewport {
	border-radius: 18px;
	overflow: hidden;
	width: 100%;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	border-radius: 18px;
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transform: none !important;
	transition: none !important;
	border-radius: 0;
	display: block;
}

/* Desktop: product main image should not dominate the viewport height. */
@media (min-width: 1024px) {
	.single-product .woocommerce-product-gallery .flex-viewport {
		max-height: min(68vh, 720px) !important;
	}

	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
		max-height: min(68vh, 720px) !important;
		height: auto !important;
		object-fit: cover;
	}
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0;
	padding: 0;
	list-style: none;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
	flex: 0 0 calc(25% - 0.375rem);
	margin: 0;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
	border-radius: 10px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	cursor: pointer;
	opacity: 0.65;
	transition: opacity 0.2s;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover {
	opacity: 1;
}

/* ── Product page — summary improvements ── */
.single-product .woocommerce div.product .product_title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.35rem;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
	font-size: 1.2rem;
	font-family: "Jost", sans-serif;
	font-weight: 400;
}

.single-product .woocommerce div.product:not(.wp-block-group) .summary>*+* {
	margin-top: 1.5rem;
}

/* Breadcrumb */
.single-product .woocommerce-breadcrumb {
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	color: var(--latelier-muted);
}

.single-product .woocommerce-breadcrumb a {
	color: var(--latelier-muted);
	text-decoration: none;
}

.single-product .woocommerce-breadcrumb a:hover {
	color: var(--latelier-ink);
}

/* Quantity input wrapper — même style que inputs prix boutique */
.single-product .woocommerce div.product form.cart .quantity,
.single-product .woocommerce div.product:not(.wp-block-group) form.cart .quantity {
	display: inline-flex !important;
	align-items: center;
	height: 3rem !important;
	background: linear-gradient(180deg, rgba(255, 252, 247, 1) 0%, rgba(247, 240, 232, 1) 100%) !important;
	border: 1px solid rgba(216, 203, 188, 0.95) !important;
	border-radius: 999px !important;
	padding: 0 !important;
	overflow: hidden;
	box-shadow: 0 12px 26px rgba(32, 21, 12, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
}

/* ── Related products — consistent grid ── */
.single-product .related.products,
.single-product .up-sells.products {
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: 1px solid var(--latelier-line);
}

.single-product .related.products ul.products,
.single-product .up-sells.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

@media (max-width: 782px) {

	.single-product .related.products ul.products,
	.single-product .up-sells.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {

	.single-product .related.products ul.products,
	.single-product .up-sells.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.latelier-mobile-nav-actions {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		padding-top: 1.25rem;
		margin-top: 0.5rem;
		border-top: 1px solid var(--latelier-line);
		width: 100%;
	}

	.latelier-mobile-nav-actions .latelier-header-icon {
		width: 48px;
		height: 48px;
		background: var(--latelier-highlight);
		color: var(--latelier-ink);
		border: 1px solid var(--latelier-line);
	}

	.latelier-mobile-nav-actions .latelier-header-icon:hover {
		background: var(--latelier-rose);
	}

	.latelier-mobile-nav-actions .latelier-header-cart__count {
		top: 2px;
		right: 2px;
	}
}

/* ── Quantity stepper buttons ── */
.qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1;
	color: var(--latelier-ink);
	transition: background 0.15s, color 0.15s;
	padding: 0;
	user-select: none;
}

.qty-btn:hover {
	background: var(--latelier-highlight);
	color: var(--latelier-accent);
}

.qty-btn:focus-visible {
	outline: 2px solid var(--latelier-accent);
	outline-offset: -2px;
	border-radius: 8px;
}

/* ── Products carousel (Swiper) ── */
.latelier-products-carousel {
	position: relative;
	padding: 0 1rem;
	--latelier-carousel-edge-fade: clamp(1.15rem, 3.8vw, 3rem);
	--latelier-carousel-side-pad: 1rem;
	--latelier-carousel-overlay-opacity: 0.96;
	--latelier-carousel-card-height: clamp(295px, 34vw, 395px);
	--latelier-carousel-image-height: clamp(220px, 30vw, 340px);
}

/* Page-edge overlays (viewport edges), not container-edge overlays. */
.latelier-products-carousel::before,
.latelier-products-carousel::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 3rem;
	pointer-events: none;
	z-index: 2;
	transition: opacity 0.25s ease;
	opacity: var(--latelier-carousel-overlay-opacity);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.latelier-swiper {
	overflow: visible;
	padding-bottom: 2rem;
	position: relative;
	z-index: 3;
}

.latelier-products-carousel::before {
	left: calc((100% - var(--latelier-safe-vw, 100vw)) / 2 - var(--latelier-carousel-side-pad));
	width: calc((var(--latelier-safe-vw, 100vw) - 100%) / 2 + var(--latelier-carousel-edge-fade) + var(--latelier-carousel-side-pad));
	background:
		linear-gradient(
			90deg,
			rgba(252, 244, 241, 1) 0%,
			rgba(252, 244, 241, 0.82) 32%,
			rgba(252, 244, 241, 0) 100%
		);
}

.latelier-products-carousel::after {
	right: calc((100% - var(--latelier-safe-vw, 100vw)) / 2 - var(--latelier-carousel-side-pad));
	width: calc((var(--latelier-safe-vw, 100vw) - 100%) / 2 + var(--latelier-carousel-edge-fade) + var(--latelier-carousel-side-pad));
	background:
		linear-gradient(
			270deg,
			rgba(252, 244, 241, 1) 0%,
			rgba(252, 244, 241, 0.82) 32%,
			rgba(252, 244, 241, 0) 100%
		);
}

/* No fade mask needed when carousel is short/static. */
.latelier-products-carousel.latelier-products-carousel--few::before,
.latelier-products-carousel.latelier-products-carousel--few::after {
	opacity: 0.62;
}

@media (max-width: 782px) {
	.latelier-products-carousel {
		--latelier-carousel-edge-fade: clamp(0.7rem, 5vw, 1.25rem);
		--latelier-carousel-card-height: clamp(320px, 88vw, 390px);
		--latelier-carousel-image-height: clamp(190px, 56vw, 255px);
	}
}

.latelier-carousel__card {
	border-radius: 20px;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
	height: var(--latelier-carousel-card-height);
	min-height: var(--latelier-carousel-card-height);
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.42s cubic-bezier(0.4, 0, 0.2, 1), transform 0.42s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.42s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.latelier-carousel__card:hover {
	box-shadow: 0 18px 44px rgba(138, 90, 102, 0.14);
	transform: translateY(-5px);
}

/* Active centered slide — subtle elevation */
.latelier-swiper .swiper-slide-active .latelier-carousel__card,
.latelier-swiper .swiper-slide-duplicate-active .latelier-carousel__card {
	box-shadow: 0 12px 36px rgba(138, 90, 102, 0.10);
}

/* Edge overflow slides — subtly dimmed for depth perception */
.latelier-swiper .swiper-slide:not(.swiper-slide-visible):not(.swiper-slide-active) .latelier-carousel__card {
	opacity: 0.78;
	transform: scale(0.975);
}

.latelier-carousel__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.latelier-carousel__img-wrap {
	overflow: hidden;
	height: var(--latelier-carousel-image-height);
	min-height: var(--latelier-carousel-image-height);
	background: #f7f2ee;
	flex: 0 0 var(--latelier-carousel-image-height);
}

.latelier-carousel__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.latelier-carousel__card:hover .latelier-carousel__img {
	transform: scale(1.07);
}

.latelier-carousel__body {
	padding: 0.35rem 0.8rem 0.35rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-height: 0;
}

.latelier-carousel__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(0.95rem, 1.25vw, 1.2rem);
	font-weight: 600;
	margin: 0;
	line-height: 1.2;
	min-height: calc(1.2em * 1.7);
}

.latelier-carousel__price {
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--latelier-ink);
	margin-top: auto;
	padding-top: 0.35rem;
}

/* Carousel nav buttons */
.latelier-swiper-prev,
.latelier-swiper-next {
	position: absolute;
	top: calc(40% - 1.5rem);
	z-index: 12;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	box-shadow: 0 6px 18px rgba(32, 21, 12, 0.08);
	cursor: pointer;
	color: var(--latelier-ink);
	transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
	padding: 0;
}

.latelier-swiper-prev {
	left: -0.5rem;
}

.latelier-swiper-next {
	right: -0.5rem;
}

.latelier-swiper-prev:hover,
.latelier-swiper-next:hover {
	background: var(--latelier-accent);
	color: var(--latelier-paper);
	border-color: var(--latelier-accent);
	box-shadow: 0 8px 28px rgba(138, 90, 102, 0.30);
	transform: scale(1.1);
}

.latelier-swiper-prev.swiper-button-disabled,
.latelier-swiper-next.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

/* Pagination dots */
.latelier-swiper-pagination {
	position: absolute;
	bottom: 0.5rem;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 0.4rem;
}

.latelier-swiper-pagination .swiper-pagination-bullet {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--latelier-line);
	opacity: 1;
	transition: background 0.32s cubic-bezier(0.4, 0, 0.2, 1), width 0.42s cubic-bezier(0.4, 0, 0.2, 1), transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
}

.latelier-swiper-pagination .swiper-pagination-bullet-active {
	background: var(--latelier-accent);
	width: 22px;
	transform: scaleY(1.25);
}

/* ── prefers-reduced-motion: disable carousel animations ── */
@media (prefers-reduced-motion: reduce) {
	.latelier-carousel__card,
	.latelier-carousel__img,
	.latelier-swiper-prev,
	.latelier-swiper-next,
	.latelier-swiper-pagination .swiper-pagination-bullet {
		transition: none !important;
		animation: none !important;
		will-change: auto !important;
	}
	.latelier-swiper .swiper-slide:not(.swiper-slide-visible):not(.swiper-slide-active) .latelier-carousel__card {
		opacity: 1;
		transform: none;
	}
}

/* ── Instagram live items ── */
.latelier-instagram-item {
	position: relative;
	display: block;
	overflow: hidden;
}

.latelier-instagram-item img {
	transition: transform 0.4s ease;
	display: block;
	width: 100%;
}

.latelier-instagram-item:hover img {
	transform: scale(1.05);
}

.latelier-instagram-item__hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(23, 19, 17, 0.35);
	color: #fff;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.latelier-instagram-item:hover .latelier-instagram-item__hover {
	opacity: 1;
}

/* ══════════════════════════════════════════════════════════
   PATCH — batch fixes
   ══════════════════════════════════════════════════════════ */

/* ── 1. Safari: category card body explicit background ── */
.latelier-category-card__body {
	background: linear-gradient(180deg, #fffaf7 0%, #fbf4f1 100%);
	background-color: #fffaf7;
	/* fallback for Safari */
}

/* ── 2. Carousel: equal-height slides + title 2-line clamp ── */
.latelier-swiper .swiper-wrapper {
	align-items: flex-start;
}

.latelier-swiper .swiper-slide {
	height: auto;
	display: flex;
}

.latelier-swiper .swiper-slide > * {
	width: 100%;
}

.latelier-carousel__title {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* ── 3. Mobile header: header actions handled per-element above ── */

/* ── 4. Product tabs: force left align ── */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .panel {
	text-align: left !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel p,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel table,
.single-product .woocommerce-tabs .panel p {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* ── 5. Footer: "Envoyer un message" button spacing ── */
.latelier-footer__top .wp-block-buttons {
	margin-top: 1rem;
}

/* ── 6. Footer first column: spacing between items ── */
.latelier-footer__top .wp-block-column:first-child>*+* {
	margin-top: 1rem !important;
}

.latelier-footer__top .wp-block-column:first-child .wp-block-site-logo,
.latelier-footer__top .wp-block-column:first-child .wp-block-site-title {
	margin-bottom: 0;
}

/* ── 7. Cart page: styled product images ── */
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-cart .woocommerce-cart-form img {
	border-radius: 14px !important;
	border: 1px solid var(--latelier-line);
	box-shadow: 0 6px 18px rgba(32, 21, 12, 0.06);
}

/* ── 8. Shop pagination: margin-top from grid ── */
.woocommerce-pagination,
.wp-block-query-pagination,
.woocommerce nav.woocommerce-pagination {
	margin-top: 3.5rem !important;
	display: flex;
	justify-content: center;
}

/* ── 9. Mobile filters: overlay open button + close button style ── */
@media (max-width: 782px) {
	.latelier-shop-layout__filters .wc-block-product-filters__open-overlay {
		display: flex !important;
		width: 100%;
		justify-content: center;
		align-items: center;
		gap: 0.5rem;
		padding: 0.9rem 1.25rem;
		border: 1px solid var(--latelier-line) !important;
		border-radius: 999px !important;
		background: var(--latelier-paper) !important;
		color: var(--latelier-ink) !important;
		font-family: "Jost", sans-serif;
		font-size: 0.76rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		cursor: pointer;
		box-shadow: 0 8px 22px rgba(32, 21, 12, 0.05);
		transition: background 0.2s, box-shadow 0.2s;
		margin-bottom: 0;
	}

	.latelier-shop-layout__filters .wc-block-product-filters__open-overlay:hover {
		background: var(--latelier-highlight) !important;
	}

	body.woocommerce-shop .latelier-shop-layout__filters .wc-block-product-filters__overlay {
		display: none !important;
	}

	body.woocommerce-shop.latelier-filters-open .latelier-shop-layout__filters .wc-block-product-filters__overlay {
		display: block !important;
	}
}

@media (max-width: 782px) {
	body.woocommerce-shop .latelier-shop-layout__filters .wc-block-product-filters__close-overlay {
		display: none !important;
	}
}

body.woocommerce-shop.latelier-filters-open {
	overflow: auto !important;
}

/* ══════════════════════════════════════════════════════════════
   ABOUT PAGE — redesign complet
   ══════════════════════════════════════════════════════════════ */

.latelier-about {
	padding-bottom: 0;
}

/* ── Hero ── */
.latelier-about-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(160deg, var(--latelier-canvas) 0%, var(--latelier-highlight) 60%, var(--latelier-rose) 100%);
	padding: clamp(5rem, 12vw, 9rem) var(--latelier-gutter) clamp(4rem, 9vw, 7rem);
}

.latelier-about-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.latelier-about-hero__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: 0.55;
}

.latelier-about-hero__blob--1 {
	width: 60vw;
	height: 60vw;
	max-width: 700px;
	max-height: 700px;
	background: radial-gradient(circle, rgba(239, 201, 197, 0.7) 0%, transparent 70%);
	top: -20%;
	right: -15%;
}

.latelier-about-hero__blob--2 {
	width: 45vw;
	height: 45vw;
	max-width: 500px;
	max-height: 500px;
	background: radial-gradient(circle, rgba(216, 228, 215, 0.6) 0%, transparent 70%);
	bottom: -10%;
	left: -10%;
}

.latelier-about-hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--latelier-shell);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
}

.latelier-about-hero__copy {
	max-width: 640px;
}

.latelier-about-hero__eyebrow {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--latelier-accent);
	margin: 0 0 1.35rem;
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.latelier-about-hero__eyebrow::before {
	content: '';
	display: block;
	width: 28px;
	height: 1px;
	background: var(--latelier-accent);
	flex-shrink: 0;
}

.latelier-about-hero__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(3.8rem, 8vw, 7rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.03em;
	margin: 0 0 1.75rem;
	color: var(--latelier-ink);
}

.latelier-about-hero__title em {
	font-style: italic;
	font-weight: 300;
	color: var(--latelier-accent);
}

.latelier-about-hero__lead {
	font-family: "Jost", sans-serif;
	font-size: clamp(1rem, 1.4vw, 1.1rem);
	line-height: 1.75;
	color: var(--latelier-muted);
	max-width: 520px;
	margin: 0 0 2.25rem;
}

.latelier-about-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

/* Stats sidebar */
.latelier-about-hero__stats {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: 26px;
	background: rgba(255, 250, 247, 0.75);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	overflow: hidden;
	box-shadow: 0 24px 56px rgba(76, 49, 39, 0.08);
	min-width: 200px;
}

.latelier-about-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.75rem 2rem;
	gap: 0.45rem;
}

.latelier-about-stat+.latelier-about-stat {
	border-top: 1px solid rgba(219, 207, 193, 0.7);
}

.latelier-about-stat__num {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1;
	color: var(--latelier-accent);
	letter-spacing: -0.03em;
}

.latelier-about-stat__num sup {
	font-size: 0.55em;
	vertical-align: super;
}

.latelier-about-stat__label {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	text-align: center;
	line-height: 1.4;
}

/* ── Values section ── */
.latelier-about-values {
	background: linear-gradient(180deg, var(--latelier-paper) 0%, var(--latelier-canvas) 100%);
	padding: clamp(4rem, 8vw, 7rem) var(--latelier-gutter);
	border-top: 1px solid rgba(219, 207, 193, 0.6);
	border-bottom: 1px solid rgba(219, 207, 193, 0.6);
}

.latelier-about-values__inner {
	max-width: var(--latelier-shell);
	margin: 0 auto;
}

.latelier-about-values__head {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.latelier-about-values__head h2 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2.2rem, 4vw, 3.6rem);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.03em;
	margin: 0.5rem 0 0;
	color: var(--latelier-ink);
}

.latelier-about-values__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.latelier-about-value-card {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: 22px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.latelier-about-value-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 48px rgba(35, 23, 14, 0.1);
}

.latelier-about-value-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fffaf7;
	flex-shrink: 0;
	box-shadow: 0 10px 24px var(--latelier-accent-shadow);
}

.latelier-about-value-card h3 {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--latelier-ink);
}

.latelier-about-value-card p {
	font-size: 0.9rem;
	line-height: 1.7;
	color: var(--latelier-muted);
	margin: 0;
}

/* ── About content (post-content) ── */
/* ── About Story Section ── */
.latelier-about-story {
	padding: clamp(5rem, 10vw, 8rem) var(--latelier-gutter);
	background: var(--latelier-canvas);
}

.latelier-about-story__inner {
	max-width: var(--latelier-shell);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 45fr 55fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
}

.latelier-about-story__media {
	position: relative;
}

.latelier-about-story__frame {
	position: relative;
}

.latelier-about-story__frame::before {
	content: "";
	position: absolute;
	inset: -3rem -1rem -3rem -2rem;
	background: linear-gradient(135deg, var(--latelier-rose) 0%, var(--latelier-sage) 100%);
	border-radius: 62% 38% 46% 54% / 60% 44% 56% 40%;
	opacity: 0.4;
	z-index: 0;
	transform: rotate(-4deg);
}

.latelier-about-story__portrait {
	position: relative;
	z-index: 1;
	width: 100%;
	height: clamp(420px, 48vw, 620px);
	object-fit: cover;
	object-position: top center;
	border-radius: var(--latelier-radius);
	box-shadow: 0 24px 60px rgba(76, 49, 39, 0.13);
	display: block;
}

.latelier-about-story__badge {
	position: absolute;
	bottom: 2.5rem;
	right: -1.5rem;
	z-index: 2;
	background: linear-gradient(135deg, var(--latelier-accent), var(--latelier-accent-strong));
	color: var(--latelier-paper);
	border-radius: 50%;
	width: 88px;
	height: 88px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25em;
	font-size: 0.65rem;
	text-align: center;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-weight: 600;
	box-shadow: 0 10px 28px rgba(138, 90, 102, 0.35);
}

.latelier-about-story__heading {
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	font-size: clamp(1.9rem, 3.5vw, 2.8rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--latelier-ink);
	margin-top: 0.5rem;
	margin-bottom: 1.25rem;
}

.latelier-about-story__text {
	line-height: 1.82;
	color: var(--latelier-muted);
	font-size: 1.05rem;
	margin-bottom: 1.25rem;
}

.latelier-about-story__cta {
	margin-top: 1.5rem;
	display: inline-flex;
}

.latelier-about-checklist {
	list-style: none;
	padding-left: 0;
	margin-top: 1.5rem;
	margin-bottom: 0;
}

.latelier-about-checklist li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0.65rem;
	color: var(--latelier-muted);
	font-size: 1.0rem;
	line-height: 1.65;
}

.latelier-about-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 1rem;
	height: 1rem;
	background-color: var(--latelier-accent-strong);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center / contain;
}

.latelier-about-story__quote-wrap {
	max-width: var(--latelier-shell);
	margin: 3.5rem auto 0;
}

.latelier-about-story__quote {
	border: none;
	border-radius: 22px;
	background: linear-gradient(135deg, rgba(239, 201, 197, 0.2) 0%, rgba(216, 228, 215, 0.15) 100%);
	padding: clamp(2rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4.5rem);
	text-align: center;
	box-shadow: inset 0 0 0 1px rgba(219, 207, 193, 0.7);
	margin: 0;
}

.latelier-about-story__quote p {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--latelier-ink);
	font-style: italic;
	margin: 0;
}

/* Ghost button — hero v2 context (light warm bg, needs visible border) */
.latelier-about-hero-v2 .latelier-button--ghost {
	border-color: rgba(138, 90, 102, 0.6);
	box-shadow: 0 4px 16px rgba(138, 90, 102, 0.12);
}

/* Ghost button — CTA dark context (dark bg, needs transparent style) */
.latelier-about-cta .latelier-button--ghost {
	background: transparent;
	color: rgba(255, 250, 247, 0.88);
	border-color: rgba(255, 250, 247, 0.32);
	box-shadow: none;
}

.latelier-about-cta .latelier-button--ghost:hover,
.latelier-about-cta .latelier-button--ghost:focus-visible {
	background: rgba(255, 250, 247, 0.1);
	color: rgba(255, 250, 247, 0.95);
	border-color: rgba(255, 250, 247, 0.55);
}

/* ── CTA section ── */
.latelier-about-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #2d1d1a 0%, #3d2828 50%, #2a2020 100%);
	padding: clamp(6rem, 12vw, 10rem) var(--latelier-gutter);
	text-align: center;
}

.latelier-about-cta__deco {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 30% 50%, rgba(239, 201, 197, 0.12) 0%, transparent 50%),
		radial-gradient(circle at 75% 30%, rgba(138, 90, 102, 0.18) 0%, transparent 45%);
	pointer-events: none;
}

.latelier-about-cta__inner {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(2.35rem, 5vw, 3.45rem) clamp(1.9rem, 4vw, 3rem);
	border-radius: 24px;
	background: rgba(255, 250, 247, 0.03);
	border: 1px solid rgba(255, 250, 247, 0.12);
}

.latelier-about-cta .latelier-eyebrow {
	color: rgba(239, 201, 197, 0.6);
}

.latelier-about-cta h2 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(3rem, 6vw, 5.5rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.03em;
	color: rgba(255, 250, 247, 0.95);
	margin: 0.75rem 0 1.5rem;
}

.latelier-about-cta h2 em {
	font-style: italic;
	font-weight: 300;
	color: rgba(239, 201, 197, 0.88);
}

.latelier-about-cta__lead {
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(255, 250, 247, 0.5);
	max-width: 500px;
	margin: 0 auto 2.5rem;
}

.latelier-about-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	justify-content: center;
}

/* ── About page responsive ── */
@media (max-width: 900px) {
	.latelier-about-hero__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.latelier-about-hero__stats {
		flex-direction: row;
		min-width: 0;
		width: 100%;
	}

	.latelier-about-stat {
		flex: 1;
		padding: 1.25rem 1rem;
	}

	.latelier-about-stat+.latelier-about-stat {
		border-top: none;
		border-left: 1px solid rgba(219, 207, 193, 0.7);
	}

	.latelier-about-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.latelier-about-story__inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.latelier-about-story__frame::before {
		inset: -1.5rem -1rem -1.5rem -1rem;
	}

	.latelier-about-story__portrait {
		height: clamp(320px, 65vw, 480px);
	}

	.latelier-about-story__badge {
		right: 1rem;
		bottom: 1.5rem;
	}
}

@media (max-width: 600px) {
	.latelier-about-hero__title {
		font-size: clamp(3rem, 16vw, 5rem);
	}

	.latelier-about-hero__stats {
		flex-direction: column;
	}

	.latelier-about-stat+.latelier-about-stat {
		border-left: none;
		border-top: 1px solid rgba(219, 207, 193, 0.7);
	}

	.latelier-about-values__grid {
		grid-template-columns: 1fr;
	}

	.latelier-about-hero__actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.latelier-about-cta__actions {
		flex-direction: column;
		align-items: center;
	}

	.latelier-about-cta__inner {
		padding: 2rem 1.35rem;
	}

	.latelier-about-story__badge {
		width: 72px;
		height: 72px;
		font-size: 0.58rem;
	}

	.latelier-about-story__quote-wrap {
		margin-top: 2.5rem;
	}
}

/* ══════════════════════════════════════════════════════════════
   ABOUT HERO V2 — Editorial Split (2026)
   ══════════════════════════════════════════════════════════════ */

.latelier-about-hero-v2 {
	display: grid;
	grid-template-columns: 44% 56%;
	min-height: 100svh;
	overflow: hidden;
	background: var(--latelier-canvas);
	max-width: var(--latelier-shell);
	margin-left: auto;
	margin-right: auto;
}

/* ── Image side ── */
.latelier-about-hero-v2__media {
	position: relative;
	overflow: hidden;
}

.latelier-about-hero-v2__media-frame {
	position: absolute;
	inset: 0;
	clip-path: inset(0 0 100% 0);
	animation: ahv2ImgReveal 1.05s cubic-bezier(0.76, 0, 0.24, 1) 0.08s forwards;
	will-change: clip-path;
}

@keyframes ahv2ImgReveal {
	to {
		clip-path: inset(0 0 0% 0);
	}
}

.latelier-about-hero-v2__portrait {
	width: 100%;
	height: 115%;
	object-fit: cover;
	object-position: center 12%;
	display: block;
	margin-top: -8%;
	will-change: transform;
}

/* Bottom gradient for tag readability */
.latelier-about-hero-v2__media-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom,
			transparent 55%,
			rgba(45, 35, 34, 0.28) 100%);
	pointer-events: none;
}

/* Floating "Avec passion" tag */
.latelier-about-hero-v2__tag {
	position: absolute;
	bottom: clamp(1.5rem, 3vw, 2rem);
	left: clamp(1rem, 3vw, 1.75rem);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	background: rgba(255, 250, 247, 0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(232, 216, 209, 0.9);
	border-radius: 100px;
	padding: 0.55rem 1rem 0.55rem 0.7rem;
	font-family: "Jost", sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--latelier-accent);
	box-shadow: 0 8px 28px rgba(76, 49, 39, 0.14);
	transform: scale(0.82) translateY(6px);
	opacity: 0;
	animation: ahv2TagIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 1.25s forwards;
	will-change: transform, opacity;
}

@keyframes ahv2TagIn {
	to {
		transform: scale(1) translateY(0);
		opacity: 1;
	}
}

/* ── Text side ── */
.latelier-about-hero-v2__body {
	display: flex;
	align-items: center;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(2.5rem, 5vw, 5rem);
}

.latelier-about-hero-v2__inner {
	max-width: 560px;
	width: 100%;
}

/* Eyebrow row */
.latelier-about-hero-v2__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.75rem;
}

.latelier-about-hero-v2__eyebrow-line {
	display: block;
	width: 0;
	height: 1px;
	background: var(--latelier-accent);
	flex-shrink: 0;
	animation: ahv2LineGrow 0.55s ease-out 0.4s forwards;
	will-change: width;
}

@keyframes ahv2LineGrow {
	to {
		width: 30px;
	}
}

.latelier-about-hero-v2__eyebrow {
	font-family: "Jost", sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--latelier-accent);
	margin: 0;
	opacity: 0;
	transform: translateY(6px);
	animation: ahv2FadeUp 0.45s ease-out 0.55s forwards;
}

/* Title — per-line clip reveal */
.latelier-about-hero-v2__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(3.6rem, 7vw, 6.5rem);
	font-weight: 400;
	line-height: 0.93;
	letter-spacing: -0.03em;
	margin: 0 0 1.75rem;
	color: var(--latelier-ink);
}

.latelier-about-hero-v2__title-clip {
	display: block;
	overflow: hidden;
	padding-bottom: 0.08em;
}

.latelier-about-hero-v2__title-clip>span,
.latelier-about-hero-v2__title-clip>em {
	display: block;
	transform: translateY(112%);
	animation: ahv2LineUp 0.82s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	animation-delay: calc(0.52s + var(--wi, 0) * 0.15s);
	will-change: transform;
}

.latelier-about-hero-v2__title-clip>em {
	font-style: italic;
	font-weight: 300;
	color: var(--latelier-accent);
}

@keyframes ahv2LineUp {
	to {
		transform: translateY(0);
	}
}

/* Lead */
.latelier-about-hero-v2__lead {
	font-family: "Jost", sans-serif;
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
	line-height: 1.75;
	color: var(--latelier-muted);
	max-width: 500px;
	margin: 0 0 2.25rem;
	opacity: 0;
	transform: translateY(14px);
	animation: ahv2FadeUp 0.55s ease-out 1.05s forwards;
}

/* Actions */
.latelier-about-hero-v2__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-bottom: 2.75rem;
	opacity: 0;
	transform: translateY(14px);
	animation: ahv2FadeUp 0.55s ease-out 1.2s forwards;
}

/* Stats */
.latelier-about-hero-v2__stats {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	opacity: 0;
	transform: translateY(14px);
	animation: ahv2FadeUp 0.55s ease-out 1.35s forwards;
	padding-top: 1.5rem;
	border-top: 1px solid var(--latelier-line);
}

.latelier-about-hero-v2__stat {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.latelier-about-hero-v2__stat-num {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--latelier-ink);
}

.latelier-about-hero-v2__stat-num sup {
	font-size: 0.52em;
	vertical-align: super;
}

.latelier-about-hero-v2__stat-label {
	font-family: "Jost", sans-serif;
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	line-height: 1.4;
}

.latelier-about-hero-v2__stat-sep {
	width: 1px;
	height: 2.25rem;
	background: var(--latelier-line);
	flex-shrink: 0;
}

/* Shared keyframes */
@keyframes ahv2FadeUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
	.latelier-about-hero-v2__media-frame {
		clip-path: inset(0) !important;
		animation: none;
	}

	.latelier-about-hero-v2__portrait,
	.latelier-about-hero-v2__tag,
	.latelier-about-hero-v2__eyebrow-line,
	.latelier-about-hero-v2__eyebrow,
	.latelier-about-hero-v2__title-clip>span,
	.latelier-about-hero-v2__title-clip>em,
	.latelier-about-hero-v2__lead,
	.latelier-about-hero-v2__actions,
	.latelier-about-hero-v2__stats {
		animation: none;
		transform: none !important;
		opacity: 1 !important;
		width: auto;
	}
}

/* ── Responsive ── */
@media (max-width: 900px) {
	.latelier-about-hero-v2 {
		grid-template-columns: 1fr;
		grid-template-rows: 55svh auto;
		min-height: auto;
	}

	.latelier-about-hero-v2__media {
		height: 55svh;
	}

	.latelier-about-hero-v2__media-overlay {
		background: linear-gradient(to bottom,
				transparent 50%,
				rgba(45, 35, 34, 0.3) 100%);
	}

	.latelier-about-hero-v2__tag {
		bottom: 1.25rem;
		left: 1.25rem;
	}

	.latelier-about-hero-v2__body {
		padding: clamp(2.5rem, 6vw, 4rem) var(--latelier-gutter);
	}

	.latelier-about-hero-v2__title {
		font-size: clamp(3rem, 10vw, 4.5rem);
	}
}

@media (max-width: 480px) {
	.latelier-about-hero-v2__title {
		font-size: clamp(2.8rem, 13vw, 4rem);
	}

	.latelier-about-hero-v2__stats {
		flex-wrap: wrap;
		gap: 1rem 1.5rem;
	}

	.latelier-about-hero-v2__stat-sep {
		display: none;
	}

	.latelier-about-hero-v2__actions {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ── 11. Add-to-cart feedback animation ── */
@keyframes latelier-cart-bump {
	0% {
		transform: scale(1);
	}

	35% {
		transform: scale(1.35);
	}

	65% {
		transform: scale(0.9);
	}

	100% {
		transform: scale(1);
	}
}

.latelier-cart-added {
	animation: latelier-cart-bump 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.latelier-cart-toast {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 9999;
	background: var(--latelier-ink);
	color: var(--latelier-paper);
	padding: 0.85rem 1.4rem;
	border-radius: 999px;
	font-family: "Jost", sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	box-shadow: 0 14px 36px rgba(32, 21, 12, 0.22);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

.latelier-cart-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ── 12. Contact form ── */
.latelier-contact-form {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 26px;
	padding: clamp(1.75rem, 4vw, 3rem);
	box-shadow: 0 18px 48px rgba(76, 49, 39, 0.06);
	max-width: 100%;
	margin: 0 auto;
}

.latelier-contact-form__row {
	display: grid;
	gap: 1rem;
}

.latelier-contact-form__row+.latelier-contact-form__row {
	margin-top: 1rem;
}

@media (min-width: 600px) {
	.latelier-contact-form__row--two {
		grid-template-columns: 1fr 1fr;
	}
}

.latelier-contact-form label {
	display: grid;
	gap: 0.4rem;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.latelier-contact-form input,
.latelier-contact-form textarea,
.latelier-contact-form select {
	border: 1px solid var(--latelier-line) !important;
	border-radius: 14px !important;
	background: var(--latelier-canvas) !important;
	padding: 0.85rem 1rem !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.92rem !important;
	color: var(--latelier-ink) !important;
	width: 100%;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.latelier-contact-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.latelier-contact-form input:focus,
.latelier-contact-form textarea:focus {
	outline: none !important;
	border-color: var(--latelier-accent) !important;
	box-shadow: 0 0 0 3px rgba(138, 90, 102, 0.12) !important;
}

.latelier-contact-form__submit {
	margin-top: 1.5rem;
	display: flex;
	justify-content: flex-end;
}

.latelier-contact-form__submit button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	color: var(--latelier-paper);
	border: none;
	border-radius: 999px;
	padding: 0.9rem 2rem;
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 14px 28px var(--latelier-accent-shadow);
	transition: transform 0.2s, box-shadow 0.2s;
}

.latelier-contact-form__submit button:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 30px var(--latelier-accent-shadow);
}

.latelier-contact-form__notice {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	border-radius: 14px;
	font-size: 0.88rem;
}

.latelier-contact-form__notice--success {
	background: rgba(216, 228, 215, 0.5);
	border: 1px solid rgba(138, 172, 135, 0.4);
	color: #3a5e38;
}

.latelier-contact-form__notice--error {
	background: rgba(244, 215, 199, 0.5);
	border: 1px solid rgba(200, 100, 80, 0.3);
	color: #8a3a2a;
}

.latelier-contact-form__anti-spam {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.latelier-contact-form .g-recaptcha {
	margin-top: 1rem;
	margin-bottom: 1.2rem;
}

.latelier-product-read-more {
	display: inline-flex;
	align-items: center;
	margin-left: 0.35rem;
	padding: 0.42rem 0.95rem;
	border-radius: 999px;
	border: 1px solid rgba(116, 69, 82, 0.92);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fffaf7;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%);
	box-shadow: 0 8px 18px rgba(116, 69, 82, 0.24);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.latelier-product-read-more:hover,
.latelier-product-read-more:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 12px 24px rgba(116, 69, 82, 0.3);
}

.single-product .wp-block-post-excerpt + .latelier-product-read-more {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}

.single-product .wp-block-post-title {
	margin-bottom: 0.6rem !important;
}

.single-product .wp-block-woocommerce-product-price {
	margin-bottom: 0.75rem !important;
}

.single-product .wp-block-post-excerpt {
	margin: 0 0 0.75rem !important;
}

.single-product .wp-block-post-excerpt p {
	margin: 0 !important;
	line-height: 1.68;
}

.single-product .latelier-product-read-more {
	margin: 0 0 1.25rem !important;
}

/* ── Related products carousel ── */
.latelier-related-carousel {
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: 1px solid var(--latelier-line);
}

/* Single-product geometry is managed in the dedicated hotfix block below. */

.latelier-related-carousel__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.latelier-related-carousel__head h2 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--latelier-ink);
}

/* Images arrondies pour le carousel related */
.latelier-carousel__img-wrap--rounded {
	border-radius: 18px 18px 0 0;
	overflow: hidden;
}

/* ── Cart carousel wrapper ── */
.latelier-cart-carousel-wrap {
	max-width: var(--latelier-shell);
	margin-left: auto;
	margin-right: auto;
}

/* ── Quantity input: btn hover cohérent avec le pill gradient ── */
.qty-btn:hover {
	background: rgba(244, 215, 199, 0.6) !important;
}

/* ═══════════════════════════════════════════════════════════
   PATCH — WC blocks quantity + images + styles cohérents
   ═══════════════════════════════════════════════════════════ */

/* ── Quantity selector WooCommerce blocs ── */
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
	height: 3rem !important;
	background: linear-gradient(180deg, rgba(255, 252, 247, 1) 0%, rgba(247, 240, 232, 1) 100%) !important;
	border: 1px solid rgba(216, 203, 188, 0.95) !important;
	border-radius: 999px !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 12px 26px rgba(32, 21, 12, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
	gap: 0 !important;
}

.wc-block-components-quantity-selector__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 100% !important;
	flex-shrink: 0 !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	font-size: 1.2rem !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	color: var(--latelier-ink) !important;
	transition: background 0.15s !important;
	padding: 0 !important;
}

.wc-block-components-quantity-selector__button:hover {
	background: rgba(244, 215, 199, 0.6) !important;
}

.wc-block-components-quantity-selector__input {
	width: 3rem !important;
	height: 100% !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	text-align: center !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.9rem !important;
	color: var(--latelier-ink) !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: textfield !important;
	appearance: textfield !important;
	outline: none !important;
}

.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
}

/* ── WC blocks add-to-cart button: cohérent site ── */
.wc-block-components-product-add-to-cart .wc-block-components-product-add-to-cart-button,
.wp-block-woocommerce-add-to-cart-form .wc-block-add-to-cart-form__button,
.wc-block-add-to-cart-form .wc-block-add-to-cart-form__button {
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: var(--latelier-paper) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.9rem 1.75rem !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	box-shadow: 0 14px 28px var(--latelier-accent-shadow) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.wp-block-woocommerce-add-to-cart-form .wc-block-add-to-cart-form__button:hover,
.wc-block-add-to-cart-form .wc-block-add-to-cart-form__button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 18px 30px var(--latelier-accent-shadow) !important;
}

/* ── Images WooCommerce: bords arrondis globaux ── */
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-cart .woocommerce-cart-form__cart-item img,
.woocommerce-cart .cart img,
.woocommerce-page .woocommerce img.attachment-woocommerce_thumbnail,
.woocommerce-checkout .woocommerce-checkout-review-order .product-thumbnail img,
.woocommerce table.order_details .product-thumbnail img,
.woocommerce table.woocommerce-table--order-details .product-thumbnail img,
.wc-block-cart-items__row img,
.wc-block-cart__product-image img,
.wc-block-order-confirmation-totals__product-image img,
.wc-block-mini-cart__product-image img {
	border-radius: 12px !important;
	object-fit: cover !important;
}

/* ── Cart page: cohérence padding + typographie ── */
.woocommerce-cart .woocommerce {
	padding: 0;
}

.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
	vertical-align: middle !important;
	padding: 1rem 0.75rem !important;
	font-family: "Jost", sans-serif !important;
}

.woocommerce-cart table.cart .product-name a {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: var(--latelier-ink) !important;
	text-decoration: none !important;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
	font-family: "Jost", sans-serif !important;
	font-size: 0.95rem !important;
	color: var(--latelier-muted) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-family: "Cormorant Garamond", serif !important;
	font-size: clamp(1.5rem, 3vw, 2rem) !important;
	font-weight: 600 !important;
}

/* ── Boutons retour boutique (panier vide) ── */
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart a.button,
.woocommerce-page a.button.wc-backward {
	display: inline-flex !important;
	align-items: center !important;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: var(--latelier-paper) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.85rem 1.75rem !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: 0 14px 28px var(--latelier-accent-shadow) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* ── Page produit blocks: layout + cohérence ── */
.latelier-single-product {
	padding: clamp(1.5rem, 3vw, 3rem) var(--latelier-gutter) 0;
}

.latelier-product-layout {
	gap: 2.5rem !important;
	margin-bottom: 3rem;
}

/* Galerie image produit (blocs) */
.latelier-single-product .woocommerce-product-gallery__wrapper img,
.latelier-single-product .wc-block-woocommerce-product-image-gallery img {
	border-radius: 18px !important;
	overflow: hidden;
}

/* Meta produit: Catégorie, SKU */
.wp-block-woocommerce-product-meta {
	font-family: "Jost", sans-serif;
	font-size: 0.82rem;
	color: var(--latelier-muted);
	margin-top: 0.75rem;
}

.wp-block-woocommerce-product-meta a {
	color: var(--latelier-accent);
	text-decoration: none;
}

.wp-block-woocommerce-product-sku,
.wp-block-post-terms {
	font-size: 0.82rem !important;
	color: var(--latelier-muted) !important;
}

/* ── Fixes UI Avril 2026 ───────────────────────────────────────────── */

/* À propos: bouton ghost "Lire le blog" (CTA bas de page) */
.latelier-about-cta .latelier-button--ghost {
	color: rgba(255, 250, 247, 0.62) !important;
	border-color: rgba(255, 250, 247, 0.62) !important;
}

.latelier-about-cta .latelier-button--ghost:hover,
.latelier-about-cta .latelier-button--ghost:focus-visible {
	color: rgba(255, 250, 247, 0.84) !important;
	border-color: rgba(255, 250, 247, 0.84) !important;
}

/* Footer: espacement bouton "Envoyer un message" + stack contact */
.latelier-footer__top .wp-block-column:last-child > * + * {
	margin-top: 0.9rem !important;
}

.latelier-footer__top .wp-block-column:last-child .wp-block-buttons {
	margin-top: 1.3rem !important;
}

/* Boutique: alignement prix dans la grille produits */
.woocommerce ul.products li.product .price {
	margin: 0.15rem 0 0 !important;
	padding: 0 1rem !important;
	text-align: left !important;
}

.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price,
.latelier-shop-layout__products .wc-block-product .wp-block-woocommerce-product-price {
	margin: 0 !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	text-align: left !important;
	justify-content: flex-start !important;
}

/* Page produit: espacement "TAILLE / Choisir une option" */
.single-product .woocommerce div.product:not(.wp-block-group) table.variations {
	margin: 0 0 1.1rem !important;
	border-collapse: separate !important;
	border-spacing: 0 0.45rem !important;
}

.single-product .woocommerce div.product:not(.wp-block-group) .variations td {
	padding-top: 0.2rem !important;
	padding-bottom: 0.2rem !important;
	vertical-align: middle !important;
}

.single-product .woocommerce div.product:not(.wp-block-group) .variations td.label {
	padding-right: 0.85rem !important;
}

.single-product .woocommerce div.product:not(.wp-block-group) .variations td.label label {
	margin: 0 !important;
	line-height: 1.2;
}

/* Panier: cartes/visuels section nouveautés */
.latelier-cart-carousel-wrap .latelier-carousel__img-wrap,
.woocommerce-cart .cross-sells ul.products li.product a img {
	border-radius: 16px 16px 0 0;
	overflow: hidden;
	border-bottom: 1px solid var(--latelier-line);
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells ul.products.swiper-wrapper {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells ul.products.swiper-wrapper li.product.swiper-slide {
	height: auto;
}

/* Blog: forcer le flux dans le conteneur du site */
.blog .latelier-page-shell .wp-block-query {
	max-width: var(--latelier-shell);
	margin-left: auto;
	margin-right: auto;
}

.blog .latelier-page-shell .wp-block-post-template {
	margin: 0;
	padding: 0;
}

/* Mobile: carousel nouveautés home plus respirable */
@media (max-width: 640px) {
	.home .latelier-products-carousel {
		padding-left: 0.2rem;
		padding-right: 0.2rem;
	}

	.home .latelier-swiper .swiper-slide {
		max-width: 84vw;
	}
}

/* ── Fixes complémentaires: carousels + prix boutique (2026-04-24) ── */

/* Boutique (Woo blocks): prix alignés à gauche, jamais centrés à droite */
.latelier-shop-layout__products .wc-block-product .wp-block-woocommerce-product-price,
.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price,
.latelier-shop-layout__products .wc-block-product .wc-block-grid__product-price,
.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price .woocommerce-Price-amount {
	text-align: left !important;
	justify-content: flex-start !important;
	align-items: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price {
	display: flex !important;
	width: 100%;
}

/* Home mobile: slides moins larges pour meilleure lisibilité/aperçu */
@media (max-width: 640px) {
	.home .latelier-products-carousel .latelier-swiper .swiper-slide {
		width: clamp(210px, 62vw, 250px) !important;
		max-width: none !important;
	}
}

/* Panier: transformer "Nouveautés en boutique" (Woo blocks) en vrai carousel visuel */
.woocommerce-cart .latelier-products-carousel--cart-cross-sells {
	max-width: min(1180px, calc(100vw - (var(--latelier-gutter) * 2)));
	margin: 1.25rem auto 0;
	padding: 0 1rem;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper {
	overflow: visible;
	padding-bottom: 2rem;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells ul.wc-block-grid__products.swiper-wrapper,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells ul.wc-block-product-template.swiper-wrapper,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells ul.products.swiper-wrapper {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper-wrapper>li.swiper-slide,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.latelier-cart-cross-sells-item.swiper-slide {
	height: auto;
	border-radius: 20px;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper-wrapper>li a {
	color: inherit;
	text-decoration: none;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-image,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-image,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-link {
	display: block;
	overflow: hidden;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-image a {
	display: block;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-image img,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-image img,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.product a img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: 16px 16px 0 0;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-name,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-title,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .woocommerce-loop-product__title {
	padding: 1rem 1rem 0.45rem;
	margin: 0;
	display: block;
	text-align: left;
	font-family: "Cormorant Garamond", serif !important;
	font-size: clamp(1rem, 1.5vw, 1.4rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none !important;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-price,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-price,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .price {
	display: block;
	padding: 0 1rem;
	margin: 0 0 1.1rem;
	text-align: left !important;
	color: var(--latelier-muted);
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-button,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-add-to-cart,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wp-block-button,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .button {
	display: none !important;
}

/* Panier vide: section recommandations plus premium et lisible */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.94) 0%, rgba(255, 246, 240, 0.82) 100%);
	border: 1px solid rgba(219, 207, 193, 0.72);
	border-radius: 28px;
	padding: clamp(1.1rem, 2.2vw, 1.8rem);
	margin-top: 1rem;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading {
	font-family: "Cormorant Garamond", serif !important;
	font-size: clamp(1.45rem, 2.3vw, 2rem);
	letter-spacing: 0.01em;
	margin: 0.25rem 0 1rem !important;
	text-align: left !important;
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
	font-family: "Cormorant Garamond", serif !important;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	margin-bottom: 0.45rem !important;
}

.woocommerce-cart .wc-block-cart__empty-cart__description {
	color: var(--latelier-muted);
	font-family: "Jost", sans-serif;
	font-size: 0.94rem;
	line-height: 1.7;
	margin-bottom: 1rem !important;
}

.woocommerce-cart #wps-slider-section {
	padding-top: 0 !important;
}

.woocommerce-cart #wps-slider-section .wpsp-nav {
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 999px;
	border-color: rgba(116, 69, 82, 0.5) !important;
	background: rgba(255, 250, 247, 0.92) !important;
	color: var(--latelier-ink) !important;
	box-shadow: 0 8px 18px rgba(35, 23, 14, 0.08);
}

.woocommerce-cart #wps-slider-section .wpsp-pagination-dot .swiper-pagination-bullet {
	width: 0.44rem;
	height: 0.44rem;
	opacity: 1;
	background: rgba(116, 69, 82, 0.26) !important;
}

.woocommerce-cart #wps-slider-section .wpsp-pagination-dot .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--latelier-accent-strong) !important;
	transform: scale(1.12);
}

/* ── Correctifs UI boutique + blog + carousels (2026-04-24) ── */

/* Boutique: éviter le double retrait horizontal des prix (wrapper + inner) */
.latelier-shop-layout__products .wc-block-product .wc-block-components-product-price,
.latelier-shop-layout__products .wc-block-product .wc-block-grid__product-price {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

/* Boutique: verrouiller les boutons au style brand (pas noir) */
.latelier-shop-toolbar .wc-block-product-search__button,
.latelier-shop-layout__products .wc-block-components-product-button__button,
.latelier-shop-layout__products .wp-block-button__link.wp-element-button.wc-block-components-product-button__button {
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: var(--latelier-paper) !important;
	border: 1px solid rgba(116, 69, 82, 0.95) !important;
}

/* Blog: recentrer le shell quand WP applique des marges nulles via classes layout */
.blog .latelier-page-shell.wp-block-group-is-layout-constrained,
.single-post .latelier-page-shell.wp-block-group-is-layout-constrained,
.archive .latelier-page-shell.wp-block-group-is-layout-constrained {
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-post .latelier-page-shell > .wp-block-post-content {
	max-width: var(--latelier-shell);
}

.single-post .latelier-page-shell > .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--latelier-shell);
}

/* Carousels courts: conserver des cartes cohérentes (pas étirées plein écran) */
.latelier-swiper.latelier-swiper--very-few .swiper-wrapper {
	justify-content: flex-start;
	gap: 1rem;
}

.latelier-swiper.latelier-swiper--very-few .swiper-slide {
	flex: 0 0 clamp(14.5rem, 27vw, 17.5rem) !important;
	width: clamp(14.5rem, 27vw, 17.5rem) !important;
	max-width: 17.5rem !important;
}

/* Panier: carousels courts alignés à gauche avec largeur de carte bornée */
.woocommerce-cart .latelier-cart-carousel-wrap .latelier-products-carousel,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells {
	padding-left: 0;
	padding-right: 0;
	--latelier-carousel-side-pad: 0;
}

.woocommerce-cart .latelier-swiper.latelier-swiper--very-few {
	max-width: min(100%, 78rem);
	margin-left: 0;
	margin-right: auto;
}

.woocommerce-cart .latelier-swiper.latelier-swiper--very-few .swiper-wrapper {
	justify-content: flex-start !important;
}

.woocommerce-cart .latelier-swiper.latelier-swiper--very-few .swiper-slide {
	width: clamp(210px, 21vw, 262px) !important;
	max-width: 262px !important;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.latelier-swiper.latelier-swiper--very-few .swiper-slide {
		width: min(74vw, 15.5rem) !important;
		max-width: 74vw !important;
	}
}

/* ── Add-to-cart polish + loading skeletons (2026-04-24) ── */

@keyframes latelier-skeleton-wave {
	0% {
		background-position: 200% 0;
	}

	100% {
		background-position: -200% 0;
	}
}

@keyframes latelier-toast-progress {
	0% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(0);
	}
}

.latelier-skeleton-block {
	background: linear-gradient(105deg, rgba(239, 227, 214, 0.78) 12%, rgba(251, 244, 238, 0.96) 40%, rgba(236, 222, 208, 0.78) 68%);
	background-size: 220% 100%;
	animation: latelier-skeleton-wave 1.2s linear infinite;
}

.latelier-products-carousel--loading .latelier-swiper-prev,
.latelier-products-carousel--loading .latelier-swiper-next,
.latelier-products-carousel--loading .latelier-swiper-pagination {
	opacity: 0;
	pointer-events: none;
}

/* ── Correctifs UI Woo + carousels (2026-04-29) ── */

/* Notice ajout panier: forcer lisibilité du bouton "Voir le panier" */
.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	fill: #fff !important;
	opacity: 1 !important;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:visited,
.single-product .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward span,
.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a:visited,
.single-product .wc-block-store-notices .wc-block-components-notice-banner__content a span {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Panier: boutons quantité mieux équilibrés (surtout le + à droite) */
.wc-block-components-quantity-selector__button {
	padding-inline: 0.25rem !important;
}

.wc-block-components-quantity-selector__button--plus {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 2.5rem !important;
	justify-content: center !important;
}

.wc-block-components-quantity-selector {
	padding-right: 0 !important;
}

.quantity .qty-plus {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Boutique: cartes produit avec bouton ancré en bas */
.latelier-shop-layout__products .wc-block-product,
.latelier-shop-layout__products .type-product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex;
	flex-direction: column;
	height: auto;
}

.latelier-shop-layout__products .wc-block-product .wp-block-woocommerce-product-button,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	margin-top: auto !important;
}


/* Boutique: retirer la catégorie "Uncategorized"/"Non classé" des filtres */
.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__label[data-wc-on--click*="uncategorized"],
.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__label[data-wc-on--click*="non-classe"],
.latelier-shop-layout__filters .wc-block-product-filter-checkbox-list__label[data-wc-on--click*="non-classee"] {
	display: none !important;
}


/* Panier vide: éviter les visuels déformés du carousel nouveautés */
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper-wrapper > li.swiper-slide,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.latelier-cart-cross-sells-item.swiper-slide {
	max-width: 18.5rem;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .latelier-swiper-prev,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .latelier-swiper-next,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .latelier-swiper-pagination {
	display: flex;
}

/* Panier vide (avant transformation Swiper): fallback visuel propre */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.product {
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 18px;
	overflow: hidden;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.product img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* Mobile shop: trigger button remains visible */
@media (max-width: 782px) {
	body.woocommerce-shop .latelier-shop-layout__filters .wc-block-product-filters__open-overlay {
		display: inline-flex !important;
		margin-bottom: 0.4rem !important;
	}

	body.woocommerce-shop .latelier-shop-layout__filters .wc-block-product-filters__overlay-content > * + * {
		margin-top: 1rem !important;
		padding-top: 1rem !important;
		border-top: 1px solid rgba(219, 207, 193, 0.72);
	}
}

/* Product add-to-cart button label readability */
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button *,
.single-product .wc-block-add-to-cart-form__button,
.single-product .wc-block-add-to-cart-form__button * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Global "Voir le panier" button in notices */
.woocommerce-message .button.wc-forward,
.woocommerce-info .button.wc-forward,
.woocommerce-notices-wrapper .button.wc-forward {
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 999px !important;
	padding: 0.62rem 1.12rem !important;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border: 1px solid rgba(116, 69, 82, 0.95) !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}

/* Boutique grids: same vertical and horizontal spacing */
.latelier-shop-layout__products .wc-block-product-template,
.latelier-shop-layout__products .wp-block-post-template,
.woocommerce ul.products,
.woocommerce-page ul.products {
	row-gap: 1.35rem !important;
	column-gap: 1.35rem !important;
}

@media (max-width: 782px) {
	.latelier-shop-layout__products .wc-block-product-template,
	.latelier-shop-layout__products .wp-block-post-template,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		row-gap: 1rem !important;
		column-gap: 1rem !important;
	}
}



.latelier-loading-host {
	position: relative;
}

.latelier-cart-skeleton {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.2rem;
}

.latelier-skeleton-card {
	border-radius: 20px;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	box-shadow: 0 8px 22px rgba(35, 23, 14, 0.04);
	overflow: hidden;
}

.latelier-skeleton-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
}

.latelier-skeleton-card__body {
	padding: 1rem;
	display: grid;
	gap: 0.5rem;
}

.latelier-skeleton-line {
	display: block;
	height: 0.86rem;
	border-radius: 999px;
}

.latelier-skeleton-line--title {
	width: 74%;
	height: 1rem;
}

.latelier-skeleton-line--price {
	width: 42%;
}


.latelier-cart-toast {
	display: inline-flex;
	align-items: center;
	gap: 0.62rem;
	border: 1px solid rgba(116, 69, 82, 0.9);
	background: linear-gradient(135deg, rgba(118, 75, 88, 0.98) 0%, rgba(92, 54, 68, 0.98) 100%);
	padding: 0.84rem 1.18rem 0.92rem;
	border-radius: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.69rem;
	font-weight: 500;
}

.latelier-cart-toast::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.22);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1;
}

.latelier-cart-toast::after {
	content: "";
	position: absolute;
	left: 0.58rem;
	right: 0.58rem;
	bottom: 0.38rem;
	height: 2px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.5);
	transform-origin: left center;
}

.latelier-cart-toast.is-visible::after {
	animation: latelier-toast-progress 2.75s linear forwards;
}

@media (max-width: 840px) {
	.latelier-cart-skeleton {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.latelier-cart-skeleton {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.latelier-skeleton-block,
	.latelier-cart-toast.is-visible::after {
		animation: none !important;
	}
}

/* ── Panier vide : grille "Nouveautés en boutique" (product-new block) ── */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	list-style: none;
	margin: 1.5rem 0 0 !important;
	padding: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	border-radius: 20px;
	background: var(--latelier-paper);
	border: 1px solid rgba(219, 207, 193, 0.9);
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
	display: flex;
	flex-direction: column;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
	display: block;
	overflow: hidden;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	display: block;
	padding: 0.9rem 1rem 0.35rem;
	font-family: "Cormorant Garamond", serif !important;
	font-size: clamp(0.95rem, 1.4vw, 1.3rem);
	font-weight: 600;
	line-height: 1.2;
	text-align: left !important;
	text-transform: none !important;
	color: var(--latelier-ink);
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	display: block;
	padding: 0 1rem;
	margin: 0 0 1rem;
	text-align: left !important;
	color: var(--latelier-muted);
	font-family: "Jost", sans-serif;
	font-size: 0.88rem;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
	display: none !important;
}

@media (max-width: 900px) {
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
	}
}

/* ── Hotfix: empty-cart shortcode carousel must stay Swiper, not fallback grid ── */
.wp-block-woocommerce-empty-cart-block .latelier-products-carousel .swiper-wrapper.wc-block-grid__products {
	display: flex !important;
	grid-template-columns: none !important;
	gap: 0 !important;
	margin: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .latelier-products-carousel .swiper-slide.wc-block-grid__product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

/* ── Shop mobile filters: extra spacing for the second price input and separators ── */
@media (max-width: 782px) {
	.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-price,
	.latelier-shop-layout__filters .wp-block-woocommerce-product-filter-price-slider {
		padding-bottom: 0.75rem !important;
	}

	.latelier-shop-layout__filters .wc-block-product-filter-price-slider__right {
		margin-top: 0.5rem !important;
	}
}

/* ── Shop product grid: consistent vertical spacing ── */
.latelier-shop-layout__products .wc-block-product-template,
.latelier-shop-layout__products .wp-block-post-template,
.woocommerce ul.products,
.woocommerce-page ul.products {
	row-gap: 1.5rem !important;
	column-gap: 1.5rem !important;
}

@media (max-width: 782px) {
	.latelier-shop-layout__products .wc-block-product-template,
	.latelier-shop-layout__products .wp-block-post-template,
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		row-gap: 1.15rem !important;
		column-gap: 1.15rem !important;
	}
}

/* ── Cart quantity: force symmetrical +/- controls ── */
.wc-block-components-quantity-selector__button--minus,
.wc-block-components-quantity-selector__button--plus,
.quantity .qty-minus,
.quantity .qty-plus {
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	padding: 0 !important;
	margin: 0 !important;
	justify-content: center !important;
}

.wc-block-components-quantity-selector__button--minus > *,
.wc-block-components-quantity-selector__button--plus > *,
.quantity .qty-minus > *,
.quantity .qty-plus > * {
	width: 1em;
	text-align: center;
}

/* Woo cart blocks render input before buttons.
   Force visual order to: minus | input | plus for perfect symmetry. */
.wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
}

.wc-block-components-quantity-selector__button--minus {
	order: 1;
}

.wc-block-components-quantity-selector__input {
	order: 2;
}

.wc-block-components-quantity-selector__button--plus {
	order: 3;
	transform: translateX(-0.5px);
}

/* Empty-cart carousel: cards less wide on desktop/tablet */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel .swiper-slide,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel .latelier-carousel__card {
	max-width: 17rem !important;
}

@media (max-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel .swiper-slide,
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel .latelier-carousel__card {
		max-width: 15.25rem !important;
	}
}

/* Shop product grid: enforce vertical rhythm for blocks/flex variants */
.woocommerce-shop .wc-block-product-template__responsive,
.woocommerce-shop .wp-block-woocommerce-product-template.wc-block-product-template__responsive {
	gap: 1.8rem !important;
	align-items: stretch;
}

.woocommerce-shop .wc-block-product-template.is-flex-container,
.woocommerce-shop .wp-block-woocommerce-product-template.is-flex-container {
	gap: 1.8rem !important;
}

@media (max-width: 782px) {
	.woocommerce-shop .wc-block-product-template__responsive,
	.woocommerce-shop .wp-block-woocommerce-product-template.wc-block-product-template__responsive,
	.woocommerce-shop .wc-block-product-template.is-flex-container,
	.woocommerce-shop .wp-block-woocommerce-product-template.is-flex-container {
		gap: 1.2rem !important;
	}
}

/* ── Home Instagram feed (Smash Balloon) — L'Atelier styling ── */
body.home #sb_instagram.sbi {
	padding-bottom: 0 !important;
}

body.home #sb_instagram .sbi_header_link {
	display: flex !important;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem 0.95rem;
	border: 1px solid rgba(219, 207, 193, 0.92);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.98) 0%, rgba(251, 244, 241, 0.98) 100%);
	text-decoration: none !important;
	box-shadow: 0 10px 22px rgba(32, 21, 12, 0.05);
}

body.home #sb_instagram .sbi_header_text h3,
body.home #sb_instagram .sbi_header_text .sbi_bio {
	font-family: "Jost", sans-serif !important;
	color: var(--latelier-ink) !important;
}

body.home #sb_instagram #sbi_images {
	gap: 1rem !important;
}

body.home #sb_instagram .sbi_item {
	overflow: hidden;
	border-radius: 18px;
	border: 1px solid rgba(219, 207, 193, 0.9);
	background: var(--latelier-paper);
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04);
}

body.home #sb_instagram .sbi_photo {
	overflow: hidden;
	border-radius: 18px;
}

body.home #sb_instagram .sbi_photo img {
	border-radius: 18px;
	transition: transform 0.35s ease;
}

body.home #sb_instagram .sbi_item:hover .sbi_photo img {
	transform: scale(1.04);
}

body.home #sb_instagram #sbi_load {
	margin-top: 1.2rem !important;
}

body.home #sb_instagram .sbi_load_btn,
body.home #sb_instagram .sbi_follow_btn a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px !important;
	padding: 0.62rem 1.12rem !important;
	background: linear-gradient(135deg, var(--latelier-accent) 0%, var(--latelier-accent-strong) 100%) !important;
	color: #fff !important;
	border: 1px solid rgba(116, 69, 82, 0.95) !important;
	font-family: "Jost", sans-serif !important;
	font-size: 0.74rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	box-shadow: 0 12px 24px var(--latelier-accent-shadow);
}

body.home #sb_instagram .sbi_load_btn:hover,
body.home #sb_instagram .sbi_follow_btn a:hover {
	transform: translateY(-2px);
}

/* Smash Balloon wraps the follow link in .sbi_follow_btn.
   Keep wrapper neutral to avoid a double-button effect. */
body.home #sb_instagram .sbi_follow_btn {
	display: inline-block !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Complianz cookie banner - aligned with site design */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	background: var(--latelier-paper) !important;
	border: 1px solid var(--latelier-line) !important;
	border-radius: 22px !important;
	box-shadow: 0 18px 48px rgba(76, 49, 39, 0.16) !important;
	color: var(--latelier-ink) !important;
	font-family: "Jost", sans-serif !important;
	position: fixed !important;
	inset: auto 1rem 1rem auto !important;
	left: auto !important;
	top: auto !important;
	width: min(440px, calc(100vw - 2rem)) !important;
	max-width: min(440px, calc(100vw - 2rem)) !important;
	max-height: min(72vh, calc(100dvh - 2rem)) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	z-index: 99999 !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title,
#cmplz-cookiebanner-container .cmplz-cookiebanner h3,
#cmplz-cookiebanner-container .cmplz-cookiebanner h4 {
	color: var(--latelier-ink) !important;
	font-family: "Cormorant Garamond", serif !important;
	letter-spacing: 0.01em;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner p,
#cmplz-cookiebanner-container .cmplz-cookiebanner li,
#cmplz-cookiebanner-container .cmplz-cookiebanner span,
#cmplz-cookiebanner-container .cmplz-cookiebanner a {
	color: var(--latelier-ink) !important;
	font-family: "Jost", sans-serif !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner a {
	color: var(--latelier-accent) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
	border-radius: 999px !important;
	font-family: "Jost", sans-serif !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em;
	min-height: 42px;
	padding: 0.6rem 1rem !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(76, 49, 39, 0.12);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background: var(--latelier-accent) !important;
	border-color: var(--latelier-accent) !important;
	color: var(--latelier-paper) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background: var(--latelier-accent-strong) !important;
	border-color: var(--latelier-accent-strong) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
	background: var(--latelier-accent-soft) !important;
	border-color: var(--latelier-line) !important;
	color: var(--latelier-ink) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: var(--latelier-rose) !important;
	border-color: var(--latelier-rose) !important;
	color: var(--latelier-ink) !important;
}

@media (max-width: 640px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		width: calc(100vw - 1.4rem) !important;
		max-width: calc(100vw - 1.4rem) !important;
		max-height: min(80vh, calc(100dvh - 1.4rem)) !important;
		border-radius: 18px !important;
		inset: auto 0.7rem 0.7rem 0.7rem !important;
	}
}

/* Positioning: keep breathing room with viewport edges */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right {
	position: fixed !important;
	right: 1rem !important;
	bottom: 1rem !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Re-open consent button */
#cmplz-manage-consent .cmplz-manage-consent {
	right: 1rem !important;
	bottom: -32px !important;
	background: var(--latelier-paper) !important;
	color: var(--latelier-ink) !important;
	border: 1px solid var(--latelier-line) !important;
	border-top-left-radius: 14px !important;
	border-top-right-radius: 14px !important;
	box-shadow: 0 10px 24px rgba(76, 49, 39, 0.14) !important;
	font-family: "Jost", sans-serif !important;
}

/* Toggle colors harmonized with brand palette */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before {
	background-color: #d9c7bf !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:before {
	background-color: var(--latelier-accent) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after {
	background: var(--latelier-paper) !important;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active {
	color: var(--latelier-accent-strong) !important;
}

@media (max-width: 768px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right {
		position: fixed !important;
		right: 0.7rem !important;
		left: 0.7rem !important;
		bottom: 0.7rem !important;
		top: auto !important;
		width: auto !important;
		max-width: none !important;
	}
}

/* ── Header hardening (anti-regression) ───────────────────────────── */
@media (min-width: 783px) {
	.latelier-header__inner {
		display: flex !important;
		align-items: center !important;
		gap: clamp(1rem, 2vw, 2rem) !important;
	}

	.latelier-header__inner > .wp-block-site-logo,
	.latelier-header__inner > .latelier-logo {
		flex: 0 0 auto !important;
	}

	.latelier-header__inner > .wp-block-navigation {
		flex: 1 1 auto !important;
		display: flex !important;
		justify-content: center !important;
		min-width: 0 !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}

	.latelier-header .wp-block-navigation__container {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.latelier-header__inner > .wp-block-shortcode {
		flex: 0 0 auto !important;
		margin-left: auto !important;
	}
}

@media (max-width: 782px) {
	.latelier-header__inner {
		display: flex !important;
		align-items: center !important;
		gap: 0.45rem !important;
	}

	.latelier-header__inner > .wp-block-site-logo {
		flex: 0 0 auto !important;
	}

	.latelier-header__inner > .wp-block-navigation {
		margin-left: auto !important;
		flex: 0 0 auto !important;
		order: 3 !important;
	}

	.latelier-header__inner > .wp-block-shortcode {
		flex: 0 0 auto !important;
		order: 2 !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
	}
}

/* ── Hotfix produit: layout summary + related carousel full-bleed ── */
.single-product .latelier-related-carousel {
	--latelier-related-edge-cut: clamp(18px, 2.6vw, 34px);
	position: relative !important;
	left: auto !important;
	right: auto !important;
	box-sizing: border-box !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 4rem calc(50% - 50vw) 0 !important;
	padding: 3rem 0 0 !important;
}

.single-product .latelier-related-carousel__head {
	max-width: var(--latelier-shell);
	width: 100%;
	margin: 0 auto 2rem;
	padding-left: var(--latelier-gutter);
	padding-right: var(--latelier-gutter);
	box-sizing: border-box;
}

.single-product .latelier-related-carousel .latelier-products-carousel {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	--latelier-carousel-side-pad: 0px;
}

.single-product .latelier-related-carousel .latelier-swiper {
	overflow: visible !important;
	position: relative;
}

.single-product .latelier-related-carousel .latelier-swiper-prev {
	left: -0.5rem !important;
	top: calc(40% - 1.5rem) !important;
	z-index: 14 !important;
}

.single-product .latelier-related-carousel .latelier-swiper-next {
	right: -0.5rem !important;
	top: calc(40% - 1.5rem) !important;
	z-index: 14 !important;
}

.single-product .latelier-related-carousel .swiper-slide {
	height: auto;
}

/* Produit: garder un fondu visuel même si le carousel est détecté "few". */
.single-product .latelier-related-carousel .latelier-products-carousel.latelier-products-carousel--few::before,
.single-product .latelier-related-carousel .latelier-products-carousel.latelier-products-carousel--few::after {
	opacity: 0.9;
}

/* ── Unified carousel style across pages (home/product/cart) ── */
.latelier-products-carousel {
	--latelier-carousel-card-height: clamp(295px, 34vw, 395px);
	--latelier-carousel-image-height: clamp(220px, 30vw, 340px);
}

.latelier-products-carousel .latelier-swiper-prev,
.latelier-products-carousel .latelier-swiper-next {
	top: calc(40% - 1.5rem) !important;
}

.latelier-products-carousel .latelier-swiper-prev { left: -0.5rem !important; }
.latelier-products-carousel .latelier-swiper-next { right: -0.5rem !important; }

.latelier-products-carousel .latelier-carousel__card,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper-wrapper > li.swiper-slide,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.latelier-cart-cross-sells-item.swiper-slide {
	border-radius: 20px !important;
	background: var(--latelier-paper) !important;
	border: 1px solid rgba(219, 207, 193, 0.9) !important;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04) !important;
	overflow: hidden !important;
	height: var(--latelier-carousel-card-height) !important;
	min-height: var(--latelier-carousel-card-height) !important;
	display: flex !important;
	flex-direction: column !important;
	max-width: none !important;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .swiper-wrapper > li > a,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.latelier-cart-cross-sells-item > a {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	text-decoration: none !important;
	color: inherit !important;
}

.latelier-products-carousel .latelier-carousel__img-wrap,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-image,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-image,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells li.product a img {
	height: var(--latelier-carousel-image-height) !important;
	min-height: var(--latelier-carousel-image-height) !important;
	width: 100% !important;
	object-fit: cover !important;
}

/* Cart cross-sells: restore clear title/price hierarchy and avoid clipping. */
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-name,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-title,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .woocommerce-loop-product__title {
	padding: 0.7rem 0.9rem 0.25rem !important;
	margin: 0 !important;
	color: var(--latelier-ink) !important;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-price,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-price,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .price {
	padding: 0 0.9rem 0.85rem !important;
	margin: 0 !important;
	color: var(--latelier-ink) !important;
	font-size: 0.96rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.woocommerce-cart .latelier-products-carousel--cart-cross-sells .price ins,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .price bdi,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-components-product-price .woocommerce-Price-amount,
.woocommerce-cart .latelier-products-carousel--cart-cross-sells .wc-block-grid__product-price .woocommerce-Price-amount {
	color: inherit !important;
	font-weight: 600 !important;
}


/* ========================================================================
   Unified Carousel System (clean)
   ======================================================================== */

/* Shared tokens so plugin + legacy Swiper carousels keep the same visual rhythm. */
.latelier-products-carousel-plugin,
.latelier-products-carousel {
	--latelier-card-w: clamp(164px, 28vw, 232px);
	--latelier-card-h: 392px;
	--latelier-image-h: 236px;
	--latelier-title-h: 2.25em;
}

/* Shared full-bleed wrapper for plugin carousels (home/cart/related). */
.latelier-products-carousel-plugin {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0;
}

.latelier-products-carousel-plugin #wps-slider-section {
	position: relative !important;
	overflow: visible !important;
	padding-top: 0 !important;
	--latelier-carousel-track-h: 372px;
}

#wps-slider-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	--latelier-card-w: clamp(164px, 28vw, 232px);
	--latelier-carousel-track-h: 372px;
}

/* Remove side veils: they visually cut first/last slides at carousel edges. */
.latelier-products-carousel-plugin #wps-slider-section::before,
.latelier-products-carousel-plugin #wps-slider-section::after,
#wps-slider-section::before,
#wps-slider-section::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wps-product-section {
	position: relative !important;
	z-index: 5 !important;
	overflow: visible !important;
}

.latelier-products-carousel-plugin #wps-slider-section .swiper-wrapper {
	align-items: stretch !important;
	gap: 18px !important;
}

/* Fixed-size, narrower items for uniform rhythm. */
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide {
	width: clamp(164px, 28vw, 232px) !important;
	min-width: clamp(164px, 28vw, 232px) !important;
	max-width: clamp(164px, 28vw, 232px) !important;
	height: var(--latelier-card-h) !important;
	min-height: var(--latelier-card-h) !important;
	max-height: var(--latelier-card-h) !important;
	border-radius: 20px !important;
	border: 1px solid rgba(219, 207, 193, 0.9) !important;
	background: var(--latelier-paper) !important;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04) !important;
	overflow: hidden !important;
	transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
	will-change: transform !important;
}

/* Global fallback when plugin wrapper class is missing in rendered markup. */
#wps-slider-section .wpsf-product.swiper-slide {
	width: clamp(164px, 28vw, 232px) !important;
	min-width: clamp(164px, 28vw, 232px) !important;
	max-width: clamp(164px, 28vw, 232px) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 18px 44px rgba(138, 90, 102, 0.14) !important;
}

/* Active slide — subtle accent elevation */
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide.swiper-slide-active {
	box-shadow: 0 12px 36px rgba(138, 90, 102, 0.10) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .sp-wps-product-image-area {
	display: grid !important;
	grid-template-rows: var(--latelier-image-h) auto !important;
	height: 100% !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wps-product-image {
	display: block !important;
	height: var(--latelier-image-h) !important;
	overflow: hidden !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center 34% !important;
}

/* Smaller white text zone. */
.latelier-products-carousel-plugin #wps-slider-section .sp-wps-product-details {
	background: linear-gradient(180deg, rgba(255, 250, 247, .96) 0%, rgba(255, 250, 247, 1) 100%) !important;
	border-top: 1px solid rgba(233, 220, 212, 0.72) !important;
	min-height: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .sp-wps-product-details-inner {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	gap: .28rem !important;
	height: 100% !important;
	min-height: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title {
	padding: .48rem .68rem 0 !important;
	margin: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title a {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	overflow: hidden !important;
	max-height: var(--latelier-title-h) !important;
	font-family: "Cormorant Garamond", serif !important;
	font-size: .98rem !important;
	line-height: 1.14 !important;
	font-weight: 600 !important;
	letter-spacing: .015em !important;
	text-transform: uppercase !important;
	color: #2e2322 !important;
	text-decoration: none !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price {
	margin-top: 0 !important;
	padding: 0 .68rem .52rem !important;
	font-family: "Jost", sans-serif !important;
	font-size: .84rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: #5a4b47 !important;
}

/* Never show Swiper loop filler slides (visual empty cards at edges). */
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide.swiper-slide-blank {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide.latelier-slide-empty {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-ios-native-carousel .swiper-wrapper {
	justify-content: flex-start !important;
	align-items: stretch !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-ios-native-carousel .wpsf-product.swiper-slide {
	opacity: 1 !important;
	visibility: visible !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 16px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch !important;
	padding: .2rem 1rem .9rem !important;
	scroll-padding-left: 1rem !important;
	scroll-padding-right: 1rem !important;
	scrollbar-width: none;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-track::-webkit-scrollbar {
	display: none;
}

/* Same native safeguards for contexts where plugin wrapper class is absent. */
#wps-slider-section.latelier-native-carousel .latelier-native-track {
	padding: .2rem 1rem .9rem !important;
	scroll-padding-left: 1rem !important;
	scroll-padding-right: 1rem !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-track::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Ensure title/price remain visible in all plugin contexts. */
#wps-slider-section .wpsf-product-title,
#wps-slider-section .wpsf-product-title a,
#wps-slider-section .wpsf-product-price,
#wps-slider-section .wpsf-product-price .woocommerce-Price-amount,
#wps-slider-section .wpsf-product-price bdi {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide {
	flex: 0 0 72vw !important;
	max-width: 24rem !important;
	min-width: 14.5rem !important;
	height: 23.5rem !important;
	scroll-snap-align: center !important;
	scroll-snap-stop: always;
	transform: none !important;
	border-radius: 18px !important;
	overflow: clip !important;
	background: linear-gradient(180deg, #fffdfb 0%, #fff8f3 100%) !important;
	border: 1px solid rgba(170, 139, 125, 0.18) !important;
	box-shadow: 0 12px 28px rgba(39, 24, 15, 0.12), 0 2px 6px rgba(39, 24, 15, 0.06) !important;
}

/* Native mode: remove side veils that visually crop active/adjacent cards on iOS Safari. */
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel::before,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel::after {
	display: none !important;
	width: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wps-product-section {
	width: 100% !important;
	max-width: 100% !important;
}

/* Keep page-level horizontal clipping to avoid global x-scroll from off-canvas slides. */
body.home .wp-site-blocks,
body.single-product .wp-site-blocks,
body.woocommerce-cart .wp-site-blocks {
	overflow-x: visible !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .sp-wps-product-image-area {
	height: 18.2rem !important;
	overflow: hidden;
	background: #f6efea;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .wpsf-product-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .sp-wps-product-details {
	height: 5.3rem !important;
	padding: .44rem .8rem .5rem !important;
}

/* Strong direct selectors for contexts where wrapper classes differ:
 * keep image dominant and text compact on native carousel slides. */
#wps-slider-section.latelier-native-carousel .latelier-native-slide {
	height: 23.5rem !important;
	display: flex !important;
	flex-direction: column !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-slide .sp-wps-product-image-area {
	height: 18.2rem !important;
	flex: 0 0 18.2rem !important;
	display: block !important;
	overflow: hidden !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-slide .wps-product-image {
	height: 18.2rem !important;
	display: block !important;
	overflow: hidden !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-slide .wpsf-product-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-slide .sp-wps-product-details {
	height: 5.3rem !important;
	min-height: 5.3rem !important;
	max-height: 5.3rem !important;
	padding: .44rem .8rem .5rem !important;
	overflow: hidden !important;
}

#wps-slider-section.latelier-native-carousel .latelier-native-slide .sp-wps-product-details-inner {
	height: 100% !important;
	min-height: 0 !important;
	gap: .14rem !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .wpsf-product-title,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .wpsf-product-title a {
	font-family: "Jost", sans-serif !important;
	font-size: .88rem !important;
	font-weight: 600 !important;
	line-height: 1.24 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
	color: #2d2623 !important;
	margin: 0 0 .18rem 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .wpsf-product-price,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide .woocommerce-Price-amount,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide bdi {
	font-family: "Cormorant Garamond", serif !important;
	font-size: 1.06rem !important;
	font-weight: 600 !important;
	line-height: 1.08 !important;
	letter-spacing: .01em !important;
	color: #5a3e35 !important;
}

@media (min-width: 600px) {
	.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide {
		flex-basis: 43vw !important;
	}
}

@media (min-width: 900px) {
	.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-slide {
		flex-basis: 29vw !important;
	}
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	margin-top: 1.1rem;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-dot {
	width: .42rem;
	height: .42rem;
	border: 0 !important;
	border-radius: 999px;
	background: #d7c7bf !important;
	padding: 0;
	cursor: pointer;
	transition: all .22s ease;
	opacity: .65;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .latelier-native-dot.is-active {
	width: 1.55rem;
	background: linear-gradient(90deg, #9a6677 0%, #7f5467 100%) !important;
	box-shadow: 0 2px 8px rgba(123, 79, 99, 0.35);
	opacity: 1;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-prev,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-next {
	pointer-events: auto !important;
	opacity: 1 !important;
	z-index: 30 !important;
	width: 2.7rem !important;
	height: 2.7rem !important;
	border-radius: 999px !important;
	background: rgba(255, 250, 246, 0.94) !important;
	backdrop-filter: blur(4px);
	border: 1px solid rgba(168, 136, 123, 0.34) !important;
	box-shadow: 0 8px 18px rgba(36, 22, 14, 0.16) !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-prev {
	left: .3rem !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-next {
	right: .3rem !important;
}

.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-prev i.fa,
.latelier-products-carousel-plugin #wps-slider-section.latelier-native-carousel .wpsp-nav.swiper-button-next i.fa {
	color: #2f2625 !important;
	font-size: .88rem !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price .woocommerce-Price-amount,
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price bdi,
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price ins {
	color: inherit !important;
	font-weight: inherit !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-cart-button {
	display: none !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next {
	top: calc(var(--latelier-carousel-track-h) / 2) !important;
	transform: translateY(-50%) !important;
	width: 3rem !important;
	height: 3rem !important;
	border-radius: 999px !important;
	background: var(--latelier-paper) !important;
	border: 1px solid var(--latelier-line) !important;
	color: var(--latelier-ink) !important;
	box-shadow: 0 6px 18px rgba(32, 21, 12, 0.08) !important;
	z-index: 12 !important;
	cursor: pointer !important;
	transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Center nav against the actual slider track rather than full section height. */
#wps-slider-section .wps-product-section .wpsp-nav.swiper-button-prev,
#wps-slider-section .wps-product-section .wpsp-nav.swiper-button-next {
	top: calc(var(--latelier-carousel-track-h, 372px) / 2) !important;
	transform: translateY(-50%) !important;
}

.home #wps-slider-section .wps-product-section .wpsp-nav.swiper-button-prev,
.home #wps-slider-section .wps-product-section .wpsp-nav.swiper-button-next {
	top: calc(var(--latelier-carousel-track-h, 372px) / 2) !important;
}

/* Supprimer le texte ::after Swiper ("prev"/"next") */
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev::after,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next::after {
	display: none !important;
}

/* Icône Font Awesome à taille fine */
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav i.fa {
	font-size: 15px !important;
	line-height: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 1em !important;
	height: 1em !important;
	margin: 0 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev {
	left: clamp(.55rem, 1.3vw, .95rem) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next {
	right: clamp(.55rem, 1.3vw, .95rem) !important;
}

/* Hover : accent couleur brand */
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev:hover,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next:hover {
	background: var(--latelier-accent) !important;
	color: var(--latelier-ink) !important;
	border-color: var(--latelier-accent) !important;
	box-shadow: 0 8px 28px rgba(138, 90, 102, 0.30) !important;
	transform: translateY(-50%) scale(1.1) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev:focus-visible,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next:focus-visible,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev:active,
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next:active {
	color: var(--latelier-ink) !important;
}

/* Native plugin root (without theme wrapper): keep arrows readable on interaction. */
#wps-slider-section .wpsp-nav.swiper-button-prev:hover,
#wps-slider-section .wpsp-nav.swiper-button-next:hover,
#wps-slider-section .wpsp-nav.swiper-button-prev:focus-visible,
#wps-slider-section .wpsp-nav.swiper-button-next:focus-visible,
#wps-slider-section .wpsp-nav.swiper-button-prev:active,
#wps-slider-section .wpsp-nav.swiper-button-next:active {
	color: #2e2322 !important;
}

#wps-slider-section .wpsp-nav.swiper-button-prev:hover i.fa,
#wps-slider-section .wpsp-nav.swiper-button-next:hover i.fa,
#wps-slider-section .wpsp-nav.swiper-button-prev:focus-visible i.fa,
#wps-slider-section .wpsp-nav.swiper-button-next:focus-visible i.fa,
#wps-slider-section .wpsp-nav.swiper-button-prev:active i.fa,
#wps-slider-section .wpsp-nav.swiper-button-next:active i.fa {
	color: #2e2322 !important;
}

/* Keep edge buttons clickable so JS can wrap to first/last slide. */
.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-disabled {
	pointer-events: auto !important;
	opacity: 1 !important;
	cursor: pointer !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav:focus-visible {
	outline: 2px solid var(--latelier-accent) !important;
	outline-offset: 2px !important;
}

/* ── WPS plugin : pagination dots cohérente avec le thème ── */
.latelier-products-carousel-plugin #wps-slider-section .swiper-pagination-bullet {
	width: 6px !important;
	height: 6px !important;
	border-radius: 999px !important;
	background: var(--latelier-line) !important;
	opacity: 1 !important;
	transition: background 0.32s cubic-bezier(0.4, 0, 0.2, 1), width 0.42s cubic-bezier(0.4, 0, 0.2, 1), transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .swiper-pagination-bullet-active {
	background: var(--latelier-accent) !important;
	width: 22px !important;
	transform: scaleY(1.25) !important;
}

/* Image zoom sur hover card */
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-img {
	transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide:hover .wpsf-product-img {
	transform: scale(1.07) !important;
	object-position: center 34% !important;
}

/* Keep legacy (non-plugin) carousels full-bleed and fixed item widths too. */
.latelier-products-carousel {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.latelier-swiper .swiper-slide {
	width: clamp(164px, 28vw, 232px) !important;
	max-width: clamp(164px, 28vw, 232px) !important;
}

/* Blog: replace legacy JS carousel with a simple responsive grid. */
.latelier-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	grid-auto-rows: 1fr;
}

.latelier-posts-grid .latelier-carousel__card {
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.latelier-posts-grid .latelier-carousel__img-wrap {
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 5;
	border-radius: 0 !important;
	overflow: hidden !important;
	flex: 0 0 auto;
}

.latelier-posts-grid .latelier-carousel__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 !important;
	display: block;
}

.latelier-posts-grid .latelier-carousel__link {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.latelier-posts-grid .latelier-carousel__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.latelier-posts-grid .latelier-carousel__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.2em * 2);
}

.latelier-posts-grid .latelier-posts-carousel__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	min-height: calc(1.45em * 3);
}

@media (max-width: 1023px) {
	.latelier-posts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.latelier-posts-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: .95rem;
		overflow-x: visible;
		padding: 0 0 .45rem;
	}

	.latelier-posts-grid .latelier-carousel__card {
		flex: initial;
		scroll-snap-align: unset;
	}

	/* Contact page: full-bleed form container on mobile */
	.latelier-contact-form {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		border-radius: 18px;
		overflow: hidden;
		box-sizing: border-box;
		padding-left: 0.9rem;
		padding-right: 0.9rem;
	}

	.latelier-contact-form input,
	.latelier-contact-form textarea,
	.latelier-contact-form select {
		max-width: 100%;
	}
}

/* ========================================================================
   UI/UX Pro: Plugin carousel equal-height cards (native Woo Product Slider)
   ======================================================================== */
#wps-slider-section {
	--latelier-wps-card-h: clamp(338px, 33vw, 372px);
	--latelier-wps-image-h: clamp(210px, 23vw, 238px);
}

#wps-slider-section .swiper-wrapper {
	align-items: stretch !important;
}

#wps-slider-section .wpsf-product.swiper-slide {
	height: var(--latelier-wps-card-h) !important;
	min-height: var(--latelier-wps-card-h) !important;
	max-height: var(--latelier-wps-card-h) !important;
	overflow: hidden !important;
	display: block !important;
}

#wps-slider-section .wpsf-product .sp-wps-product-image-area {
	height: 100% !important;
	display: grid !important;
	grid-template-rows: var(--latelier-wps-image-h) 1fr !important;
}

#wps-slider-section .wpsf-product .wps-product-image {
	height: var(--latelier-wps-image-h) !important;
	overflow: hidden !important;
}

#wps-slider-section .wpsf-product .wpsf-product-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

#wps-slider-section .wpsf-product .sp-wps-product-details {
	min-height: 0 !important;
	display: block !important;
}

#wps-slider-section .wpsf-product .sp-wps-product-details-inner {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
}

#wps-slider-section .wpsf-product .wpsf-product-title {
	margin: 0 !important;
}

#wps-slider-section .wpsf-product .wpsf-product-title a {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	line-height: 1.15 !important;
	min-height: calc(1.15em * 2) !important;
}

#wps-slider-section .wpsf-product .wpsf-product-price {
	margin-top: auto !important;
}

@media (max-width: 767px) {
	/* Product cards: narrower on mobile for better rhythm and less crowding. */
	#wps-slider-section .wpsf-product.swiper-slide {
		width: clamp(158px, 45vw, 186px) !important;
		min-width: clamp(158px, 45vw, 186px) !important;
		max-width: clamp(158px, 45vw, 186px) !important;
	}
}

/* Posts carousel extensions: normalize card heights for consistent UI. */
.wppsac-post-carousel-wrp .wppsac-post-slides,
.wppsac-post-slider-wrp .wppsac-post-slides,
.wprpsp-post-carousel-wrp .wprpsp-post-slides,
.wprpsp-post-slider-wrp .wprpsp-post-slides,
.psacp-post-carousel-wrap .psacp-post-slide,
.psacp-post-slider-wrap .psacp-post-slide,
.blast-slider .blast-slide {
	height: 100% !important;
}

.wppsac-post-carousel-wrp .wppsac-post-content-position,
.wppsac-post-slider-wrp .wppsac-post-content-position,
.wprpsp-post-carousel-wrp .wprpsp-post-content-position,
.wprpsp-post-slider-wrp .wprpsp-post-content-position,
.psacp-post-carousel-wrap .psacp-post-carousel-content,
.psacp-post-slider-wrap .psacp-post-slider-content,
.blast-slider .blast-slide__content {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.wppsac-post-carousel-wrp .wppsac-post-image-bg,
.wppsac-post-slider-wrp .wppsac-post-image-bg,
.wprpsp-post-carousel-wrp .wprpsp-post-image-bg,
.wprpsp-post-slider-wrp .wprpsp-post-image-bg,
.psacp-post-carousel-wrap .psacp-post-img-bg,
.psacp-post-slider-wrap .psacp-post-img-bg,
.blast-slider .blast-slide__image img {
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
}

/* Hard equal-height for Post Slider and Carousel plugin cards. */
.psacp-post-carousel-wrap .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}

.psacp-post-carousel-wrap .owl-stage-outer {
	overflow: visible !important;
	padding-top: 0.35rem;
	padding-bottom: 0.55rem;
}

.psacp-post-carousel-wrap .owl-item {
	display: flex !important;
	height: auto !important;
}

.psacp-post-carousel-wrap .psacp-post-slide {
	display: flex !important;
	flex-direction: column !important;
	width: 100%;
}

.psacp-post-carousel-wrap .psacp-post-carousel-content {
	flex: 1 1 auto !important;
}

.psacp-post-carousel-wrap .psacp-post-content,
.psacp-post-carousel-wrap .psacp-post-margin-content,
.psacp-post-carousel-wrap .psacp-post-main-content {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
}

.psacp-post-carousel-wrap .psacp-post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-content p,
.psacp-post-carousel-wrap .psacp-post-desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.psacp-post-carousel-wrap .psacp-rdmr-btn {
	margin-top: auto !important;
}

/* Visual parity: posts carousel should match product cards language. */
.psacp-post-carousel-wrap .psacp-post-slide {
	border-radius: 20px !important;
	border: 1px solid rgba(219, 207, 193, 0.9) !important;
	background: var(--latelier-paper) !important;
	box-shadow: 0 8px 24px rgba(35, 23, 14, 0.04) !important;
	overflow: visible !important;
	transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}

/* Remove plugin design-2 internal border to avoid double/odd border colors. */
.psacp-post-carousel-wrap.psacp-design-2 .psacp-post-carousel-content {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.psacp-post-carousel-wrap .psacp-post-slide:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 18px 44px rgba(138, 90, 102, 0.14) !important;
	border-color: rgba(193, 176, 157, 0.95) !important;
}

.psacp-post-carousel-wrap .psacp-post-slide:hover .psacp-post-carousel-content,
.psacp-post-slider-wrap .psacp-post-slide:hover .psacp-post-slider-content {
	border-color: rgba(219, 207, 193, 0.9) !important;
}

.psacp-post-carousel-wrap .psacp-post-img-bg {
	margin-bottom: 0 !important;
	background: #f7f2ee !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	min-height: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
	aspect-ratio: 4 / 3 !important;
	border-radius: 20px 20px 0 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-img-bg > a,
.psacp-post-slider-wrap .psacp-post-img-bg > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	line-height: 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-img-bg img,
.psacp-post-slider-wrap .psacp-post-img-bg img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.psacp-post-carousel-wrap .psacp-post-content,
.psacp-post-carousel-wrap .psacp-post-margin-content,
.psacp-post-carousel-wrap .psacp-post-main-content {
	padding: 0.95rem 1rem 1.05rem !important;
	gap: 0.42rem !important;
}

.psacp-post-carousel-wrap .psacp-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-title,
.psacp-post-carousel-wrap h2.psacp-post-title,
.psacp-post-carousel-wrap h3.psacp-post-title,
.psacp-post-carousel-wrap h4.psacp-post-title {
	font-family: "Cormorant Garamond", serif !important;
	font-size: .98rem !important;
	line-height: 1.14 !important;
	font-weight: 600 !important;
	letter-spacing: .015em !important;
	text-transform: uppercase !important;
	margin: 0 0 .22rem 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-title a {
	color: #2e2322 !important;
}

.psacp-post-carousel-wrap .psacp-post-meta {
	font-family: "Jost", sans-serif !important;
	font-size: .78rem !important;
	color: #7a6a62 !important;
	margin: 0 0 .42rem 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-content p,
.psacp-post-carousel-wrap .psacp-post-desc {
	font-family: "Jost", sans-serif !important;
	font-size: .86rem !important;
	line-height: 1.45 !important;
	color: #5a4b47 !important;
	margin: 0 !important;
	padding-top: 0 !important;
}

.psacp-post-carousel-wrap .psacp-post-content {
	display: flex !important;
	flex-direction: column !important;
	gap: .42rem !important;
}

.psacp-post-carousel-wrap .psacp-rdmr-btn {
	border-radius: 999px !important;
	border: 1px solid var(--latelier-line) !important;
	background: var(--latelier-paper) !important;
	color: var(--latelier-ink) !important;
	padding: .62rem 1.05rem !important;
	font-family: "Jost", sans-serif !important;
	font-size: .74rem !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	align-self: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.psacp-post-carousel-wrap .psacp-rdmr-btn:hover,
.psacp-post-carousel-wrap .psacp-rdmr-btn:focus {
	background: var(--latelier-accent) !important;
	border-color: var(--latelier-accent) !important;
	color: #ffffff !important;
}

/* Home: add clearer breathing room between major sections. */
.home .latelier-home > .wp-block-group,
.home .latelier-home > .wp-block-cover,
.home .latelier-home > .wp-block-columns,
.home .latelier-home > .latelier-section {
	margin-block: clamp(2.2rem, 5vw, 4.2rem) !important;
}

/* Home sections: tighten default spacing so shop/category blocks are closer. */
.home .latelier-home > .latelier-section {
	margin-block: clamp(1.25rem, 2.8vw, 2.2rem) !important;
}

.home .latelier-home > :first-child {
	margin-top: 0 !important;
}

.home .latelier-home > :last-child {
	margin-bottom: 0 !important;
}

/* Home blog block needs stronger spacing rhythm than other sections. */
.home .latelier-home .latelier-section--blog {
	margin-top: clamp(3rem, 6.5vw, 5.4rem) !important;
	margin-bottom: clamp(3rem, 6.5vw, 5.4rem) !important;
	padding: clamp(1.5rem, 3.2vw, 2.6rem) !important;
}

.home .latelier-home .latelier-section--blog .latelier-blog-latest-head {
	margin-top: clamp(1.6rem, 3vw, 2.4rem) !important;
	padding-top: clamp(1.1rem, 2.2vw, 1.6rem) !important;
}

.psacp-post-carousel-wrap .psacp-rdmr-btn {
	margin-top: 0.85rem !important;
}

.home .latelier-section .latelier-blog-feature {
	margin-top: clamp(1.1rem, 2vw, 1.65rem) !important;
	margin-bottom: clamp(1.25rem, 2.3vw, 1.9rem) !important;
}

.home .latelier-section .latelier-blog-latest-head {
	margin-top: clamp(1.8rem, 3.4vw, 2.6rem) !important;
}

.home .latelier-section .latelier-blog-latest-head + .psacp-post-carousel-wrap,
.home .latelier-section .latelier-blog-latest-head + .wp-block-shortcode .psacp-post-carousel-wrap {
	margin-top: clamp(0.95rem, 2.1vw, 1.4rem) !important;
}

/* Single post related articles carousel shell. */
.single-post .latelier-related-posts-carousel {
	max-width: var(--latelier-shell);
	margin: clamp(2.2rem, 5vw, 4rem) auto 0;
	padding-top: clamp(1.15rem, 2vw, 1.6rem);
	border-top: 1px solid rgba(185, 160, 141, 0.36);
}

.single-post .latelier-related-posts-carousel__head h2 {
	margin: 0 0 clamp(0.85rem, 1.8vw, 1.25rem);
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.35rem, 2.25vw, 1.95rem);
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -0.015em;
	color: var(--latelier-ink);
}

/* Force icon centering inside round nav buttons (user requested selector). */
#wps-slider-section.wps-slider-section .wpsp-nav i.fa {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Blog archive cards: equal-height UI with refined image styling. */
.blog .wp-block-post-template {
	align-items: stretch !important;
	gap: clamp(1rem, 2.2vw, 1.4rem) !important;
}

.blog .wp-block-post-template > .wp-block-post {
	display: flex;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card {
	--latelier-blog-card-h: clamp(27rem, 45vw, 31rem);
	display: flex;
	flex-direction: column;
	width: 100%;
	height: var(--latelier-blog-card-h);
	min-height: var(--latelier-blog-card-h);
	margin: 0;
	padding-bottom: 1.05rem;
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: 20px;
	background: linear-gradient(165deg, rgba(255, 253, 251, 0.98), rgba(251, 245, 239, 0.98));
	box-shadow: 0 10px 24px rgba(44, 28, 18, 0.06);
	overflow: hidden;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-featured-image {
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f5eee8;
	flex: 0 0 auto;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 38%;
	transform: scale(1.001);
	transition: transform 0.45s ease;
}

.blog .wp-block-post-template > .wp-block-post:hover .latelier-post-card .wp-block-post-featured-image img {
	transform: scale(1.045);
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-title,
.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt {
	padding-left: clamp(0.95rem, 1.6vw, 1.15rem);
	padding-right: clamp(0.95rem, 1.6vw, 1.15rem);
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-title {
	margin: 0.9rem 0 0.5rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	flex: 0 0 auto;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt {
	margin: 0;
	padding-bottom: 0;
	flex: 1 1 auto;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #5a4b47;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt p {
	margin: 0 !important;
	padding: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt__more-text {
	margin-top: auto;
	padding-top: 0.65rem;
}

.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.blog .wp-block-post-template > .wp-block-post .latelier-post-card {
		--latelier-blog-card-h: 28rem;
	}
}

@media (max-width: 781px) {
	.blog .wp-block-post-template > .wp-block-post .latelier-post-card {
		--latelier-blog-card-h: auto;
		height: auto;
		min-height: 0;
	}
}

/* Never show category/meta mentions like "Blog" in this block. */
.psacp-post-carousel-wrap .psacp-post-cats,
.psacp-post-carousel-wrap .psacp-post-meta {
	display: none !important;
}

.psacp-post-carousel-wrap .owl-nav .owl-next,
.psacp-post-carousel-wrap .owl-nav .owl-prev {
	background: var(--latelier-paper) !important;
	border: 1px solid var(--latelier-line) !important;
	color: #2e2322 !important;
	border-radius: 999px !important;
	box-shadow: 0 6px 18px rgba(32, 21, 12, 0.08) !important;
}

.psacp-post-carousel-wrap .owl-nav .owl-next:hover,
.psacp-post-carousel-wrap .owl-nav .owl-prev:hover {
	background: var(--latelier-accent) !important;
	border-color: var(--latelier-accent) !important;
	color: #2e2322 !important;
}

@media (max-width: 767px) {
	.latelier-products-carousel-plugin,
	.latelier-products-carousel {
		--latelier-card-w: clamp(164px, 58vw, 216px);
		--latelier-card-h: 390px;
		--latelier-image-h: 230px;
	}

	.latelier-products-carousel-plugin #wps-slider-section {
		--latelier-carousel-track-h: 338px;
	}

	#wps-slider-section {
		--latelier-carousel-track-h: 338px;
	}

	.latelier-products-carousel-plugin #wps-slider-section::before,
	.latelier-products-carousel-plugin #wps-slider-section::after {
		width: clamp(.55rem, 2.6vw, .95rem) !important;
	}

	.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev,
	.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next {
		width: 2.5rem !important;
		height: 2.5rem !important;
	}

	.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-prev {
		left: .35rem !important;
	}

	.latelier-products-carousel-plugin #wps-slider-section .wpsp-nav.swiper-button-next {
		right: .35rem !important;
	}
}

/* Header mobile/tablette anti-conflits:
 * ordre visuel garanti = logo -> actions -> bouton menu. */
@media (max-width: 1024px) {
	.latelier-header__inner {
		display: flex !important;
		align-items: center !important;
		gap: 0.45rem !important;
	}

	.latelier-header__inner > .wp-block-site-logo,
	.latelier-header__inner > .latelier-logo {
		order: 1 !important;
		flex: 0 0 auto !important;
	}

	.latelier-header__inner > .wp-block-shortcode {
		order: 2 !important;
		margin-left: auto !important;
		margin-right: 0 !important;
		flex: 0 0 auto !important;
	}

	.latelier-header__inner > .latelier-header-actions {
		order: 2 !important;
		margin-left: auto !important;
		margin-right: 0 !important;
		flex: 0 0 auto !important;
	}

	.latelier-header__inner > .wp-block-navigation {
		order: 3 !important;
		margin-left: 0 !important;
		flex: 0 0 auto !important;
	}

	.latelier-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
	}

	.latelier-header__inner > .wp-block-navigation > .wp-block-navigation__container {
		display: none !important;
	}

	.latelier-header__inner > .wp-block-shortcode .latelier-header-account,
	.latelier-header__inner > .wp-block-shortcode .latelier-header-cart,
	.latelier-header__inner > .latelier-header-actions .latelier-header-account,
	.latelier-header__inner > .latelier-header-actions .latelier-header-cart {
		display: inline-flex !important;
	}
}

/* Blog cards: keep excerpt + read-more flow stable, avoid visual ellipsis glitches. */
.blog .wp-block-post-template > .wp-block-post .latelier-post-card .wp-block-post-excerpt__more-text {
	display: block;
	margin: 0.65rem 0 0 !important;
	padding: 0 !important;
}
/* Search results page */
.search .latelier-search-shell {
	display: grid;
	gap: clamp(1.4rem, 3vw, 2.2rem);
}

.latelier-search-head {
	background:
		radial-gradient(circle at 8% 15%, rgba(244, 215, 199, 0.26), transparent 42%),
		radial-gradient(circle at 92% 82%, rgba(216, 228, 215, 0.22), transparent 38%),
		linear-gradient(160deg, rgba(255, 250, 247, 0.98), rgba(252, 244, 241, 0.92));
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: calc(var(--latelier-radius) + 2px);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.latelier-search-head h1 {
	margin: 0.45rem 0 0.4rem;
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.latelier-search-head__lead {
	margin: 0;
	color: var(--latelier-muted);
	max-width: 64ch;
	line-height: 1.65;
}

.latelier-search-results__form {
	margin-top: clamp(0.9rem, 2vw, 1.2rem);
	width: min(100%, 680px);
}

.latelier-search-results__form .wp-block-search__inside-wrapper {
	background: #fff;
	border: 1px solid rgba(219, 207, 193, 0.95);
	border-radius: 999px;
	padding: 0.4rem 0.4rem 0.4rem 1rem;
	box-shadow: 0 10px 24px rgba(35, 23, 14, 0.06);
}

.latelier-search-results__form .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: 0.95rem;
	color: var(--latelier-ink);
}

.latelier-search-results__form .wp-block-search__button {
	margin-left: 0.5rem;
	border: 0;
	border-radius: 999px;
	padding: 0.72rem 1.15rem;
	background: var(--latelier-accent);
	color: #fffaf7;
	font-size: 0.72rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	font-weight: 600;
}

.latelier-search-results__form .wp-block-search__button:hover {
	background: var(--latelier-accent-strong);
}

.latelier-search-results__form .wp-block-search__button:focus-visible {
	outline: 2px solid var(--latelier-accent-strong);
	outline-offset: 2px;
}

.search .latelier-search-results.wp-block-query {
	margin-top: 0.2rem;
}

.search .latelier-search-results .wp-block-post-template {
	gap: clamp(1rem, 2.2vw, 1.5rem);
}

.latelier-search-card {
	height: 100%;
	display: grid;
	grid-template-rows: auto auto 1fr;
	border-radius: calc(var(--latelier-radius) - 6px);
	background: linear-gradient(180deg, #fffaf7 0%, #fcf6f2 100%);
	border: 1px solid rgba(219, 207, 193, 0.9);
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(35, 23, 14, 0.05);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.search .wp-block-post-template > .wp-block-post:hover .latelier-search-card {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(35, 23, 14, 0.11);
}

.latelier-search-card .wp-block-post-featured-image {
	margin: 0;
}

.latelier-search-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 5;
}

.latelier-search-card .wp-block-post-title,
.latelier-search-card .wp-block-post-excerpt {
	padding-left: 1rem;
	padding-right: 1rem;
}

.latelier-search-card .wp-block-post-title {
	margin: 0.95rem 0 0.5rem;
	font-size: clamp(1.2rem, 2.1vw, 1.75rem);
	line-height: 1.15;
}

.latelier-search-card .wp-block-post-excerpt {
	margin: 0 0 1rem;
	color: var(--latelier-muted);
	font-size: 0.93rem;
}

.latelier-search-card .wp-block-post-excerpt__more-link {
	font-size: 0.72rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	font-weight: 600;
}

.latelier-search-empty {
	text-align: center;
	background: rgba(255, 250, 247, 0.82);
	border: 1px solid rgba(219, 207, 193, 0.8);
	border-radius: var(--latelier-radius);
	padding: clamp(1.3rem, 3vw, 2rem);
	margin-top: 0.2rem;
}

.latelier-search-empty h3 {
	margin: 0 0 0.5rem;
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.latelier-search-empty p {
	margin: 0;
	color: var(--latelier-muted);
}

@media (max-width: 900px) {
	.search .latelier-search-results .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.latelier-search-head {
		padding: 1.1rem;
	}

	.latelier-search-results__form {
		width: 100%;
	}

	.latelier-search-results__form .wp-block-search__inside-wrapper {
		padding-left: 0.8rem;
	}

	.latelier-search-results__form .wp-block-search__button {
		padding: 0.66rem 0.95rem;
	}

	.search .latelier-search-results .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* Product search results page (?s=...&post_type=product) */
.search.post-type-archive-product main.wp-block-group {
	padding-top: clamp(1.3rem, 3vw, 2.2rem);
}

.search.post-type-archive-product main .woocommerce-breadcrumb {
	margin-bottom: 1rem;
	padding: 0.35rem 0.1rem;
	font-size: 0.76rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.search.post-type-archive-product main .woocommerce-breadcrumb a {
	color: var(--latelier-muted);
}

.search.post-type-archive-product main .wp-block-query-title {
	background:
		radial-gradient(circle at 8% 15%, rgba(244, 215, 199, 0.22), transparent 42%),
		radial-gradient(circle at 92% 82%, rgba(216, 228, 215, 0.2), transparent 38%),
		linear-gradient(160deg, rgba(255, 250, 247, 0.98), rgba(252, 244, 241, 0.92));
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: calc(var(--latelier-radius) + 2px);
	padding: clamp(1.1rem, 2.6vw, 1.6rem);
	margin-bottom: 0.95rem;
}

.search.post-type-archive-product main .wp-block-group.alignwide.is-content-justification-space-between {
	background: rgba(255, 250, 247, 0.72);
	border: 1px solid rgba(219, 207, 193, 0.72);
	border-radius: 18px;
	padding: 0.75rem 0.95rem;
	margin-bottom: 1rem;
	gap: 0.75rem;
}

.search.post-type-archive-product .woocommerce-result-count {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.search.post-type-archive-product .woocommerce-ordering {
	margin: 0;
}

.search.post-type-archive-product .woocommerce-ordering .orderby {
	border: 1px solid rgba(216, 203, 188, 0.95);
	border-radius: 999px;
	background: #fff;
	padding: 0.62rem 2rem 0.62rem 0.95rem;
	font-size: 0.85rem;
	color: var(--latelier-ink);
}

.search.post-type-archive-product .wp-block-woocommerce-product-collection.alignwide {
	margin-top: 0.35rem;
}

.search.post-type-archive-product .wc-block-product-template {
	gap: clamp(0.75rem, 1.6vw, 1rem);
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 980px) {
	.search.post-type-archive-product .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1320px) {
	.search.post-type-archive-product .wc-block-product-template {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

.search.post-type-archive-product .wc-block-product {
	border-radius: 18px;
	background: linear-gradient(180deg, #fffaf7 0%, #fcf6f2 100%);
	border: 1px solid rgba(219, 207, 193, 0.9);
	box-shadow: 0 10px 24px rgba(35, 23, 14, 0.05);
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.search.post-type-archive-product .wc-block-product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(35, 23, 14, 0.1);
}

.search.post-type-archive-product .wc-block-components-product-image {
	margin-bottom: 0;
}

.search.post-type-archive-product .wc-block-components-product-image img {
	aspect-ratio: 4 / 4.35;
	object-fit: cover;
}

.search.post-type-archive-product .wc-block-product .wp-block-post-title {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.2;
	margin: 0.72rem 0 0.3rem;
	padding-left: 0.85rem;
	padding-right: 0.85rem;
}

.search.post-type-archive-product .wc-block-product .wc-block-components-product-price {
	padding-left: 0.85rem;
	padding-right: 0.85rem;
	margin-bottom: 0.45rem;
	font-size: 0.9rem;
}

.search.post-type-archive-product .wc-block-components-product-image img {
	height: clamp(190px, 24vw, 250px);
	width: 100%;
	object-fit: cover;
}

/* Commande (panier) refresh */
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
	background:
		radial-gradient(circle at 10% 14%, rgba(244, 215, 199, 0.2), transparent 42%),
		radial-gradient(circle at 92% 84%, rgba(216, 228, 215, 0.2), transparent 38%),
		linear-gradient(165deg, rgba(255, 250, 247, 0.98), rgba(252, 244, 241, 0.94));
	border: 1px solid rgba(219, 207, 193, 0.85);
	border-radius: calc(var(--latelier-radius) + 2px);
	padding: clamp(1rem, 2.4vw, 1.6rem);
}

.woocommerce-cart .wp-block-post-title {
	background: rgba(255, 250, 247, 0.75);
	border: 1px solid rgba(219, 207, 193, 0.8);
	border-radius: 18px;
	padding: 0.6rem 0.9rem;
	margin-bottom: 0.9rem;
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	line-height: 1.15;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.2rem, 2.1vw, 1.75rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin-bottom: 0.45rem;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
	opacity: 0.45;
	margin: 1rem auto;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center {
	font-size: clamp(1rem, 1.8vw, 1.28rem);
	line-height: 1.2;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	position: relative;
	padding: clamp(1rem, 2.4vw, 1.8rem);
	border-radius: 22px;
	background:
		radial-gradient(circle at 8% 14%, rgba(244, 215, 199, 0.22), transparent 44%),
		radial-gradient(circle at 92% 82%, rgba(216, 228, 215, 0.22), transparent 38%),
		linear-gradient(162deg, rgba(255, 252, 250, 0.98), rgba(252, 245, 241, 0.95));
	border: 1px solid rgba(219, 207, 193, 0.78);
	box-shadow:
		0 22px 48px rgba(57, 34, 24, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);
	overflow: hidden;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.35), transparent 48%);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator {
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin {
	margin-top: clamp(0.8rem, 2vw, 1.3rem);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section {
	--latelier-carousel-track-h: 332px;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	text-wrap: balance;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title) {
	font-family: "Jost", sans-serif;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--latelier-muted);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
	max-width: 8rem;
	border-color: rgba(138, 90, 102, 0.34);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin .wpsf-product.swiper-slide {
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 246, 242, 0.95));
	border: 1px solid rgba(219, 207, 193, 0.74);
	box-shadow: 0 12px 28px rgba(57, 34, 24, 0.07);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin .wpsf-product-title a {
	font-size: 0.95rem;
	line-height: 1.28;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin .wpsf-product-price {
	font-size: 0.92rem;
	color: var(--latelier-accent-strong);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin .wpsp-nav.swiper-button-prev,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin .wpsp-nav.swiper-button-next {
	background: rgba(255, 250, 247, 0.92);
	border: 1px solid rgba(219, 207, 193, 0.9);
	box-shadow: 0 8px 18px rgba(57, 34, 24, 0.1);
}

.latelier-cart-carousel-wrap {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--latelier-line);
}

.latelier-cart-carousel-wrap__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 0.8rem;
	margin-bottom: 1.2rem;
}

.latelier-cart-carousel-wrap__title {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.45rem, 2.3vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin: 0;
}

.latelier-cart-carousel-wrap__link {
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	text-decoration: none;
}

@media (max-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
		font-size: 1.12rem;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center {
		font-size: 0.94rem;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section {
		--latelier-carousel-track-h: 306px;
	}

	.latelier-cart-carousel-wrap__head {
		align-items: center;
	}
}

/* Mon compte refresh (état connecté / déconnecté) */
.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.9rem, 2vw, 1.35rem);
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
	background: #fffdfb;
	border: 1px solid rgba(219, 207, 193, 0.9);
	border-radius: 18px;
	padding: clamp(1rem, 2.2vw, 1.4rem);
	box-shadow: 0 10px 24px rgba(35, 23, 14, 0.06);
}

.woocommerce-account #customer_login h2 {
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(1.5rem, 2.3vw, 2rem);
	letter-spacing: -0.02em;
	margin: 0 0 0.85rem;
}

/* ── Final Cart Empty UX Polish (2026-05-05) ── */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	max-width: min(1140px, calc(100vw - 3rem)) !important;
	margin: 1.1rem auto 0 !important;
	padding: clamp(0.9rem, 1.7vw, 1.3rem) !important;
	border-radius: 20px !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon {
	margin: 0 0 0.45rem !important;
	text-align: left !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title) {
	text-align: left !important;
	margin: 0.25rem 0 0.8rem !important;
	font-size: clamp(0.9rem, 1.2vw, 1.02rem) !important;
	letter-spacing: 0.11em !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section {
	padding-top: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide {
	min-height: 0 !important;
	border-radius: 14px !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product-img {
	aspect-ratio: 4 / 5 !important;
	height: auto !important;
	object-fit: cover !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title {
	padding: 0.75rem 0.8rem 0.2rem !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title a {
	font-size: 1.02rem !important;
	line-height: 1.2 !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price {
	padding: 0 0.8rem 0.8rem !important;
	margin: 0 !important;
	font-size: 0.9rem !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsp-pagination-dot {
	margin-top: 0.55rem !important;
}

@media (max-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
		max-width: calc(100vw - 1.2rem) !important;
		padding: 0.8rem !important;
		border-radius: 16px !important;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
		font-size: 2.3rem !important;
		margin-bottom: 0.28rem !important;
	}

	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title a {
		font-size: 0.94rem !important;
	}
}

/* Cart empty slider hard-fix: enforce sane slide widths even without custom wrapper class. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .swiper-wrapper {
	align-items: stretch !important;
	column-gap: 20px !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsf-product.swiper-slide {
	width: clamp(212px, 22vw, 268px) !important;
	min-width: clamp(212px, 22vw, 268px) !important;
	max-width: clamp(212px, 22vw, 268px) !important;
	height: 352px !important;
	min-height: 352px !important;
	max-height: 352px !important;
	margin-right: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .sp-wps-product-image-area {
	display: grid !important;
	grid-template-rows: 220px 1fr !important;
	height: 100% !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wps-product-image {
	height: 220px !important;
	overflow: hidden !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsf-product-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsp-nav.swiper-button-prev,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsp-nav.swiper-button-next {
	z-index: 30 !important;
	pointer-events: auto !important;
	touch-action: manipulation !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #wps-slider-section::before,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block #wps-slider-section::after {
	pointer-events: none !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .swiper-wrapper,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsf-product.swiper-slide {
	pointer-events: auto !important;
}

@media (max-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block #sp-woo-product-slider-2059 .wpsf-product.swiper-slide {
		width: min(72vw, 224px) !important;
		min-width: min(72vw, 224px) !important;
		max-width: min(72vw, 224px) !important;
		height: 334px !important;
		min-height: 334px !important;
		max-height: 334px !important;
	}
}

.woocommerce-account .woocommerce-LostPassword a {
	font-size: 0.84rem;
	color: var(--latelier-accent-strong);
}

.woocommerce-account .woocommerce-privacy-policy-text {
	background: rgba(255, 250, 247, 0.82);
	border: 1px solid rgba(219, 207, 193, 0.75);
	border-radius: 12px;
	padding: 0.7rem 0.8rem;
	font-size: 0.84rem;
	color: var(--latelier-muted);
}

.woocommerce-account .entry-content.wp-block-post-content {
	max-width: min(1120px, 94vw);
	margin-inline: auto !important;
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.96), rgba(252, 246, 242, 0.96));
	border: 1px solid rgba(219, 207, 193, 0.8);
	border-radius: 22px;
	padding: clamp(1rem, 2.3vw, 2rem);
	box-shadow: 0 14px 30px rgba(37, 24, 14, 0.08);
}

/* ═══════════════════════════════════════════════════════════════
   MON COMPTE — dashboard layout, nav, content
═══════════════════════════════════════════════════════════════ */

/* 2-column: sidebar + content */
.woocommerce-account .woocommerce {
	display: flex !important;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
	max-width: 100% !important;
	width: 100% !important;
}

/* Sidebar nav */
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 230px;
	width: 230px;
	min-width: 0;
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 16px;
	padding: 8px 0;
	overflow: hidden;
	position: sticky;
	top: 90px;
}

/* Content area */
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 0;
	min-width: 0;
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 16px;
	padding: clamp(20px, 3vw, 32px) clamp(20px, 3.5vw, 36px);
}

/* Nav list reset */
.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Nav link */
.woocommerce-account .woocommerce-MyAccount-navigation-link > a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 11px 18px !important;
	font-size: 0.87rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--latelier-ink);
	text-decoration: none;
	transition: background 0.16s ease, color 0.16s ease;
	border-left: 3px solid transparent;
	border-bottom: 0 !important;
}

/* Icon via CSS mask */
.woocommerce-MyAccount-navigation-link a::before {
	content: '';
	display: inline-block;
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	background-color: var(--latelier-muted);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	transition: background-color 0.16s ease;
}

/* Icons per section */
.woocommerce-MyAccount-navigation-link--dashboard a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--orders a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--downloads a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--edit-address a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--payment-methods a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--edit-account a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}

/* Hover state */
.woocommerce-account .woocommerce-MyAccount-navigation-link > a:hover {
	background: var(--latelier-highlight);
	color: var(--latelier-accent-strong);
	border-left-color: var(--latelier-rose);
}
.woocommerce-account .woocommerce-MyAccount-navigation-link > a:hover::before {
	background-color: var(--latelier-accent-strong);
}

/* Active state */
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active > a {
	background: var(--latelier-accent-soft) !important;
	color: var(--latelier-accent-strong) !important;
	font-weight: 600;
	border-left-color: var(--latelier-accent);
}
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active > a::before {
	background-color: var(--latelier-accent);
}

/* Logout — muted, separated */
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	border-top: 1px solid var(--latelier-line) !important;
	margin-top: 4px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout > a {
	color: var(--latelier-muted);
	font-size: 0.82rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout > a:hover {
	background: rgba(180, 40, 40, 0.06);
	color: #a03030;
	border-left-color: #c06060;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout > a:hover::before {
	background-color: #a03030;
}

/* ── Content area internals ── */

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--latelier-ink);
	margin-bottom: 18px;
}

/* Dashboard welcome */
.woocommerce-MyAccount-content > p:first-child {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--latelier-ink);
	padding-bottom: 16px;
	border-bottom: 1px solid var(--latelier-line);
	margin-bottom: 20px;
}
.woocommerce-MyAccount-content > p:first-child strong {
	color: var(--latelier-accent-strong);
	font-weight: 700;
}

/* Orders table */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.87rem;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-MyAccount-content table.shop_table th {
	text-align: left;
	padding: 8px 12px 10px;
	font-size: 0.72rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	border-bottom: 2px solid var(--latelier-line);
	font-weight: 600;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 11px 12px;
	border-bottom: 1px solid var(--latelier-line);
	color: var(--latelier-ink);
	vertical-align: middle;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tr:last-child td,
.woocommerce-MyAccount-content table.shop_table tr:last-child td {
	border-bottom: 0;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .button,
.woocommerce-MyAccount-content table.shop_table .button {
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 5px 14px;
	border-radius: 99px;
	background: var(--latelier-accent-soft);
	color: var(--latelier-accent-strong);
	border: 1px solid var(--latelier-rose);
	text-decoration: none;
	transition: background 0.16s, border-color 0.16s;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .button:hover,
.woocommerce-MyAccount-content table.shop_table .button:hover {
	background: var(--latelier-rose);
	border-color: var(--latelier-accent);
}

/* Addresses */
.woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}
.woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-MyAccount-content .woocommerce-Addresses::after {
	display: none !important;
	content: none !important;
}
.woocommerce-MyAccount-content .woocommerce-Address {
	background: var(--latelier-accent-soft);
	border: 1px solid var(--latelier-line);
	border-radius: 14px;
	padding: 20px 22px;
	width: 100% !important;
	float: none !important;
	box-sizing: border-box;
}
.woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	font-family: "Jost", sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin: 0;
	line-height: 1.3;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--latelier-accent);
	text-decoration: none;
	transition: color 0.16s;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
	color: var(--latelier-accent-strong);
}
.woocommerce-MyAccount-content .woocommerce-Address address {
	font-style: normal;
	font-size: 0.88rem;
	line-height: 1.75;
	color: var(--latelier-ink);
}

/* Edit account form */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row {
	margin-bottom: 14px;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm label {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	margin-bottom: 5px;
	font-weight: 600;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-Input,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="text"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"] {
	width: 100%;
	min-height: 44px;
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 10px;
	padding: 0.5rem 0.9rem;
	font-size: 0.92rem;
	font-family: "Jost", sans-serif;
	color: var(--latelier-ink);
	transition: border-color 0.16s, box-shadow 0.16s;
	box-sizing: border-box;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-Input:focus,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm input:focus {
	border-color: var(--latelier-accent);
	box-shadow: 0 0 0 3px rgba(138, 90, 102, 0.12);
	outline: none;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-wide {
	grid-column: 1 / -1;
}

/* Fieldsets (password section) */
.woocommerce-MyAccount-content fieldset {
	border: 1px solid var(--latelier-line);
	border-radius: 12px;
	padding: 18px 20px;
	margin-top: 24px;
}
.woocommerce-MyAccount-content fieldset legend {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	padding: 0 8px;
}

/* Save button */
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button[name="save_account_details"],
.woocommerce-MyAccount-content input[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 0.7rem 1.6rem;
	background: var(--latelier-accent);
	color: var(--latelier-paper);
	border: none;
	border-radius: 99px;
	font-family: "Jost", sans-serif;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.18s, transform 0.14s;
}
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content button[name="save_account_details"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover {
	background: var(--latelier-accent-strong);
	transform: translateY(-1px);
}

/* Woo notices */
.woocommerce-MyAccount-content .woocommerce-info {
	background: var(--latelier-accent-soft) !important;
	border: 1px solid var(--latelier-rose) !important;
	border-top: 1px solid var(--latelier-rose) !important;
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 0.88rem;
	color: var(--latelier-ink) !important;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.woocommerce-MyAccount-content .woocommerce-info::before {
	color: var(--latelier-accent) !important;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-info {
	background: var(--latelier-accent-soft) !important;
	border: 1px solid var(--latelier-rose) !important;
	border-radius: 10px !important;
	color: var(--latelier-ink) !important;
	margin-bottom: 16px;
	box-shadow: none !important;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-info svg {
	fill: var(--latelier-accent) !important;
	background: var(--latelier-rose) !important;
}
.woocommerce-MyAccount-content .woocommerce-message {
	background: rgba(106, 173, 122, 0.1);
	border: 1px solid rgba(106, 173, 122, 0.35);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 0.88rem;
	color: var(--latelier-ink);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.woocommerce-MyAccount-content .woocommerce-error {
	background: rgba(180, 50, 50, 0.07);
	border: 1px solid rgba(180, 50, 50, 0.25);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 0.88rem;
	color: var(--latelier-ink);
	margin-bottom: 20px;
	list-style: none;
}

/* Page title in account area */
.woocommerce-account .latelier-page-shell > .wp-block-post-title {
	font-size: clamp(2rem, 5vw, 3.6rem);
	margin-bottom: 1.5rem !important;
}

/* Payment methods table */
.woocommerce-MyAccount-content .woocommerce-PaymentMethods table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.87rem;
}
.woocommerce-MyAccount-content .woocommerce-PaymentMethods th {
	text-align: left;
	padding: 8px 12px 10px;
	font-size: 0.72rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--latelier-muted);
	border-bottom: 2px solid var(--latelier-line);
	font-weight: 600;
}
.woocommerce-MyAccount-content .woocommerce-PaymentMethods td {
	padding: 11px 12px;
	border-bottom: 1px solid var(--latelier-line);
	vertical-align: middle;
}

/* Mobile stacking */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		flex-direction: column;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation {
		flex: 0 0 auto;
		width: 100%;
		position: static;
		border-radius: 14px;
		padding: 6px 0;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 20px;
	}
	.woocommerce-MyAccount-navigation-link a {
		padding: 10px 16px;
		font-size: 0.85rem;
	}
}

.woocommerce-account #customer_login .woocommerce-form {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.woocommerce-account #customer_login p.form-row {
	margin-bottom: 0.85rem;
}

.woocommerce-account #customer_login .woocommerce-Input,
.woocommerce-account #customer_login input.input-text {
	min-height: 44px;
}

.woocommerce-account #customer_login .woocommerce-form-row label {
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--latelier-muted);
}

.woocommerce-account #customer_login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
}

@media (max-width: 900px) {
	.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
	}
}

/* Hard override: keep login/register side-by-side on desktop and fully stacked on mobile. */
body.woocommerce-account #customer_login {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: clamp(1rem, 2.2vw, 1.6rem) !important;
	align-items: start !important;
}

body.woocommerce-account #customer_login > .u-column1,
body.woocommerce-account #customer_login > .u-column2 {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	align-self: stretch !important;
}

body.woocommerce-account #customer_login > .u-column1 > .woocommerce-form,
body.woocommerce-account #customer_login > .u-column2 > .woocommerce-form {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	padding-left: clamp(0.55rem, 1vw, 0.8rem) !important;
	padding-right: clamp(1rem, 1.8vw, 1.35rem) !important;
}

body.woocommerce-account #customer_login .woocommerce-form .form-row,
body.woocommerce-account #customer_login .woocommerce-form .woocommerce-form-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.woocommerce-account #customer_login > .u-column1 {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.woocommerce-account #customer_login > .u-column2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

@media (max-width: 960px) {
	body.woocommerce-account #customer_login {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-account #customer_login > .u-column1,
	body.woocommerce-account #customer_login > .u-column2 {
		grid-column: 1 !important;
		width: 100% !important;
	}

	body.woocommerce-account #customer_login > .u-column1 {
		grid-row: 1 !important;
	}

	body.woocommerce-account #customer_login > .u-column2 {
		grid-row: 2 !important;
	}
}

@media (max-width: 782px) {
	.search.post-type-archive-product main .wp-block-group.alignwide.is-content-justification-space-between {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

/* Requested UX: disable entry animations and keep header fixed on every page. */
[data-intro-reveal],
.latelier-hero-cinematic [data-hero-anim],
[data-hero-bg] {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}

.latelier-header,
body.has-cinematic-hero .latelier-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
}

/* Cookie banner: keep action label inside button container. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	white-space: normal !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
	min-height: 42px;
	line-height: 1.25;
}

/* Cookie policy page: remove abnormal left offset. */
body.page-politique-de-cookies .latelier-page-shell,
body.page-politique-de-cookies .latelier-page-shell .wp-block-post-content {
	padding-left: 0 !important;
	margin-left: auto !important;
}

/* Product search pagination: same style as boutique. */
.search.post-type-archive-product .wp-block-query-pagination,
.search.post-type-archive-product .woocommerce-pagination {
	display: flex;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 1.5rem;
}

.search.post-type-archive-product .wp-block-query-pagination a,
.search.post-type-archive-product .wp-block-query-pagination span,
.search.post-type-archive-product .woocommerce-pagination a,
.search.post-type-archive-product .woocommerce-pagination span {
	min-width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid var(--latelier-line);
	background: var(--latelier-paper);
	color: var(--latelier-ink);
	text-decoration: none;
}

.search.post-type-archive-product .wp-block-query-pagination .current,
.search.post-type-archive-product .woocommerce-pagination .current {
	background: var(--latelier-accent-soft);
	border-color: rgba(138, 90, 102, 0.42);
	color: var(--latelier-accent-strong);
}

/* Home spacing tune between intro/new products/featured categories. */
.home .latelier-value-strip {
	margin-top: clamp(1.4rem, 2.6vw, 2.2rem);
}

.home .latelier-section--shop-new {
	padding-top: clamp(1.5rem, 3vw, 2.2rem);
}

.home .latelier-section--featured-cats {
	padding-top: clamp(1.1rem, 2.2vw, 1.8rem);
}

/* Remove duplicate visual page titles on specific pages. */
body.page-faq .latelier-entry-title,
body.page-livraison-et-retours .latelier-entry-title,
body.page-contact .latelier-entry-title {
	display: none !important;
}

/* Product page mobile image footprint. */
@media (max-width: 782px) {
	.single-product .woocommerce-product-gallery .flex-viewport {
		max-height: 56vh !important;
	}

	.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
		max-height: 56vh !important;
		object-fit: cover;
	}
}

/* Checkout: keep fixed header visible and preserve content offset. */
.woocommerce-checkout .latelier-header {
	position: fixed !important;
	z-index: 110 !important;
}

.woocommerce-checkout .wp-site-blocks {
	padding-top: var(--header-h, 82px) !important;
}

/* Account (guest) layout + spacing fixes. */
.woocommerce-account #customer_login .woocommerce-privacy-policy-text,
.woocommerce-account #customer_login button[name="register"],
.woocommerce-account #customer_login .woocommerce-form-register .button {
	margin-top: 1rem !important;
}

.woocommerce-account #customer_login .woocommerce-form-register .woocommerce-privacy-policy-text + p {
	margin-top: 0.95rem !important;
}

/* Lost/reset password UX polish. */
.woocommerce-lost-password .woocommerce form,
.woocommerce-reset-password .woocommerce form {
	background: var(--latelier-paper);
	border: 1px solid var(--latelier-line);
	border-radius: 16px;
	padding: clamp(1rem, 2.5vw, 1.45rem);
}

.woocommerce-lost-password .woocommerce form .form-row,
.woocommerce-reset-password .woocommerce form .form-row {
	margin-bottom: 0.9rem;
}

.woocommerce-reset-password .woocommerce-password-strength {
	margin-top: 0.5rem;
	border-radius: 10px;
	padding: 0.55rem 0.7rem;
	font-size: 0.84rem;
}

.woocommerce-reset-password .woocommerce-password-hint {
	margin-top: 0.6rem;
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--latelier-muted);
}

.woocommerce-reset-password input[type="password"] {
	width: 100%;
}

/* Cart carousel arrows always visible/clickable. */
.woocommerce-cart #wps-slider-section .wpsp-nav.swiper-button-prev,
.woocommerce-cart #wps-slider-section .wpsp-nav.swiper-button-next,
.woocommerce-cart .latelier-cart-cross-sells-prev,
.woocommerce-cart .latelier-cart-cross-sells-next {
	opacity: 1 !important;
	visibility: visible !important;
	display: inline-flex !important;
	pointer-events: auto !important;
	z-index: 35 !important;
}

/* Full slide should be clickable in product carousels. */
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide > a,
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product.swiper-slide .sp-wps-product-details-inner {
	display: block;
	height: 100%;
}

/* Prevent first-paint slide sticking before JS hydration. */
#wps-slider-section .swiper-wrapper,
[id^="sp-woo-product-slider"] .swiper-wrapper {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 18px !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

#wps-slider-section,
[id^="sp-woo-product-slider"],
#wps-slider-section .wps-product-section,
[id^="sp-woo-product-slider"] .wps-product-section {
	overflow: hidden !important;
	max-width: 100% !important;
}

/* Home product carousel: keep the whole block centered in its container. */
#wps-slider-section {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Home only: product carousel must span full viewport width. */
.home #wps-slider-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

#wps-slider-section .swiper-wrapper::-webkit-scrollbar,
[id^="sp-woo-product-slider"] .swiper-wrapper::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

#wps-slider-section .swiper-wrapper > .wpsf-product.swiper-slide,
[id^="sp-woo-product-slider"] .swiper-wrapper > .wpsf-product.swiper-slide {
	margin-right: 0 !important;
}

/* Hard-fix: always keep product text visible in plugin carousel cards. */
.latelier-products-carousel-plugin #wps-slider-section .sp-wps-product-details,
#wps-slider-section .sp-wps-product-details,
[id^="sp-woo-product-slider"] .sp-wps-product-details {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	position: relative !important;
	z-index: 4 !important;
	pointer-events: auto !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title,
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-title a,
#wps-slider-section .wpsf-product-title,
#wps-slider-section .wpsf-product-title a,
[id^="sp-woo-product-slider"] .wpsf-product-title,
[id^="sp-woo-product-slider"] .wpsf-product-title a {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	color: #2e2322 !important;
	text-decoration: none !important;
	line-height: 1.22 !important;
}

.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price,
.latelier-products-carousel-plugin #wps-slider-section .wpsf-product-price bdi,
#wps-slider-section .wpsf-product-price,
#wps-slider-section .wpsf-product-price bdi,
[id^="sp-woo-product-slider"] .wpsf-product-price,
[id^="sp-woo-product-slider"] .wpsf-product-price bdi {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	color: #5a4b47 !important;
}

/* Keep content visible below the fixed header on all pages except cinematic home hero. */
.wp-site-blocks {
	padding-top: var(--latelier-header-offset, 108px);
}

body.has-cinematic-hero .wp-site-blocks {
	padding-top: 0;
}

/* Cart/product carousels follow the same visual rhythm as homepage carousel. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section,
.single-product .latelier-related-carousel #wps-slider-section {
	--latelier-carousel-track-h: 372px;
}

@media (max-width: 782px) {
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block .latelier-products-carousel-plugin #wps-slider-section,
	.single-product .latelier-related-carousel #wps-slider-section {
		--latelier-carousel-track-h: 338px;
	}
}

/* Fallback visibility: ensure product carousel text is always readable,
   even when slider markup is rendered without the expected wrapper class. */
#wps-slider-section .wpsf-product .sp-wps-product-details,
[class~="wps-slider-section"] .wpsf-product .sp-wps-product-details,
[id^="sp-woo-product-slider"] .wpsf-product .sp-wps-product-details {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.96) 0%, rgba(255, 250, 247, 1) 100%) !important;
}

#wps-slider-section .wpsf-product .wpsf-product-title,
#wps-slider-section .wpsf-product .wpsf-product-title a,
[class~="wps-slider-section"] .wpsf-product .wpsf-product-title,
[class~="wps-slider-section"] .wpsf-product .wpsf-product-title a,
[id^="sp-woo-product-slider"] .wpsf-product .wpsf-product-title,
[id^="sp-woo-product-slider"] .wpsf-product .wpsf-product-title a {
	color: #2e2322 !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-decoration: none !important;
}

#wps-slider-section .wpsf-product .wpsf-product-price,
#wps-slider-section .wpsf-product .wpsf-product-price bdi,
#wps-slider-section .wpsf-product .wpsf-product-price .woocommerce-Price-amount,
[class~="wps-slider-section"] .wpsf-product .wpsf-product-price,
[class~="wps-slider-section"] .wpsf-product .wpsf-product-price bdi,
[class~="wps-slider-section"] .wpsf-product .wpsf-product-price .woocommerce-Price-amount,
[id^="sp-woo-product-slider"] .wpsf-product .wpsf-product-price,
[id^="sp-woo-product-slider"] .wpsf-product .wpsf-product-price bdi,
[id^="sp-woo-product-slider"] .wpsf-product .wpsf-product-price .woocommerce-Price-amount {
	color: #5a4b47 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Home / Cart / Single product: force text contrast and stacking above media. */
.home #wps-slider-section .sp-wps-product-details,
.woocommerce-cart #wps-slider-section .sp-wps-product-details,
.single-product #wps-slider-section .sp-wps-product-details,
.home .wps-slider-section .sp-wps-product-details,
.woocommerce-cart .wps-slider-section .sp-wps-product-details,
.single-product .wps-slider-section .sp-wps-product-details,
.home [id^="sp-woo-product-slider"] .sp-wps-product-details,
.woocommerce-cart [id^="sp-woo-product-slider"] .sp-wps-product-details,
.single-product [id^="sp-woo-product-slider"] .sp-wps-product-details {
	position: relative !important;
	z-index: 2 !important;
	background: linear-gradient(180deg, rgba(255, 250, 247, 0.97) 0%, rgba(255, 250, 247, 1) 100%) !important;
}

.home #wps-slider-section .wpsf-product-title a,
.woocommerce-cart #wps-slider-section .wpsf-product-title a,
.single-product #wps-slider-section .wpsf-product-title a,
.home .wps-slider-section .wpsf-product-title a,
.woocommerce-cart .wps-slider-section .wpsf-product-title a,
.single-product .wps-slider-section .wpsf-product-title a,
.home [id^="sp-woo-product-slider"] .wpsf-product-title a,
.woocommerce-cart [id^="sp-woo-product-slider"] .wpsf-product-title a,
.single-product [id^="sp-woo-product-slider"] .wpsf-product-title a {
	color: #2e2322 !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: none !important;
}

.home #wps-slider-section .wpsf-product-price,
.woocommerce-cart #wps-slider-section .wpsf-product-price,
.single-product #wps-slider-section .wpsf-product-price,
.home .wps-slider-section .wpsf-product-price,
.woocommerce-cart .wps-slider-section .wpsf-product-price,
.single-product .wps-slider-section .wpsf-product-price,
.home [id^="sp-woo-product-slider"] .wpsf-product-price,
.woocommerce-cart [id^="sp-woo-product-slider"] .wpsf-product-price,
.single-product [id^="sp-woo-product-slider"] .wpsf-product-price {
	color: #5a4b47 !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: none !important;
}

/* Final hard-stop overrides for edge clipping/masking on product carousels.
   Keep this block at file end to beat media-query and context-specific rules. */
body .wp-site-blocks {
	overflow-x: visible !important;
}

body #wps-slider-section,
body [class~="wps-slider-section"],
body [id^="sp-woo-product-slider"] {
	overflow: visible !important;
}

body #wps-slider-section::before,
body #wps-slider-section::after,
body [class~="wps-slider-section"]::before,
body [class~="wps-slider-section"]::after,
body [id^="sp-woo-product-slider"]::before,
body [id^="sp-woo-product-slider"]::after,
body #wps-slider-section .wps-product-section::before,
body #wps-slider-section .wps-product-section::after,
body [class~="wps-slider-section"] .wps-product-section::before,
body [class~="wps-slider-section"] .wps-product-section::after,
body [id^="sp-woo-product-slider"] .wps-product-section::before,
body [id^="sp-woo-product-slider"] .wps-product-section::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
