/* ═══════════════════════════════════════════
   WWB V2 — Custom CSS (BEM)
   Complète theme.json pour les composants
   qui ne peuvent pas être stylés via presets.
   ═══════════════════════════════════════════ */

/* ─── CSS Custom Properties (from theme.json custom) ─── */
:root {
	--wwb-radius-card: var(--wp--custom--radius--card, 20px);
	--wwb-radius-button: var(--wp--custom--radius--button, 12px);
	--wwb-radius-badge: var(--wp--custom--radius--badge, 6px);
	--wwb-radius-pill: var(--wp--custom--radius--pill, 100px);
	--wwb-gap-product: var(--wp--custom--gap--product-grid, 24px);
	--wwb-gap-testimonial: var(--wp--custom--gap--testimonial-grid, 28px);
}

/* ─── Logo ─── */
.wwb-logo {
	margin: 0 !important;
}

.wwb-logo img {
	height: 36px;
	width: auto;
}

/* ─── Hidden select (visible to WooCommerce JS, hidden to user) ─── */
table.variations td.value select.wwb-hidden-select,
select.wwb-hidden-select {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ─── Section Label (eyebrow) ─── */
.wwb-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--wp--preset--color--primary);
}

/* ─── Product Card ─── */
.wwb-product-card {
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wwb-radius-card);
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wwb-product-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.wwb-product-card__image {
	position: relative;
	height: 200px;
	background: var(--wp--preset--color--surface);
	overflow: hidden;
}

.wwb-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wwb-product-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 8px;
	border-radius: var(--wwb-radius-badge);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
}

.wwb-product-card__badge--featured { background: var(--wp--preset--color--primary); }
.wwb-product-card__badge--bestseller { background: #D97706; }
.wwb-product-card__badge--popular { background: var(--wp--preset--color--secondary); }
.wwb-product-card__badge--new { background: var(--wp--preset--color--primary-dark); }
.wwb-product-card__badge--sale { background: var(--wp--preset--color--success); }

.wwb-product-card__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.wwb-product-card__wishlist:hover {
	background: #fff;
}

.wwb-product-card__content {
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wwb-product-card__title {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	line-height: 1.4;
}

.wwb-product-card,
.wwb-product-card * {
	font-family: 'Inter', sans-serif;
}

.wwb-product-card__title:hover {
	color: var(--wp--preset--color--primary);
}

.wwb-product-card__rating {
	display: flex;
	align-items: center;
	gap: 6px;
}

.wwb-product-card__stars {
	color: #F59E0B;
	font-size: 13px;
	letter-spacing: 1px;
}

.wwb-product-card__rating-text {
	font-size: 12px;
	color: var(--wp--preset--color--muted);
}

.wwb-product-card__count {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
}

.wwb-product-card__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}

.wwb-product-card__price .woocommerce-Price-amount {
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--secondary);
}

/* Préfixe « À partir de » sur les prix d'appel des configurateurs */
.wwb-price-from {
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
}

.wwb-product-card__material {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	background: rgba(123, 116, 208, 0.08);
	padding: 2px 8px;
	border-radius: 4px;
	margin-bottom: 4px;
}

.wwb-product-card__negoce {
	font-size: 12px;
	color: var(--wp--preset--color--muted);
}

.wwb-product-card__negoce s {
	text-decoration: line-through;
}

.wwb-product-card__price-current {
	font-size: 18px;
	font-weight: 800;
	color: var(--wp--preset--color--secondary);
}

.wwb-product-card__price-unit {
	font-size: 12px;
	color: var(--wp--preset--color--muted);
}

.wwb-product-card__price-old {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
	text-decoration: line-through;
}

.wwb-product-card__discount {
	font-size: 11px;
	font-weight: 700;
	color: var(--wp--preset--color--success);
	background: #DCFCE7;
	padding: 2px 6px;
	border-radius: var(--wwb-radius-sm, 4px);
}

/* ─── Color Swatches (WooCommerce) ─── */
.wwb-color-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 8px 0;
}

.wwb-color-swatches__swatch {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--border);
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
	padding: 0;
}

.wwb-color-swatches__swatch:hover,
.wwb-color-swatches__swatch.selected {
	border-color: var(--wp--preset--color--primary-dark);
	box-shadow: 0 0 0 2px var(--wp--preset--color--primary);
}

/* ─── Attribute Swatches (dimensions, etc.) ─── */
.wwb-attribute-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 8px 0;
}

.wwb-attribute-swatches__swatch {
	padding: 8px 16px;
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: var(--wwb-radius-button);
	background: var(--wp--preset--color--background);
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--foreground);
	cursor: pointer;
	transition: all 0.2s;
}

.wwb-attribute-swatches__swatch:hover,
.wwb-attribute-swatches__swatch.selected {
	border-color: var(--wp--preset--color--primary);
	background: #FFF0F8;
	color: var(--wp--preset--color--primary-dark);
}

/* ─── Hotspots ─── */
.wwb-hotspots {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.wwb-hotspots__point {
	position: absolute;
	pointer-events: all;
	cursor: pointer;
	z-index: 11;
}

.wwb-hotspots__pulse {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 153, 218, 0.3);
	animation: wwb-pulse 2s infinite;
}

@keyframes wwb-pulse {
	0% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
	100% { transform: translate(-50%, -50%) scale(2); opacity: 0; }
}

.wwb-hotspots__dot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
	font-size: 14px;
	font-weight: 700;
	z-index: 2;
}

.wwb-hotspots__tooltip {
	display: none;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 12px;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wwb-radius-button);
	padding: 12px 16px;
	min-width: 180px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	font-size: 13px;
	line-height: 1.5;
	z-index: 20;
}

.wwb-hotspots__point.active .wwb-hotspots__tooltip,
.wwb-hotspots__point:hover .wwb-hotspots__tooltip {
	display: block;
}

.wwb-hotspots__tooltip strong {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--wp--preset--color--foreground);
}

.wwb-hotspots__tooltip p {
	margin: 0;
	color: var(--wp--preset--color--body);
}

/* ─── Header sticky ─── */
.wp-block-template-part[data-area="header"] {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--background);
}

/* ─── Footer links on dark bg ─── */
.has-footer-bg-background-color a,
.has-footer-bg-background-color .wp-block-list a,
.has-footer-bg-background-color p a {
	color: var(--wp--preset--color--muted) !important;
	text-decoration: none;
}

.has-footer-bg-background-color a:hover,
.has-footer-bg-background-color .wp-block-list a:hover,
.has-footer-bg-background-color p a:hover {
	color: var(--wp--preset--color--background) !important;
}

/* ─── WooCommerce Product Collection — fix broken images ─── */
.wc-block-product-template .wc-block-product-image {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wwb-radius-card) var(--wwb-radius-card) 0 0;
	overflow: hidden;
	aspect-ratio: 4/3;
}

.wc-block-product-template .wc-block-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ═══════════════════════════════════════════
   Auth — Login / Register (split layout)
   ═══════════════════════════════════════════ */

/* Remove WooCommerce container constraint on custom pages */
.woocommerce:has(.wwb-auth),
.woocommerce:has(.wwb-cart),
.woocommerce:has(.wwb-account) {
	max-width: none !important;
	width: 100% !important;
}

/* Full-width auth layout */
.wwb-auth {
	display: grid;
	grid-template-columns: 860px 1fr;
	min-height: calc(100vh - 110px);
	width: 100%;
}

/* ─── Visual Panel (left) ─── */
.wwb-auth__visual {
	position: relative;
	background: url('../images/auth-visual.jpg') center / cover no-repeat;
	background-color: var(--wp--preset--color--primary-dark);
	overflow: hidden;
}

.wwb-auth__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(124deg, rgba(36, 28, 52, 0.62) 0%, rgba(54, 44, 73, 0.35) 50%, rgba(36, 28, 52, 0.2) 100%);
	display: flex;
	align-items: flex-end;
	padding: 56px;
}

.wwb-auth__visual-content {
	max-width: 440px;
}

.wwb-auth__badge-quality {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 20px;
	background: rgba(255, 153, 218, 0.15);
	border: 1px solid rgba(255, 153, 218, 0.35);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.96px;
	text-transform: uppercase;
	color: #FFD6EE;
	margin-bottom: 20px;
}

.wwb-auth__badge-quality svg {
	flex-shrink: 0;
}

.wwb-auth__visual-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 38px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	margin: 0 0 18px;
}

.wwb-auth__visual-title em {
	color: var(--wp--preset--color--primary);
	font-style: italic;
}

.wwb-auth__visual-desc {
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72);
	margin: 0 0 32px;
}

.wwb-auth__stats {
	display: flex;
	gap: 36px;
	padding-top: 29px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.wwb-auth__stat {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.wwb-auth__stat-value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 26px;
	font-weight: 700;
	color: #fff;
}

.wwb-auth__stat-accent {
	color: var(--wp--preset--color--primary);
}

.wwb-auth__stat-label {
	font-size: 12px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.55);
}

/* ─── Form Panel (right) ─── */
.wwb-auth__form-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 40px;
	border-left: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--background);
}

.wwb-auth__form-wrapper {
	width: 100%;
	max-width: 420px;
}

/* Header */
.wwb-auth__header {
	text-align: center;
	margin-bottom: 32px;
}

.wwb-auth__logo {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 6px;
}

.wwb-auth__logo span {
	color: var(--wp--preset--color--primary);
}

.wwb-auth__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 8px;
}

.wwb-auth__subtitle {
	font-size: 14px;
	color: #71717A;
	margin: 0;
}

/* Tabs */
.wwb-auth__tabs {
	display: flex;
	gap: 2px;
	padding: 4px;
	background: #F7F7F8;
	border-radius: 12px;
	margin-bottom: 32px;
}

.wwb-auth__tab {
	flex: 1;
	padding: 10px 16px;
	border: none;
	border-radius: 9px;
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	color: #71717A;
	cursor: pointer;
	transition: all 0.2s;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-auth__tab--active {
	background: #fff;
	color: var(--wp--preset--color--foreground);
	box-shadow: 0 1px 6px rgba(36, 28, 52, 0.12), 0 0 0 rgba(36, 28, 52, 0.05);
}

/* Panes */
.wwb-auth__pane {
	display: none;
}

.wwb-auth__pane--active {
	display: block;
}

/* Form Fields */
.wwb-auth__field {
	margin-bottom: 18px;
}

.wwb-auth__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #3F3F46;
	margin-bottom: 7px;
}

.wwb-auth__label span {
	color: var(--wp--preset--color--primary);
}

.wwb-auth__input {
	width: 100%;
	padding: 14px 18px;
	border: 1.5px solid #D4D4D8;
	border-radius: 12px;
	font-size: 14.5px;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--foreground);
	background: #fff;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.wwb-auth__input::placeholder {
	color: #A1A1AA;
}

.wwb-auth__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 153, 218, 0.15);
}

.wwb-auth__input-group {
	position: relative;
}

.wwb-auth__input-group .wwb-auth__input {
	padding-right: 48px;
}

.wwb-auth__toggle-pw {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: #A1A1AA;
	padding: 2px;
	display: flex;
	align-items: center;
}

.wwb-auth__toggle-pw:hover {
	color: #71717A;
}

.wwb-auth__field-footer {
	display: flex;
	justify-content: flex-end;
	margin-top: 7px;
}

.wwb-auth__link-muted {
	font-size: 13px;
	font-weight: 500;
	color: #71717A;
	text-decoration: none;
}

.wwb-auth__link-muted:hover {
	color: var(--wp--preset--color--primary-dark);
}

/* Primary Button */
.wwb-auth__btn-primary {
	width: 100%;
	padding: 15px 24px;
	border: none;
	border-radius: 12px;
	background: var(--wp--preset--color--primary);
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background 0.2s, transform 0.1s;
	font-family: var(--wp--preset--font-family--body);
	letter-spacing: -0.15px;
}

.wwb-auth__btn-primary:hover {
	background: #FF80CE;
}

.wwb-auth__btn-primary:active {
	transform: scale(0.99);
}

/* Separator */
.wwb-auth__separator {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 22px 0;
}

.wwb-auth__separator::before,
.wwb-auth__separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #EBEBED;
}

.wwb-auth__separator span {
	font-size: 13px;
	font-weight: 500;
	color: #A1A1AA;
}

/* Social Button */
.wwb-auth__btn-social {
	width: 100%;
	padding: 13px 24px;
	border: 1.5px solid #D4D4D8;
	border-radius: 12px;
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	color: #3F3F46;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: border-color 0.2s, background 0.2s;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-auth__btn-social:hover:not(:disabled) {
	border-color: #A1A1AA;
	background: #FAFAFA;
}

.wwb-auth__btn-social:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Switch link */
.wwb-auth__switch {
	text-align: center;
	font-size: 13.5px;
	color: #71717A;
	margin: 22px 0 0;
}

.wwb-auth__link-strong {
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}

.wwb-auth__link-strong:hover {
	color: var(--wp--preset--color--primary);
}

/* Security badges */
.wwb-auth__security {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding-top: 22px;
	margin-top: 22px;
	border-top: 1px solid #EBEBED;
}

.wwb-auth__security-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11.5px;
	font-weight: 500;
	color: #A1A1AA;
}

.wwb-auth__security-item svg {
	flex-shrink: 0;
	stroke: #A1A1AA;
}

/* WooCommerce notices in auth */
.wwb-auth .woocommerce-error,
.wwb-auth .woocommerce-message,
.wwb-auth .woocommerce-info {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 13px;
	list-style: none;
}

.wwb-auth .woocommerce-error {
	background: #FEF2F2;
	border: 1px solid #FECACA;
	color: #991B1B;
}

.wwb-auth .woocommerce-message {
	background: #F0FDF4;
	border: 1px solid #BBF7D0;
	color: #166534;
}

/* ─── Responsive ─── */
@media (max-width: 1024px) {
	:root {
		--wp--preset--spacing--70: 40px;
	}

	/* Auth: stack on tablet */
	.wwb-auth {
		grid-template-columns: 1fr;
	}

	.wwb-auth__visual {
		min-height: 320px;
	}

	.wwb-auth__overlay {
		padding: 32px;
	}

	.wwb-auth__visual-title {
		font-size: 28px;
	}

	.wwb-auth__form-panel {
		border-left: none;
		border-top: 1px solid var(--wp--preset--color--border);
	}
}

@media (max-width: 768px) {
	:root {
		--wp--preset--spacing--70: 20px;
		--wp--preset--spacing--80: 60px;
	}

	/* Stack columns on mobile */
	.wp-block-columns {
		flex-direction: column !important;
	}

	/* Auth: compact mobile */
	.wwb-auth__visual {
		min-height: 240px;
	}

	.wwb-auth__overlay {
		padding: 24px;
	}

	.wwb-auth__visual-title {
		font-size: 24px;
	}

	.wwb-auth__stats {
		gap: 20px;
	}

	.wwb-auth__stat-value {
		font-size: 20px;
	}

	.wwb-auth__form-panel {
		padding: 32px 20px;
	}

	.wwb-auth__title {
		font-size: 24px;
	}

	.wwb-auth__security {
		flex-direction: column;
		gap: 8px;
	}
}

/* ═══════════════════════════════════════════
   Inscription Pro — Espace professionnel
   ═══════════════════════════════════════════ */

/* ─── Hero Banner ─── */
.wwb-pro-hero {
	background: var(--wp--preset--color--primary-dark);
	padding: 48px 60px 52px;
	text-align: center;
}

.wwb-pro-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border-radius: 20px;
	background: rgba(255, 153, 218, 0.15);
	border: 1px solid rgba(255, 153, 218, 0.35);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #FFD6EE;
	margin-bottom: 24px;
}

.wwb-pro-hero__badge svg {
	flex-shrink: 0;
	stroke: #FFD6EE;
}

.wwb-pro-hero__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	margin: 0 0 40px;
}

.wwb-pro-hero__title em {
	color: var(--wp--preset--color--primary);
	font-style: italic;
}

.wwb-pro-hero__benefits {
	display: flex;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.wwb-pro-hero__benefit {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	text-align: left;
}

.wwb-pro-hero__benefit-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(255, 153, 218, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wwb-pro-hero__benefit-icon svg {
	stroke: var(--wp--preset--color--primary);
}

.wwb-pro-hero__benefit strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 2px;
}

.wwb-pro-hero__benefit span {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.6);
}

/* ─── Main Content Layout ─── */
.wwb-pro-content {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 48px 60px 80px;
}

/* ─── Step Indicator ─── */
.wwb-pro-step {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 32px;
}

.wwb-pro-step__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	white-space: nowrap;
}

.wwb-pro-step__bar {
	flex: 1;
	height: 6px;
	background: #F0F0F2;
	border-radius: 3px;
	overflow: hidden;
}

.wwb-pro-step__progress {
	height: 100%;
	background: var(--wp--preset--color--primary);
	border-radius: 3px;
	transition: width 0.4s ease;
}

/* ─── Form Title ─── */
.wwb-pro-form__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 8px;
}

.wwb-pro-form__subtitle {
	font-size: 14.5px;
	line-height: 1.6;
	color: #71717A;
	margin: 0 0 36px;
}

/* ─── Form Sections ─── */
.wwb-pro-form__section {
	border: none;
	padding: 0;
	margin: 0 0 36px;
}

.wwb-pro-form__legend {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 20px;
	padding: 0;
}

.wwb-pro-form__legend svg {
	flex-shrink: 0;
	stroke: var(--wp--preset--color--primary);
}

/* ─── Fields ─── */
.wwb-pro-form__field {
	margin-bottom: 18px;
}

.wwb-pro-form__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #3F3F46;
	margin-bottom: 7px;
}

.wwb-pro-form__label span {
	color: var(--wp--preset--color--primary);
}

.wwb-pro-form__label small {
	font-weight: 400;
	color: #A1A1AA;
}

.wwb-pro-form__input,
.wwb-pro-form__select {
	width: 100%;
	padding: 13px 18px;
	border: 1.5px solid #D4D4D8;
	border-radius: 12px;
	font-size: 14px;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--foreground);
	background: #fff;
	transition: border-color 0.2s;
	box-sizing: border-box;
	-webkit-appearance: none;
}

.wwb-pro-form__select {
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23A1A1AA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 44px;
}

.wwb-pro-form__input::placeholder {
	color: #A1A1AA;
}

.wwb-pro-form__input:focus,
.wwb-pro-form__select:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 153, 218, 0.15);
}

.wwb-pro-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

/* Checkboxes */
.wwb-pro-form__checkboxes {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-pro-form__checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #3F3F46;
	cursor: pointer;
}

.wwb-pro-form__checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	border: 1.5px solid #D4D4D8;
	border-radius: 5px;
	accent-color: var(--wp--preset--color--primary);
	cursor: pointer;
}

/* Confirmation success */
.wwb-pro-form__success {
	text-align: center;
	padding: 48px 32px;
	background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
	border: 1px solid #86EFAC;
	border-radius: 16px;
}

.wwb-pro-form__success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	background: #10B981;
	color: #fff;
	border-radius: 50%;
	margin-bottom: 20px;
}

.wwb-pro-form__success-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: #065F46;
	margin: 0 0 14px;
}

.wwb-pro-form__success-text {
	font-size: 15px;
	color: #047857;
	max-width: 480px;
	margin: 0 auto 12px;
	line-height: 1.5;
}

.wwb-pro-form__success-btn {
	display: inline-block;
	margin-top: 14px;
	padding: 12px 28px;
	background: #362C49;
	color: #fff;
	text-decoration: none;
	border-radius: 10px;
	font-weight: 600;
	font-size: 14px;
}

.wwb-pro-form__success-btn:hover {
	background: #241C34;
	color: #fff;
}

/* Errors */
.wwb-pro-form__errors {
	margin: 0 0 20px;
	padding: 14px 18px;
	background: #FEE2E2;
	border: 1px solid #FCA5A5;
	border-radius: 10px;
	color: #991B1B;
	font-size: 13px;
}

.wwb-pro-form__errors strong {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
}

.wwb-pro-form__errors ul {
	margin: 0 0 0 20px;
	padding: 0;
}

.wwb-pro-form__errors li {
	margin-bottom: 2px;
}

/* Submit */
.wwb-pro-form__submit {
	width: 100%;
	padding: 16px 24px;
	border: none;
	border-radius: 12px;
	background: var(--wp--preset--color--primary);
	font-size: 16px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: background 0.2s, transform 0.1s;
	font-family: var(--wp--preset--font-family--body);
	margin-top: 8px;
}

.wwb-pro-form__submit:hover {
	background: #FF80CE;
}

.wwb-pro-form__submit:active {
	transform: scale(0.99);
}

.wwb-pro-form__submit svg {
	stroke: var(--wp--preset--color--primary-dark);
}

.wwb-pro-form__footnote {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 16px 0 0;
	font-size: 12px;
	font-weight: 500;
	color: #A1A1AA;
}

.wwb-pro-form__footnote svg {
	stroke: #A1A1AA;
	flex-shrink: 0;
}

.wwb-pro-form__footnote-sep {
	margin: 0 4px;
}

/* ─── Sidebar ─── */
.wwb-pro-sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: sticky;
	top: 120px;
	align-self: start;
}

.wwb-pro-sidebar__card {
	background: var(--wp--preset--color--primary-dark);
	border-radius: 20px;
	padding: 32px 28px;
}

.wwb-pro-sidebar__eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 8px;
}

.wwb-pro-sidebar__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 28px;
	line-height: 1.3;
}

.wwb-pro-sidebar__advantages {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.wwb-pro-sidebar__advantage {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.wwb-pro-sidebar__advantage-icon {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: rgba(255, 153, 218, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wwb-pro-sidebar__advantage-icon svg {
	stroke: var(--wp--preset--color--primary);
}

.wwb-pro-sidebar__advantage strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
}

.wwb-pro-sidebar__advantage p {
	font-size: 12.5px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}

/* Stats */
.wwb-pro-sidebar__stats {
	display: flex;
	gap: 16px;
}

.wwb-pro-sidebar__stat {
	flex: 1;
	background: var(--wp--preset--color--primary-dark);
	border-radius: 14px;
	padding: 20px 16px;
	text-align: center;
}

.wwb-pro-sidebar__stat-value {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	font-weight: 700;
	color: #fff;
}

.wwb-pro-sidebar__stat-value span {
	color: var(--wp--preset--color--primary);
}

.wwb-pro-sidebar__stat-label {
	display: block;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.5);
	margin-top: 4px;
}

/* Testimonial */
.wwb-pro-sidebar__testimonial {
	background: var(--wp--preset--color--primary-dark);
	border-radius: 20px;
	padding: 28px 24px;
}

.wwb-pro-sidebar__testimonial-stars {
	display: flex;
	gap: 3px;
	margin-bottom: 14px;
}

.wwb-pro-sidebar__testimonial-quote {
	font-size: 14px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 16px;
	font-style: italic;
}

.wwb-pro-sidebar__testimonial-quote strong {
	color: #fff;
	font-style: normal;
}

.wwb-pro-sidebar__testimonial-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: 6px;
	background: rgba(255, 153, 218, 0.12);
	font-size: 12px;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	margin-bottom: 18px;
}

.wwb-pro-sidebar__testimonial-tag svg {
	stroke: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

.wwb-pro-sidebar__testimonial-author {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wwb-pro-sidebar__testimonial-author img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.wwb-pro-sidebar__testimonial-author strong {
	display: block;
	font-size: 14px;
	color: #fff;
}

.wwb-pro-sidebar__testimonial-author span {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.4;
}

/* Security badges */
.wwb-pro-sidebar__badges {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.wwb-pro-sidebar__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 500;
	color: #A1A1AA;
}

.wwb-pro-sidebar__badge svg {
	flex-shrink: 0;
	stroke: #A1A1AA;
}

/* ─── Responsive Pro ─── */
@media (max-width: 1024px) {
	.wwb-pro-content {
		grid-template-columns: 1fr;
		padding: 32px 24px 60px;
	}

	.wwb-pro-sidebar {
		position: static;
	}

	.wwb-pro-hero {
		padding: 32px 24px 40px;
	}

	.wwb-pro-hero__title {
		font-size: 28px;
	}

	.wwb-pro-hero__benefits {
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.wwb-pro-hero__benefits {
		flex-direction: column;
		align-items: center;
	}

	.wwb-pro-form__row {
		grid-template-columns: 1fr;
	}

	.wwb-pro-sidebar__stats {
		flex-direction: column;
	}
}

/* ═══════════════════════════════════════════
   Cart — Panier (Figma 27:2)
   ═══════════════════════════════════════════ */

/* Hide WP page title when our custom cart header exists */
.page-template-default .wwb-cart ~ .entry-title,
.wwb-cart ~ h1,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title {
	display: none;
}

.wwb-cart {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 60px 80px;
}

/* Breadcrumb */
.wwb-cart__breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 20px 0;
	font-size: 13px;
	color: #A1A1AA;
}

.wwb-cart__breadcrumb a {
	color: #71717A;
	text-decoration: none;
}

.wwb-cart__breadcrumb a:hover {
	color: var(--wp--preset--color--primary-dark);
}

.wwb-cart__breadcrumb svg {
	stroke: #A1A1AA;
}

.wwb-cart__breadcrumb span {
	color: var(--wp--preset--color--foreground);
	font-weight: 500;
}

/* Header */
.wwb-cart__header {
	margin-bottom: 32px;
}

.wwb-cart__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 32px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0;
}

.wwb-cart__count {
	font-family: var(--wp--preset--font-family--body);
	font-size: 16px;
	font-weight: 400;
	color: #A1A1AA;
	margin-left: 8px;
}

/* Box-sizing border-box pour tous les composants cart (évite overflow padding) */
.wwb-cart,
.wwb-cart *,
.wwb-cart *::before,
.wwb-cart *::after {
	box-sizing: border-box;
}

/* Layout */
.wwb-cart__layout {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 40px;
	align-items: start;
}

/* Items column */
.wwb-cart__items-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.wwb-cart__items-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #71717A;
}

.wwb-cart__clear-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #A1A1AA;
	text-decoration: none;
}

.wwb-cart__clear-link:hover {
	color: #EF4444;
}

/* Groupes livraison (carrelage / fenêtres) */
.wwb-cart__group {
	margin-bottom: 28px;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.wwb-cart__group-header {
	padding: 14px 20px;
	background: #FFF0F8;
	border-bottom: 1px solid #FFD6EE;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.wwb-cart__group-title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #362C49);
	display: flex;
	align-items: center;
	gap: 10px;
}

.wwb-cart__group-count {
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--primary-dark, #362C49);
	padding: 2px 8px;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 10px;
}

.wwb-cart__group-transporter {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-cart__group-transporter svg {
	flex-shrink: 0;
	opacity: 1;
	color: var(--wp--preset--color--primary, #FF99DA);
	stroke: var(--wp--preset--color--primary, #FF99DA);
}

.wwb-cart__group-transporter strong {
	font-weight: 700;
	color: var(--wp--preset--color--primary, #FF99DA);
}

.wwb-cart__group .wwb-cart-item {
	border-bottom: 1px solid #F3F4F6;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
}

.wwb-cart__group .wwb-cart-item:last-child {
	border-bottom: none;
}

/* Sous-total livraison par groupe dans summary */
.wwb-cart__summary-row--shipping small {
	display: block;
	color: #6B7280;
	font-size: 11px;
	margin-top: 2px;
}

/* Cart item */
.wwb-cart-item {
	display: flex;
	gap: 20px;
	padding: 24px;
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 16px;
	margin-bottom: 16px;
}

.wwb-cart-item__image {
	position: relative;
	width: 120px;
	height: 120px;
	border-radius: 12px;
	overflow: hidden;
	flex-shrink: 0;
	background: #F7F7F8;
}

.wwb-cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.wwb-cart-item__details {
	flex: 1;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.wwb-cart-item__info {
	flex: 1;
}

.wwb-cart-item__name {
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 6px;
}

.wwb-cart-item__name a {
	color: inherit;
	text-decoration: none;
}

.wwb-cart-item__name a:hover {
	color: var(--wp--preset--color--primary);
}

.wwb-cart-item__meta {
	font-size: 13px;
	color: #71717A;
	margin: 0 0 10px;
}

.wwb-cart-item__coverage {
	font-size: 13px;
	color: #52525B;
	margin: 0 0 10px;
}

.wwb-cart-item__coverage strong {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.wwb-cart-item__actions {
	display: flex;
	gap: 16px;
	margin-bottom: 10px;
}

.wwb-cart-item__remove {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #A1A1AA;
	text-decoration: none;
}

.wwb-cart-item__remove:hover {
	color: #EF4444;
}

.wwb-cart-item__delivery {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #16A34A;
}

.wwb-cart-item__delivery svg {
	stroke: #16A34A;
	flex-shrink: 0;
}

/* ─── Récap configurateur sur-mesure ─── */
.wwb-cart-item__config {
	margin: 10px 0 4px;
	padding: 12px 14px;
	background: #F8F7FC;
	border-radius: 10px;
	border: 1px solid #ECEAF0;
}
.wwb-cart-item__config-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: #7B74D0;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.wwb-cart-item__config-label svg {
	stroke: #7B74D0;
	flex-shrink: 0;
}
.wwb-cart-item__config-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.wwb-cart-item__config-row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid rgba(236, 234, 240, 0.6);
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
}
.wwb-cart-item__config-row:last-child {
	border-bottom: none;
}
.wwb-cart-item__config-key {
	flex: 0 0 120px;
	color: #9490A6;
	font-size: 12px;
	font-weight: 500;
}
.wwb-cart-item__config-val {
	flex: 1;
	color: #362C49;
	font-weight: 600;
}
@media (max-width: 640px) {
	.wwb-cart-item__config-row {
		flex-direction: column;
		gap: 2px;
		padding: 8px 0;
	}
	.wwb-cart-item__config-key {
		flex: none;
	}
}

/* Pricing column */
.wwb-cart-item__pricing {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	min-width: 160px;
}

.wwb-cart-item__unit-price {
	font-size: 13px;
	color: #A1A1AA;
}

.wwb-cart-item__quantity .quantity,
.wwb-cart-item__qty-stepper {
	display: inline-flex;
	align-items: stretch;
	border: 1.5px solid #D4D4D8;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	height: 40px;
}

.wwb-cart-item__qty-input,
.wwb-cart-item__quantity input[type="number"] {
	width: 48px !important;
	text-align: center;
	border: none !important;
	outline: none;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	padding: 0 4px;
	background: transparent;
	-moz-appearance: textfield;
	appearance: textfield;
	box-shadow: none !important;
}

.wwb-cart-item__qty-input::-webkit-inner-spin-button,
.wwb-cart-item__qty-input::-webkit-outer-spin-button,
.wwb-cart-item__quantity input[type="number"]::-webkit-inner-spin-button,
.wwb-cart-item__quantity input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wwb-cart-item__qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	min-width: 36px;
	padding: 0;
	background: #F8F7FC;
	border: none;
	border-right: 1.5px solid #ECEAF0;
	color: #362C49;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
	line-height: 1;
}
.wwb-cart-item__qty-btn--plus {
	border-right: none;
	border-left: 1.5px solid #ECEAF0;
}
.wwb-cart-item__qty-btn:hover {
	background: #ECEAF0;
	color: #7B74D0;
}
.wwb-cart-item__qty-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.wwb-cart-item__subtotal {
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
}

/* Update cart button */
.wwb-cart__update-btn {
	display: none;
}

/* Continue shopping */
.wwb-cart__continue-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #71717A;
	text-decoration: none;
	margin-top: 8px;
}

.wwb-cart__continue-link:hover {
	color: var(--wp--preset--color--primary-dark);
}

/* ─── Order Summary ─── */
.wwb-cart__summary {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 20px;
	padding: 28px;
	position: sticky;
	top: 120px;
}

.wwb-cart__summary-title {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #71717A;
	margin: 0 0 20px;
}

.wwb-cart__summary-rows {
	border-bottom: 1px solid #EBEBED;
	padding-bottom: 16px;
	margin-bottom: 16px;
}

.wwb-cart__summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 6px 0;
	font-size: 14px;
	color: #3F3F46;
}

.wwb-cart__summary-free {
	color: #16A34A;
	font-weight: 600;
}

.wwb-cart__summary-free small {
	display: block;
	font-size: 12px;
	color: #A1A1AA;
	text-decoration: line-through;
	font-weight: 400;
	text-align: right;
}

.wwb-cart__summary-savings {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #F0FDF4;
	border: 1px solid #BBF7D0;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: #16A34A;
	margin-bottom: 16px;
}

.wwb-cart__summary-savings svg {
	stroke: #16A34A;
	flex-shrink: 0;
}

/* Coupon */
.wwb-cart__coupon {
	margin-bottom: 20px;
}

.wwb-cart__coupon-toggle {
	display: none; /* coupon affiché en permanence, plus de toggle */
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	font-size: 13px;
	font-weight: 500;
	color: #71717A;
	cursor: pointer;
	padding: 0;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-cart__coupon-toggle:hover {
	color: var(--wp--preset--color--primary-dark);
}

.wwb-cart__coupon-toggle svg {
	stroke: #71717A;
}

.wwb-cart__coupon-form {
	display: flex; /* toujours visible */
	gap: 8px;
	margin-top: 10px;
}

.wwb-cart__coupon-form--open {
	display: flex;
}

.wwb-cart__coupon-input {
	flex: 1;
	padding: 10px 14px;
	border: 1.5px solid #D4D4D8;
	border-radius: 10px;
	font-size: 13px;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-cart__coupon-input:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
}

.wwb-cart__coupon-apply {
	padding: 10px 18px;
	border: none;
	border-radius: 10px;
	background: var(--wp--preset--color--primary-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
	white-space: nowrap;
}

.wwb-cart__coupon-apply:hover {
	background: #2A2040;
}

/* Total */
.wwb-cart__summary-total {
	border-top: 1px solid #EBEBED;
	padding-top: 16px;
	margin-bottom: 20px;
}

.wwb-cart__summary-row--total {
	font-size: 15px;
	font-weight: 600;
}

.wwb-cart__total-price {
	font-family: 'Inter', sans-serif;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.5px;
	color: var(--wp--preset--color--primary-dark);
}

.wwb-cart__summary-row--small {
	font-size: 12px;
	color: #A1A1AA;
	padding: 3px 0;
}

/* CTA Buttons */
.wwb-cart__checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px 24px;
	border: none;
	border-radius: 12px;
	background: var(--wp--preset--color--primary);
	font-size: 16px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-cart__checkout-btn:hover {
	background: #FF80CE;
	color: var(--wp--preset--color--primary-dark);
}

.wwb-cart__checkout-btn svg {
	stroke: var(--wp--preset--color--primary-dark);
}

/* Pré-lancement : bouton commande neutralisé, devis mis en avant */
.wwb-cart__checkout-btn--disabled,
.wwb-cart__checkout-btn--disabled:hover {
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--muted);
	cursor: not-allowed;
	pointer-events: none;
	box-shadow: none;
}

.wwb-cart__prelaunch-note {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--wp--preset--color--body);
	text-align: center;
}

.wwb-cart__devis-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 24px;
	border: 1.5px solid #D4D4D8;
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: #3F3F46;
	cursor: pointer;
	margin-top: 10px;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-cart__devis-btn:hover:not(:disabled) {
	border-color: var(--wp--preset--color--primary-dark);
}

.wwb-cart__devis-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Jauge livraison offerte */
.wwb-cart__freeship {
	margin-bottom: 16px;
	padding: 13px 16px;
	background: #F4F4F5;
	border: 1px solid #EBEBED;
	border-radius: 10px;
}

.wwb-cart__freeship-text {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	color: #52525B;
	margin-bottom: 9px;
}

.wwb-cart__freeship-text svg {
	flex-shrink: 0;
	color: #A1A1AA;
}

.wwb-cart__freeship-text strong {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.wwb-cart__freeship-bar {
	height: 7px;
	background: #E4E4E7;
	border-radius: 99px;
	overflow: hidden;
}

.wwb-cart__freeship-bar span {
	display: block;
	height: 100%;
	background: var(--wp--preset--color--primary);
	border-radius: 99px;
	transition: width 0.4s ease;
}

.wwb-cart__freeship.is-free .wwb-cart__freeship-text {
	color: #15803D;
	font-weight: 600;
}

.wwb-cart__freeship.is-free .wwb-cart__freeship-text svg {
	color: #16A34A;
}

.wwb-cart__freeship.is-free .wwb-cart__freeship-bar span {
	background: #16A34A;
}

/* Trust badges */
.wwb-cart__trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #EBEBED;
}

.wwb-cart__trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #71717A;
}

.wwb-cart__trust-item svg {
	stroke: #A1A1AA;
	flex-shrink: 0;
}

/* Payment methods */
.wwb-cart__payments {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #EBEBED;
}

.wwb-cart__payments-label {
	font-size: 11px;
	color: #A1A1AA;
}

.wwb-cart__payments-methods {
	display: flex;
	align-items: center;
	gap: 6px;
}

.wwb-cart__payment-badge {
	padding: 4px 10px;
	border: 1px solid #EBEBED;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 600;
	color: #71717A;
}

/* Cross-sell */
.wwb-cart__cross-sell {
	margin-top: 64px;
	padding-top: 48px;
	border-top: 1px solid #EBEBED;
}

.wwb-cart__cross-sell-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 28px;
}

.wwb-cart__cross-sell-eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-bottom: 6px;
}

.wwb-cart__cross-sell-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0;
}

.wwb-cart__cross-sell-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}

.wwb-cart__cross-sell-link:hover {
	color: var(--wp--preset--color--primary);
}

.wwb-cart__cross-sell-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

/* Empty cart */
.wwb-cart--empty {
	text-align: center;
	padding: 80px 40px;
}

/* ─── Cart Responsive ─── */
@media (max-width: 1024px) {
	.wwb-cart {
		padding: 0 24px 60px;
	}

	.wwb-cart__layout {
		grid-template-columns: 1fr;
	}

	.wwb-cart__summary {
		position: static;
	}

	.wwb-cart__cross-sell-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.wwb-cart-item {
		flex-direction: column;
	}

	.wwb-cart-item__image {
		width: 100%;
		height: 160px;
	}

	.wwb-cart-item__details {
		flex-direction: column;
	}

	.wwb-cart-item__pricing {
		flex-direction: row;
		align-items: center;
		min-width: auto;
	}

	.wwb-cart__cross-sell-grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
}

/* ═══════════════════════════════════════════
   Checkout (Figma 22:2)
   ═══════════════════════════════════════════ */

/* Remove WC constraint */
.woocommerce:has(.wwb-checkout) {
	max-width: none !important;
	width: 100% !important;
}

/* Hide header, footer, page title + WC coupon notice on checkout */
body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .wp-block-template-part[data-area="header"],
body.woocommerce-checkout header.wp-block-template-part,
body.woocommerce-checkout .wp-block-template-part[data-area="footer"],
body.woocommerce-checkout footer.wp-block-template-part {
	display: none !important;
}

.wwb-checkout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 60px 80px;
}

/* ─── Topbar ─── */
.wwb-checkout__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: 1px solid #EBEBED;
	margin-bottom: 32px;
}

.wwb-checkout__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	color: #71717A;
	text-decoration: none;
}

.wwb-checkout__back:hover {
	color: var(--wp--preset--color--primary-dark);
}

.wwb-checkout__logo {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 28px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
	letter-spacing: -0.56px;
}

.wwb-checkout__logo span {
	color: var(--wp--preset--color--primary);
}

.wwb-checkout__secure {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #71717A;
}

.wwb-checkout__secure svg {
	stroke: #71717A;
}

/* ─── Steps ─── */
.wwb-checkout__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: 40px;
}

.wwb-checkout__step {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #A1A1AA;
}

.wwb-checkout__step--active {
	color: var(--wp--preset--color--primary-dark);
}

.wwb-checkout__step--active .wwb-checkout__step-num {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

.wwb-checkout__step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #F0F0F2;
	color: #A1A1AA;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
}

.wwb-checkout__step-line {
	width: 80px;
	height: 2px;
	background: #EBEBED;
	margin: 0 12px;
}

.wwb-checkout__step-line--active {
	background: var(--wp--preset--color--primary);
}

/* ─── Layout ─── */
.wwb-checkout__layout {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 48px;
	align-items: start;
}

/* ─── Sections ─── */
.wwb-checkout__section {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 16px;
	padding: 32px;
	margin-bottom: 24px;
}

.wwb-checkout__section-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 24px;
}

/* Style WC billing/shipping form fields */
.wwb-checkout__section .woocommerce-billing-fields__field-wrapper,
.wwb-checkout__section .woocommerce-shipping-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.wwb-checkout__section .form-row {
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 1 100%;
	float: none !important;
	width: 100% !important;
}

.wwb-checkout__section .form-row-first {
	flex: 1 1 calc(50% - 8px) !important;
	width: calc(50% - 8px) !important;
}

.wwb-checkout__section .form-row-last {
	flex: 1 1 calc(50% - 8px) !important;
	width: calc(50% - 8px) !important;
}

.wwb-checkout__section label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #3F3F46;
	margin-bottom: 7px;
}

.wwb-checkout__section label .required {
	color: var(--wp--preset--color--primary);
}

.wwb-checkout__section label .optional {
	font-weight: 400;
	color: #A1A1AA;
	font-size: 12px;
}

/*
 * Champ Pays en boutique mono-pays (vente France uniquement).
 * WooCommerce ajoute la classe `country_to_state--single` au select quand un
 * seul pays est autorise : par defaut il se rabougrit a la largeur du mot
 * ("France" en gras, sans box), ce qui casse l'alignement des champs.
 * On le rend identique aux autres champs, en lecture seule (texte grise).
 * Scope sur `--single` : aucun effet sur un select multi-pays (preprod).
 */
.wwb-checkout__section select.country_to_state--single,
form.checkout select.country_to_state--single {
	display: block;
	width: 100% !important;
	min-height: 47px;
	padding: 13px 18px !important;
	font-weight: 400 !important;
	color: #71717A !important;
	line-height: 1.4 !important;
	cursor: default;
}

.wwb-checkout__section input.input-text,
.wwb-checkout__section textarea,
.wwb-checkout__section select,
form.checkout input.input-text,
form.checkout input[type="text"],
form.checkout input[type="email"],
form.checkout input[type="tel"],
form.checkout input[type="number"],
form.checkout textarea,
form.checkout select {
	width: 100%;
	padding: 13px 18px;
	border: 1px solid #DCDCE6 !important;
	border-radius: 12px;
	font-size: 14px;
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--foreground);
	background: #F4F4F8 !important;
	box-sizing: border-box;
	transition: border-color 0.2s, background 0.2s;
}

/* Champ actif : passe en blanc pur pour bien marquer la saisie en cours. */
.wwb-checkout__section input.input-text:focus,
.wwb-checkout__section textarea:focus,
.wwb-checkout__section select:focus,
form.checkout input.input-text:focus,
form.checkout input[type="text"]:focus,
form.checkout input[type="email"]:focus,
form.checkout input[type="tel"]:focus,
form.checkout input[type="number"]:focus,
form.checkout textarea:focus,
form.checkout select:focus {
	background: #fff !important;
	outline: none;
	border-color: var(--wp--preset--color--primary) !important;
	box-shadow: 0 0 0 3px rgba(255, 153, 218, 0.15);
}

.wwb-checkout__section input.input-text::placeholder {
	color: #A1A1AA;
}

.wwb-checkout__shipping-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #71717A;
	margin-top: 8px;
}

.wwb-checkout__shipping-note svg {
	stroke: #A1A1AA;
	flex-shrink: 0;
}

/* ─── Shipping Options ─── */
.wwb-checkout__shipping-methods {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-checkout__shipping-option {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border: 1.5px solid #EBEBED;
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.2s;
}

.wwb-checkout__shipping-option:has(input:checked) {
	border-color: var(--wp--preset--color--primary);
	background: rgba(255, 153, 218, 0.04);
}

.wwb-checkout__shipping-option input[type="radio"] {
	width: 20px;
	height: 20px;
	accent-color: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

.wwb-checkout__shipping-option-content {
	flex: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Fixed shipping options (imposées par typologie, pas de radio) :
   carte blanche épurée, la typologie est signalée par la pastille icône. */
.wwb-checkout__shipping-option--fixed {
	cursor: default;
	background: #fff;
	border-color: #EBEBED;
}

.wwb-checkout__shipping-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	flex-shrink: 0;
}

.wwb-checkout__shipping-option--carrelage .wwb-checkout__shipping-icon {
	background: #FBEBDA;
	color: #C2772E;
}

.wwb-checkout__shipping-option--fenetre .wwb-checkout__shipping-icon {
	background: #E6F0FB;
	color: #2563C9;
}

/* Groupes dans le summary checkout */
.wwb-checkout__summary-group {
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #E5E7EB;
}

.wwb-checkout__summary-group:last-child {
	border-bottom: none;
}

.wwb-checkout__summary-group-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #6B7280;
	margin-bottom: 8px;
	padding: 4px 8px;
	background: #F3F4F6;
	border-radius: 6px;
	display: inline-block;
}

.wwb-checkout__summary-group--carrelage .wwb-checkout__summary-group-label {
	color: #92400E;
	background: #FEF3E6;
}

.wwb-checkout__summary-group--fenetre .wwb-checkout__summary-group-label {
	color: #1E40AF;
	background: #E6F0FB;
}

/* Badge paiement en plusieurs fois (Alma) */
.wwb-checkout__3x-badge {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	margin-bottom: 18px;
	background: linear-gradient(135deg, #FFF1F9, #FFE4F3);
	border: 1.5px solid #FAC7E6;
	border-radius: 12px;
	color: #7A2350;
}

.wwb-checkout__3x-badge svg {
	flex-shrink: 0;
	color: var(--wp--preset--color--primary-dark, #C2186A);
}

.wwb-checkout__3x-badge strong {
	display: block;
	font-size: 14px;
	margin-bottom: 2px;
}

.wwb-checkout__3x-badge span {
	font-size: 12px;
	opacity: 0.85;
}

.wwb-checkout__shipping-option-content strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	margin-bottom: 2px;
}

.wwb-checkout__shipping-option-content > div > span {
	font-size: 12.5px;
	color: #71717A;
}

.wwb-checkout__shipping-price {
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-checkout__shipping-price--free {
	color: #16A34A;
}

/* ─── Payment Methods ─── */
.wwb-checkout__payment-methods {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-checkout__payment-methods .wc_payment_method {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 12px;
	padding: 16px 20px;
	border: 1.5px solid #EBEBED;
	border-radius: 12px;
	transition: border-color 0.2s, background 0.2s;
}

/* Le panneau déplié (widget Alma, champs CB…) passe sous la ligne de sélection. */
.wwb-checkout__payment-methods .wc_payment_method > .payment_box {
	flex-basis: 100%;
}

.wwb-checkout__payment-methods .wc_payment_method:has(input:checked) {
	border-color: var(--wp--preset--color--primary);
	background: rgba(255, 153, 218, 0.04);
}

/* Label de SÉLECTION de la méthode uniquement (enfant direct).
   Ne pas cibler les labels internes des widgets (ex. Alma 3x/4x). */
.wwb-checkout__payment-methods .wc_payment_method > label {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
}

/* Logos de paiement alignés à droite (Stripe/Monext via wwb-pay__logos,
   Alma via son premier <img>) pour un rendu uniforme entre passerelles. */
.wwb-checkout__payment-methods .wc_payment_method > label > .wwb-pay__logos,
.wwb-checkout__payment-methods .wc_payment_method > label > img:first-of-type {
	margin-left: auto;
}

.wwb-pay__logos {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.wwb-pay__logos img {
	height: 26px;
	width: auto;
	display: block;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(24, 24, 27, 0.08);
}

/* Radio de SÉLECTION de la méthode : indicateur custom propre (anneau gris,
   point rose plein quand sélectionné). On masque le rendu natif moche. */
.wwb-checkout__payment-methods input[type="radio"][name="payment_method"] {
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin: 0;
	flex-shrink: 0;
	border: 2px solid #D4D4D8;
	border-radius: 50%;
	background: #fff;
	position: relative;
	cursor: pointer;
	transition: border-color 0.2s;
}

.wwb-checkout__payment-methods input[type="radio"][name="payment_method"]:checked {
	border-color: var(--wp--preset--color--primary);
}

.wwb-checkout__payment-methods input[type="radio"][name="payment_method"]:checked::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

/* Garde-fou : ne pas imposer le style du thème dans le widget Alma. */
.wwb-checkout__payment-methods .payment_box label {
	display: revert;
	font-weight: revert;
}

/* Radios internes Alma (plans 3x/4x) masqués : la mini-carte sélectionnée
   (bordure + fond rose) indique déjà le choix. */
.wwb-checkout__payment-methods .payment_method_alma_pnx_gateway .payment_box input[type="radio"] {
	display: none;
}

.wwb-checkout__payment-methods .payment_box {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #EBEBED;
}

.wwb-checkout__payment-methods .payment_box fieldset {
	border: none;
	padding: 0;
	margin: 0;
}

.wwb-checkout__payment-methods .payment_box .form-row {
	margin-bottom: 12px;
}

.wwb-checkout__payment-methods .payment_box input.input-text {
	width: 100%;
	padding: 13px 18px;
	border: 1px solid #DCDCE6 !important;
	border-radius: 12px;
	font-size: 14px;
	font-family: var(--wp--preset--font-family--body);
	background: #F4F4F8 !important;
	box-sizing: border-box;
}
.wwb-checkout__payment-methods .payment_box input.input-text:focus {
	background: #fff;
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

/* Pas de petite flèche / triangle natif WooCommerce au-dessus du panneau. */
.wwb-checkout__payment-methods .payment_box::before {
	display: none !important;
}

/* ─── Neutralisation du branding Alma (fond violet → transparent) ─── */
/* Alma colore tout le conteneur #payment en violet : on le remet à plat. */
.wwb-checkout__payment.woocommerce-checkout-payment {
	background: transparent !important;
}

.wwb-checkout__payment-methods .payment_method_alma_pnx_gateway .payment_box {
	background: transparent !important;
	color: inherit;
}

/* ─── Payline (Citélis) : le widget pose un fond gris-lavande #DCD7E2 +
   texte gris = illisible. On remet un champ blanc propre, texte foncé. ─── */
.wwb-checkout__payment-methods .payment_method_payline_cpt .payment_box {
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 10px !important;
	padding: 16px !important;
	color: var(--wp--preset--color--primary-dark) !important;
}
.wwb-checkout__payment-methods .payment_method_payline_cpt .payment_box p {
	color: #4B4B5E !important;
}
/* Bouton de paiement du widget Payline : aux couleurs WWB (le bouton natif
   du thème est masqué en JS quand ce bouton est présent → un seul CTA). */
.wwb-checkout__payment-methods .payment_method_payline_cpt .pl-pay-btn {
	width: 100% !important;
	margin-top: 8px !important;
	padding: 16px 24px !important;
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--primary-dark) !important;
	border: none !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-family: var(--wp--preset--font-family--body) !important;
	cursor: pointer;
	transition: background 0.2s;
}
.wwb-checkout__payment-methods .payment_method_payline_cpt .pl-pay-btn:hover {
	background: #FF80CE !important;
}

.wwb-checkout__payment-methods .payment_method_alma_pnx_gateway .payment_box p {
	font-size: 13px;
	color: #71717A;
	margin: 0 0 12px;
}

/* Sélecteur de plan Alma (3× / 4×) en mini-cartes cohérentes. */
.wwb-checkout__payment-methods .alma_woocommerce_gateway_checkbox {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 14px;
	margin: 0 0 8px;
	border: 1.5px solid #EBEBED;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}

.wwb-checkout__payment-methods .alma_woocommerce_gateway_checkbox:hover {
	border-color: #D4D4D8;
}

.wwb-checkout__payment-methods input:checked + .alma_woocommerce_gateway_checkbox {
	border-color: var(--wp--preset--color--primary);
	background: rgba(255, 153, 218, 0.06);
}

.wwb-checkout__payment-methods .alma_woocommerce_gateway_label {
	font-weight: 700;
	border-radius: 6px;
}

/* Détail de l'échéancier Alma : retrait du fond, espacement aéré. */
.wwb-checkout__payment-methods .alma_woocommerce_gateway_checkout_plan {
	background: transparent !important;
	padding: 4px 0 10px;
	font-size: 12.5px;
	color: #71717A;
}

/* Échéancier Alma vide (pas de données d'éligibilité, ex. préprod) : ne pas
   réserver d'espace, sinon un grand vide apparaît sous les cartes 3x/4x. */
.wwb-checkout__payment-methods .alma_woocommerce_gateway_checkout_plan:empty {
	display: none;
}

/* ─── Stripe (UPE) : nettoyage du formulaire CB déplié ─── */
/* Masque le bruit du mode test + le sélecteur de devise (mono-devise EUR). */
.wwb-checkout__payment-methods .payment_method_stripe .wc-stripe-payment-method-instruction,
.wwb-checkout__payment-methods .payment_method_stripe .wc-stripe-currency-selector,
.wwb-checkout__payment-methods .payment_method_stripe .woocommerce-SavedPaymentMethods-tokenInput + label .brand {
	display: none !important;
}

/* Cadre le champ carte (iframe Stripe Elements) dans une carte propre. */
.wwb-checkout__payment-methods .payment_method_stripe .wc-upe-form,
.wwb-checkout__payment-methods .payment_method_stripe .wc-stripe-upe-element {
	margin: 4px 0 0;
}

.wwb-checkout__payment-methods .payment_method_stripe .StripeElement {
	padding: 2px 0;
}

/* ─── Submit Button ─── */
.wwb-checkout__submit {
	width: 100%;
	padding: 18px 24px !important;
	border: none !important;
	border-radius: 12px !important;
	background: var(--wp--preset--color--primary) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: background 0.2s;
	font-family: var(--wp--preset--font-family--body);
}

.wwb-checkout__submit:hover {
	background: #FF80CE !important;
}

/* Citélis/Payline en mode widget masque le bouton natif #place_order via
   jQuery.hide() (style inline display:none) car son widget fournit son propre
   bouton de paiement. Notre display:inline-flex !important ci-dessus écrasait
   ce masquage → double bouton. On respecte le masquage de Payline. Auto-gardé :
   si le widget n'est pas actif, Payline ne masque pas → le bouton natif reste. */
.wwb-checkout__submit[style*="display: none"],
.wwb-checkout__submit[style*="display:none"] {
	display: none !important;
}

.wwb-checkout__submit svg {
	stroke: var(--wp--preset--color--primary-dark);
}

.wwb-checkout__place-order {
	margin: 0;
	padding: 0;
}

.wwb-checkout__legal {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 16px 0 0;
	font-size: 12px;
	color: #A1A1AA;
}

.wwb-checkout__legal a {
	color: #71717A;
	text-decoration: underline;
}

.wwb-checkout__legal svg {
	stroke: #16A34A;
}

.wwb-checkout__legal-sep {
	margin: 0 4px;
}

.wwb-checkout__cgv {
	margin: 12px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: #A1A1AA;
	text-align: center;
}

.wwb-checkout__cgv a {
	color: #71717A;
	text-decoration: underline;
}

/* ─── Summary (right) ─── */
.wwb-checkout__summary {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 20px;
	padding: 28px;
	position: sticky;
	top: 120px;
}

.wwb-checkout__summary-heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 20px;
}

.wwb-checkout__summary-heading span {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: 14px;
	color: #A1A1AA;
}

/* Items */
.wwb-checkout__summary-items {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 20px;
	border-bottom: 1px solid #EBEBED;
	margin-bottom: 16px;
}

.wwb-checkout__summary-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wwb-checkout__summary-item-img {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	background: #F7F7F8;
}

.wwb-checkout__summary-item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wwb-checkout__summary-item-info {
	flex: 1;
}

.wwb-checkout__summary-item-info strong {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	margin-bottom: 2px;
}

.wwb-checkout__summary-item-info span {
	font-size: 12px;
	color: #A1A1AA;
}

.wwb-checkout__summary-item-price {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	white-space: nowrap;
}

/* Totals */
.wwb-checkout__summary-totals {
	margin-bottom: 16px;
}

.wwb-checkout__summary-row {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	font-size: 14px;
	color: #3F3F46;
}

.wwb-checkout__summary-free {
	color: #16A34A;
	font-weight: 600;
}

.wwb-checkout__summary-row--total {
	padding-top: 12px;
	border-top: 1px solid #EBEBED;
	margin-top: 8px;
	font-weight: 600;
}

.wwb-checkout__summary-total-price {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
}

.wwb-checkout__summary-row--small {
	font-size: 12px;
	color: #A1A1AA;
	padding: 2px 0;
}

/* Coupon */
/* Code promo checkout : réutilise les styles .wwb-cart__coupon* (cohérence panier/checkout) */

/* Trust */
.wwb-checkout__summary-trust {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-checkout__trust-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: #71717A;
}

.wwb-checkout__trust-item svg {
	stroke: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

/* ─── Checkout Responsive ─── */
@media (max-width: 1024px) {
	.wwb-checkout {
		padding: 0 24px 60px;
	}

	.wwb-checkout__layout {
		grid-template-columns: 1fr;
	}

	.wwb-checkout__summary {
		position: static;
		order: -1;
	}

	.wwb-checkout__step-line {
		width: 40px;
	}
}

@media (max-width: 768px) {
	.wwb-checkout__topbar {
		flex-wrap: wrap;
		gap: 12px;
	}

	.wwb-checkout__steps {
		flex-wrap: wrap;
		gap: 4px;
	}

	.wwb-checkout__step-line {
		width: 24px;
	}

	.wwb-checkout__section {
		padding: 20px;
	}
}

/* ═══════════════════════════════════════════
   My Account — Dashboard (Figma 21:2)
   ═══════════════════════════════════════════ */

/* Hide default WC navigation */
.woocommerce-MyAccount-navigation {
	display: none !important;
}

.woocommerce-MyAccount-content {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
}

/* Layout */
.wwb-account {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 48px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 40px 48px 80px;
	min-height: calc(100vh - 200px);
}

/* ─── Sidebar ─── */
.wwb-account__sidebar {
	position: sticky;
	top: 120px;
	align-self: start;
}

.wwb-account__profile {
	text-align: center;
	padding-bottom: 24px;
	margin-bottom: 20px;
	border-bottom: 1px solid #EBEBED;
}

.wwb-account__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--wp--preset--color--primary), #C084FC);
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
}

.wwb-account__name {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	margin-bottom: 4px;
}

.wwb-account__email {
	display: block;
	font-size: 12px;
	color: #A1A1AA;
}

/* Nav */
.wwb-account__nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wwb-account__nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	color: #3F3F46;
	text-decoration: none;
	transition: background 0.2s;
}

.wwb-account__nav-item:hover {
	background: #F7F7F8;
}

.wwb-account__nav-item--active {
	background: rgba(255, 153, 218, 0.12);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

.wwb-account__nav-item--active svg {
	stroke: var(--wp--preset--color--primary);
}

.wwb-account__nav-item svg {
	flex-shrink: 0;
	stroke: #71717A;
}

/* ─── Dashboard Content ─── */
.wwb-dashboard__greeting {
	margin-bottom: 0;
}

.wwb-dashboard__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 8px;
}

.wwb-dashboard__subtitle {
	font-size: 15px;
	color: #71717A;
	margin: 0;
}

/* Stats */
.wwb-dashboard__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}

.wwb-dashboard__stat {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-dashboard__stat svg {
	stroke: var(--wp--preset--color--primary);
	width: 22px;
	height: 22px;
}

.wwb-dashboard__stat-value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--foreground);
}

.wwb-dashboard__stat-label {
	font-size: 13px;
	color: #71717A;
}

/* Sections */
.wwb-dashboard__section {
	margin-bottom: 36px;
}

.wwb-dashboard__section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

.wwb-dashboard__section-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 16px;
}

.wwb-dashboard__section-header .wwb-dashboard__section-title {
	margin: 0;
}

.wwb-dashboard__section-title svg {
	stroke: var(--wp--preset--color--primary);
}

.wwb-dashboard__section-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}

.wwb-dashboard__section-link:hover {
	color: var(--wp--preset--color--primary);
}

/* Order card */
.wwb-dashboard__order-card {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 16px;
	padding: 24px;
}

.wwb-dashboard__order-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 24px;
}

.wwb-dashboard__order-header strong {
	font-size: 16px;
	color: var(--wp--preset--color--foreground);
}

.wwb-dashboard__order-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	margin-left: 10px;
}

.wwb-dashboard__order-status--processing {
	background: #FEF3C7;
	color: #92400E;
}

.wwb-dashboard__order-status--on-hold {
	background: #DBEAFE;
	color: #1E40AF;
}

.wwb-dashboard__order-status--completed {
	background: #DCFCE7;
	color: #166534;
}

.wwb-dashboard__order-meta {
	font-size: 13px;
	color: #71717A;
}

/* Progress tracker */
.wwb-dashboard__tracker {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 24px;
	padding: 16px 0;
}

.wwb-dashboard__tracker-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	min-width: 80px;
}

.wwb-dashboard__tracker-dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #F0F0F2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wwb-dashboard__tracker-step--done .wwb-dashboard__tracker-dot {
	background: #16A34A;
}

.wwb-dashboard__tracker-step--current .wwb-dashboard__tracker-dot {
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 4px rgba(255, 153, 218, 0.2);
}

.wwb-dashboard__tracker-step span {
	font-size: 11px;
	font-weight: 500;
	color: #A1A1AA;
}

.wwb-dashboard__tracker-step--done span,
.wwb-dashboard__tracker-step--current span {
	color: var(--wp--preset--color--foreground);
}

.wwb-dashboard__tracker-line {
	flex: 1;
	height: 2px;
	background: #EBEBED;
	margin-top: 16px;
	min-width: 20px;
}

.wwb-dashboard__tracker-line--done {
	background: #16A34A;
}

/* Order items */
.wwb-dashboard__order-items {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 16px;
	border-top: 1px solid #EBEBED;
}

.wwb-dashboard__order-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wwb-dashboard__order-item img {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	object-fit: cover;
}

.wwb-dashboard__order-item strong {
	display: block;
	font-size: 13px;
}

.wwb-dashboard__order-item span {
	font-size: 11px;
	color: #A1A1AA;
}

.wwb-dashboard__order-track {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1.5px solid #EBEBED;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: #3F3F46;
	text-decoration: none;
}

.wwb-dashboard__order-track:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

/* Orders table */
.wwb-dashboard__orders-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 12px;
	overflow: hidden;
}

.wwb-dashboard__orders-table thead {
	background: #FAFAFA;
}

.wwb-dashboard__orders-table th {
	text-align: left;
	padding: 12px 20px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #71717A;
	border-bottom: 1px solid #EBEBED;
}

.wwb-dashboard__orders-table td {
	padding: 16px 20px;
	font-size: 14px;
	color: #3F3F46;
	border-bottom: 1px solid #F5F5F5;
}

.wwb-dashboard__orders-table tr:last-child td {
	border-bottom: none;
}

.wwb-dashboard__status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
}

.wwb-dashboard__status-badge--processing {
	background: #FEF3C7;
	color: #92400E;
}

.wwb-dashboard__status-badge--completed {
	background: #DCFCE7;
	color: #166534;
}

.wwb-dashboard__status-badge--on-hold {
	background: #DBEAFE;
	color: #1E40AF;
}

.wwb-dashboard__status-badge--pending {
	background: #F3F4F6;
	color: #6B7280;
}

.wwb-dashboard__btn-small {
	padding: 6px 14px;
	border: 1px solid #EBEBED;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 500;
	color: #3F3F46;
	text-decoration: none;
	display: inline-flex;
}

.wwb-dashboard__btn-small:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

/* ─── Dashboard Header Row (greeting + CTA Visu IA) ─── */
.wwb-dashboard__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 32px;
}

.wwb-dashboard__greeting { flex: 1; min-width: 0; }

.wwb-dashboard__wave { display: inline-block; animation: wwb-wave 2s ease-in-out infinite; transform-origin: 70% 70%; }

@keyframes wwb-wave {
	0%, 60%, 100% { transform: rotate(0deg); }
	10%, 30% { transform: rotate(14deg); }
	20% { transform: rotate(-8deg); }
	40% { transform: rotate(-4deg); }
	50% { transform: rotate(10deg); }
}

.wwb-dashboard__cta-visu {
	flex-shrink: 0;
	width: 380px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	background: linear-gradient(135deg, #362C49 0%, #241C34 100%);
	border-radius: 14px;
	text-decoration: none;
	color: #fff;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	box-shadow: 0 8px 24px rgba(54, 44, 73, 0.15);
}

.wwb-dashboard__cta-visu:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(54, 44, 73, 0.25);
}

.wwb-dashboard__cta-visu-badge {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	background: #FF99DA;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 600;
	color: #fff;
}

.wwb-dashboard__cta-visu-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}

.wwb-dashboard__cta-visu-desc {
	font-size: 12px;
	color: #C8BFDC;
	line-height: 1.4;
}

.wwb-dashboard__cta-visu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 4px;
	padding: 12px 20px;
	background: #FF99DA;
	border-radius: 10px;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	transition: background 0.15s;
}

.wwb-dashboard__cta-visu:hover .wwb-dashboard__cta-visu-btn {
	background: #F47ABF;
}

/* ─── 4e stat visu IA ─── */
.wwb-dashboard__stat--visu svg { color: #FF99DA; }
.wwb-dashboard__stat--visu .wwb-dashboard__stat-value { color: #FF99DA; }

/* ─── Section visualisations IA ─── */
.wwb-dashboard__visu-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.wwb-dashboard__visu-card {
	display: flex;
	flex-direction: column;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, border-color 0.15s ease;
}

.wwb-dashboard__visu-card:hover {
	transform: translateY(-2px);
	border-color: #FF99DA;
}

.wwb-dashboard__visu-card-img {
	height: 160px;
	background: #F3F4F6;
	overflow: hidden;
}

.wwb-dashboard__visu-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wwb-dashboard__visu-card-info {
	padding: 12px 16px;
}

.wwb-dashboard__visu-card-info strong {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #362C49;
	line-height: 1.3;
	margin-bottom: 2px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wwb-dashboard__visu-card-info span {
	font-size: 11px;
	color: #9CA3AF;
}

.wwb-dashboard__visu-empty {
	text-align: center;
	padding: 32px 24px;
	background: linear-gradient(135deg, #FEF3E6, #FDE6CC);
	border: 1px dashed #F4B77A;
	border-radius: 12px;
	color: #78350F;
}

.wwb-dashboard__visu-empty p {
	margin: 0 0 14px;
	font-size: 14px;
}

.wwb-dashboard__btn-primary {
	display: inline-flex;
	padding: 10px 22px;
	background: #FF99DA;
	color: #fff;
	border-radius: 10px;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	transition: background 0.15s;
}

.wwb-dashboard__btn-primary:hover { background: #F47ABF; }

@media (max-width: 900px) {
	.wwb-dashboard__header { flex-direction: column; }
	.wwb-dashboard__cta-visu { width: 100%; }
	.wwb-dashboard__visu-grid { grid-template-columns: 1fr; }
}

@media (min-width: 900px) and (max-width: 1200px) {
	.wwb-dashboard__visu-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Account Responsive ─── */
@media (max-width: 1024px) {
	.wwb-account {
		grid-template-columns: 1fr;
		padding: 24px 24px 60px;
	}

	.wwb-account__sidebar {
		position: static;
	}

	.wwb-account__nav {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
	}

	.wwb-account__profile {
		display: flex;
		align-items: center;
		gap: 12px;
		text-align: left;
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 12px;
	}

	.wwb-account__avatar {
		margin: 0;
	}
}

@media (max-width: 1100px) {
	.wwb-dashboard__stats {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.wwb-dashboard__stats {
		grid-template-columns: 1fr;
	}

	.wwb-dashboard__tracker {
		overflow-x: auto;
	}

	.wwb-dashboard__orders-table {
		display: block;
		overflow-x: auto;
	}

	.wwb-dashboard__order-items {
		flex-wrap: wrap;
	}
}

/* ═══════════════════════════════════════════
   MY ACCOUNT — Liste des commandes (cartes)
   ═══════════════════════════════════════════ */

/* Variantes de statut manquantes (complètent celles du dashboard) */
.wwb-dashboard__status-badge--cancelled,
.wwb-dashboard__status-badge--failed {
	background: #FEE2E2;
	color: #991B1B;
}
.wwb-dashboard__status-badge--refunded {
	background: #EDE9FE;
	color: #5B21B6;
}

.wwb-orders {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.wwb-orders__card {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: var(--wwb-radius-card, 20px);
	padding: 20px 24px;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.wwb-orders__card:hover {
	border-color: #E0DDF0;
	box-shadow: 0 6px 20px rgba(54, 44, 73, .07);
}

.wwb-orders__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.wwb-orders__id {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wwb-orders__number {
	font-size: 17px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground, #262626);
	text-decoration: none;
}
.wwb-orders__number:hover { color: var(--wp--preset--color--primary-dark, #362C49); }

.wwb-orders__meta {
	font-size: 13px;
	color: var(--wp--preset--color--body, #737373);
}
.wwb-orders__sep { margin: 0 4px; opacity: .5; }

.wwb-orders__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 18px 0;
	padding: 16px 0;
	border-top: 1px solid #F2F1F4;
	border-bottom: 1px solid #F2F1F4;
}

.wwb-orders__thumbs {
	display: flex;
	align-items: center;
}

.wwb-orders__thumb {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	overflow: hidden;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #EBEBED;
	margin-left: -8px;
	background: #FAFAFA;
	flex-shrink: 0;
}
.wwb-orders__thumb:first-child { margin-left: 0; }
.wwb-orders__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.wwb-orders__thumb--more {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--wp--preset--color--secondary, #7B74D0);
	background: #F1EFFA;
}

.wwb-orders__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	white-space: nowrap;
}
.wwb-orders__total-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--wp--preset--color--muted, #A3A3A3);
}
.wwb-orders__total-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-orders__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.wwb-orders__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: var(--wwb-radius-button, 12px);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.wwb-orders__btn--accent {
	background: var(--wp--preset--color--primary, #FF99DA);
	color: #fff;
}
.wwb-orders__btn--accent:hover { background: #F47ABF; }

.wwb-orders__btn--primary {
	background: var(--wp--preset--color--primary-dark, #362C49);
	color: #fff;
}
.wwb-orders__btn--primary:hover { background: #241C34; }

.wwb-orders__btn--ghost {
	background: #fff;
	border-color: #E5E5E5;
	color: var(--wp--preset--color--body, #555);
}
.wwb-orders__btn--ghost:hover {
	border-color: var(--wp--preset--color--primary, #FF99DA);
	color: var(--wp--preset--color--primary-dark, #362C49);
}

/* Pagination */
.wwb-orders__pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 28px;
}
.wwb-orders__page-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border: 1px solid #E5E5E5;
	border-radius: var(--wwb-radius-button, 12px);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground, #262626);
	text-decoration: none;
	background: #fff;
}
.wwb-orders__page-btn:hover {
	border-color: var(--wp--preset--color--primary, #FF99DA);
	color: var(--wp--preset--color--primary-dark, #362C49);
}
.wwb-orders__page-count {
	font-size: 13px;
	color: var(--wp--preset--color--body, #737373);
}

/* Empty state */
.wwb-orders__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
	padding: 56px 24px;
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: var(--wwb-radius-card, 20px);
}
.wwb-orders__empty svg { color: #D6D3E0; }
.wwb-orders__empty p { color: var(--wp--preset--color--body, #737373); margin: 0; }

@media (max-width: 768px) {
	.wwb-orders__body { flex-wrap: wrap; }
	.wwb-orders__total { align-items: flex-start; }
	.wwb-orders__actions { width: 100%; }
	.wwb-orders__btn { flex: 1; }
}

/* ═══════════════════════════════════════════
   SINGLE PRODUCT — Fiche Menuiserie
   ═══════════════════════════════════════════ */

.wwb-single-main {
	width: 100%;
	max-width: none;
	margin-top: 0;
	margin-block-start: 0;
}

.wwb-single-main > .wwb-single,
.wp-block-group.wwb-single-main .wwb-single {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Children s'affichent en pleine largeur, et sont contraints via leur conteneur interne.
   max-width 1680px = aligné sur la page catégorie (.wwb-shop__container) et le configurateur. */
.wwb-single > .wwb-single__hero,
.wwb-single > .wwb-carrelage-tabs,
.wwb-single > .wwb-carrelage-desc,
.wwb-single > .wwb-carrelage-specs,
.wwb-single > .wwb-single__specs,
.wwb-single > .wwb-single__reviews,
.wwb-single > .wwb-single__related {
	max-width: 1680px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 80px;
	padding-right: 80px;
	box-sizing: border-box;
}

@media (max-width: 1024px) {
	.wwb-single > .wwb-single__hero,
	.wwb-single > .wwb-carrelage-tabs,
	.wwb-single > .wwb-carrelage-desc,
	.wwb-single > .wwb-carrelage-specs,
	.wwb-single > .wwb-single__specs,
	.wwb-single > .wwb-single__reviews,
	.wwb-single > .wwb-single__related {
		padding-left: 32px;
		padding-right: 32px;
	}
}

.wwb-single__breadcrumbs {
	width: 100%;
	margin-top: 0 !important;
	background: var(--wp--preset--color--surface, #fafafa);
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}
.wwb-single__breadcrumbs-inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 12px 80px;
}

.wwb-single__breadcrumbs a {
	color: var(--wp--preset--color--body);
	text-decoration: none;
}

.wwb-single__breadcrumbs a:hover {
	color: var(--wp--preset--color--primary);
}

/* Hero: 2 columns */
.wwb-single__hero {
	display: flex;
	gap: 48px;
	padding-top: 40px;
	/* flex-start au lieu de stretch : les colonnes ne s'etirent plus a la hauteur
	   de la plus longue (evite la grande zone vide sous l'image quand la colonne
	   details est nettement plus haute). */
	align-items: flex-start;
}

.wwb-single__gallery {
	flex: 0 0 50%;
	max-width: 50%;
	/* L'image suit le scroll de la colonne details (souvent plus longue) : plus de
	   grand vide visuel a cote, et l'image reste visible pendant la lecture. */
	position: sticky;
	top: 100px;
	align-self: flex-start;
}

.wwb-single__gallery .woocommerce-product-gallery {
	width: 100% !important;
}

/* Galerie Zenon (SdB/SPC) : slides de ratios mixtes (ambiances 16:9, textures
   portrait) → chaque slide est forcée en 4:3 avec object-fit contain sur fond
   surface, pour que le Flexslider calcule une hauteur stable. */
.wwb-single__gallery--zenon .woocommerce-product-gallery__image {
	background: var(--wp--preset--color--surface, #F4F1F9);
}

.wwb-single__gallery--zenon .woocommerce-product-gallery__image > a > img,
.wwb-single__gallery--zenon .woocommerce-product-gallery__image > img {
	aspect-ratio: 4 / 3;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Vignettes de la galerie Zenon : grille propre, carrées, état actif visible */
.wwb-single__gallery--zenon .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.wwb-single__gallery--zenon .flex-control-thumbs li {
	/* Taille fixe compacte. !important : la règle WC core
	   `.woocommerce div.product div.images .flex-control-thumbs li` (25%)
	   est plus spécifique et faisait des pavés de ~190px. */
	float: none;
	width: 72px !important;
	margin: 0;
}

.wwb-single__gallery--zenon .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	object-fit: cover;
	background: var(--wp--preset--color--surface, #F4F1F9);
	border-radius: 8px;
	cursor: pointer;
	opacity: 0.65;
	transition: opacity 0.15s ease;
}

.wwb-single__gallery--zenon .flex-control-thumbs img.flex-active,
.wwb-single__gallery--zenon .flex-control-thumbs img:hover {
	opacity: 1;
	outline: 2px solid var(--wp--preset--color--primary, #E85EA9);
	outline-offset: -2px;
}

/* Galerie carrelage : stack vertical d'images, sans Flexslider.
   Chaque card a min-height 320 (les longs formats type 25×150 ne sont pas
   ridiculement plats) et max-height 640 (les lifestyle/showroom ne dominent
   pas la page). Image en object-fit contain avec letterbox gris clair. */
.wwb-carrelage-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wwb-carrelage-stack__item {
	background: var(--wp--preset--color--surface, #F4F1F9);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	max-height: 640px;
}

.wwb-carrelage-stack__img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 640px;
	object-fit: contain;
}

.wwb-single__details {
	flex: 1;
	/* min-width: 0 indispensable : sans ça le flex item garde min-width:auto et
	   refuse de rétrécir sous la largeur de son contenu, ce qui faisait déborder
	   la colonne droite hors du viewport (scroll horizontal + titre/prix coupés). */
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.wwb-single__details h1 {
	font-family: 'Playfair Display', serif;
	font-size: 36px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0;
	line-height: 1.15;
	letter-spacing: -0.3px;
	overflow-wrap: break-word;
}

/* Rating */
.wwb-single__rating {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wwb-single__rating-stars {
	color: #f59e0b;
	font-size: 14px;
}

.wwb-single__rating-count {
	font-size: 13px;
	color: var(--wp--preset--color--body);
}

/* Excerpt */
.wwb-single__excerpt {
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
	margin: 0;
}

/* Config header */
.wwb-single__config-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground);
}

.wwb-single__config-header svg {
	flex-shrink: 0;
}

/* Config sections — séparateurs simples façon maquette Pencil (pas d'encadrés) */
.wwb-single__config-section {
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	padding: 0 0 20px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-single__config-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.wwb-single__config-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-single__config-title svg {
	flex-shrink: 0;
}

/* Dimensions inputs */
.wwb-single__config-dims {
	display: flex;
	gap: 16px;
}

.wwb-single__config-field {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wwb-single__config-field label {
	font-size: 12px;
	color: var(--wp--preset--color--body);
}

.wwb-single__config-field input {
	border: 1px solid #d1d5db;
	border-radius: 8px;
	padding: 10px 13px;
	font-size: 14px;
	color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--background);
	font-family: 'Inter', sans-serif;
}

.wwb-single__config-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 3px rgba(123, 116, 208, 0.1);
}

/* Config buttons (Matériau, Vitrage) */
.wwb-single__config-options {
	display: flex;
	gap: 12px;
}

.wwb-single__config-options--3col .wwb-single__config-btn {
	flex: 1;
}

.wwb-single__config-options--2col .wwb-single__config-btn {
	flex: 1;
}

.wwb-single__config-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: var(--wp--preset--color--background);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--foreground);
	cursor: pointer;
	transition: all 0.15s;
	min-height: 40px;
}

.wwb-single__config-btn small {
	font-size: 11px;
	font-weight: 400;
	opacity: 0.7;
	margin-top: 2px;
}

.wwb-single__config-btn:hover {
	border-color: var(--wp--preset--color--secondary);
}

.wwb-single__config-btn--active {
	background: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: #fff;
}

.wwb-single__config-btn--active small {
	color: #fff;
}

/* Color swatches */
.wwb-single__config-colors {
	display: flex;
	gap: 12px;
	align-items: center;
}

.wwb-single__config-color {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 0;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.wwb-single__config-color:hover {
	box-shadow: 0 0 0 2px rgba(123, 116, 208, 0.3);
}

.wwb-single__config-color--active {
	border-color: var(--wp--preset--color--secondary) !important;
}

.wwb-single__config-color-label {
	font-size: 12px;
	color: var(--wp--preset--color--body);
}

/* ─── Menuiserie: Size buttons ─── */
.wwb-single__config-hint {
	font-size: 12px;
	color: #999;
	line-height: 1.5;
	text-transform: none;
	font-weight: 400;
}

.wwb-single__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wwb-single__size-btn {
	flex: 1 1 auto;
	min-width: 100px;
	padding: 14px 8px;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: #525252;
	text-align: center;
	cursor: pointer;
	transition: all 0.15s;
}

.wwb-single__size-btn:hover {
	border-color: var(--wp--preset--color--secondary);
}

.wwb-single__size-btn--active {
	background: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: #fff;
}

/* ─── Menuiserie: Custom dimensions toggle ─── */
.wwb-single__custom-dims {
	border: none;
	padding: 0;
}

.wwb-single__custom-dims-toggle {
	cursor: pointer;
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.wwb-single__custom-dims-toggle strong {
	font-size: 12px;
}

.wwb-single__custom-dims-chevron {
	margin-left: auto;
	transition: transform 0.2s;
}

.wwb-single__custom-dims-toggle[aria-expanded="true"] .wwb-single__custom-dims-chevron {
	transform: rotate(180deg);
}

.wwb-single__custom-dims-body {
	border: 1px solid #e5e5e5;
	border-radius: 0 0 12px 12px;
	border-top: none;
	padding: 16px;
}

.wwb-single__custom-dims-fields {
	display: flex;
	gap: 16px;
}

/* ─── Menuiserie: Vitrage pills ─── */
.wwb-single__vitrage {
	display: flex;
	gap: 10px;
}

.wwb-single__vitrage-btn {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 10px;
	min-height: 52px;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	background: #fff;
	font-family: 'Inter', sans-serif;
	cursor: pointer;
	transition: all 0.15s;
}

.wwb-single__vitrage-btn:hover {
	border-color: var(--wp--preset--color--secondary);
}

.wwb-single__vitrage-label {
	font-size: 13px;
	font-weight: 600;
	color: #525252;
}

.wwb-single__vitrage-sub {
	font-size: 11px;
	font-weight: 400;
	color: #a3a3a3;
}

.wwb-single__vitrage-btn--active {
	background: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
}

.wwb-single__vitrage-btn--active .wwb-single__vitrage-label {
	color: #fff;
}

.wwb-single__vitrage-btn--active .wwb-single__vitrage-sub {
	color: rgba(255, 255, 255, 0.8);
}

/* ─── Menuiserie: Color label ─── */
.wwb-single__color-label {
	font-size: 12px;
	color: var(--wp--preset--color--body);
	margin-top: 4px;
}

/* ─── Menuiserie: variation form adjustments ─── */
.wwb-single .variations_form .single_variation_wrap {
	margin-top: 8px;
}

.wwb-single .variations_form .single_variation_wrap .woocommerce-variation-price {
	font-size: 32px;
	font-weight: 800;
	font-family: 'Inter', sans-serif;
	color: var(--wp--preset--color--foreground);
	margin-bottom: 8px;
}

.wwb-single .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Zenon : pas de rappel prix/dispo WooCommerce sous les sélecteurs — le prix
   de la variation est mis à jour dans l'encart principal (product-single.js),
   la dispo est affichée statiquement dans l'encart. Évite le saut de layout. */
.wwb-single .wwb-variations--zenon .single_variation_wrap .woocommerce-variation.single_variation {
	/* !important : le JS WooCommerce pose un display:block inline au show() */
	display: none !important;
}

/* Bouton "Ajouter au panier" pleine largeur sur les produits simples (pas variables).
   Les variables sont déjà gérés par .variations_form .single_add_to_cart_button au-dessus. */
.wwb-single form.cart:not(.variations_form) {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Clearfix WooCommerce (::before/::after content:"") : en flex ces pseudos
   deviennent des items invisibles et le gap insère 12px avant le calculateur. */
.wwb-single form.cart:not(.variations_form)::before,
.wwb-single form.cart:not(.variations_form)::after {
	display: none !important;
}

/* Harmonisation du bas de la colonne détails : la colonne a déjà gap:20px,
   mais le form (mb 2em WC), le wrapper Stripe, le teaser IA et la réassurance
   ajoutaient chacun leur propre marge par-dessus → espacements incohérents.
   On neutralise ces marges ad-hoc pour un gap unique et régulier de 20px.
   NB : spécificité renforcée (> .wwb-single__details) pour battre les règles
   WooCommerce/base plus spécifiques ou plus bas dans le fichier. */
.wwb-single__details > form.cart:not(.variations_form) {
	margin-bottom: 0 !important;
}
.wwb-single__details > wc-order-attribution-inputs {
	display: none; /* champs cachés : ne doit pas occuper un slot flex (double gap) */
}
.wwb-single__details > div:has(.StripeElement) {
	margin-top: 0 !important;
	margin-bottom: 0 !important; /* wrapper paiement express Stripe */
}
.wwb-single__details > .wwb-choice-helpers {
	margin-top: 0;
}
.wwb-single__details > .wwb-single__reassurance {
	margin-top: 0;
}

.wwb-single form.cart:not(.variations_form) .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 16px;
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.15s;
	border: none;
}

.wwb-single form.cart:not(.variations_form) .quantity {
	align-self: flex-start;
}

.wwb-single .variations_form .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 16px;
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.15s;
	border: none;
	background: var(--wp--preset--color--secondary);
	color: #fff;
}

.wwb-single .variations_form .single_add_to_cart_button:hover {
	background: #6a63bf;
}

/* Quantity stepper sur fiche produit menuiserie (pour ajouter N fenêtres identiques d'un coup) */
.wwb-single .variations_form .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1.5px solid #D4D4D8;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	height: 52px;
	margin: 0;
}
.wwb-single .variations_form .quantity input[type="number"],
.wwb-single .variations_form .qty {
	width: 52px !important;
	text-align: center;
	border: none !important;
	outline: none;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground, #362C49);
	padding: 0 4px;
	background: transparent;
	-moz-appearance: textfield;
	appearance: textfield;
	box-shadow: none !important;
}
.wwb-single .variations_form .quantity input[type="number"]::-webkit-inner-spin-button,
.wwb-single .variations_form .quantity input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.wwb-single__qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	padding: 0;
	background: #F8F7FC;
	border: none;
	color: #362C49;
	font-size: 20px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
	line-height: 1;
}
.wwb-single__qty-btn--minus { border-right: 1.5px solid #ECEAF0; }
.wwb-single__qty-btn--plus { border-left: 1.5px solid #ECEAF0; }
.wwb-single__qty-btn:hover {
	background: #ECEAF0;
	color: #7B74D0;
}
.wwb-single__qty-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* qty au-dessus, ATC pleine largeur en dessous (cohérent avec les produits simples) */
.wwb-single .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart,
.wwb-single .variations_form .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 12px !important;
	margin-top: 8px;
}
.wwb-single .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .quantity,
.wwb-single .variations_form .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 auto;
	align-self: flex-start;
}
.wwb-single .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.wwb-single .variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 0 0 auto !important;
	width: 100% !important;
	margin: 0 !important;
}

/* ─── Responsive: Menuiserie configurator ─── */
@media (max-width: 768px) {
	.wwb-single__sizes {
		gap: 8px;
	}
	.wwb-single__size-btn {
		min-width: 80px;
		padding: 10px 6px;
		font-size: 12px;
	}
	.wwb-single__vitrage {
		flex-direction: column;
	}
	.wwb-single__custom-dims-fields {
		flex-direction: column;
	}
}

/* Price */
.wwb-single__price {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wwb-single__price--from {
	padding: 16px 20px;
	background: #F8F7FC;
	border-radius: 10px;
	margin: 8px 0 0;
	gap: 2px;
	text-align: left;
	align-items: flex-start;
}

.wwb-single__price-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--wp--preset--color--primary);
	align-self: flex-start;
	text-align: left;
	margin: 0;
	padding: 0;
}

.wwb-single__price-amount {
	font-size: 32px;
	font-weight: 800;
	color: var(--wp--preset--color--foreground);
	font-family: 'Inter', sans-serif;
	line-height: 1.1;
}

.wwb-single__price-amount small {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--body);
	margin-left: 4px;
}

.wwb-single__price-amount .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.wwb-single__price-unit {
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--body);
	margin-left: 2px;
}

.wwb-single__price-per-box {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	color: var(--wp--preset--color--primary-dark, #362C49);
	font-family: 'Inter', sans-serif;
}

.wwb-single__price-per-box strong {
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-single__price-per-box small {
	font-size: 12px;
	font-weight: 400;
	color: var(--wp--preset--color--body);
	margin-left: 4px;
}

.wwb-single__price-info {
	font-size: 12px;
	color: var(--wp--preset--color--body);
	margin-top: 4px;
}

/* Mention HT (carrelage) reservee aux pros connectes : discrete, sous le prix TTC. */
.wwb-single__price-ht {
	display: block;
	font-size: 14px;
	color: var(--wp--preset--color--body);
	margin-top: 2px;
}

.wwb-single__price-ht-tag {
	font-size: 11px;
	color: var(--wp--preset--color--muted, #8A85A0);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Lien "Voir le panier" injecté par WC après un ajout AJAX dans le formulaire
   produit : redondant avec le mini-panier drawer, on le masque sur la fiche. */
form.cart .added_to_cart {
	display: none;
}

/* ─────────────────────────────────────────────
   Mini-panier drawer (cart-drawer.js)
   ───────────────────────────────────────────── */
.wwb-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
}

.wwb-cart-drawer--open {
	visibility: visible;
}

.wwb-cart-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(28, 20, 45, 0.45);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.wwb-cart-drawer--open .wwb-cart-drawer__overlay {
	opacity: 1;
}

.wwb-cart-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 420px;
	max-width: 92vw;
	background: #fff;
	box-shadow: -12px 0 44px rgba(28, 20, 45, 0.20);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1);
	font-family: 'Inter', system-ui, sans-serif;
}

.wwb-cart-drawer--open .wwb-cart-drawer__panel {
	transform: translateX(0);
}

.wwb-cart-drawer__head {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid #EBEBED;
}

.wwb-cart-drawer__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-cart-drawer__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #E7F7EE;
	color: #1B9E5A;
}

.wwb-cart-drawer__close {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 26px;
	line-height: 1;
	color: #B0AABC;
	padding: 0 4px;
}

.wwb-cart-drawer__close:hover {
	color: #6B6577;
}

.wwb-cart-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
}

/* Le mini-cart cloné remplit la hauteur, le footer (total + CTAs) reste en bas. */
.wwb-cart-drawer__body .wwb-mini-cart {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.wwb-cart-drawer__body .wwb-mini-cart__list {
	flex: 1 1 auto;
}

body.wwb-cart-drawer-lock {
	overflow: hidden;
}

@media (max-width: 480px) {
	.wwb-cart-drawer__panel {
		width: 100%;
		max-width: 100%;
	}
}

/* ─────────────────────────────────────────────
   Toast d'ajout au panier (cart-toast.js) — remplacé par le drawer, conservé au cas où
   ───────────────────────────────────────────── */
.wwb-toast {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 400px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 12px;
	box-shadow: 0 14px 38px rgba(28, 20, 45, 0.16);
	font-family: 'Inter', system-ui, sans-serif;
	transform: translateX(calc(100% + 32px));
	opacity: 0;
	transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.38s ease;
	pointer-events: none;
}

.wwb-toast--visible {
	transform: translateX(0);
	opacity: 1;
	pointer-events: auto;
}

.wwb-toast__icon {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #E7F7EE;
	color: #1B9E5A;
}

.wwb-toast__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.wwb-toast__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
	line-height: 1.2;
}

.wwb-toast__text {
	font-size: 12px;
	color: #6B6577;
	max-width: 210px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wwb-toast__cta {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #E84B8A);
	text-decoration: none;
	white-space: nowrap;
	padding: 6px 10px;
	border-radius: 8px;
	transition: background 0.15s;
}

.wwb-toast__cta:hover {
	background: #FCE9F2;
}

.wwb-toast__close {
	flex: 0 0 auto;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	color: #B0AABC;
	padding: 0 2px;
}

.wwb-toast__close:hover {
	color: #6B6577;
}

@media (max-width: 600px) {
	.wwb-toast {
		top: 16px;
		left: 16px;
		right: 16px;
		max-width: none;
		transform: translateY(-150%);
	}
	.wwb-toast--visible {
		transform: translateY(0);
	}
}

.wwb-single__price--from.is-sale .wwb-single__price-amount {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
}

.wwb-single__price--from.is-sale .wwb-single__price-amount > .woocommerce-Price-amount {
	color: var(--wp--preset--color--primary-dark);
}

.wwb-single__price-old {
	font-size: 18px;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
	text-decoration: line-through;
	opacity: 1;
}

.wwb-single__price-old .woocommerce-Price-amount {
	color: inherit;
	font-weight: inherit;
}

.wwb-single__price-tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	background: var(--wp--preset--color--primary);
	color: #FFFFFF;
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

/* CTA buttons */
.wwb-single__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 16px;
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.15s;
	border: none;
}

.wwb-single__cta--primary {
	background: var(--wp--preset--color--secondary);
	color: #fff;
}

.wwb-single__cta--primary:hover {
	background: #6a63bf;
}

.wwb-single__cta--outline {
	background: transparent;
	color: var(--wp--preset--color--secondary);
	border: 2px solid var(--wp--preset--color--secondary);
	font-size: 15px;
	font-weight: 600;
}

.wwb-single__cta--outline:hover {
	background: rgba(123, 116, 208, 0.05);
}

.wwb-single__cta svg {
	flex-shrink: 0;
}

/* CTA Visu IA (fiche produit carrelage) */
.wwb-single__cta-visu {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 16px 0 20px;
	padding: 16px 20px;
	background: linear-gradient(135deg, #362C49, #241C34);
	border-radius: 14px;
	text-decoration: none;
	color: #fff;
	box-shadow: 0 8px 24px rgba(54, 44, 73, 0.15);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wwb-single__cta-visu:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(54, 44, 73, 0.28);
	color: #fff;
}

.wwb-single__cta-visu-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #FF99DA;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.wwb-single__cta-visu-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.wwb-single__cta-visu-text strong {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}

.wwb-single__cta-visu-text span {
	font-size: 12px;
	color: #C8BFDC;
}

.wwb-single__cta-visu-arrow {
	flex-shrink: 0;
	color: #FF99DA;
	transition: transform 0.15s ease;
}

.wwb-single__cta-visu:hover .wwb-single__cta-visu-arrow {
	transform: translateX(4px);
}

/* Reassurance */
.wwb-single__reassurance {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 20px;
}

.wwb-single__reassurance-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: var(--wp--preset--color--surface, #F8F7FC);
	font-size: 13px;
	color: var(--wp--preset--color--body);
}

.wwb-single__reassurance-item svg {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	color: var(--wp--preset--color--muted, #9490A6);
	margin-top: 2px;
}

.wwb-single__reassurance-item > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.wwb-single__reassurance-item strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	line-height: 1.3;
}

.wwb-single__reassurance-item span {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
	line-height: 1.4;
}

@media (max-width: 600px) {
	.wwb-single__reassurance { grid-template-columns: 1fr; }
}

/* ─── Specs Section ─── */
.wwb-single__specs {
	padding: 48px 0;
}

.wwb-single__specs h2 {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 24px;
}

.wwb-single__specs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.wwb-single__specs-col {
	display: flex;
	flex-direction: column;
}

.wwb-single__specs-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 16px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wwb-single__specs-label {
	font-size: 13px;
	color: var(--wp--preset--color--body);
}

.wwb-single__specs-value {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

/* ─── Reviews Section ─── */
.wwb-single__reviews {
	padding: 48px 0;
	background: var(--wp--preset--color--surface);
	margin: 0 -120px;
	padding-left: 120px;
	padding-right: 120px;
}

.wwb-single__reviews-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.wwb-single__reviews-header h2 {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0;
}

.wwb-single__reviews-score {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wwb-single__reviews-score-stars {
	color: #f59e0b;
	font-size: 16px;
}

.wwb-single__reviews-score-number {
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
}

.wwb-single__reviews-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.wwb-single__review-card {
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wwb-single__review-stars {
	color: #f59e0b;
	font-size: 14px;
}

.wwb-single__review-text {
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--foreground);
	margin: 0;
}

.wwb-single__review-author {
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
}

/* ─── Related Section ─── */
.wwb-single__related {
	padding: 48px 0;
}

.wwb-single__related h2 {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 24px;
}

.wwb-single__related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.wwb-single__related-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-decoration: none;
}

.wwb-single__related-card-img {
	background: var(--wp--preset--color--border);
	border-radius: 12px;
	aspect-ratio: 384 / 200;
	overflow: hidden;
}

.wwb-single__related-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wwb-single__related-card-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-single__related-card-price {
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--secondary);
}

/* ═══════════════════════════════════════════
   SHOP ARCHIVE — Listing / Catégorie
   ═══════════════════════════════════════════ */

.wwb-shop {
	width: 100%;
	margin-top: 0;
}

.wwb-shop__container {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 80px;
}

.wwb-shop__breadcrumbs {
	background: #F8F7FC;
	padding: 12px 0;
}

.wwb-shop__breadcrumbs-inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 80px;
}

.wwb-shop__breadcrumbs p {
	font-size: 12px;
	font-family: 'Inter', sans-serif;
	color: #9490A6;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
}

.wwb-shop__breadcrumbs a {
	color: #9490A6;
	text-decoration: none;
	font-weight: 400;
	transition: color .15s ease;
}

.wwb-shop__breadcrumbs a:hover {
	color: var(--wp--preset--color--secondary);
}

.wwb-shop__breadcrumbs .breadcrumb_last {
	color: #362C49;
	font-weight: 500;
}

.wwb-shop__breadcrumbs .wwb-breadcrumb__sep {
	color: #C8C4D4;
	font-size: 13px;
	line-height: 1;
}

.wwb-shop__header {
	padding: 40px 0 30px;
}

.wwb-shop__title {
	font-family: 'Playfair Display', serif;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.5px;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 16px;
}

.wwb-shop__description {
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
	max-width: 700px;
	margin: 0 0 16px;
}

.wwb-shop__meta {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	color: var(--wp--preset--color--body);
}

.wwb-shop__meta strong {
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__meta-dot {
	color: var(--wp--preset--color--muted);
}

/* Filters */
.wwb-shop__filters {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 24px;
}

.wwb-shop__filters-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__filters-pills {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.wwb-shop__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid #d1d5db;
	border-radius: 20px;
	background: transparent;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--wp--preset--color--foreground);
	cursor: pointer;
	transition: border-color 0.15s;
}

.wwb-shop__pill:hover {
	border-color: var(--wp--preset--color--secondary);
}

.wwb-shop__pill svg {
	flex-shrink: 0;
}

/* Product grid */
.wwb-shop .products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}

/* Pagination — sélecteurs renforcés (nav + .page-numbers) pour battre les
   styles par défaut du thème-bloc WooCommerce, avec !important ciblés. */
.wwb-shop nav.woocommerce-pagination {
	display: flex;
	justify-content: center;
	padding: 28px 0 32px;
}

.wwb-shop nav.woocommerce-pagination ul,
.wwb-shop nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0 !important;
}

.wwb-shop nav.woocommerce-pagination ul li {
	display: inline-flex;
	margin: 0;
	border: 0 !important;
}

/* Toutes les pastilles (liens + page courante) : même géométrie, pas de saut d'1px. */
.wwb-shop nav.woocommerce-pagination ul li a.page-numbers,
.wwb-shop nav.woocommerce-pagination ul li span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 42px !important;
	height: 42px;
	padding: 0 8px;
	border-radius: 12px;
	border: 1.5px solid #e7e5ec;
	background: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	color: var(--wp--preset--color--foreground, #262626);
	transition: background .15s, border-color .15s, color .15s;
}

.wwb-shop nav.woocommerce-pagination ul li a.page-numbers:hover {
	border-color: var(--wp--preset--color--secondary, #7B74D0);
	color: var(--wp--preset--color--secondary, #7B74D0);
	background: #f4f3fc;
}

/* Page courante : pleine, contrastée. */
.wwb-shop nav.woocommerce-pagination ul li span.page-numbers.current {
	background: var(--wp--preset--color--secondary, #7B74D0) !important;
	border-color: var(--wp--preset--color--secondary, #7B74D0) !important;
	color: #fff !important;
}

/* Flèches précédent / suivant un peu plus marquées. */
.wwb-shop nav.woocommerce-pagination ul li a.prev,
.wwb-shop nav.woocommerce-pagination ul li a.next {
	font-size: 18px;
	font-weight: 700;
}

/* Points de suspension (…) : pas de cadre, simple séparateur. */
.wwb-shop nav.woocommerce-pagination ul li span.page-numbers.dots {
	border-color: transparent !important;
	background: transparent !important;
	min-width: 24px !important;
	color: #9a96a6;
}

/* Guide */
.wwb-shop__guide {
	padding: 48px 0;
}

.wwb-shop__guide h2 {
	font-family: 'Inter', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 20px;
}

.wwb-shop__guide-list {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.wwb-shop__guide-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__guide-list li svg {
	flex-shrink: 0;
	color: var(--wp--preset--color--secondary);
}

.wwb-shop__guide-btn {
	display: inline-flex;
	align-items: center;
	padding: 12px 24px;
	background: var(--wp--preset--color--secondary);
	color: #fff;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s;
}

.wwb-shop__guide-btn:hover {
	background: #6a63bf;
	color: #fff;
}

/* ───────────────────────────────────────────
   SEO catégorie (intro, cats liées, contenu)
   Champs ACF — inc/wwb-category-seo.php
   ─────────────────────────────────────────── */

/* Intro sous le H1 — 90% de largeur pour remonter les produits */
.wwb-shop__intro {
	max-width: 90%;
	margin: 4px 0 4px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--wp--preset--color--body);
}
.wwb-shop__intro p { margin: 0 0 10px; }
.wwb-shop__intro p:last-child { margin-bottom: 0; }
.wwb-shop__intro a {
	color: var(--wp--preset--color--secondary);
	text-decoration: underline;
}

/* Encarts catégories sous l'intro (style Decathlon) */
.wwb-shop__topcats {
	margin: 20px 0 4px;
}
.wwb-shop__topcats-row {
	list-style: none;
	margin: 0;
	padding: 4px 0;
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.wwb-shop__topcats-row::-webkit-scrollbar { height: 6px; }
.wwb-shop__topcats-row::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--border);
	border-radius: 3px;
}
.wwb-shop__topcat {
	flex: 0 0 auto;
	scroll-snap-align: start;
}
.wwb-shop__topcat-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 172px;
	height: 68px;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	background: var(--wp--preset--color--primary-dark);
}
.wwb-shop__topcat-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
/* Voile sombre pour la lisibilité du texte */
.wwb-shop__topcat-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.55) 100%);
}
.wwb-shop__topcat-card:hover .wwb-shop__topcat-bg {
	transform: scale(1.06);
}
.wwb-shop__topcat-label {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	line-height: 1.25;
	padding: 0 12px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}
@media (max-width: 560px) {
	.wwb-shop__topcat-card { width: 144px; height: 60px; }
	.wwb-shop__topcat-label { font-size: 13px; }
}

/* Catégories liées (curées, max 4) */
.wwb-shop__related-cats {
	padding: 48px 0 8px;
}
.wwb-shop__related-cats-title {
	font-family: 'Inter', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 24px;
}
.wwb-shop__related-cats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.wwb-shop__related-cat-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
}
.wwb-shop__related-cat-card-img {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
}
.wwb-shop__related-cat-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}
.wwb-shop__related-cat-card:hover .wwb-shop__related-cat-card-img img {
	transform: scale(1.04);
}
.wwb-shop__related-cat-card:hover .wwb-shop__related-cat-card-img {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.wwb-shop__related-cat-card-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}
.wwb-shop__related-cat-card-count {
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}

/* Bloc contenu SEO long (bas de page) */
.wwb-shop__seo {
	padding: 40px 0 8px;
	margin-top: 8px;
	border-top: 1px solid var(--wp--preset--color--border);
}
.wwb-shop__seo-title {
	font-family: 'Inter', sans-serif;
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 20px;
}
.wwb-shop__seo-body {
	max-width: 860px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--wp--preset--color--body);
}
.wwb-shop__seo-body h2 {
	font-family: 'Inter', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 32px 0 12px;
}
.wwb-shop__seo-body h3 {
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	margin: 24px 0 10px;
}
.wwb-shop__seo-body p { margin: 0 0 14px; }
.wwb-shop__seo-body ul,
.wwb-shop__seo-body ol { margin: 0 0 16px; padding-left: 22px; }
.wwb-shop__seo-body li { margin-bottom: 6px; }
.wwb-shop__seo-body a {
	color: var(--wp--preset--color--secondary);
	text-decoration: underline;
}
.wwb-shop__seo-body a:hover { color: var(--wp--preset--color--primary-dark); }

/* Tableau comparatif structuré (champ ACF) */
.wwb-cmp {
	margin-top: 32px;
	max-width: 920px;
}
.wwb-cmp__title {
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 6px;
}
.wwb-cmp__intro {
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--body);
	margin: 0 0 16px;
}
.wwb-cmp__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
}
.wwb-cmp__table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 14px;
}
.wwb-cmp__table th,
.wwb-cmp__table td {
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.wwb-cmp__table thead th {
	background: var(--wp--preset--color--primary-dark);
	color: #fff;
	font-weight: 700;
	white-space: nowrap;
}
.wwb-cmp__table tbody th {
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	background: var(--wp--preset--color--surface);
	white-space: nowrap;
}
.wwb-cmp__table tbody td {
	color: var(--wp--preset--color--body);
}
.wwb-cmp__table tbody tr:nth-child(even) td {
	background: rgba(0, 0, 0, 0.015);
}
.wwb-cmp__table tbody tr:last-child th,
.wwb-cmp__table tbody tr:last-child td {
	border-bottom: 0;
}

/* FAQ catégorie (réutilise .wwb-shop__faq-item pour l'accordéon) */
.wwb-cat-faq {
	margin-top: 36px;
	max-width: 920px;
}
.wwb-cat-faq__title {
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 16px;
}
.wwb-cat-faq .wwb-shop__faq-item {
	border: 1px solid var(--wp--preset--color--border);
}

@media (max-width: 1024px) {
	.wwb-shop__related-cats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.wwb-shop__related-cats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.wwb-shop__seo { padding: 32px 0 8px; }
	.wwb-cmp__table th, .wwb-cmp__table td { padding: 10px 12px; }
}

/* Blog / Conseils */
.wwb-shop__blog {
	background: var(--wp--preset--color--surface);
	padding: 48px 0;
}

.wwb-shop__blog h2 {
	font-family: 'Inter', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 8px;
}

.wwb-shop__blog-intro {
	font-size: 14px;
	color: var(--wp--preset--color--body);
	margin: 0 0 24px;
}

.wwb-shop__blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.wwb-shop__blog-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-decoration: none;
}

.wwb-shop__blog-card-img {
	width: 100%;
	aspect-ratio: 387 / 180;
	background: var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
}

.wwb-shop__blog-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wwb-shop__blog-card-title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__blog-card:hover .wwb-shop__blog-card-title {
	color: var(--wp--preset--color--secondary);
}

.wwb-shop__blog-empty {
	font-size: 14px;
	color: var(--wp--preset--color--muted);
	grid-column: 1 / -1;
	text-align: center;
	padding: 24px;
}

/* ─── Category card icon placeholder ─── */
.wwb-shop__style-card-icon {
	font-size: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* ─── Process commande (menuiserie) ─── */
/* ─── Process : 3 étapes avec badges + icônes + liaison ─── */
.wwb-shop__process {
	padding: 64px 0 56px;
}

.wwb-shop__process-head {
	text-align: center;
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.wwb-shop__process-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #FF99DA;
}

.wwb-shop__process h2 {
	font-family: 'Playfair Display', serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground, #362C49);
	margin: 0;
	line-height: 1.2;
}

.wwb-shop__process-intro {
	font-size: 14px;
	color: var(--wp--preset--color--body, #5A5670);
	margin: 0;
}

.wwb-shop__process-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	position: relative;
}

/* Ligne pointillée entre les 3 étapes (desktop) */
.wwb-shop__process-grid::before {
	content: "";
	position: absolute;
	top: 78px;
	left: 16%;
	right: 16%;
	height: 2px;
	background-image: linear-gradient(to right, #7B74D0 50%, transparent 50%);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	z-index: 0;
	opacity: 0.35;
}

.wwb-shop__process-step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 0 16px;
	text-align: center;
}

.wwb-shop__process-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 20px;
	background: rgba(123, 116, 208, 0.12);
	color: #7B74D0;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
}

.wwb-shop__process-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid #ECEAF0;
	color: #7B74D0;
	margin-top: 4px;
	box-shadow: 0 4px 12px rgba(54, 44, 73, 0.05);
}

.wwb-shop__process-step strong {
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground, #362C49);
	margin-top: 2px;
}

.wwb-shop__process-step p {
	font-size: 13px;
	color: var(--wp--preset--color--body, #5A5670);
	line-height: 1.55;
	margin: 0;
	max-width: 260px;
}

@media (max-width: 768px) {
	.wwb-shop__process-grid { grid-template-columns: 1fr; gap: 28px; }
	.wwb-shop__process-grid::before { display: none; }
}

/* ─── Responsive Single Product ─── */
@media (max-width: 1024px) {
	.wwb-single {
		padding: 0 40px;
	}

	.wwb-single__hero {
		flex-direction: column;
		gap: 32px;
	}

	.wwb-single__gallery {
		width: 100%;
		max-width: 500px;
		position: static; /* pas de sticky en colonne sur mobile */
	}

	.wwb-single__reviews {
		margin: 0 -40px;
		padding-left: 40px;
		padding-right: 40px;
	}

	.wwb-single__specs-grid {
		grid-template-columns: 1fr;
	}

	.wwb-single__reviews-grid {
		grid-template-columns: 1fr;
	}

	.wwb-single__related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.wwb-single {
		padding: 0 20px;
	}

	.wwb-single__details h1 {
		font-size: 22px;
	}

	.wwb-single__price-amount {
		font-size: 26px;
	}

	.wwb-single__config-dims {
		flex-direction: column;
	}

	.wwb-single__config-options {
		flex-direction: column;
	}

	.wwb-single__reviews {
		margin: 0 -20px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.wwb-single__related-grid {
		grid-template-columns: 1fr;
	}
}

/* ─── Responsive Shop Archive ─── */
@media (max-width: 1024px) {
	.wwb-shop__container {
		padding: 0 40px;
	}

	.wwb-shop .products {
		grid-template-columns: repeat(3, 1fr);
	}

	.wwb-shop__blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.wwb-shop__container {
		padding: 0 20px;
	}

	.wwb-shop__title {
		font-size: 28px;
	}

	.wwb-shop .products {
		grid-template-columns: repeat(2, 1fr);
	}

	.wwb-shop__blog-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.wwb-shop .products {
		grid-template-columns: 1fr;
	}

	.wwb-shop__filters-pills {
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
	}
}

/* ═══════════════════════════════════════════════════════
   CARD — Specs compactes + CTA Configurer (v5.1)
   ═══════════════════════════════════════════════════════ */

.wwb-product-card__specs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--wp--preset--color--muted);
	margin-top: 2px;
	line-height: 1.4;
}

.wwb-product-card__specs-dot {
	opacity: 0.5;
}

.wwb-product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 14px;
	border: 1.5px solid var(--wp--preset--color--secondary);
	border-radius: 8px;
	color: var(--wp--preset--color--secondary);
	font-size: 12px;
	font-weight: 600;
	margin-top: 10px;
	transition: background 0.2s, color 0.2s;
	width: 100%;
	box-sizing: border-box;
}

.wwb-product-card__cta svg {
	transition: transform 0.2s;
}

.wwb-product-card:hover .wwb-product-card__cta {
	background: var(--wp--preset--color--secondary);
	color: #fff;
}

.wwb-product-card:hover .wwb-product-card__cta svg {
	transform: translateX(3px);
}

/* ═══════════════════════════════════════════════════════
   SHOP FILTERS — Layout horizontal avec tri à droite (v5.1)
   ═══════════════════════════════════════════════════════ */

.wwb-shop__filters {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	flex-direction: row !important;
}

.wwb-shop__filters-left {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1 1 auto;
	min-width: 0;
}

.wwb-shop__sort {
	flex: 0 0 auto;
	margin-top: 4px;
	margin-left: auto; /* tri toujours ancré à droite, même sans pills */
}

.wwb-shop__sort-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	background: #fff;
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--foreground);
	cursor: pointer;
	transition: border-color 0.2s;
	position: relative;
}

.wwb-shop__sort-label:hover {
	border-color: var(--wp--preset--color--secondary);
}

.wwb-shop__sort-label > span {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

.wwb-shop__sort-select {
	border: none;
	background: transparent;
	font: inherit;
	color: var(--wp--preset--color--foreground);
	font-weight: 600;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	padding-right: 4px;
	outline: none;
}

.wwb-shop__sort-select::-ms-expand {
	display: none;
}

@media (max-width: 768px) {
	.wwb-shop__filters {
		flex-direction: column !important;
		align-items: stretch;
	}
	.wwb-shop__sort {
		margin-top: 0;
	}
	.wwb-shop__sort-label {
		width: 100%;
		justify-content: space-between;
	}
}

/* ═══════════════════════════════════════════════════════
   SHOP — Sections benchmark (v5.1)
   Certifications · Cross-sell · Comparatif · Témoignages
   FAQ · Conseil + Newsletter
   ═══════════════════════════════════════════════════════ */

/* Section header (titre + lien voir tous) */
.wwb-shop__section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.wwb-shop__section-header h2 { margin: 0; }

.wwb-shop__see-all {
	color: var(--wp--preset--color--secondary);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.wwb-shop__see-all:hover { text-decoration: underline; }

/* Bandeau certifications — full-width pink reassurance band */
.wwb-shop__certifications {
	background: #FFF0F9;
	border-top: 1px solid rgba(255, 153, 218, 0.4);
	border-bottom: 1px solid rgba(255, 153, 218, 0.4);
	padding: 28px 0;
	margin-top: 48px;
	margin-bottom: 48px;
}

.wwb-shop__certifications-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}

.wwb-shop__cert-item {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1 1 auto;
}

.wwb-shop__cert-badge {
	width: 40px;
	height: 40px;
	min-width: 40px;
	border-radius: 10px;
	background: #FFFFFF;
	color: var(--wp--preset--color--primary, #FF99DA);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wwb-shop__cert-item > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.35;
}

.wwb-shop__cert-item strong {
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
	line-height: 1.3;
}

.wwb-shop__cert-item span {
	font-family: Inter, sans-serif;
	font-size: 12px;
	color: #7B7488;
}

/* Cross-sell */
.wwb-shop__crosssell { margin-bottom: 48px; }

.wwb-shop__crosssell-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.wwb-shop__crosssell-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wwb-radius-card);
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wwb-shop__crosssell-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
}

.wwb-shop__crosssell-card-img {
	height: 140px;
	background: var(--wp--preset--color--surface);
	display: flex;
	align-items: center;
	justify-content: center;
}

.wwb-shop__crosssell-card-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

.wwb-shop__crosssell-card-body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wwb-shop__crosssell-card-body strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__crosssell-card-body span {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
}

/* Comparatif matériaux */
.wwb-shop__materials {
	background: var(--wp--preset--color--surface);
	padding: 48px;
	margin: 0 -48px 48px;
}

.wwb-shop__materials h2 { margin: 0 0 24px; }

.wwb-shop__materials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.wwb-shop__material-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: var(--wwb-radius-card);
	background: #fff;
	border: 1px solid var(--wp--preset--color--border);
}

.wwb-shop__material-card--highlight {
	border: 2px solid var(--wp--preset--color--secondary);
}

.wwb-shop__material-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.wwb-shop__material-title {
	font-family: var(--wp--preset--font-family--playfair, serif);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__material-badge {
	font-size: 10px;
	font-weight: 700;
	color: #fff;
	background: var(--wp--preset--color--secondary);
	padding: 4px 10px;
	border-radius: 12px;
}

.wwb-shop__material-card p {
	font-size: 13px;
	color: var(--wp--preset--color--muted-dark, #5A5670);
	line-height: 1.5;
	margin: 0;
}

.wwb-shop__material-price {
	font-size: 12px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

.wwb-shop__material-card--highlight .wwb-shop__material-price {
	color: var(--wp--preset--color--secondary);
}

/* Témoignages */
.wwb-shop__testimonials { margin-bottom: 48px; }

.wwb-shop__testimonials-intro {
	font-size: 12px;
	color: var(--wp--preset--color--muted);
	margin: 4px 0 0;
}

.wwb-shop__testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.wwb-shop__testimonial {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: var(--wwb-radius-card);
	background: var(--wp--preset--color--surface);
}

.wwb-shop__testimonial-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wwb-shop__testimonial-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	flex-shrink: 0;
}

.wwb-shop__testimonial-head div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wwb-shop__testimonial-head strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__testimonial-head span {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
}

.wwb-shop__testimonial-stars {
	color: var(--wp--preset--color--primary);
	font-size: 13px;
	letter-spacing: 2px;
}

.wwb-shop__testimonial blockquote {
	font-size: 13px;
	font-style: italic;
	color: var(--wp--preset--color--foreground);
	line-height: 1.5;
	margin: 0;
}

.wwb-shop__testimonial-product {
	font-size: 11px;
	color: var(--wp--preset--color--muted);
}

/* FAQ */
.wwb-shop__faq {
	background: var(--wp--preset--color--surface);
	padding: 48px 0;
	margin: 0 0 48px;
}

.wwb-shop__faq h2 { margin: 0 0 20px; }

.wwb-shop__faq-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-shop__faq-item {
	background: #fff;
	border-radius: 10px;
	padding: 18px 20px;
	transition: box-shadow 0.2s;
}

.wwb-shop__faq-item[open] {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.wwb-shop__faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
}

.wwb-shop__faq-item summary::-webkit-details-marker { display: none; }

.wwb-shop__faq-icon {
	color: var(--wp--preset--color--secondary);
	flex-shrink: 0;
	transition: transform 0.2s;
}

.wwb-shop__faq-item[open] .wwb-shop__faq-icon {
	transform: rotate(45deg);
}

.wwb-shop__faq-item p {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--wp--preset--color--muted-dark, #5A5670);
	line-height: 1.6;
}

/* ─── Aide centralisée : 3 canaux (phone / visio / email) ─── */
.wwb-shop__help {
	margin: 0 0 48px;
	border-radius: var(--wwb-radius-card);
	background: linear-gradient(135deg, #362C49 0%, #7B74D0 100%);
	color: #fff;
	padding: 40px;
}
.wwb-shop__help-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
	gap: 40px;
	align-items: center;
}
.wwb-shop__help-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.wwb-shop__help-eyebrow {
	color: #FF99DA;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.wwb-shop__help h2 {
	font-family: 'Playfair Display', serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	margin: 0;
}
.wwb-shop__help-intro {
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
}
.wwb-shop__help-channels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.wwb-shop__help-channel {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 16px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	color: #fff;
	text-decoration: none;
	transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
.wwb-shop__help-channel:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
}
.wwb-shop__help-channel-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.14);
	color: #FF99DA;
	margin-bottom: 10px;
}
.wwb-shop__help-channel-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
}
.wwb-shop__help-channel-value {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}
.wwb-shop__help-channel-sub {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
	margin-top: 2px;
}
@media (max-width: 1024px) {
	.wwb-shop__help-inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 768px) {
	.wwb-shop__help { padding: 28px 24px; }
	.wwb-shop__help-channels { grid-template-columns: 1fr; }
}

/* ─── Newsletter compacte (juste avant footer) ─── */
.wwb-shop__newsletter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 22px 28px;
	margin: 48px 0 32px;
	background: #F8F7FC;
	border: 1px solid #ECEAF0;
	border-radius: 12px;
	flex-wrap: wrap;
}
.wwb-shop__newsletter-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.wwb-shop__newsletter-text strong {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #362C49;
}
.wwb-shop__newsletter-text span {
	font-size: 12px;
	color: #5A5670;
}
.wwb-shop__newsletter-form {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}
.wwb-shop__newsletter-form input[type="email"] {
	padding: 10px 14px;
	min-width: 240px;
	border: 1px solid #D4D0DE;
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	font-family: inherit;
}
.wwb-shop__newsletter-form input[type="email"]:focus {
	outline: none;
	border-color: #7B74D0;
}
.wwb-shop__newsletter-form button {
	padding: 10px 18px;
	background: #FF99DA;
	color: #362C49;
	border: none;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	transition: filter .15s ease;
}
.wwb-shop__newsletter-form button:hover { filter: brightness(0.95); }
@media (max-width: 640px) {
	.wwb-shop__newsletter { flex-direction: column; align-items: stretch; }
	.wwb-shop__newsletter-form { flex-direction: column; }
	.wwb-shop__newsletter-form input[type="email"] { min-width: 0; width: 100%; }
}

/* Responsive */
@media (max-width: 1024px) {
	.wwb-shop__certifications { grid-template-columns: repeat(3, 1fr); }
	.wwb-shop__crosssell-grid { grid-template-columns: repeat(2, 1fr); }
	.wwb-shop__materials-grid { grid-template-columns: 1fr; }
	.wwb-shop__testimonials-grid { grid-template-columns: 1fr; }
	.wwb-shop__advice { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
	.wwb-shop__certifications { grid-template-columns: repeat(2, 1fr); padding: 18px; }
	.wwb-shop__crosssell-grid { grid-template-columns: 1fr; }
	.wwb-shop__materials,
	.wwb-shop__faq { padding: 32px 0; }
}

/* Coloris menuiserie (non-variation) — active state + label inline */
.wwb-color-swatches__swatch.is-active {
	border-color: var(--wp--preset--color--secondary, #7B74D0);
	box-shadow: 0 0 0 2px var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-single__config-title .wwb-single__color-label {
	font-size: 12px;
	color: var(--wp--preset--color--muted);
	font-weight: 500;
	margin-left: 8px;
}

/* Numéros d'étape dans les titres de config */
.wwb-single__config-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--secondary, #7B74D0);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
}

.wwb-single__config-title strong {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground, #362C49);
}

/* Respire entre "sur mesure" et la section suivante (vitrage) */
.wwb-single__custom-link {
	margin-bottom: 28px;
}

.wwb-single__custom-link + .wwb-single__config-section {
	margin-top: 8px;
	padding-top: 4px;
}

/* Espace Pro — reset margin/padding du main pour un layout edge-to-edge */
body.page-id-1368 main.wp-block-group,
body.page-inscription-pro main.wp-block-group {
	margin: 0 !important;
	padding: 0 !important;
}
body.page-id-1368 main.wp-block-group > *,
body.page-inscription-pro main.wp-block-group > * {
	margin-top: 0 !important;
}

/* ─── Cart — bouton secondaire "Transformer en devis" ─── */
.wwb-cart__devis-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 10px;
	padding: 13px 20px;
	background: transparent;
	color: var(--wp--preset--color--foreground, #1a1a2e);
	border: 1.5px solid var(--wp--preset--color--foreground, #1a1a2e);
	border-radius: 10px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.wwb-cart__devis-btn:hover,
.wwb-cart__devis-btn:focus-visible {
	background: var(--wp--preset--color--foreground, #1a1a2e);
	color: #fff;
}

/* ─── Modal générique WWB ─── */
body.wwb-modal-open { overflow: hidden; }

.wwb-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	animation: wwbModalFade 0.18s ease-out;
}
@keyframes wwbModalFade { from { opacity: 0 } to { opacity: 1 } }

.wwb-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 30, 0.55);
}

.wwb-modal__dialog {
	position: relative;
	background: #fff;
	border-radius: 14px;
	padding: 32px 32px 28px;
	max-width: 520px;
	width: 100%;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.wwb-modal__close {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 34px;
	height: 34px;
	background: transparent;
	border: none;
	font-size: 26px;
	line-height: 1;
	color: #71717A;
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.15s ease;
}
.wwb-modal__close:hover { background: #f4f4f5; color: #18181B; }

.wwb-modal__title {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground, #1a1a2e);
}

.wwb-modal__lead {
	margin: 0 0 20px;
	font-size: 14px;
	color: #52525B;
	line-height: 1.5;
}

/* ─── Formulaire devis ─── */
.wwb-devis-form { display: flex; flex-direction: column; gap: 14px; }
.wwb-devis-row  { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .wwb-devis-row { grid-template-columns: 1fr; } }

.wwb-devis-field label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 5px;
	color: var(--wp--preset--color--foreground, #1a1a2e);
}
.wwb-devis-field label small { color: #71717A; font-weight: 400; }

.wwb-devis-field input,
.wwb-devis-field select,
.wwb-devis-field textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 14px;
	color: #1a1a2e;
	background: #fafafa;
	border: 1px solid #E4E4E7;
	border-radius: 8px;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.wwb-devis-field input:focus,
.wwb-devis-field select:focus,
.wwb-devis-field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--foreground, #1a1a2e);
	background: #fff;
}
.wwb-devis-field input.is-invalid,
.wwb-devis-field select.is-invalid {
	border-color: #DC2626;
	background: #FEF2F2;
}
.wwb-devis-field textarea { resize: vertical; min-height: 72px; }

.wwb-devis-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-bottom: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: #3f3f46;
	cursor: pointer;
}
.wwb-devis-checkbox input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	flex: 0 0 auto;
	accent-color: var(--wp--preset--color--foreground, #1a1a2e);
	cursor: pointer;
}

/* Autocomplétion d'adresse BAN (checkout) */
.wwb-ban-wrap { position: relative; }
.wwb-ban-suggestions {
	display: none;
	position: absolute;
	z-index: 1000;
	left: 0;
	right: 0;
	margin: 2px 0 0;
	padding: 4px;
	list-style: none;
	background: #fff;
	border: 1px solid #E4E4E7;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	max-height: 240px;
	overflow-y: auto;
}
.wwb-ban-item {
	padding: 8px 10px;
	font-size: 14px;
	color: #1a1a2e;
	border-radius: 6px;
	cursor: pointer;
}
.wwb-ban-item:hover,
.wwb-ban-item.is-active {
	background: #f4f4f5;
}

/* Case CGV native WooCommerce (au-dessus du bouton payer) */
.wwb-checkout__place-order .woocommerce-terms-and-conditions-wrapper { margin: 0 0 14px; }
.wwb-checkout__place-order .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; padding: 0; }
.wwb-checkout__place-order .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13px;
	line-height: 1.4;
	color: #3f3f46;
	cursor: pointer;
}
.wwb-checkout__place-order .woocommerce-form__input-checkbox {
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	flex: 0 0 auto;
	accent-color: var(--wp--preset--color--foreground, #1a1a2e);
	cursor: pointer;
}
.wwb-checkout__place-order .woocommerce-terms-and-conditions-checkbox-text a { text-decoration: underline; }
.wwb-checkout__place-order .woocommerce-terms-and-conditions-wrapper .required { color: #DC2626; border: 0; }

.wwb-devis-actions {
	display: flex;
	gap: 10px;
	margin-top: 6px;
}
.wwb-devis-cancel {
	flex: 0 0 auto;
	padding: 11px 18px;
	background: transparent;
	color: #52525B;
	border: 1px solid #E4E4E7;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}
.wwb-devis-cancel:hover { background: #f4f4f5; }

.wwb-devis-submit {
	flex: 1;
	padding: 12px 18px;
	background: var(--wp--preset--color--primary, #FF9DDA);
	color: var(--wp--preset--color--primary-dark, #1a1a2e);
	border: none;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 700;
	font-family: var(--wp--preset--font-family--body, inherit);
	cursor: pointer;
	transition: background 0.2s ease;
}
.wwb-devis-submit:hover:not(:disabled) { background: #FF80CE; }
.wwb-devis-submit:disabled { opacity: 0.55; cursor: wait; }

.wwb-devis-feedback {
	margin: 4px 0 0;
	font-size: 13px;
	min-height: 18px;
}
.wwb-devis-feedback.is-error { color: #DC2626; }

.wwb-devis-success {
	text-align: center;
	padding: 10px 0 4px;
	color: var(--wp--preset--color--foreground, #1a1a2e);
}
.wwb-devis-success svg { color: #16A34A; margin-bottom: 8px; }
.wwb-devis-success h3 { margin: 0 0 6px; font-size: 20px; }
.wwb-devis-success p { margin: 0 0 20px; font-size: 14px; color: #52525B; line-height: 1.5; }

/* ─────────────────────────────────────────────
   Carrelage — Image-forward archive layout
   ───────────────────────────────────────────── */

/* Card variant : no chrome, large square image, name + price /m² only.
   Specificity bumped to win over `.woocommerce ul.products li.product` rules
   defined in woocommerce.css. */
.woocommerce ul.products li.product.wwb-product-card--carrelage,
.wwb-product-card--carrelage {
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
	transition: none;
}

.woocommerce ul.products li.product.wwb-product-card--carrelage:hover,
.wwb-product-card--carrelage:hover {
	box-shadow: none;
	transform: none;
}

.wwb-product-card--carrelage .wwb-product-card__image {
	position: relative;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 0;
	background: var(--wp--preset--color--surface, #F4F1F9);
}

/* Image fit-in (contain) pour voir tout le visuel sans crop, fond gris clair en letterbox.
   Specificity bumped pour battre `.woocommerce ul.products li.product a img` (woocommerce.css).
   Les 2 images (lifestyle + solo) sont superposées : crossfade au hover. */
.woocommerce ul.products li.product.wwb-product-card--carrelage .wwb-product-card__image img,
.wwb-product-card--carrelage .wwb-product-card__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: opacity 0.25s ease;
}

/* Lifestyle visible au repos */
.wwb-product-card--carrelage .wwb-product-card__lifestyle {
	opacity: 1;
}

/* Solo masquée au repos */
.wwb-product-card--carrelage .wwb-product-card__solo {
	opacity: 0;
}

/* Hover : crossfade vers la photo "produit seul" (uniquement si la solo existe dans le markup) */
.wwb-product-card--carrelage:has(.wwb-product-card__solo):hover .wwb-product-card__lifestyle {
	opacity: 0;
}

.wwb-product-card--carrelage:hover .wwb-product-card__solo {
	opacity: 1;
}

/* Fallback : si pas de solo (pas de gallery), garder l'opacity 0.92 sur hover de la lifestyle seule */
.wwb-product-card--carrelage:not(:has(.wwb-product-card__solo)):hover .wwb-product-card__lifestyle {
	opacity: 0.92;
}

/* Produits Zenon (SdB/SPC) : visuels 16:9 → cover plein cadre au lieu du letterbox contain */
.woocommerce ul.products li.product.wwb-product-card--zenon .wwb-product-card__image img,
.wwb-product-card--zenon .wwb-product-card__image img {
	object-fit: cover;
}

.wwb-product-card--carrelage .wwb-product-card__title {
	transition: color 0.15s ease;
}

.wwb-product-card--carrelage:hover .wwb-product-card__title {
	color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-product-card--carrelage .wwb-product-card__badge {
	top: 14px;
	left: 14px;
}

.wwb-product-card--carrelage .wwb-product-card__content {
	padding: 14px 0 0;
	gap: 4px;
}

/* Spécificité renforcée : bat la règle WooCommerce
   `.woocommerce ul.products li.product h3 { font-size:1em }` (0,3,3). */
.woocommerce ul.products li.product.wwb-product-card--carrelage .wwb-product-card__title {
	font-size: 17px;
	font-weight: 600;
}

.wwb-product-card--carrelage .wwb-product-card__price {
	margin-top: 2px;
}

.wwb-product-card--carrelage .wwb-product-card__price .woocommerce-Price-amount {
	font-size: 16px;
	color: var(--wp--preset--color--foreground, #262626);
}

/* Hide chrome we don't want on carrelage cards */
.wwb-product-card--carrelage .wwb-product-card__rating,
.wwb-product-card--carrelage .wwb-product-card__negoce,
.wwb-product-card--carrelage .wwb-product-card__material,
.wwb-product-card--carrelage .wwb-product-card__specs {
	display: none;
}

/* Rappel coloris sur la carte carrelage */
.wwb-product-card__swatches {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	margin: 6px 0 2px;
}
.wwb-product-card__swatch {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	overflow: hidden;
	display: block;
	flex: 0 0 auto;
	box-shadow: 0 0 0 1px var(--wp--preset--color--border, #d9d9d9);
}
.wwb-product-card__swatch img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wwb-product-card__swatch.is-active {
	box-shadow: 0 0 0 2px var(--wp--preset--color--primary-dark, #362C49);
}
.wwb-product-card__swatch-more {
	font-size: 11px;
	font-weight: 600;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
}
.wwb-product-card__swatch-label {
	font-size: 11px;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
	margin-left: 2px;
}

/* 2-col archive layout : sidebar filters + product grid */
.wwb-shop__layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 32px;
	align-items: start;
	margin-bottom: 24px;
}

.wwb-shop__layout .wwb-shop__main {
	min-width: 0;
}

.wwb-shop__layout .wwb-shop__main .products {
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.wwb-shop__layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* Sidebar */
.wwb-shop__sidebar {
	font-family: 'Inter', sans-serif;
}

/* Sidebar filtres collante au scroll, ancrée en bas (archives 2 colonnes).
   Le `top` est recalculé en JS selon la hauteur de la sidebar : si elle est
   plus haute que l'écran, on scrolle pour révéler son bas puis elle suit
   (voir wwb_cat_seo : script wp_footer). Valeur de repli ci-dessous. */
.wwb-shop__layout .wwb-shop__sidebar {
	position: sticky;
	top: 120px;
	align-self: start;
}
@media (max-width: 1024px) {
	.wwb-shop__layout .wwb-shop__sidebar {
		position: static;
	}
}

.wwb-shop__sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-shop__sidebar-title {
	font-family: 'Playfair Display', serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
	margin: 0;
}

.wwb-shop__sidebar-clear {
	background: none;
	border: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--secondary, #7B74D0);
	cursor: pointer;
	text-decoration: underline;
}

.wwb-shop__sidebar-section {
	border-bottom: 1px solid var(--wp--preset--color--border, #ECEAF0);
	padding: 18px 0;
}

.wwb-shop__sidebar-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #362C49);
	background: none;
	border: 0;
	padding: 0;
	width: 100%;
	text-align: left;
}

.wwb-shop__sidebar-section-head svg {
	color: var(--wp--preset--color--muted, #9490A6);
	transition: transform .2s ease;
}

.wwb-shop__sidebar-section[open] .wwb-shop__sidebar-section-head svg {
	transform: rotate(45deg);
}

.wwb-shop__sidebar-section-body {
	padding-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-shop__sidebar-option {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--wp--preset--color--foreground, #262626);
	cursor: pointer;
}

.wwb-shop__sidebar-option input {
	margin: 0;
	accent-color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-shop__sidebar-option-count {
	margin-left: auto;
	font-size: 12px;
	color: var(--wp--preset--color--muted, #9490A6);
}

.wwb-shop__sidebar-formats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
}

/* Native select dropdown (used for Format filter) */
.wwb-shop__sidebar-section--select {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wwb-shop__sidebar-section--select .wwb-shop__sidebar-section-head {
	cursor: default;
}

.wwb-shop__sidebar-select-wrap {
	position: relative;
}

.wwb-shop__sidebar-select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding: 9px 32px 9px 12px;
	border: 1px solid var(--wp--preset--color--border, #ECEAF0);
	border-radius: 6px;
	background: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--wp--preset--color--primary-dark, #362C49);
	cursor: pointer;
	line-height: 1.3;
}

.wwb-shop__sidebar-select:hover {
	border-color: var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-shop__sidebar-select:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-shop__sidebar-select-chevron {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--muted, #9490A6);
	pointer-events: none;
}

.wwb-shop__sidebar-format {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px 0;
	border: 1px solid var(--wp--preset--color--border, #ECEAF0);
	background: #fff;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 500;
	color: var(--wp--preset--color--primary-dark, #362C49);
	cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
	user-select: none;
}

.wwb-shop__sidebar-format input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}

.wwb-shop__sidebar-format:hover {
	border-color: var(--wp--preset--color--primary-dark, #362C49);
}

.wwb-shop__sidebar-format:has(input:checked) {
	border-color: var(--wp--preset--color--primary-dark, #362C49);
	background: var(--wp--preset--color--primary-dark, #362C49);
	color: #fff;
}

.wwb-shop__sidebar-option:has(input:checked) > span:not(.wwb-shop__sidebar-option-count) {
	color: var(--wp--preset--color--secondary, #7B74D0);
	font-weight: 600;
}

/* Famille (sub-categories) — nav links */
.wwb-shop__sidebar-fam {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wwb-shop__sidebar-fam-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
	font-size: 13px;
	color: var(--wp--preset--color--foreground, #262626);
	text-decoration: none;
	transition: color .15s;
}

.wwb-shop__sidebar-fam-link:hover {
	color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-shop__sidebar-fam-link.is-active {
	color: var(--wp--preset--color--secondary, #7B74D0);
	font-weight: 600;
}

/* Price range inputs */
.wwb-shop__sidebar-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wwb-shop__sidebar-price-inputs input {
	flex: 1;
	min-width: 0;
	padding: 7px 10px;
	border: 1px solid var(--wp--preset--color--border, #ECEAF0);
	border-radius: 6px;
	font-size: 13px;
	font-family: 'Inter', sans-serif;
	color: var(--wp--preset--color--primary-dark, #362C49);
	background: #fff;
	-moz-appearance: textfield;
}

.wwb-shop__sidebar-price-inputs input::-webkit-outer-spin-button,
.wwb-shop__sidebar-price-inputs input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wwb-shop__sidebar-price-inputs input:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-shop__sidebar-price-sep {
	color: var(--wp--preset--color--muted, #9490A6);
}

.wwb-shop__sidebar-price-hint {
	margin: 10px 0 0;
	font-size: 11px;
	color: var(--wp--preset--color--muted, #9490A6);
}

/* Active count badge in sidebar title */
.wwb-shop__sidebar-count {
	color: var(--wp--preset--color--secondary, #7B74D0);
	font-size: 16px;
	font-weight: 600;
}

.wwb-shop__sidebar-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wwb-shop__sidebar-swatch {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--border, #ECEAF0);
	cursor: pointer;
	padding: 0;
}

.wwb-shop__sidebar-swatch.is-active {
	border-width: 2px;
	border-color: var(--wp--preset--color--secondary, #7B74D0);
	box-shadow: 0 0 0 2px #fff inset;
}

.wwb-shop__sidebar-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 18px;
	padding: 14px 0;
	background: var(--wp--preset--color--primary-dark, #362C49);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

/* 4-col grid pour carrelage archives au desktop (avec sidebar filtres) */
.wwb-shop__layout .wwb-shop__main .products {
	grid-template-columns: repeat(4, 1fr);
	gap: 24px 16px;
}

@media (max-width: 1024px) {
	.wwb-shop__layout .wwb-shop__main .products {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.wwb-shop__layout .wwb-shop__main .products {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ─── Sibling carrelage chips (variantes même collection Cifre) ─── */
.wwb-single__siblings {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wwb-single__siblings-label {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
	font-weight: 600;
}

.wwb-single__siblings-chips {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wwb-single__siblings-chip {
	display: flex;
}

.wwb-single__siblings-chip > a,
.wwb-single__siblings-chip > span {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--wwb-radius-pill, 100px);
	border: 1px solid var(--wp--preset--color--border, #d9d9d9);
	background: #fff;
	color: var(--wp--preset--color--text, #1a1a1a);
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.wwb-single__siblings-chip > a:hover,
.wwb-single__siblings-chip > a:focus-visible {
	border-color: var(--wp--preset--color--primary, #1a1a1a);
	color: var(--wp--preset--color--primary, #1a1a1a);
	outline: none;
}

.wwb-single__siblings-chip.is-active > span {
	background: var(--wp--preset--color--primary, #1a1a1a);
	color: #fff;
	border-color: var(--wp--preset--color--primary, #1a1a1a);
	cursor: default;
}

.wwb-single__siblings-chip-format {
	font-weight: 600;
}

.wwb-single__siblings-chip-meta {
	font-weight: 400;
	font-size: 0.85em;
	opacity: 0.8;
}

/* ═══════════════════════════════════════════
   Maillage carrelage : coloris (pastilles visuelles) + dimensions — 2026-06-11
   ═══════════════════════════════════════════ */
.wwb-single__variants {
	margin: 18px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wwb-single__variants-label {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
	font-weight: 600;
}
.wwb-single__variants-label strong {
	color: var(--wp--preset--color--primary-dark, #1a1a1a);
	font-weight: 700;
}

/* Pastilles coloris */
.wwb-single__swatches {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.wwb-single__swatch > a,
.wwb-single__swatch > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 64px;
	text-decoration: none;
}
.wwb-single__swatch img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	border: 2px solid transparent;
	box-shadow: 0 0 0 1px var(--wp--preset--color--border, #d9d9d9);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.wwb-single__swatch > a:hover img,
.wwb-single__swatch > a:focus-visible img {
	border-color: var(--wp--preset--color--primary, #7B74D0);
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary, #7B74D0);
	outline: none;
}
.wwb-single__swatch.is-active img {
	border-color: var(--wp--preset--color--primary-dark, #362C49);
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary-dark, #362C49);
}
.wwb-single__swatch-name {
	font-size: 11px;
	line-height: 1.2;
	text-align: center;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
	max-width: 64px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.wwb-single__swatch.is-active .wwb-single__swatch-name {
	color: var(--wp--preset--color--primary-dark, #362C49);
	font-weight: 600;
}

/* Pills dimensions */
.wwb-single__formats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.wwb-single__format > a,
.wwb-single__format > span {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: var(--wwb-radius-pill, 100px);
	border: 1px solid var(--wp--preset--color--border, #d9d9d9);
	background: #fff;
	color: var(--wp--preset--color--text, #1a1a1a);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.wwb-single__format > a:hover,
.wwb-single__format > a:focus-visible {
	border-color: var(--wp--preset--color--primary, #7B74D0);
	color: var(--wp--preset--color--primary, #7B74D0);
	outline: none;
}
.wwb-single__format.is-active > span {
	background: var(--wp--preset--color--primary-dark, #362C49);
	color: #fff;
	border-color: var(--wp--preset--color--primary-dark, #362C49);
	cursor: default;
}

/* ═══════════════════════════════════════════
   Filtres carrelage à facettes (sidebar AJAX) — 2026-06-11
   ═══════════════════════════════════════════ */
.wwb-cf { align-self: start; }

.wwb-cf__form {
	display: flex;
	flex-direction: column;
}

.wwb-cf__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
}
.wwb-cf__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #362C49);
	margin: 0;
}
.wwb-cf__count-badge {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--secondary, #7B74D0);
}
.wwb-cf__clear {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: 12.5px;
	color: var(--wp--preset--color--text-muted, #6b6b6b);
	text-decoration: underline;
}
.wwb-cf__clear:hover { color: var(--wp--preset--color--primary, #7B74D0); }

.wwb-cf__section {
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
	padding: 4px 0;
}
.wwb-cf__section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	padding: 12px 2px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #362C49);
}
.wwb-cf__section-head::-webkit-details-marker { display: none; }
.wwb-cf__chevron { transition: transform 0.2s ease; flex-shrink: 0; color: var(--wp--preset--color--text-muted, #6b6b6b); }
.wwb-cf__section[open] .wwb-cf__chevron { transform: rotate(180deg); }

.wwb-cf__options {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 2px 2px 12px;
}
/* Plus de scroll interne : les listes s'étendent, scroll de page classique. */

/* Option checkbox classique */
.wwb-cf__opt {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 6px 4px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13.5px;
	color: var(--wp--preset--color--body, #525252);
	transition: background 0.12s ease;
}
.wwb-cf__opt:hover { background: var(--wp--preset--color--surface, #faf9fc); }
.wwb-cf__opt input { accent-color: var(--wp--preset--color--primary-dark, #362C49); width: 16px; height: 16px; flex-shrink: 0; cursor: pointer; }
.wwb-cf__opt-name { flex: 1; }
.wwb-cf__count {
	font-size: 12px;
	color: var(--wp--preset--color--text-muted, #9490A6);
	font-variant-numeric: tabular-nums;
}
.wwb-cf__opt.is-disabled,
.wwb-cf__color.is-disabled {
	opacity: 0.4;
	pointer-events: none;
}

/* Pastilles couleur */
.wwb-cf__options--colors {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.wwb-cf__color {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 4px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	color: var(--wp--preset--color--body, #525252);
}
.wwb-cf__color:hover { background: var(--wp--preset--color--surface, #faf9fc); }
.wwb-cf__color input { position: absolute; opacity: 0; pointer-events: none; }
.wwb-cf__color-dot {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.12) inset;
	transition: box-shadow 0.12s ease;
}
.wwb-cf__color.is-checked .wwb-cf__color-dot {
	box-shadow: 0 0 0 2px var(--wp--preset--color--primary-dark, #362C49), 0 0 0 1px rgba(0,0,0,0.12) inset;
}
.wwb-cf__color-name { flex: 1; }
.wwb-cf__color.is-checked .wwb-cf__color-name { font-weight: 600; color: var(--wp--preset--color--primary-dark, #362C49); }

/* État de chargement de la grille */
.wwb-shop__main.is-loading { opacity: 0.5; pointer-events: none; transition: opacity 0.15s ease; }
.wwb-shop__noresult { padding: 40px 0; color: var(--wp--preset--color--text-muted, #6b6b6b); font-size: 15px; }

/* Bouton + drawer mobile */
.wwb-cf__toggle { display: none; }
.wwb-cf__backdrop { display: none; }
.wwb-cf__close { display: none; }

@media (max-width: 900px) {
	.wwb-shop__layout { grid-template-columns: 1fr !important; }
	.wwb-cf__toggle {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 16px;
		padding: 11px 18px;
		border: 1px solid var(--wp--preset--color--primary-dark, #362C49);
		border-radius: 100px;
		background: #fff;
		font-size: 14px;
		font-weight: 600;
		color: var(--wp--preset--color--primary-dark, #362C49);
		cursor: pointer;
	}
	/* Sélecteur renforcé : la règle tablette `.wwb-shop__layout .wwb-shop__sidebar { position: static }`
	   (≤1024px, spécificité 0,2,0) écrasait `.wwb-cf { position: fixed }` (0,1,0) → drawer en static,
	   z-index ignoré, backdrop par-dessus = filtres inutilisables sur mobile. */
	.wwb-cf,
	.wwb-shop__layout .wwb-shop__sidebar.wwb-cf {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 86%;
		max-width: 360px;
		background: #fff;
		z-index: 1000;
		padding: 20px;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform 0.25s ease;
		box-shadow: 2px 0 24px rgba(0,0,0,0.18);
	}
	.wwb-cf.is-open,
	.wwb-shop__layout .wwb-shop__sidebar.wwb-cf.is-open { transform: translateX(0); }
	.wwb-cf__backdrop.is-open {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.4);
		z-index: 999;
	}
	.wwb-cf__close {
		display: block;
		position: absolute;
		top: 16px;
		right: 16px;
		background: none;
		border: none;
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
		color: var(--wp--preset--color--primary-dark, #362C49);
	}
}

/* ── Espace « Mes devis » (Mon compte) ── */
.wwb-mes-devis { display: flex; flex-direction: column; gap: 14px; }
.wwb-mes-devis__empty { color: #71717A; }
.wwb-mes-devis__card {
	border: 1px solid #E4E4E7;
	border-radius: 12px;
	padding: 16px 18px;
	background: #fff;
}
.wwb-mes-devis__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.wwb-mes-devis__num { font-weight: 700; color: #1a1a2e; }
.wwb-mes-devis__date { display: block; font-size: 12px; color: #8a8a93; margin-top: 2px; }
.wwb-mes-devis__badge {
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	white-space: nowrap;
}
.wwb-mes-devis__badge--sent { background: #e7f6ec; color: #1a7f42; }
.wwb-mes-devis__badge--pending { background: #fef6e7; color: #9a6b00; }
.wwb-mes-devis__badge--received { background: #f0f0f3; color: #52525b; }
.wwb-mes-devis__details { margin: 6px 0 12px; }
.wwb-mes-devis__details summary { cursor: pointer; font-size: 14px; color: #3f3f46; }
.wwb-mes-devis__items { list-style: none; margin: 10px 0 0; padding: 0; }
.wwb-mes-devis__items li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 0;
	border-top: 1px solid #f4f4f5;
	font-size: 13px;
	color: #3f3f46;
}
.wwb-mes-devis__items em { color: #8a8a93; font-style: normal; }
.wwb-mes-devis__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.wwb-mes-devis__sent { font-size: 12px; color: #8a8a93; }
.wwb-mes-devis__actions { display: flex; gap: 10px; align-items: center; margin-left: auto; }
.wwb-mes-devis__pdf { font-size: 13px; text-decoration: underline; white-space: nowrap; }

/* ═══════════════════════════════════════════
   Order Received / Confirmation (checkout/thankyou.php)
   Reprend le langage visuel du dashboard Mon Compte.
   ═══════════════════════════════════════════ */

.woocommerce:has(.wwb-thankyou) {
	max-width: none !important;
	width: 100% !important;
}

.wwb-checkout--confirmation {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 60px 80px;
}

.wwb-thankyou {
	max-width: 820px;
	margin: 0 auto;
}

/* ─── Hero ─── */
.wwb-thankyou__hero {
	text-align: center;
	padding: 24px 0 36px;
}

.wwb-thankyou__hero-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: #DCFCE7;
	color: #16A34A;
	margin-bottom: 20px;
	box-shadow: 0 0 0 8px rgba(22, 163, 74, 0.08);
}

.wwb-thankyou__hero-icon--failed {
	background: #FEE2E2;
	color: #DC2626;
	box-shadow: 0 0 0 8px rgba(220, 38, 38, 0.08);
}

.wwb-thankyou__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 12px;
}

.wwb-thankyou__subtitle {
	font-size: 15px;
	line-height: 1.6;
	color: #52525B;
	max-width: 540px;
	margin: 0 auto;
}

.wwb-thankyou__subtitle strong { color: var(--wp--preset--color--foreground); }

.wwb-thankyou__meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
	padding: 12px 22px;
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 999px;
	font-size: 14px;
	color: #3F3F46;
}

.wwb-thankyou__meta-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #A1A1AA;
	margin-right: 4px;
}

.wwb-thankyou__meta-sep { color: #D4D4D8; }

/* ─── Carte tracker ─── */
.wwb-thankyou__card { margin-bottom: 24px; }
.wwb-thankyou__card .wwb-dashboard__tracker { margin-bottom: 0; }

/* ─── Grille récap ─── */
.wwb-thankyou__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 28px;
}

.wwb-thankyou__panel {
	background: #fff;
	border: 1px solid #EBEBED;
	border-radius: 16px;
	padding: 24px;
}

.wwb-thankyou__panel-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 18px;
}

/* Articles */
.wwb-thankyou__items { display: flex; flex-direction: column; gap: 14px; }

.wwb-thankyou__item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wwb-thankyou__item-img img {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
	display: block;
}

.wwb-thankyou__item-info { flex: 1; min-width: 0; }
.wwb-thankyou__item-info strong { display: block; font-size: 14px; color: var(--wp--preset--color--foreground); }
.wwb-thankyou__item-info span { font-size: 12px; color: #A1A1AA; }
.wwb-thankyou__item-price { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--foreground); white-space: nowrap; }

/* Totaux */
.wwb-thankyou__totals {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #EBEBED;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wwb-thankyou__total-row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: #52525B;
}

.wwb-thankyou__total-row .woocommerce-Price-amount { color: inherit; }

.wwb-thankyou__total-row--grand {
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px solid #EBEBED;
	font-size: 17px;
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
}

.wwb-thankyou__total-row--grand .woocommerce-Price-amount { color: var(--wp--preset--color--secondary); }

/* Adresse */
.wwb-thankyou__address {
	display: flex;
	gap: 10px;
	padding: 14px 16px;
	background: #FAFAFB;
	border-radius: 12px;
	margin-bottom: 22px;
}

.wwb-thankyou__address svg { color: var(--wp--preset--color--secondary); flex-shrink: 0; margin-top: 2px; }
.wwb-thankyou__address address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: #3F3F46;
}

/* Étapes suivantes */
.wwb-thankyou__next-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: #A1A1AA;
	margin: 0 0 14px;
}

.wwb-thankyou__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.wwb-thankyou__steps li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #3F3F46;
}

.wwb-thankyou__step-num {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ─── Actions ─── */
.wwb-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 8px;
}

.wwb-thankyou__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: var(--wwb-radius-button, 12px);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}

.wwb-thankyou__btn--primary {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

.wwb-thankyou__btn--primary:hover { background: #F47ABF; }

.wwb-thankyou__btn--ghost {
	background: #fff;
	border: 1.5px solid #EBEBED;
	color: #3F3F46;
}

.wwb-thankyou__btn--ghost:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary-dark); }

/* Hooks passerelles : on neutralise le markup natif disgracieux éventuel */
.wwb-thankyou__gateway:empty { display: none; }
.wwb-thankyou__gateway { margin-top: 24px; }

/* ─── Responsive ─── */
@media (max-width: 782px) {
	.wwb-checkout--confirmation { padding: 0 20px 56px; }
	.wwb-thankyou__title { font-size: 24px; }
	.wwb-thankyou__grid { grid-template-columns: 1fr; }
	.wwb-thankyou__btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════════
   FENÊTRES v2 — Re-skin page catégorie menuiserie (namespace wwb-fen-)
   Aligné sur la home : hero photo, accent rose, section sombre.
   Scopé menuiserie via .wwb-shop--menuiserie / classes wwb-fen-*.
   ═══════════════════════════════════════════════════════ */

/* Sur menuiserie, on masque les encarts sous-cats ACF (redondants avec la barre de filtres) */
.wwb-shop--menuiserie .wwb-shop__topcats { display: none; }

.wwb-fen-eyebrow {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; color: var(--wp--preset--color--primary);
}
.wwb-fen-accent { color: var(--wp--preset--color--primary); font-style: italic; font-weight: 700; }

/* ── Hero split (full-bleed) ── */
.wwb-fen-hero {
	background: linear-gradient(153.3deg, #FFFFFF 0%, #FDFAFF 40%, #FFF0F8 100%);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 8px 0 48px;
}
.wwb-fen-hero__grid {
	display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center;
}
.wwb-fen-hero__text h1.wwb-fen-hero__title {
	font-family: var(--wp--preset--font-family--heading, 'Playfair Display', serif);
	font-weight: 800; color: var(--wp--preset--color--primary-dark);
	font-size: clamp(34px, 4.4vw, 52px); line-height: 1.1; letter-spacing: -.01em; margin: 14px 0 0;
}
.wwb-fen-hero__text .wwb-shop__intro { margin-top: 18px; font-size: 16.5px; color: var(--wp--preset--color--body-light, #525252); max-width: 52ch; }
.wwb-fen-hero__chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.wwb-fen-chip {
	display: inline-flex; align-items: center; gap: 7px; background: #fff;
	border: 1px solid var(--wp--preset--color--border); border-radius: var(--wwb-radius-pill, 100px);
	padding: 8px 14px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--primary-dark);
	box-shadow: 0 1px 2px rgba(38,28,52,.05);
}
.wwb-fen-chip svg { color: var(--wp--preset--color--primary); }
.wwb-fen-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; align-items: center; }
.wwb-fen-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border-radius: var(--wwb-radius-button, 12px); font-weight: 700; font-size: 14px;
	padding: 13px 22px; cursor: pointer; border: 0; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.wwb-fen-btn--dark { background: var(--wp--preset--color--primary-dark); color: #fff; box-shadow: 0 6px 18px rgba(54,44,73,.25); }
.wwb-fen-btn--dark:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(54,44,73,.35); color: #fff; }
.wwb-fen-btn--ghost { background: #fff; border: 1.5px solid var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--primary-dark); }
.wwb-fen-btn--ghost:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.wwb-fen-hero__link { font-size: 14px; font-weight: 700; color: var(--wp--preset--color--primary-dark); display: inline-flex; align-items: center; gap: 6px; }
.wwb-fen-hero__link:hover { color: var(--wp--preset--color--primary); }
.wwb-fen-hero__photo {
	position: relative; border-radius: 24px; overflow: hidden; box-shadow: 0 18px 48px rgba(38,28,52,.14);
	aspect-ratio: 5/4; background: linear-gradient(150deg, #FDFAFF, #F3F0FF 55%, #FFF0F8);
	display: grid; place-items: center;
}
.wwb-fen-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wwb-fen-hero__photo-fallback { width: 42%; height: auto; color: var(--wp--preset--color--secondary); opacity: .85; }
.wwb-fen-hero__tag {
	position: absolute; left: 16px; bottom: 16px; background: rgba(255,255,255,.92);
	backdrop-filter: blur(4px); border-radius: var(--wwb-radius-pill, 100px); padding: 8px 14px;
	font-size: 12px; font-weight: 700; color: var(--wp--preset--color--primary-dark); display: inline-flex; align-items: center; gap: 7px;
}
.wwb-fen-hero__tag b { color: var(--wp--preset--color--primary); }

/* ── Toolbar + filtres ── */
.wwb-fen-toolbar { display: flex; align-items: center; gap: 14px; padding: 26px 0 4px; flex-wrap: wrap; }
.wwb-fen-toolbar__count { font-size: 14px; color: var(--wp--preset--color--body); margin-right: 4px; }
.wwb-fen-toolbar__count strong { color: var(--wp--preset--color--foreground); }
.wwb-fen-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.wwb-fen-fpill {
	background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: var(--wwb-radius-pill, 100px);
	padding: 8px 15px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--body-light, #525252);
	cursor: pointer; transition: all .18s ease; text-decoration: none;
}
.wwb-fen-fpill:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary-dark); }
.wwb-fen-fpill.is-active { background: var(--wp--preset--color--primary-dark); border-color: var(--wp--preset--color--primary-dark); color: #fff; }
.wwb-fen-toolbar .wwb-shop__sort { margin-left: auto; }

/* ── Carte gamme : CTA "Voir mon prix" (menuiserie) ── */
.wwb-product-card__seecta {
	display: inline-flex; align-items: center; gap: 6px; margin-top: 8px;
	font-size: 13px; font-weight: 700; color: var(--wp--preset--color--primary-dark);
}
.wwb-product-card__seecta svg { transition: transform .2s ease; }
.wwb-product-card:hover .wwb-product-card__seecta { color: var(--wp--preset--color--primary); }
.wwb-product-card:hover .wwb-product-card__seecta svg { transform: translateX(4px); }
.wwb-product-card__specs .wwb-fen-iso { color: var(--wp--preset--color--success); font-weight: 600; }

/* ── Trust strip léger ── */
.wwb-fen-trust {
	border-top: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface); margin-top: 44px;
}
.wwb-fen-trust__inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 0; }
.wwb-fen-trust__item { display: flex; align-items: center; gap: 11px; }
.wwb-fen-trust__item .wwb-fen-trust__ic { width: 38px; height: 38px; border-radius: 11px; background: var(--wp--preset--color--primary-soft); display: grid; place-items: center; color: var(--wp--preset--color--primary); flex-shrink: 0; }
.wwb-fen-trust__item strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--wp--preset--color--foreground); }
.wwb-fen-trust__item span { font-size: 12px; color: var(--wp--preset--color--muted); }

/* ── Section sombre différenciation ── */
.wwb-fen-diff { background: var(--wp--preset--color--primary-dark); color: #fff; padding: 64px 0; }
.wwb-fen-diff .wwb-fen-eyebrow { color: var(--wp--preset--color--primary); }
.wwb-fen-diff__head { text-align: center; max-width: 60ch; margin: 0 auto 40px; }
.wwb-fen-diff__head h2 { font-family: var(--wp--preset--font-family--heading, 'Playfair Display', serif); color: #fff; font-size: clamp(26px, 3.2vw, 36px); margin-top: 10px; line-height: 1.14; }
.wwb-fen-diff__head p { color: rgba(255,255,255,.72); margin-top: 12px; font-size: 15px; }
.wwb-fen-diff__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.wwb-fen-diff__card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--wwb-radius-card, 20px); padding: 26px; }
.wwb-fen-diff__card .wwb-fen-diff__ic { width: 46px; height: 46px; border-radius: 13px; background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary)); display: grid; place-items: center; margin-bottom: 14px; }
.wwb-fen-diff__card h3 { font-size: 17px; font-weight: 700; color: #fff; margin: 0; }
.wwb-fen-diff__card p { font-size: 14px; color: rgba(255,255,255,.72); margin-top: 7px; }
.wwb-fen-diff__foot { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.wwb-fen-diff__chip { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: var(--wwb-radius-pill, 100px); padding: 9px 16px; font-size: 13px; font-weight: 600; color: #fff; }
.wwb-fen-diff__chip svg { color: var(--wp--preset--color--primary); }

/* ── Guide : photo ── */
.wwb-fen-guide__photo { border-radius: var(--wwb-radius-card, 20px); overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 4px 16px rgba(38,28,52,.08); background: linear-gradient(150deg,#FFF0F8,#EEEDFA); display: grid; place-items: center; }
.wwb-fen-guide__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wwb-fen-guide__photo svg { width: 38%; color: var(--wp--preset--color--secondary); }

/* ── Responsive ── */
@media (max-width: 960px) {
	.wwb-fen-hero__grid { grid-template-columns: 1fr; }
	.wwb-fen-hero__photo { order: -1; }
	.wwb-fen-diff__grid { grid-template-columns: repeat(2, 1fr); }
	.wwb-fen-trust__inner { gap: 16px; }
}
@media (max-width: 560px) {
	.wwb-fen-diff__grid { grid-template-columns: 1fr; }
	.wwb-fen-toolbar .wwb-shop__sort { margin-left: 0; }
}

/* ── Grille gammes (maquette v2) : 3 colonnes + silhouettes + badge sombre ──
   main.…ul.products (0,2,2) pour battre `.woocommerce ul.products` (0,2,1) de woocommerce.css. */
main.wwb-shop--menuiserie ul.products { grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 960px) { main.wwb-shop--menuiserie ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { main.wwb-shop--menuiserie ul.products { grid-template-columns: 1fr; } }

.wwb-product-card__silhouette {
	display: grid; place-items: center; aspect-ratio: 4/3; width: 100%;
	background: linear-gradient(165deg, #FCFBFF 0%, #F6F3FB 60%, #FBF1F8 100%);
	border-bottom: 1px solid var(--wp--preset--color--border, #E5E5E5);
}
.wwb-product-card__silhouette svg { width: 44%; height: auto; color: var(--wp--preset--color--secondary, #7B74D0); opacity: .9; transition: color .22s ease; }
.wwb-shop--menuiserie .wwb-product-card:hover .wwb-product-card__silhouette svg { color: var(--wp--preset--color--primary-dark, #362C49); }

.wwb-shop--menuiserie .wwb-product-card__badge {
	background: var(--wp--preset--color--primary-dark, #362C49); color: #fff;
	font-size: 10px; font-weight: 800; letter-spacing: .06em;
	border-radius: var(--wwb-radius-badge, 6px);
}

.wwb-product-card__price-size { display: block; width: 100%; font-size: 11px; color: var(--wp--preset--color--muted, #A3A3A3); }

/* Intro ACF dans le hero menuiserie (paragraphe marketing sous le H1) */
.wwb-fen-hero__text .wwb-shop__intro { margin-top: 18px; font-size: 16.5px; color: var(--wp--preset--color--body-light, #525252); max-width: 52ch; }
.wwb-fen-hero__text .wwb-shop__intro p { margin: 0 0 10px; }
/* Le conteneur image a une hauteur fixe (200px) pensée pour les photos :
   quand la carte affiche une silhouette, on laisse le ratio 4/3 piloter. */
.wwb-shop--menuiserie .wwb-product-card__image:has(.wwb-product-card__silhouette) { height: auto; }

/* ─── Mix & Match : "Le combo gagnant" (fiche produit carrelage) ─── */
/* Aligné sur le container de page (.wwb-single > * : 1680px / padding 80) :
   la carte occupe la largeur du contenu, bords alignés sur le texte des autres sections. */
.wwb-mix-match {
	background: linear-gradient(90deg, var(--wp--preset--color--primary-soft, #FFF0F8), var(--wp--preset--color--secondary-soft, #EEEDFA));
	border-radius: var(--wwb-radius-card);
	padding: 56px 48px;
	width: calc(100% - 160px);
	max-width: 1520px;
	margin: 48px auto;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.wwb-mix-match__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px;
}

.wwb-mix-match__header-text { max-width: 760px; }

.wwb-mix-match__eyebrow { color: #C25FA0; }

.wwb-mix-match__title {
	margin: 10px 0 12px;
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.05;
	color: var(--wp--preset--color--footer-bg, #241C34);
}

.wwb-mix-match__sub {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: #5D5470;
}

.wwb-mix-match__anchor {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--wp--preset--color--background, #fff);
	border: 1px solid rgba(36, 28, 52, 0.08);
	border-radius: 16px;
	padding: 12px 16px 12px 12px;
	box-shadow: 0 14px 36px -18px rgba(36, 28, 48, 0.2);
	flex-shrink: 0;
}

.wwb-mix-match__anchor-img img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

.wwb-mix-match__anchor-label { display: flex; flex-direction: column; gap: 3px; }

.wwb-mix-match__anchor-kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary, #7B74D0);
}

.wwb-mix-match__anchor-name {
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--footer-bg, #241C34);
}

.wwb-mix-match__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.wwb-mix-match__card {
	background: var(--wp--preset--color--background, #fff);
	border: 1px solid rgba(36, 28, 52, 0.07);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 22px 48px -30px rgba(36, 28, 48, 0.15);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wwb-mix-match__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 26px 52px -28px rgba(36, 28, 48, 0.28);
}

.wwb-mix-match__visual {
	position: relative;
	display: block;
	height: 264px;
}

.wwb-mix-match__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wwb-mix-match__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: var(--wp--preset--color--primary, #FF99DA);
	color: var(--wp--preset--color--footer-bg, #241C34);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 6px 13px;
	border-radius: var(--wwb-radius-pill);
}

.wwb-mix-match__pair-chip {
	position: absolute;
	bottom: 16px;
	left: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--wp--preset--color--footer-bg, #241C34);
	font-size: 12.5px;
	font-weight: 600;
	padding: 6px 12px 6px 6px;
	border-radius: var(--wwb-radius-pill);
	box-shadow: 0 4px 14px -2px rgba(36, 28, 48, 0.2);
	max-width: calc(100% - 32px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wwb-mix-match__pair-swatch img {
	width: 20px;
	height: 20px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid rgba(36, 28, 52, 0.08);
	display: block;
}

.wwb-mix-match__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	flex-grow: 1;
}

.wwb-mix-match__name { margin: 0; font-size: 20px; }

.wwb-mix-match__name a {
	color: var(--wp--preset--color--footer-bg, #241C34);
	text-decoration: none;
}

.wwb-mix-match__why {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: #5D5470;
}

.wwb-mix-match__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	border-top: 1px solid rgba(36, 28, 52, 0.06);
	padding-top: 14px;
	margin-top: auto;
}

.wwb-mix-match__price { display: flex; flex-direction: column; gap: 2px; }

.wwb-mix-match__price-label { font-size: 11.5px; color: #5D5470; }

.wwb-mix-match__price .amount {
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--footer-bg, #241C34);
}

.wwb-mix-match__add {
	background: var(--wp--preset--color--footer-bg, #241C34);
	color: #F3EBE0;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 20px;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.wwb-mix-match__add:hover { opacity: 0.88; color: #F3EBE0; }

.wwb-mix-match__banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	background: var(--wp--preset--color--primary, #FF99DA);
	border-radius: 20px;
	padding: 26px 36px;
}

.wwb-mix-match__banner-title {
	margin: 0 0 5px;
	font-size: 22px;
	font-weight: 600;
	font-family: var(--wp--preset--font-family--heading, inherit);
	color: var(--wp--preset--color--footer-bg, #241C34);
}

.wwb-mix-match__banner-sub {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: rgba(36, 28, 52, 0.8);
}

.wwb-mix-match__samples-btn {
	background: var(--wp--preset--color--footer-bg, #241C34);
	color: #F3EBE0;
	font-size: 15px;
	font-weight: 600;
	padding: 16px 28px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.wwb-mix-match__samples-btn:hover { opacity: 0.88; }

.wwb-mix-match__samples-btn span { color: var(--wp--preset--color--primary, #FF99DA); font-weight: 700; }

@media (max-width: 1024px) {
	.wwb-mix-match { padding: 40px 28px; width: calc(100% - 64px); }
	.wwb-mix-match__grid { grid-template-columns: 1fr; }
	.wwb-mix-match__header { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
	.wwb-mix-match { padding: 28px 18px; margin: 32px auto; }
	.wwb-mix-match__banner { flex-direction: column; align-items: flex-start; }
}
