/* ----------------------------------------------------------------------------------------
 * PLDS — Navigation (topbar, header pleine largeur, méga-menu, recherche, tiroir mobile)
 * Mobile-first : base = mobile, @media (min-width) = élargissement.
 * Chargé après custom.css ; dépend des variables :root (--primary-color, --accent-color…).
 * ---------------------------------------------------------------------------------------- */

:root{
	--plds-header-h: 68px;
	--plds-topbar-h: 40px;
	--plds-nav-bg: color-mix(in srgb, var(--primary-color) 92%, transparent);
	--plds-nav-line: rgba(255, 255, 255, 0.12);
	--plds-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--plds-dur: 0.32s;
	--plds-shadow: 0 24px 60px -20px rgba(8, 37, 77, 0.45);
}

/* Correctif : le bootstrap.min.css du thème aspiré a pour séparateur par défaut
   "https://senmegadev.com/" — on rétablit le séparateur Bootstrap standard. */
.breadcrumb{
	--bs-breadcrumb-divider: "/";
}

.plds-container{
	width: 100%;
	padding-inline: 16px;
	margin-inline: auto;
}

.visually-hidden{
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

/* =========================================================
   Boutons icône (cibles tactiles 44px)
   ========================================================= */
.plds-icon-btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--white-color);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: background var(--plds-dur) var(--plds-ease), border-color var(--plds-dur) var(--plds-ease), color var(--plds-dur) var(--plds-ease);
}

.plds-icon-btn:hover{
	color: var(--white-color);
	background: var(--plds-nav-line);
}

.plds-icon-btn:focus-visible,
.plds-menu__link:focus-visible,
.plds-lang__btn:focus-visible,
.plds-drawer__link:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: 2px;
}

.plds-icon-btn--dark{
	color: var(--primary-color);
}

.plds-icon-btn--dark:hover{
	color: var(--primary-color);
	background: var(--bg-color);
}

.plds-badge-btn{
	text-decoration: none;
}

.plds-badge{
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 999px;
	transform: scale(1);
	transition: transform 0.25s var(--plds-ease);
}

.plds-badge--accent{
	color: var(--white-color);
	background: var(--accent-color);
}

.plds-badge[data-count="0"]{
	display: none;
}

.plds-badge.is-bump{
	transform: scale(1.35);
}

/* =========================================================
   Topbar
   ========================================================= */
.plds-topbar{
	position: relative;
	background: #061b3a;
	color: var(--white-color);
	font-size: 13px;
	line-height: 1.2;
	border-bottom: 1px solid var(--plds-nav-line);
	z-index: 1000;
}

.plds-topbar__inner{
	min-height: var(--plds-topbar-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.plds-topbar ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 18px;
}

.plds-topbar__contacts li,
.plds-topbar__contacts a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--white-color);
	text-decoration: none;
	transition: color 0.2s ease;
}

.plds-topbar__contacts a:hover{
	color: var(--accent-color);
}

.plds-topbar__contacts i{
	font-size: 12px;
	color: var(--accent-color);
}

.plds-topbar__right{
	display: flex;
	align-items: center;
	gap: 14px;
}

.plds-topbar__social a{
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	border: 1px solid var(--plds-nav-line);
	border-radius: 50%;
	font-size: 12px;
	transition: all 0.25s var(--plds-ease);
}

.plds-topbar__social a:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.plds-topbar__hide-sm,
.plds-topbar__hide-md{
	display: none !important;
}

/* Sélecteur de langue */
.plds-lang{
	position: relative;
}

.plds-lang__btn{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 32px;
	padding: 0 10px;
	font: 600 12px/1 var(--default-font);
	letter-spacing: 0.06em;
	color: var(--white-color);
	background: var(--plds-nav-line);
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	transition: all 0.25s var(--plds-ease);
}

.plds-lang__btn:hover,
.plds-lang[data-open] .plds-lang__btn{
	border-color: rgba(255, 255, 255, 0.35);
}

.plds-lang__menu{
	right: 0;
	left: auto;
	min-width: 190px;
	padding: 6px;
}

.plds-lang__menu a{
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 0 10px;
	color: var(--primary-color);
	border-radius: 8px;
	text-decoration: none;
	font-size: 14px;
	transition: background 0.2s ease;
}

.plds-lang__menu a:hover,
.plds-lang__menu a:focus-visible{
	background: var(--bg-color);
}

.plds-lang__menu a[aria-current="true"]{
	font-weight: 600;
}

.plds-lang__menu a[aria-current="true"] .fa-check{
	margin-left: auto;
	color: var(--accent-color);
	font-size: 12px;
}

.plds-lang__code{
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 6px;
}

/* =========================================================
   Panneaux déroulants (communs)
   ========================================================= */
.plds-dropdown-panel{
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	list-style: none;
	margin: 0;
	background: var(--white-color);
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: var(--plds-shadow);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity var(--plds-dur) var(--plds-ease), transform var(--plds-dur) var(--plds-ease), visibility 0s linear var(--plds-dur);
	z-index: 1010;
}

[data-open] > .plds-dropdown-panel{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}

.plds-caret{
	font-size: 10px;
	margin-left: 6px;
	transition: transform var(--plds-dur) var(--plds-ease);
}

[data-open] > .plds-menu__link .plds-caret,
[data-open] > .plds-lang__btn .plds-caret,
.plds-drawer__toggle[aria-expanded="true"] .plds-caret{
	transform: rotate(180deg);
}

/* =========================================================
   Header pleine largeur
   ========================================================= */
.plds-header{
	position: sticky;
	top: 0;
	z-index: 1001;
	background: var(--plds-nav-bg);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--plds-nav-line);
	transition: transform var(--plds-dur) var(--plds-ease), box-shadow var(--plds-dur) var(--plds-ease), background var(--plds-dur) var(--plds-ease);
}

.plds-header.is-stuck{
	background: var(--primary-color);
	box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.6);
}

.plds-header.is-hidden{
	transform: translateY(-100%);
}

/* Neutralise le padding/largeur Bootstrap/thème : pleine largeur demandée */
.plds-header .navbar.plds-nav{
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
	display: block;
}

.plds-nav__inner{
	min-height: var(--plds-header-h);
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 8px;
}

.plds-brand{
	display: flex;
	justify-content: center;
	padding: 0;
	margin: 0;
}

.plds-brand img{
	display: block;
	width: auto;
	height: 46px;
}

/* Menu principal : masqué en mobile (tiroir), visible ≥ 992px */
.plds-menu{
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.plds-menu__item{
	position: relative;
}

.plds-menu__link{
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	font: 600 15px/1 var(--default-font);
	color: var(--white-color);
	background: transparent;
	border: 0;
	border-radius: 10px;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}

.plds-menu__link:hover,
.plds-menu__link:focus-visible,
[data-open] > .plds-menu__link{
	color: var(--white-color);
	background: var(--plds-nav-line);
}

.plds-menu__link[aria-current="page"],
.plds-menu__link.is-active{
	color: var(--accent-color);
}

.plds-menu__link[aria-current="page"]::after{
	content: '';
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 4px;
	height: 2px;
	background: var(--accent-color);
	border-radius: 2px;
}

/* Sous-menu simple (À propos) */
.plds-sub{
	min-width: 300px;
	padding: 8px;
}

.plds-sub__link{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--primary-color);
	text-decoration: none;
	transition: background 0.2s ease;
}

.plds-sub__link:hover,
.plds-sub__link:focus-visible{
	background: var(--bg-color);
}

.plds-sub__link strong{
	display: block;
	font: 600 15px/1.3 var(--default-font);
}

.plds-sub__link small{
	display: block;
	margin-top: 3px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--text-color);
}

.plds-sub__icon,
.plds-mega__icon{
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: var(--accent-color);
	background: color-mix(in srgb, var(--accent-color) 12%, white);
	border-radius: 10px;
	transition: background 0.25s var(--plds-ease), color 0.25s var(--plds-ease), transform 0.25s var(--plds-ease);
}

.plds-sub__link:hover .plds-sub__icon,
.plds-mega__card:hover .plds-mega__icon{
	color: var(--white-color);
	background: var(--accent-color);
	transform: translateY(-2px);
}

/* Méga-menu produits : pleine largeur sous le header */
.plds-menu__item.has-mega{
	position: static;
}

.plds-mega{
	left: 0;
	right: 0;
	top: 100%;
	border-radius: 0 0 18px 18px;
	border-top: 0;
	padding: 28px 0 32px;
}

.plds-mega__inner{
	display: grid;
	grid-template-columns: 1fr 300px;
	grid-template-areas: "head head" "grid featured";
	gap: 20px 32px;
}

.plds-mega__head{
	grid-area: head;
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--divider-color);
}

.plds-mega__eyebrow{
	margin: 0;
	font: 600 12px/1 var(--default-font);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent-color);
}

.plds-mega__intro{
	margin: 0;
	font-size: 14px;
	color: var(--text-color);
}

.plds-mega__grid{
	grid-area: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 12px;
}

.plds-mega__card{
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 40px 10px 10px;
	border-radius: 12px;
	color: var(--primary-color);
	text-decoration: none;
	transition: background 0.2s ease;
}

.plds-mega__card:hover,
.plds-mega__card:focus-visible{
	background: var(--bg-color);
}

.plds-mega__text strong{
	display: block;
	font: 600 15px/1.3 var(--default-font);
}

.plds-mega__text small{
	display: block;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--text-color);
}

.plds-mega__arrow{
	position: absolute;
	right: 14px;
	top: 50%;
	font-size: 13px;
	color: var(--accent-color);
	opacity: 0;
	transform: translate(-6px, -50%);
	transition: opacity 0.25s var(--plds-ease), transform 0.25s var(--plds-ease);
}

.plds-mega__card:hover .plds-mega__arrow{
	opacity: 1;
	transform: translate(0, -50%);
}

/* =========================================================
   Méga-menu catalogue — navigateur 2 volets (données API General MS)
   Rail = enfants de la racine marketplace ; panneau = leurs sous-catégories,
   déplié au survol (collapse clip-path + apparition échelonnée).
   ========================================================= */
.plds-mega__browser.plds-mega__grid{
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 24px;
	min-height: 300px;
}

.plds-mega__rail{
	list-style: none;
	margin: 0;
	padding: 0 16px 0 0;
	display: grid;
	align-content: start;
	gap: 4px;
	border-right: 1px solid var(--divider-color);
}

.plds-mega__railitem{
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 36px 10px 12px;
	color: var(--primary-color);
	text-decoration: none;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

/* Barre d'accent animée (s'étire depuis le centre) */
.plds-mega__railitem::before{
	content: '';
	position: absolute;
	left: 0;
	top: 18%;
	bottom: 18%;
	width: 3px;
	background: var(--accent-color);
	border-radius: 3px;
	transform: scaleY(0);
	transition: transform 0.4s var(--plds-ease);
}

.plds-mega__railitem:hover,
.plds-mega__railitem.is-active{
	color: var(--primary-color);
	background: var(--bg-color);
}

.plds-mega__railitem.is-active::before{
	transform: scaleY(1);
}

.plds-mega__railitem.is-active .plds-mega__icon{
	color: var(--white-color);
	background: var(--accent-color);
}

.plds-mega__railitem:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: -3px;
}

.plds-mega__railcaret{
	position: absolute;
	right: 14px;
	top: 50%;
	font-size: 13px;
	color: var(--accent-color);
	opacity: 0;
	transform: translate(-8px, -50%);
	transition: all 0.4s var(--plds-ease);
}

.plds-mega__railitem:hover .plds-mega__railcaret,
.plds-mega__railitem.is-active .plds-mega__railcaret{
	opacity: 1;
	transform: translate(0, -50%);
}

/* Panneaux superposés : seul le panneau actif est déplié */
.plds-mega__panels{
	display: grid;
	min-width: 0;
}

.plds-mega__panel{
	grid-area: 1 / 1;
	align-self: start;
	display: grid;
	gap: 16px;
	opacity: 0;
	visibility: hidden;
	clip-path: inset(0 0 100% 0 round 14px);
	transform: translateY(-6px);
	transition:
		opacity 0.3s ease-in-out,
		clip-path 0.55s var(--plds-ease),
		transform 0.55s var(--plds-ease),
		visibility 0s linear 0.55s;
}

.plds-mega__panel.is-active{
	opacity: 1;
	visibility: visible;
	clip-path: inset(0 0 0 0 round 14px);
	transform: none;
	transition:
		opacity 0.35s ease-in-out,
		clip-path 0.55s var(--plds-ease),
		transform 0.55s var(--plds-ease),
		visibility 0s;
}

.plds-mega__panelhead{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--divider-color);
}

.plds-mega__paneltitle{
	margin: 0;
	font-family: var(--accent-font);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--primary-color);
}

.plds-mega__paneltitle span{
	margin-left: 8px;
	font-family: var(--default-font);
	font-size: 13px;
	font-weight: 500;
	color: var(--text-color);
}

.plds-mega__panelhead .readmore-btn{
	font-size: 14px;
	white-space: nowrap;
}

/* Sous-catégories : cartes + petits-enfants en pastilles, apparition échelonnée */
.plds-mega__children{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 10px;
}

.plds-mega__children > li,
.plds-mega__child--solo{
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.4s ease-in-out, transform 0.4s var(--plds-ease);
}

.plds-mega__panel.is-active .plds-mega__children > li,
.plds-mega__panel.is-active .plds-mega__child--solo{
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--i, 0) * 45ms + 120ms);
}

.plds-mega__child{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	color: var(--primary-color);
	text-decoration: none;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	transition: all 0.4s ease-in-out;
}

.plds-mega__child:hover,
.plds-mega__child:focus-visible{
	color: var(--primary-color);
	border-color: var(--accent-color);
	box-shadow: 0 18px 34px -24px rgba(8, 37, 77, 0.45);
	transform: translateY(-2px);
}

.plds-mega__child:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: 2px;
}

.plds-mega__child--solo{
	justify-self: start;
	padding-right: 18px;
}

.plds-mega__child--solo .ph-bold{
	color: var(--accent-color);
}

.plds-mega__childicon{
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: var(--accent-color);
	background: color-mix(in srgb, var(--accent-color) 12%, white);
	border-radius: 10px;
	transition: all 0.4s ease-in-out;
}

.plds-mega__child:hover .plds-mega__childicon{
	color: var(--white-color);
	background: var(--accent-color);
}

.plds-mega__childname{
	flex: 1 1 auto;
	min-width: 0;
	font: 600 15px/1.3 var(--default-font);
}

.plds-mega__childcount{
	flex: 0 0 auto;
	min-width: 26px;
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-mega__grandchildren{
	list-style: none;
	margin: 8px 0 0;
	padding: 0 2px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.plds-mega__grandchildren a{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	padding: 4px 10px;
	font-size: 13px;
	line-height: 1.2;
	color: var(--text-color);
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 100px;
	text-decoration: none;
	transition: all 0.4s ease-in-out;
}

.plds-mega__grandchildren a:hover,
.plds-mega__grandchildren a:focus-visible{
	color: var(--primary-color);
	border-color: var(--accent-color);
}

.plds-mega__grandchildren small{
	font-size: 11px;
	font-weight: 600;
	opacity: 0.7;
}

.plds-mega__empty{
	margin: 0;
	padding: 10px;
	font-size: 14px;
	color: var(--text-color);
}

.plds-mega__empty a{
	color: var(--accent-color);
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce){
	.plds-mega__panel,
	.plds-mega__panel.is-active,
	.plds-mega__children > li,
	.plds-mega__child,
	.plds-mega__railitem,
	.plds-mega__railitem::before,
	.plds-mega__railcaret{
		transition: none !important;
		transition-delay: 0s !important;
	}
}
.plds-drawer__subsub{
	list-style: none;
	margin: 0 0 6px 54px;
	padding: 0 0 0 10px;
	border-left: 1px solid var(--divider-color);
}

.plds-drawer__sub .plds-drawer__subsub a{
	min-height: 40px;
	font-size: 14px;
	color: var(--text-color);
}

.plds-mega__featured{
	grid-area: featured;
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 260px;
	padding: 22px;
	border-radius: 14px;
	overflow: hidden;
	color: var(--white-color);
	text-decoration: none;
	background: var(--primary-color) var(--img) center/cover no-repeat;
	isolation: isolate;
}

.plds-mega__featured::before{
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 37, 77, 0.1) 0%, rgba(8, 37, 77, 0.92) 100%);
	transition: background 0.3s ease;
	z-index: -1;
}

.plds-mega__featured:hover::before{
	background: linear-gradient(180deg, rgba(8, 37, 77, 0.3) 0%, rgba(8, 37, 77, 0.96) 100%);
}

.plds-mega__featured-body{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.plds-mega__featured strong{
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--white-color);
}

.plds-mega__featured small{
	font-size: 13px;
	line-height: 1.5;
	opacity: 0.85;
}

.plds-mega__featured-cta{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	font-weight: 600;
	color: var(--accent-color);
}

.plds-eyebrow--light{
	color: var(--accent-color);
	margin-bottom: 0;
}

/* Actions : recherche, favoris, panier, CTA */
.plds-actions{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
}

.plds-cta-btn{
	display: none;
}

.plds-search{
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
}

.plds-search__input,
.plds-search__submit{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.plds-search__toggle .ph-x{
	display: none;
}

.plds-search.is-open .plds-search__toggle .ph-x{
	display: inline-block;
}

.plds-search.is-open .plds-search__toggle .ph-magnifying-glass{
	display: none;
}

/* Icônes Phosphor : tailles harmonisées */
.plds-icon-btn .ph,
.plds-icon-btn .ph-bold{
	font-size: 22px;
	line-height: 1;
}

.plds-topbar__contacts i{
	font-size: 15px;
}

.plds-topbar__social a i{
	font-size: 15px;
}

.plds-lang__btn .ph{
	font-size: 15px;
}

.plds-caret{
	font-size: 12px;
}

/* Mobile : barre de recherche plein écran sous le header */
.plds-search.is-open .plds-search__input{
	position: fixed;
	top: var(--plds-header-h);
	left: 0;
	right: 0;
	height: 60px;
	padding: 0 64px 0 18px;
	font: 400 16px/1 var(--default-font);
	color: var(--primary-color);
	background: var(--white-color);
	border: 0;
	border-bottom: 1px solid var(--divider-color);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.5);
	opacity: 1;
	pointer-events: auto;
	outline: none;
	z-index: 1005;
}

.plds-search.is-open .plds-search__submit{
	position: fixed;
	top: calc(var(--plds-header-h) + 10px);
	right: 12px;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	background: var(--accent-color);
	border: 0;
	border-radius: 10px;
	opacity: 1;
	pointer-events: auto;
	z-index: 1006;
}

/* Burger visible mobile uniquement */
.plds-burger{
	display: inline-flex;
}

/* =========================================================
   Tiroir mobile (off-canvas)
   ========================================================= */
.plds-drawer{
	position: fixed;
	inset: 0;
	z-index: 1100;
	visibility: hidden;
	transition: visibility 0s linear var(--plds-dur);
}

.plds-drawer.is-open{
	visibility: visible;
	transition-delay: 0s;
}

.plds-drawer__backdrop{
	position: absolute;
	inset: 0;
	background: rgba(6, 27, 58, 0.6);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity var(--plds-dur) var(--plds-ease);
}

.plds-drawer.is-open .plds-drawer__backdrop{
	opacity: 1;
}

.plds-drawer__panel{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(88vw, 400px);
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 14px 18px calc(18px + env(safe-area-inset-bottom));
	background: var(--white-color);
	color: var(--primary-color);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(-100%);
	transition: transform var(--plds-dur) var(--plds-ease);
	box-shadow: 30px 0 60px -30px rgba(0, 0, 0, 0.5);
}

.plds-drawer.is-open .plds-drawer__panel{
	transform: translateX(0);
}

.plds-drawer__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.plds-drawer__brand img{
	display: block;
	width: auto;
	height: 48px;
}

.plds-drawer__search{
	display: flex;
	margin: 0;
	border: 1px solid var(--divider-color);
	border-radius: 12px;
	overflow: hidden;
}

.plds-drawer__search input{
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	font: 400 16px/1 var(--default-font);
	color: var(--primary-color);
	background: var(--bg-color);
	border: 0;
	outline: none;
}

.plds-drawer__search button{
	width: 52px;
	color: var(--white-color);
	background: var(--accent-color);
	border: 0;
	font-size: 16px;
}

.plds-drawer__nav ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.plds-drawer__nav > ul > li{
	border-bottom: 1px solid var(--divider-color);
}

.plds-drawer__link{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 4px;
	font: 600 17px/1.2 var(--default-font);
	color: var(--primary-color);
	background: transparent;
	border: 0;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.plds-drawer__sub{
	padding: 0 0 10px;
}

.plds-drawer__sub ul{
	display: grid;
	gap: 2px;
}

.plds-drawer__sub a{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 15px;
	color: var(--primary-color);
	text-decoration: none;
}

.plds-drawer__sub a:hover,
.plds-drawer__sub a:focus-visible{
	background: var(--bg-color);
}

.plds-drawer__sub a i{
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: var(--accent-color);
	background: color-mix(in srgb, var(--accent-color) 12%, white);
	border-radius: 8px;
}

.plds-drawer__all a{
	font-weight: 600;
	color: var(--accent-color);
}

.plds-drawer__quick{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.plds-drawer__quick a{
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 14px;
	font-weight: 600;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 12px;
	text-decoration: none;
}

.plds-drawer__quick a i{
	color: var(--accent-color);
}

.plds-drawer__quick .plds-badge{
	position: static;
	margin-left: auto;
	color: var(--white-color);
	background: var(--primary-color);
}

.plds-drawer__quick .plds-badge--accent{
	background: var(--accent-color);
}

.plds-drawer__cta{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
}

.plds-drawer__foot{
	margin-top: auto;
	display: grid;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid var(--divider-color);
	font-size: 14px;
}

.plds-drawer__foot > a{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	color: var(--primary-color);
	text-decoration: none;
}

.plds-drawer__foot > a i{
	width: 20px;
	color: var(--accent-color);
	text-align: center;
}

.plds-drawer__langs{
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: flex;
	gap: 8px;
}

.plds-drawer__langs a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 36px;
	font: 700 12px/1 var(--default-font);
	letter-spacing: 0.05em;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 8px;
	text-decoration: none;
}

.plds-drawer__langs a[aria-current="true"]{
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}

body.plds-locked{
	overflow: hidden;
}

/* =========================================================
   Sections sombres : voile coloré par-dessus l'image de fond
   (lisibilité du texte, image décorative)
   ========================================================= */
.dark-section{
	position: relative;
	isolation: isolate;
}

.dark-section::before{
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(8, 37, 77, 0.96) 0%, rgba(8, 37, 77, 0.88) 45%, rgba(8, 37, 77, 0.72) 100%),
		linear-gradient(180deg, rgba(6, 27, 58, 0.35) 0%, rgba(6, 27, 58, 0) 30%, rgba(6, 27, 58, 0.45) 100%);
	z-index: -1;
	pointer-events: none;
}

/* =========================================================
   Hero PLDS : compact, tout le contenu visible sans défilement
   ========================================================= */
.hero-gold{
	min-height: calc(100svh - var(--plds-header-h));
	display: flex;
	align-items: center;
	padding: 28px 0 36px;
}

.hero-gold .container{
	position: relative;
	width: 100%;
}

.hero-gold .row{
	align-items: center;
}

.hero-content-gold{
	margin: 0;
}

.hero-gold .section-title{
	margin-bottom: 18px;
}

.hero-gold .section-title .section-sub-title{
	margin-bottom: 12px;
}

.hero-gold .section-title h1{
	font-size: clamp(30px, 6.5vw, 52px);
	line-height: 1.08;
}

.hero-gold .section-title p{
	max-width: 560px;
	margin-top: 12px;
	font-size: 15px;
	line-height: 1.55;
	opacity: 0.92;
}

.hero-item-list-gold{
	gap: 10px 22px;
}

.hero-item-gold{
	width: auto;
	gap: 10px;
}

.hero-item-gold .icon-box{
	width: 38px;
	height: 38px;
}

.hero-item-gold .icon-box img{
	max-width: 18px;
}

.hero-item-content-gold{
	width: auto;
}

.hero-item-content-gold h2{
	font-size: 14px;
	line-height: 1.3;
}

.hero-counter-list-gold{
	gap: 14px 32px;
	margin-top: 18px;
	padding-top: 18px;
}

.hero-counter-item-gold{
	width: auto;
	text-align: left;
}

.hero-counter-item-gold::before{
	right: -16px;
}

.hero-counter-item-gold h2{
	font-size: clamp(22px, 2.6vw, 34px);
	line-height: 1.1;
	white-space: nowrap;
}

.hero-counter-item-gold p{
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.3;
}

.hero-content-footer-gold{
	margin-top: 18px;
	padding-top: 18px;
}

.hero-content-footer-gold .plds-btn-row{
	width: 100%;
}

/* --- Visuel hero : carte produit (sans photo stock) --- */
.plds-hero-visual{
	display: none;
	position: relative;
	padding: 24px 0 24px 24px;
}

.plds-hero-card{
	position: relative;
	display: grid;
	gap: 18px;
	padding: 22px;
	color: var(--white-color);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 22px;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.6);
}

.plds-hero-card__head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.plds-hero-card__head .plds-eyebrow{
	margin-bottom: 6px;
}

.plds-hero-card__head h2{
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--white-color);
}

.plds-hero-card__stock{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 600;
	color: #BFF5D2;
	background: rgba(34, 197, 94, 0.18);
	border: 1px solid rgba(34, 197, 94, 0.35);
	border-radius: 999px;
	white-space: nowrap;
}

.plds-hero-card__stock::before{
	content: '';
	width: 7px;
	height: 7px;
	background: #22C55E;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.25);
}

/* Coupe de tube PVC dessinée en CSS */
.plds-pipe{
	--d: 150px;
	position: relative;
	width: var(--d);
	height: var(--d);
	margin: 4px auto 0;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, #0B2F5E 0 44%, transparent 44.5%),
		radial-gradient(circle at 38% 34%, rgba(255, 255, 255, 0.55) 0 6%, transparent 7%),
		conic-gradient(from 210deg, #E6E8EC 0deg, #B8BEC8 90deg, #F3F4F6 180deg, #AEB5C0 270deg, #E6E8EC 360deg);
	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.5),
		0 20px 40px -18px rgba(0, 0, 0, 0.7);
}

.plds-pipe::after{
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%, transparent 0 43%, rgba(8, 37, 77, 0.35) 44%, transparent 47%);
}

.plds-pipe__label{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	text-align: center;
	line-height: 1;
}

.plds-pipe__label strong{
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 600;
}

.plds-pipe__label small{
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.8;
	margin-top: 4px;
}

.plds-hero-card__specs{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
}

.plds-hero-card__specs div{
	padding: 10px 12px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
}

.plds-hero-card__specs dt{
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 4px;
}

.plds-hero-card__specs dd{
	margin: 0;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 500;
}

.plds-hero-card__foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 13px;
}

.plds-hero-card__foot a,
.plds-hero-card__foot button{
	border: 0;
	cursor: pointer;
	font-family: var(--default-font);
	font-size: 13px;
}

.plds-hero-card__foot a,
.plds-hero-card__foot button{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	font-weight: 600;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 10px;
	text-decoration: none;
	transition: background 0.25s var(--plds-ease), transform 0.25s var(--plds-ease);
}

.plds-hero-card__foot a:hover,
.plds-hero-card__foot button:hover{
	color: var(--white-color);
	background: #D34C00;
	transform: translateY(-1px);
}

.plds-hero-card__norms{
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.plds-hero-card__norms span{
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 6px;
	opacity: 0.9;
}

/* Pastilles flottantes */
.plds-hero-chip{
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 12px;
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
	animation: plds-float 6s ease-in-out infinite;
}

.plds-hero-chip i{
	font-size: 18px;
	color: var(--accent-color);
}

.plds-hero-chip--tl{
	top: 0;
	left: 0;
}

.plds-hero-chip--br{
	right: -8px;
	bottom: 0;
	animation-delay: -3s;
}

@keyframes plds-float{
	50%{ transform: translateY(-8px); }
}

@media (prefers-reduced-motion: reduce){
	.plds-hero-chip{ animation: none; }
}

/* =========================================================
   Gamme produits : cartes immersives (image plein cadre + voile marine)
   Même langage visuel que le hero ; hérite de .icon-box / .readmore-btn du thème.
   ========================================================= */
.plds-range{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
}

.plds-range-card{
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 380px;
	padding: 22px;
	color: var(--white-color);
	border-radius: 14px;
	overflow: hidden;
	background-color: var(--primary-color);
	transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
}

/* Image : couche séparée pour pouvoir la zoomer au survol (comme .service-item:hover img) */
.plds-range-card::before{
	content: '';
	position: absolute;
	inset: 0;
	background: var(--img) var(--pos, center) / cover no-repeat;
	transform: scale(1.001);
	transition: transform 0.6s ease-in-out;
	z-index: -2;
}

/* Voile marine dégradé : lisibilité du texte, image décorative */
.plds-range-card::after{
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(8, 37, 77, 0.25) 0%, rgba(8, 37, 77, 0.55) 45%, rgba(8, 37, 77, 0.96) 100%),
		linear-gradient(90deg, rgba(8, 37, 77, 0.35) 0%, rgba(8, 37, 77, 0) 60%);
	transition: opacity 0.4s ease-in-out;
	z-index: -1;
}

.plds-range-card:hover{
	transform: translateY(-5px);
	box-shadow: 0 30px 60px -30px rgba(8, 37, 77, 0.7);
}

.plds-range-card:hover::before{
	transform: scale(1.06);
}

/* Lien "carte entière" : couvre la carte sans gêner le bouton Devis */
.plds-range-card__link{
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 14px;
}

.plds-range-card__link:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: -3px;
}

.plds-range-card__top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

/* .icon-box : motif du thème (cercle accent 50px, remplissage au survol) */
.plds-range-card .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--accent-color);
	border-radius: 50%;
	overflow: hidden;
}

.plds-range-card .icon-box::before{
	content: '';
	position: absolute;
	inset: 0;
	background: var(--white-color);
	border-radius: 50%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
}

.plds-range-card:hover .icon-box::before{
	transform: scale(1);
}

.plds-range-card .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.plds-range-card:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.plds-range-card__no{
	font-family: var(--accent-font);
	font-size: 48px;
	font-weight: 500;
	line-height: 1em;
	color: rgba(255, 255, 255, 0.22);
	transition: color 0.4s ease-in-out;
}

.plds-range-card:hover .plds-range-card__no{
	color: var(--accent-color);
}

.plds-range-card__body{
	position: relative;
	display: grid;
	gap: 10px;
	margin-top: 60px;
}

.plds-range-card__body h3{
	font-size: 22px;
	line-height: 1.25em;
	color: var(--white-color);
	text-wrap: balance;
}

.plds-range-card__body p{
	margin: 0;
	font-size: 15px;
	line-height: 1.55em;
	color: rgba(255, 255, 255, 0.86);
}

.plds-range-card__tags{
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.plds-range-card__tags li{
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--white-color);
	background: var(--dark-divider-color);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 100px;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.plds-range-card__foot{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--dark-divider-color);
}

/* .readmore-btn du thème, variante blanche (flèche arrow-white.svg) */
.plds-range-card .readmore-btn{
	color: var(--white-color);
}

.plds-range-card .readmore-btn::before{
	background-image: url('../images/arrow-white.svg');
}

.plds-range-card:hover .readmore-btn::before{
	transform: translateY(-50%) rotate(45deg);
}

.plds-range-card__devis{
	position: relative;
	z-index: 2;
	min-height: 40px;
	padding: 0 16px;
	font: 600 14px/1 var(--accent-font);
	color: var(--white-color);
	background: var(--accent-color);
	border: 0;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-range-card__devis:hover{
	color: var(--primary-color);
	background: var(--white-color);
}

/* =========================================================
   CARTE PRODUIT — composant unique du site (templates/partials/product-card.php)
   Règle : un seul style de carte produit pour toutes les pages.
   Tokens custom.css : couleurs, polices, rayon 14px, transitions 0.4s ease-in-out,
   survol = translateY(-5px) (cf. .approach-item) et zoom image 1.06 (cf. .service-item).
   ========================================================= */
.plds-products{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.plds-products__item.is-hidden{
	display: none;
}

.plds-products__empty{
	margin: 20px 0 0;
	text-align: center;
	color: var(--text-color);
}

.plds-product{
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

.plds-product:hover{
	transform: translateY(-5px);
	border-color: transparent;
	box-shadow: 0 30px 50px -30px rgba(8, 37, 77, 0.45);
}

/* --- Média --- */
.plds-product__media{
	position: relative;
	aspect-ratio: 1 / 0.85;
	background: var(--bg-color);
	overflow: hidden;
}

.plds-product__media-link{
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	cursor: none;
}

/* Photos produit détourées sur blanc : contain + marge, zoom 1.06 au survol (cf. .service-item) */
.plds-product__media{
	background: var(--white-color);
}

.plds-product__media img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8%;
	transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out;
}

.plds-product:hover .plds-product__media img{
	transform: scale(1.06);
}

/* Seconde image (plan technique) révélée au survol souris */
.plds-product__media-alt{
	opacity: 0;
}

@media (hover: hover) and (pointer: fine){
	.plds-product:hover .plds-product__media-alt{
		opacity: 1;
	}
}

.plds-product__badge{
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 9px;
	font-family: var(--accent-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: 0.02em;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 20px;
	z-index: 1;
}

.plds-product__badge--new{ background: var(--accent-color); }
.plds-product__badge--promo{ background: var(--error-color); }
.plds-product__badge--top{ background: var(--primary-color); }

/* Actions rapides : toujours visibles en tactile, apparaissent au survol souris */
.plds-product__quick{
	position: absolute;
	top: 8px;
	right: 8px;
	display: grid;
	gap: 6px;
	z-index: 1;
}

.plds-product__iconbtn{
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	font-size: 17px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-product__iconbtn:hover,
.plds-product__iconbtn[aria-pressed="true"]{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.plds-product__iconbtn:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine){
	.plds-product__quick{
		opacity: 0;
		transform: translateX(8px);
		transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
	}

	.plds-product:hover .plds-product__quick,
	.plds-product:focus-within .plds-product__quick{
		opacity: 1;
		transform: translateX(0);
	}

	.plds-product__quick .plds-product__iconbtn[aria-pressed="true"]{
		opacity: 1;
	}
}

/* --- Corps --- */
.plds-product__body{
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px;
}

.plds-product__cat{
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--accent-color);
	transition: color 0.3s ease-in-out;
}

.plds-product__cat:hover{
	color: var(--primary-color);
}

.plds-product__title{
	font-size: 15px;
	line-height: 1.35em;
	color: var(--primary-color);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.plds-product__title a{
	color: inherit;
	transition: color 0.3s ease-in-out;
}

.plds-product__title a:hover{
	color: var(--accent-color);
}

.plds-product__ref{
	margin: 0;
	font-size: 12px;
	line-height: 1.3;
	color: var(--text-color);
	opacity: 0.75;
}

.plds-product__specs{
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.plds-product__specs li{
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-product__foot{
	display: grid;
	gap: 8px;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--divider-color);
}

.plds-product__price{
	display: grid;
	line-height: 1.2;
}

.plds-product__price strong{
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
}

.plds-product__price small{
	font-size: 11px;
	color: var(--text-color);
}

/* Bouton d'ajout : hérite de .btn-default (accent, radius 5px, remplissage marine au survol) */
.plds-product__add{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1em;
	color: var(--white-color);
	background: var(--accent-color);
	border: 0;
	border-radius: 5px;
	overflow: hidden;
	cursor: pointer;
	z-index: 1;
	transition: all 0.4s ease-in-out;
}

.plds-product__add::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 0;
	background: var(--primary-color);
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.plds-product__add:hover::after{
	right: auto;
	left: 0;
	width: 100%;
}

.plds-product__add .ph{
	font-size: 17px;
}

.plds-product__add.is-added{
	background: var(--primary-color);
}

/* Filtres de catégorie (réutilise .plds-chip) */
.plds-filters{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

/* =========================================================
   Footer : bas de page (copyright + liens légaux), icônes Phosphor
   ========================================================= */
.plds-footer-bottom{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.plds-footer-legal{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 22px;
}

.plds-footer-legal a{
	position: relative;
	font-size: 14px;
	color: var(--white-color);
	transition: color 0.3s ease-in-out;
}

.plds-footer-legal li + li a::before{
	content: '';
	position: absolute;
	left: -13px;
	top: 50%;
	width: 4px;
	height: 4px;
	background: var(--accent-color);
	transform: translateY(-50%);
	border-radius: 50%;
}

.plds-footer-legal a:hover{
	color: var(--accent-color);
}

.footer-newsletter-form-gold .newsletter-btn-gold .ph{
	font-size: 20px;
	color: var(--white-color);
	transition: color 0.4s ease-in-out;
}

.footer-newsletter-form-gold .newsletter-btn-gold:hover .ph{
	color: var(--primary-color);
}

.footer-social-links-gold ul li a .ph{
	font-size: 18px;
}

.footer-links-gold.footer-contact-box-gold ul li a{
	color: inherit;
	transition: color 0.3s ease-in-out;
}

.footer-links-gold.footer-contact-box-gold ul li a:hover{
	color: var(--accent-color);
}

@media (min-width: 768px){
	.plds-footer-bottom{
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}

/* =========================================================
   Dialogues (quick view, mini-panier, devis) — mobile-first
   Hérite strictement des tokens custom.css : couleurs, polices,
   rayon 14px, transitions 0.4s ease-in-out, .btn-default, .section-sub-title
   ========================================================= */
.plds-dialog{
	position: fixed;
	inset: 0;
	z-index: 1200;
	visibility: hidden;
	transition: visibility 0s linear 0.4s;
}

.plds-dialog.is-open{
	visibility: visible;
	transition-delay: 0s;
}

.plds-dialog__backdrop{
	position: absolute;
	inset: 0;
	background: rgba(8, 37, 77, 0.6);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
}

.plds-dialog.is-open .plds-dialog__backdrop{
	opacity: 1;
}

.plds-dialog__panel{
	position: absolute;
	display: flex;
	flex-direction: column;
	background: var(--white-color);
	color: var(--text-color);
	overflow: hidden;
	transition: transform 0.4s ease-in-out;
	will-change: transform;
}

/* Feuille basse (mobile) */
.plds-dialog--sheet .plds-dialog__panel{
	left: 0;
	right: 0;
	bottom: 0;
	max-height: 94svh;
	border-radius: 20px 20px 0 0;
	padding: 8px 18px calc(18px + env(safe-area-inset-bottom));
	transform: translateY(100%);
}

.plds-dialog--sheet.is-open .plds-dialog__panel{
	transform: translateY(0);
}

.plds-dialog.is-dragging .plds-dialog__panel{
	transition: none;
}

.plds-dialog__handle{
	flex: 0 0 auto;
	width: 44px;
	height: 5px;
	margin: 4px auto 10px;
	background: var(--divider-color);
	border-radius: 999px;
	touch-action: none;
	cursor: grab;
}

/* Panneau latéral (mini-panier) */
.plds-dialog--side .plds-dialog__panel{
	top: 0;
	right: 0;
	bottom: 0;
	width: min(100%, 440px);
	padding: 14px 18px calc(18px + env(safe-area-inset-bottom));
	transform: translateX(100%);
	box-shadow: -30px 0 60px -30px rgba(0, 0, 0, 0.5);
}

.plds-dialog--side.is-open .plds-dialog__panel{
	transform: translateX(0);
}

.plds-dialog__head{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--divider-color);
}

/* Zones défilantes des dialogues : barre fine et discrète (la barre globale du thème
   — 7px orange sur marine — est réservée à la page), gouttière stable, respiration à droite */
.plds-qv__body,
.plds-cart__list,
.plds-form{
	scrollbar-width: thin;
	scrollbar-color: var(--divider-color) transparent;
	scrollbar-gutter: stable;
	padding-right: 6px;
	margin-right: -6px;
}

.plds-qv__body::-webkit-scrollbar,
.plds-cart__list::-webkit-scrollbar,
.plds-form::-webkit-scrollbar{
	width: 6px;
	background: transparent;
}

.plds-qv__body::-webkit-scrollbar-track,
.plds-cart__list::-webkit-scrollbar-track,
.plds-form::-webkit-scrollbar-track{
	background: transparent;
	border: 0;
}

.plds-qv__body::-webkit-scrollbar-thumb,
.plds-cart__list::-webkit-scrollbar-thumb,
.plds-form::-webkit-scrollbar-thumb{
	background: var(--divider-color);
	border-radius: 6px;
}

.plds-dialog__head .section-sub-title{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
	padding: 10px 16px 10px 31px;
	margin: 0;
}

.plds-dialog__head .section-sub-title::before{
	content: '';
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	background: var(--accent-color);
	border-radius: 50%;
}

.plds-dialog__title{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-dialog__title .ph{
	font-size: 22px;
	color: var(--accent-color);
}

.plds-icon-btn--outline{
	color: var(--primary-color);
	border-color: var(--divider-color);
	border-radius: 5px;
}

.plds-icon-btn--outline:hover,
.plds-icon-btn--outline[aria-pressed="true"]{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

/* ---------- Quick view ---------- */
.plds-qv__body{
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	display: grid;
	gap: 18px;
	padding-top: 16px;
	padding-bottom: 12px;
}

.plds-qv__body > *{
	min-width: 0;
}

.plds-qv__gallery{
	display: grid;
	gap: 8px;
}

/* Scène : carrée mais plafonnée en hauteur sur mobile pour laisser voir le titre et les options */
.plds-qv__stage{
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: min(46svh, 360px);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
}

.plds-qv__badge{
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	padding: 5px 10px;
	font: 600 11px/1 var(--accent-font);
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 20px;
}

.plds-qv__badge.plds-product__badge--new{ background: var(--accent-color); }
.plds-qv__badge.plds-product__badge--promo{ background: var(--error-color); }

.plds-qv--noimage .plds-qv__stage{
	background: var(--bg-color);
}

.plds-qv--noimage .plds-qv__main{
	padding: 26%;
	opacity: 0.55;
	mix-blend-mode: multiply;
}

.plds-qv__main{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6%;
	background: var(--white-color);
	transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
	touch-action: pan-y;
	user-select: none;
}

.plds-qv__main.is-switching{
	opacity: 0.35;
	transform: scale(0.98);
}

/* Flèches de navigation — même motif que les boutons du slider témoignages du thème */
.plds-qv__nav{
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--primary-color);
	background: var(--secondary-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	font-size: 16px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-qv__nav--prev{ left: 10px; }
.plds-qv__nav--next{ right: 10px; }

.plds-qv__nav:hover{
	color: var(--white-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.plds-qv__nav[hidden]{
	display: none;
}

.plds-qv__counter{
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 5px 10px;
	font: 600 12px/1 var(--default-font);
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 100px;
}

/* Bande de vignettes : défilement horizontal tactile (snap), carrés 60px */
.plds-qv__thumbs{
	display: flex;
	gap: 8px;
	padding: 2px 2px 4px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.plds-qv__thumbs::-webkit-scrollbar{
	display: none;
}

.plds-qv__thumbs[hidden]{
	display: none;
}

.plds-qv__thumbs [role="tab"]{
	flex: 0 0 60px;
	width: 60px;
	height: 60px;
	padding: 3px;
	scroll-snap-align: start;
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-qv__thumbs [role="tab"] img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--white-color);
	border-radius: 7px;
}

.plds-qv__thumbs [role="tab"]:hover{
	border-color: var(--divider-color);
}

.plds-qv__thumbs [role="tab"][aria-selected="true"]{
	background: var(--white-color);
	border-color: var(--accent-color);
}

/* Vignette du mini-panier : photo produit API (contain), sinon illustration CSS */
.plds-cart__thumb{
	overflow: hidden;
}

.plds-cart__thumb img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
	mix-blend-mode: multiply;
}

/* Vignette du mini-panier (fallback illustration CSS) */
.plds-pipe--mini,
.plds-cart__thumb .plds-pipe{
	--d: 44px;
	width: var(--d);
	height: var(--d);
	flex: 0 0 auto;
	margin: 0;
	background:
		radial-gradient(circle at 50% 50%, var(--white-color) 0 42%, transparent 43%),
		conic-gradient(from 210deg, #D5D9E0 0deg, #9AA3B1 90deg, #EEF0F3 180deg, #8F99A8 270deg, #D5D9E0 360deg);
	box-shadow: none;
}

.plds-pipe--mini::after{
	display: none;
}

.plds-qv__info{
	display: grid;
	gap: 16px;
	align-content: start;
	padding-right: 4px;
}

.plds-qv__cat{
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
}

.plds-qv__cat a{
	color: var(--accent-color);
	font-weight: 600;
}

.plds-qv__title{
	font-size: 24px;
	line-height: 1.2em;
	color: var(--primary-color);
}

.plds-qv__short{
	margin: 0;
	font-size: 15px;
}

.plds-qv__badges,
.plds-chips{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.plds-stock{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font: 600 12px/1 var(--default-font);
	color: #166534;
	background: #DCFCE7;
	border-radius: 100px;
}

.plds-stock::before{
	content: '';
	width: 7px;
	height: 7px;
	background: #22C55E;
	border-radius: 50%;
}

.plds-tag{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	font: 500 12px/1 var(--default-font);
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-tag .ph{
	color: var(--accent-color);
	font-size: 14px;
}

.plds-qv__options{
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.plds-qv__options legend{
	float: left;
	width: 100%;
	margin-bottom: 8px;
	font: 600 13px/1.3 var(--default-font);
	color: var(--primary-color);
}

.plds-qv__options legend span{
	font-weight: 400;
	color: var(--text-color);
}

.plds-chip{
	min-height: 40px;
	padding: 0 14px;
	font: 500 14px/1 var(--default-font);
	color: var(--primary-color);
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-chip:hover{
	border-color: var(--accent-color);
}

.plds-chip[aria-pressed="true"]{
	color: var(--white-color);
	background: var(--primary-color);
}

/* Pied d'action du quick view : toujours visible sous la zone défilante */
.plds-qv__foot{
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) 48px;
	align-items: center;
	gap: 10px;
	padding-top: 12px;
	background: var(--white-color);
	border-top: 1px solid var(--divider-color);
}

.plds-qv__cart{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 14px;
	white-space: nowrap;
}

.plds-qv__cart::before{
	display: none;
}

.plds-qv__cart .ph{
	font-size: 18px;
}

.plds-qv__cart.is-added{
	background: #16A34A;
}

.plds-qv__foot .plds-icon-btn--outline{
	width: 48px;
	height: 48px;
}

/* Devis depuis l'aperçu : desktop uniquement (le pied mobile reste compact) */
.plds-qv__devis{
	display: none;
}

.plds-qv__options-wrap{
	display: grid;
	gap: 14px;
}

.plds-qv__facts{
	padding: 14px 16px 6px;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-qv__facts-title{
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--accent-color);
}

.plds-qv__facts .plds-spec-table div{
	border-bottom-color: rgba(8, 37, 77, 0.08);
}

.plds-qv__facts .plds-spec-table dd{
	max-width: 60%;
}

.plds-qv__specs{
	margin: 0;
}

.plds-qv__trust{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
	font-size: 13px;
}

.plds-qv__trust li{
	display: flex;
	align-items: center;
	gap: 10px;
}

.plds-qv__trust .ph{
	font-size: 18px;
	color: var(--accent-color);
}

.plds-qty{
	display: inline-flex;
	align-items: center;
	background: var(--bg-color);
	border-radius: 5px;
	overflow: hidden;
}

.plds-qty button{
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--primary-color);
	background: transparent;
	border: 0;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-qty button:hover{
	color: var(--white-color);
	background: var(--accent-color);
}

.plds-qty input{
	width: 56px;
	height: 44px;
	text-align: center;
	font: 600 16px/1 var(--default-font);
	color: var(--primary-color);
	background: transparent;
	border: 0;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.plds-qty input::-webkit-outer-spin-button,
.plds-qty input::-webkit-inner-spin-button{
	-webkit-appearance: none;
	margin: 0;
}

.plds-qty--sm button,
.plds-qty--sm input{
	height: 36px;
}

.plds-qty--sm button{
	width: 36px;
}

.plds-qty--sm input{
	width: 44px;
	font-size: 14px;
}

/* Onglets */
.plds-tabs__list{
	display: flex;
	gap: 4px;
	padding: 4px;
	background: var(--bg-color);
	border-radius: 10px;
	overflow-x: auto;
	scrollbar-width: none;
}

.plds-tabs__list::-webkit-scrollbar{
	display: none;
}

.plds-tabs__list [role="tab"]{
	flex: 1 0 auto;
	min-height: 40px;
	padding: 0 14px;
	font: 600 14px/1 var(--default-font);
	color: var(--text-color);
	background: transparent;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	white-space: nowrap;
	transition: all 0.4s ease-in-out;
}

.plds-tabs__list [role="tab"][aria-selected="true"]{
	color: var(--primary-color);
	background: var(--white-color);
	box-shadow: 0 6px 16px -10px rgba(8, 37, 77, 0.4);
}

.plds-tabs__panel{
	padding-top: 14px;
}

.plds-spec-table{
	margin: 0;
	display: grid;
}

.plds-spec-table div{
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--divider-color);
	font-size: 14px;
}

.plds-spec-table div:last-child{
	border-bottom: 0;
}

.plds-spec-table dt{
	color: var(--text-color);
}

.plds-spec-table dd{
	margin: 0;
	font-weight: 600;
	color: var(--primary-color);
	text-align: right;
}

/* Liste à puces "check" — même motif que le thème (Font Awesome \f058) */
.plds-check-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.plds-check-list li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 12px;
}

.plds-check-list li:last-child{
	margin-bottom: 0;
}

.plds-check-list li::before{
	content: '\f058';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 18px;
	font-weight: 900;
	color: var(--accent-color);
	top: 0;
	left: 0;
}

.plds-doc-list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.plds-doc-list a{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 14px;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 10px;
	font-weight: 500;
	transition: all 0.4s ease-in-out;
}

.plds-doc-list a:hover{
	color: var(--white-color);
	background: var(--primary-color);
}

.plds-doc-list a .ph{
	font-size: 20px;
	color: var(--accent-color);
}

.plds-doc-list a span{
	flex: 1;
}

.plds-doc-list a:hover .ph{
	color: var(--white-color);
}

.plds-qv__full{
	justify-self: start;
	margin-top: 4px;
}

/* ---------- Mini-panier ---------- */
.plds-cart__count{
	min-width: 24px;
	height: 24px;
	padding: 0 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: 700 12px/1 var(--default-font);
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 100px;
}

.plds-cart__list{
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
	margin: 0;
	padding: 6px 0;
}

.plds-cart__item{
	display: grid;
	grid-template-columns: 64px 1fr 40px;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--divider-color);
	transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.plds-cart__item.is-removing{
	opacity: 0;
	transform: translateX(20px);
}

.plds-cart__thumb{
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	background: var(--bg-color);
	border-radius: 10px;
}

.plds-cart__info{
	display: grid;
	gap: 6px;
	min-width: 0;
}

.plds-cart__info h3{
	font-size: 15px;
	line-height: 1.3em;
}

.plds-cart__info p{
	margin: 0;
	font-size: 13px;
	line-height: 1.3;
}

.plds-cart__remove{
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--text-color);
	background: transparent;
	border: 0;
	border-radius: 5px;
	font-size: 18px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-cart__remove:hover{
	color: var(--error-color);
	background: var(--bg-color);
}

.plds-cart__empty{
	flex: 1;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 8px;
	text-align: center;
	padding: 30px 10px;
}

.plds-cart__empty .ph{
	font-size: 48px;
	color: var(--accent-color);
	margin-bottom: 8px;
}

.plds-cart__empty h3{
	font-size: 20px;
}

.plds-cart__empty p{
	margin: 0 0 12px;
	font-size: 14px;
}

.plds-cart__foot{
	flex: 0 0 auto;
	padding-top: 14px;
	border-top: 1px solid var(--divider-color);
}

.plds-cart__total{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 15px;
}

.plds-cart__total strong{
	font-family: var(--accent-font);
	font-size: 22px;
	font-weight: 500;
	color: var(--primary-color);
}

.plds-cart__note{
	margin: 6px 0 14px;
	font-size: 13px;
	line-height: 1.4;
}

.plds-cart__foot .btn-default,
.plds-cart__foot .plds-btn-outline{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
}

/* ---------- Devis ---------- */
.plds-devis .plds-dialog__title{
	margin: 16px 0 14px;
	font-size: 22px;
}

.plds-form{
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

.plds-form__grid{
	display: grid;
	gap: 12px;
}

.plds-field label{
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
}

/* Même rendu que .contact-form .form-control du thème */
.plds-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--primary-color);
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 13px 20px;
	box-shadow: none;
	outline: none;
	transition: border-color 0.4s ease-in-out;
}

.plds-form .form-control:focus{
	border-color: var(--accent-color);
	background: var(--bg-color);
}

.plds-form .form-control:user-invalid{
	border-color: var(--error-color);
}

.plds-form__foot{
	display: grid;
	gap: 12px;
	margin-top: 16px;
}

.plds-form__foot p{
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}

.plds-form__foot .btn-default{
	display: inline-flex;
	justify-content: center;
	min-height: 48px;
}

/* ---------- Toasts ---------- */
.plds-toasts{
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom));
	display: grid;
	gap: 8px;
	z-index: 1300;
	pointer-events: none;
}

.plds-toast{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	color: var(--white-color);
	background: var(--primary-color);
	border-left: 4px solid var(--accent-color);
	border-radius: 14px;
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
	font-size: 14px;
	line-height: 1.4;
	pointer-events: auto;
	animation: plds-toast-in 0.4s ease-in-out both;
}

.plds-toast.is-leaving{
	animation: plds-toast-out 0.4s ease-in-out both;
}

.plds-toast .ph{
	font-size: 20px;
	color: var(--accent-color);
}

.plds-toast a{
	margin-left: auto;
	color: var(--white-color);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@keyframes plds-toast-in{
	from{ opacity: 0; transform: translateY(12px); }
}

@keyframes plds-toast-out{
	to{ opacity: 0; transform: translateY(12px); }
}

/* Mouvement réduit */
@media (prefers-reduced-motion: reduce){
	.plds-dropdown-panel,
	.plds-header,
	.plds-drawer__panel,
	.plds-drawer__backdrop,
	.plds-caret,
	.plds-badge{
		transition: none;
	}
}

/* ===== ≥ 576px ===== */
@media (min-width: 576px){
	.plds-container{
		padding-inline: 20px;
	}

	.plds-topbar__hide-sm{
		display: inline-flex !important;
	}

	.plds-topbar__social.plds-topbar__hide-sm{
		display: flex !important;
	}

	.plds-brand img{
		height: 50px;
	}
}

/* ===== ≥ 768px ===== */
@media (min-width: 768px){
	:root{
		--plds-header-h: 76px;
	}

	.plds-cta-btn{
		display: inline-flex;
		align-items: center;
		min-height: 46px;
		margin-left: 8px;
		padding-block: 0;
		white-space: nowrap;
	}
}

/* ===== ≥ 992px : navigation desktop ===== */
@media (min-width: 992px){
	:root{
		--plds-header-h: 84px;
	}

	.plds-container{
		padding-inline: 28px;
	}

	.plds-topbar__hide-md{
		display: inline-flex !important;
	}

	.plds-burger{
		display: none;
	}

	.plds-nav__inner{
		grid-template-columns: auto 1fr auto;
		gap: 24px;
	}

	.plds-brand{
		justify-content: flex-start;
	}

	.plds-brand img{
		height: 58px;
	}

	.plds-menu{
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 2px;
	}

	/* L'onglet occupe toute la hauteur du header : pas de zone morte vers le panneau */
	.plds-menu__item{
		display: flex;
		align-items: center;
		height: var(--plds-header-h);
	}

	.plds-menu__link{
		position: relative;
	}

	/* Pont invisible pour franchir l'écart entre l'onglet et le panneau */
	.plds-dropdown-panel::before{
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		top: -12px;
		height: 12px;
	}

	/* Survol souris : ouverture via :hover (le JS gère clavier/tactile) */
	@media (hover: hover) and (pointer: fine){
		.plds-menu__item.has-sub:hover > .plds-dropdown-panel{
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
			transform: translateY(0);
			transition-delay: 0s;
		}

		.plds-menu__item.has-sub:hover > .plds-menu__link{
			background: var(--plds-nav-line);
		}

		.plds-menu__item.has-sub:hover > .plds-menu__link .plds-caret{
			transform: rotate(180deg);
		}
	}

	.plds-actions{
		gap: 6px;
	}

	/* Recherche desktop : champ qui s'étire en ligne */
	.plds-search{
		height: 46px;
		border: 1px solid transparent;
		border-radius: 999px;
		transition: width var(--plds-dur) var(--plds-ease), border-color var(--plds-dur) var(--plds-ease), background var(--plds-dur) var(--plds-ease);
		width: 46px;
		overflow: hidden;
	}

	.plds-search.is-open{
		width: 320px;
		background: var(--plds-nav-line);
		border-color: rgba(255, 255, 255, 0.25);
	}

	.plds-search__input,
	.plds-search.is-open .plds-search__input{
		position: static;
		top: auto;
		height: 44px;
		flex: 1;
		min-width: 0;
		padding: 0 6px 0 18px;
		font-size: 14px;
		color: var(--white-color);
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease 0.1s;
	}

	.plds-search.is-open .plds-search__input{
		opacity: 1;
		pointer-events: auto;
	}

	/* Fermé : le champ ne doit occuper aucune place (sinon le bouton est rogné) */
	.plds-search:not(.is-open) .plds-search__input{
		flex: 0 0 0;
		width: 0;
		padding: 0;
	}

	.plds-search__input::placeholder{
		color: rgba(255, 255, 255, 0.6);
	}

	.plds-search__submit,
	.plds-search.is-open .plds-search__submit{
		position: static;
		display: none;
	}

	.plds-search__toggle{
		flex: 0 0 auto;
		margin-left: auto;
		border-radius: 50%;
		order: 2;
	}

	.plds-search.is-open .plds-search__toggle{
		margin-left: 0;
	}

	.plds-cta-btn{
		margin-left: 10px;
	}

	.hero-gold{
		padding: 32px 0 44px;
	}

	.hero-content-gold{
		padding-right: 24px;
	}

	.plds-hero-visual{
		display: block;
	}

	.hero-gold .section-title h1{
		font-size: clamp(34px, 3.4vw, 50px);
	}

	.plds-range{
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 30px;
	}

	.plds-range-card,
	.plds-range-card:nth-child(3){
		grid-column: auto;
		min-height: 460px;
		padding: 28px;
	}

	.plds-range-card:nth-child(3) .plds-range-card__body{
		max-width: none;
		margin-top: 60px;
	}
}

/* ===== ≥ 768px : dialogues centrés, quick view sur 2 colonnes ===== */
@media (min-width: 768px){
	.plds-range{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.plds-products{
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	.plds-product__body{
		padding: 16px;
		gap: 8px;
	}

	.plds-product__title{
		font-size: 17px;
	}

	.plds-product__foot{
		grid-template-columns: 1fr auto;
		align-items: center;
	}

	.plds-product__price strong{
		font-size: 18px;
	}

	.plds-product__iconbtn{
		width: 40px;
		height: 40px;
	}

	/* La 3e carte s'étire en bandeau sur tablette */
	.plds-range-card:nth-child(3){
		grid-column: 1 / -1;
		min-height: 300px;
	}

	.plds-range-card:nth-child(3) .plds-range-card__body{
		max-width: 60%;
		margin-top: 30px;
	}

	.plds-dialog--sheet .plds-dialog__panel{
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		width: min(92vw, 1080px);
		max-height: 90vh;
		padding: 24px 32px 32px;
		border-radius: 20px;
		transform: translate(-50%, -50%) translateY(24px) scale(0.98);
		opacity: 0;
		transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
	}

	.plds-dialog--sheet.is-open .plds-dialog__panel{
		transform: translate(-50%, -50%);
		opacity: 1;
	}

	.plds-dialog__handle{
		display: none;
	}

	/* Quick view desktop : galerie à gauche (pleine hauteur), infos défilantes + actions à droite */
	.plds-qv{
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		grid-template-rows: auto minmax(0, 1fr) auto;
		column-gap: 40px;
	}

	.plds-qv .plds-dialog__head{
		grid-column: 1 / -1;
	}

	.plds-qv__body{
		display: contents;
	}

	.plds-qv__gallery{
		grid-column: 1;
		grid-row: 2 / span 2;
		align-self: start;
		min-height: 0;
		margin-top: 28px;
		overflow-y: auto;
		scrollbar-width: none;
	}

	.plds-qv__info{
		grid-column: 2;
		grid-row: 2;
		min-height: 0;
		margin-top: 28px;
		padding-right: 10px;
		padding-bottom: 8px;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: var(--divider-color) transparent;
	}

	.plds-qv__stage{
		min-height: 320px;
		max-height: none;
	}

	.plds-qv__thumbs [role="tab"]{
		flex-basis: 72px;
		width: 72px;
		height: 72px;
	}

	.plds-qv__foot{
		grid-column: 2;
		grid-row: 3;
		grid-template-columns: auto minmax(0, 1fr) 48px;
		padding-top: 16px;
	}

	.plds-qv__cart{
		padding: 0 24px;
	}

	.plds-qv__devis{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		grid-column: 1 / -1;
		min-height: 48px;
	}

	.plds-devis .plds-dialog__panel,
	.plds-dialog--sheet .plds-devis{
		width: min(92vw, 720px);
	}

	.plds-form__grid{
		grid-template-columns: 1fr 1fr;
	}

	.plds-field--full{
		grid-column: 1 / -1;
	}

	.plds-form__foot{
		grid-template-columns: 1fr auto;
		align-items: center;
	}

	.plds-toasts{
		left: auto;
		right: 24px;
		bottom: 24px;
		width: min(420px, calc(100vw - 48px));
	}
}

/* ===== ≥ 1400px : hero plus aéré sur grands écrans ===== */
@media (min-width: 1400px){
	.hero-gold{
		padding: 48px 0 56px;
	}

	.plds-hero-card .plds-pipe{
		--d: 170px;
	}
}

/* ===== ≥ 1200px ===== */
@media (min-width: 1200px){
	.plds-container{
		padding-inline: 40px;
	}

	.plds-menu__link{
		padding: 0 18px;
		font-size: 16px;
	}

	.plds-mega__grid{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.plds-mega__inner{
		grid-template-columns: 1fr 340px;
	}

	.plds-products{
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 30px;
	}

	.plds-filters{
		justify-content: flex-end;
		margin-top: 0;
	}

	.plds-search.is-open{
		width: 380px;
	}
}

/* ===== ≥ 1400px ===== */
@media (min-width: 1400px){
	.plds-container{
		padding-inline: 56px;
	}

	.plds-mega__grid{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}


/* =========================================================
   PAGES INTÉRIEURES — en-tête, fil d'Ariane, catalogue, états vides
   Mobile-first. Tokens custom.css uniquement : couleurs, polices,
   rayon 14px, transitions 0.4s ease-in-out, .btn-default, .readmore-btn.
   ========================================================= */

/* --- En-tête de page (hérite de .page-header / .page-header-box) --- */
.plds-page-header{
	background-image: var(--img);
	padding: 56px 0 48px;
}

.plds-page-header::before{
	opacity: 1;
	background: linear-gradient(180deg, rgba(8, 37, 77, 0.78) 0%, rgba(8, 37, 77, 0.92) 100%);
}

.plds-page-header .page-header-box h1{
	font-size: 32px;
	text-wrap: balance;
}

.plds-page-header__eyebrow{
	margin-bottom: 14px;
}

.plds-page-header__intro{
	max-width: 640px;
	margin: 0 auto 16px;
	font-size: 16px;
	line-height: 1.55em;
	color: rgba(255, 255, 255, 0.86);
}

.plds-page-header .breadcrumb{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 0;
	margin: 0;
}

.plds-page-header .breadcrumb-item{
	font-size: 14px;
}

.plds-page-header .breadcrumb-item a{
	transition: color 0.4s ease-in-out;
}

.plds-page-header .breadcrumb-item a:hover{
	color: var(--accent-color);
}

/* --- Barre de fil d'Ariane claire (fiche produit) --- */
.plds-crumbbar{
	padding: 14px 0;
	background: var(--bg-color);
	border-bottom: 1px solid var(--divider-color);
}

.plds-crumbbar__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	font-size: 14px;
}

.plds-crumbbar__list li{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--text-color);
}

.plds-crumbbar__list a{
	color: var(--primary-color);
	font-weight: 500;
	transition: color 0.4s ease-in-out;
}

.plds-crumbbar__list a:hover{
	color: var(--accent-color);
}

.plds-crumbbar__list .ph-bold{
	font-size: 11px;
	opacity: 0.5;
}

/* --- Catalogue : mise en page --- */
.plds-shop{
	padding: 32px 0 60px;
}

.plds-shop__layout{
	display: grid;
	gap: 20px;
}

.plds-shop__main{
	min-width: 0;
	display: grid;
	gap: 16px;
	align-content: start;
}

/* Panneau catégories & filtres : replié sur mobile, ouvert sur desktop */
.plds-shop__panel{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
}

.plds-shop__summary{
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 18px;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	cursor: pointer;
	list-style: none;
}

.plds-shop__summary::-webkit-details-marker{
	display: none;
}

.plds-shop__summary > span:first-child{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
}

.plds-shop__summary .ph{
	font-size: 20px;
	color: var(--accent-color);
}

.plds-shop__summary-count{
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: 700 12px/1 var(--default-font);
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 100px;
}

.plds-shop__summary .plds-caret{
	transition: transform 0.4s ease-in-out;
}

.plds-shop__panel[open] .plds-shop__summary .plds-caret{
	transform: rotate(180deg);
}

.plds-shop__summary:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: -3px;
}

.plds-shop__panel-body{
	display: grid;
	gap: 22px;
	padding: 4px 18px 20px;
	border-top: 1px solid var(--divider-color);
}

.plds-shop__heading{
	margin: 16px 0 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-color);
	opacity: 0.7;
}

/* Arbre des catégories */
.plds-cattree__list,
.plds-cattree__sub{
	list-style: none;
	margin: 0;
	padding: 0;
}

.plds-cattree__sub{
	margin: 2px 0 4px 12px;
	padding-left: 10px;
	border-left: 1px solid var(--divider-color);
}

.plds-cattree__item:not(.is-open) > .plds-cattree__sub{
	display: none;
}

.plds-cattree__link{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 44px;
	padding: 8px 12px;
	font-size: 15px;
	line-height: 1.3em;
	color: var(--primary-color);
	border-radius: 10px;
	transition: all 0.4s ease-in-out;
}

.plds-cattree__link:hover{
	background: var(--bg-color);
}

.plds-cattree__link[aria-current="page"]{
	font-weight: 600;
	color: var(--white-color);
	background: var(--primary-color);
}

.plds-cattree__link:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: 1px;
}

.plds-cattree__count{
	flex: 0 0 auto;
	min-width: 28px;
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-cattree__link[aria-current="page"] .plds-cattree__count{
	color: var(--primary-color);
	background: var(--white-color);
}

/* Filtres (cases à cocher) */
.plds-shop__filters{
	display: grid;
	gap: 4px;
}

.plds-shop__filters .plds-shop__heading{
	margin-top: 0;
}

.plds-check{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	font-size: 15px;
	color: var(--primary-color);
	cursor: pointer;
}

.plds-check input{
	width: 20px;
	height: 20px;
	accent-color: var(--accent-color);
	cursor: pointer;
}

.plds-shop__reset{
	justify-self: start;
	margin-top: 6px;
	font-size: 14px;
}

/* Encart aide */
.plds-shop__help{
	display: none;
}

/* Barre de recherche (catalogue, 404) */
.plds-searchbar{
	position: relative;
	display: flex;
	gap: 8px;
}

.plds-searchbar .form-control{
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
	padding: 12px 16px 12px 44px;
	font-size: 16px;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: none;
	transition: border-color 0.4s ease-in-out;
}

.plds-searchbar .form-control:focus{
	border-color: var(--accent-color);
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 20%, transparent);
}

.plds-searchbar__icon{
	position: absolute;
	top: 50%;
	left: 16px;
	font-size: 18px;
	color: var(--text-color);
	opacity: 0.6;
	transform: translateY(-50%);
	pointer-events: none;
}

.plds-searchbar .btn-default{
	flex: 0 0 auto;
	min-height: 52px;
	padding: 0 18px;
	border-radius: 14px;
}

.plds-searchbar .btn-default::before{
	display: none;
}

/* Pastilles (sous-catégories, catégories 404 / recherche) */
.plds-pills{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.plds-pills a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
}

.plds-pills a:hover{
	border-color: var(--accent-color);
}

.plds-pills a span{
	font-size: 12px;
	font-weight: 600;
	opacity: 0.6;
}

/* Barre d'outils : compteur + tri */
.plds-toolbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.plds-toolbar__count{
	margin: 0;
	font-size: 20px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-toolbar__count span{
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 400;
	color: var(--text-color);
}

.plds-toolbar__sort{
	display: flex;
	align-items: center;
	gap: 10px;
}

.plds-toolbar__sort label{
	font-size: 14px;
	color: var(--text-color);
	white-space: nowrap;
}

.plds-toolbar__sort .form-control{
	min-height: 44px;
	padding: 8px 36px 8px 14px;
	font-size: 15px;
	color: var(--primary-color);
	background-color: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	cursor: pointer;
	appearance: auto;
}

/* Filtres actifs */
.plds-activefilters{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.plds-activefilters a{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
}

.plds-activefilters a:hover{
	background: var(--accent-color);
}

/* Pagination */
.plds-pagination ul{
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.plds-pagination a,
.plds-pagination span{
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--accent-font);
	font-weight: 600;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 10px;
	transition: all 0.4s ease-in-out;
}

.plds-pagination a:hover{
	border-color: var(--accent-color);
	color: var(--accent-color);
}

.plds-pagination span[aria-current="page"]{
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.plds-pagination span[aria-hidden="true"]{
	opacity: 0.4;
}

/* --- État vide (composant unique) --- */
.plds-empty{
	display: grid;
	justify-items: center;
	gap: 10px;
	padding: 40px 20px;
	text-align: center;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-empty__icon{
	width: 64px;
	height: 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
}

.plds-empty__title{
	margin: 6px 0 0;
	font-size: 22px;
	color: var(--primary-color);
}

.plds-empty__text{
	max-width: 520px;
	margin: 0;
	color: var(--text-color);
}

.plds-empty__actions{
	justify-content: center;
	margin-top: 8px;
}

/* --- Page 404 --- */
.plds-error{
	padding: 60px 0;
}

.plds-error .error-page-content{
	display: grid;
	justify-items: center;
	gap: 20px;
	max-width: 720px;
	margin: 0 auto;
}

.plds-error__code{
	margin: 0;
	font-family: var(--accent-font);
	font-size: 96px;
	font-weight: 600;
	line-height: 1;
	color: var(--accent-color);
}

.plds-error .plds-searchbar{
	width: 100%;
}

.plds-error .plds-searchbar .form-control{
	padding-left: 16px;
}

.plds-error .plds-pills{
	justify-content: center;
}

/* --- Bande CTA devis (pages intérieures) --- */
.plds-cta-box__btns{
	margin-top: 22px;
}

/* --- Champ piège anti-robot (masqué, hors tabulation) --- */
.plds-hp{
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Carte produit sans photo API : logo centré, discret --- */
.plds-product__media--empty img{
	padding: 22%;
	opacity: 0.35;
}

@media (prefers-reduced-motion: reduce){
	.plds-cattree__link,
	.plds-pills a,
	.plds-pagination a,
	.plds-activefilters a,
	.plds-shop__summary .plds-caret{
		transition: none;
	}
}

/* ===== ≥ 768px ===== */
@media (min-width: 768px){
	.plds-page-header{
		padding: 80px 0 64px;
	}

	.plds-page-header .page-header-box h1{
		font-size: 44px;
	}

	.plds-shop{
		padding: 48px 0 80px;
	}
}

/* ===== ≥ 992px : sidebar fixe à gauche ===== */
@media (min-width: 992px){
	.plds-page-header{
		padding: 100px 0 80px;
	}

	.plds-page-header .page-header-box h1{
		font-size: 52px;
	}

	.plds-shop__layout{
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 32px;
		align-items: start;
	}

	.plds-shop__aside{
		position: sticky;
		top: calc(var(--plds-header-h) + 20px);
		display: grid;
		gap: 16px;
	}

	.plds-shop__summary{
		pointer-events: none;
	}

	.plds-shop__summary .plds-caret,
	.plds-shop__summary-count{
		display: none;
	}

	.plds-shop__help{
		display: grid;
		gap: 8px;
		padding: 20px;
		color: var(--white-color);
		background: var(--primary-color);
		border-radius: 14px;
	}

	.plds-shop__help .ph{
		font-size: 28px;
		color: var(--accent-color);
	}

	.plds-shop__help p{
		margin: 0;
		font-size: 14px;
		line-height: 1.5em;
		color: rgba(255, 255, 255, 0.86);
	}

	.plds-shop__help strong{
		display: block;
		font-family: var(--accent-font);
		font-size: 16px;
		color: var(--white-color);
	}

	.plds-shop__help .readmore-btn{
		justify-self: start;
		color: var(--white-color);
	}

	.plds-shop__help .readmore-btn::before{
		background-image: url('../images/arrow-white.svg');
	}

	.plds-shop .plds-products{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.plds-error{
		padding: 100px 0;
	}
}

/* ===== ≥ 1400px ===== */
@media (min-width: 1400px){
	.plds-shop .plds-products{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* =========================================================
   PARCOURS DEVIS — Mon panier · Demande de devis · Confirmation
   Mobile-first. Extension de custom.css : --primary-color, --accent-color,
   --bg-color, --divider-color, --accent-font, rayon 14px, 0.4s ease-in-out,
   .section-title / .section-sub-title, .btn-default, .readmore-btn, .plds-qty.
   ========================================================= */

.plds-cartpage,
.plds-quote,
.plds-confirm{
	padding: 28px 0 120px;
}

.plds-cartpage__head{
	display: grid;
	gap: 18px;
	margin-bottom: 24px;
}

.plds-cartpage__head .section-title{
	margin: 0;
}

.plds-cartpage__head .section-title h1{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 30px;
	line-height: 1.15em;
	margin: 0;
}

/* --- Étapes --- */
.plds-steps{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	counter-reset: none;
}

.plds-steps__item{
	position: relative;
}

.plds-steps__item::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--divider-color);
	border-radius: 3px;
	transition: background 0.4s ease-in-out;
}

.plds-steps__item.is-done::after,
.plds-steps__item.is-active::after{
	background: var(--accent-color);
}

.plds-steps__link{
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding-bottom: 10px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--text-color);
}

.plds-steps__num{
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: 600 13px/1 var(--accent-font);
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.plds-steps__item.is-active .plds-steps__link,
.plds-steps__item.is-done .plds-steps__link{
	color: var(--primary-color);
	font-weight: 600;
}

.plds-steps__item.is-active .plds-steps__num{
	color: var(--white-color);
	background: var(--accent-color);
}

.plds-steps__item.is-done .plds-steps__num{
	color: var(--white-color);
	background: var(--primary-color);
}

a.plds-steps__link:hover .plds-steps__label{
	color: var(--accent-color);
}

/* --- Page panier : mise en page --- */
.plds-cartpage__layout,
.plds-quote__layout{
	display: grid;
	gap: 20px;
}

.plds-cartpage__main,
.plds-quote__main{
	min-width: 0;
	display: grid;
	gap: 16px;
	align-content: start;
}

.plds-cartpage__bar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}

.plds-cartpage__bar p{
	margin: 0;
	font-size: 15px;
	color: var(--text-color);
}

.plds-cartpage__bar strong{
	color: var(--primary-color);
}

.plds-cartpage__clear{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 4px;
	font: 500 14px/1 var(--default-font);
	color: var(--text-color);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color 0.4s ease-in-out;
}

.plds-cartpage__clear:hover{
	color: var(--error-color);
}

.plds-cartpage__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

/* Ligne de panier : carte (même langage que .plds-product) */
.plds-cartline{
	position: relative;
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	grid-template-areas:
		"thumb info"
		"thumb qty";
	gap: 10px 14px;
	padding: 14px 52px 14px 14px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	transition: border-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out, opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.plds-cartline:hover{
	border-color: transparent;
	box-shadow: 0 20px 40px -28px rgba(8, 37, 77, 0.45);
}

.plds-cartline.is-removing{
	opacity: 0;
	transform: translateX(20px);
}

.plds-cartline__thumb{
	grid-area: thumb;
	align-self: start;
	display: grid;
	place-items: center;
	width: 80px;
	height: 80px;
	background: var(--bg-color);
	border-radius: 10px;
	overflow: hidden;
}

.plds-cartline__thumb img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	mix-blend-mode: multiply;
	transition: transform 0.6s ease-in-out;
}

.plds-cartline:hover .plds-cartline__thumb img{
	transform: scale(1.06);
}

.plds-cartline__info{
	grid-area: info;
	display: grid;
	gap: 4px;
	min-width: 0;
}

.plds-cartline__name{
	margin: 0;
	font-size: 16px;
	line-height: 1.3em;
}

.plds-cartline__name a{
	color: var(--primary-color);
	transition: color 0.4s ease-in-out;
}

.plds-cartline__name a:hover{
	color: var(--accent-color);
}

.plds-cartline__meta{
	margin: 0;
	font-size: 13px;
	line-height: 1.35;
	color: var(--text-color);
	opacity: 0.8;
	overflow-wrap: anywhere;
}

.plds-cartline__hint{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	justify-self: start;
	margin: 2px 0 0;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 500;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-cartline__hint .ph{
	color: var(--accent-color);
}

.plds-cartline__qty{
	grid-area: qty;
	align-self: end;
}

.plds-cartline__qty .plds-qty input{
	width: 76px;
}

.plds-cartline__remove{
	position: absolute;
	top: 10px;
	right: 8px;
}

/* Note de devis */
.plds-cartpage__note{
	display: grid;
	gap: 8px;
	padding: 16px;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-cartpage__note label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
}

.plds-cartpage__note label .ph{
	font-size: 20px;
	color: var(--accent-color);
}

.plds-cartpage__note small{
	font-family: var(--default-font);
	font-size: 13px;
	font-weight: 400;
	color: var(--text-color);
}

.plds-cartpage__note .form-control{
	min-height: 96px;
	font-size: 16px;
	line-height: 1.5em;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 13px 16px;
	box-shadow: none;
	transition: border-color 0.4s ease-in-out;
}

.plds-cartpage__note .form-control:focus{
	border-color: var(--accent-color);
	outline: none;
}

.plds-cartpage__saved{
	min-height: 18px;
	margin: 0;
	font-size: 13px;
	color: var(--primary-color);
}

.plds-cartpage__back{
	justify-self: start;
}

/* Récapitulatif (panier) */
.plds-summary{
	display: grid;
	gap: 14px;
	padding: 20px;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 14px;
}

.plds-summary__title{
	margin: 0;
	font-size: 22px;
	color: var(--white-color);
}

.plds-summary__rows{
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 14px 0;
	border-top: 1px solid var(--dark-divider-color);
	border-bottom: 1px solid var(--dark-divider-color);
}

.plds-summary__rows div{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.plds-summary__rows dt{
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
}

.plds-summary__rows dd{
	margin: 0;
	font-family: var(--accent-font);
	font-weight: 600;
}

.plds-summary__total dd{
	font-size: 22px;
	color: var(--accent-color);
}

.plds-summary__note{
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
}

.plds-summary__cta{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
}

.plds-summary__cta:hover{
	color: var(--primary-color);
}

.plds-summary__cta::after{
	background: var(--white-color);
}

.plds-summary__cta:hover::before{
	filter: brightness(0) invert(0);
}

.plds-summary__trust{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.86);
}

.plds-summary__trust li{
	display: flex;
	align-items: center;
	gap: 10px;
}

.plds-summary__trust .ph{
	font-size: 18px;
	color: var(--accent-color);
}

/* Barre d'action fixe (mobile) */
.plds-stickybar{
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	background: var(--white-color);
	border-top: 1px solid var(--divider-color);
	box-shadow: 0 -16px 40px -24px rgba(8, 37, 77, 0.45);
}

.plds-stickybar[hidden]{
	display: none;
}

.plds-stickybar p{
	display: grid;
	margin: 0;
	line-height: 1.25;
}

.plds-stickybar strong{
	font-family: var(--accent-font);
	color: var(--primary-color);
}

.plds-stickybar span{
	font-size: 12px;
	color: var(--text-color);
}

.plds-stickybar .btn-default{
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	white-space: nowrap;
}

/* --- Page demande de devis --- */
.plds-quote .plds-form{
	overflow: visible;
	display: grid;
	gap: 16px;
}

.plds-quote__box{
	min-width: 0;
	margin: 0;
	padding: 18px 16px;
	display: grid;
	gap: 14px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
}

.plds-quote__legend{
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2em;
	color: var(--primary-color);
}

.plds-quote__legend + *{
	clear: both;
}

.plds-quote__badge{
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
}

.plds-quote .plds-field .form-control{
	width: 100%;
	min-height: 52px;
}

.plds-quote .plds-field textarea.form-control{
	min-height: 140px;
	resize: vertical;
}

.plds-quote .plds-field select.form-control{
	appearance: auto;
	cursor: pointer;
}

.plds-field__label{
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
}

.plds-field__error{
	margin: 6px 0 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--error-color);
}

.plds-form .form-control[aria-invalid="true"]{
	border-color: var(--error-color);
}

/* Choix (radios en pastilles) */
.plds-choices{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.plds-choice{
	position: relative;
	margin: 0;
	cursor: pointer;
}

.plds-choice input{
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.plds-choice span{
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
}

.plds-choice:hover span{
	border-color: var(--accent-color);
}

.plds-choice input:checked + span{
	color: var(--white-color);
	background: var(--primary-color);
}

.plds-choice input:focus-visible + span{
	outline: 3px solid var(--accent-color);
	outline-offset: 2px;
}

.plds-quote__consent{
	align-items: flex-start;
	min-height: 0;
	font-size: 14px;
	line-height: 1.5;
}

.plds-quote__consent input{
	flex: 0 0 auto;
	margin-top: 2px;
}

.plds-quote__consent a{
	color: var(--accent-color);
	text-decoration: underline;
}

.plds-quote__submit{
	display: grid;
	gap: 10px;
}

.plds-quote__submit .btn-default{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	font-size: 17px;
}

.plds-quote__submit .btn-default[disabled]{
	opacity: 0.7;
	cursor: progress;
}

.plds-quote__submit p{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	font-size: 13px;
	color: var(--text-color);
}

/* Récapitulatif de sélection (devis) : repliable sur mobile */
.plds-recap{
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
}

.plds-recap__summary{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 10px 16px;
	cursor: pointer;
	list-style: none;
}

.plds-recap__summary::-webkit-details-marker{
	display: none;
}

.plds-recap__summary:focus-visible{
	outline: 3px solid var(--accent-color);
	outline-offset: -3px;
}

.plds-recap__icon{
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
}

.plds-recap__text{
	display: grid;
	margin-right: auto;
	line-height: 1.3;
}

.plds-recap__text strong{
	font-family: var(--accent-font);
	font-size: 16px;
	color: var(--primary-color);
}

.plds-recap__text small{
	font-size: 13px;
	color: var(--text-color);
}

.plds-recap .plds-caret{
	color: var(--primary-color);
	transition: transform 0.4s ease-in-out;
}

.plds-recap[open] .plds-caret{
	transform: rotate(180deg);
}

.plds-recap__body{
	display: grid;
	gap: 12px;
	padding: 4px 16px 16px;
	border-top: 1px solid var(--divider-color);
}

.plds-recap__list{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}

.plds-recap__item{
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--divider-color);
}

.plds-recap__thumb{
	position: relative;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	background: var(--bg-color);
	border-radius: 10px;
}

.plds-recap__thumb img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
	mix-blend-mode: multiply;
}

.plds-recap__qty{
	position: absolute;
	top: -6px;
	right: -8px;
	min-width: 24px;
	height: 22px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: 700 11px/1 var(--default-font);
	color: var(--white-color);
	background: var(--primary-color);
	border: 2px solid var(--white-color);
	border-radius: 100px;
}

.plds-recap__name{
	display: grid;
	gap: 2px;
	min-width: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--primary-color);
}

.plds-recap__name small{
	font-size: 12px;
	font-weight: 400;
	color: var(--text-color);
	overflow-wrap: anywhere;
}

.plds-recap__empty{
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--text-color);
}

.plds-recap__edit{
	justify-self: start;
	font-size: 14px;
}

.plds-quote__help{
	display: none;
}

.plds-quote__help-title{
	margin: 0 0 12px;
	font-family: var(--accent-font);
	font-size: 18px;
	font-weight: 600;
	color: var(--white-color);
}

/* Alerte (retour d'envoi sans JavaScript) */
.plds-alert{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid currentColor;
}

.plds-alert p{
	margin: 0;
	color: var(--primary-color);
}

.plds-alert .ph{
	font-size: 22px;
}

.plds-alert--error{
	color: var(--error-color);
	background: color-mix(in srgb, var(--error-color) 8%, var(--white-color));
}

.plds-alert--success{
	color: var(--accent-color);
	background: color-mix(in srgb, var(--accent-color) 8%, var(--white-color));
}

/* Succès (envoi sans panier) */
.plds-quote__success{
	display: grid;
	justify-items: center;
	gap: 12px;
	padding: 40px 20px;
	text-align: center;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-quote__success[hidden]{
	display: none;
}

.plds-quote__success h2{
	margin: 0;
	font-size: 26px;
}

.plds-quote__success p{
	max-width: 480px;
	margin: 0;
}

.plds-quote__success .plds-btn-row{
	justify-content: center;
	margin-top: 8px;
}

/* --- Confirmation --- */
.plds-confirm .plds-steps{
	max-width: 640px;
	margin: 0 auto 28px;
}

.plds-confirm__wrap{
	display: grid;
	gap: 20px;
	max-width: 760px;
	margin: 0 auto;
}

.plds-confirm__hero{
	display: grid;
	justify-items: center;
	gap: 12px;
	text-align: center;
}

.plds-confirm__check{
	width: 76px;
	height: 76px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
	box-shadow: 0 0 0 10px color-mix(in srgb, var(--accent-color) 15%, transparent);
}

.plds-confirm__hero h1{
	margin: 0;
	font-size: 30px;
	line-height: 1.15em;
	text-wrap: balance;
}

.plds-confirm__hero p{
	max-width: 580px;
	margin: 0;
}

.plds-confirm__grid{
	display: grid;
	gap: 1px;
	margin: 0;
	background: var(--divider-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
}

.plds-confirm__grid div{
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	background: var(--white-color);
}

.plds-confirm__grid dt{
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-color);
	opacity: 0.7;
}

.plds-confirm__grid dd{
	margin: 0;
	font-family: var(--accent-font);
	font-size: 17px;
	font-weight: 500;
	color: var(--primary-color);
	overflow-wrap: anywhere;
}

.plds-confirm__num{
	color: var(--accent-color) !important;
}

.plds-confirm__status{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.plds-confirm__status span{
	width: 8px;
	height: 8px;
	background: var(--accent-color);
	border-radius: 50%;
}

.plds-confirm__steps{
	padding: 18px 16px;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-confirm__steps h2{
	margin: 0 0 12px;
	font-size: 20px;
}

.plds-confirm__steps ol{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.plds-confirm__steps li{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
}

.plds-confirm__steps li span{
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font: 600 13px/1 var(--accent-font);
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 50%;
}

.plds-confirm__actions{
	justify-content: center;
}

.plds-confirm__help{
	margin: 0;
	text-align: center;
	font-size: 14px;
}

.plds-confirm__help a{
	color: var(--accent-color);
}

@media (prefers-reduced-motion: reduce){
	.plds-cartline,
	.plds-cartline__thumb img,
	.plds-choice span,
	.plds-steps__num,
	.plds-recap .plds-caret{
		transition: none;
	}
}

/* ===== ≥ 576px ===== */
@media (min-width: 576px){
	.plds-steps__link{
		font-size: 14px;
	}

	.plds-cartline{
		grid-template-columns: 96px minmax(0, 1fr) auto;
		grid-template-areas: "thumb info qty";
		align-items: center;
		padding: 16px 60px 16px 16px;
	}

	.plds-cartline__thumb{
		width: 96px;
		height: 96px;
	}

	.plds-cartline__qty{
		align-self: center;
	}

	.plds-cartline__remove{
		top: 50%;
		transform: translateY(-50%);
	}

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

	.plds-quote__box{
		padding: 24px;
	}

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

	.plds-quote__submit{
		grid-template-columns: auto 1fr;
		align-items: center;
	}

	.plds-quote__submit p{
		justify-content: flex-start;
	}
}

/* ===== ≥ 768px ===== */
@media (min-width: 768px){
	.plds-cartpage,
	.plds-quote,
	.plds-confirm{
		padding: 48px 0 100px;
	}

	.plds-cartpage__head{
		grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
		align-items: end;
		gap: 24px;
	}

	.plds-cartpage__head .section-title h1,
	.plds-confirm__hero h1{
		font-size: 40px;
	}
}

/* ===== ≥ 992px : récapitulatif latéral sticky, plus de barre fixe ===== */
@media (min-width: 992px){
	.plds-cartpage__layout{
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 32px;
		align-items: start;
	}

	.plds-quote__layout{
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: 32px;
		align-items: start;
	}

	.plds-quote__main{
		grid-column: 1;
		grid-row: 1;
	}

	.plds-cartpage__aside,
	.plds-quote__aside{
		position: sticky;
		top: calc(var(--plds-header-h) + 20px);
		display: grid;
		gap: 16px;
	}

	.plds-recap__summary{
		pointer-events: none;
	}

	.plds-recap .plds-caret{
		display: none;
	}

	.plds-recap__list{
		max-height: 46vh;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	.plds-quote__help{
		display: block;
		padding: 20px;
		background: var(--primary-color);
		border-radius: 14px;
	}

	.plds-stickybar{
		display: none;
	}

	.plds-cartpage,
	.plds-quote,
	.plds-confirm{
		padding: 56px 0 110px;
	}
}
/* =========================================================
   FICHE PRODUIT — templates/productDetails/productDetails.php
   Mobile-first. Tokens custom.css : --primary-color, --accent-color, --bg-color,
   --divider-color, --accent-font, rayon 14px, transitions 0.4s ease-in-out.
   Réutilise : .plds-qv__nav / __counter, .plds-qv__options, .plds-chips, .plds-chip,
   .plds-qty, .plds-tabs, .plds-spec-table, .plds-check-list, .plds-doc-list,
   .plds-summary, .plds-stickybar, carte produit unique (.plds-products).
   ========================================================= */
.plds-pdp{
	padding: 20px 0 110px;
}

.plds-pdp__layout{
	display: grid;
	gap: 24px;
}

/* --- Galerie --- */
.plds-pdp__gallery{
	display: grid;
	gap: 10px;
	outline: none;
}

.plds-pdp__gallery:focus-visible .plds-pdp__stage{
	outline: 3px solid var(--accent-color);
	outline-offset: 3px;
}

.plds-pdp__stage{
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
}

.plds-pdp__stage img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 7%;
	touch-action: pan-y;
	user-select: none;
	transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.plds-pdp__stage img.is-switching{
	opacity: 0.35;
	transform: scale(0.98);
}

.plds-pdp__gallery--empty .plds-pdp__stage{
	background: var(--bg-color);
}

.plds-pdp__gallery--empty .plds-pdp__stage img{
	padding: 26%;
	opacity: 0.55;
	mix-blend-mode: multiply;
}

.plds-pdp__badge{
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	padding: 6px 11px;
	font: 600 12px/1 var(--accent-font);
	letter-spacing: 0.02em;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 20px;
}

.plds-pdp__badge.plds-product__badge--new{ background: var(--accent-color); }
.plds-pdp__badge.plds-product__badge--promo{ background: var(--error-color); }

.plds-pdp__share{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	width: 44px;
	height: 44px;
	background: var(--white-color);
}

.plds-pdp__stage .plds-qv__nav{
	opacity: 0.92;
}

.plds-pdp__thumbs{
	display: flex;
	gap: 8px;
	padding: 2px 2px 6px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.plds-pdp__thumbs::-webkit-scrollbar{
	display: none;
}

.plds-pdp__thumbs [role="tab"]{
	flex: 0 0 72px;
	aspect-ratio: 1 / 1;
	padding: 4px;
	scroll-snap-align: start;
	background: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.plds-pdp__thumbs [role="tab"] img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--white-color);
	border-radius: 7px;
}

.plds-pdp__thumbs [role="tab"]:hover{
	border-color: var(--divider-color);
}

.plds-pdp__thumbs [role="tab"][aria-selected="true"]{
	background: var(--white-color);
	border-color: var(--accent-color);
}

/* --- Informations --- */
.plds-pdp__info{
	display: grid;
	gap: 16px;
	align-content: start;
	min-width: 0;
}

.plds-pdp__eyebrow{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
}

.plds-pdp__eyebrow a{
	font-weight: 600;
	color: var(--accent-color);
	transition: color 0.4s ease-in-out;
}

.plds-pdp__eyebrow a:hover{
	color: var(--primary-color);
}

.plds-pdp__brand,
.plds-pdp__ref{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--text-color);
}

.plds-pdp__brand .ph{
	color: var(--accent-color);
	font-size: 15px;
}

.plds-pdp__ref span{
	font-weight: 600;
	color: var(--primary-color);
}

.plds-pdp__title{
	margin: 0;
	font-size: 26px;
	line-height: 1.2em;
	color: var(--primary-color);
	text-wrap: balance;
}

.plds-pdp__short{
	margin: 0;
	font-size: 15px;
	line-height: 1.6em;
}

.plds-stock--out{
	color: #92400E;
	background: #FEF3C7;
}

.plds-stock--out::before{
	background: #F59E0B;
}

/* Faits clés */
.plds-pdp__facts{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.plds-pdp__facts li{
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 10px 12px;
	background: var(--bg-color);
	border-radius: 10px;
	font-size: 12px;
	line-height: 1.3;
}

.plds-pdp__facts .ph{
	flex: 0 0 auto;
	font-size: 22px;
	color: var(--accent-color);
}

.plds-pdp__facts div{
	min-width: 0;
}

.plds-pdp__facts strong{
	display: block;
	font-weight: 600;
	color: var(--primary-color);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.plds-pdp__facts span{
	display: block;
	color: var(--text-color);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Variantes */
.plds-pdp__options{
	display: grid;
	gap: 14px;
	padding-top: 4px;
}

.plds-chip.is-unavailable{
	opacity: 0.45;
	text-decoration: line-through;
}

.plds-chip--swatch{
	width: 40px;
	min-width: 40px;
	padding: 0;
	border-radius: 50%;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
}

.plds-chip--swatch span{
	display: block;
	width: 28px;
	height: 28px;
	margin: auto;
	background: var(--swatch, #ccc);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.plds-chip--swatch[aria-pressed="true"]{
	background: var(--white-color);
	border-color: var(--primary-color);
	box-shadow: 0 0 0 2px var(--primary-color);
}

.plds-chip--swatch.is-unavailable{
	text-decoration: none;
	background: linear-gradient(135deg, transparent 46%, var(--error-color) 47%, var(--error-color) 53%, transparent 54%);
}

/* Bloc achat */
.plds-pdp__buy{
	display: grid;
	gap: 14px;
	padding: 16px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: 0 24px 50px -36px rgba(8, 37, 77, 0.45);
}

.plds-pdp__price{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
}

.plds-pdp__price strong{
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 600;
	color: var(--primary-color);
}

.plds-pdp__price small{
	font-size: 13px;
	color: var(--text-color);
}

.plds-pdp__qtyrow{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

.plds-pdp__moq{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 13px;
	color: var(--primary-color);
}

.plds-pdp__moq .ph{
	color: var(--accent-color);
	font-size: 16px;
}

.plds-pdp__actions{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 48px 48px;
	gap: 10px;
}

.plds-pdp__actions .btn-default,
.plds-pdp__actions .plds-btn-outline{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding-inline: 16px;
}

.plds-pdp__actions .btn-default .ph,
.plds-pdp__stickybar .btn-default .ph{
	font-size: 18px;
}

/* Icône panier à la place de la flèche du thème */
.plds-pdp__add::before,
.plds-pdp__stickybar .btn-default::before{
	display: none;
}

.plds-pdp__stickybar .btn-default{
	padding: 0 18px;
}

.plds-pdp__actions .plds-btn-outline{
	grid-column: 1 / -1;
}

.plds-pdp__actions .plds-icon-btn--outline{
	width: 48px;
	height: 48px;
}

.plds-pdp__wa:hover{
	background: #25D366;
	border-color: #25D366;
}

.plds-pdp__add.is-added{
	background: #16A34A;
	border-color: #16A34A;
}

.plds-pdp__trust{
	list-style: none;
	margin: 0;
	padding: 12px 0 0;
	display: grid;
	gap: 8px;
	font-size: 13px;
	border-top: 1px solid var(--divider-color);
}

.plds-pdp__trust li{
	display: flex;
	align-items: center;
	gap: 10px;
}

.plds-pdp__trust .ph{
	font-size: 18px;
	color: var(--accent-color);
}

.plds-pdp__trust a{
	font-weight: 600;
	color: var(--primary-color);
}

/* --- Détails : onglets + aide --- */
.plds-pdp__details{
	display: grid;
	gap: 24px;
	margin-top: 36px;
}

.plds-pdp__tabs{
	min-width: 0;
}

.plds-pdp__tabs .plds-tabs__list{
	position: sticky;
	top: calc(var(--plds-header-h) + 8px);
	z-index: 5;
}

.plds-pdp__tabs .plds-tabs__panel{
	padding-top: 20px;
}

.plds-tabs__count{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-left: 4px;
	font-size: 11px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 100px;
}

.plds-pdp__subtitle{
	margin: 0 0 12px;
	font-size: 18px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-prose{
	font-size: 15px;
	line-height: 1.7em;
	overflow-wrap: anywhere;
}

.plds-prose > :last-child{
	margin-bottom: 0;
}

.plds-prose h2,
.plds-prose h3,
.plds-prose h4{
	margin: 20px 0 8px;
	font-size: 18px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-prose ul,
.plds-prose ol{
	padding-left: 22px;
	margin-bottom: 14px;
}

.plds-prose table{
	width: 100%;
	margin-bottom: 14px;
	font-size: 14px;
	border-collapse: collapse;
}

.plds-prose th,
.plds-prose td{
	padding: 8px 10px;
	text-align: left;
	border-bottom: 1px solid var(--divider-color);
}

.plds-prose th{
	color: var(--primary-color);
	background: var(--bg-color);
}

.plds-prose + .plds-pdp__subtitle{
	margin-top: 24px;
}

.plds-pdp__specgroups{
	display: grid;
	gap: 24px;
}

.plds-pdp__specgroup .plds-pdp__subtitle{
	padding-bottom: 8px;
	border-bottom: 2px solid var(--accent-color);
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.plds-pdp__specgroup .plds-spec-table dd{
	overflow-wrap: anywhere;
}

.plds-doc-list a span small{
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	opacity: 0.75;
}

.plds-pdp__videos{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.plds-pdp__videos a{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 12px;
	transition: all 0.4s ease-in-out;
}

.plds-pdp__videos a:hover{
	color: var(--white-color);
	background: var(--primary-color);
}

.plds-pdp__video-thumb{
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 112px;
	aspect-ratio: 16 / 9;
	background: var(--primary-color);
	border-radius: 8px;
	overflow: hidden;
}

.plds-pdp__video-thumb img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}

.plds-pdp__video-thumb .ph-fill{
	position: relative;
	font-size: 34px;
	color: var(--white-color);
}

.plds-pdp__video-info{
	display: grid;
	gap: 2px;
	min-width: 0;
}

.plds-pdp__video-info small{
	font-size: 12px;
	opacity: 0.75;
}

/* Panneau d'aide (réutilise .plds-summary) */
.plds-pdp__contacts{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.plds-pdp__contacts a{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font-weight: 500;
	color: var(--white-color);
	transition: color 0.4s ease-in-out;
}

.plds-pdp__contacts a:hover{
	color: var(--accent-color);
}

.plds-pdp__contacts .ph{
	font-size: 20px;
	color: var(--accent-color);
}

/* Barre fixe mobile */
.plds-pdp__stickybar .btn-default{
	gap: 8px;
}

.plds-pdp__stickybar .btn-default .ph{
	font-size: 18px;
}

/* --- Produits similaires / récemment consultés : carrousel tactile mobile --- */
.plds-pdp__related{
	padding: 44px 0;
}

.plds-pdp__related--recent{
	padding-top: 0;
}

.plds-pdp__related-head{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 20px;
}

.plds-pdp__related-head .section-title{
	margin: 0;
}

.plds-pdp__related-head .section-title h2{
	font-size: 26px;
	line-height: 1.2em;
}

.plds-pdp__related .plds-products{
	display: flex;
	gap: 12px;
	margin: 0 -16px;
	padding: 6px 16px 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 16px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.plds-pdp__related .plds-products::-webkit-scrollbar{
	display: none;
}

.plds-pdp__related .plds-products__item{
	flex: 0 0 min(68vw, 260px);
	scroll-snap-align: start;
}

@media (prefers-reduced-motion: reduce){
	.plds-pdp__stage img,
	.plds-pdp__thumbs [role="tab"],
	.plds-pdp__videos a,
	.plds-pdp__contacts a{
		transition: none;
	}
}

/* ===== ≥ 576px ===== */
@media (min-width: 576px){
	.plds-pdp__title{
		font-size: 30px;
	}

	.plds-pdp__facts li{
		font-size: 13px;
	}

	.plds-pdp__thumbs [role="tab"]{
		flex-basis: 84px;
	}

	.plds-pdp__actions{
		grid-template-columns: minmax(0, 1fr) 48px 48px;
	}

	.plds-pdp__related .plds-products__item{
		flex-basis: min(44vw, 280px);
	}
}

/* ===== ≥ 768px : deux colonnes, galerie collante ===== */
@media (min-width: 768px){
	.plds-pdp{
		padding: 32px 0 110px;
	}

	.plds-pdp__layout{
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 32px;
		align-items: start;
	}

	.plds-pdp__gallery{
		position: sticky;
		top: calc(var(--plds-header-h) + 20px);
	}

	.plds-pdp__features{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 24px;
	}

	.plds-pdp__features li{
		margin-bottom: 0;
	}

	.plds-pdp__specgroups{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}

	.plds-pdp__specgroup:first-child:nth-last-child(odd){
		grid-column: 1 / -1;
	}

	.plds-pdp__related .plds-products{
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}

	.plds-pdp__related .plds-products__item{
		flex: none;
	}

	.plds-pdp__related{
		padding: 60px 0;
	}

	.plds-pdp__related-head .section-title h2{
		font-size: 32px;
	}
}

/* ===== ≥ 992px : vignettes verticales, aide latérale collante ===== */
@media (min-width: 992px){
	.plds-pdp{
		padding: 40px 0 90px;
	}

	.plds-pdp__layout{
		grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
		gap: 48px;
	}

	.plds-pdp__gallery--multi{
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 12px;
	}

	.plds-pdp__stage{
		order: 2;
	}

	.plds-pdp__thumbs{
		order: 1;
		flex-direction: column;
		max-height: 520px;
		padding: 2px;
		overflow-x: hidden;
		overflow-y: auto;
		scroll-snap-type: y proximity;
	}

	.plds-pdp__thumbs [role="tab"]{
		flex-basis: auto;
		width: 100%;
	}

	.plds-pdp__title{
		font-size: 34px;
	}

	.plds-pdp__actions{
		grid-template-columns: minmax(0, 1fr) 48px 48px auto;
	}

	.plds-pdp__actions .plds-btn-outline{
		grid-column: auto;
	}

	.plds-pdp__details{
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 40px;
		margin-top: 56px;
	}

	.plds-pdp__tabs .plds-tabs__list{
		position: static;
	}

	.plds-pdp__help{
		position: sticky;
		top: calc(var(--plds-header-h) + 20px);
	}

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

/* ===== ≥ 1200px ===== */
@media (min-width: 1200px){
	.plds-pdp__title{
		font-size: 38px;
	}

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

	.plds-pdp__related .plds-products{
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 30px;
	}
}

/* =========================================================
   PAGES ÉDITORIALES — Nos services, Notre usine, pages légales
   Mobile-first. Tokens custom.css : couleurs, polices, rayon 14px,
   transitions 0.4s ease-in-out, .section-title, .btn-default, .readmore-btn.
   Composants : .plds-perks, .plds-feature, .plds-stats, .plds-timeline,
   .plds-cards, .plds-mosaic, .plds-split, .plds-anchors, .plds-legal.
   ========================================================= */
.plds-block{
	padding: 44px 0;
}

.plds-block--light{
	background: var(--bg-color);
}

.plds-block .section-title{
	margin-bottom: 24px;
}

.plds-block .section-title h2{
	font-size: 28px;
	line-height: 1.2em;
	text-wrap: balance;
}

.plds-block .section-title p{
	max-width: 680px;
	margin-inline: auto;
}

/* Centrage hors .section-row (le thème ne centre que dans .section-row) */
.plds-block .section-title.section-title-center{
	max-width: 760px;
	margin-inline: auto;
	margin-bottom: 28px;
	text-align: center;
}

/* --- Cartes « promesse » (icône + titre + texte) --- */
.plds-perks{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.plds-perk{
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 16px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	transition: all 0.4s ease-in-out;
}

.plds-perk:hover{
	transform: translateY(-5px);
	border-color: transparent;
	box-shadow: 0 24px 50px -30px rgba(8, 37, 77, 0.45);
}

.plds-perk__icon{
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	background: var(--bg-color);
	border-radius: 12px;
	transition: all 0.4s ease-in-out;
}

.plds-perk:hover .plds-perk__icon{
	background: var(--accent-color);
}

.plds-perk__icon .ph{
	font-size: 24px;
	color: var(--accent-color);
	transition: color 0.4s ease-in-out;
}

.plds-perk:hover .plds-perk__icon .ph{
	color: var(--white-color);
}

.plds-perk h3{
	margin: 0;
	font-size: 16px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-perk p{
	margin: 0;
	font-size: 14px;
	line-height: 1.55em;
}

.plds-perks--compact .plds-perk{
	padding: 14px;
}

/* --- Ancres de section (défilement horizontal mobile) --- */
.plds-anchors{
	display: flex;
	gap: 8px;
	margin: -8px -16px 28px;
	padding: 4px 16px 10px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.plds-anchors::-webkit-scrollbar{
	display: none;
}

.plds-anchors a{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	scroll-snap-align: start;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	white-space: nowrap;
	transition: all 0.4s ease-in-out;
}

.plds-anchors a:hover{
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}

/* --- Ligne de service : image + texte --- */
.plds-features{
	display: grid;
	gap: 40px;
}

.plds-feature{
	display: grid;
	gap: 20px;
	align-items: center;
	scroll-margin-top: 90px;
}

.plds-feature__media{
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 30px 60px -40px rgba(8, 37, 77, 0.6);
}

.plds-feature__media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease-in-out;
}

.plds-feature:hover .plds-feature__media img{
	transform: scale(1.04);
}

.plds-feature__no{
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 8px 12px;
	font: 600 13px/1 var(--accent-font);
	color: var(--primary-color);
	background: var(--white-color);
	border-radius: 100px;
}

.plds-feature__body{
	display: grid;
	gap: 14px;
	min-width: 0;
}

.plds-feature__body .section-sub-title{
	justify-self: start;
	margin: 0;
}

.plds-feature__body h2,
.plds-feature__body h3{
	margin: 0;
	font-size: 24px;
	line-height: 1.2em;
	color: var(--primary-color);
	text-wrap: balance;
}

.plds-feature__body p{
	margin: 0;
}

.plds-feature__body .plds-check-list li{
	margin-bottom: 8px;
	font-size: 15px;
}

.plds-feature__actions{
	margin-top: 4px;
}

/* --- Chiffres / repères --- */
.plds-stats{
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.plds-stat{
	display: grid;
	gap: 4px;
	padding: 18px 16px;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 14px;
}

.plds-stat strong{
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.1em;
}

.plds-stat span{
	font-size: 13px;
	opacity: 0.85;
}

/* --- Chronologie numérotée --- */
.plds-timeline{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
	counter-reset: plds-step;
}

.plds-timeline li{
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 14px;
	padding: 16px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	transition: all 0.4s ease-in-out;
}

.plds-timeline li:hover{
	border-color: transparent;
	box-shadow: 0 24px 50px -30px rgba(8, 37, 77, 0.45);
}

.plds-timeline li::before{
	counter-increment: plds-step;
	content: counter(plds-step, decimal-leading-zero);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	font: 600 15px/1 var(--accent-font);
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 12px;
}

.plds-timeline h3{
	margin: 0 0 4px;
	font-size: 17px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-timeline p{
	margin: 0;
	font-size: 14px;
	line-height: 1.55em;
}

/* --- Cartes équipement (image + corps) --- */
.plds-cards{
	display: grid;
	gap: 14px;
}

.plds-card{
	display: grid;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.plds-card:hover{
	transform: translateY(-5px);
	border-color: transparent;
	box-shadow: 0 24px 50px -30px rgba(8, 37, 77, 0.45);
}

.plds-card__media{
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.plds-card__media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease-in-out;
}

.plds-card:hover .plds-card__media img{
	transform: scale(1.06);
}

.plds-card__body{
	display: grid;
	gap: 10px;
	padding: 16px;
}

.plds-card__body h3{
	margin: 0;
	font-size: 18px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-card__body p{
	margin: 0;
	font-size: 14px;
	line-height: 1.55em;
}

.plds-card__tags{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* --- Bloc « côte à côte » (texte + figure | liste) --- */
.plds-split{
	display: grid;
	gap: 24px;
}

.plds-split .section-title{
	margin-bottom: 0;
}

.plds-split .section-title p{
	margin-inline: 0;
}

.plds-split__aside{
	display: grid;
	gap: 20px;
	align-content: start;
}

.plds-split__figure{
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	overflow: hidden;
}

.plds-split__figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- Mosaïque photos --- */
.plds-mosaic{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.plds-mosaic figure{
	position: relative;
	margin: 0;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
}

.plds-mosaic figure:first-child{
	grid-column: 1 / -1;
	aspect-ratio: 16 / 9;
}

.plds-mosaic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease-in-out;
}

.plds-mosaic figure:hover img{
	transform: scale(1.05);
}

.plds-mosaic figcaption{
	position: absolute;
	left: 10px;
	bottom: 10px;
	padding: 6px 10px;
	font: 600 12px/1 var(--default-font);
	color: var(--primary-color);
	background: rgba(255, 255, 255, 0.92);
	border-radius: 100px;
}

/* FAQ pleine largeur (pages intérieures) */
.plds-faq{
	max-width: 860px;
	margin-inline: auto;
}

/* --- Pages légales --- */
.plds-legal{
	padding: 28px 0 70px;
}

.plds-legal__head{
	display: grid;
	gap: 12px;
	margin-bottom: 24px;
}

.plds-legal__head .section-sub-title{
	justify-self: start;
	margin: 0;
}

.plds-legal__head h1{
	margin: 0;
	font-size: 30px;
	line-height: 1.15em;
	color: var(--primary-color);
	text-wrap: balance;
}

.plds-legal__intro{
	max-width: 720px;
	margin: 0;
	font-size: 16px;
	line-height: 1.6em;
}

.plds-legal__meta{
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	font-size: 13px;
	color: var(--text-color);
}

.plds-legal__meta li{
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.plds-legal__meta .ph{
	font-size: 16px;
	color: var(--accent-color);
}

.plds-legal__print{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0;
	font: 500 13px/1 var(--default-font);
	color: var(--primary-color);
	background: transparent;
	border: 0;
	cursor: pointer;
}

.plds-legal__print:hover{
	color: var(--accent-color);
}

.plds-legal__summary{
	margin-bottom: 28px;
}

.plds-legal__summary-title{
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--accent-color);
}

.plds-legal__layout{
	display: grid;
	gap: 20px;
}

.plds-legal__toc{
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-legal__toc summary{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 52px;
	padding: 0 16px;
	font-weight: 600;
	color: var(--primary-color);
	cursor: pointer;
	list-style: none;
}

.plds-legal__toc summary::-webkit-details-marker{
	display: none;
}

.plds-legal__toc summary span{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.plds-legal__toc summary .ph{
	font-size: 18px;
	color: var(--accent-color);
}

.plds-legal__toc[open] .plds-caret{
	transform: rotate(180deg);
}

.plds-legal__toc ol{
	margin: 0;
	padding: 0 8px 10px;
	list-style: none;
	counter-reset: plds-toc;
}

.plds-legal__toc li a{
	display: flex;
	gap: 10px;
	padding: 9px 10px;
	font-size: 14px;
	line-height: 1.35em;
	color: var(--primary-color);
	border-radius: 8px;
	transition: all 0.4s ease-in-out;
}

.plds-legal__toc li a::before{
	counter-increment: plds-toc;
	content: counter(plds-toc, decimal-leading-zero);
	flex: 0 0 auto;
	font-weight: 600;
	color: var(--accent-color);
}

.plds-legal__toc li a:hover,
.plds-legal__toc li a[aria-current="true"]{
	background: var(--white-color);
}

.plds-legal__content{
	display: grid;
	gap: 28px;
	min-width: 0;
}

.plds-legal__content section{
	scroll-margin-top: 100px;
}

.plds-legal__content h2{
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 12px;
	padding-bottom: 10px;
	font-size: 21px;
	line-height: 1.3em;
	color: var(--primary-color);
	border-bottom: 1px solid var(--divider-color);
}

.plds-legal__content h2 > span{
	font-family: var(--accent-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--accent-color);
}

.plds-legal__content p,
.plds-legal__content li{
	font-size: 15px;
	line-height: 1.7em;
}

.plds-legal__content p:last-child{
	margin-bottom: 0;
}

.plds-legal__content a{
	color: var(--accent-color);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.plds-legal__contact{
	padding: 20px;
	background: var(--bg-color);
	border-radius: 14px;
}

.plds-legal__contact h2{
	border: 0;
	padding: 0;
}

.plds-legal__contact h2 .ph{
	font-size: 22px;
}

@media print{
	.plds-topbar, .plds-header, .plds-crumbbar, .plds-legal__summary, .plds-legal__aside, .plds-legal__print,
	.main-footer-gold, .plds-dialog, .plds-toasts, .preloader{
		display: none !important;
	}

	.plds-legal__content section{
		break-inside: avoid;
	}
}

@media (prefers-reduced-motion: reduce){
	.plds-perk, .plds-perk__icon, .plds-feature__media img, .plds-timeline li, .plds-card, .plds-card__media img, .plds-mosaic img{
		transition: none;
	}
}

/* ===== ≥ 576px ===== */
@media (min-width: 576px){
	.plds-anchors{
		margin-inline: 0;
		padding-inline: 0;
		flex-wrap: wrap;
		justify-content: center;
	}

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

	.plds-mosaic{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.plds-mosaic figure:first-child{
		grid-column: 1 / span 2;
		grid-row: 1 / span 2;
		aspect-ratio: auto;
	}
}

/* ===== ≥ 768px ===== */
@media (min-width: 768px){
	.plds-block{
		padding: 64px 0;
	}

	.plds-block .section-title h2{
		font-size: 36px;
	}

	.plds-feature{
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 36px;
	}

	.plds-feature:nth-child(even) .plds-feature__media{
		order: 2;
	}

	.plds-feature--intro .plds-feature__media{
		order: 0;
	}

	.plds-feature__body h2,
	.plds-feature__body h3{
		font-size: 30px;
	}

	.plds-features{
		gap: 64px;
	}

	.plds-stats{
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-top: 40px;
	}

	.plds-stat strong{
		font-size: 28px;
	}

	.plds-timeline{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.plds-split{
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 40px;
		align-items: start;
	}

	.plds-split .plds-timeline{
		grid-template-columns: 1fr;
	}

	.plds-legal__head h1{
		font-size: 40px;
	}

	.plds-legal__layout{
		gap: 32px;
	}
}

/* ===== ≥ 992px ===== */
@media (min-width: 992px){
	.plds-perks{
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 20px;
	}

	.plds-perk{
		padding: 22px;
		gap: 14px;
	}

	.plds-perk__icon{
		width: 56px;
		height: 56px;
	}

	.plds-perk h3{
		font-size: 18px;
	}

	.plds-feature{
		gap: 56px;
	}

	.plds-timeline li{
		padding: 20px;
	}

	.plds-cards{
		gap: 24px;
	}

	.plds-card__body{
		padding: 22px;
	}

	.plds-mosaic{
		gap: 14px;
	}

	.plds-legal{
		padding: 40px 0 100px;
	}

	.plds-legal__layout{
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 48px;
		align-items: start;
	}

	.plds-legal__aside{
		position: sticky;
		top: calc(var(--plds-header-h) + 20px);
	}

	.plds-legal__toc summary{
		pointer-events: none;
	}

	.plds-legal__toc .plds-caret{
		display: none;
	}

	.plds-legal__toc ol{
		max-height: calc(100vh - var(--plds-header-h) - 120px);
		overflow-y: auto;
		scrollbar-width: thin;
	}

	.plds-legal__content{
		gap: 36px;
	}

	.plds-legal__content h2{
		font-size: 24px;
	}

	.plds-split{
		grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
		gap: 56px;
	}
}

/* ===== ≥ 1200px ===== */
@media (min-width: 1200px){
	.plds-cards{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.plds-legal__summary .plds-perks{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ===== Coordonnées enrichies & réseaux sociaux ===== */

/* Valeurs multiples dans le bloc Contact du footer (numéros commerciaux, e-mails) */
.footer-contact-box-gold .plds-contact-list{
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	font-weight: 400;
	text-align: right;
}

/* Fiche produit — ligne « Commercial » du panneau d'aide */
.plds-pdp__contacts-multi{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font-weight: 500;
	color: var(--white-color);
}

.plds-pdp__contacts-multi > span{
	line-height: 1.5;
}

.plds-pdp__contacts-multi a{
	display: inline;
	min-height: 0;
}

/* Fiche produit — suivi réseaux sociaux (dans .plds-summary) */
.plds-pdp__social{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;
	padding-top: 16px;
	border-top: 1px solid var(--dark-divider-color);
}

.plds-pdp__social > span{
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.75;
}

.plds-pdp__social ul{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.plds-pdp__social a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	font-size: 20px;
	color: var(--white-color);
	border: 1px solid var(--dark-divider-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.plds-pdp__social a:hover{
	color: var(--primary-color);
	background: var(--accent-color);
	border-color: var(--accent-color);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce){
	.plds-pdp__social a{
		transition: none;
	}
}

/* ===== Page « Notre histoire » : frise chronologique & citation ===== */

/* Jalons datés (variante de .plds-timeline : puce d'année + filet accentué) */
.plds-years{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.plds-years li{
	position: relative;
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 18px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.plds-years li::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: var(--accent-color);
}

.plds-years li:hover{
	border-color: transparent;
	box-shadow: 0 24px 50px -30px rgba(8, 37, 77, 0.45);
	transform: translateY(-3px);
}

.plds-years__date{
	justify-self: start;
	padding: 6px 12px;
	font: 600 13px/1 var(--accent-font);
	color: var(--primary-color);
	background: var(--bg-color);
	border-radius: 100px;
}

.plds-years h3{
	margin: 0 0 4px;
	font-size: 17px;
	line-height: 1.3em;
	color: var(--primary-color);
}

.plds-years p{
	margin: 0;
	font-size: 14px;
	line-height: 1.55em;
}

/* Bandeau citation (mot de la direction) */
.plds-quoteband{
	display: grid;
	gap: 12px;
	justify-items: center;
	margin: 0;
	padding: 40px 24px;
	text-align: center;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 14px;
}

.plds-quoteband blockquote{
	max-width: 720px;
	margin: 0;
	font-family: var(--accent-font);
	font-size: clamp(20px, 4.5vw, 30px);
	font-weight: 600;
	line-height: 1.3em;
	text-wrap: balance;
}

.plds-quoteband figcaption{
	font-size: 15px;
	opacity: 0.85;
}

@media (prefers-reduced-motion: reduce){
	.plds-years li{
		transition: none;
	}
}
