/* =============================================================================
   Luxe Minimal Child — Feuille de styles
   Esthétique : palette ivoire/anthracite, serif Cormorant + sans Inter,
                navigation discrète, grille produits 4:5, hover sobre.
   ========================================================================== */

:root {
	--c-bg:        #ffffff;
	--c-bg-alt:    #f7f6f4;
	--c-ink:       #2a2520;
	--c-ink-soft:  #5a514a;
	--c-line:      #d8cfc2;
	--c-accent:    #2a2520;
	--c-sale:      #8a3a2c;
	--c-white:     #fff;

	--ff-serif:    'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
	--ff-sans:     'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;

	--container:   1320px;
	--gutter:      24px;
	--header-h:    66px;

	--ease:        cubic-bezier(.2,.6,.2,1);
}

@media (min-width: 768px) {
	:root { --gutter: 40px; --header-h: 84px; }
}

/* ----- Reset doux + base ----- */
html { scroll-behavior: smooth; }
body.luxe-child {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--ff-sans);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.luxe-child * { box-sizing: border-box; }
body.luxe-child img { max-width: 100%; height: auto; display: block; }

body.luxe-child h1, body.luxe-child h2, body.luxe-child h3, body.luxe-child h4 {
	font-family: var(--ff-serif);
	font-weight: 400;
	color: var(--c-ink);
	letter-spacing: .005em;
	line-height: 1.15;
	margin: 0 0 .4em;
}

body.luxe-child a { color: var(--c-ink); text-decoration: none; transition: color .25s var(--ease), opacity .25s var(--ease); }
body.luxe-child a:hover { color: var(--c-ink-soft); }

body.luxe-child .col-full { max-width: var(--container); padding: 0 var(--gutter); margin: 0 auto; }

.luxe-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin-bottom: 14px;
}

/* =============================================================================
   HEADER
   ========================================================================== */
.luxe-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-line);
	backdrop-filter: saturate(140%) blur(8px);
}
.luxe-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--header-h);
	padding: 0 16px;
	max-width: var(--container);
	margin: 0 auto;
}
@media (min-width: 768px) {
	.luxe-header__inner { padding: 0 var(--gutter); }
}

/* Burger */
.luxe-burger {
	background: none; border: 0; padding: 8px; cursor: pointer;
	width: 40px; height: 40px;
	display: flex; flex-direction: column; gap: 5px; justify-content: center; align-items: center;
	color: var(--c-ink);
	flex: 0 0 auto;
	z-index: 2;
}
.luxe-burger span {
	display: block; height: 1px; width: 22px; background: currentColor;
	transition: transform .3s var(--ease), opacity .3s var(--ease);
}
.luxe-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.luxe-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.luxe-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Brand (logo absolument centré pour rester au milieu quel que soit le contenu des côtés) */
.luxe-brand {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	max-width: calc(100% - 160px);
	text-align: center;
}
.luxe-brand img.custom-logo {
	max-height: 30px;
	width: auto;
	margin: 0 auto;
	display: block;
}
@media (min-width: 768px) { .luxe-brand img.custom-logo { max-height: 38px; } }
.luxe-brand__text {
	font-family: var(--ff-serif);
	font-size: 20px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-ink);
	white-space: nowrap;
	display: inline-block;
}
@media (min-width: 768px) { .luxe-brand__text { font-size: 26px; } }

/* Actions droite */
.luxe-actions {
	display: flex; align-items: center; gap: 4px;
	flex: 0 0 auto;
	z-index: 2;
}
@media (min-width: 768px) { .luxe-actions { gap: 10px; } }
.luxe-action {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	border: 0; background: none; cursor: pointer;
	color: var(--c-ink);
	position: relative;
}
.luxe-action:hover { color: var(--c-ink-soft); }

.luxe-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; }
.luxe-cart-count {
	position: absolute;
	top: 4px; right: 2px;
	min-width: 17px; height: 17px;
	padding: 0 4px;
	background: var(--c-ink); color: var(--c-bg);
	font-size: 10px; font-weight: 500;
	border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	letter-spacing: 0;
}

/* Pas de barre de navigation sous le header — accès au menu uniquement via le burger,
   sur mobile comme sur desktop. */
.luxe-nav-desktop { display: none !important; }
.luxe-nav-list { display: none !important; }

/* Recherche déroulante */
.luxe-search {
	position: absolute; left: 0; right: 0;
	background: var(--c-bg);
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	padding: 18px var(--gutter);
}
.luxe-search__form {
	display: flex; gap: 12px; align-items: center;
	max-width: var(--container); margin: 0 auto;
}
.luxe-search__form input[type="search"] {
	flex: 1;
	border: 0; background: transparent;
	font-family: var(--ff-serif); font-size: 22px;
	color: var(--c-ink);
	border-bottom: 1px solid var(--c-line);
	padding: 10px 0; outline: none;
}
.luxe-search__form button { border: 0; background: none; cursor: pointer; color: var(--c-ink); }

/* =============================================================================
   DRAWER (menu mobile)
   ========================================================================== */
.luxe-drawer {
	position: fixed; inset: 0 30% 0 0;
	max-width: 420px;
	background: var(--c-bg);
	transform: translateX(-100%);
	transition: transform .35s var(--ease);
	z-index: 110;
	display: flex; flex-direction: column;
	padding: 18px 28px 28px;
	overflow-y: auto;
}
.luxe-drawer.is-open { transform: translateX(0); }
.luxe-drawer__head { display: flex; justify-content: flex-end; }
.luxe-drawer__close { background: none; border: 0; padding: 8px; cursor: pointer; color: var(--c-ink); }
.luxe-drawer__nav { margin-top: 30px; flex: 1; }
.luxe-drawer__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 4px;
}
.luxe-drawer__list li a {
	display: block;
	font-family: var(--ff-serif);
	font-size: 26px;
	font-weight: 400;
	padding: 10px 0;
	border-bottom: 1px solid transparent;
}
.luxe-drawer__list li a:hover { border-bottom-color: var(--c-line); }
.luxe-drawer__list .sub-menu {
	list-style: none; margin: 6px 0 14px 14px; padding: 0;
	display: flex; flex-direction: column; gap: 2px;
}
.luxe-drawer__list .sub-menu li a {
	font-family: var(--ff-sans);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .04em;
	color: var(--c-ink-soft);
	padding: 6px 0;
}
.luxe-drawer__foot {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--c-line);
	display: flex; flex-direction: column; gap: 10px;
}
.luxe-drawer__foot a {
	font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
}

.luxe-overlay {
	position: fixed; inset: 0;
	background: rgba(42,37,32,.45);
	z-index: 100;
	opacity: 0; pointer-events: none;
	transition: opacity .3s var(--ease);
}
.luxe-overlay.is-open { opacity: 1; pointer-events: auto; }

body.luxe-drawer-open { overflow: hidden; }

/* Drawer dispo aussi en desktop puisqu'il n'y a plus de nav horizontale */
@media (min-width: 992px) {
	.luxe-drawer { max-width: 460px; }
}

/* =============================================================================
   HERO
   ========================================================================== */
.luxe-hero {
	position: relative;
	min-height: 78vh;
	background: linear-gradient(135deg, #c9b8a4 0%, #a08a72 60%, #6e5c48 100%) center/cover no-repeat;
	display: flex; align-items: center; justify-content: center;
	color: var(--c-white);
	text-align: center;
	overflow: hidden;
}
.luxe-hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(20,18,16,.15) 0%, rgba(20,18,16,.35) 100%);
}
.luxe-hero__content {
	position: relative;
	z-index: 1;
	max-width: 700px;
	padding: 0 var(--gutter);
}
.luxe-hero .luxe-eyebrow { color: rgba(255,255,255,.85); }
.luxe-hero__title {
	color: var(--c-white);
	font-size: clamp(40px, 7vw, 78px);
	font-weight: 300;
	letter-spacing: -.005em;
	margin: 0 0 18px;
}
.luxe-hero__sub {
	font-size: clamp(15px, 1.6vw, 18px);
	color: rgba(255,255,255,.92);
	margin: 0 auto 32px;
	max-width: 520px;
	line-height: 1.55;
}

/* =============================================================================
   BOUTONS
   ========================================================================== */
.luxe-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--ff-sans);
	font-size: 12px; font-weight: 500;
	letter-spacing: .22em; text-transform: uppercase;
	padding: 14px 28px;
	border: 1px solid currentColor;
	background: transparent;
	color: var(--c-ink);
	cursor: pointer;
	transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.luxe-btn--solid { background: var(--c-ink); color: var(--c-bg); border-color: var(--c-ink); }
.luxe-btn--solid:hover { background: transparent; color: var(--c-ink); }
.luxe-btn--ghost { color: var(--c-white); border-color: var(--c-white); }
.luxe-btn--ghost:hover { background: var(--c-white); color: var(--c-ink); }
.luxe-btn--text {
	border: 0; padding: 0;
	font-size: 12px; letter-spacing: .22em;
}
.luxe-btn--text:hover { color: var(--c-ink-soft); }

/* =============================================================================
   SECTIONS
   ========================================================================== */
.luxe-section {
	max-width: var(--container);
	margin: 0 auto;
	padding: 80px var(--gutter);
}
@media (min-width: 768px) { .luxe-section { padding: 120px var(--gutter); } }

.luxe-section__head { text-align: center; margin-bottom: 48px; }
.luxe-section__title {
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 300;
	margin: 0;
}
.luxe-section__cta { text-align: center; margin-top: 48px; }

/* =============================================================================
   GRILLE PRODUITS
   ========================================================================== */
.luxe-grid {
	display: grid;
	gap: 28px 18px;
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
	.luxe-grid { gap: 50px 32px; }
	.luxe-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.luxe-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.luxe-card { display: flex; flex-direction: column; }
.luxe-card__media {
	display: block;
	position: relative;
	aspect-ratio: 4/5;
	background: var(--c-bg-alt);
	overflow: hidden;
}
.luxe-card__media img,
.luxe-card__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .9s var(--ease), opacity .4s var(--ease);
}
.luxe-card__media:hover img { transform: scale(1.04); }

.luxe-badge {
	position: absolute;
	top: 12px; left: 12px;
	background: var(--c-bg);
	color: var(--c-ink);
	font-size: 10px; font-weight: 500;
	letter-spacing: .14em;
	padding: 6px 10px;
	border-radius: 2px;
}

.luxe-card__body { padding: 14px 4px 0; text-align: center; }
.luxe-card__title {
	font-family: var(--ff-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0 0 6px;
}
.luxe-card__title a { color: var(--c-ink); }
.luxe-card__price { font-size: 13px; color: var(--c-ink-soft); }
.luxe-card__price del { color: rgba(90,81,74,.55); margin-right: 8px; }
.luxe-card__price ins { background: none; text-decoration: none; color: var(--c-sale); font-weight: 500; }

/* =============================================================================
   ÉDITORIAL (image + texte)
   ========================================================================== */
.luxe-edito {
	display: grid;
	grid-template-columns: 1fr;
	background: var(--c-bg-alt);
}
@media (min-width: 768px) {
	.luxe-edito { grid-template-columns: 1fr 1fr; min-height: 600px; }
}
.luxe-edito__media {
	min-height: 380px;
	background: var(--c-line) center/cover no-repeat;
}
.luxe-edito__body {
	display: flex; flex-direction: column; justify-content: center;
	padding: 64px var(--gutter);
	max-width: 560px;
}
@media (min-width: 768px) { .luxe-edito__body { padding: 80px 64px; } }
.luxe-edito__title {
	font-size: clamp(28px, 3.5vw, 42px);
	font-weight: 300;
	margin: 0 0 18px;
}
.luxe-edito__text {
	font-size: 15px; line-height: 1.7;
	color: var(--c-ink-soft);
	margin: 0 0 28px;
}

/* =============================================================================
   CATÉGORIES
   ========================================================================== */
.luxe-cats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}
@media (min-width: 768px) {
	.luxe-cats { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
.luxe-cat {
	display: block;
	position: relative;
	overflow: hidden;
}
.luxe-cat__media {
	aspect-ratio: 4/5;
	background: var(--c-bg-alt) center/cover no-repeat;
	transition: transform .9s var(--ease);
}
.luxe-cat__media--empty { background: var(--c-bg-alt); }
.luxe-cat:hover .luxe-cat__media { transform: scale(1.03); }
.luxe-cat__title {
	position: absolute;
	left: 0; right: 0; bottom: 24px;
	text-align: center;
	color: var(--c-white);
	font-size: clamp(20px, 2.4vw, 28px);
	font-weight: 400;
	margin: 0;
	text-shadow: 0 1px 18px rgba(0,0,0,.35);
}

/* =============================================================================
   NEWSLETTER
   ========================================================================== */
.luxe-newsletter {
	background: var(--c-ink);
	color: var(--c-bg);
	padding: 80px var(--gutter);
	text-align: center;
}
.luxe-newsletter__inner { max-width: 540px; margin: 0 auto; }
.luxe-newsletter h2 {
	color: var(--c-bg);
	font-size: clamp(28px, 3.5vw, 38px);
	margin-bottom: 14px;
}
.luxe-newsletter p {
	color: rgba(246,241,234,.78);
	margin-bottom: 28px;
}
.luxe-newsletter .luxe-eyebrow { color: rgba(246,241,234,.6); }
.luxe-newsletter__form {
	display: flex; gap: 0;
	border-bottom: 1px solid rgba(246,241,234,.45);
	padding-bottom: 6px;
	flex-wrap: wrap;
}
.luxe-newsletter__form input[type="email"] {
	flex: 1; min-width: 180px;
	border: 0; background: transparent;
	color: var(--c-bg);
	padding: 12px 4px;
	font-family: var(--ff-sans);
	font-size: 14px;
	outline: none;
}
.luxe-newsletter__form input[type="email"]::placeholder { color: rgba(246,241,234,.55); }
.luxe-newsletter__form .luxe-btn {
	background: var(--c-bg); color: var(--c-ink); border-color: var(--c-bg);
	padding: 10px 24px;
}
.luxe-newsletter__form .luxe-btn:hover { background: transparent; color: var(--c-bg); }

/* =============================================================================
   OVERRIDE STOREFRONT — alléger les pages WooCommerce
   ========================================================================== */
body.luxe-child .storefront-product-pagination { display: none; }
body.luxe-child .site-header { box-shadow: none; }
body.luxe-child .site-content { padding: 0; }
body.luxe-child.luxe-home .site-content > .col-full { padding: 0; max-width: none; }

/* WooCommerce loop : reset puis on applique notre grille */
body.luxe-child .woocommerce ul.products { display: grid; gap: 28px 18px; grid-template-columns: repeat(2, 1fr); list-style: none; padding: 0; margin: 0 0 60px; }
body.luxe-child .woocommerce ul.products::before,
body.luxe-child .woocommerce ul.products::after { display: none; }
@media (min-width: 768px) { body.luxe-child .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); gap: 50px 32px; } }
body.luxe-child .woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: center; }
body.luxe-child .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ff-sans);
	font-size: 13px; font-weight: 500;
	letter-spacing: .12em; text-transform: uppercase;
	margin: 14px 0 6px;
}
body.luxe-child .woocommerce ul.products li.product img {
	aspect-ratio: 4/5; object-fit: cover; margin-bottom: 0;
}
body.luxe-child .woocommerce ul.products li.product .price {
	font-family: var(--ff-sans);
	font-size: 13px; color: var(--c-ink-soft);
}
body.luxe-child .woocommerce ul.products li.product .price del { color: rgba(90,81,74,.55); }
body.luxe-child .woocommerce ul.products li.product .price ins { background: none; color: var(--c-sale); font-weight: 500; }
body.luxe-child .woocommerce span.onsale,
body.luxe-child .luxe-onsale {
	background: var(--c-bg); color: var(--c-ink);
	border-radius: 2px;
	font-family: var(--ff-sans);
	font-size: 10px; font-weight: 500; letter-spacing: .14em;
	min-height: 0; min-width: 0;
	padding: 6px 10px; line-height: 1;
	top: 12px; left: 12px; right: auto;
}
body.luxe-child .woocommerce ul.products li.product .button {
	background: var(--c-ink); color: var(--c-bg);
	border-radius: 0;
	font-family: var(--ff-sans);
	font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
	padding: 12px 18px;
	margin-top: 8px;
}
body.luxe-child .woocommerce ul.products li.product .button:hover { background: var(--c-ink-soft); color: var(--c-bg); }

/* Page produit — singulier */
body.luxe-child.single-product div.product .product_title {
	font-family: var(--ff-serif);
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 300;
	margin-bottom: 12px;
}
body.luxe-child.single-product div.product .price {
	font-family: var(--ff-sans);
	font-size: 17px;
	color: var(--c-ink);
	margin-bottom: 24px;
}
body.luxe-child.single-product div.product .price del { color: var(--c-ink-soft); margin-right: 10px; }
body.luxe-child.single-product div.product .price ins { background: none; color: var(--c-sale); }
body.luxe-child.single-product div.product form.cart .button {
	background: var(--c-ink); color: var(--c-bg);
	border-radius: 0; padding: 14px 28px;
	font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase;
}
body.luxe-child.single-product div.product form.cart .button:hover { background: var(--c-ink-soft); }

/* Storefront handheld footer bar — supprimée totalement */
.storefront-handheld-footer-bar,
.storefront-handheld-footer-bar.footer-bar { display: none !important; }
@media (max-width: 991px) { body.luxe-child .site { padding-bottom: 0 !important; } }

/* Footer — adoucir */
body.luxe-child .site-footer {
	background: var(--c-bg-alt);
	color: var(--c-ink);
	padding: 60px var(--gutter);
}
body.luxe-child .site-footer a { color: var(--c-ink); }
body.luxe-child .site-footer h1, body.luxe-child .site-footer h2, body.luxe-child .site-footer h3 {
	font-family: var(--ff-serif); font-weight: 400; color: var(--c-ink);
}

/* =============================================================================
   FOOTER — Luxe Minimal
   Newsletter row + 5-column links + bottom bar.
   ========================================================================== */
body.luxe-child .luxe-footer {
	background: var(--c-bg-alt);
	color: var(--c-ink);
	padding: 0;
	border-top: 1px solid var(--c-line);
}
body.luxe-child .luxe-footer a { color: var(--c-ink); }
body.luxe-child .luxe-footer a:hover { color: var(--c-ink-soft); }

/* Newsletter row */
.luxe-footer__newsletter {
	border-bottom: 1px solid var(--c-line);
	padding: 80px var(--gutter);
}
.luxe-footer__newsletter-inner {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}
.luxe-footer__newsletter h2 {
	font-size: clamp(28px, 3.5vw, 38px);
	font-weight: 300;
	margin: 0 0 14px;
}
.luxe-footer__newsletter p {
	color: var(--c-ink-soft);
	font-size: 15px;
	margin: 0 0 28px;
}
.luxe-footer__newsletter-form {
	display: flex; gap: 0;
	border-bottom: 1px solid var(--c-line);
	padding-bottom: 6px;
	margin-bottom: 14px;
}
.luxe-footer__newsletter-form input[type="email"] {
	flex: 1; min-width: 0;
	border: 0; background: transparent;
	color: var(--c-ink);
	padding: 12px 4px;
	font-family: var(--ff-sans);
	font-size: 14px;
	outline: none;
}
.luxe-footer__newsletter-form input[type="email"]::placeholder { color: var(--c-ink-soft); }
.luxe-footer__newsletter-form .luxe-btn {
	padding: 10px 24px;
}
.luxe-footer__newsletter-consent {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 12px; color: var(--c-ink-soft);
	text-align: left;
	max-width: 520px;
	margin: 0 auto;
	line-height: 1.55;
}
.luxe-footer__newsletter-consent input[type="checkbox"] {
	margin-top: 3px;
	accent-color: var(--c-ink);
}
.luxe-footer__newsletter-consent a { text-decoration: underline; }

/* Columns */
.luxe-footer__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px 24px;
	max-width: var(--container);
	margin: 0 auto;
	padding: 70px var(--gutter);
}
@media (min-width: 768px) {
	.luxe-footer__cols {
		grid-template-columns: repeat(5, 1fr);
		gap: 28px;
		padding: 90px var(--gutter);
	}
}
.luxe-footer__col h3.luxe-footer__title {
	font-family: var(--ff-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--c-ink);
	margin: 0 0 18px;
}
.luxe-footer__col ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column;
	gap: 10px;
}
.luxe-footer__col ul li a {
	font-size: 14px;
	color: var(--c-ink-soft);
	transition: color .25s var(--ease);
}
.luxe-footer__col ul li a:hover { color: var(--c-ink); }

/* Social column */
.luxe-footer__social li a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.luxe-footer__social li a svg { flex-shrink: 0; }

/* Payment column */
.luxe-footer__pay {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 8px !important;
	color: var(--c-ink-soft);
}
.luxe-footer__pay li {
	display: inline-flex;
	align-items: center;
}
.luxe-footer__pay li svg {
	color: var(--c-ink-soft);
}

/* Bottom bar */
.luxe-footer__bottom {
	border-top: 1px solid var(--c-line);
	padding: 22px var(--gutter);
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
	text-align: center;
	max-width: var(--container);
	margin: 0 auto;
}
@media (min-width: 768px) {
	.luxe-footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}
.luxe-footer__copy,
.luxe-footer__country {
	font-size: 12px;
	color: var(--c-ink-soft);
	margin: 0;
	letter-spacing: .04em;
}
.luxe-footer__country {
	display: inline-flex;
	align-items: center;
}

/* Old generic Storefront footer override is now superseded — kill its padding
   to avoid double whitespace when our footer.php is in use. */
body.luxe-child .site-footer { padding: 0; background: var(--c-bg-alt); }

/* =============================================================================
   SINGLE PRODUCT — Luxe Minimal (Polène-style)
   Two-column layout : left gallery / right sticky info panel.
   Tabs rendered as <details> accordions.
   ========================================================================== */
body.luxe-child.single-product .site-content > .col-full {
	max-width: var(--container);
}

body.luxe-child.single-product div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	padding: 24px 0 80px;
}
@media (min-width: 992px) {
	body.luxe-child.single-product div.product {
		grid-template-columns: 1.15fr 1fr;
		gap: 64px;
		padding: 40px 0 120px;
	}
}

/* Gallery — full bleed left */
body.luxe-child.single-product div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
body.luxe-child.single-product div.product .woocommerce-product-gallery__image {
	background: var(--c-bg-alt);
	aspect-ratio: 4/5;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
body.luxe-child.single-product div.product .woocommerce-product-gallery__image img {
	width: 100%; height: 100%;
	object-fit: cover;
}
body.luxe-child.single-product div.product .flex-control-thumbs {
	margin-top: 12px;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	padding: 0;
}
body.luxe-child.single-product div.product .flex-control-thumbs li {
	width: 100% !important;
	margin: 0 !important;
}

/* Summary — sticky right column */
body.luxe-child.single-product div.product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0;
}
@media (min-width: 992px) {
	body.luxe-child.single-product div.product .summary {
		position: sticky;
		top: calc(var(--header-h) + 24px);
		align-self: start;
		max-width: 460px;
	}
}
body.luxe-child.single-product div.product .product_title {
	font-size: clamp(28px, 3.4vw, 36px);
	margin: 0 0 8px;
}
body.luxe-child.single-product div.product .summary .price {
	font-family: var(--ff-sans);
	font-size: 17px;
	color: var(--c-ink);
	margin: 0 0 24px;
}
body.luxe-child.single-product div.product .woocommerce-product-details__short-description {
	font-size: 15px;
	line-height: 1.7;
	color: var(--c-ink-soft);
	margin: 0 0 24px;
	max-width: 56ch;
}
body.luxe-child.single-product div.product form.cart {
	margin: 0 0 20px;
	display: flex; flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
body.luxe-child.single-product div.product form.cart .quantity {
	display: inline-flex;
	border: 1px solid var(--c-line);
}
body.luxe-child.single-product div.product form.cart .quantity input {
	width: 56px;
	border: 0; background: transparent;
	text-align: center;
	font-family: var(--ff-sans);
	font-size: 14px;
}
body.luxe-child.single-product div.product form.cart .button {
	flex: 1;
	min-width: 220px;
	padding: 16px 28px !important;
	font-size: 12px !important;
}
body.luxe-child.single-product div.product .product_meta {
	font-size: 12px;
	color: var(--c-ink-soft);
	letter-spacing: .04em;
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--c-line);
}

/* Trust row */
.luxe-trust {
	list-style: none; padding: 0;
	margin: 24px 0 0;
	border-top: 1px solid var(--c-line);
	padding-top: 22px;
	display: grid;
	gap: 14px;
}
.luxe-trust li {
	display: flex; align-items: center;
	gap: 12px;
	font-size: 13px;
	color: var(--c-ink-soft);
}
.luxe-trust li svg { flex-shrink: 0; color: var(--c-ink); }

/* Tabs as accordion (full width below the two columns) */
body.luxe-child.single-product div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	border-top: 1px solid var(--c-line);
	padding-top: 24px;
}
body.luxe-child.single-product div.product .luxe-accordion {
	max-width: 920px;
	margin: 0 auto;
}
.luxe-accordion__item {
	border-bottom: 1px solid var(--c-line);
}
.luxe-accordion__summary {
	display: flex; align-items: center; justify-content: space-between;
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--ff-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--c-ink);
}
.luxe-accordion__summary::-webkit-details-marker { display: none; }
.luxe-accordion__chev {
	display: inline-flex;
	transition: transform .25s var(--ease);
	color: var(--c-ink-soft);
}
.luxe-accordion__item[open] > .luxe-accordion__summary .luxe-accordion__chev { transform: rotate(180deg); }
.luxe-accordion__panel {
	padding: 0 0 26px;
	font-size: 14px;
	line-height: 1.75;
	color: var(--c-ink-soft);
}
.luxe-accordion__panel p { margin: 0 0 1em; }
.luxe-accordion__panel ul { padding-left: 18px; margin: 0 0 1em; }

/* Bullet list shared */
.luxe-bullet-list {
	list-style: none; padding: 0; margin: 0;
}
.luxe-bullet-list li {
	padding: 8px 0;
	border-bottom: 1px dashed var(--c-line);
	font-size: 14px;
	color: var(--c-ink-soft);
}
.luxe-bullet-list li:last-child { border-bottom: 0; }
.luxe-bullet-list li strong {
	color: var(--c-ink);
	font-family: var(--ff-sans);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin-right: 8px;
}

/* Other colorways */
.luxe-colorways {
	grid-column: 1 / -1;
	max-width: var(--container);
	margin: 80px auto 0;
	padding: 0;
}
.luxe-colorways__head {
	text-align: center;
	margin-bottom: 36px;
}
.luxe-colorways__title {
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 300;
	margin: 0;
}
.luxe-colorways__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
@media (min-width: 768px) {
	.luxe-colorways__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}
@media (min-width: 1100px) {
	.luxe-colorways__grid { grid-template-columns: repeat(6, 1fr); }
}
.luxe-colorways__item { display: block; text-align: center; }
.luxe-colorways__media {
	aspect-ratio: 1;
	background: var(--c-bg-alt);
	overflow: hidden;
	margin-bottom: 10px;
}
.luxe-colorways__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .9s var(--ease);
}
.luxe-colorways__item:hover .luxe-colorways__media img { transform: scale(1.04); }
.luxe-colorways__name {
	font-size: 12px;
	color: var(--c-ink-soft);
	letter-spacing: .04em;
	display: block;
}

/* Hide Storefront sidebar on product / shop pages */
body.luxe-child.luxe-no-sidebar #secondary { display: none; }
body.luxe-child.luxe-no-sidebar #primary { width: 100% !important; float: none !important; margin: 0 !important; }

/* Hide redundant Storefront page header on product pages */
body.luxe-child.single-product .page-header { display: none; }

/* Related products under accordion — use the same grid as luxe loop */
body.luxe-child.single-product .related.products {
	grid-column: 1 / -1;
	margin-top: 80px;
	padding-top: 60px;
	border-top: 1px solid var(--c-line);
}
body.luxe-child.single-product .related.products > h2 {
	text-align: center;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 300;
	margin-bottom: 36px;
}

/* Mobile : stack everything */
@media (max-width: 991px) {
	body.luxe-child.single-product div.product .summary {
		position: static;
		max-width: 100%;
	}
}

/* =============================================================================
   ARCHIVE PRODUCT (shop / category) — Luxe Minimal
   ========================================================================== */
body.luxe-child.archive.woocommerce .site-content > .col-full,
body.luxe-child.woocommerce-shop .site-content > .col-full {
	max-width: var(--container);
}

body.luxe-child.archive.woocommerce #primary,
body.luxe-child.woocommerce-shop #primary {
	width: 100% !important;
	float: none !important;
}

/* Category header (h1 + description) */
body.luxe-child .woocommerce-products-header {
	text-align: center;
	padding: 60px var(--gutter) 50px;
	max-width: 720px;
	margin: 0 auto;
}
body.luxe-child .woocommerce-products-header__title.page-title {
	font-family: var(--ff-serif);
	font-size: clamp(34px, 5vw, 54px);
	font-weight: 300;
	margin: 0 0 14px;
	letter-spacing: -.005em;
}
body.luxe-child .term-description {
	color: var(--c-ink-soft);
	font-size: 15px;
	line-height: 1.7;
}

/* Top bar : sort dropdown + result count */
body.luxe-child .woocommerce-result-count,
body.luxe-child .woocommerce-ordering {
	font-family: var(--ff-sans);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin-bottom: 36px;
}
body.luxe-child .woocommerce-ordering select {
	border: 1px solid var(--c-line);
	background: transparent;
	padding: 8px 32px 8px 14px;
	font-family: var(--ff-sans);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-ink);
	border-radius: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232a2520' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}

/* Pagination */
body.luxe-child .woocommerce-pagination {
	text-align: center;
	margin-top: 40px;
}
body.luxe-child .woocommerce-pagination ul.page-numbers {
	border: 0;
	display: inline-flex;
	gap: 4px;
}
body.luxe-child .woocommerce-pagination ul.page-numbers li {
	border: 0;
}
body.luxe-child .woocommerce-pagination ul.page-numbers li .page-numbers {
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--c-line);
	background: transparent;
	color: var(--c-ink-soft);
	font-family: var(--ff-sans);
	font-size: 13px;
	letter-spacing: .04em;
	transition: background .25s var(--ease), color .25s var(--ease);
}
body.luxe-child .woocommerce-pagination ul.page-numbers li .page-numbers:hover,
body.luxe-child .woocommerce-pagination ul.page-numbers li .page-numbers.current {
	background: var(--c-ink);
	color: var(--c-bg);
	border-color: var(--c-ink);
}

/* Sub-categories shown on parent archive (e.g. /product-category/bags/) */
body.luxe-child .woocommerce ul.products .product-category {
	text-align: center;
}
body.luxe-child .woocommerce ul.products .product-category h2 {
	font-family: var(--ff-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 14px 0 0;
}
body.luxe-child .woocommerce ul.products .product-category .count { display: none; }
body.luxe-child .woocommerce ul.products .product-category img {
	aspect-ratio: 4/5;
	object-fit: cover;
	background: var(--c-bg-alt);
}

/* Storefront breadcrumbs softer */
body.luxe-child .storefront-breadcrumb {
	background: transparent;
	border: 0;
	padding: 16px var(--gutter) 0;
	font-size: 12px;
	color: var(--c-ink-soft);
	letter-spacing: .04em;
	max-width: var(--container);
	margin: 0 auto;
}
body.luxe-child .storefront-breadcrumb .woocommerce-breadcrumb {
	color: var(--c-ink-soft);
}
body.luxe-child .storefront-breadcrumb .woocommerce-breadcrumb a {
	color: var(--c-ink-soft);
	text-decoration: none;
}

/* =============================================================================
   FULL-WIDTH LIFESTYLE BANNER — Polène pattern
   ========================================================================== */
.luxe-banner {
	position: relative;
	min-height: 540px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--c-white);
	text-align: center;
	overflow: hidden;
}
@media (min-width: 768px) {
	.luxe-banner { min-height: 720px; }
}
.luxe-banner__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(20,18,16,.18) 0%, rgba(20,18,16,.42) 100%);
}
.luxe-banner__content {
	position: relative;
	z-index: 1;
	max-width: 760px;
	padding: 0 var(--gutter);
}
.luxe-banner .luxe-eyebrow { color: rgba(255,255,255,.85); }
.luxe-banner__title {
	color: var(--c-white);
	font-family: var(--ff-serif);
	font-size: clamp(28px, 4vw, 50px);
	font-weight: 300;
	line-height: 1.2;
	margin: 0 0 32px;
	letter-spacing: -.005em;
}

/* =============================================================================
   INSTAGRAM "Follow us" block
   ========================================================================== */
.luxe-ig {
	max-width: var(--container);
	margin: 0 auto;
	padding: 80px var(--gutter) 120px;
}
.luxe-ig__head { text-align: center; margin-bottom: 48px; }
.luxe-ig__title {
	font-size: clamp(22px, 2.6vw, 32px);
	font-weight: 300;
	margin: 0;
}
.luxe-ig__title a {
	color: var(--c-ink);
	border-bottom: 1px solid var(--c-line);
	padding-bottom: 2px;
	font-style: italic;
}
.luxe-ig__title a:hover { border-color: var(--c-ink); }
.luxe-ig__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}
@media (min-width: 768px) {
	.luxe-ig__grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
}
.luxe-ig__item {
	display: block;
	position: relative;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--c-bg-alt);
}
.luxe-ig__media {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .9s var(--ease);
}
.luxe-ig__item:hover .luxe-ig__media { transform: scale(1.04); }
.luxe-ig__overlay {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: var(--c-white);
	opacity: 0;
	background: rgba(20,18,16,.35);
	transition: opacity .25s var(--ease);
}
.luxe-ig__item:hover .luxe-ig__overlay { opacity: 1; }

/* =============================================================================
   EDITORIAL PAGE LAYOUT — center column, generous spacing
   ========================================================================== */
body.luxe-child.page:not(.home):not(.woocommerce-page) .site-content > .col-full {
	max-width: 880px;
	padding-top: 50px;
	padding-bottom: 100px;
}
body.luxe-child.page:not(.home):not(.woocommerce-page) .entry-title.page-title {
	font-family: var(--ff-serif);
	font-size: clamp(34px, 5vw, 54px);
	font-weight: 300;
	text-align: center;
	margin: 0 0 40px;
	letter-spacing: -.005em;
}
body.luxe-child.page:not(.home):not(.woocommerce-page) .alignwide {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
}
@media (min-width: 1320px) {
	body.luxe-child.page:not(.home):not(.woocommerce-page) .alignwide {
		margin-left: calc(50% - 660px);
		margin-right: calc(50% - 660px);
		max-width: 1320px;
	}
}
body.luxe-child.page:not(.home):not(.woocommerce-page) .alignwide img {
	width: 100%;
	height: auto;
	max-height: 70vh;
	object-fit: cover;
}

/* Stores list */
.luxe-stores {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	margin: 0 auto;
	max-width: 720px;
}
@media (min-width: 768px) {
	.luxe-stores { grid-template-columns: repeat(2, 1fr); gap: 50px 40px; }
}
.luxe-store {
	border-top: 1px solid var(--c-line);
	padding-top: 22px;
}
.luxe-store h3 {
	font-family: var(--ff-serif);
	font-size: 26px;
	font-weight: 400;
	margin: 0 0 14px;
}
.luxe-store p {
	margin: 0 0 4px;
	color: var(--c-ink-soft);
	font-size: 14px;
	line-height: 1.65;
}

/* Customer-service tile grid */
.luxe-cs-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	max-width: 720px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.luxe-cs-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
.luxe-cs-tile {
	display: block;
	padding: 28px 26px;
	border: 1px solid var(--c-line);
	color: var(--c-ink);
	transition: background .25s var(--ease), color .25s var(--ease);
}
.luxe-cs-tile:hover { background: var(--c-ink); color: var(--c-bg); }
.luxe-cs-tile:hover h3 { color: var(--c-bg); }
.luxe-cs-tile h3 {
	font-family: var(--ff-serif);
	font-size: 22px;
	font-weight: 400;
	margin: 0 0 6px;
	transition: color .25s var(--ease);
}
.luxe-cs-tile span {
	font-family: var(--ff-sans);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-ink-soft);
}

/* =============================================================================
   MOBILE OPTIMIZATIONS — Luxe Minimal v1.6
   Scoped to (max-width: 767px), with edge-case for tiny phones.
   ========================================================================== */

/* --- Anti-zoom iOS sur les inputs : font-size doit être ≥ 16px sur tous les
       champs interactifs sur les viewports tactiles. --- */
@media (max-width: 767px) {
	body.luxe-child input[type="email"],
	body.luxe-child input[type="text"],
	body.luxe-child input[type="search"],
	body.luxe-child input[type="tel"],
	body.luxe-child input[type="number"],
	body.luxe-child input[type="password"],
	body.luxe-child input[type="url"],
	body.luxe-child select,
	body.luxe-child textarea {
		font-size: 16px;
	}
}

/* --- Empêche le débordement horizontal global --- */
html, body.luxe-child { -webkit-text-size-adjust: 100%; }
body.luxe-child { overflow-x: hidden; }

@media (max-width: 767px) {

	/* ===== HEADER ===== */
	.luxe-header__inner { padding: 0 10px; }
	/* Touch targets ≥ 44 × 44 (Apple HIG / WCAG 2.5.5 AA) */
	.luxe-burger, .luxe-action, .luxe-cart-link {
		width: 44px; height: 44px;
	}
	.luxe-actions { gap: 0; }
	.luxe-brand { max-width: calc(100% - 200px); }
	.luxe-brand img.custom-logo { max-height: 24px; }
	.luxe-brand__text { font-size: 18px; letter-spacing: .14em; }
	.luxe-cart-count { top: 6px; right: 4px; }

	/* Recherche en panneau dropdown : input plus respirant + padding */
	.luxe-search { padding: 16px var(--gutter); }
	.luxe-search__form input[type="search"] { font-size: 18px; padding: 8px 0; }

	/* ===== DRAWER ===== */
	.luxe-drawer {
		inset: 0 14% 0 0;
		max-width: none;
		padding: 14px 22px 22px;
	}
	.luxe-drawer__list li a {
		font-size: 22px;
		padding: 9px 0;
	}
	.luxe-drawer__list .sub-menu li a { font-size: 13px; padding: 5px 0; }
	.luxe-drawer__foot { margin-top: 18px; padding-top: 18px; }
	.luxe-drawer__foot a { padding: 6px 0; }

	/* ===== HERO ===== */
	/* svh = small viewport height (gère la barre URL mobile qui se rétracte) */
	.luxe-hero {
		min-height: 86vh;
		min-height: 86svh;
		padding: 80px 0 60px;
	}
	.luxe-hero__content { padding: 0 var(--gutter); }
	.luxe-hero__title {
		font-size: 44px;
		line-height: 1.08;
		letter-spacing: -.01em;
		margin-bottom: 14px;
	}
	.luxe-hero__sub {
		font-size: 14px;
		margin-bottom: 24px;
	}

	/* ===== BANNER LIFESTYLE ===== */
	.luxe-banner { min-height: 480px; }
	.luxe-banner__title { font-size: 28px; margin-bottom: 24px; }

	/* ===== SECTIONS ===== */
	.luxe-section { padding: 56px var(--gutter); }
	.luxe-section__head { margin-bottom: 32px; }
	.luxe-section__title { font-size: 28px; }
	.luxe-section__cta { margin-top: 32px; }

	/* ===== ÉDITORIAL (image + texte) ===== */
	.luxe-edito__media { min-height: 320px; }
	.luxe-edito__body { padding: 50px var(--gutter); }
	.luxe-edito__title { font-size: 28px; }
	.luxe-edito__text { font-size: 14px; margin-bottom: 24px; }

	/* ===== CATÉGORIES ===== */
	.luxe-cats { gap: 14px; }
	.luxe-cat__title { bottom: 18px; font-size: 18px; }

	/* ===== GRILLE PRODUITS / CARDS ===== */
	.luxe-grid { gap: 22px 12px; }
	.luxe-card__body { padding: 12px 0 0; }
	.luxe-card__title { font-size: 12px; letter-spacing: .1em; margin-bottom: 4px; }
	.luxe-card__price { font-size: 12px; }

	body.luxe-child .woocommerce ul.products { gap: 22px 12px; }
	body.luxe-child .woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 12px; letter-spacing: .1em; margin: 12px 0 4px;
	}

	/* ===== INSTAGRAM ===== */
	.luxe-ig { padding: 56px var(--gutter) 70px; }
	.luxe-ig__head { margin-bottom: 32px; }
	.luxe-ig__title { font-size: 24px; }
	.luxe-ig__grid { gap: 4px; }

	/* ===== PAGE PRODUIT ===== */
	body.luxe-child.single-product div.product { padding: 16px 0 60px; gap: 24px; }
	body.luxe-child.single-product div.product .product_title {
		font-size: 30px;
		line-height: 1.15;
	}
	body.luxe-child.single-product div.product .summary .price { font-size: 16px; margin-bottom: 18px; }
	body.luxe-child.single-product div.product .woocommerce-product-details__short-description {
		font-size: 14px;
	}
	body.luxe-child.single-product div.product form.cart {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	body.luxe-child.single-product div.product form.cart .quantity {
		align-self: flex-start;
		min-height: 48px;
	}
	body.luxe-child.single-product div.product form.cart .quantity input {
		min-height: 48px;
	}
	body.luxe-child.single-product div.product form.cart .button {
		width: 100%;
		min-width: 0;
		padding: 16px 20px !important;
		min-height: 48px;
	}
	.luxe-trust { margin-top: 22px; padding-top: 18px; gap: 12px; }
	.luxe-trust li { font-size: 12px; gap: 10px; }
	.luxe-trust li svg { width: 20px; height: 20px; }

	.luxe-colorways { margin-top: 56px; }
	.luxe-colorways__head { margin-bottom: 24px; }
	.luxe-colorways__title { font-size: 22px; }
	.luxe-colorways__grid { gap: 12px; }

	/* ===== ACCORDION TABS ===== */
	.luxe-accordion__summary { padding: 18px 0; min-height: 48px; align-items: center; }
	.luxe-accordion__panel { padding: 0 0 22px; font-size: 13px; line-height: 1.7; }
	.luxe-bullet-list li { font-size: 13px; padding: 7px 0; }

	/* ===== ARCHIVE / SHOP ===== */
	body.luxe-child .woocommerce-products-header { padding: 36px var(--gutter) 24px; }
	body.luxe-child .woocommerce-products-header__title.page-title { font-size: 36px; margin-bottom: 10px; }
	body.luxe-child .woocommerce-result-count,
	body.luxe-child .woocommerce-ordering { margin-bottom: 24px; font-size: 11px; }
	body.luxe-child .woocommerce-ordering select { padding: 10px 30px 10px 12px; min-height: 44px; }
	/* Pagination touch-target */
	body.luxe-child .woocommerce-pagination ul.page-numbers li .page-numbers {
		min-width: 44px; height: 44px;
	}

	/* ===== BOUTONS — tap-target & espacement ===== */
	.luxe-btn { padding: 15px 24px; min-height: 48px; }
	.luxe-btn--text { padding: 8px 0; min-height: 44px; }

	/* ===== FOOTER ===== */
	.luxe-footer__newsletter { padding: 50px var(--gutter); }
	.luxe-footer__newsletter h2 { font-size: 24px; }
	.luxe-footer__newsletter p { font-size: 14px; margin-bottom: 22px; }
	.luxe-footer__newsletter-form {
		flex-direction: column;
		gap: 10px;
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 12px;
	}
	.luxe-footer__newsletter-form input[type="email"] {
		border-bottom: 1px solid var(--c-line);
		padding: 14px 4px;
		min-height: 48px;
	}
	.luxe-footer__newsletter-form .luxe-btn {
		width: 100%;
		padding: 14px 20px;
	}

	/* Footer cols : 1 col propre avec séparateur entre chaque, plus respirant */
	.luxe-footer__cols {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 30px var(--gutter) 50px;
	}
	.luxe-footer__col {
		border-top: 1px solid var(--c-line);
		padding: 22px 0;
	}
	.luxe-footer__col:first-child { border-top: 0; padding-top: 8px; }
	.luxe-footer__col h3.luxe-footer__title { margin-bottom: 14px; }
	.luxe-footer__col ul { gap: 12px; }
	.luxe-footer__col ul li a { font-size: 15px; }
	.luxe-footer__col ul li a, .luxe-footer__social li a { padding: 4px 0; min-height: 28px; display: inline-flex; align-items: center; }

	/* Pay icons : grille horizontale serrée */
	.luxe-footer__pay { gap: 10px !important; }

	.luxe-footer__bottom {
		padding: 18px var(--gutter);
		gap: 6px;
	}
	.luxe-footer__copy, .luxe-footer__country { font-size: 11px; }

	/* ===== PAGES ÉDITORIALES ===== */
	body.luxe-child.page:not(.home):not(.woocommerce-page) .site-content > .col-full {
		padding-top: 28px;
		padding-bottom: 60px;
	}
	body.luxe-child.page:not(.home):not(.woocommerce-page) .entry-title.page-title {
		font-size: 36px;
		margin-bottom: 24px;
	}
	.luxe-cs-tile { padding: 22px 18px; }
	.luxe-cs-tile h3 { font-size: 20px; }
	.luxe-store h3 { font-size: 22px; }
}

/* --- Tiny phones (< 360 px : iPhone SE 1st gen, vieux Android) --- */
@media (max-width: 359px) {
	.luxe-hero__title { font-size: 36px; }
	.luxe-section__title { font-size: 24px; }
	.luxe-banner__title { font-size: 24px; }
	body.luxe-child.single-product div.product .product_title { font-size: 26px; }
	.luxe-brand { max-width: calc(100% - 180px); }
	.luxe-brand img.custom-logo { max-height: 22px; }
}

/* --- Désactive le scroll-bounce du body sous le drawer ouvert sur iOS --- */
body.luxe-drawer-open { position: fixed; width: 100%; }

/* =============================================================================
   POLÈNE FOUNDATION — fonts (Canela / Cormorant / Sackers) + couleurs + typo
   Surcharge les tokens définis plus haut dans le fichier pour rapprocher
   le rendu du Shopify Polène (uk.polene-paris.com).
   ========================================================================== */

@font-face {
	font-family: 'Canela';
	src: url('../fonts/canelaweb-light.woff2') format('woff2'),
	     url('../fonts/canelaweb-light.woff')  format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Canela';
	src: url('../fonts/canelaweb-thin.woff2') format('woff2'),
	     url('../fonts/canelaweb-thin.woff')  format('woff');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Sackers';
	src: url('../fonts/sackers.woff2') format('woff2'),
	     url('../fonts/sackers.woff')  format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Palette Polène : beige plus chaud, ink légèrement plus doux */
	--c-bg:        #ffffff;
	--c-bg-alt:    #f7f6f4;
	--c-ink:       #1c1916;
	--c-ink-soft:  #6b625a;
	--c-line:      #d6cfc4;
	--c-accent:    #1c1916;
	--c-sale:      #8a3a2c;
	--c-white:     #fff;

	/* Typo : 3 fonts comme sur Polène */
	--ff-primary:   'Canela', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--ff-secondary: 'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
	--ff-tertiary:  'Sackers', 'Trade Gothic', 'Helvetica Neue', Arial, sans-serif;

	/* Aliases compatibilité avec le code existant */
	--ff-serif: var(--ff-primary);
	--ff-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;

	/* Échelle typographique Polène (responsive clamps) */
	--ts-body:     17px;
	--ts-body-lh:  1.45;
	--ts-h1:       clamp(54px, 9vw, 130px);
	--ts-h2:       clamp(36px, 5vw, 76px);
	--ts-h3:       clamp(22px, 2.4vw, 30px);
	--ts-label:    11px;
	--ts-label-tracking: .22em;
}

/* ===== BODY & HEADINGS ===== */
body.luxe-child {
	font-size: var(--ts-body);
	line-height: var(--ts-body-lh);
	background: var(--c-bg);
	color: var(--c-ink);
}
body.luxe-child h1, body.luxe-child h2, body.luxe-child h3, body.luxe-child h4 {
	font-family: var(--ff-primary);
	font-weight: 300;
	letter-spacing: -.005em;
	color: var(--c-ink);
	line-height: 1.1;
}

/* ===== EYEBROW : Sackers (le pendant Polène pour les labels capitales) ===== */
.luxe-eyebrow,
.luxe-section__head .luxe-eyebrow,
.luxe-edito .luxe-eyebrow,
.luxe-banner .luxe-eyebrow,
.luxe-ig .luxe-eyebrow,
.luxe-colorways .luxe-eyebrow,
.luxe-footer__col h3.luxe-footer__title {
	font-family: var(--ff-tertiary);
	font-weight: 400;
	letter-spacing: var(--ts-label-tracking);
	font-size: var(--ts-label);
	text-transform: uppercase;
}

/* ===== BUTTONS : Sackers + nouvelle taille ===== */
.luxe-btn {
	font-family: var(--ff-tertiary);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
}
body.luxe-child .woocommerce ul.products li.product .button,
body.luxe-child.single-product div.product form.cart .button,
body.luxe-child .woocommerce a.button,
body.luxe-child .woocommerce button.button {
	font-family: var(--ff-tertiary) !important;
	font-weight: 400 !important;
	letter-spacing: var(--ts-label-tracking) !important;
}

/* ===== TITRES SECTIONS / HERO ===== */
.luxe-section__title { font-size: var(--ts-h2); }
.luxe-hero__title    { font-size: var(--ts-h1); font-weight: 200; letter-spacing: -.015em; }
.luxe-edito__title   { font-size: var(--ts-h2); }
.luxe-banner__title  { font-size: var(--ts-h2); font-weight: 300; }
.luxe-ig__title      { font-size: var(--ts-h3); }
.luxe-colorways__title { font-size: var(--ts-h3); }

/* Card de produit — Polène utilise Canela light pour le titre */
.luxe-card__title,
body.luxe-child .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-size: 17px !important;
	margin: 14px 0 4px !important;
}

/* Drawer : items en Canela */
.luxe-drawer__list li a {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 28px;
	letter-spacing: -.01em;
}
.luxe-drawer__list .sub-menu li a {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--c-ink-soft);
}

/* Brand : Canela (au lieu de Cormorant) */
.luxe-brand__text {
	font-family: var(--ff-primary);
	font-weight: 300;
	letter-spacing: .02em;
}

/* Header search : Canela */
.luxe-search__form input[type="search"] {
	font-family: var(--ff-primary);
	font-weight: 300;
}

/* Footer titles + text — taille body Polène */
body.luxe-child .luxe-footer__col ul li a {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	color: var(--c-ink-soft);
}

/* Single product title : Canela light (déjà dans h1) — bump taille */
body.luxe-child.single-product div.product .product_title {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: clamp(32px, 4vw, 46px);
	letter-spacing: -.01em;
	margin-bottom: 6px;
}
body.luxe-child.single-product div.product .summary .price {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 19px;
	color: var(--c-ink);
}

/* Accordion summaries en Sackers */
.luxe-accordion__summary {
	font-family: var(--ff-tertiary);
	font-weight: 400;
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink);
}
.luxe-accordion__panel { font-family: var(--ff-primary); font-weight: 300; font-size: 15px; line-height: 1.6; }
.luxe-bullet-list li { font-family: var(--ff-primary); font-weight: 300; font-size: 15px; }
.luxe-bullet-list li strong {
	font-family: var(--ff-tertiary);
	font-weight: 400;
}

/* Trust row : Sackers */
.luxe-trust li { font-family: var(--ff-primary); font-weight: 300; font-size: 14px; }

/* Page title (catégorie / pages éditoriales) en Canela light */
body.luxe-child .woocommerce-products-header__title.page-title,
body.luxe-child.page:not(.home):not(.woocommerce-page) .entry-title.page-title {
	font-family: var(--ff-primary);
	font-weight: 200;
	letter-spacing: -.015em;
}

/* Newsletter (footer) en Canela */
.luxe-footer__newsletter h2 {
	font-family: var(--ff-primary);
	font-weight: 300;
}

/* =============================================================================
   PRODUCT PAGE — Polène structure (breadcrumb + title + edition + swatches)
   ========================================================================== */

/* Breadcrumb minuscule "[Bags]" en haut de la colonne droite */
body.luxe-child.single-product .luxe-product-breadcrumb {
	display: inline-block;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	text-decoration: none;
	margin-bottom: 18px;
}
body.luxe-child.single-product .luxe-product-breadcrumb:hover { color: var(--c-ink); }

/* Edition (sous-titre du modèle) */
body.luxe-child.single-product .luxe-product-edition {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-style: italic;
	font-size: 21px;
	color: var(--c-ink-soft);
	margin: -2px 0 22px;
	letter-spacing: 0;
}

/* Le price doit suivre l'edition, marges resserrées */
body.luxe-child.single-product div.product .summary .price {
	margin: 0 0 28px;
}

/* ===== COLOR PICKER (swatches Polène) =================================== */
.luxe-color-picker {
	margin: 0 0 28px;
	border-top: 1px solid var(--c-line);
	padding-top: 22px;
}
.luxe-color-picker .luxe-eyebrow {
	display: block;
	margin-bottom: 14px;
}
.luxe-color-picker__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
@media (min-width: 1280px) {
	.luxe-color-picker__grid { grid-template-columns: repeat(5, 1fr); }
}
.luxe-swatch {
	display: block;
	text-decoration: none;
	color: var(--c-ink);
	transition: opacity .25s var(--ease);
}
.luxe-swatch__media {
	aspect-ratio: 1;
	background: var(--c-bg-alt);
	overflow: hidden;
	margin-bottom: 6px;
	border: 1px solid transparent;
	transition: border-color .25s var(--ease);
}
.luxe-swatch__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.luxe-swatch__name {
	display: block;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 12px;
	color: var(--c-ink-soft);
	letter-spacing: 0;
	line-height: 1.3;
	min-height: 30px;
}
.luxe-swatch:hover .luxe-swatch__media { border-color: var(--c-line); }
.luxe-swatch.is-active .luxe-swatch__media { border-color: var(--c-ink); }
.luxe-swatch.is-active .luxe-swatch__name { color: var(--c-ink); }

/* ===== ACCORDION CONTENT — paragraphes Polène (pas de bullet list) ======= */
.luxe-accordion__panel p {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.6;
	color: var(--c-ink-soft);
	margin: 0 0 14px;
}
.luxe-accordion__panel p:last-child { margin-bottom: 0; }
.luxe-accordion__panel a { color: var(--c-ink); text-decoration: underline; text-underline-offset: 2px; }

/* ===== SHIPPED WITH CARE — full-width Polène block ====================== */
.luxe-shipped {
	grid-column: 1 / -1;
	background: var(--c-bg-alt);
	margin: 80px calc(50% - 50vw) 0;
	padding: 90px var(--gutter);
	text-align: center;
}
.luxe-shipped__inner { max-width: 640px; margin: 0 auto; }
.luxe-shipped .luxe-eyebrow { margin-bottom: 18px; display: inline-block; }
.luxe-shipped__title {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: clamp(24px, 3vw, 32px);
	margin: 0 0 18px;
	letter-spacing: -.005em;
}
.luxe-shipped p {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 16px;
	color: var(--c-ink-soft);
	line-height: 1.7;
	margin: 0;
}

/* ===== SUPPRIME LE BLOC TRUST ROW (la conf Polène va dans Shipped with care) */
.luxe-trust { display: none !important; }

/* ===== ARCHIVE/SHOP DEFAULT BUTTON wording — Polène cards ne montrent que
       "Add to cart" (pas "Read more"). Garde la même typo serif sur le titre. */
body.luxe-child .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 18px !important;
}

/* ===== ANCIEN BLOC luxe-colorways — neutralisé (remplacé par color picker) */
.luxe-colorways { display: none; }

/* ===== MOBILE TWEAKS pour la nouvelle structure ========================== */
@media (max-width: 767px) {
	.luxe-color-picker__grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
	.luxe-swatch__name { font-size: 11px; min-height: 26px; }
	.luxe-product-edition { font-size: 18px; margin-bottom: 18px; }
	.luxe-shipped { margin-top: 50px; padding: 60px var(--gutter); }
	.luxe-shipped__title { font-size: 24px; }
	body.luxe-child.single-product div.product .summary .price { margin-bottom: 22px; }
	body.luxe-child.single-product .luxe-product-breadcrumb { margin-bottom: 12px; font-size: 10px; }
}

/* =============================================================================
   COLLECTION / SHOP — Polène-style product cards
   Each card : 1:1 image (hover swap if gallery) + model + edition + price + CTA
   ========================================================================== */

/* Override Storefront/WC loop styles for our pcard layout */
body.luxe-child .woocommerce ul.products,
body.luxe-child.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 36px 14px;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}
@media (min-width: 768px) {
	body.luxe-child .woocommerce ul.products,
	body.luxe-child.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr);
		gap: 64px 28px;
	}
}
@media (min-width: 1100px) {
	body.luxe-child .woocommerce ul.products,
	body.luxe-child.woocommerce ul.products {
		grid-template-columns: repeat(4, 1fr);
	}
}

body.luxe-child .woocommerce ul.products li.product.luxe-pcard {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	display: block;
	text-align: left;
}
body.luxe-child .woocommerce ul.products li.product.luxe-pcard::before,
body.luxe-child .woocommerce ul.products li.product.luxe-pcard::after { display: none !important; }

/* Media : 1:1 with optional hover-swap */
.luxe-pcard__media {
	display: block;
	position: relative;
	aspect-ratio: 1;
	background: var(--c-bg-alt);
	overflow: hidden;
	margin-bottom: 14px;
}
.luxe-pcard__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity .45s var(--ease), transform .9s var(--ease);
}
.luxe-pcard__img--back { opacity: 0; }
.luxe-pcard__media:hover .luxe-pcard__img--back  { opacity: 1; }
.luxe-pcard__media:hover .luxe-pcard__img--front { opacity: 0; }
/* Cards without back image : subtle scale on hover */
.luxe-pcard__media:not(:has(.luxe-pcard__img--back)):hover .luxe-pcard__img--front { transform: scale(1.03); }

.luxe-pcard__badge {
	position: absolute;
	top: 12px; left: 12px;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--ff-tertiary);
	font-size: 10px; font-weight: 400;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	padding: 6px 10px;
	z-index: 2;
}
.luxe-pcard__badge--oos {
	background: rgba(28, 25, 22, .85);
	color: var(--c-bg);
}

/* Body text */
.luxe-pcard__body { padding: 0; }
.luxe-pcard__title {
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 19px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 0 4px !important;
}
.luxe-pcard__title a { color: var(--c-ink); text-decoration: none; }
.luxe-pcard__edition {
	font-family: var(--ff-primary);
	font-style: italic;
	font-weight: 300;
	font-size: 14px;
	color: var(--c-ink-soft);
	margin: 0 0 6px;
}
.luxe-pcard__price {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 14px;
	color: var(--c-ink);
	margin: 0 0 14px;
}
.luxe-pcard__price del { color: var(--c-ink-soft); margin-right: 6px; }
.luxe-pcard__price ins { background: none; text-decoration: none; color: var(--c-sale); font-weight: 400; }
.luxe-pcard__price .woocommerce-Price-amount { font-family: var(--ff-primary); }

/* CTA — Polène uses a thin underlined "Add to cart" not a filled button */
.luxe-pcard__cta {
	display: inline-block;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink);
	padding: 6px 0;
	border-bottom: 1px solid var(--c-ink);
	background: transparent;
	transition: color .25s var(--ease), border-color .25s var(--ease);
}
.luxe-pcard__cta:hover { color: var(--c-ink-soft); border-color: var(--c-ink-soft); }
.luxe-pcard__cta--oos {
	color: var(--c-ink-soft);
	border-color: var(--c-line);
}

/* Hide the default WC "Add to cart" loop button (we render our own CTA) */
body.luxe-child .woocommerce ul.products li.product.luxe-pcard .button.add_to_cart_button,
body.luxe-child .woocommerce ul.products li.product.luxe-pcard .button.product_type_simple,
body.luxe-child .woocommerce ul.products li.product.luxe-pcard a.button { display: none !important; }

/* Sub-categories (when archive shows them as cards) — same pcard look */
body.luxe-child .woocommerce ul.products .product-category {
	text-align: left;
}
body.luxe-child .woocommerce ul.products .product-category > a > img {
	aspect-ratio: 1;
	object-fit: cover;
	margin-bottom: 14px;
	background: var(--c-bg-alt);
	width: 100%;
	height: auto;
}
body.luxe-child .woocommerce ul.products .product-category > a {
	color: var(--c-ink);
	text-decoration: none;
	display: block;
}
body.luxe-child .woocommerce ul.products .product-category h2 {
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 19px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.luxe-child .woocommerce ul.products .product-category .count { display: none; }

/* Top bar : sort dropdown + count, séparés sur une ligne */
body.luxe-child .woocommerce-result-count {
	float: none !important;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin: 0 0 36px;
}
body.luxe-child .woocommerce-ordering {
	float: none !important;
	margin: 0 0 36px;
	display: inline-flex;
	gap: 12px;
	align-items: center;
}
body.luxe-child .woocommerce-ordering::before {
	content: 'Sort by';
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
}

/* Topbar wrapper visuel : count à gauche, sort à droite */
body.luxe-child .woocommerce.archive .woocommerce-notices-wrapper + .woocommerce-result-count,
body.luxe-child.woocommerce-shop .woocommerce-notices-wrapper + .woocommerce-result-count {
	margin-bottom: 4px;
}

/* Mobile tweaks */
@media (max-width: 767px) {
	body.luxe-child .woocommerce ul.products { gap: 28px 12px; }
	.luxe-pcard__title { font-size: 17px !important; }
	.luxe-pcard__edition { font-size: 13px; }
	.luxe-pcard__price { font-size: 13px; margin-bottom: 12px; }
	.luxe-pcard__cta { font-size: 10px; padding: 5px 0; }
}

/* =============================================================================
   POLICY / EDITORIAL PAGE — typographie sobre Polène
   ========================================================================== */
body.luxe-child .luxe-policy-page {
	max-width: 760px;
	margin: 0 auto;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.75;
	color: var(--c-ink-soft);
}
body.luxe-child .luxe-policy-page h2 {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 22px;
	color: var(--c-ink);
	letter-spacing: 0;
	margin: 50px 0 14px;
	padding-top: 32px;
	border-top: 1px solid var(--c-line);
}
body.luxe-child .luxe-policy-page h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
body.luxe-child .luxe-policy-page h3 {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 17px;
	color: var(--c-ink);
	margin: 28px 0 10px;
}
body.luxe-child .luxe-policy-page p {
	margin: 0 0 14px;
}
body.luxe-child .luxe-policy-page ul {
	margin: 0 0 18px;
	padding-left: 18px;
}
body.luxe-child .luxe-policy-page ul li {
	margin-bottom: 6px;
}
body.luxe-child .luxe-policy-page strong {
	color: var(--c-ink);
	font-weight: 400;
}
body.luxe-child .luxe-policy-page a {
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}
body.luxe-child .luxe-policy-page .luxe-policy-intro,
body.luxe-child .luxe-policy-page .luxe-policy-lead {
	font-size: 19px;
	color: var(--c-ink);
	font-style: italic;
	line-height: 1.55;
	margin: 0 0 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--c-line);
}
body.luxe-child .luxe-policy-page .luxe-policy-meta {
	font-size: 13px;
	color: var(--c-ink-soft);
	margin-top: 50px;
	padding-top: 22px;
	border-top: 1px solid var(--c-line);
}
body.luxe-child .luxe-policy-page--editorial {
	max-width: 720px;
	font-size: 17px;
}
body.luxe-child .luxe-policy-page--editorial p { margin-bottom: 18px; }

/* =============================================================================
   FIX 2.1.0 :
   - Empêche Storefront ::before/::after de créer une "case vide" en début de grille
   - 3 colonnes uniformes sur tout le desktop (≥768 px) pour des images plus grandes
   - Container un peu plus large
   ========================================================================== */

/* 1. Tue tout pseudo-élément potentiel sur la products UL (Storefront en pose) */
body.luxe-child .woocommerce ul.products::before,
body.luxe-child .woocommerce ul.products::after,
body.luxe-child .woocommerce-page ul.products::before,
body.luxe-child .woocommerce-page ul.products::after,
body.luxe-child ul.products::before,
body.luxe-child ul.products::after {
	display: none !important;
	content: none !important;
}

/* 2. Ne plus créer de pseudos sur les <li> non plus */
body.luxe-child .woocommerce ul.products li.product::before,
body.luxe-child .woocommerce ul.products li.product::after {
	display: none !important;
	content: none !important;
}

/* 3. Grille collection : 3 colonnes sur tout le desktop (au lieu de 3 puis 4) */
body.luxe-child .woocommerce ul.products,
body.luxe-child.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-flow: row;
	gap: 36px 14px;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}
@media (min-width: 768px) {
	body.luxe-child .woocommerce ul.products,
	body.luxe-child.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 70px 32px;
	}
}
@media (min-width: 1100px) {
	body.luxe-child .woocommerce ul.products,
	body.luxe-child.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 80px 40px;
	}
}

/* 4. Container un peu plus large pour gagner en largeur d'image */
:root {
	--container: 1440px;
}

/* 5. Force chaque <li> à occuper une cellule complète, pas plus */
body.luxe-child .woocommerce ul.products li.product.luxe-pcard {
	grid-column: auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}

/* 6. Image card un peu plus grande (4:5 au lieu de 1:1 pour les cartes Polène-style) */
.luxe-pcard__media { aspect-ratio: 1 / 1; }
@media (min-width: 768px) {
	.luxe-pcard__media { aspect-ratio: 4 / 5; }
}

/* =============================================================================
   FIX 2.1.5 :
   - Image cards : object-fit: contain (le packshot complet, pas crop)
   - Background ivory pour padder l'espace vide
   - Instagram block : background-size: contain au lieu de cover
   ========================================================================== */

/* Collection cards (luxe-pcard) — image complète visible */
.luxe-pcard__media {
	background: var(--c-bg-alt);
	overflow: hidden;
}
.luxe-pcard__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: contain !important;
	object-position: center;
	display: block;
	transition: opacity .45s var(--ease), transform .9s var(--ease);
	padding: 6%;
}
@media (max-width: 767px) {
	.luxe-pcard__img { padding: 4%; }
}

/* Home cards (luxe-card) — même traitement pour rester cohérent */
.luxe-card__media {
	background: var(--c-bg-alt);
	aspect-ratio: 4 / 5;
	position: relative;
	overflow: hidden;
}
.luxe-card__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: contain !important;
	object-position: center;
	padding: 6%;
}

/* Instagram block — background-image en contain au lieu de cover */
.luxe-ig__media {
	background-size: contain !important;
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--c-bg-alt);
}

/* Category tiles on parent archives (Bags / Jewellery / Accessories) */
body.luxe-child .woocommerce ul.products .product-category > a > img {
	background: var(--c-bg-alt);
	object-fit: contain !important;
	padding: 6%;
	aspect-ratio: 1 / 1;
}

/* === IMAGES — Final pass v2.1.8 ============================================
   Toutes les cards (collection + home + swatch) en aspect 4:5, image entière
   visible (contain), pas de padding pour que le sac remplisse le frame.
   ========================================================================= */

/* Container collection card : 4:5 sur tout viewport (mobile inclus) */
.luxe-pcard__media,
body.luxe-child .woocommerce ul.products li.product .luxe-pcard__media {
	aspect-ratio: 4 / 5 !important;
	background: var(--c-bg-alt);
	overflow: hidden;
}

/* Image inside : remplit tout le container, contain pour ne rien couper */
body.luxe-child .woocommerce ul.products li.product .luxe-pcard__img,
.luxe-pcard__img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 0 !important;
}

/* Home cards (Bestsellers / Nanonimals / etc) — même traitement */
.luxe-card__media {
	aspect-ratio: 4 / 5 !important;
	background: var(--c-bg-alt);
	position: relative;
	overflow: hidden;
}
.luxe-card__img {
	position: absolute !important; inset: 0 !important;
	width: 100% !important; height: 100% !important;
	object-fit: contain !important;
	padding: 0 !important;
}

/* Swatches du color picker */
.luxe-swatch__media {
	aspect-ratio: 1 / 1 !important;
	background: var(--c-bg-alt);
	overflow: hidden;
}
.luxe-swatch__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 0 !important;
	background: var(--c-bg-alt);
	transform: none !important;
}

/* Instagram block */
.luxe-ig__media {
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-color: var(--c-bg-alt) !important;
}

/* Tuiles sous-catégories sur /product-category/bags/ */
body.luxe-child .woocommerce ul.products .product-category > a > img,
body.luxe-child .woocommerce ul.products .product-category img {
	aspect-ratio: 4 / 5 !important;
	object-fit: contain !important;
	background: var(--c-bg-alt) !important;
	padding: 0 !important;
}

/* =============================================================================
   ANNOUNCE BAR : bandeau sous le header (promo) — collé au header
   ========================================================================== */
.luxe-announce {
	background: var(--c-ink);
	color: var(--c-bg);
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	padding: 10px 16px;
	text-align: center;
	position: relative;
	z-index: 100;
	margin: 0 !important;
}
.luxe-announce__inner {
	max-width: var(--container);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.luxe-announce__sep {
	opacity: .5;
	font-size: 12px;
}
@media (max-width: 767px) {
	.luxe-announce { padding: 9px 12px; font-size: 10px; }
	.luxe-announce__inner { gap: 10px; }
}

/* Tue le margin-bottom de Storefront sur le header pour que la bannière soit collée */
body.luxe-child .luxe-header,
body.luxe-child .site-header {
	margin-bottom: 0 !important;
	border-bottom: 0 !important;
}

/* "Free gift" tag in cart line items */
.luxe-gift-tag {
	display: inline-block;
	margin-left: 8px;
	background: var(--c-ink);
	color: var(--c-bg);
	font-family: var(--ff-tertiary);
	font-size: 9px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	padding: 3px 7px;
	vertical-align: middle;
}
.luxe-gift-qty {
	font-family: var(--ff-tertiary);
	font-size: 12px;
	color: var(--c-ink-soft);
}

/* =============================================================================
   CATEGORIES RAIL — Carrousel horizontal sous le bandeau (Polène pattern)
   ========================================================================== */
.luxe-cat-rail {
	position: relative;
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-line);
	padding: 18px 0 16px;
}
.luxe-cat-rail__list {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 6px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0;
	padding: 0 50px;
	list-style: none;
}
.luxe-cat-rail__list::-webkit-scrollbar { display: none; }

@media (min-width: 1100px) {
	.luxe-cat-rail__list { justify-content: center; padding: 0 60px; }
}

.luxe-cat-rail__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
	margin: 0;
	padding: 0;
}
.luxe-cat-rail__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: var(--c-ink);
	padding: 8px 14px 6px;
	border-radius: 4px;
	transition: background-color .25s var(--ease);
}
.luxe-cat-rail__link:hover { background: rgba(28,25,22,.04); color: var(--c-ink); }
.luxe-cat-rail__item.is-active .luxe-cat-rail__link { background: var(--c-bg-alt); }

.luxe-cat-rail__media {
	display: block;
	width: 110px;
	height: 110px;
	background: var(--c-bg-alt);
	overflow: hidden;
	margin-bottom: 6px;
}
.luxe-cat-rail__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	display: block;
}
.luxe-cat-rail__name {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--c-ink);
	white-space: nowrap;
}

/* Arrows desktop only */
.luxe-cat-rail__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px; height: 36px;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--c-ink);
	z-index: 2;
	transition: opacity .25s var(--ease);
}
.luxe-cat-rail__arrow:hover { background: var(--c-bg-alt); }
.luxe-cat-rail__arrow--prev { left: 12px; }
.luxe-cat-rail__arrow--next { right: 12px; }
@media (min-width: 768px) {
	.luxe-cat-rail__arrow { display: inline-flex; }
}

/* Mobile : tighter */
@media (max-width: 767px) {
	.luxe-cat-rail { padding: 14px 0 12px; }
	.luxe-cat-rail__list { padding: 0 16px; gap: 2px; }
	.luxe-cat-rail__media { width: 80px; height: 80px; }
	.luxe-cat-rail__name { font-size: 12px; }
	.luxe-cat-rail__link { padding: 6px 8px 4px; }
}

/* =============================================================================
   BROWSE BY CATEGORY — refonte (Polène pattern : titre sous l'image, Canela)
   ========================================================================== */
.luxe-cats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}
@media (min-width: 768px) {
	.luxe-cats { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}

.luxe-cat {
	display: block;
	text-decoration: none;
	color: var(--c-ink);
	transition: opacity .25s var(--ease);
}
.luxe-cat:hover { color: var(--c-ink-soft); }

.luxe-cat__media {
	display: block;
	aspect-ratio: 4 / 5;
	background: var(--c-bg-alt);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	margin-bottom: 18px;
	position: relative;
	transition: transform .9s var(--ease);
}
.luxe-cat:hover .luxe-cat__media { transform: scale(1.01); }
.luxe-cat__media--empty { background: var(--c-bg-alt); }

.luxe-cat__title {
	display: block;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: clamp(22px, 2.2vw, 30px) !important;
	color: var(--c-ink) !important;
	letter-spacing: -.005em !important;
	text-transform: none !important;
	text-align: center;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	background: none !important;
	line-height: 1.2;
}

/* Underline qui apparaît au hover */
.luxe-cat__title::after {
	content: '';
	display: block;
	width: 32px;
	height: 1px;
	background: var(--c-ink);
	margin: 10px auto 0;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .35s var(--ease), transform .35s var(--ease);
}
.luxe-cat:hover .luxe-cat__title::after {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 767px) {
	.luxe-cat__media { margin-bottom: 14px; }
	.luxe-cat__title { font-size: 22px !important; }
}

/* =============================================================================
   ARCHIVE FILTER NOTICE (lorsque ?family=xxx est appliqué)
   ========================================================================== */
.luxe-archive-filter {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	text-align: center;
	margin: 0 0 28px;
	padding: 14px 16px;
	background: var(--c-bg-alt);
	border: 1px solid var(--c-line);
}
.luxe-archive-filter strong {
	color: var(--c-ink);
	font-weight: 400;
}
.luxe-archive-filter a {
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	margin-left: 6px;
}

/* =============================================================================
   CART / CHECKOUT — fond ivoire cohérent avec le reste du site (Polène)
   ========================================================================== */

body.luxe-child.woocommerce-cart .site-content,
body.luxe-child.woocommerce-checkout .site-content,
body.luxe-child.woocommerce-account .site-content {
	background: var(--c-bg);
}

/* Table cart : aucun fond blanc, lignes séparées par une fine ligne ivoire */
body.luxe-child .woocommerce-cart-form,
body.luxe-child .woocommerce-cart-form table.shop_table,
body.luxe-child table.shop_table {
	background: transparent !important;
	border-collapse: collapse;
	border: 0 !important;
}
body.luxe-child table.shop_table thead th,
body.luxe-child table.shop_table tbody th,
body.luxe-child table.shop_table tbody td,
body.luxe-child table.shop_table tfoot th,
body.luxe-child table.shop_table tfoot td {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 22px 12px !important;
	color: var(--c-ink);
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
}
body.luxe-child table.shop_table thead th {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	font-weight: 400;
	border-bottom: 1px solid var(--c-ink) !important;
}
body.luxe-child table.shop_table tr.cart_item {
	background: transparent !important;
}
body.luxe-child table.shop_table .product-name a {
	color: var(--c-ink);
	text-decoration: none;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 17px;
}
body.luxe-child table.shop_table .product-name a:hover { color: var(--c-ink-soft); }

/* Quantity input */
body.luxe-child table.shop_table .quantity input.qty {
	background: var(--c-bg-alt);
	border: 1px solid var(--c-line);
	color: var(--c-ink);
	font-family: var(--ff-primary);
}

/* Coupon row */
body.luxe-child .woocommerce-cart-form .actions {
	background: transparent !important;
	border: 0 !important;
	padding: 24px 0 !important;
}
body.luxe-child .woocommerce-cart-form .coupon input.input-text {
	background: var(--c-bg-alt);
	border: 1px solid var(--c-line);
	padding: 12px 14px;
	font-family: var(--ff-primary);
	color: var(--c-ink);
}

/* Buttons (Apply coupon / Update basket) — Polène thin uppercase style */
body.luxe-child .woocommerce-cart-form .button,
body.luxe-child .cart_totals .button,
body.luxe-child a.button,
body.luxe-child button.button {
	background: var(--c-ink);
	color: var(--c-bg);
	border: 1px solid var(--c-ink);
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	padding: 14px 22px;
	border-radius: 0;
	transition: background-color .25s var(--ease), color .25s var(--ease);
}
body.luxe-child .woocommerce-cart-form .button:hover,
body.luxe-child a.button:hover,
body.luxe-child button.button:hover {
	background: transparent;
	color: var(--c-ink);
}

/* Cart totals box */
body.luxe-child .cart_totals {
	background: var(--c-bg-alt);
	padding: 36px 32px;
	margin-top: 50px;
}
body.luxe-child .cart_totals h2 {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 26px;
	margin-bottom: 24px;
	text-align: left;
}
body.luxe-child .cart_totals table {
	background: transparent !important;
}
body.luxe-child .cart_totals table th,
body.luxe-child .cart_totals table td {
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	font-family: var(--ff-primary) !important;
}

/* Mobile : stacked rows en cartes ivoire claires (pas blanc) */
@media (max-width: 767px) {
	body.luxe-child table.shop_table tbody tr {
		display: block;
		background: transparent !important;
		border-bottom: 1px solid var(--c-line);
		padding: 18px 0;
		margin: 0;
	}
	body.luxe-child table.shop_table tbody td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center;
		padding: 6px 0 !important;
		border: 0 !important;
		background: transparent !important;
	}
	body.luxe-child table.shop_table tbody td.product-thumbnail { justify-content: center; padding: 8px 0 16px !important; }
	body.luxe-child table.shop_table tbody td.product-thumbnail img { max-width: 90px; height: auto; }
	body.luxe-child table.shop_table tbody td::before {
		content: attr(data-title) ":";
		font-family: var(--ff-tertiary);
		font-size: 11px;
		letter-spacing: var(--ts-label-tracking);
		text-transform: uppercase;
		color: var(--c-ink-soft);
		margin-right: 12px;
	}
	body.luxe-child table.shop_table tbody td.product-thumbnail::before { display: none; }
	body.luxe-child table.shop_table tbody td.product-remove {
		justify-content: flex-end;
		padding: 0 0 8px !important;
	}
	body.luxe-child table.shop_table tbody td.product-remove::before { display: none; }
	body.luxe-child .cart_totals { padding: 26px 22px; }
}

/* Empty cart message */
body.luxe-child .cart-empty.woocommerce-info,
body.luxe-child .return-to-shop {
	background: var(--c-bg-alt);
	border: 0;
	border-left: 3px solid var(--c-ink);
	color: var(--c-ink);
	font-family: var(--ff-primary);
	font-weight: 300;
	padding: 22px 26px;
	text-align: center;
}

/* Checkout — mêmes principes : fond ivoire, plus de cartes blanches */
body.luxe-child .woocommerce-checkout #order_review,
body.luxe-child .woocommerce-checkout #order_review_heading,
body.luxe-child .woocommerce-checkout .woocommerce-checkout-review-order {
	background: var(--c-bg-alt) !important;
}
body.luxe-child .woocommerce-checkout .form-row input,
body.luxe-child .woocommerce-checkout .form-row textarea,
body.luxe-child .woocommerce-checkout .form-row select {
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	padding: 12px 14px;
	font-family: var(--ff-primary);
	color: var(--c-ink);
}

/* =============================================================================
   CART — Refonte v2.4.3 : style Polène épuré, plus de table-look
   Hide les en-têtes de table, chaque row devient une ligne flex propre.
   ========================================================================= */

/* Background ivoire constant */
body.luxe-child.woocommerce-cart .site-content,
body.luxe-child.woocommerce-checkout .site-content,
body.luxe-child.woocommerce-account .site-content { background: var(--c-bg); }

/* Layout général de la page panier */
body.luxe-child.woocommerce-cart .woocommerce {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px 80px;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .woocommerce { padding: 24px 16px 60px; }
}

/* Hide les éléments par défaut moches */
body.luxe-child.woocommerce-cart .shop_table.cart thead { display: none !important; }
body.luxe-child.woocommerce-cart .woocommerce-cart-form .actions .button[name="update_cart"] { background: transparent; color: var(--c-ink-soft); border: 0; padding: 0; font-size: 11px; }

/* Container : tableau remis en grid */
body.luxe-child.woocommerce-cart .shop_table.cart {
	display: block !important;
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	margin: 0 0 32px;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody { display: block !important; }
body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
	display: grid !important;
	grid-template-columns: 110px 1fr auto;
	gap: 24px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--c-line);
	background: transparent !important;
	position: relative;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
		grid-template-columns: 90px 1fr;
		grid-template-rows: auto auto;
		gap: 14px 18px;
		padding: 22px 0;
	}
}

/* TD : on les détache de la table, certains se positionnent dans la grid */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td {
	display: block !important;
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	font-family: var(--ff-primary);
	font-weight: 300;
	color: var(--c-ink);
}

/* Remove (croix) — coin haut droit */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove {
	position: absolute;
	top: 18px;
	right: 0;
	margin: 0;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove a.remove {
	color: var(--c-ink-soft);
	font-size: 18px;
	width: 28px; height: 28px;
	line-height: 28px;
	text-align: center;
	font-weight: 300;
	background: transparent !important;
	border-radius: 0;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove a.remove:hover { color: var(--c-ink); }

/* Thumbnail */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail {
	grid-column: 1;
	grid-row: 1;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail {
		grid-row: 1 / span 2;
	}
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img {
	width: 110px;
	height: 138px;
	object-fit: contain;
	background: var(--c-bg-alt);
	display: block;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img { width: 90px; height: 112px; }
}

/* Bloc info : nom + prix unitaire + quantity */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name {
	grid-column: 2;
	grid-row: 1;
	display: flex !important;
	flex-direction: column;
	gap: 4px;
	padding-right: 40px !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a {
	color: var(--c-ink);
	text-decoration: none;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 18px;
	letter-spacing: 0;
	line-height: 1.25;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a:hover { color: var(--c-ink-soft); }

/* Free gift tag déjà stylé ailleurs, mais on s'assure de l'inline */
.luxe-gift-tag { vertical-align: middle; }

/* Price unitaire — petite ligne italique sous le nom */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price {
	grid-column: 2;
	grid-row: 2;
	font-style: italic;
	color: var(--c-ink-soft);
	font-size: 13px;
	margin-top: -2px;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price::before {
	content: 'Unit price: ';
	font-style: normal;
	font-family: var(--ff-tertiary);
	font-size: 10px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin-right: 6px;
}

/* Quantity — sur la même ligne que le prix unitaire en desktop, en dessous en mobile */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity {
	grid-column: 2;
	grid-row: 3;
	margin-top: 8px;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity .quantity {
	display: inline-flex;
	align-items: center;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity input.qty {
	width: 56px;
	text-align: center;
	background: transparent;
	border: 1px solid var(--c-line);
	color: var(--c-ink);
	padding: 8px 4px;
	font-family: var(--ff-primary);
	font-size: 14px;
}

/* Subtotal — gros, en bout de ligne */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
	grid-column: 3;
	grid-row: 1;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 18px;
	color: var(--c-ink);
	text-align: right;
	align-self: center;
	white-space: nowrap;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
		grid-column: 2;
		grid-row: 4;
		text-align: left;
		font-size: 16px;
		margin-top: 4px;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal::before {
		content: 'Subtotal: ';
		font-family: var(--ff-tertiary);
		font-size: 10px;
		letter-spacing: var(--ts-label-tracking);
		text-transform: uppercase;
		color: var(--c-ink-soft);
		margin-right: 6px;
	}
}

/* Coupon row */
body.luxe-child.woocommerce-cart .woocommerce-cart-form .actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 0 !important;
	margin: 0 0 50px !important;
	background: transparent !important;
	border: 0 !important;
}
body.luxe-child.woocommerce-cart .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
}
body.luxe-child.woocommerce-cart .coupon input.input-text {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--c-line);
	padding: 10px 0;
	min-width: 200px;
	font-family: var(--ff-primary);
	color: var(--c-ink);
	border-radius: 0;
}
body.luxe-child.woocommerce-cart .coupon button.button {
	background: transparent !important;
	color: var(--c-ink-soft) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-ink-soft) !important;
	padding: 6px 0 !important;
	font-size: 11px !important;
	border-radius: 0 !important;
}
body.luxe-child.woocommerce-cart .coupon button.button:hover { color: var(--c-ink) !important; border-color: var(--c-ink) !important; }

body.luxe-child.woocommerce-cart .actions > button[name="update_cart"] {
	background: transparent !important;
	color: var(--c-ink-soft) !important;
	border: 0 !important;
	font-family: var(--ff-tertiary);
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase;
	padding: 6px 0 !important;
	border-bottom: 1px solid transparent !important;
}
body.luxe-child.woocommerce-cart .actions > button[name="update_cart"]:not([disabled]):hover {
	color: var(--c-ink) !important;
	border-bottom-color: var(--c-ink) !important;
}

/* Cart totals — encart ivoire alt, layout moderne */
body.luxe-child.woocommerce-cart .cart-collaterals {
	display: block;
	margin-top: 0;
}
body.luxe-child.woocommerce-cart .cart_totals {
	background: var(--c-bg-alt);
	padding: 36px 32px;
	max-width: 480px;
	margin: 0 0 0 auto;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .cart_totals { padding: 26px 20px; max-width: none; }
}
body.luxe-child.woocommerce-cart .cart_totals h2 {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 24px;
	letter-spacing: 0;
	margin: 0 0 22px;
	text-align: left;
	text-transform: none;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table {
	background: transparent !important;
	border: 0 !important;
	border-top: 0 !important;
	display: table !important;
	margin: 0;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tbody {
	display: table-row-group !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr {
	display: table-row !important;
	background: transparent !important;
	padding: 0 !important;
	border: 0 !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table td {
	display: table-cell !important;
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300;
	font-size: 14px;
	background: transparent !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	font-size: 18px;
	font-weight: 400;
	border-bottom: 0 !important;
	padding-top: 18px !important;
}
body.luxe-child.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	margin-top: 24px;
	padding: 0;
}
body.luxe-child.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	background: var(--c-ink) !important;
	color: var(--c-bg) !important;
	border: 1px solid var(--c-ink) !important;
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase;
	padding: 16px 24px !important;
	border-radius: 0;
	text-align: center;
	transition: background-color .25s var(--ease), color .25s var(--ease);
}
body.luxe-child.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
	background: transparent !important;
	color: var(--c-ink) !important;
}

/* Cart info messages (e.g. "coupon applied") */
body.luxe-child.woocommerce-cart .woocommerce-message,
body.luxe-child.woocommerce-cart .woocommerce-info,
body.luxe-child.woocommerce-cart .woocommerce-error {
	background: var(--c-bg-alt);
	border: 0;
	border-left: 2px solid var(--c-ink);
	color: var(--c-ink);
	font-family: var(--ff-primary);
	padding: 16px 20px;
	margin-bottom: 22px;
}
body.luxe-child.woocommerce-cart .cart-empty {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 18px;
	color: var(--c-ink-soft);
	text-align: center;
	padding: 60px 20px;
}
body.luxe-child.woocommerce-cart .return-to-shop a.button {
	background: var(--c-ink) !important;
	color: var(--c-bg) !important;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	padding: 14px 24px;
	border-radius: 0;
	display: inline-block;
}

/* Cross-sells (related products in cart) — désactivés visuellement */
body.luxe-child.woocommerce-cart .cross-sells { display: none; }

/* Breadcrumb sur la page panier */
body.luxe-child.woocommerce-cart .woocommerce-breadcrumb {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	margin: 0 0 28px;
	padding: 0;
}
body.luxe-child.woocommerce-cart .woocommerce-breadcrumb a {
	color: var(--c-ink-soft);
	text-decoration: none;
}
body.luxe-child.woocommerce-cart .woocommerce-breadcrumb a:hover { color: var(--c-ink); }

/* =============================================================================
   CART CLEANUP v2.4.4 — kill les anciennes règles ::before doublons et
   reconstruit un layout mobile propre.
   ========================================================================= */

/* 1. ANNULE les ::before de mes anciennes règles (v2.4.2) qui dupliquaient les labels */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal::before,
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove::before,
body.luxe-child.woocommerce-cart .cart_totals table th::before,
body.luxe-child.woocommerce-cart .cart_totals table td::before,
body.luxe-child table.shop_table tbody td::before {
	display: none !important;
	content: none !important;
}

/* 2. CART ITEMS — Layout grid clean et identique sur tous viewports */
body.luxe-child.woocommerce-cart .shop_table.cart {
	display: block !important;
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	margin: 0 0 32px;
}
body.luxe-child.woocommerce-cart .shop_table.cart thead { display: none !important; }
body.luxe-child.woocommerce-cart .shop_table.cart tbody { display: block !important; }

body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
	display: grid !important;
	grid-template-columns: 110px 1fr auto;
	grid-template-rows: auto;
	gap: 4px 24px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--c-line);
	background: transparent !important;
	position: relative;
}

/* Toutes les TD : reset complet */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td {
	display: block !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	font-family: var(--ff-primary);
	font-weight: 300;
	color: var(--c-ink);
	text-align: left;
}

/* Croix en absolu en haut à droite */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove {
	position: absolute !important;
	top: 18px;
	right: 0;
	width: auto;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove a.remove {
	color: var(--c-ink-soft) !important;
	font-size: 18px;
	width: 28px; height: 28px;
	line-height: 28px;
	text-align: center;
	font-weight: 300;
	background: transparent !important;
	border-radius: 0 !important;
	display: inline-block;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove a.remove:hover { color: var(--c-ink) !important; background: transparent !important; }

/* Image à gauche */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail {
	grid-column: 1;
	grid-row: 1 / -1;
	align-self: start;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img {
	width: 110px !important;
	height: 138px !important;
	object-fit: contain !important;
	background: var(--c-bg-alt);
	display: block;
	max-width: none !important;
}

/* Bloc nom + prix unitaire + qty (centre) */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name {
	grid-column: 2;
	grid-row: 1;
	padding-right: 40px !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a {
	color: var(--c-ink) !important;
	text-decoration: none !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 18px !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a:hover { color: var(--c-ink-soft) !important; }

body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price {
	grid-column: 2;
	grid-row: 2;
	font-style: italic;
	color: var(--c-ink-soft);
	font-size: 13px;
	margin-top: 2px !important;
}

body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity {
	grid-column: 2;
	grid-row: 3;
	margin-top: 10px !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity .quantity {
	display: inline-flex;
	align-items: center;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity input.qty {
	width: 56px !important;
	text-align: center;
	background: transparent !important;
	border: 1px solid var(--c-line) !important;
	color: var(--c-ink) !important;
	padding: 8px 4px !important;
	font-family: var(--ff-primary) !important;
	font-size: 14px !important;
}

/* Subtotal à droite */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
	grid-column: 3;
	grid-row: 1 / -1;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 18px;
	color: var(--c-ink);
	text-align: right;
	align-self: center;
	white-space: nowrap;
}

/* MOBILE : 2 colonnes (thumb à gauche, tout le reste à droite empilé) */
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
		grid-template-columns: 90px 1fr;
		gap: 4px 16px;
		padding: 22px 0;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img {
		width: 90px !important;
		height: 112px !important;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name {
		grid-column: 2;
		grid-row: 1;
		padding-right: 36px !important;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a { font-size: 16px !important; }
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price {
		grid-column: 2;
		grid-row: 2;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity {
		grid-column: 2;
		grid-row: 3;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
		grid-column: 2;
		grid-row: 4;
		text-align: left;
		font-size: 16px;
		margin-top: 8px !important;
	}
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove {
		top: 14px;
	}
}

/* 3. CART TOTALS — table classique sans labels dupliqués */
body.luxe-child.woocommerce-cart .cart_totals table.shop_table {
	display: table !important;
	border-top: 0 !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table thead { display: none !important; }
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tbody { display: table-row-group !important; }
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr {
	display: table-row !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table td {
	display: table-cell !important;
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 14px !important;
	background: transparent !important;
	text-align: left !important;
	color: var(--c-ink) !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table th {
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	color: var(--c-ink-soft) !important;
	font-weight: 400 !important;
	width: 50%;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	font-size: 18px !important;
	font-weight: 400 !important;
	border-bottom: 0 !important;
	padding-top: 18px !important;
	color: var(--c-ink) !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
	font-family: var(--ff-primary) !important;
	font-size: 18px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
body.luxe-child.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.luxe-child.woocommerce-cart .cart_totals .shipping-calculator-button { font-size: 13px; color: var(--c-ink-soft); }

/* =============================================================================
   CHECKOUT — Refonte v2.4.5 : layout propre, payment beige, free gift inline
   ========================================================================= */

/* Background page */
body.luxe-child.woocommerce-checkout {
	background: var(--c-bg);
}
body.luxe-child.woocommerce-checkout .site-content,
body.luxe-child.woocommerce-checkout .site-content > .col-full,
body.luxe-child.woocommerce-checkout #content {
	background: var(--c-bg);
}

body.luxe-child.woocommerce-checkout .woocommerce {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px 80px;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-checkout .woocommerce { padding: 20px 14px 60px; }
}

/* Heading "Your order" */
body.luxe-child.woocommerce-checkout #order_review_heading,
body.luxe-child.woocommerce-checkout h3#order_review_heading {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 26px;
	letter-spacing: 0;
	margin: 32px 0 18px;
	padding: 0;
	background: transparent !important;
	border: 0;
	text-transform: none;
	color: var(--c-ink);
}

/* Order review table */
body.luxe-child.woocommerce-checkout #order_review {
	background: var(--c-bg-alt) !important;
	border: 0;
	padding: 26px 24px;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-checkout #order_review { padding: 22px 18px; }
}
body.luxe-child.woocommerce-checkout table.shop_table {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	width: 100%;
	border-collapse: collapse;
}
body.luxe-child.woocommerce-checkout table.shop_table thead th {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-ink) !important;
	padding: 14px 0 !important;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	font-weight: 400;
	text-align: left;
}
body.luxe-child.woocommerce-checkout table.shop_table thead th.product-total { text-align: right; }

body.luxe-child.woocommerce-checkout table.shop_table tbody tr,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr {
	background: transparent !important;
}
body.luxe-child.woocommerce-checkout table.shop_table tbody td,
body.luxe-child.woocommerce-checkout table.shop_table tfoot th,
body.luxe-child.woocommerce-checkout table.shop_table tfoot td {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 16px 0 !important;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	color: var(--c-ink);
	vertical-align: top;
	word-break: normal !important;
	overflow-wrap: normal !important;
}
body.luxe-child.woocommerce-checkout table.shop_table tbody td.product-name {
	width: 70%;
	padding-right: 14px !important;
	line-height: 1.4;
}
body.luxe-child.woocommerce-checkout table.shop_table tbody td.product-total {
	text-align: right;
	white-space: nowrap;
	font-size: 16px;
}

/* Quantity inline avec le titre (× 1) */
body.luxe-child.woocommerce-checkout table.shop_table tbody td.product-name strong.product-quantity {
	display: inline;
	font-family: var(--ff-primary);
	font-weight: 300;
	color: var(--c-ink-soft);
	margin-left: 6px;
	font-size: 14px;
}

/* FREE GIFT tag — inline-block compact, plus de wrapping vertical */
body.luxe-child.woocommerce-checkout table.shop_table tbody td.product-name .luxe-gift-tag {
	display: inline-block !important;
	white-space: nowrap !important;
	margin: 4px 0 0 0 !important;
	vertical-align: middle;
	writing-mode: horizontal-tb !important;
	transform: none !important;
	max-width: none !important;
}

/* Footer rows : Subtotal / Shipping / Total */
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.cart-subtotal th,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.cart-subtotal td,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.shipping th,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.shipping td {
	font-family: var(--ff-primary);
	font-weight: 300;
}
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.shipping td label,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.shipping td input { font-family: var(--ff-primary); }
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.order-total th,
body.luxe-child.woocommerce-checkout table.shop_table tfoot tr.order-total td {
	font-family: var(--ff-primary);
	font-size: 18px;
	font-weight: 400;
	border-bottom: 0 !important;
	padding-top: 18px !important;
}
body.luxe-child.woocommerce-checkout table.shop_table tfoot th { text-align: left; }
body.luxe-child.woocommerce-checkout table.shop_table tfoot td { text-align: right; }

/* Payment methods box — fond ivoire alt (pas blanc), border line */
body.luxe-child.woocommerce-checkout #payment,
body.luxe-child.woocommerce-checkout .woocommerce-checkout-payment {
	background: var(--c-bg-alt) !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 24px 24px 28px !important;
	margin: 26px 0 !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-checkout #payment,
	body.luxe-child.woocommerce-checkout .woocommerce-checkout-payment { padding: 20px 18px 22px !important; }
}

body.luxe-child.woocommerce-checkout #payment ul.payment_methods {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
	list-style: none;
}
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 16px 0 !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child { border-bottom: 0 !important; }
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 16px;
	color: var(--c-ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li .payment_box {
	background: transparent !important;
	border: 0 !important;
	margin: 14px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px dashed var(--c-line) !important;
	color: var(--c-ink-soft);
	font-family: var(--ff-primary);
	font-size: 13px;
	line-height: 1.6;
}
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li .payment_box::before { display: none !important; }

/* Privacy text */
body.luxe-child.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.luxe-child.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
	line-height: 1.6;
	margin: 0 0 18px;
}
body.luxe-child.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Place order button */
body.luxe-child.woocommerce-checkout #place_order,
body.luxe-child.woocommerce-checkout button#place_order {
	display: block;
	width: 100%;
	background: var(--c-ink) !important;
	color: var(--c-bg) !important;
	border: 1px solid var(--c-ink) !important;
	font-family: var(--ff-tertiary) !important;
	font-size: 12px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	padding: 18px 24px !important;
	border-radius: 0 !important;
	margin-top: 4px !important;
	transition: background-color .25s var(--ease), color .25s var(--ease);
	float: none !important;
}
body.luxe-child.woocommerce-checkout #place_order:hover {
	background: transparent !important;
	color: var(--c-ink) !important;
}

/* Form fields (billing/shipping) */
body.luxe-child.woocommerce-checkout .form-row label {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	font-weight: 400;
	margin-bottom: 6px;
	display: block;
}
body.luxe-child.woocommerce-checkout .form-row input.input-text,
body.luxe-child.woocommerce-checkout .form-row textarea,
body.luxe-child.woocommerce-checkout .form-row select,
body.luxe-child.woocommerce-checkout .select2-container .select2-selection {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	font-family: var(--ff-primary) !important;
	font-size: 15px !important;
	color: var(--c-ink) !important;
	height: auto !important;
	box-shadow: none !important;
}
body.luxe-child.woocommerce-checkout #customer_details h3,
body.luxe-child.woocommerce-checkout .woocommerce-billing-fields h3,
body.luxe-child.woocommerce-checkout .woocommerce-shipping-fields h3,
body.luxe-child.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 24px;
	letter-spacing: 0;
	margin: 0 0 18px;
	color: var(--c-ink);
}

/* Notice "Have a coupon?" + login bars */
body.luxe-child.woocommerce-checkout .woocommerce-info,
body.luxe-child.woocommerce-checkout .woocommerce-message {
	background: transparent;
	border: 0;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	color: var(--c-ink-soft);
	font-family: var(--ff-primary);
	font-size: 14px;
	padding: 14px 0;
	margin-bottom: 22px;
}
body.luxe-child.woocommerce-checkout .woocommerce-info::before { display: none; }
body.luxe-child.woocommerce-checkout .woocommerce-info a,
body.luxe-child.woocommerce-checkout .woocommerce-message a {
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* =============================================================================
   CHECKOUT FIX 2 v2.4.6 — kill les fonds blancs résiduels (Stripe box + place-order)
   ========================================================================== */

/* Reset l'arrière-plan blanc sur le payment_box (Stripe / Klarna content) */
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box,
body.luxe-child.woocommerce-checkout #payment .payment_box,
body.luxe-child.woocommerce-checkout .wc-stripe-elements-field,
body.luxe-child.woocommerce-checkout .wc-stripe-payment-request-button-separator,
body.luxe-child.woocommerce-checkout #wc-stripe-cc-form,
body.luxe-child.woocommerce-checkout .wc_payment_method .payment_box * {
	background: transparent !important;
	background-color: transparent !important;
	border-color: var(--c-line) !important;
}

/* Card fields conteneurs : fond ivoire alt clair, plus blanc */
body.luxe-child.woocommerce-checkout .wc-stripe-elements-field,
body.luxe-child.woocommerce-checkout #stripe-payment-data .form-row,
body.luxe-child.woocommerce-checkout #stripe-payment-data input,
body.luxe-child.woocommerce-checkout .wc-stripe-payment-element-container {
	background: var(--c-bg) !important;
	border: 1px solid var(--c-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Place order zone — supprime le fond blanc qui entoure privacy + button */
body.luxe-child.woocommerce-checkout .form-row.place-order,
body.luxe-child.woocommerce-checkout #payment .form-row.place-order {
	background: transparent !important;
	border: 0 !important;
	padding: 18px 0 0 !important;
	margin: 0 !important;
}

/* Bordure haut entre Klarna et le bloc Place order */
body.luxe-child.woocommerce-checkout #payment {
	display: block;
}
body.luxe-child.woocommerce-checkout #payment > .form-row.place-order {
	border-top: 1px solid var(--c-line) !important;
	margin-top: 18px !important;
	padding-top: 18px !important;
}

/* Privacy text dans le payment block */
body.luxe-child.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
body.luxe-child.woocommerce-checkout .woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
	background: transparent !important;
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
	line-height: 1.6;
	margin: 0 0 18px;
	padding: 0 !important;
	border: 0 !important;
}

/* "Secure, fast checkout with Link" toggle - reset background */
body.luxe-child.woocommerce-checkout .wc-stripe-link-button,
body.luxe-child.woocommerce-checkout [data-link-button],
body.luxe-child.woocommerce-checkout .StripeElement {
	background: transparent !important;
}

/* Klarna info row — prevent pink K background extending */
body.luxe-child.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
	max-height: 22px;
	width: auto;
}

/* Hide "50 in stock" availability text on product pages */
body.luxe-child.single-product .stock,
body.luxe-child.single-product p.stock,
body.luxe-child .product .stock { display: none !important; }

/* =============================================================================
   WC NOTICES — refonte propre (vert WC → ivoire Polène)
   Concerne le toast "Item added to basket" et autres messages de succès
   ========================================================================== */
body.luxe-child .woocommerce-message,
body.luxe-child .woocommerce-info,
body.luxe-child .woocommerce-error,
body.luxe-child .woocommerce-notice,
body.luxe-child div.woocommerce-message,
body.luxe-child div.woocommerce-info {
	background: var(--c-bg-alt) !important;
	color: var(--c-ink) !important;
	border: 0 !important;
	border-left: 2px solid var(--c-ink) !important;
	border-radius: 0 !important;
	padding: 18px 22px !important;
	margin: 0 0 28px !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	flex-wrap: wrap !important;
	box-shadow: none !important;
}
body.luxe-child .woocommerce-error { border-left-color: var(--c-sale) !important; }

/* Tue le check-mark ::before vert / blue WC */
body.luxe-child .woocommerce-message::before,
body.luxe-child .woocommerce-info::before,
body.luxe-child .woocommerce-error::before,
body.luxe-child div.woocommerce-message::before { display: none !important; content: none !important; }

/* "View basket" button dans le notice */
body.luxe-child .woocommerce-message .button,
body.luxe-child .woocommerce-message a.wc-forward,
body.luxe-child .woocommerce-message .restore-item,
body.luxe-child .woocommerce-info .button {
	background: transparent !important;
	color: var(--c-ink) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-ink) !important;
	border-radius: 0 !important;
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	padding: 4px 0 !important;
	margin: 0 0 0 auto !important;
	float: none !important;
	box-shadow: none !important;
	line-height: 1 !important;
	min-height: 0 !important;
}
body.luxe-child .woocommerce-message .button:hover,
body.luxe-child .woocommerce-message a.wc-forward:hover {
	color: var(--c-ink-soft) !important;
	border-bottom-color: var(--c-ink-soft) !important;
	background: transparent !important;
}

/* Sur mobile : layout en colonne */
@media (max-width: 599px) {
	body.luxe-child .woocommerce-message,
	body.luxe-child .woocommerce-info {
		padding: 16px 18px !important;
		gap: 12px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	body.luxe-child .woocommerce-message .button,
	body.luxe-child .woocommerce-message a.wc-forward { margin: 0 !important; }
}

/* =============================================================================
   STICKY TOP BAR — header + announce + cat-rail restent fixés en haut
   ========================================================================== */
.luxe-stickytop {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--c-bg);
}

/* Le header n'a plus besoin d'être sticky lui-même puisque son parent l'est */
body.luxe-child .luxe-header {
	position: relative !important;
	transform: none !important;
}

/* =============================================================================
   STICKY TOP FIX v2.5.1 — overflow-x: hidden cassait position:sticky sur iOS.
   On utilise overflow-x: clip (équivalent moderne qui n'interfère pas).
   ========================================================================== */

/* Annule l'ancien overflow-x: hidden et utilise clip (iOS 16+) avec fallback sur la racine */
html { overflow-x: clip; }
body.luxe-child { overflow-x: clip !important; overflow-y: visible !important; }

/* Vérifie que sticky-top fonctionne bien dans tous les contextes */
.luxe-stickytop {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--c-bg);
	width: 100%;
}

/* Aucun ancestor du sticky ne doit avoir overflow:hidden / transform / filter
   (tous bloquent position:sticky). On force #page et .site-content. */
body.luxe-child #page,
body.luxe-child .site,
body.luxe-child .site-content,
body.luxe-child .col-full {
	overflow: visible !important;
	transform: none !important;
	filter: none !important;
}

/* On garde le drawer-open lock comme avant — drawer reste fixed donc pas de souci */
body.luxe-drawer-open { overflow: hidden !important; }

/* =============================================================================
   BESTSELLERS PAGE GRID — la page n'a pas de classe .woocommerce sur body,
   donc le sélecteur principal ne s'applique pas. On force le grid ici.
   ========================================================================= */
body.luxe-child ul.products.luxe-bestsellers-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 36px 14px;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}
@media (min-width: 768px) {
	body.luxe-child ul.products.luxe-bestsellers-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 70px 32px;
	}
}
@media (min-width: 1100px) {
	body.luxe-child ul.products.luxe-bestsellers-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 80px 40px;
	}
}
body.luxe-child ul.products.luxe-bestsellers-grid li.product {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	display: block;
}
body.luxe-child ul.products.luxe-bestsellers-grid li.product::before,
body.luxe-child ul.products.luxe-bestsellers-grid li.product::after,
body.luxe-child ul.products.luxe-bestsellers-grid::before,
body.luxe-child ul.products.luxe-bestsellers-grid::after {
	display: none !important;
	content: none !important;
}

/* =============================================================================
   SHOPIFY-STYLE CHECKOUT v2.7.0 — single-page, 2-col, order summary right
   ========================================================================== */

/* Override the WC base layout : full reset on checkout page */
body.luxe-child.woocommerce-checkout {
	background: var(--c-bg);
}
body.luxe-child.woocommerce-checkout .site-content,
body.luxe-child.woocommerce-checkout #content,
body.luxe-child.woocommerce-checkout .col-full {
	background: var(--c-bg);
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout .woocommerce {
	max-width: none;
	padding: 0;
}
body.luxe-child.woocommerce-checkout #order_review_heading { display: none; }

/* Hide the announce-style stickytop on checkout for focus (optional) */
body.luxe-child.woocommerce-checkout .luxe-cat-rail,
body.luxe-child.woocommerce-checkout .luxe-announce { display: none; }

/* ============= Grid layout ============= */
.luxe-checkout__grid {
	display: grid;
	grid-template-columns: 1fr;
	min-height: 100vh;
}
@media (min-width: 992px) {
	.luxe-checkout__grid {
		grid-template-columns: 1fr 1fr;
		max-width: 1400px;
		margin: 0 auto;
	}
}

/* ============= Left : main form ============= */
.luxe-checkout__main {
	padding: 24px var(--gutter) 60px;
	background: var(--c-bg);
}
@media (min-width: 992px) {
	.luxe-checkout__main { padding: 48px 60px 80px; border-right: 1px solid var(--c-line); }
}

.luxe-checkout__header { margin-bottom: 32px; }
.luxe-checkout__logo {
	display: inline-block;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 22px;
	letter-spacing: .12em;
	color: var(--c-ink) !important;
	text-decoration: none !important;
	margin-bottom: 16px;
}
.luxe-checkout__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.luxe-checkout__crumbs a { color: var(--c-ink-soft); text-decoration: none; }
.luxe-checkout__crumbs .is-current { color: var(--c-ink); font-weight: 400; }
.luxe-checkout__crumbs span[aria-hidden] { opacity: .4; }

/* ============= Express checkout row ============= */
.luxe-checkout__express {
	display: flex;
	gap: 8px;
	margin-bottom: 14px;
	min-height: 0;
}
.luxe-checkout__express:empty { display: none; }
.luxe-checkout__divider {
	text-align: center;
	margin: 16px 0 22px;
	position: relative;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.luxe-checkout__divider::before {
	content: '';
	position: absolute;
	left: 0; right: 0; top: 50%;
	height: 1px;
	background: var(--c-line);
	z-index: 0;
}
.luxe-checkout__divider span {
	position: relative;
	background: var(--c-bg);
	padding: 0 12px;
	z-index: 1;
}

/* ============= Form sections ============= */
.luxe-checkout__section { margin-bottom: 36px; }
.luxe-checkout__section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
}
.luxe-checkout__section-head h2 {
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 20px !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	text-transform: none !important;
	color: var(--c-ink) !important;
}
.luxe-checkout__section-head a {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.luxe-checkout__secure {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--ff-tertiary);
	font-size: 10px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
}

/* ============= Fields (clean Shopify-style) ============= */
.luxe-field {
	position: relative;
	margin-bottom: 12px;
}
.luxe-field--full { grid-column: 1 / -1; }
.luxe-row {
	display: grid;
	gap: 12px;
	margin-bottom: 12px;
}
.luxe-row--2 { grid-template-columns: 1fr 1fr; }
.luxe-row--3 { grid-template-columns: 1fr; }
@media (min-width: 600px) {
	.luxe-row--3 { grid-template-columns: 1fr 1fr 1fr; }
}

body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row { margin: 0 0 12px !important; padding: 0 !important; width: 100% !important; max-width: none !important; }
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row label {
	display: block !important;
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	color: var(--c-ink-soft) !important;
	font-weight: 400 !important;
	margin: 0 0 6px !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row label .required { color: var(--c-ink-soft); text-decoration: none; margin-left: 2px; }
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row input.input-text,
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row select,
body.luxe-child.woocommerce-checkout .luxe-checkout .select2-container .select2-selection {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	border-radius: 0 !important;
	padding: 13px 14px !important;
	font-family: var(--ff-primary) !important;
	font-size: 15px !important;
	color: var(--c-ink) !important;
	height: auto !important;
	width: 100% !important;
	box-shadow: none !important;
	transition: border-color .2s var(--ease);
}
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row input.input-text:focus,
body.luxe-child.woocommerce-checkout .luxe-checkout p.form-row select:focus,
body.luxe-child.woocommerce-checkout .luxe-checkout .select2-container--focus .select2-selection {
	border-color: var(--c-ink) !important;
	outline: none !important;
	background: var(--c-bg) !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-input-wrapper { display: block; width: 100%; }
body.luxe-child.woocommerce-checkout .luxe-checkout .select2-selection__rendered {
	line-height: 22px !important;
	padding-left: 0 !important;
	color: var(--c-ink) !important;
	font-family: var(--ff-primary) !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .select2-selection__arrow { height: 100% !important; }

.luxe-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	font-family: var(--ff-primary);
	font-size: 14px;
	color: var(--c-ink-soft);
	cursor: pointer;
}
.luxe-checkbox input { accent-color: var(--c-ink); }

/* ============= Shipping methods radio ============= */
.luxe-shipping-list ul.shipping_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.luxe-shipping-list ul.shipping_methods li {
	border: 1px solid var(--c-line);
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--c-bg-alt);
	transition: border-color .2s var(--ease);
}
.luxe-shipping-list ul.shipping_methods li:has(input:checked) {
	border-color: var(--c-ink);
	background: var(--c-bg);
}
.luxe-shipping-list ul.shipping_methods li input { accent-color: var(--c-ink); }
.luxe-shipping-list ul.shipping_methods li label {
	font-family: var(--ff-primary);
	font-size: 15px;
	color: var(--c-ink);
	cursor: pointer;
	flex: 1;
}

/* ============= Payment box ============= */
body.luxe-child.woocommerce-checkout #luxe-payment-box,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line);
	padding: 14px 18px !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 14px 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:last-child { border-bottom: 0 !important; }
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box {
	background: transparent !important;
	border: 0 !important;
	margin: 10px 0 0 !important;
	padding: 10px 0 0 !important;
	border-top: 1px dashed var(--c-line) !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box::before { display: none !important; }
body.luxe-child.woocommerce-checkout .luxe-checkout #place_order {
	display: block;
	width: 100%;
	background: var(--c-ink) !important;
	color: var(--c-bg) !important;
	border: 1px solid var(--c-ink) !important;
	font-family: var(--ff-tertiary) !important;
	font-weight: 400 !important;
	font-size: 13px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	padding: 18px 22px !important;
	border-radius: 0 !important;
	min-height: 56px;
	margin-top: 14px !important;
	float: none !important;
	transition: background-color .2s var(--ease), color .2s var(--ease);
	cursor: pointer;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #place_order:hover {
	background: transparent !important;
	color: var(--c-ink) !important;
}

.luxe-checkout__order-actions { margin-top: 28px; }
.luxe-checkout__back {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
	text-decoration: none;
}
.luxe-checkout__back:hover { color: var(--c-ink); }

/* ============= Right : order summary ============= */
.luxe-checkout__summary {
	background: var(--c-bg-alt);
	border-top: 1px solid var(--c-line);
	padding: 0;
}
@media (min-width: 992px) {
	.luxe-checkout__summary {
		border-top: 0;
		padding: 48px 60px 80px;
		position: sticky;
		top: 0;
		align-self: start;
		max-height: 100vh;
		overflow-y: auto;
	}
}

.luxe-summary { width: 100%; }
.luxe-summary__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px var(--gutter);
	cursor: pointer;
	font-family: var(--ff-primary);
	color: var(--c-ink);
	list-style: none;
}
.luxe-summary__bar::-webkit-details-marker { display: none; }
.luxe-summary__bar > span { display: inline-flex; align-items: center; gap: 8px; }
.luxe-summary__chevron { transition: transform .2s; font-size: 10px; }
.luxe-summary[open] .luxe-summary__chevron { transform: rotate(180deg); }
.luxe-summary__total {
	font-family: var(--ff-primary);
	font-weight: 400;
	font-size: 18px;
	color: var(--c-ink);
}

@media (min-width: 992px) {
	.luxe-summary--mobile .luxe-summary__bar { display: none; }
	.luxe-summary--mobile[open] { display: block; }
	.luxe-summary--mobile { display: block; }
}

.luxe-summary__body {
	padding: 18px var(--gutter) 24px;
}
@media (min-width: 992px) {
	.luxe-summary__body { padding: 0; }
}

.luxe-summary__items {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.luxe-summary__item {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 14px;
	align-items: center;
}
.luxe-summary__thumb {
	position: relative;
	width: 64px;
	height: 64px;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
}
.luxe-summary__thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	padding: 6%;
	display: block;
}
.luxe-summary__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 22px;
	height: 22px;
	background: var(--c-ink-soft);
	color: var(--c-bg);
	border-radius: 50%;
	font-family: var(--ff-tertiary);
	font-size: 11px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
}
.luxe-summary__name {
	font-family: var(--ff-primary);
	font-size: 15px;
	color: var(--c-ink);
	font-weight: 300;
	line-height: 1.3;
}
.luxe-summary__line {
	font-family: var(--ff-primary);
	font-size: 14px;
	color: var(--c-ink);
	white-space: nowrap;
}

/* Coupon inline */
.luxe-summary__coupon {
	display: flex;
	gap: 8px;
	padding: 16px 0;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: 14px;
}
.luxe-summary__coupon input {
	flex: 1;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	padding: 11px 12px;
	font-family: var(--ff-primary);
	font-size: 14px;
	color: var(--c-ink);
}
.luxe-summary__coupon button {
	font-family: var(--ff-tertiary);
	font-size: 11px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink);
	background: transparent;
	border: 1px solid var(--c-line);
	padding: 11px 18px;
	cursor: pointer;
	transition: background-color .2s var(--ease), color .2s var(--ease);
}
.luxe-summary__coupon button:hover { background: var(--c-ink); color: var(--c-bg); }

/* Totals stack */
.luxe-summary__totals { display: flex; flex-direction: column; gap: 10px; }
.luxe-summary__row {
	display: flex;
	justify-content: space-between;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 14px;
	color: var(--c-ink);
}
.luxe-summary__row em { font-style: italic; color: var(--c-ink-soft); font-size: 13px; }
.luxe-summary__row--total {
	margin-top: 12px;
	padding-top: 16px;
	border-top: 1px solid var(--c-line);
	font-size: 18px;
}
.luxe-summary__row--total strong {
	font-family: var(--ff-primary);
	font-weight: 400;
	font-size: 20px;
	color: var(--c-ink);
}

/* =============================================================================
   CHECKOUT POLISH v2.7.1 — shipping radios + payment section cleanup
   ========================================================================== */

/* ============= Shipping options (custom radios) ============= */
.luxe-shipping-options {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.luxe-shipping-options__item {
	border: 1px solid var(--c-line);
	background: var(--c-bg-alt);
	transition: border-color .2s var(--ease), background-color .2s var(--ease);
}
.luxe-shipping-options__item label {
	display: grid;
	grid-template-columns: 22px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 16px 18px;
	cursor: pointer;
	width: 100%;
	margin: 0;
}
.luxe-shipping-options__item input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--c-ink);
	cursor: pointer;
}
.luxe-shipping-options__item.is-selected,
.luxe-shipping-options__item:has(input:checked) {
	border-color: var(--c-ink);
	background: var(--c-bg);
}
.luxe-shipping-options__label {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	color: var(--c-ink);
}
.luxe-shipping-options__cost {
	font-family: var(--ff-primary);
	font-weight: 400;
	font-size: 14px;
	color: var(--c-ink);
}

/* ============= Payment section overhaul ============= */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none;
}

/* Each payment method = card-like row */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:last-child { border-bottom: 0 !important; }

/* Method label = row of [radio] [name] [icons] */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	margin: 18px 14px 18px 18px !important;
	accent-color: var(--c-ink);
	width: 18px;
	height: 18px;
	vertical-align: middle;
	float: none !important;
	position: relative;
	top: 2px;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	padding: 18px 18px 18px 0 !important;
	margin: 0 !important;
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 16px;
	color: var(--c-ink);
	cursor: pointer;
	width: calc(100% - 60px);
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label img {
	max-height: 22px;
	width: auto;
	display: inline-block;
}

/* Selected state */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
	background: var(--c-bg) !important;
}

/* The expandable payment_box (Stripe card fields, etc.) */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box {
	background: var(--c-bg) !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	margin: 0 !important;
	padding: 20px 22px !important;
	color: var(--c-ink-soft);
	font-family: var(--ff-primary);
	font-size: 14px;
	line-height: 1.6;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box::before { display: none !important; }
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box p { margin: 0 0 12px; }
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box p:last-child { margin-bottom: 0; }

/* Stripe field containers inside payment_box */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box .wc-stripe-elements-field,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box .form-row {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	margin: 8px 0 12px !important;
	box-shadow: none !important;
	color: var(--c-ink);
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box label {
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	color: var(--c-ink-soft) !important;
	font-weight: 400 !important;
	margin: 8px 0 4px !important;
	display: block !important;
}

/* Privacy text under payment */
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-privacy-policy-text {
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
	line-height: 1.6;
	margin: 18px 0 14px;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-privacy-policy-text a {
	color: var(--c-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* form-row.place-order : remove default padding, fully blend */
body.luxe-child.woocommerce-checkout .luxe-checkout .form-row.place-order,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .form-row.place-order {
	background: transparent !important;
	border: 0 !important;
	padding: 20px 22px 22px !important;
	margin: 0 !important;
	border-top: 1px solid var(--c-line) !important;
}

/* =============================================================================
   CHECKOUT POLISH v2.7.2 — payment section big & clear
   ========================================================================== */

/* Payment section : bigger title, more breathing */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

/* The radio row : big visible card */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:last-child { border-bottom: 0 !important; }

/* Hide default WC list marker dots */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method::before { display: none !important; }

/* Radio bigger, custom-styled */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	accent-color: var(--c-ink);
	cursor: pointer;
}

/* Label = full row with left padding for radio */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 22px 22px 22px 58px !important;
	margin: 0 !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 17px !important;
	color: var(--c-ink) !important;
	cursor: pointer;
	width: 100%;
	flex: 1 1 100%;
}

/* Show payment method icons (Visa/Mastercard) inside the label */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label img,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label > * img {
	max-height: 24px;
	width: auto;
	margin: 0 0 0 4px;
	vertical-align: middle;
	opacity: .85;
}

/* Highlight selected state */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
	background: var(--c-bg) !important;
	box-shadow: inset 3px 0 0 var(--c-ink);
}

/* The expanded payment_box (Stripe Element iframe) */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box {
	background: var(--c-bg) !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	margin: 0 !important;
	padding: 24px 26px 26px !important;
	color: var(--c-ink-soft);
	font-family: var(--ff-primary);
	font-size: 14px;
	line-height: 1.6;
	flex: 1 1 100%;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box::before { display: none !important; }

/* Hide the "Use a new payment method" wrapper that just adds noise when no saved card */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods:not(:has(li:nth-child(2))) {
	display: none !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods-new {
	display: none;
}

/* The "Save payment for future" checkbox — discreet */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--c-line);
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input { accent-color: var(--c-ink); margin-right: 8px; }
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label {
	font-family: var(--ff-primary) !important;
	font-size: 13px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--c-ink-soft) !important;
	font-weight: 300 !important;
}

/* Stripe UPE element container — give it nice padding */
body.luxe-child.woocommerce-checkout .luxe-checkout .wc-stripe-upe-element {
	padding: 0 !important;
	background: transparent !important;
	margin: 0 0 12px;
}

/* Place order button : bigger, more prominent */
body.luxe-child.woocommerce-checkout .luxe-checkout #place_order {
	min-height: 58px !important;
	font-size: 13px !important;
	letter-spacing: .25em !important;
	padding: 20px 22px !important;
}

/* Section head : larger title for "Payment" */
body.luxe-child.woocommerce-checkout .luxe-checkout__section-head h2 {
	font-size: 22px !important;
}

/* On mobile : tighter padding, larger touch */
@media (max-width: 767px) {
	body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label {
		padding: 20px 18px 20px 52px !important;
		font-size: 16px !important;
	}
	body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] { left: 18px; }
	body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box { padding: 18px 18px 20px !important; }
}

/* =============================================================================
   CHECKOUT v2.7.3 — Payment section : fond plein UNIFORME partout
   ========================================================================== */

/* Outer container : un seul beige ivoire pour TOUT */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment,
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-checkout-payment {
	background: var(--c-bg-alt) !important;
	border: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

/* Tous les enfants transparents pour hériter du beige unique */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .wc-stripe-upe-element,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment fieldset,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .wc-payment-form,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-SavedPaymentMethods li {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
}

/* La separation entre méthodes : ligne fine */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method {
	border-bottom: 1px solid var(--c-line) !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap;
	position: relative;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
	border-bottom: 0 !important;
}

/* Plus de barre noire à gauche */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method:has(> input[type="radio"]:checked) {
	background: var(--c-bg) !important;
	box-shadow: none !important;
}

/* Radio + label tjrs lisibles */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	left: 22px;
	top: 28px;
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	accent-color: var(--c-ink) !important;
	cursor: pointer;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment ul.payment_methods li.wc_payment_method > label {
	padding: 22px 22px 22px 58px !important;
	margin: 0 !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 17px !important;
	color: var(--c-ink) !important;
	width: 100%;
	flex: 1 1 100%;
	cursor: pointer;
}

/* Payment box : zone d'élément Stripe */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box {
	border-top: 1px solid var(--c-line) !important;
	padding: 20px 22px 22px !important;
	color: var(--c-ink-soft);
	font-family: var(--ff-primary);
	font-size: 14px;
	flex: 1 1 100%;
}
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .payment_box::before { display: none !important; }

/* L'iframe Stripe : on force la couleur du conteneur, l'iframe interne héritera de notre appearance config */
body.luxe-child.woocommerce-checkout .luxe-checkout .wc-stripe-upe-element {
	background: var(--c-bg-alt) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .wc-stripe-upe-element iframe {
	background: transparent !important;
}

/* Hide "Use a new payment method" wrapper if no saved card */
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-SavedPaymentMethods-new { display: none !important; }
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-SavedPaymentMethods { padding: 0 !important; margin: 0 !important; }

/* Save payment for future : discreet */
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-SavedPaymentMethods-saveNew {
	margin: 14px 0 0 !important;
	padding: 12px 0 0 !important;
	border-top: 1px solid var(--c-line) !important;
	display: flex;
	align-items: center;
	gap: 8px;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-SavedPaymentMethods-saveNew input {
	accent-color: var(--c-ink) !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
}
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-SavedPaymentMethods-saveNew label {
	font-family: var(--ff-primary) !important;
	font-size: 13px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--c-ink-soft) !important;
	font-weight: 300 !important;
	margin: 0 !important;
}

/* form-row.place-order : transparent et sans border ajouté */
body.luxe-child.woocommerce-checkout .luxe-checkout .form-row.place-order,
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .form-row.place-order {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--c-line) !important;
	padding: 18px 22px 22px !important;
	margin: 0 !important;
}

/* Privacy text dans le payment_box */
body.luxe-child.woocommerce-checkout .luxe-checkout #payment .woocommerce-privacy-policy-text,
body.luxe-child.woocommerce-checkout .luxe-checkout .woocommerce-privacy-policy-text {
	background: transparent !important;
	border: 0 !important;
	padding: 0 22px !important;
	margin: 14px 0 !important;
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
	line-height: 1.6;
}

/* =============================================================================
   COUPONS — disabled globally; CSS belt-and-suspenders to hide any residue
   ========================================================================== */
body.luxe-child .checkout_coupon,
body.luxe-child .woocommerce-form-coupon,
body.luxe-child .woocommerce-form-coupon-toggle,
body.luxe-child .coupon,
body.luxe-child td.actions .coupon,
body.luxe-child .cart_totals .cart-discount,
body.luxe-child .luxe-summary__coupon,
body.luxe-child .showcoupon,
body.luxe-child a.showcoupon,
body.luxe-child .woocommerce-form-coupon-toggle .woocommerce-info { display: none !important; }

/* =============================================================================
   NO-ACCOUNT MODE v2.7.5 — hide login/account UI everywhere
   ========================================================================== */

/* Login reminder bar on checkout (if it ever renders) */
body.luxe-child.woocommerce-checkout .woocommerce-form-login-toggle,
body.luxe-child.woocommerce-checkout .woocommerce-form-login,
body.luxe-child .woocommerce-info[data-action="login"] { display: none !important; }

/* "Save payment to my account for future purchases" checkbox in Stripe */
body.luxe-child.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew,
body.luxe-child.woocommerce-checkout .save-payment-method-checkbox,
body.luxe-child.woocommerce-checkout .form-row.woocommerce-SavedPaymentMethods-saveNew { display: none !important; }

/* "Create an account?" checkbox if it ever appears */
body.luxe-child.woocommerce-checkout .create-account,
body.luxe-child.woocommerce-checkout .woocommerce-account-fields { display: none !important; }

/* My account links anywhere on the site */
body.luxe-child a[href*="my-account"]:not(.bk-keep-account),
body.luxe-child a[href*="myaccount"]:not(.bk-keep-account) { display: none !important; }

/* =============================================================================
   CART v2.7.6 — compact pass : éléments plus serrés, moins lourd visuellement
   ========================================================================== */

/* Container : padding réduit */
body.luxe-child.woocommerce-cart .woocommerce {
	max-width: 980px;
	padding: 30px 18px 60px;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .woocommerce { padding: 18px 14px 50px; }
}

/* Rows : compact */
body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
	grid-template-columns: 80px 1fr auto !important;
	gap: 2px 18px !important;
	padding: 18px 0 !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody > tr.cart_item {
		grid-template-columns: 70px 1fr !important;
		gap: 2px 14px !important;
		padding: 14px 0 !important;
	}
}

/* Thumbnails : smaller */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img {
	width: 80px !important;
	height: 100px !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-thumbnail img {
		width: 70px !important;
		height: 88px !important;
	}
}

/* Product name : smaller */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a {
	font-size: 15px !important;
	line-height: 1.3 !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-name a {
		font-size: 14px !important;
	}
}

/* Unit price : smaller */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-price {
	font-size: 12px !important;
	margin-top: 1px !important;
}

/* Quantity input : smaller */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity {
	margin-top: 6px !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-quantity input.qty {
	width: 48px !important;
	padding: 6px 4px !important;
	font-size: 13px !important;
}

/* Subtotal : smaller */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
	font-size: 15px !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-subtotal {
		font-size: 13px !important;
		margin-top: 4px !important;
	}
}

/* Remove (×) : smaller, position adjusted */
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove {
	top: 12px !important;
}
body.luxe-child.woocommerce-cart .shop_table.cart tbody td.product-remove a.remove {
	font-size: 16px !important;
	width: 24px !important;
	height: 24px !important;
	line-height: 24px !important;
}

/* Cart totals : tighter padding + smaller fonts */
body.luxe-child.woocommerce-cart .cart_totals {
	padding: 24px 22px !important;
	max-width: 380px !important;
	margin-top: 36px !important;
}
@media (max-width: 767px) {
	body.luxe-child.woocommerce-cart .cart_totals { padding: 20px 18px !important; max-width: none !important; }
}

body.luxe-child.woocommerce-cart .cart_totals h2 {
	font-size: 20px !important;
	margin-bottom: 16px !important;
}

body.luxe-child.woocommerce-cart .cart_totals table.shop_table th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table td {
	padding: 9px 0 !important;
	font-size: 13px !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table th {
	font-size: 10px !important;
}
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.luxe-child.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	font-size: 15px !important;
	padding-top: 14px !important;
}

/* Checkout button : compact */
body.luxe-child.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	margin-top: 18px !important;
}
body.luxe-child.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
	padding: 14px 20px !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
}

/* Update basket action row : smaller */
body.luxe-child.woocommerce-cart .woocommerce-cart-form .actions {
	margin: 0 0 28px !important;
}
body.luxe-child.woocommerce-cart .actions > button[name="update_cart"] {
	font-size: 10px !important;
	padding: 4px 0 !important;
}

/* Cart shop_table : less margin */
body.luxe-child.woocommerce-cart .shop_table.cart {
	margin: 0 0 18px !important;
}

/* =============================================================================
   PROMO BANNER v2.7.14 — hero promotionnel sous le header
   ========================================================================== */
.luxe-promo {
	position: relative;
	width: 100%;
	min-height: 55vh;
	min-height: 55svh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--c-bg);
}
@media (max-width: 767px) {
	.luxe-promo { min-height: 60vh; min-height: 60svh; }
}

.luxe-promo__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

/* Dark overlay for text readability */
.luxe-promo__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(28,25,22,0.15) 0%, rgba(28,25,22,0.45) 100%);
	z-index: 1;
}

.luxe-promo__content {
	position: relative;
	z-index: 2;
	max-width: 720px;
	padding: 60px var(--gutter);
	text-align: center;
}
@media (max-width: 767px) { .luxe-promo__content { padding: 40px var(--gutter); } }

.luxe-promo .luxe-eyebrow {
	color: rgba(255,255,255,.9) !important;
	margin-bottom: 18px;
}

.luxe-promo__title {
	font-family: var(--ff-primary) !important;
	font-weight: 200 !important;
	font-size: clamp(40px, 6vw, 78px) !important;
	line-height: 1.05 !important;
	letter-spacing: -.015em !important;
	color: var(--c-bg) !important;
	margin: 0 0 18px !important;
}

.luxe-promo__sub {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: clamp(15px, 1.7vw, 19px);
	color: rgba(255,255,255,.92);
	margin: 0 0 32px;
	line-height: 1.5;
}

.luxe-promo .luxe-btn--ghost {
	background: transparent;
	color: var(--c-bg) !important;
	border: 1px solid var(--c-bg) !important;
	padding: 16px 36px;
	min-height: 50px;
}
.luxe-promo .luxe-btn--ghost:hover {
	background: var(--c-bg) !important;
	color: var(--c-ink) !important;
}

/* =============================================================================
   CART DRAWER v2.8.1 — slide-in à droite, pattern Shopify
   ========================================================================== */
.luxe-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 440px;
	background: var(--c-bg);
	z-index: 250;
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(.2,.6,.2,1);
	display: flex;
	flex-direction: column;
	box-shadow: -8px 0 32px rgba(0,0,0,.06);
}
.luxe-cart-drawer.is-open { transform: translateX(0); }

.luxe-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 26px;
	border-bottom: 1px solid var(--c-line);
}
.luxe-cart-drawer__title {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 22px;
	letter-spacing: 0;
	margin: 0;
	color: var(--c-ink);
}
.luxe-cart-drawer__close {
	background: none;
	border: 0;
	padding: 6px;
	cursor: pointer;
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.luxe-cart-drawer__close:hover { color: var(--c-ink-soft); }

.luxe-cart-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 18px 26px 24px;
}
@media (max-width: 480px) {
	.luxe-cart-drawer__head { padding: 18px 20px; }
	.luxe-cart-drawer__body { padding: 14px 20px 20px; }
}

/* WC's woocommerce_mini_cart() outputs : ul.cart_list, p.woocommerce-mini-cart__total, p.woocommerce-mini-cart__buttons */
.luxe-cart-drawer__body ul.cart_list,
.luxe-cart-drawer__body ul.product_list_widget {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.luxe-cart-drawer__body ul.cart_list li,
.luxe-cart-drawer__body ul.product_list_widget li.mini_cart_item {
	display: grid;
	grid-template-columns: 70px 1fr auto;
	gap: 14px;
	align-items: start;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--c-line);
	position: relative;
}
.luxe-cart-drawer__body ul.cart_list li:last-child,
.luxe-cart-drawer__body ul.product_list_widget li:last-child {
	border-bottom: 0;
}

/* Thumbnail */
.luxe-cart-drawer__body ul.cart_list li a img,
.luxe-cart-drawer__body ul.product_list_widget li img {
	width: 70px !important;
	height: 88px !important;
	object-fit: contain !important;
	background: var(--c-bg-alt) !important;
	padding: 4% !important;
	margin: 0 !important;
	float: none !important;
	display: block;
	grid-column: 1;
	grid-row: 1 / span 3;
	border: 0 !important;
}

/* Product link (title) */
.luxe-cart-drawer__body ul.cart_list li a:not(.remove),
.luxe-cart-drawer__body ul.product_list_widget li a:not(.remove) {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 14px;
	color: var(--c-ink);
	text-decoration: none;
	line-height: 1.3;
	display: block;
	grid-column: 2;
	grid-row: 1;
	padding-right: 28px;
}
.luxe-cart-drawer__body ul.cart_list li a:not(.remove):hover { color: var(--c-ink-soft); }

/* Variation lines (e.g. attributes) */
.luxe-cart-drawer__body .variation,
.luxe-cart-drawer__body dl.variation {
	font-family: var(--ff-primary);
	font-style: italic;
	font-size: 12px;
	color: var(--c-ink-soft);
	margin: 4px 0 0;
	padding: 0;
	grid-column: 2;
	grid-row: 2;
}

/* Quantity × price text (WC default : "1 × £195.00") */
.luxe-cart-drawer__body ul.cart_list li .quantity,
.luxe-cart-drawer__body ul.product_list_widget li .quantity {
	font-family: var(--ff-primary);
	font-size: 13px;
	color: var(--c-ink-soft);
	display: block;
	grid-column: 2;
	grid-row: 3;
	margin-top: 4px;
}
.luxe-cart-drawer__body ul.cart_list li .quantity .amount,
.luxe-cart-drawer__body ul.product_list_widget li .quantity .amount {
	color: var(--c-ink);
	font-weight: 400;
}

/* Remove (×) button : top-right */
.luxe-cart-drawer__body ul.cart_list li a.remove,
.luxe-cart-drawer__body ul.product_list_widget li a.remove {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	color: var(--c-ink-soft) !important;
	font-size: 18px !important;
	width: 24px !important;
	height: 24px !important;
	text-align: center !important;
	line-height: 24px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-decoration: none !important;
}
.luxe-cart-drawer__body ul.cart_list li a.remove:hover {
	color: var(--c-ink) !important;
	background: transparent !important;
}

/* Subtotal block */
.luxe-cart-drawer__body p.woocommerce-mini-cart__total,
.luxe-cart-drawer__body p.total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 18px;
	padding: 14px 0;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 16px;
	color: var(--c-ink);
}
.luxe-cart-drawer__body p.woocommerce-mini-cart__total strong,
.luxe-cart-drawer__body p.total strong {
	font-weight: 300;
	font-size: 13px;
	letter-spacing: var(--ts-label-tracking);
	text-transform: uppercase;
	color: var(--c-ink-soft);
}
.luxe-cart-drawer__body p.woocommerce-mini-cart__total .amount,
.luxe-cart-drawer__body p.total .amount {
	font-weight: 400;
	font-size: 18px;
	color: var(--c-ink);
}

/* Action buttons (View cart, Checkout) */
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons,
.luxe-cart-drawer__body p.buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons a,
.luxe-cart-drawer__body p.buttons a.button {
	display: block;
	width: 100%;
	font-family: var(--ff-tertiary) !important;
	font-size: 11px !important;
	letter-spacing: var(--ts-label-tracking) !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	padding: 16px 22px !important;
	min-height: 50px;
	text-align: center;
	border-radius: 0 !important;
	margin: 0 !important;
	float: none !important;
	transition: background-color .2s var(--ease), color .2s var(--ease);
}
/* Checkout = primary black */
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons a.checkout,
.luxe-cart-drawer__body p.buttons a.checkout {
	background: var(--c-ink) !important;
	color: var(--c-bg) !important;
	border: 1px solid var(--c-ink) !important;
}
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons a.checkout:hover,
.luxe-cart-drawer__body p.buttons a.checkout:hover {
	background: transparent !important;
	color: var(--c-ink) !important;
}
/* View cart = secondary outline */
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons a:not(.checkout),
.luxe-cart-drawer__body p.buttons a.button:not(.checkout) {
	background: transparent !important;
	color: var(--c-ink) !important;
	border: 1px solid var(--c-line) !important;
}
.luxe-cart-drawer__body p.woocommerce-mini-cart__buttons a:not(.checkout):hover {
	border-color: var(--c-ink) !important;
}

/* Empty cart state */
.luxe-cart-drawer__body p.woocommerce-mini-cart__empty-message {
	font-family: var(--ff-primary);
	font-weight: 300;
	font-size: 15px;
	color: var(--c-ink-soft);
	text-align: center;
	padding: 60px 0;
	margin: 0;
}

/* Overlay */
.luxe-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgba(28, 25, 22, .35);
	z-index: 200;
	opacity: 0;
	transition: opacity .3s var(--ease);
	cursor: pointer;
}
.luxe-cart-overlay.is-open { opacity: 1; }

/* Body lock when drawer open */
body.luxe-cart-open {
	position: fixed;
	width: 100%;
	overflow: hidden;
}

/* Loading state on the single_add_to_cart_button */
body.luxe-child.single-product div.product form.cart .single_add_to_cart_button.loading {
	opacity: 0.6;
	pointer-events: none;
	cursor: progress;
}
body.luxe-child.single-product div.product form.cart .single_add_to_cart_button.added::after {
	content: ' ✓';
}

/* =============================================================================
   CART DRAWER v2.8.8 — FLEX layout (padding % en abs était capricieux).
   WC HTML : <li> > <a.remove> + <a.product-link>[<img> + texte titre] + <span.quantity>
   On rend le <li> en grid simple : col1 = thumb absolute, col2 = contenu.
   ========================================================================== */

.luxe-cart-drawer__body ul.cart_list,
.luxe-cart-drawer__body ul.product_list_widget {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	display: block !important;
}

.luxe-cart-drawer__body ul.cart_list li,
.luxe-cart-drawer__body ul.product_list_widget li.mini_cart_item {
	display: block !important;
	position: relative !important;
	padding: 0 36px 20px 102px !important;
	margin: 0 0 20px !important;
	min-height: 120px !important;
	border-bottom: 1px solid var(--c-line) !important;
	gap: 0 !important;
	box-sizing: border-box !important;
	background-image: linear-gradient(var(--c-bg-alt), var(--c-bg-alt)) !important;
	background-repeat: no-repeat !important;
	background-position: 0 0 !important;
	background-size: 90px 110px !important;
}
.luxe-cart-drawer__body ul.cart_list li:last-child,
.luxe-cart-drawer__body ul.product_list_widget li:last-child {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Thumbnail : absolute à gauche, fond ivory porté par le <li> via background-image
   (plus prévisible que `background` sur l'<img> avec padding %) */
.luxe-cart-drawer__body ul.cart_list li a img,
.luxe-cart-drawer__body ul.product_list_widget li img {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 90px !important;
	height: 110px !important;
	object-fit: contain !important;
	padding: 6px !important;
	margin: 0 !important;
	float: none !important;
	display: block !important;
	border: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
	grid-column: auto !important;
	grid-row: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Le lien produit (contient l'image + le titre) : block, pas de grid */
.luxe-cart-drawer__body ul.cart_list li > a:not(.remove),
.luxe-cart-drawer__body ul.product_list_widget li > a:not(.remove) {
	display: block !important;
	font-family: var(--ff-primary) !important;
	font-weight: 300 !important;
	font-size: 15px !important;
	color: var(--c-ink) !important;
	text-decoration: none !important;
	line-height: 1.35 !important;
	padding: 0 !important;
	margin: 0 !important;
	grid-column: auto !important;
	grid-row: auto !important;
	min-height: 22px;
}
.luxe-cart-drawer__body ul.cart_list li > a:not(.remove):hover {
	color: var(--c-ink-soft) !important;
}

/* Variation (attributes) line */
.luxe-cart-drawer__body .variation,
.luxe-cart-drawer__body dl.variation {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-family: var(--ff-primary) !important;
	font-style: italic !important;
	font-size: 12px !important;
	color: var(--c-ink-soft) !important;
	grid-column: auto !important;
	grid-row: auto !important;
}

/* Quantity × price */
.luxe-cart-drawer__body ul.cart_list li .quantity,
.luxe-cart-drawer__body ul.product_list_widget li .quantity {
	display: block !important;
	margin-top: 10px !important;
	font-family: var(--ff-primary) !important;
	font-size: 13px !important;
	color: var(--c-ink-soft) !important;
	grid-column: auto !important;
	grid-row: auto !important;
}
.luxe-cart-drawer__body ul.cart_list li .quantity .amount {
	color: var(--c-ink) !important;
	font-weight: 400 !important;
}

/* Remove × : top-right absolu */
.luxe-cart-drawer__body ul.cart_list li a.remove,
.luxe-cart-drawer__body ul.product_list_widget li a.remove {
	position: absolute !important;
	top: 4px !important;
	right: 0 !important;
	font-size: 18px !important;
	width: 24px !important;
	height: 24px !important;
	line-height: 24px !important;
	text-align: center !important;
	color: var(--c-ink-soft) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	font-weight: 300 !important;
}
.luxe-cart-drawer__body ul.cart_list li a.remove:hover {
	color: var(--c-ink) !important;
	background: transparent !important;
}

/* Mobile : un poil plus serré */
@media (max-width: 480px) {
	.luxe-cart-drawer__body ul.cart_list li,
	.luxe-cart-drawer__body ul.product_list_widget li.mini_cart_item {
		padding-left: 92px !important;
		min-height: 110px !important;
		background-size: 80px 100px !important;
	}
	.luxe-cart-drawer__body ul.cart_list li a img,
	.luxe-cart-drawer__body ul.product_list_widget li img {
		width: 80px !important;
		height: 100px !important;
	}
	.luxe-cart-drawer__body ul.cart_list li > a:not(.remove) {
		font-size: 14px !important;
	}
}

/* =============================================================================
   HERO SLIDER v2.9.1 — Bannière home page : 2 slides bestsellers -50%
   ========================================================================== */
.luxe-hero-slider {
	position: relative;
	width: 100%;
	height: clamp(540px, 80vh, 820px);
	overflow: hidden;
	background: var(--c-bg-alt);
}
.luxe-hero-slider__viewport {
	position: absolute;
	inset: 0;
}
.luxe-hero-slider__track {
	position: relative;
	width: 100%;
	height: 100%;
}
.luxe-hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .8s cubic-bezier(.4,0,.2,1);
	pointer-events: none;
}
.luxe-hero-slider__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}
.luxe-hero-slider__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
}
.luxe-hero-slider__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.18) 60%, rgba(0,0,0,.42) 100%);
}
.luxe-hero-slider__content {
	position: absolute;
	left: 6%;
	right: 6%;
	bottom: 10%;
	max-width: 520px;
	color: #fff;
	z-index: 1;
}
/* Badge -50% : Sackers tracking, sobre, pas un sticker rouge agressif */
.luxe-hero-slider__badge {
	display: inline-block;
	background: #fff;
	color: #1c1916;
	font-family: 'Sackers', var(--ff-tertiary, sans-serif);
	font-size: 11px;
	letter-spacing: .22em;
	font-weight: 400;
	padding: 9px 16px 8px;
	margin-bottom: 22px;
	line-height: 1;
	text-transform: uppercase;
}
/* Eyebrow "Spring sale" — Sackers gros tracking comme sur Polène */
.luxe-hero-slider__eyebrow {
	color: #fff !important;
	display: block;
	margin: 0 0 14px !important;
	font-family: 'Sackers', var(--ff-tertiary, sans-serif) !important;
	font-size: 11px !important;
	letter-spacing: .28em !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	opacity: .9;
}
/* Titre principal — Canela Thin (200), énorme, line-height tight, letter-spacing négatif (style Polène) */
.luxe-hero-slider__title {
	font-family: 'Canela', var(--ff-primary, serif);
	font-weight: 200;
	font-size: clamp(42px, 6.5vw, 88px);
	line-height: .95;
	margin: 0 0 18px;
	color: #fff;
	letter-spacing: -.02em;
}
/* Subtitle — Cormorant Garamond Light, italique optionnel */
.luxe-hero-slider__sub {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(16px, 1.5vw, 19px);
	font-weight: 300;
	color: rgba(255,255,255,.94);
	margin: 0 0 22px;
	line-height: 1.4;
	font-style: italic;
}
.luxe-hero-slider__price {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 28px;
	font-family: 'Canela', var(--ff-primary, serif);
	font-weight: 300;
}
.luxe-hero-slider__price-old {
	color: rgba(255,255,255,.62);
	text-decoration: line-through;
	font-size: 18px;
	font-weight: 200;
}
.luxe-hero-slider__price-old .woocommerce-Price-amount { color: inherit !important; font-weight: inherit !important; }
.luxe-hero-slider__price-new {
	color: #fff;
	font-size: 24px;
	font-weight: 300;
}
.luxe-hero-slider__price-new .woocommerce-Price-amount { color: inherit !important; font-weight: inherit !important; }
/* CTA Buy Now : Sackers tracking comme tous les boutons Polène */
.luxe-hero-slider__cta {
	background: #fff !important;
	color: #1c1916 !important;
	border: 1px solid #fff !important;
	padding: 17px 34px !important;
	font-size: 11px !important;
	font-family: 'Sackers', var(--ff-tertiary, sans-serif) !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
	border-radius: 0 !important;
	transition: background-color .2s ease, color .2s ease;
}
.luxe-hero-slider__cta:hover {
	background: transparent !important;
	color: #fff !important;
}

/* Arrows — toujours visibles, contrastés sur fond image */
.luxe-hero-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,.92) !important;
	border: 0 !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 50% !important;
	cursor: pointer;
	color: #1c1916 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	z-index: 3;
	transition: background-color .2s ease, transform .2s ease;
	opacity: 1 !important;
	box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.luxe-hero-slider__arrow svg {
	width: 22px !important;
	height: 22px !important;
	stroke: #1c1916 !important;
	color: #1c1916 !important;
	display: block !important;
	pointer-events: none;
}
.luxe-hero-slider__arrow:hover {
	background: #fff !important;
	transform: translateY(-50%) scale(1.08);
}
.luxe-hero-slider__arrow--prev { left: 18px; }
.luxe-hero-slider__arrow--next { right: 18px; }

/* Dots */
.luxe-hero-slider__dots {
	position: absolute;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 3;
}
.luxe-hero-slider__dot {
	width: 32px;
	height: 3px;
	border: 0;
	background: rgba(255,255,255,.45);
	cursor: pointer;
	padding: 0;
	border-radius: 0;
	transition: background-color .2s ease, width .3s ease;
}
.luxe-hero-slider__dot.is-active {
	background: #fff;
	width: 48px;
}

/* Mobile tweaks */
@media (max-width: 720px) {
	.luxe-hero-slider {
		height: clamp(560px, 95vh, 780px);
	}
	.luxe-hero-slider__content {
		left: 24px;
		right: 24px;
		bottom: 72px;
	}
	.luxe-hero-slider__badge {
		font-size: 10px;
		letter-spacing: .2em;
		padding: 8px 14px 7px;
		margin-bottom: 18px;
	}
	.luxe-hero-slider__eyebrow {
		font-size: 10px !important;
		letter-spacing: .26em !important;
		margin-bottom: 10px !important;
	}
	.luxe-hero-slider__title {
		font-size: 42px;
		line-height: .98;
	}
	.luxe-hero-slider__sub {
		font-size: 15px;
	}
	.luxe-hero-slider__price-old { font-size: 16px; }
	.luxe-hero-slider__price-new { font-size: 20px; }
	.luxe-hero-slider__cta {
		padding: 14px 26px !important;
		font-size: 11px !important;
	}
	.luxe-hero-slider__arrow {
		width: 40px !important;
		height: 40px !important;
	}
	.luxe-hero-slider__arrow svg {
		width: 20px !important;
		height: 20px !important;
	}
	.luxe-hero-slider__arrow--prev { left: 12px; }
	.luxe-hero-slider__arrow--next { right: 12px; }
	.luxe-hero-slider__dots { bottom: 22px; }
}
