/* ==========================================================================
   Le Comptoir de l'ergonomie — thème enfant Storefront
   Mobile d'abord : les règles de base visent le téléphone,
   @media (min-width: 768px) = tablette / ordinateur (même seuil que Storefront).
   ========================================================================== */

:root {
	--ccde-orange: #f39200;       /* orange azergo : fonds, points, boutons */
	--ccde-orange-text: #a85800;  /* orange lisible pour du texte sur fond clair */
	--ccde-ink: #2e2d2c;          /* anthracite : texte, boutons principaux */
	--ccde-ink-2: #4a4846;
	--ccde-muted: #5b5956;
	--ccde-faint: #8a8784;
	--ccde-line: #ece9e4;
	--ccde-line-2: #e6e2dc;
	--ccde-sand: #f4f5f5;         /* gris très clair : fonds de sections */
	--ccde-mint: #cfe8e2;         /* vagues azergo */
	--ccde-mint-text: #2f7a6d;
	--ccde-promo: #b8323f;
	--ccde-radius: 22px;
	--ccde-font: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ccde-font-logo: "Fraunces", Georgia, serif;
	--ccde-gutter: 16px;
}

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

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

body.ccde,
.ccde button,
.ccde input,
.ccde select,
.ccde textarea {
	font-family: var(--ccde-font);
}

body.ccde {
	color: var(--ccde-ink-2);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

.ccde h1, .ccde h2, .ccde h3, .ccde h4, .ccde h5, .ccde h6,
.ccde .alpha, .ccde .beta, .ccde .gamma, .ccde .delta {
	font-family: var(--ccde-font);
	color: var(--ccde-ink);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.ccde a { color: var(--ccde-ink); }
.ccde .main-navigation a, .ccde .button, .ccde .page-numbers, .ccde .ccde-chip,
.ccde .woocommerce-tabs ul.tabs a, .ccde .site-footer a, .ccde-actions a { text-decoration: none; }
.ccde a:hover, .ccde a:focus { color: var(--ccde-orange-text); }
.ccde :focus-visible { outline: 2px solid var(--ccde-orange); outline-offset: 2px; }

.ccde .col-full {
	max-width: 1280px;
	padding-left: var(--ccde-gutter);
	padding-right: var(--ccde-gutter);
	box-sizing: content-box;
}

/* Champs */
.ccde input[type="text"], .ccde input[type="email"], .ccde input[type="tel"],
.ccde input[type="url"], .ccde input[type="password"], .ccde input[type="search"],
.ccde input[type="number"], .ccde textarea, .ccde select {
	background: #fff;
	border: 1px solid var(--ccde-line-2);
	border-radius: 12px;
	box-shadow: none;
	color: var(--ccde-ink);
	padding: 0.7em 1em;
}
.ccde input:focus, .ccde textarea:focus, .ccde select:focus {
	border-color: var(--ccde-ink);
	background: #fff;
}

/* Boutons WooCommerce / Storefront */
.ccde .button, .ccde button.button, .ccde input[type="submit"], .ccde input[type="button"],
.ccde .added_to_cart, .ccde .widget a.button, .ccde .wc-block-components-button {
	background: var(--ccde-ink);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-weight: 600;
	padding: 0.8em 1.6em;
	text-shadow: none;
	transition: background-color .15s ease;
}
.ccde .button:hover, .ccde button.button:hover, .ccde input[type="submit"]:hover,
.ccde .added_to_cart:hover, .ccde .widget a.button:hover {
	background: #000;
	color: #fff;
}
.ccde .button.alt, .ccde button.button.alt, .ccde .checkout-button, .ccde #place_order {
	background: var(--ccde-orange);
	color: var(--ccde-ink);
}
.ccde .button.alt:hover, .ccde button.button.alt:hover, .ccde .checkout-button:hover, .ccde #place_order:hover {
	background: #e08600;
	color: var(--ccde-ink);
}

.ccde-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.2;
}
.ccde .ccde-btn--orange { background: var(--ccde-orange); color: var(--ccde-ink); }
.ccde .ccde-btn--orange:hover { background: #e08600; color: var(--ccde-ink); }
.ccde .ccde-btn--ghost-light { border: 1.5px solid #fff; color: #fff; }
.ccde .ccde-btn--ghost-light:hover { background: #fff; color: var(--ccde-ink); }
.ccde-btn--block { display: flex; width: 100%; }

/* Messages WooCommerce */
.ccde .woocommerce-message, .ccde .woocommerce-info, .ccde .woocommerce-error,
.ccde .woocommerce-noreviews, .ccde p.no-comments {
	background: var(--ccde-sand);
	color: var(--ccde-ink);
	border: 0;
	border-radius: 16px;
	padding: 1em 1.25em;
}
.ccde .woocommerce-message { background: var(--ccde-mint); }
.ccde .woocommerce-error { background: #f8e3e5; }
.ccde .woocommerce-message a, .ccde .woocommerce-info a, .ccde .woocommerce-error a { color: var(--ccde-ink); text-decoration: underline; }
.ccde .woocommerce-message .button, .ccde .woocommerce-info .button { text-decoration: none; color: #fff; }

/* --------------------------------------------------------------------------
   Logo
   -------------------------------------------------------------------------- */

.ccde-logo {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	color: var(--ccde-ink);
}
.ccde-logo__frame {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 2px solid currentColor;
	padding: 8px 13px 7px;
}
.ccde-logo__name {
	font-family: var(--ccde-font-logo);
	font-style: italic;
	font-weight: 600;
	font-size: 28px;
	letter-spacing: -0.02em;
	line-height: 1;
	white-space: nowrap;
}
.ccde-logo__sub {
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	margin-top: 4px;
}
.ccde-logo__rule { flex: 1; height: 1px; background: currentColor; }
.ccde-logo__subtext {
	font-family: var(--ccde-font);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
}
.ccde-logo__apos { color: var(--ccde-orange); }
.ccde-logo__by {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 5px;
	margin-top: 5px;
	font-family: var(--ccde-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}
.ccde-logo__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ccde-orange); }

.ccde-logo--compact .ccde-logo__frame { padding: 6px 9px 5px; }
.ccde-logo--compact .ccde-logo__name { font-size: 21px; }
.ccde-logo--compact .ccde-logo__subtext { font-size: 8px; }
.ccde-logo--compact .ccde-logo__sub { gap: 5px; margin-top: 3px; }

.ccde-logo__img { display: block; max-height: 64px; width: auto; }

/* --------------------------------------------------------------------------
   Bandeau promo
   -------------------------------------------------------------------------- */

.ccde-promo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 36px;
	padding: 6px var(--ccde-gutter);
	background: var(--ccde-ink);
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}
.ccde-promo__dot { display: none; width: 8px; height: 8px; border-radius: 50%; background: var(--ccde-orange); flex-shrink: 0; }
.ccde-promo__text--lg { display: none; }
.ccde-promo__code {
	padding: 1px 9px;
	border-radius: 999px;
	background: var(--ccde-orange);
	color: var(--ccde-ink);
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.ccde-promo { min-height: 40px; font-size: 13px; }
	.ccde-promo__dot { display: block; }
	.ccde-promo__text--lg { display: inline; }
	.ccde-promo__text--sm { display: none; }
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

.ccde .site-header {
	background: #fff;
	border-bottom: 1px solid var(--ccde-line);
	padding: 0;
	margin-bottom: 0;
}

.ccde .site-header > .col-full {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas:
		"brand . actions"
		"search search search"
		"menu menu menu";
	align-items: center;
	gap: 10px 4px;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 12px;
	padding-right: 12px;
}
.ccde .site-header > .col-full::before,
.ccde .site-header > .col-full::after { content: none; }

.ccde-burger {
	display: none;
}
.ccde-burger:hover { background: var(--ccde-sand); color: var(--ccde-ink); }

.ccde .site-header .site-branding.ccde-branding {
	grid-area: brand;
	float: none;
	width: auto;
	margin: 0;
	justify-self: start;
	font-size: inherit;
}
.ccde-branding__link { display: inline-flex; text-decoration: none; }
.ccde-branding__full { display: none; }

.ccde .site-header .site-search {
	grid-area: search;
	display: block;
	float: none;
	width: auto;
	margin: 0 4px;
	clear: none;
}
.ccde .site-header .site-search .widget { margin: 0; }
.ccde .site-header .widget_product_search form { position: relative; }
.ccde .site-header .widget_product_search input[type="search"],
.ccde .site-header .widget_product_search input.search-field {
	height: 44px;
	width: 100%;
	padding: 0 18px 0 44px;
	border-radius: 999px;
	background: var(--ccde-sand);
	border: 1px solid var(--ccde-line-2);
	font-size: 14px;
}
.ccde .site-header .widget_product_search form::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	color: var(--ccde-ink);
}

.ccde-actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	gap: 4px;
	justify-self: end;
}
.ccde-actions a { text-decoration: none; }
.ccde-actions__phone,
.ccde-actions__account {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	border-radius: 999px;
}
.ccde .ccde-actions__phone { color: var(--ccde-mint-text); }
.ccde-actions__phone-text { display: none; }
.ccde-actions__phone-icon { display: inline-flex; }
.ccde .ccde-actions__account { color: var(--ccde-ink); }

.ccde .ccde-actions__cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--ccde-orange);
	color: var(--ccde-ink);
	font-size: 14px;
	font-weight: 600;
}
.ccde .ccde-actions__cart:hover { background: #e08600; color: var(--ccde-ink); }
.ccde-actions__cart-label { display: none; }
.ccde-cart-count {
	position: absolute;
	top: -3px;
	right: -3px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	box-sizing: border-box;
	border-radius: 999px;
	background: var(--ccde-ink);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Catégories en dessous du logo */
.ccde-header-categories {
	grid-area: menu;
	min-width: 0;
	border-bottom: 1px solid var(--ccde-line);
	background: #fff;
	padding: 12px 0;
}
.ccde-header-categories__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	padding: 0 var(--ccde-gutter);
}
.ccde .ccde-header-categories__item {
	display: inline-flex;
	align-items: center;
	height: 100%;
	padding: 0;
	border: none;
	border-bottom: 2px solid transparent;
	background: transparent;
	color: var(--ccde-ink);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s, border-color 0.2s;
}
.ccde .ccde-header-categories__item:hover {
	color: var(--ccde-orange-text);
	border-bottom-color: var(--ccde-orange);
}
.ccde .ccde-header-categories__item.is-active {
	color: var(--ccde-orange-text);
	border-bottom-color: var(--ccde-orange);
	font-weight: 600;
}

/* Lien ErgoExpert avec logo (pastille) */
.ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert {
	position: sticky;
	right: var(--ccde-gutter);
	z-index: 1;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	align-self: center;
	margin-left: auto;
	padding: 4px 12px;
	min-height: 0;
	height: auto;
	line-height: 1;
	border: 2px solid #F39200;
	border-radius: 999px;
	background: #fff;
}
.ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert img {
	display: block;
	height: 28px;
	width: auto;
	max-width: none;
	padding: 0;
	border: 0;
}
.ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert::before {
	left: -10px;
	top: 50%;
	transform: translateY(-50%);
}
.ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert:hover,
.ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert.is-active {
	background: #fff;
}

/* Catégories en dessous du logo : mobile */
@media (max-width: 767px) {
	.ccde .ccde-header-categories {
		position: relative;
		display: flex;
		align-items: center;
		min-width: 0;
		margin: 2px 4px 0;
		padding: 0 8px;
		height: 40px;
		background: #fff7ec;
		border: 1px solid #f6d9ae;
		border-radius: 999px;
		border-bottom: 0;
	}
	/* Chevrons fixes, de part et d'autre de la zone qui défile */
	.ccde .ccde-header-categories::before,
	.ccde .ccde-header-categories::after {
		flex-basis: 14px;
		font-size: 24px;
		padding-bottom: 2px;
		line-height: 1;
		font-weight: bold;
		color: var(--ccde-orange);
		pointer-events: none;
		transition: opacity .2s;
	}
	.ccde .ccde-header-categories::before { content: "‹"; text-align: left; }
	.ccde .ccde-header-categories::after  { content: "›"; text-align: right; }
	.ccde .ccde-header-categories.is-at-start::before,
	.ccde .ccde-header-categories.is-at-end::after { opacity: 0; }

	.ccde .ccde-header-categories__inner {
		flex: 1 1 auto;
		min-width: 0;
		flex-wrap: nowrap;
		overflow-x: auto;
		align-self: stretch;
		align-items: center;
		gap: 20px;
		padding: 0 6px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.ccde .ccde-header-categories__inner::-webkit-scrollbar { display: none; }
	.ccde .ccde-header-categories__item {
		position: relative;
		white-space: nowrap;
		flex-shrink: 0;
		font-weight: 600;
		color: var(--ccde-ink);
	}
	.ccde .ccde-header-categories__item.is-active {
		color: var(--ccde-orange-text);
	}
	/* Petit point séparateur entre les catégories */
	.ccde .ccde-header-categories__item + .ccde-header-categories__item::before {
		content: "";
		position: absolute;
		left: -12px;
		top: 50%;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: var(--ccde-orange);
		opacity: .45;
		transform: translateY(-50%);
		pointer-events: none;
	}
}

/* Navigation principale */
.ccde .storefront-primary-navigation { background: #fff; clear: both; }
.ccde .main-navigation .menu-toggle { display: none !important; } /* remplacé par .ccde-burger */
#menu-menu-secondaire { display: none !important; } /* cache le menu secondaire */
.ccde .main-navigation.toggled .handheld-navigation { border-top: 1px solid var(--ccde-line); }
.ccde .handheld-navigation ul.menu li a {
	display: block;
	padding: 14px 4px;
	border-bottom: 1px solid var(--ccde-line);
	color: var(--ccde-ink);
	font-size: 15px;
	font-weight: 500;
}
.ccde .handheld-navigation .dropdown-toggle { color: var(--ccde-ink); }

@media (min-width: 768px) {
	.ccde .site-header > .col-full {
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-areas: "brand search actions" "menu menu menu";
		gap: 40px 40px 0 40px;
		min-height: 108px;
		padding: 16px var(--ccde-gutter) 6px;
		align-items: center;
	}
	.ccde .ccde-header-categories {
		display: flex;
		flex-direction: row;
		border-top: 0;
		border-bottom: 0;
		padding-bottom: 0;
	}
	.ccde .ccde-header-categories::before,
	.ccde .ccde-header-categories::after { content: none; }
	.ccde .ccde-header-categories__inner {
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		gap: 0;
		padding: 4px 0 8px;
		overflow-x: auto;
		/* Barre de défilement visible : on voit qu'on peut faire défiler */
		scrollbar-width: thin;
		scrollbar-color: var(--ccde-orange) var(--ccde-line);
	}
	.ccde .ccde-header-categories__inner::-webkit-scrollbar { height: 4px; }
	.ccde .ccde-header-categories__inner::-webkit-scrollbar-track { background: var(--ccde-line); border-radius: 4px; }
	.ccde .ccde-header-categories__inner::-webkit-scrollbar-thumb { background: var(--ccde-orange); border-radius: 4px; }

	.ccde .ccde-header-categories__item {
		position: relative;
		flex: 1 1 auto;
		justify-content: center;
		padding: 0 5px;
		white-space: nowrap;
		font-family: "Barlow Semi Condensed", sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: .01em;
		border-bottom: 0;
		text-decoration: underline 2px transparent;
		text-underline-offset: 5px;
		transition: color .15s, text-decoration-color .15s;
	}
	.ccde .ccde-header-categories__item:first-child { flex-grow: .5; justify-content: flex-start; padding-left: 0; }
	.ccde .ccde-header-categories__item:last-child { flex-grow: .5; justify-content: flex-end; padding-right: 0; }
	/* ErgoExpert garde sa taille naturelle, calé à droite de la barre */
	.ccde .ccde-header-categories__inner a.ccde-header-categories__item--expert { flex: 0 0 auto; }

	.ccde .ccde-header-categories__item + .ccde-header-categories__item::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 1px;
		height: 14px;
		transform: translateY(-50%);
		background: #d9d3ca;
	}

	.ccde .ccde-header-categories__item:hover,
	.ccde .ccde-header-categories__item.is-active {
		color: var(--ccde-orange-text);
		text-decoration-color: var(--ccde-orange);
		font-weight: 700;
	}

	.ccde-burger { display: none; }
	.ccde-branding__full { display: inline-flex; }
	.ccde-branding__compact { display: none; }
	.ccde .site-header .site-search {
		margin: 0;
		justify-self: center;
		width: 100%;
		max-width: 560px;
	}
	.ccde .site-header .widget_product_search input.search-field,
	.ccde .site-header .widget_product_search input[type="search"] { height: 48px; }

	.ccde-actions { gap: 8px; }
	.ccde .ccde-actions__phone { gap: 10px; padding: 0 12px; color: var(--ccde-ink); }
	.ccde-actions__phone-icon {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: var(--ccde-mint);
		color: var(--ccde-mint-text);
		align-items: center;
		justify-content: center;
	}
	.ccde-actions__phone-text { display: flex; flex-direction: column; line-height: 1.2; }
	.ccde-actions__phone-label { font-size: 11px; color: var(--ccde-muted); }
	.ccde-actions__phone-number { font-size: 15px; font-weight: 600; white-space: nowrap; }
	.ccde .ccde-actions__account { width: 48px; height: 48px; border: 1px solid var(--ccde-line-2); }
	.ccde .ccde-actions__cart { width: auto; height: 48px; padding: 0 16px 0 14px; }
	.ccde-actions__cart-label { display: inline; }
	.ccde-cart-count { position: static; }

	.ccde .main-navigation ul.menu > li > a,
	.ccde .main-navigation ul.nav-menu > li > a {
		padding: 15px 14px;
		font-size: 14px;
		font-weight: 500;
		color: var(--ccde-ink);
	}
	.ccde .main-navigation ul.menu > li:first-child > a { padding-left: 0; }
	.ccde .main-navigation ul.menu > li > a:hover,
	.ccde .main-navigation ul.menu > li.current-menu-item > a { color: var(--ccde-orange-text); }
	.ccde .main-navigation ul.menu ul { background: #fff; border-radius: 0 0 16px 16px; box-shadow: 0 12px 24px rgba(46, 45, 44, .08); }
	.ccde .main-navigation ul.menu ul li a { padding: 10px 18px; font-size: 14px; color: var(--ccde-ink); }
	/* Élément de menu en pastille : ajouter la classe CSS « ccde-menu-pill » dans Apparence > Menus. */
	.ccde .main-navigation ul.menu > li.ccde-menu-pill { float: right; }
	.ccde .main-navigation ul.menu > li.ccde-menu-pill > a {
		margin: 8px 0;
		padding: 6px 14px 6px 28px;
		border: 1px solid var(--ccde-orange);
		border-radius: 999px;
		color: var(--ccde-orange-text);
		font-weight: 600;
		position: relative;
	}
	.ccde .main-navigation ul.menu > li.ccde-menu-pill > a::before {
		content: "";
		position: absolute;
		left: 13px;
		top: 50%;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-radius: 50%;
		background: var(--ccde-orange);
	}
}

@media (min-width: 1024px) {
	#masthead .col-full {
		grid-template-columns: auto 1fr auto;
		column-gap: 32px;
	}

	#masthead .ccde-branding,
	#masthead .site-search,
	#masthead .ccde-actions {
		align-self: center;
	}

	#masthead .ccde-branding {
		display: flex;
		align-items: center;
		height: 60px;
	}
	#masthead .ccde-branding__link,
	#masthead .ccde-branding__full {
		display: flex;
		align-items: center;
		line-height: 0;
	}
	#masthead .ccde-logo__img {
		width: 340px;
		max-width: 340px;
		height: auto;
	}

	#masthead .site-search {
		max-width: 420px;
		width: 100%;
		justify-self: center;
	}
}

@media (min-width: 1024px) and (max-width: 1279px) {
	#masthead .ccde-logo__img {
		width: 260px;
		max-width: 260px;
	}
	#masthead .site-search {
		max-width: 320px;
	}
}

/* --------------------------------------------------------------------------
   Fil d'Ariane et contenu
   -------------------------------------------------------------------------- */

.ccde .storefront-breadcrumb { margin: 0; padding: 16px 0; background: none; }
.ccde .woocommerce-breadcrumb { font-size: 13px; color: var(--ccde-muted); }
.ccde .woocommerce-breadcrumb a { color: var(--ccde-muted); text-decoration: none; }
.ccde .woocommerce-breadcrumb a:hover { color: var(--ccde-orange-text); }
.ccde .woocommerce-breadcrumb .breadcrumb-separator::after { color: var(--ccde-orange); }

.ccde .site-content { padding-top: 8px; }

/* --------------------------------------------------------------------------
   En-tête de boutique (hero)
   -------------------------------------------------------------------------- */

.ccde .site-header:has(+ .ccde-hero) {
	margin-bottom: 0;
}

.ccde-hero {
	position: relative;
	overflow: hidden;
	background: var(--ccde-sand);
	padding: 16px 0 20px;
}
.ccde-hero__wave {
	position: absolute;
	right: -80px;
	top: -50px;
	width: 300px;
	height: auto;
	fill: var(--ccde-mint);
	pointer-events: none;
}
.ccde-hero__inner { position: relative; }
.ccde .ccde-hero .storefront-breadcrumb { padding: 0 0 6px; }
.ccde .ccde-hero .storefront-breadcrumb .col-full { padding: 0; max-width: none; }
.ccde .ccde-hero__title {
	margin: 0 0 6px;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -0.03em;
}
.ccde-hero__intro { max-width: 655px; font-size: 14px; line-height: 1.55; color: var(--ccde-ink-2); }
.ccde-hero__intro p { margin: 0; }

.ccde-chips {
	display: flex;
	gap: 8px;
	margin: 16px calc(var(--ccde-gutter) * -1) 0 0;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 2px;
}
.ccde-chips::-webkit-scrollbar { display: none; }
.ccde .ccde-chip {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--ccde-line-2);
	color: var(--ccde-ink);
	font-size: 13px;
	text-decoration: none;
	white-space: nowrap;
}
.ccde .ccde-chip:hover { border-color: var(--ccde-ink); color: var(--ccde-ink); }
.ccde .ccde-chip.is-active { background: var(--ccde-ink); border-color: var(--ccde-ink); color: #fff; font-weight: 500; }

@media (min-width: 768px) {
	.ccde-hero { padding: 36px 0 44px; }
	.ccde-hero__wave { right: -40px; top: -60px; width: 720px; }
	.ccde .ccde-hero__title { font-size: 48px; margin-bottom: 12px; }
	.ccde-hero__intro { font-size: 16px; line-height: 1.6; }
	.ccde-chips { flex-wrap: wrap; overflow: visible; margin: 28px 0 0; gap: 10px; }
	.ccde .ccde-chip { font-size: 14px; min-height: 42px; padding: 0 18px; }
	.ccde .site-content { padding-top: 32px; }
}

/* --------------------------------------------------------------------------
   Mise en page de la boutique : filtres à gauche
   -------------------------------------------------------------------------- */

.ccde .storefront-sorting {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 16px;
	font-size: 14px;
}
.ccde .woocommerce-ordering { margin: 0; float: none; }
.ccde .woocommerce-ordering select {
	height: 44px;
	padding: 0 38px 0 16px;
	border-radius: 999px;
	font-size: 14px;
}
.ccde .woocommerce-result-count { margin: 0; float: none; color: var(--ccde-muted); font-size: 13px; }

.ccde-filters-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 44px;
	margin-bottom: 12px;
	border: 1px solid var(--ccde-ink);
	border-radius: 999px;
	background: #fff;
	color: var(--ccde-ink);
	font-size: 14px;
	font-weight: 600;
}
.ccde-filters-toggle:hover { background: var(--ccde-sand); color: var(--ccde-ink); }

/* Tiroir de filtres (mobile) */
@media (max-width: 767px) {
	.ccde-catalog .widget-area {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 10001;
		width: min(86vw, 360px);
		margin: 0;
		padding: 0 20px 24px;
		overflow-y: auto;
		background: #fff;
		transform: translateX(-105%);
		transition: transform .25s ease;
		visibility: hidden;
	}
	.ccde-catalog.ccde-filters-open .widget-area { transform: none; visibility: visible; box-shadow: 0 0 40px rgba(0, 0, 0, .2); }
	.ccde-backdrop {
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(46, 45, 44, .45);
		opacity: 0;
		pointer-events: none;
		transition: opacity .25s ease;
	}
	.ccde.ccde-filters-open .ccde-backdrop { opacity: 1; pointer-events: auto; }
	.ccde.ccde-filters-open { overflow: hidden; }
}
.ccde-drawer-head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 -20px 16px;
	padding: 12px 12px 12px 20px;
	background: #fff;
	border-bottom: 1px solid var(--ccde-line);
}
.ccde-drawer-head__title { font-size: 18px; font-weight: 700; color: var(--ccde-ink); }
.ccde-filters-close {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--ccde-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ccde-filters-close:hover { background: var(--ccde-sand); color: var(--ccde-ink); }

@media (min-width: 768px) {
	.ccde-filters-toggle, .ccde-drawer-head, .ccde-backdrop { display: none; }

	.ccde-catalog .site-content > .col-full {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		grid-auto-flow: row dense;
		gap: 0 40px;
		align-items: start;
	}
	.ccde-catalog .site-content > .col-full::before,
	.ccde-catalog .site-content > .col-full::after { content: none; }
	.ccde-catalog .site-content > .col-full > * { grid-column: 1 / -1; }
	.ccde-catalog .site-content > .col-full > .content-area { grid-column: 2; width: auto; float: none; margin: 0; }
	.ccde-catalog .site-content > .col-full > .widget-area { grid-column: 1; width: auto; float: none; margin: 0; }
}
@media (min-width: 1024px) {
	.ccde-catalog .site-content > .col-full { grid-template-columns: 264px minmax(0, 1fr); }
}

/* Widgets de filtres */
.ccde .widget-area .widget { margin-bottom: 28px; font-size: 14px; }
.ccde .widget-area .widget .widget-title,
.ccde .widget-area .widget .widgettitle {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ccde-orange-text);
}
.ccde .widget-area .widget ul li { padding: 5px 0; }
.ccde .widget-area .widget ul li::before { display: none; }
.ccde .widget-area .widget_product_categories ul { margin-left: 0; }
.ccde .widget-area .widget_product_categories ul li a,
.ccde .widget-area .widget_layered_nav ul li a { color: var(--ccde-ink); text-decoration: none; }
.ccde .widget-area .widget .count { color: var(--ccde-muted); }
.ccde .widget_price_filter .ui-slider .ui-slider-range { background: var(--ccde-ink); }
.ccde .widget_price_filter .ui-slider .ui-slider-handle { background: #fff; border: 2px solid var(--ccde-ink); border-radius: 50%; }
.ccde .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--ccde-line-2); }

.ccde-advice {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px;
	border-radius: 20px;
	background: var(--ccde-ink);
	color: #dad6d0;
}
.ccde-advice__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ccde-orange); }
.ccde .ccde-advice .ccde-advice__title { margin: 0; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.3; }
.ccde-advice__text { margin: 0 0 6px; font-size: 13px; line-height: 1.5; }
.ccde-advice__head { display: flex; align-items: center; gap: 6px; }
.ccde-advice__head .ccde-advice__dot { flex: 0 0 auto; }
.ccde-advice__head .ccde-advice__title { font-weight: 700; white-space: nowrap; }
.ccde-advice__head { align-items: center; }
.ccde-advice__title { font-size: 15px !important; white-space: normal !important; }

/* Lien LinkedIn du pied de page (pastille « in » + texte) */
.ccde-linkedin { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; color: inherit; text-decoration: none; white-space: nowrap; }
.ccde-linkedin:hover { text-decoration: none; }
.ccde-linkedin__badge { display: inline-block; flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #a85800; color: #fff; font-size: 11px; font-weight: 700; line-height: 22px; text-align: center; }

/* --------------------------------------------------------------------------
   Grille et cartes produit
   -------------------------------------------------------------------------- */

.ccde ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 24px;
	padding: 0;
}
.ccde ul.products::before, .ccde ul.products::after { content: none; }

.ccde ul.products li.product,
.ccde .site-main ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	background: #fff;
	border: 1px solid var(--ccde-line);
	border-radius: 18px;
	overflow: hidden;
	clear: none;
}

.ccde ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.ccde-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-bottom: 1px solid var(--ccde-line);
	overflow: hidden;
}
/* Photo pleine case, fond blanc : marche avec des photos détourées sur blanc
   comme avec des photos carrées « en situation ». */
.ccde ul.products li.product .ccde-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	transition: transform .35s ease;
}
.ccde ul.products li.product:hover .ccde-card__media img { transform: scale(1.04); }
.ccde ul.products li.product { transition: box-shadow .2s ease, border-color .2s ease; }
.ccde ul.products li.product:hover { border-color: var(--ccde-line-2); box-shadow: 0 10px 28px rgba(46, 45, 44, .08); }

.ccde-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.ccde .onsale {
	display: inline-block;
	margin: 0;
	padding: 3px 9px;
	border: 0;
	border-radius: 999px;
	background: var(--ccde-promo);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	text-transform: none;
	line-height: 1.5;
}
.ccde-badge-expert {
	display: block;
	max-width: 70px;
	max-height: 60px;
	width: auto;
	height: auto;
}
.ccde-badge-expert__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ccde-orange); }

.ccde-single-expert-badge {
	display: block;
	margin-top: 8px;
}

.ccde-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	padding: 12px 12px 14px;
}
.ccde-card__cat {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ccde-mint-text);
}
.ccde ul.products li.product .woocommerce-loop-product__title,
.ccde ul.products li.product h2,
.ccde ul.products li.product h3 {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--ccde-ink);
}
.ccde ul.products li.product .star-rating { margin: 2px 0 0; font-size: 12px; }
.ccde ul.products li.product .price {
	display: block;
	margin: auto 0 0;
	padding: 8px 52px 0 0;
	color: var(--ccde-ink);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
}

/* Prix TTC / HT */
.ccde .price del { color: var(--ccde-faint); font-weight: 400; font-size: .8em; opacity: 1; }
.ccde .price ins { text-decoration: none; font-weight: 700; background: none; }
.ccde-price { display: inline; }
.ccde-price__ttc { font-size: 10px; font-weight: 500; color: var(--ccde-muted); }
.ccde-price__ht { display: block; font-size: 11px; font-weight: 400; color: var(--ccde-orange-text); }
.ccde-price__ht .woocommerce-Price-amount { font-weight: 400; }
.ccde-price-from { display: block; font-size: 11px; font-weight: 400; color: var(--ccde-muted); }

/* Bouton panier de la carte */
.ccde ul.products li.product .button.ccde-add {
	position: absolute;
	right: 12px;
	bottom: 14px;
	z-index: 2;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ccde ul.products li.product .button.ccde-add { width: 44px; height: 44px; padding: 0; border-radius: 50%; }
.ccde ul.products li.product .button.ccde-add.loading { opacity: .6; }
.ccde ul.products li.product .button.ccde-add.loading::after { display: none; }
.ccde ul.products li.product .button.ccde-add.added { background: var(--ccde-mint-text); }
.ccde ul.products li.product .button.ccde-add.added::after { display: none; }
.ccde ul.products li.product .added_to_cart { display: none; } /* le compteur du panier suffit */

@media (min-width: 768px) {
	.ccde ul.products { gap: 24px; margin-bottom: 32px; }
	.ccde ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ccde ul.products.columns-4,
	.ccde ul.products.columns-5,
	.ccde ul.products.columns-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ccde ul.products li.product, .ccde .site-main ul.products li.product { border-radius: var(--ccde-radius); }
	.ccde-badges { top: 14px; left: 14px; gap: 6px; }
	.ccde .onsale, .ccde-badge-expert { font-size: 12px; padding: 4px 10px; }
	.ccde-card__body { gap: 6px; padding: 18px 20px 20px; }
	.ccde-card__cat { font-size: 12px; }
	.ccde ul.products li.product .woocommerce-loop-product__title { font-size: 16px; line-height: 1.35; }
	.ccde ul.products li.product .price { font-size: 20px; padding: 10px 60px 0 0; }
	.ccde-price__ttc, .ccde-price__ht, .ccde-price-from { font-size: 12px; }
	.ccde ul.products li.product .button.ccde-add { right: 20px; bottom: 20px; }
	.ccde ul.products li.product .button.ccde-add { width: 48px; height: 48px; }
}
@media (min-width: 1024px) {
	.ccde ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Corriger les cartes produits écrasées dans les sections "À associer au comptoir" et "Produits similaires" */
.ccde.single-product .up-sells ul.products li.product,
.ccde.single-product .related ul.products li.product {
	width: auto;
	float: none;
	margin: 0;
}

/* Pagination */
.ccde .woocommerce-pagination { text-align: center; }
.ccde .woocommerce-pagination .page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	border: 0;
	margin: 0;
}
.ccde .woocommerce-pagination .page-numbers li { border: 0; display: block; }
.ccde .woocommerce-pagination .page-numbers li .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 6px;
	box-sizing: border-box;
	border: 1px solid var(--ccde-line-2);
	border-radius: 999px;
	background: #fff;
	color: var(--ccde-ink);
	font-size: 14px;
	text-decoration: none;
}
.ccde .woocommerce-pagination .page-numbers li .page-numbers.current {
	background: var(--ccde-orange);
	border-color: var(--ccde-orange);
	color: var(--ccde-ink);
	font-weight: 600;
}
.ccde .woocommerce-pagination .page-numbers li a.page-numbers:hover { border-color: var(--ccde-ink); }

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */

.ccde.single-product div.product { position: relative; }
.ccde.single-product div.product > .onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 10;
	font-size: 12px;
	padding: 4px 10px;
}

.ccde.single-product div.product .woocommerce-product-gallery {
	position: relative;
	margin-bottom: 24px;
}
.ccde .woocommerce-product-gallery .flex-viewport,
.ccde .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	border-radius: 24px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ccde-line);
}
.ccde .woocommerce-product-gallery__image {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
}
.ccde .woocommerce-product-gallery__image img {
	margin: 0 auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
}
.ccde .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	z-index: 11;
	top: 14px;
	right: 14px;
	background: #fff;
	border-radius: 50%;
}
.ccde .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}
.ccde .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.ccde .woocommerce-product-gallery .flex-control-thumbs li img {
	border-radius: 14px;
	background: #fff;
	border: 2px solid var(--ccde-line);
	opacity: .75;
}
.ccde .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; border-color: var(--ccde-ink); }

/* Logo de marque dans les métadonnées produit */
.product_meta .ccde-brand-logo {
	height: 32px;
	width: auto;
	display: inline-block;
	vertical-align: middle;
}
.product_meta a:has(.ccde-brand-logo) {
	text-decoration: none;
}

.ccde-eyebrow {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}
.ccde a.ccde-eyebrow { color: var(--ccde-mint-text); }

.ccde.single-product div.product .product_title {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.ccde.single-product div.product .summary .price {
	margin: 0 0 16px;
	color: var(--ccde-ink);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}
.ccde.single-product div.product .summary .price .ccde-price__ttc { font-size: 13px; font-weight: 400; letter-spacing: 0; }
.ccde.single-product div.product .summary .price .ccde-price__ht { font-size: 14px; font-weight: 500; letter-spacing: 0; margin-top: 2px; }
.ccde.single-product div.product .summary .price .ccde-price-from { font-size: 13px; letter-spacing: 0; }
.ccde.single-product .woocommerce-product-details__short-description {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ccde-ink-2);
}
.ccde.single-product .woocommerce-product-details__short-description a { color: var(--ccde-orange-text); text-decoration: underline; }

.ccde-spec-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.ccde-spec-chips li {
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--ccde-sand);
	font-size: 12px;
	font-weight: 500;
	color: var(--ccde-ink);
}

/* Formulaire d'ajout au panier */
.ccde.single-product div.product form.cart:not(.variations_form):not(.grouped_form),
.ccde.single-product div.product .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
.ccde.single-product div.product form.cart .quantity { float: none; margin: 0; }
.ccde.single-product div.product form.cart .quantity .qty {
	width: 84px;
	height: 56px;
	padding: 0;
	border-radius: 999px;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
}
.ccde.single-product div.product form.cart .single_add_to_cart_button {
	flex: 1;
	height: 56px;
	padding: 0 24px;
	float: none;
	background: var(--ccde-ink);
	color: #fff;
	font-size: 16px;
}
.ccde.single-product div.product form.cart .single_add_to_cart_button:hover { background: #000; }
.ccde.single-product div.product form.cart .variations { margin-bottom: 12px; border: 0; }
.ccde.single-product div.product form.cart .variations th,
.ccde.single-product div.product form.cart .variations td { display: block; padding: 0 0 6px; background: none; border: 0; text-align: left; }
.ccde.single-product div.product form.cart .variations select { width: 100%; height: 48px; }
.ccde.single-product div.product .reset_variations { font-size: 13px; }

.ccde.single-product .product_meta {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--ccde-line);
	font-size: 13px;
	color: var(--ccde-muted);
}
.ccde.single-product .product_meta a { color: var(--ccde-muted); }

/* Encart « Au comptoir, on vous accompagne » */
.ccde-services {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 4px 0 8px;
	padding: 6px;
	border-radius: 20px;
	background: var(--ccde-sand);
}
.ccde-services__title {
	margin: 0;
	padding: 10px 12px 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ccde-orange-text);
}
.ccde .ccde-services__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 14px;
	background: #fff;
	color: var(--ccde-ink);
	text-decoration: none;
}
.ccde .ccde-services__link:hover { color: var(--ccde-ink); box-shadow: inset 0 0 0 1.5px var(--ccde-ink); }
.ccde-services__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--ccde-mint);
	color: var(--ccde-mint-text);
}
.ccde-services__text { display: flex; flex-direction: column; flex: 1; line-height: 1.35; }
.ccde-services__text strong { font-size: 14px; font-weight: 600; }
.ccde-services__text span { font-size: 12px; color: var(--ccde-muted); }

/* Onglets */
.ccde .woocommerce-tabs { padding-top: 24px; }
.ccde .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 6px;
	margin: 0 0 20px;
	padding: 0 0 4px;
	overflow-x: auto;
	scrollbar-width: none;
	border: 0;
	list-style: none;
}
.ccde .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.ccde .woocommerce-tabs ul.tabs li { flex-shrink: 0; border: 0; margin: 0; }
.ccde .woocommerce-tabs ul.tabs li::after { display: none; }
.ccde .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--ccde-sand);
	color: var(--ccde-ink);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}
.ccde .woocommerce-tabs ul.tabs li.active a { background: var(--ccde-ink); color: #fff; font-weight: 600; }
.ccde .woocommerce-tabs .panel h2:first-of-type { font-size: 22px; margin-bottom: 16px; }
.ccde .woocommerce-tabs .panel { font-size: 15px; line-height: 1.7; }
.ccde table.shop_attributes, .ccde .woocommerce-tabs .panel table { border: 0; width: 100%; border-collapse: collapse; }
.ccde table.shop_attributes th, .ccde table.shop_attributes td,
.ccde .woocommerce-tabs .panel table th, .ccde .woocommerce-tabs .panel table td {
	padding: 12px 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ccde-line);
	font-style: normal;
	text-align: left;
}
.ccde table.shop_attributes th, .ccde .woocommerce-tabs .panel table th { color: var(--ccde-muted); font-weight: 500; width: 40%; }
.ccde table.shop_attributes td p { margin: 0; }

/* Produits associés */
.ccde .related > h2, .ccde .upsells > h2, .ccde .cross-sells > h2 {
	margin: 0 0 16px;
	font-size: 22px;
	text-align: left;
}
.ccde .related, .ccde .upsells { padding-top: 32px; clear: both; }

@media (min-width: 768px) {
	.ccde.single-product div.product .woocommerce-product-gallery { width: 50%; margin-right: 6%; float: left; }
	.ccde.single-product div.product .summary { width: 44%; float: right; margin-bottom: 40px; }
	.ccde.single-product div.product > .onsale { top: 20px; left: 20px; font-size: 13px; padding: 6px 12px; }
	.ccde.single-product div.product .product_title { font-size: 38px; line-height: 1.15; }
	.ccde.single-product div.product .summary .price { font-size: 36px; }
	.ccde-spec-chips li { font-size: 13px; padding: 8px 14px; }
	.ccde-services { border-radius: 24px; padding: 8px; }
	.ccde-services__title { padding: 14px 16px 6px; font-size: 13px; }
	.ccde .ccde-services__link { padding: 12px 16px; border-radius: 16px; }
	.ccde-services__text strong { font-size: 15px; }
	.ccde-services__text span { font-size: 13px; }

	.ccde .woocommerce-tabs { padding-top: 56px; clear: both; }
	.ccde .woocommerce-tabs ul.tabs {
		flex-direction: column;
		width: 26%;
		margin-right: 6%;
		float: left;
		overflow: visible;
	}
	.ccde .woocommerce-tabs ul.tabs li a { padding: 15px 20px; font-size: 15px; background: transparent; }
	.ccde .woocommerce-tabs ul.tabs li a:hover { background: var(--ccde-sand); }
	.ccde .woocommerce-tabs ul.tabs li.active a { background: var(--ccde-ink); }
	.ccde .woocommerce-tabs .panel { width: 68%; float: right; }
	.ccde .woocommerce-tabs .panel h2:first-of-type { font-size: 26px; }

	.ccde .related > h2, .ccde .upsells > h2, .ccde .cross-sells > h2 { font-size: 28px; margin-bottom: 24px; }
	.ccde .related, .ccde .upsells { padding-top: 56px; }
}

/* Barre « Ajouter au panier » fixe (mobile) */
.ccde-sticky-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid var(--ccde-line);
	box-shadow: 0 -8px 20px rgba(46, 45, 44, .1);
	transform: translateY(110%);
	transition: transform .25s ease;
}
.ccde-sticky-cart[hidden] { display: none; }
.ccde-sticky-cart.is-visible { transform: none; }
.ccde-sticky-cart__price { line-height: 1.2; color: var(--ccde-ink); font-size: 18px; font-weight: 700; }
.ccde-sticky-cart__price .ccde-price__ht { font-size: 11px; }
.ccde-sticky-cart__price del { display: none; }
.ccde-sticky-cart__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	border: 0;
	border-radius: 999px;
	background: var(--ccde-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}
.ccde-sticky-cart__btn:hover { background: #000; color: #fff; }
@media (min-width: 768px) {
	.ccde-sticky-cart { display: none !important; }
}

/* --------------------------------------------------------------------------
   Réassurance, conseil, pied de page
   -------------------------------------------------------------------------- */

.ccde-prefooter { padding-top: 40px; }
.ccde-reassurance {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	padding: 22px;
	border-radius: 24px;
	background: var(--ccde-sand);
}
.ccde-reassurance__item { display: flex; align-items: flex-start; gap: 14px; }
.ccde-reassurance__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ccde-orange-text);
}
.ccde-reassurance__text { display: flex; flex-direction: column; gap: 2px; line-height: 1.45; }
.ccde-reassurance__text strong { font-size: 15px; font-weight: 600; color: var(--ccde-ink); }
.ccde-reassurance__text span { font-size: 13px; color: var(--ccde-muted); }

.ccde-help {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 20px;
	padding: 24px 20px;
	border-radius: 24px;
	background: var(--ccde-ink);
	color: #dad6d0;
	overflow: hidden;
}
.ccde-help__dot { display: block; width: 10px; height: 10px; margin-bottom: 10px; border-radius: 50%; background: var(--ccde-orange); }
.ccde .ccde-help__title { margin: 0 0 6px; font-size: 20px; color: #fff; }
.ccde-help p { margin: 0; font-size: 14px; line-height: 1.55; }
.ccde-help__actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (min-width: 768px) {
	.ccde-prefooter { padding-top: 64px; }
	.ccde-reassurance { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 32px; border-radius: 28px; }
	.ccde-help { flex-direction: row; align-items: center; justify-content: space-between; gap: 40px; padding: 40px 48px; border-radius: 28px; margin-top: 24px; }
	.ccde-help__text { max-width: 640px; }
	.ccde .ccde-help__title { font-size: 26px; }
	.ccde-help p { font-size: 15px; }
	.ccde-help__actions { flex-wrap: nowrap; flex-shrink: 0; }
}
@media (min-width: 1024px) {
	.ccde-reassurance { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ccde .site-footer {
	margin-top: 40px;
	padding: 32px 0 24px;
	background: var(--ccde-sand);
	color: var(--ccde-muted);
	font-size: 14px;
}
.ccde .site-footer a { color: var(--ccde-ink); text-decoration: none; }
.ccde .site-footer a:hover { color: var(--ccde-orange-text); }
.ccde .site-footer a.ccde-footer-brand__logo { display: inline-flex; }
.ccde-footer-brand { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.ccde-footer-brand p { display: none; margin: 0; font-size: 13px; line-height: 1.6; }
.ccde .footer-widgets { padding: 0; border: 0; }
.ccde .site-footer .widget { margin: 0; }
.ccde .site-footer .widget .widget-title,
.ccde .site-footer .widget .widgettitle {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ccde-orange-text);
}
.ccde .site-footer .widget ul { margin: 0; }
.ccde .site-footer .widget ul li { padding: 5px 0; }
.ccde .site-footer .widget ul li::before { display: none; }

/* Accordéon des widgets (mobile) */
.ccde-acc-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--ccde-line-2);
	border-radius: 0;
	background: transparent;
	color: var(--ccde-ink);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
}
.ccde-acc-btn:hover, .ccde-acc-btn:focus { background: transparent; color: var(--ccde-ink); }
.ccde-acc-btn svg { transition: transform .2s ease; flex-shrink: 0; }
.ccde-acc.is-open .ccde-acc-btn svg { transform: rotate(180deg); }
.ccde .site-footer .ccde-acc > :not(:has(.ccde-acc-btn)) { padding: 10px 0 14px; }

@media (max-width: 767px) {
	.ccde .site-footer .ccde-acc:not(.is-open) > :not(:has(.ccde-acc-btn)) { display: none; }
}

.ccde-credit {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	clear: both;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--ccde-line-2);
	font-size: 12px;
}
.ccde .ccde-credit a { color: var(--ccde-orange-text); font-weight: 600; }

@media (min-width: 768px) {
	.ccde .site-footer { margin-top: 64px; padding: 56px 0 32px; }
	.ccde .site-footer > .col-full {
		display: grid;
		grid-template-columns: minmax(200px, 1fr) 4fr;
		gap: 0 40px;
	}
	.ccde .site-footer > .col-full::before, .ccde .site-footer > .col-full::after { content: none; }
	.ccde .site-footer > .col-full > * { grid-column: 1 / -1; }
	.ccde .site-footer > .col-full > .ccde-footer-brand { grid-column: 1; margin: 0; }
	.ccde .site-footer > .col-full > .footer-widgets { grid-column: 2; }
	.ccde .site-footer .widget .widget-title { margin-bottom: 12px; }
	.ccde-acc-btn { min-height: 0; border: 0; pointer-events: none; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ccde-orange-text); }
	.ccde-acc-btn svg { display: none; }
	.ccde .site-footer .ccde-acc > :not(:has(.ccde-acc-btn)) { padding: 0; }
	.ccde-credit { font-size: 13px; }
}

/* Place pour la barre panier fixe en bas */
.ccde.ccde-sticky-visible .site-footer { padding-bottom: 110px; }
@media (min-width: 768px) {
	.ccde.ccde-sticky-visible .site-footer { padding-bottom: 32px; }
}

/* En-tête desktop : logo à sa taille réelle, recherche sur toute la largeur */
@media (min-width: 992px) {
	#masthead .col-full {
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		padding-top: 12px !important;
		padding-bottom: 4px !important;
		row-gap: 2px !important;
	}
	#masthead .site-branding,
	#masthead .ccde-branding__link,
	#masthead .ccde-branding__full {
		height: auto !important;
		max-height: none !important;
	}
	#masthead .ccde-branding__full .ccde-logo__img {
		height: 104px !important;
		width: auto !important;
		max-width: none !important;
		max-height: none !important;
		display: block;
	}
	#masthead .site-search {
		max-width: none !important;
		width: 100% !important;
		justify-self: stretch !important;
	}
}

/* Mouvement réduit */
@media (prefers-reduced-motion: reduce) {
	.ccde *, .ccde *::before, .ccde *::after { transition: none !important; }
}

/* --------------------------------------------------------------------------
   Panier et commande
   -------------------------------------------------------------------------- */

/* Panier et commande : centré avec marges auto */
.ccde.woocommerce-cart .site-content > .col-full,
.ccde.woocommerce-checkout .site-content > .col-full {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

/* Panier et commande : contenu pleine largeur (pas de sidebar) */
.ccde.woocommerce-cart #primary.content-area,
.ccde.woocommerce-checkout #primary.content-area {
	width: 100%;
	float: none;
	margin-right: 0;
}

.ccde.woocommerce-cart .entry-header,
.ccde.woocommerce-checkout .entry-header {
	margin: 0 0 20px;
	padding: 0 var(--ccde-gutter);
	border: 0;
	text-align: left;
}
.ccde.woocommerce-cart .entry-title,
.ccde.woocommerce-checkout .entry-title {
	margin: 0;
	font-size: 28px;
	text-align: left;
	letter-spacing: -0.03em;
}
.ccde.woocommerce-cart .hentry,
.ccde.woocommerce-checkout .hentry { margin: 0; padding: 0; border: 0; }
.ccde.woocommerce-cart .edit-link,
.ccde.woocommerce-checkout .edit-link { font-size: 12px; opacity: .6; }

/* Tableaux WooCommerce : sans fond gris ni zébrures */
.ccde .shop_table,
.ccde .shop_table th,
.ccde .shop_table td,
.ccde .shop_table tbody th,
.ccde .shop_table tfoot th,
.ccde .shop_table tfoot td,
.ccde .shop_table tbody tr:nth-child(2n) td { background: transparent; }
.ccde table.shop_table { border: 0; border-collapse: collapse; margin: 0; }
.ccde .shop_table th, .ccde .shop_table td { border: 0; }

/* Lignes du panier */
.ccde table.cart thead th {
	text-align: left;
	padding: 0 12px 12px;
	border-bottom: 1px solid var(--ccde-line);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ccde-muted);
}
.ccde table.cart td { padding: 18px 12px; border-bottom: 1px solid var(--ccde-line); vertical-align: middle; }
.ccde table.cart td.product-thumbnail { width: 96px; }
.ccde table.cart td.product-thumbnail img {
	display: block;
	width: 88px;
	max-width: none;
	height: 88px;
	object-fit: contain;
	border: 1px solid var(--ccde-line);
	border-radius: 14px;
	background: #fff;
}
.ccde table.cart td.product-name a { font-weight: 600; color: var(--ccde-ink); text-decoration: none; line-height: 1.35; }
.ccde table.cart td.product-name a:hover { color: var(--ccde-orange-text); }
.ccde table.cart td.product-name dl.variation { margin: 6px 0 0; font-size: 13px; color: var(--ccde-muted); }
.ccde table.cart td.product-price,
.ccde table.cart td.product-subtotal { white-space: nowrap; color: var(--ccde-ink); }
.ccde table.cart td.product-subtotal { font-weight: 700; }
.ccde-tax-label { font-size: 11px; font-weight: 500; color: var(--ccde-muted); }
.ccde table.cart td.product-remove { width: 44px; }
.ccde table.cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--ccde-muted) !important;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	text-decoration: none;
}
.ccde table.cart a.remove:hover { background: #f8e3e5; color: var(--ccde-promo) !important; }
.ccde table.cart .quantity .qty {
	width: 76px;
	height: 44px;
	padding: 0 8px;
	border-radius: 999px;
	text-align: center;
	font-weight: 600;
}

/* Code promo + mise à jour */
.ccde table.cart td.actions { padding: 18px 0 0; border-bottom: 0; }
.ccde table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; float: none; }
.ccde table.cart td.actions .coupon label { display: none; }
.ccde table.cart td.actions .coupon .input-text {
	width: 220px;
	height: 46px;
	margin: 0;
	padding: 0 18px;
	border-radius: 999px;
	font-size: 14px;
}
.ccde table.cart td.actions .coupon .button {
	height: 46px;
	padding: 0 20px;
	background: #fff;
	color: var(--ccde-ink);
	border: 1.5px solid var(--ccde-ink);
	font-size: 14px;
	white-space: nowrap;
}
.ccde table.cart td.actions .coupon .button:hover { background: var(--ccde-ink); color: #fff; }
.ccde table.cart td.actions > .button[name="update_cart"] {
	height: 46px;
	padding: 0 20px;
	background: transparent;
	color: var(--ccde-ink);
	border: 1.5px solid var(--ccde-line-2);
	font-size: 14px;
}
.ccde table.cart td.actions > .button[name="update_cart"]:disabled { opacity: .45; }
/* Avec JavaScript, le panier se met à jour tout seul : bouton inutile */
.ccde-js .ccde table.cart td.actions > .button[name="update_cart"] {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); border: 0;
}

/* Totaux */
.ccde .cart-collaterals .cart_totals,
.ccde #order_review {
	padding: 24px;
	border-radius: 24px;
	background: var(--ccde-sand);
}
.ccde .cart_totals > h2,
.ccde #order_review_heading {
	margin: 0 0 12px;
	font-size: 20px;
}
.ccde .cart_totals table.shop_table th,
.ccde .cart_totals table.shop_table td,
.ccde #order_review table.shop_table th,
.ccde #order_review table.shop_table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--ccde-line-2);
	font-size: 14px;
	vertical-align: top;
}
.ccde .cart_totals table.shop_table th,
.ccde #order_review table.shop_table tfoot th { font-weight: 500; color: var(--ccde-muted); text-align: left; }
.ccde .cart_totals table.shop_table td,
.ccde #order_review table.shop_table tfoot td { text-align: right; color: var(--ccde-ink); }
.ccde .cart_totals .order-total th,
.ccde .cart_totals .order-total td,
.ccde #order_review .order-total th,
.ccde #order_review .order-total td {
	border-bottom: 0;
	padding-top: 16px;
	font-size: 20px;
	font-weight: 700;
	color: var(--ccde-ink);
}
.ccde .cart_totals .order-total small,
.ccde #order_review .order-total small { display: block; font-size: 12px; font-weight: 400; color: var(--ccde-muted); }

/* Tableau des totaux en lignes souples : « Expédition » prend toute la largeur */
.ccde .cart_totals table.shop_table,
.ccde .cart_totals table.shop_table tbody,
.ccde #order_review table.shop_table tfoot { display: block; width: 100%; }
.ccde .cart_totals table.shop_table tr,
.ccde #order_review table.shop_table tfoot tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	border-bottom: 1px solid var(--ccde-line-2);
}
.ccde .cart_totals table.shop_table tr.order-total,
.ccde #order_review table.shop_table tfoot tr.order-total { border-bottom: 0; }
.ccde .cart_totals table.shop_table th,
.ccde .cart_totals table.shop_table td,
.ccde #order_review table.shop_table tfoot th,
.ccde #order_review table.shop_table tfoot td { display: block; width: auto; border-bottom: 0; }
.ccde .cart_totals table.shop_table td::before,
.ccde #order_review table.shop_table tfoot td::before { display: none; }
.ccde .cart_totals tr.woocommerce-shipping-totals,
.ccde #order_review tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; gap: 0; }
.ccde .cart_totals tr.woocommerce-shipping-totals th,
.ccde #order_review tr.woocommerce-shipping-totals th { padding-bottom: 8px; }
.ccde .cart_totals tr.woocommerce-shipping-totals td,
.ccde #order_review tr.woocommerce-shipping-totals td { padding-top: 0; text-align: left; }

/* Modes de livraison */
.ccde #shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
.ccde #shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 12px 14px;
	border-radius: 14px;
	background: #fff;
	border: 1.5px solid transparent;
	text-indent: 0;
	line-height: 1.4;
}
.ccde #shipping_method li:has(input:checked) { border-color: var(--ccde-ink); }
.ccde #shipping_method li input { margin: 2px 0 0; accent-color: var(--ccde-ink); flex-shrink: 0; }
.ccde #shipping_method li label { color: var(--ccde-ink); font-weight: 500; }
.ccde .woocommerce-shipping-destination,
.ccde .woocommerce-shipping-calculator { margin: 8px 0 0; font-size: 12px; color: var(--ccde-muted); text-align: left; }
.ccde .shipping-calculator-button { font-size: 12px; color: var(--ccde-orange-text); }

/* Bouton de commande */
.ccde .wc-proceed-to-checkout { padding: 16px 0 0; margin: 0; }
.ccde .wc-proceed-to-checkout .button.checkout-button,
.ccde #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 0;
	padding: 0 24px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 999px;
}
.ccde .wc-proceed-to-checkout .button.checkout-button::after { font-size: 14px; margin-left: 10px; }

.ccde-cart-trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--ccde-muted);
}
.ccde-cart-trust li { display: flex; align-items: center; gap: 10px; margin: 0; }
.ccde-cart-trust svg { flex-shrink: 0; color: var(--ccde-orange-text); }
.ccde .ccde-cart-trust a { color: var(--ccde-ink); font-weight: 600; text-decoration: none; }

/* Ventes croisées */
.ccde .cross-sells > h2 { font-size: 20px; }

/* Panier vide */
.ccde .cart-empty { text-align: center; }
.ccde .return-to-shop { text-align: center; }

/* Mobile : chaque ligne devient une petite carte */
@media (max-width: 767px) {
	.ccde.woocommerce-cart .woocommerce { display: block; }
	.ccde table.cart, .ccde table.cart tbody { display: block; width: 100%; }
	.ccde table.cart thead { display: none; }
	.ccde table.cart tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		grid-template-areas:
			"thumb name"
			"thumb price"
			"thumb qty";
		column-gap: 14px;
		row-gap: 6px;
		padding: 16px 44px 16px 0;
		border-bottom: 1px solid var(--ccde-line);
	}
	.ccde table.cart tr.cart_item td {
		display: block;
		padding: 0;
		border: 0;
		text-align: left;
	}
	.ccde table.cart tr.cart_item td::before { display: none; }
	.ccde table.cart td.product-thumbnail { display: block; grid-area: thumb; width: auto; }
	.ccde table.cart td.product-thumbnail img { width: 76px; height: 76px; }
	.ccde table.cart td.product-name { grid-area: name; font-size: 14px; white-space: normal; overflow-wrap: anywhere; }
	.ccde table.cart td.product-price { grid-area: price; font-size: 13px; color: var(--ccde-muted); }
	.ccde table.cart td.product-quantity { grid-area: qty; }
	.ccde table.cart td.product-subtotal { position: absolute; right: 0; bottom: 20px; font-size: 15px; }
	.ccde table.cart td.product-remove { position: absolute; top: 8px; right: 0; width: auto; }
	.ccde table.cart tr:not(.cart_item) { display: block; }
	.ccde table.cart td.actions { display: block; padding-top: 16px; }
	.ccde table.cart td.actions .coupon { width: 100%; }
	.ccde table.cart td.actions .coupon .input-text { flex: 1; width: auto; min-width: 0; }
	.ccde table.cart td.actions .coupon .button { flex-shrink: 0; padding: 0 16px; }
	.ccde .cart-collaterals { margin-top: 24px; }
	.ccde .cart-collaterals .cart_totals { padding: 20px 16px; }
}

/* Ordinateur : articles à gauche, total fixé à droite */
@media (min-width: 1024px) {
	.ccde.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: 1fr 380px;
		gap: 0 48px;
		align-items: start;
	}
	.ccde.woocommerce-cart .woocommerce > * { grid-column: 1 / -1; }
	.ccde.woocommerce-cart .woocommerce > .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
	.ccde.woocommerce-cart .woocommerce > .cart-collaterals { display: contents; }
	.ccde.woocommerce-cart .cart-collaterals .cart_totals {
		grid-column: 2;
		grid-row: 2 / span 2;
		width: auto;
		float: none;
		position: sticky;
		top: 24px;
	}
	.ccde.woocommerce-cart .cart-collaterals .cross-sells { grid-column: 1; grid-row: 3; width: auto; float: none; margin-top: 40px; }
	.ccde.woocommerce-cart .woocommerce::before,
	.ccde.woocommerce-cart .woocommerce::after,
	.ccde .cart-collaterals::before,
	.ccde .cart-collaterals::after { content: none; }
	.ccde.woocommerce-cart .entry-title,
	.ccde.woocommerce-checkout .entry-title { font-size: 36px; }
}

/* Page commande */
.ccde.woocommerce-checkout .woocommerce-billing-fields h3,
.ccde.woocommerce-checkout .woocommerce-shipping-fields h3,
.ccde.woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 20px; }
.ccde.woocommerce-checkout .form-row label { font-size: 13px; font-weight: 500; color: var(--ccde-ink); }
.ccde.woocommerce-checkout .form-row .input-text,
.ccde.woocommerce-checkout .form-row select { min-height: 48px; }
.ccde #order_review table.shop_table thead th { padding: 0 0 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ccde-muted); border-bottom: 1px solid var(--ccde-line-2); }
.ccde #order_review table.shop_table tbody td { text-align: left; }
.ccde #order_review table.shop_table tbody td.product-total { text-align: right; }
.ccde #payment { background: transparent; border-radius: 0; margin-top: 16px; }
.ccde #payment .payment_methods { margin: 0; padding: 0; border: 0; }
.ccde #payment .payment_methods > li { margin: 0 0 8px; padding: 12px 14px; border-radius: 14px; background: #fff; list-style: none; }
.ccde #payment .payment_methods li .payment_box { background: var(--ccde-sand); border-radius: 12px; margin-top: 10px; font-size: 13px; }
.ccde #payment .place-order { padding: 12px 0 0; }

/* --------------------------------------------------------------------------
   Pagination catalogue : centrage
   -------------------------------------------------------------------------- */

.ccde-catalog .storefront-sorting .woocommerce-pagination {
	float: none;
	margin-left: auto;
	margin-right: auto;
}

/* Barre de catégories desktop : tout sur une ligne, ErgoExpert aligné sur le Panier */
@media (min-width: 768px) {
    .ccde .ccde-header-categories > .ccde-header-categories__inner {
        flex: 1 1 auto;
        min-width: 0;
        flex-wrap: nowrap;
        overflow-y: hidden;
        row-gap: 0;
    }
    .ccde .ccde-header-categories .ccde-header-categories__item {
        padding-left: 5px;
        padding-right: 5px;
    }
    .ccde .ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert {
        position: static;
        margin-left: auto;
        flex-grow: 0;
    }
}

/* Page « Demande d'essai » (page-id-2504) : formulaire CF7 2502 en pleine largeur */
/* Pleine largeur, sans barre latérale, sur les pages Demande d'essai (2504) et Demande de devis (2506) */
.page-id-2504 #secondary,.page-id-2506 #secondary{display:none}
.page-id-2504 .content-area,.page-id-2506 .content-area{width:100%!important;float:none!important;margin-right:0!important}
.page-id-2504 .su-row .su-column:has(.wpcf7),.page-id-2506 .su-row .su-column:has(.wpcf7){width:100%!important;max-width:none!important;float:none!important;margin:0!important}
.page-id-2504 .su-row .su-column:not(:has(*)),.page-id-2506 .su-row .su-column:not(:has(*)){display:none}

/* Formulaire CF7 */
.wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:8px;padding:32px;background:#FBF9F6;border:1px solid #E6E2DC;border-radius:20px}
.wpcf7-form>*{grid-column:1/-1;margin:0}
/* Message et bouton : pleine largeur, bouton aligné à droite */
.wpcf7-form>p:has(textarea),
.wpcf7-form>p:has(.wpcf7-submit){grid-column:1/-1;grid-row:auto}
.wpcf7-form>p:has(.wpcf7-submit){text-align:right;position:relative}
.wpcf7-form .wpcf7-spinner{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin:0 12px}
/* Page Contactez-nous : adresse e-mail + champ suivant (Objet) côte à côte */
.page-contactez-nous .wpcf7-form>p:has(input[type=email]),
.page-contactez-nous .wpcf7-form>p:has(input[type=email])+p{grid-column:span 1}
/* Pages Demande d'essai et Demande de devis : placement propre à leur formulaire */
.page-id-2504 .wpcf7-form>p:nth-of-type(2),.page-id-2504 .wpcf7-form>p:nth-of-type(3),
.page-id-2506 .wpcf7-form>p:nth-of-type(2),.page-id-2506 .wpcf7-form>p:nth-of-type(3){grid-column:span 1}
.page-id-2504 .wpcf7-form>p:nth-of-type(5),.page-id-2506 .wpcf7-form>p:nth-of-type(5){grid-column:1;grid-row:3}
.page-id-2504 .wpcf7-form>p:nth-of-type(4),.page-id-2506 .wpcf7-form>p:nth-of-type(4){grid-column:2;grid-row:3}
.wpcf7-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:#2E2D2C;line-height:1.4}
.wpcf7-form label br{display:none}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form textarea{width:100%;box-sizing:border-box;font:400 16px/1.5 Poppins,system-ui,sans-serif;color:#2E2D2C;background:#fff;border:1.5px solid #E6E2DC;border-radius:12px;padding:12px 16px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.wpcf7-form textarea{min-height:140px;height:auto;resize:vertical}
.wpcf7-form input:hover,.wpcf7-form textarea:hover{border-color:#CFC8BE}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:#F39200;box-shadow:0 0 0 4px rgba(243,146,0,.18)}
.wpcf7-form input[name=produit]{background:#FFF4E3;border-color:#F8D6A3;font-weight:500}
.wpcf7-form .wpcf7-not-valid{border-color:#C62828!important;box-shadow:0 0 0 4px rgba(198,40,40,.12)!important}
.wpcf7-form .wpcf7-not-valid-tip{font-size:13px;font-weight:500;margin-top:6px;color:#C62828}
.wpcf7-form input[type=submit]{justify-self:start;background:#F39200;color:#fff;border:0;border-radius:999px;padding:14px 36px;font:600 16px Poppins,system-ui,sans-serif;cursor:pointer;transition:background .15s}
.wpcf7-form input[type=submit]:hover{background:#D97F00}
.wpcf7-form input[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(243,146,0,.3)}
.wpcf7-form .wpcf7-response-output{margin:0!important;border-radius:12px;padding:12px 16px!important;font-size:14px}
@media (max-width:640px){
  .wpcf7-form{grid-template-columns:1fr;padding:20px;gap:16px}
  .wpcf7-form>p:nth-of-type(n){grid-column:1/-1;grid-row:auto}
  .wpcf7-form input[type=submit]{width:100%}
}

/* ===== Page Commande (WooCommerce classique) ===== */
.woocommerce-checkout{accent-color:#F39200}
.woocommerce-checkout h1.entry-title,.woocommerce-checkout .entry-header{margin-left:0!important;padding-left:0!important}

/* Bandeaux info */
.woocommerce-checkout .woocommerce-info{position:relative;padding:16px 20px 16px 56px!important;background:#FFF4E3;border:1px solid #F8D6A3;border-radius:16px;color:#2E2D2C;font-size:15px}
.woocommerce-checkout .woocommerce-info::before{left:22px!important;top:50%!important;transform:translateY(-50%);color:#F39200}
.woocommerce-checkout .woocommerce-info a{color:#A85800;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Cartes */
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{background:#FBF9F6;border:1px solid #E6E2DC;border-radius:20px;padding:28px;box-sizing:border-box}
.woocommerce-checkout #customer_details{width:55%;margin-right:3%!important}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:42%}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin:0}
.woocommerce-checkout #order_review_heading{background:#FBF9F6;border:1px solid #E6E2DC;border-bottom:0;border-radius:20px 20px 0 0;padding:28px 28px 4px!important;margin:0!important;box-sizing:border-box}
.woocommerce-checkout #order_review{border-top:0;border-radius:0 0 20px 20px;padding-top:8px}

/* Titres */
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-size:20px;font-weight:700;color:#2E2D2C;margin:0 0 18px}
.woocommerce-checkout .woocommerce-additional-fields h3{margin-top:28px}
.woocommerce-checkout #ship-to-different-address{margin-top:24px;font-size:15px;font-weight:600}
.woocommerce-checkout #ship-to-different-address label{display:inline-flex!important;flex-direction:row!important;align-items:center!important;width:auto!important;gap:10px;cursor:pointer}
.woocommerce-checkout #ship-to-different-address input{order:-1;margin:0!important;position:static!important;float:none!important}
.woocommerce-checkout #ship-to-different-address label span{margin:0!important;padding:0!important;line-height:1.4}

/* Champs */
.woocommerce-checkout .form-row{margin-bottom:16px}
.woocommerce-checkout .form-row label{font-size:14px;font-weight:600;color:#2E2D2C;margin-bottom:6px;display:block}
.woocommerce-checkout .form-row .required{color:#C62828;text-decoration:none}
.woocommerce-checkout .form-row-first{width:calc(50% - 8px);margin-right:16px!important}
.woocommerce-checkout .form-row-last{width:calc(50% - 8px)}
.woocommerce-checkout input.input-text,.woocommerce-checkout textarea,.woocommerce-checkout select,.woocommerce-checkout .select2-selection{font:400 16px/1.5 Poppins,system-ui,sans-serif!important;color:#2E2D2C;background:#fff!important;border:1.5px solid #E6E2DC!important;border-radius:12px!important;padding:12px 16px;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.woocommerce-checkout input.input-text::placeholder,.woocommerce-checkout textarea::placeholder{color:#9A958F}
.woocommerce-checkout input.input-text:hover,.woocommerce-checkout textarea:hover,.woocommerce-checkout select:hover{border-color:#CFC8BE!important}
.woocommerce-checkout input.input-text:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout select:focus{outline:none;border-color:#F39200!important;box-shadow:0 0 0 4px rgba(243,146,0,.18)!important}
.woocommerce-checkout .woocommerce-invalid input.input-text{border-color:#C62828!important}
.woocommerce-checkout textarea{min-height:110px}
.woocommerce-checkout input[type=checkbox]{width:18px;height:18px;margin:0}
.woocommerce-checkout .woocommerce-form__label-for-checkbox{display:inline-flex!important;align-items:center;gap:10px;font-weight:500}

/* Récapitulatif */
.woocommerce-checkout .shop_table{border:0;margin-bottom:20px;width:100%}
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td{padding:12px 0!important;background:none!important;border-bottom:1px solid #E6E2DC;font-size:14px;color:#4A4846}
.woocommerce-checkout .shop_table thead th{font-size:12px;letter-spacing:.06em;color:#A85800;font-weight:700}
.woocommerce-checkout .shop_table td:last-child,.woocommerce-checkout .shop_table thead th:last-child{text-align:right}
.woocommerce-checkout .shop_table .product-name{font-weight:600;color:#2E2D2C}
.woocommerce-checkout .shop_table tfoot{display:table-footer-group!important;width:auto!important}
.woocommerce-checkout .shop_table tfoot tr{display:table-row!important;width:auto!important}
.woocommerce-checkout .shop_table tfoot th,.woocommerce-checkout .shop_table tfoot td{display:table-cell!important;width:auto!important}
.woocommerce-checkout .shop_table tfoot th{text-align:left}
.woocommerce-checkout .shop_table tfoot td{text-align:right}
.woocommerce-checkout .shop_table tr.shipping th{vertical-align:top;padding-top:14px!important}
.woocommerce-checkout #shipping_method{margin:0;display:grid;gap:8px}
.woocommerce-checkout #shipping_method li{display:flex;align-items:center;gap:12px;margin:0;padding:12px 16px;text-align:left;background:#fff;border:1.5px solid #E6E2DC;border-radius:12px;cursor:pointer;transition:border-color .15s}
.woocommerce-checkout #shipping_method li:has(input:checked){border-color:#F39200;background:#FFF9F0}
.woocommerce-checkout #shipping_method li label{margin:0;font-weight:500;color:#2E2D2C;cursor:pointer;flex:1}
.woocommerce-checkout .order-total th,.woocommerce-checkout .order-total td{border-bottom:0!important;font-size:18px!important;color:#2E2D2C!important;font-weight:700;padding-top:16px!important}

/* Paiement */
.woocommerce-checkout #payment{background:none!important}
.woocommerce-checkout #payment ul.payment_methods{padding:0!important;border:0!important;display:grid;gap:10px;margin:0 0 20px}
.woocommerce-checkout #payment .wc_payment_method{padding:14px 16px!important;background:#fff;border:1.5px solid #E6E2DC;border-radius:14px}
.woocommerce-checkout #payment .wc_payment_method:has(>input:checked){border-color:#F39200;background:#FFF9F0}
.woocommerce-checkout #payment .wc_payment_method>input{margin:0!important}
.woocommerce-checkout #payment .wc_payment_method>label{padding:4px 0!important;font-weight:600;color:#2E2D2C;font-size:15px}
.woocommerce-checkout #payment .wc_payment_method>label::before{color:#CFC8BE!important}
.woocommerce-checkout #payment .wc_payment_method>input:checked+label::before{color:#F39200!important}
.woocommerce-checkout #payment .payment_box{margin:12px 0 0!important;background:#FBF9F6!important;border-radius:10px;padding:14px!important;font-size:14px}
.woocommerce-checkout #payment .payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:0!important;background:none!important;margin:0}
.woocommerce-checkout .woocommerce-privacy-policy-text,.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:13px!important;line-height:1.55;color:#6B6762;background:none}
.woocommerce-checkout .woocommerce-privacy-policy-text a,.woocommerce-checkout .woocommerce-terms-and-conditions-link{color:#A85800}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row{margin:14px 0 18px}
.woocommerce-checkout #place_order{width:100%;height:56px;font-size:17px!important;text-transform:none!important;letter-spacing:0;background:#F39200;color:#2E2D2C;border-radius:999px;transition:background .15s}
.woocommerce-checkout #place_order:hover{background:#D97F00}
.woocommerce-checkout #place_order:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(243,146,0,.3)}

/* Mobile */
@media (max-width:767px){
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:100%;float:none;margin-right:0!important}
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{padding:20px}
  .woocommerce-checkout #customer_details{margin-bottom:24px}
  .woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:100%;float:none;margin-right:0!important}
}

/* Focus : rien au clic souris, contour orange au clavier */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
.button:focus:not(:focus-visible),
input[type=submit]:focus:not(:focus-visible),
input[type=button]:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible){outline:none!important;box-shadow:none}

a:focus-visible,
button:focus-visible,
.button:focus-visible,
input[type=submit]:focus-visible,
input[type=button]:focus-visible,
[tabindex]:focus-visible{outline:2px solid #F39200!important;outline-offset:3px}

/* Reflet discret au toucher sur mobile, au lieu du gris/bleu par défaut */
a,button{-webkit-tap-highlight-color:rgba(243,146,0,.15)}

/* Cartes produits : prix */
ul.products li.product .price {
  padding-right: 0 !important;
  line-height: 1.25;
}
ul.products li.product .price > .amount {
  display: block;
  white-space: nowrap;
}
ul.products li.product .price .woocommerce-price-suffix {
  display: block;
  padding-right: 40px; /* place pour le bouton panier */
  font-size: 11px;
  font-weight: 500;
  opacity: .75;
  margin-top: 3px;
}
ul.products li.product .price .woocommerce-price-suffix .amount {
  white-space: nowrap;
}

/* Cartes produits : bouton panier plus compact */
ul.products li.product .ccde-add {
  width: 34px !important;
  height: 34px !important;
  min-width: 0 !important;
  right: 12px !important;
  bottom: 12px !important;
}
ul.products li.product .ccde-add svg {
  width: 17px !important;
  height: 17px !important;
}

/* Titres : coupure avec trait d'union plutôt qu'au milieu des mots */
ul.products li.product .woocommerce-loop-product__title {
  word-break: normal !important;
  overflow-wrap: break-word;
  hyphens: auto;
}

@media (max-width: 480px) {
  ul.products li.product .price > .amount { font-size: 15px; }
}

/* ===== Tablette (768–1023 px) : comportement mobile pour le menu des catégories,
   les filtres et la recherche. Les seuils 767 et 1024 ne sont pas modifiés. ===== */
@media (min-width: 768px) and (max-width: 1023px) {
	/* 1. Menu des catégories : une ligne dans un bandeau, défilement, flèches */
	.ccde .ccde-header-categories {
		position: relative;
		display: flex;
		align-items: center;
		min-width: 0;
		margin: 2px 4px 0;
		padding: 0 8px;
		height: 40px;
		background: #fff7ec;
		border: 1px solid #f6d9ae;
		border-radius: 999px;
		border-bottom: 0;
	}
	.ccde .ccde-header-categories::before,
	.ccde .ccde-header-categories::after {
		content: "";
		flex-basis: 14px;
		font-size: 24px;
		padding-bottom: 2px;
		line-height: 1;
		font-weight: bold;
		color: var(--ccde-orange);
		pointer-events: none;
		transition: opacity .2s;
	}
	.ccde .ccde-header-categories::before { content: "‹"; text-align: left; }
	.ccde .ccde-header-categories::after { content: "›"; text-align: right; }
	.ccde .ccde-header-categories.is-at-start::before,
	.ccde .ccde-header-categories.is-at-end::after { opacity: 0; }

	.ccde .ccde-header-categories > .ccde-header-categories__inner {
		flex: 1 1 auto;
		min-width: 0;
		flex-wrap: nowrap;
		row-gap: 0;
		justify-content: flex-start;
		align-items: center;
		align-self: stretch;
		gap: 20px;
		padding: 0 6px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.ccde .ccde-header-categories__inner::-webkit-scrollbar { display: none; }

	/* position: relative sur tous les liens, y compris ErgoExpert, pour que les séparateurs restent dans le bandeau */
	.ccde .ccde-header-categories .ccde-header-categories__item,
	.ccde .ccde-header-categories .ccde-header-categories__item:first-child,
	.ccde .ccde-header-categories .ccde-header-categories__item:last-child {
		position: relative;
		flex: 0 0 auto;
		padding: 0;
		white-space: nowrap;
	}
	.ccde .ccde-header-categories .ccde-header-categories__item.is-active { color: var(--ccde-orange-text); }
	.ccde .ccde-header-categories .ccde-header-categories__item + .ccde-header-categories__item::before {
		content: "";
		position: absolute;
		left: -12px;
		top: 50%;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: var(--ccde-orange);
		opacity: .45;
		transform: translateY(-50%);
		pointer-events: none;
	}
	.ccde .ccde-header-categories__inner a.ccde-header-categories__item--expert {
		position: relative;
		flex: 0 0 auto;
		margin-left: 0;
	}

	/* 2. Filtres de la boutique : pleine largeur, volet latéral */
	.ccde-catalog .site-content > .col-full {
		display: block;
	}
	.ccde-catalog .site-content > .col-full > .content-area {
		grid-column: auto;
		width: 100%;
		float: none;
		margin: 0;
	}
	.ccde-catalog .site-content > .col-full > .widget-area {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 10001;
		width: min(86vw, 360px);
		float: none;
		margin: 0;
		padding: 0 20px 24px;
		overflow-y: auto;
		background: #fff;
		transform: translateX(-105%);
		transition: transform .25s ease;
		visibility: hidden;
	}
	.ccde-catalog.ccde-filters-open .site-content > .col-full > .widget-area {
		transform: none;
		visibility: visible;
		box-shadow: 0 0 40px rgba(0, 0, 0, .2);
	}
	.ccde-filters-toggle { display: flex; }
	.ccde-drawer-head { display: flex; }
	.ccde-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(46, 45, 44, .45);
		opacity: 0;
		pointer-events: none;
		transition: opacity .25s ease;
	}
	.ccde.ccde-filters-open .ccde-backdrop { opacity: 1; pointer-events: auto; }
	.ccde.ccde-filters-open { overflow: hidden; }

	/* 3. Recherche de l'en-tête masquée (trop étroite) */
	#masthead .site-search { display: none !important; }
}

/* Flèches de défilement sur ordinateur : visibles seulement quand le bandeau déborde
   (le script ajoute is-at-start / is-at-end) */
@media (min-width: 768px) {
	.ccde .ccde-header-categories::before,
	.ccde .ccde-header-categories::after {
		content: "";
		flex: 0 0 14px;
		font-size: 24px;
		padding-bottom: 2px;
		line-height: 1;
		font-weight: bold;
		color: var(--ccde-orange);
		pointer-events: none;
		transition: opacity .2s;
	}
	.ccde .ccde-header-categories::before { content: "‹"; text-align: left; }
	.ccde .ccde-header-categories::after { content: "›"; text-align: right; }
	.ccde .ccde-header-categories.is-at-start::before,
	.ccde .ccde-header-categories.is-at-end::after { opacity: 0; }
}

/* Mobile (< 768 px) : le logo ErgoExpert défile avec les catégories, après « Supports de bras » */
@media (max-width: 767px) {
	.ccde .ccde-header-categories .ccde-header-categories__inner a.ccde-header-categories__item--expert {
		position: relative !important;
		right: auto !important;
		flex: 0 0 auto;
		margin-left: 0;
		background: transparent !important;
		box-shadow: none !important;
	}
}

/* Bulles de filtre (Tout · 59, Accessoires, Bureau…) masquées sur toutes les pages concernées */
.ccde-chips { display: none !important; }

/* Vignettes de marque par défaut (image placeholder WooCommerce) masquées */
.brand-thumbnail[src*="woocommerce-placeholder"] { display: none !important; }