/* =========================================================
   Boutique PcLanD GP — en-tête, méga-menu, colonne des catégories et pied de page
   Le reste du site garde le CSS actuel (mc/assets/css/pcland-base.min.css + assets/css/pcland.min.css).
   Bandeau « 5 € offerts » + fidélité : assets/css/bandeau-nl.css ; page de commande : assets/css/commande.css.
   ========================================================= */

/* ---------- 1. Police et variables ---------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(../fonts/inter-latin-wght-normal.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--pcl-police: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
	--pcl-marine: #14275a;
	--pcl-marine-fonce: #0e1d45;
	--pcl-bleu: #1f3a7d;
	--pcl-ambre: #ffb020;
	--pcl-ambre-fonce: #e0930a;
	--pcl-ciel: #eaf1fb;
	--pcl-ciel-vif: #5bb4f5;
	--pcl-fond: #f5f8fd;
	--pcl-gris: #5b6577;
	--pcl-trait: #d6e0ef;
	--pcl-clair-sur-marine: #c9d4ee;
	--pcl-rayon: 16px;
	--pcl-ombre: 0 1px 2px rgba(20, 39, 90, .06), 0 8px 24px rgba(20, 39, 90, .07);
}

.pcl-conteneur {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.pcl-icone {
	flex: 0 0 auto;
	display: inline-block;
	vertical-align: middle;
}

/* ---------- 2. En-têtes ---------- */

/* Barre des rayons */
.pcl-rayons {
	border-top: 1px solid #e3e9f2;
	background: #ffffff;
}

.pcl-rayons .container::before,
.pcl-rayons .container::after {
	display: none;
}

/* Logo du pied de page quand l'image du logo blanc n'est pas présente */
.pcl-pied .pcl-logo {
	display: inline-block;
	text-decoration: none;
}

.pcl-pied .pcl-logo__nom {
	color: #ffffff;
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}

.pcl-pied .pcl-logo__nom sup {
	color: #ffffff;
	font-size: 55%;
}

.pcl-pied .pcl-logo__devise {
	display: inline-block;
	margin: 12px 0 0;
	color: var(--pcl-clair-sur-marine);
	font-size: 13px;
	font-weight: 600;
}


/* ---------- 3. Pied de page ---------- */
.pcl-pied {
	font-family: var(--pcl-police);
	line-height: 1.6;
}

.pcl-pied a {
	text-decoration: none;
}

/* ---------- 6. Pied de page ---------- */

/* 6a. Engagements */
.pcl-pied__engagements {
	border-top: 1px solid var(--pcl-trait);
	background: #ffffff;
}

.pcl-pied__engagements-grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	padding-top: 28px;
	padding-bottom: 28px;
}

.pcl-engagement {
	display: flex;
	align-items: center;
	gap: 14px;
}

.pcl-engagement__icone {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--pcl-ciel);
	color: var(--pcl-bleu);
	display: flex;
	align-items: center;
	justify-content: center;
}

.pcl-engagement__texte {
	display: flex;
	flex-direction: column;
	line-height: 1.35;
}

.pcl-engagement__texte strong {
	color: var(--pcl-marine);
	font-size: 15px;
	font-weight: 800;
}

.pcl-engagement__texte span {
	color: var(--pcl-gris);
	font-size: 13px;
}

/* 6c. Pied de page principal */
.pcl-pied__principal {
	background: var(--pcl-marine);
	color: var(--pcl-clair-sur-marine);
	font-size: 14px;
}

.pcl-pied__grille {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr);
	gap: 40px;
	padding-top: 56px;
	padding-bottom: 40px;
}

.pcl-pied__marque {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.pcl-pied__marque p {
	margin: 4px 0 0;
	line-height: 1.7;
}

.pcl-pied__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}

.pcl-badge-avis {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	font-size: 13px;
}

.pcl-badge-avis {
	background: #ffffff;
	color: var(--pcl-marine);
}

.pcl-badge-avis .pcl-icone {
	color: var(--pcl-ambre);
	fill: var(--pcl-ambre);
}

.pcl-badge-avis strong {
	font-weight: 800;
}


.pcl-pied__titre {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 16px;
	color: var(--pcl-ambre);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	list-style: none;
	cursor: default;
}

.pcl-pied__titre::-webkit-details-marker {
	display: none;
}

.pcl-pied__titre .pcl-icone {
	display: none;
}

.pcl-pied__liens {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcl-pied__liens li {
	margin: 0;
}

.pcl-pied__liens a {
	color: var(--pcl-clair-sur-marine);
	text-decoration: none;
	transition: color .15s, padding .15s;
}

.pcl-pied__liens a:hover,
.pcl-pied__liens a:focus-visible {
	padding-left: 4px;
	color: #ffffff;
}

/* Contact */
.pcl-pied__contact {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pcl-pied__contact .pcl-pied__titre {
	margin-bottom: 2px;
}

.pcl-contact {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--pcl-clair-sur-marine);
	text-decoration: none;
}

.pcl-contact .pcl-icone {
	margin-top: 2px;
	color: var(--pcl-ambre);
}

.pcl-contact > span {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
}

.pcl-contact strong {
	color: #ffffff;
	font-weight: 700;
}

.pcl-contact small {
	color: #9fb0d6;
	font-size: 12.5px;
}

a.pcl-contact:hover strong {
	color: var(--pcl-ambre);
}

/* Moyens de paiement */
.pcl-pied__paiements {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 20px;
	padding-top: 22px;
	padding-bottom: 22px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

/* 1.1.27 : « Paiement sécurisé » devient un bouton vers la page /paiement-securise/ */
a.pcl-pied__paiements-titre {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px;
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}

a.pcl-pied__paiements-titre:hover,
a.pcl-pied__paiements-titre:focus-visible {
	border-color: var(--pcl-ambre);
	background: rgba(255, 176, 32, .12);
	color: #ffffff;
}

.pcl-pied__paiements-titre .pcl-icone {
	color: var(--pcl-ambre);
}

.pcl-pied__paiements-titre .pcl-icone--fleche {
	transition: transform .15s;
}

a.pcl-pied__paiements-titre:hover .pcl-icone--fleche {
	transform: translateX(3px);
}

.pcl-pied__paiements-liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcl-pied__paiements-liste li {
	margin: 0;
}

/* Logos de paiement : tous sur la même carte blanche (58 × 42), logo centré à l'intérieur */
.pcl-pied__paiement--logo {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 58px;
	height: 42px;
	padding: 5px 7px;
	border-radius: 7px;
	background: #ffffff;
	overflow: hidden;
}

.pcl-pied__paiement--logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Moyens sans logo dans la médiathèque : même carte blanche, nom en toutes lettres */
.pcl-pied__paiement--texte {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	min-width: 58px;
	height: 42px;
	padding: 0 10px;
	border-radius: 7px;
	background: #ffffff;
	color: #1d2433;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
}

/* Bas de page */
.pcl-pied__bas {
	margin-top: 8px;
	background: var(--pcl-marine-fonce);
	color: #9fb0d6;
	font-size: 13px;
}

.pcl-pied__bas-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 16px;
	padding-bottom: 16px;
}

.pcl-pied__bas-liens {
	display: flex;
	align-items: center;
	gap: 20px;
}

.pcl-lien-bouton {
	padding: 0;
	border: 0;
	background: none;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.pcl-lien-bouton:hover {
	background: none;
	color: var(--pcl-ambre);
}

.pcl-haut {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
}

.pcl-haut:hover {
	color: var(--pcl-ambre);
}

/* Logo blanc du site dans le pied de page */
.pcl-pied__logo {
	display: block;
	width: 240px;
	height: auto;
}


/* ---------- 4. Tablette et mobile ---------- */
@media (max-width: 1100px) {
	.pcl-pied__grille {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pcl-pied__marque {
		grid-column: 1 / -1;
	}

	.pcl-pied__engagements-grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pcl-conteneur {
		padding: 0 16px;
	}

	/* Pied de page mobile */
	.pcl-pied__engagements-grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.pcl-pied__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding-top: 32px;
		padding-bottom: 8px;
	}

	.pcl-pied__marque {
		padding-bottom: 24px;
	}

	/* Colonnes de liens repliables */
	.pcl-pied__col--liens {
		border-top: 1px solid rgba(255, 255, 255, .12);
	}

	.pcl-pied__col--liens .pcl-pied__titre {
		margin: 0;
		padding: 16px 0;
		cursor: pointer;
	}

	.pcl-pied__col--liens .pcl-pied__titre .pcl-icone {
		display: inline-block;
		transition: transform .2s;
	}

	.pcl-pied__col--liens[open] .pcl-pied__titre .pcl-icone {
		transform: rotate(180deg);
	}

	.pcl-pied__col--liens .pcl-pied__liens {
		padding-bottom: 18px;
	}

	.pcl-pied__liens a {
		display: inline-block;
		padding: 4px 0;
	}

	.pcl-pied__contact {
		padding: 22px 0 24px;
		border-top: 1px solid rgba(255, 255, 255, .12);
	}

	.pcl-pied__bas-inner {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 24px;
	}
}


/* ---------- 6. Recherche en direct : la liste des résultats passait SOUS le contenu de la page ----------
   (constaté aussi avec l'ancien thème sur le site de test). L'en-tête passe au-dessus du contenu. */
@media (min-width: 992px) {
	/* Au-dessus du contenu de la page : les étiquettes des produits (« -20 % », « Livraison par mail »…, z-index 100)
	   passaient par-dessus le méga-menu ouvert. */
	body #page > header {
		position: relative;
		z-index: 1000;
	}
}

@media (min-width: 992px) {
	body header .mc-search-bar .input-group {
		overflow: visible !important;
	}

	body header .mc-search-bar .twitter-typeahead {
		position: relative;
	}

	body header .mc-search-bar .tt-menu {
		top: calc(100% + 12px) !important;
		left: -2px !important;
		min-width: 460px;
		max-height: 70vh;
		padding: 8px;
		overflow-y: auto;
		border: 1px solid #e3e9f2;
		border-radius: 14px;
		background: #ffffff;
		box-shadow: 0 20px 44px rgba(20, 39, 90, .18);
		text-align: left;
	}

	body header .mc-search-bar .tt-suggestion {
		padding: 10px 12px;
		border-radius: 10px;
		color: var(--pcl-marine);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.35;
		cursor: pointer;
	}

	body header .mc-search-bar .tt-suggestion p {
		margin: 0;
	}

	body header .mc-search-bar .tt-suggestion a {
		display: flex;
		align-items: center;
		gap: 12px;
		color: inherit;
		text-decoration: none;
	}

	body header .mc-search-bar .tt-suggestion img {
		flex: 0 0 44px;
		width: 44px;
		height: 44px;
		margin: 0;
		border-radius: 8px;
		object-fit: contain;
	}

	body header .mc-search-bar .tt-suggestion:hover,
	body header .mc-search-bar .tt-suggestion.tt-cursor {
		background: var(--pcl-ciel);
	}

	body header .mc-search-bar .empty-message {
		padding: 14px 12px;
		color: var(--pcl-gris);
		font-size: 14px;
	}
}

a.pcl-badge-avis:hover,
a.pcl-badge-avis:focus-visible {
	text-decoration: none;
	box-shadow: 0 0 0 3px var(--pcl-ambre);
}

.pcl-badge-avis-officiel {
	display: inline-block;
	max-width: 100%;
}

/* Méga-menu du site actuel (#top-megamenu-nav) dans les en-têtes 2, 3 et 4 */
body.pcl-entete-combine header.header-alt #top-megamenu-nav {
	background: linear-gradient(180deg, #172f6b 0%, var(--pcl-marine) 100%) !important;
	box-shadow: 0 10px 26px rgba(20, 39, 90, .18);
}

body.pcl-entete-combine header.header-alt #top-megamenu-nav .navbar-nav {
	justify-content: flex-start;
}

body.pcl-entete-combine header.header-alt #top-megamenu-nav .navbar-nav > li:first-child > a {
	padding-left: 0 !important;
}

body.pcl-entete-combine header.header-alt #top-megamenu-nav .navbar-nav > li:first-child > a::after {
	left: 0;
}

body.pcl-entete-combine header.header-alt #top-megamenu-nav .navbar-nav > li > a:hover {
	color: var(--pcl-ambre) !important;
}


/* ---------- 7. Boutons flottants : « Besoin d'aide » et « haut de page » ----------
   Ordinateur : un petit groupe en bas à droite.
   - « Besoin d'aide » : pastille bleu marine, icône casque sur rond ambre, « Guides et contact » en dessous ;
     elle se replie en rond quand on fait défiler (moins de place sur le contenu) et se déplie au survol.
   - « Haut de page » : rond blanc juste sous le menu (en haut à droite), flèche bleu marine, anneau bleu ciel qui montre
     l'avancée dans la page ;
     il n'apparaît qu'après avoir défilé (géré par le script du site), absent du panier et de la commande.
   Mobile : « Besoin d'aide » reste un rond au-dessus de la barre d'onglets ; pas de bouton « haut de page ». */
html body .floating-help-button.pcl-aide {
	position: fixed;
	top: auto;
	right: 24px;
	bottom: 24px;
	z-index: 998;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 260px;
	height: 56px;
	padding: 0 20px 0 7px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: linear-gradient(135deg, #1f3a7d 0%, var(--pcl-marine) 100%);
	box-shadow: 0 12px 28px rgba(20, 39, 90, .32), 0 2px 6px rgba(20, 39, 90, .2);
	color: #ffffff;
	font-family: var(--pcl-police);
	font-size: 15px;
	line-height: 1.15;
	text-decoration: none;
	white-space: nowrap;
	transform: none;
	transition: max-width .3s ease, padding .3s ease, box-shadow .2s ease, transform .2s ease;
}

html body .floating-help-button.pcl-aide::before,
html body .floating-help-button.pcl-aide::after {
	content: none !important;
	display: none !important;
}

.pcl-aide__icone {
	flex: 0 0 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--pcl-ambre);
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12);
	color: var(--pcl-marine);
}

.pcl-aide__texte {
	display: flex;
	flex-direction: column;
	gap: 2px;
	opacity: 1;
	transition: opacity .2s ease;
}

.pcl-aide__texte strong {
	font-size: 15px;
	font-weight: 800;
}

.pcl-aide__texte small {
	color: var(--pcl-clair-sur-marine);
	font-size: 12px;
	font-weight: 500;
}

html body .floating-help-button.pcl-aide:hover,
html body .floating-help-button.pcl-aide:focus-visible {
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 16px 34px rgba(20, 39, 90, .38), 0 0 0 3px rgba(255, 176, 32, .55);
	transform: translateY(-2px);
}

html body .floating-help-button.pcl-aide:hover .pcl-aide__icone {
	animation: pcl-aide-tilt .5s ease;
}

@keyframes pcl-aide-tilt {
	30% { transform: rotate(-12deg); }
	60% { transform: rotate(9deg); }
}

/* Replié en rond après défilement, se déplie au survol */
html body .floating-help-button.pcl-aide.pcl-aide--reduit:not(:hover):not(:focus-visible) {
	max-width: 56px;
	padding: 0 0 0 6px;
}

html body .floating-help-button.pcl-aide.pcl-aide--reduit:not(:hover):not(:focus-visible) .pcl-aide__texte {
	opacity: 0;
}

/* « Haut de page » (ordinateur) : l'onglet du site actuel, accroché sous le menu resté en haut de l'écran */
@media (min-width: 769px) {
	html body #scrollUp {
		top: var(--pcl-haut-colonne, 55px) !important;
		right: 120px !important;
		bottom: auto !important;
		width: 75px !important;
		height: 65px !important;
		border-radius: 0 0 90px 90px !important;
		background: #0a3782 !important;
		color: #ffffff !important;
		font-size: 45px !important;
		line-height: 50px !important;
		text-align: center;
		z-index: 998 !important;
		transition: background-color .2s ease;
	}

	html body #scrollUp i {
		top: 0 !important;
		color: #ffffff;
		line-height: inherit !important;
	}

	html body #scrollUp:hover,
	html body #scrollUp:focus-visible {
		background: var(--pcl-bleu, #1d4fa8) !important;
	}

	html body.woocommerce-cart #scrollUp,
	html body.woocommerce-cart #scrollUp[style],
	html body.woocommerce-checkout #scrollUp,
	html body.woocommerce-checkout #scrollUp[style] {
		display: none !important;
	}
}

@keyframes pcl-haut-entree {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}

/* Mobile : « Besoin d'aide » en rond au-dessus de la barre d'onglets (même place qu'aujourd'hui) */
@media (max-width: 768px) {
	html body .floating-help-button.pcl-aide {
		right: 12px !important;
		bottom: calc(var(--m-tab-h, 64px) + var(--m-safe, 0px) + 12px) !important;
		max-width: 52px;
		width: 52px;
		height: 52px;
		padding: 0 !important;
		justify-content: center;
		border-radius: 50% !important;
	}

	html body .floating-help-button.pcl-aide .pcl-aide__texte {
		display: none;
	}

	html body .floating-help-button.pcl-aide .pcl-aide__icone {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	html.pcl-buybar-on body .floating-help-button.pcl-aide {
		transform: translateY(-78px);
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .floating-help-button.pcl-aide,
	html body #scrollUp {
		transition: none;
		animation: none !important;
	}
}

/* ---------- 8. Barre de progression de lecture (articles du blog) ---------- */
.pcl-lecture {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	height: 4px;
	background: rgba(20, 39, 90, .12);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}

body.admin-bar .pcl-lecture {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .pcl-lecture {
		top: 46px;
	}
}

.pcl-lecture--visible {
	opacity: 1;
}

.pcl-lecture__barre {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0 3px 3px 0;
	background: linear-gradient(90deg, var(--pcl-ambre-fonce) 0%, var(--pcl-ambre) 100%);
	box-shadow: 0 0 10px rgba(255, 176, 32, .6);
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}

@media (max-width: 991px) {
	.pcl-lecture {
		height: 3px;
	}
}

/* ---------- 9. Pages catégorie produit : colonne de gauche (catégories, marques, guides) ---------- */
.pcl-cat {
	font-family: var(--pcl-police);
}

.pcl-cat--guide {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.pcl-cat__colonne {
	min-width: 0;
}

.pcl-cat__repli > summary {
	display: none;
}

.pcl-cat__colonne-interieur {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pcl-cat__bloc {
	padding: 16px 16px 14px;
	border: 1px solid #e3e9f2;
	border-radius: 14px;
	background: #ffffff;
}

.pcl-cat__titre {
	margin: 0 0 10px;
	color: var(--pcl-marine);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pcl-cat__retour {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--pcl-gris);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.pcl-cat__retour:hover {
	color: var(--pcl-bleu);
}

.pcl-cat__liste,
.pcl-cat__guides,
.pcl-cat__ventes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcl-cat__liste li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	border-radius: 8px;
}

.pcl-cat__liste li > a,
.pcl-cat__liste li > span {
	flex: 1 1 auto;
	padding: 7px 8px;
	color: #1d2433;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.pcl-cat__liste li small {
	flex: 0 0 auto;
	min-width: 26px;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--pcl-ciel);
	color: var(--pcl-bleu);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.pcl-cat__liste li:hover {
	background: var(--pcl-fond);
}

.pcl-cat__liste li > a:hover {
	color: var(--pcl-bleu);
}

.pcl-cat__liste li.pcl-cat__actif {
	background: var(--pcl-ciel);
}

.pcl-cat__liste li.pcl-cat__actif > span {
	color: var(--pcl-marine);
	font-weight: 800;
}

.pcl-cat__liste li.pcl-cat__actif {
	box-shadow: inset 3px 0 0 var(--pcl-bleu);
}

.pcl-cat__guides li + li {
	border-top: 1px solid #edf1f7;
}

.pcl-cat__guides a {
	display: block;
	padding: 9px 0 9px 22px;
	position: relative;
	color: var(--pcl-bleu);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

.pcl-cat__guides a::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 13px;
	width: 12px;
	height: 12px;
	border-radius: 3px;
	background: var(--pcl-ciel);
	box-shadow: inset 0 0 0 2px var(--pcl-ciel-vif);
}

.pcl-cat__guides a:hover {
	text-decoration: underline;
}

.pcl-cat__bloc--confiance {
	background: linear-gradient(160deg, #1f3a7d 0%, var(--pcl-marine) 100%);
	border: 0;
	color: #ffffff;
}

.pcl-cat__bloc--confiance ul {
	display: grid;
	gap: 9px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.pcl-cat__bloc--confiance li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 14px;
	font-weight: 600;
}

.pcl-cat__bloc--confiance .pcl-icone {
	color: var(--pcl-ambre);
}

.pcl-cat__aide {
	display: block;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.pcl-cat__aide:hover {
	background: rgba(255, 255, 255, .18);
	color: #ffffff;
}

/* B : meilleures ventes */
.pcl-cat__ventes li + li {
	margin-top: 8px;
}

.pcl-cat__ventes a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px;
	border-radius: 10px;
	text-decoration: none;
}

.pcl-cat__ventes a:hover {
	background: var(--pcl-fond);
}

.pcl-cat__ventes img {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	object-fit: contain;
	background: #f6f8fc;
}

.pcl-cat__ventes span {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.pcl-cat__ventes strong {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	color: #1d2433;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.pcl-cat__ventes em {
	color: var(--pcl-marine);
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
}

.pcl-cat__ventes em del {
	color: var(--pcl-gris);
	font-size: 12px;
	font-weight: 500;
}

/* Tablette et mobile : colonne repliable au-dessus des produits */
@media (max-width: 991px) {
	.pcl-cat--guide {
		display: block;
	}

	.pcl-cat__colonne {
		margin: 0 0 14px;
	}

	.pcl-cat__repli {
		border: 1px solid #d6e0ef;
		border-radius: 14px;
		background: #ffffff;
	}

	.pcl-cat__repli > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 16px;
		color: var(--pcl-marine);
		font-size: 15px;
		font-weight: 800;
		cursor: pointer;
		list-style: none;
	}

	.pcl-cat__repli > summary::-webkit-details-marker {
		display: none;
	}

	.pcl-cat__repli > summary::after {
		content: "";
		width: 8px;
		height: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform .2s;
	}

	.pcl-cat__repli[open] > summary::after {
		transform: rotate(225deg);
	}

	.pcl-cat__colonne-interieur {
		padding: 0 12px 12px;
	}
}

.pcl-cat__ventes em .woocommerce-Price-amount,
.pcl-cat__ventes em bdi {
	white-space: nowrap;
}

/* Sur ordinateur : la zone des produits garde sa largeur actuelle (1 170 px) et la colonne
   se place à gauche, dans la marge grise ; la page s'élargit d'autant. */
@media (min-width: 1200px) {
	body.pcl-categorie-guide #content.site-content.container {
		width: auto;
		max-width: 1530px;
		padding-left: 36px;
		padding-right: 36px;
	}

	body.pcl-categorie-guide .pcl-cat {
		grid-template-columns: 290px minmax(0, 1fr);
		gap: 30px;
	}

	body.pcl-categorie-guide .pcl-cat__principal > #primary {
		width: auto;
		float: none;
		margin-top: 0 !important;
	}

	body.pcl-categorie-guide .pcl-cat {
		margin-top: 54px;
	}
}

/* Badge latéral de la Société des Avis Garantis (collé au bord gauche) : sur les écrans où la colonne
   arrive jusqu'au bord, il descend en bas à gauche, plus petit, pour ne pas la recouvrir. */
@media (min-width: 992px) and (max-width: 1699px) {
	body.pcl-categorie-guide #agWidgetSide,
	body.pcl-categorie-guide [id^="agWidgetSide"] {
		top: auto !important;
		bottom: 90px !important;
		transform: scale(.7) !important;
		transform-origin: left bottom !important;
	}
}

/* Colonne de gauche : elle suit le défilement (sous la barre des rayons restée en haut) ; si elle est plus haute
   que l'écran, elle défile à l'intérieur. */
@media (min-width: 992px) {
	.pcl-cat--guide .pcl-cat__colonne {
		position: sticky;
		top: calc(var(--pcl-haut-colonne, 0px) + 16px);
		max-height: calc(100vh - var(--pcl-haut-colonne, 0px) - 32px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: #c7d3e6 transparent;
		transition: top .2s ease;
	}

	.pcl-cat--guide .pcl-cat__colonne::-webkit-scrollbar {
		width: 6px;
	}

	.pcl-cat--guide .pcl-cat__colonne::-webkit-scrollbar-thumb {
		border-radius: 6px;
		background: #c7d3e6;
	}
}

/* ---------- 10. Barre des rayons et méga-menu en vignettes ---------- */
#top-megamenu-nav.pcl-menu {
	position: relative;
	font-family: var(--pcl-police);
}

.pcl-menu__conteneur.container {
	display: flex;
	align-items: stretch;
	gap: 6px;
}

.pcl-menu__conteneur.container::before,
.pcl-menu__conteneur.container::after {
	display: none;
}

.pcl-menu__barre {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcl-menu__item {
	position: static;
	margin: 0;
}

.pcl-menu .pcl-menu__lien {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 15px 16px;
	color: rgba(255, 255, 255, .94);
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
}

.pcl-menu__barre > li:first-child > .pcl-menu__lien {
	padding-left: 0;
}

.pcl-menu .pcl-menu__lien .pcl-icone {
	opacity: .7;
	transition: transform .2s ease;
}

.pcl-menu .pcl-menu__lien::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 8px;
	height: 3px;
	border-radius: 3px;
	background: var(--pcl-ambre);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .2s ease;
}

.pcl-menu__barre > li:first-child > .pcl-menu__lien::after {
	left: 0;
}

.pcl-menu .pcl-menu__item:hover > .pcl-menu__lien,
.pcl-menu .pcl-menu__item.est-ouvert > .pcl-menu__lien,
.pcl-menu .pcl-menu__item.est-courant > .pcl-menu__lien {
	color: #ffffff;
}

.pcl-menu .pcl-menu__item:hover > .pcl-menu__lien::after,
.pcl-menu .pcl-menu__item.est-ouvert > .pcl-menu__lien::after,
.pcl-menu .pcl-menu__item.est-courant > .pcl-menu__lien::after {
	transform: scaleX(1);
}

.pcl-menu .pcl-menu__item.est-ouvert > .pcl-menu__lien .pcl-icone {
	transform: rotate(180deg);
}

/* Panneau pleine largeur */
.pcl-menu__panneau {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 90;
	border-top: 3px solid var(--pcl-ambre);
	background: #ffffff;
	box-shadow: 0 24px 48px rgba(20, 39, 90, .18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}

.pcl-menu__item.est-ouvert > .pcl-menu__panneau {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.pcl-menu__titre {
	margin: 0 0 12px;
	color: var(--pcl-gris);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.pcl-menu__tout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 10px;
	background: var(--pcl-ciel);
	color: var(--pcl-marine);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.pcl-menu__tout:hover {
	background: var(--pcl-marine);
	color: #ffffff;
}

.pcl-menu__tuile-produit span {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.pcl-menu__tuile-produit strong {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	color: #1d2433;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.pcl-menu__tuile-produit em,
.pcl-menu__vedette em {
	color: var(--pcl-marine);
	font-size: 14px;
	font-style: normal;
	font-weight: 800;
	white-space: nowrap;
}

.pcl-menu__tuile-produit em del,
.pcl-menu__vedette em del {
	color: var(--pcl-gris);
	font-size: 12px;
	font-weight: 500;
}

/* B : vignettes */
.pcl-menu__grille--visuel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	gap: 32px;
	padding: 26px 0 28px;
}

.pcl-menu__tuiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.pcl-menu__tuiles a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 12px;
	border: 1px solid #e3e9f2;
	border-radius: 12px;
	background: #ffffff;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}

.pcl-menu__tuiles a:hover {
	border-color: var(--pcl-bleu);
	box-shadow: 0 10px 22px rgba(20, 39, 90, .1);
	transform: translateY(-1px);
}

.pcl-menu__tuiles img,
.pcl-menu__vignette-vide {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 10px;
	background: var(--pcl-ciel);
	object-fit: contain;
}

.pcl-menu__vignette-vide {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pcl-bleu);
	font-size: 22px;
	font-weight: 800;
}

.pcl-menu__tuiles span {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.pcl-menu__tuiles strong {
	color: var(--pcl-marine);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}

.pcl-menu__tuiles small {
	color: var(--pcl-gris);
	font-size: 12px;
	font-weight: 600;
}

.pcl-menu__vedette {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px;
	border-radius: 16px;
	background: linear-gradient(160deg, var(--pcl-ciel) 0%, #ffffff 70%);
	box-shadow: inset 0 0 0 1px #d6e0ef;
	text-decoration: none;
}

.pcl-menu__vedette img {
	width: 100%;
	height: 140px;
	margin-bottom: 4px;
	object-fit: contain;
}

.pcl-menu__vedette strong {
	color: var(--pcl-marine);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
}

.pcl-menu__vedette-etiquette {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--pcl-ambre);
	color: var(--pcl-marine);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.pcl-menu__vedette-bouton {
	margin-top: 6px;
	padding: 10px;
	border-radius: 10px;
	background: var(--pcl-marine);
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
}

.pcl-menu__vedette:hover .pcl-menu__vedette-bouton {
	background: var(--pcl-bleu);
}

/* C : « Tous les rayons » */

@media (max-width: 1199px) {
	.pcl-menu .pcl-menu__lien {
		padding-left: 11px;
		padding-right: 11px;
		font-size: 14px;
	}

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

#top-megamenu-nav.pcl-menu .pcl-menu__panneau {
	text-align: left;
}

.pcl-menu em .woocommerce-Price-amount,
.pcl-menu em bdi,
.pcl-menu em ins,
.pcl-menu em del,
.pcl-cat__ventes em .woocommerce-Price-amount {
	display: inline !important;
	white-space: nowrap;
}

.pcl-menu em ins {
	text-decoration: none;
}

.pcl-menu em *,
.pcl-cat__ventes em * {
	display: inline !important;
	white-space: nowrap;
}

/* Méga-menu : groupes de liens repris des blocs statiques */

.pcl-menu__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pcl-menu__bouton-bloc {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border: 1px solid #d6e0ef;
	border-radius: 10px;
	color: var(--pcl-bleu);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.pcl-menu__bouton-bloc:hover {
	border-color: var(--pcl-bleu);
	background: var(--pcl-ciel);
}

.pcl-menu__grille--visuel .pcl-menu__titre {
	margin-top: 4px;
	color: var(--pcl-marine);
	font-size: 13px;
}

.pcl-menu__grille--visuel .pcl-menu__tuiles {
	margin-bottom: 14px;
}

/* B : vignettes plus compactes (les rayons avec beaucoup de liens restent lisibles d'un coup d'œil) */
.pcl-menu__grille--visuel {
	align-items: start;
}

/* 1.1.24 : pas de « N° 1 des ventes » (aucun produit assez vendu) → les vignettes prennent toute la largeur */
.pcl-menu__grille--visuel.pcl-menu__grille--sans-vedette {
	grid-template-columns: minmax(0, 1fr);
}

.pcl-menu__grille--visuel .pcl-menu__tuiles {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.pcl-menu__grille--visuel .pcl-menu__tuiles a {
	gap: 10px;
	padding: 8px 10px;
	border-radius: 10px;
}

.pcl-menu__grille--visuel .pcl-menu__tuiles img,
.pcl-menu__grille--visuel .pcl-menu__vignette-vide {
	flex-basis: 40px;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	font-size: 17px;
}

.pcl-menu__grille--visuel .pcl-menu__tuiles strong {
	font-size: 13px;
}

.pcl-menu__grille--visuel .pcl-menu__tuiles small {
	font-size: 11px;
}

.pcl-menu__vedette {
	align-self: start;
}

/* Carte « N° 1 des ventes » : un prix long (abonnement, frais) passe à la ligne au lieu de déborder. */
.pcl-menu__vedette {
	min-width: 0;
	overflow: hidden;
}

.pcl-menu__vedette strong,
.pcl-menu__vedette em,
.pcl-menu__vedette em * {
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

.pcl-menu__vedette em {
	display: block;
	line-height: 1.35;
}

/* Aucun défilement horizontal : le bandeau défilant du haut et le panier latéral (fermé, hors écran)
   dépassent volontairement à droite ; « clip » les coupe sans créer de zone de défilement (le menu collant
   continue de fonctionner). */
html,
body {
	overflow-x: clip;
}

/* Pied de page : colonne « La société » (adresse, SIRET, TVA, avis certifiés) */
.pcl-pied__adresse {
	margin: 0 0 14px;
	font-style: normal;
	line-height: 1.6;
	color: inherit;
}

.pcl-pied__adresse strong {
	color: #ffffff;
}

.pcl-pied__legal li {
	color: inherit;
}

.pcl-pied__legal a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pcl-pied__legal .pcl-pied__service {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.pcl-pied__legal .pcl-pied__service a {
	color: var(--pcl-ambre);
	font-weight: 700;
}

/* ==========================================================================
   Page « À propos » (contenu de la page : classes pcl-apropos)
   ========================================================================== */

.pcl-apropos {
	max-width: 1080px;
	margin: 24px auto 40px;
	font-family: var(--pcl-police);
	color: #1d2433;
	font-size: 16px;
	line-height: 1.65;
}

.pcl-apropos p {
	margin: 0 0 12px;
}

.pcl-apropos h1,
.pcl-apropos h2,
.pcl-apropos h3 {
	font-family: var(--pcl-police);
	color: var(--pcl-marine);
	text-transform: none;
	letter-spacing: 0;
}

.pcl-apropos__intro {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
	padding: 36px 40px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--pcl-marine-fonce), var(--pcl-bleu));
	color: #ffffff;
}

.pcl-apropos__surtitre {
	display: inline-block;
	margin: 0 0 14px !important;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 176, 32, .16);
	color: var(--pcl-ambre);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pcl-apropos .pcl-apropos__intro h1 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 800;
}

.pcl-apropos__chapo {
	margin: 0 !important;
	color: var(--pcl-clair-sur-marine);
	font-size: 17px;
}

.pcl-apropos__chapo strong {
	color: #ffffff;
}

.pcl-apropos__portrait {
	margin: 0;
	text-align: center;
}

.pcl-apropos__portrait img {
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto 10px;
	border: 4px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.pcl-apropos__portrait figcaption strong,
.pcl-apropos__portrait figcaption span {
	display: block;
}

.pcl-apropos__portrait figcaption strong {
	color: #ffffff;
	font-size: 16px;
}

.pcl-apropos__portrait figcaption span {
	color: var(--pcl-clair-sur-marine);
	font-size: 13.5px;
}

.pcl-apropos__chiffres {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.pcl-apropos__chiffres li {
	margin: 0;
	padding: 18px 16px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
	text-align: center;
}

.pcl-apropos__chiffres strong {
	display: block;
	color: var(--pcl-marine);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
}

.pcl-apropos__chiffres span {
	color: var(--pcl-gris);
	font-size: 13.5px;
}

.pcl-apropos__bloc {
	margin: 18px 0 0;
	padding: 28px 32px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
}

.pcl-apropos .pcl-apropos__bloc h2,
.pcl-apropos .pcl-apropos__contact h2 {
	margin: 0 0 12px;
	font-size: 23px;
	font-weight: 800;
	line-height: 1.3;
}

.pcl-apropos__bloc > p:last-child {
	margin-bottom: 0;
}

.pcl-apropos__cartes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.pcl-apropos__cartes li {
	margin: 0;
	padding: 18px 20px;
	border-left: 4px solid var(--pcl-ambre);
	border-radius: 12px;
	background: var(--pcl-fond);
}

.pcl-apropos .pcl-apropos__cartes h3 {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
}

.pcl-apropos__cartes p {
	margin: 0 !important;
	color: #3a4252;
	font-size: 15px;
}

.pcl-apropos__rayons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

.pcl-apropos__rayons li {
	margin: 0;
}

.pcl-apropos__rayons a {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--pcl-trait);
	border-radius: 999px;
	background: var(--pcl-ciel);
	color: var(--pcl-marine);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s, border-color .2s;
}

.pcl-apropos__rayons a:hover,
.pcl-apropos__rayons a:focus-visible {
	border-color: var(--pcl-bleu);
	background: #ffffff;
	color: var(--pcl-bleu);
}

.pcl-apropos__bloc--note {
	border-color: #f0d9a6;
	background: #fffaf0;
}

.pcl-apropos__avis {
	margin-top: 8px;
}

/* Le moteur du site enveloppe chaque iframe dans un cadre 16/9 (embed-responsive) : pas pour le widget d'avis. */
.pcl-apropos__avis .embed-responsive {
	position: static !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
}

.pcl-apropos__avis .embed-responsive iframe,
.pcl-apropos__avis iframe {
	position: static !important;
	display: block;
	width: 100%;
	height: 221px !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	border: 0;
}

.pcl-apropos__contact {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 24px;
	align-items: center;
	margin: 18px 0 0;
	padding: 28px 32px;
	border-radius: var(--pcl-rayon);
	background: var(--pcl-marine);
	color: var(--pcl-clair-sur-marine);
}

.pcl-apropos .pcl-apropos__contact h2 {
	color: #ffffff;
}

.pcl-apropos__contact p {
	margin: 0 !important;
}

.pcl-apropos__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pcl-apropos__bouton {
	display: inline-block;
	padding: 12px 20px;
	border-radius: 12px;
	background: var(--pcl-ambre);
	color: var(--pcl-marine-fonce) !important;
	font-weight: 700;
	text-decoration: none;
}

.pcl-apropos__bouton:hover,
.pcl-apropos__bouton:focus-visible {
	background: var(--pcl-ambre-fonce);
}

.pcl-apropos__bouton--clair {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .5);
	color: #ffffff !important;
}

.pcl-apropos__bouton--clair:hover,
.pcl-apropos__bouton--clair:focus-visible {
	background: rgba(255, 255, 255, .1);
}

.pcl-apropos__liens {
	grid-column: 1 / -1;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, .15);
	font-size: 14px;
}

.pcl-apropos__liens a {
	color: #ffffff;
}

/* Le moteur du site impose couleur des paragraphes, graisse des titres et retrait des listes : on reprend la main ici. */
.entry-content .pcl-apropos p,
.entry-content .pcl-apropos li {
	color: #3a4252 !important;
}

.entry-content .pcl-apropos .pcl-apropos__chapo,
.entry-content .pcl-apropos .pcl-apropos__contact p,
.entry-content .pcl-apropos .pcl-apropos__portrait figcaption span {
	color: var(--pcl-clair-sur-marine) !important;
}

.entry-content .pcl-apropos .pcl-apropos__surtitre {
	color: var(--pcl-ambre) !important;
}

.entry-content .pcl-apropos .pcl-apropos__chapo strong,
.entry-content .pcl-apropos .pcl-apropos__contact h2,
.entry-content .pcl-apropos .pcl-apropos__intro h1,
.entry-content .pcl-apropos .pcl-apropos__liens a {
	color: #ffffff !important;
}

.entry-content .pcl-apropos h1,
.entry-content .pcl-apropos h2 {
	font-weight: 800 !important;
}

.entry-content .pcl-apropos h3 {
	font-weight: 700 !important;
}

.entry-content .pcl-apropos ul {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.entry-content .pcl-apropos .pcl-apropos__chiffres span {
	color: var(--pcl-gris) !important;
}

@media (max-width: 767px) {
	.pcl-apropos {
		margin: 12px auto 28px;
		font-size: 15.5px;
	}

	.pcl-apropos__intro {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 26px 20px;
		text-align: center;
	}

	.pcl-apropos .pcl-apropos__intro h1 {
		font-size: 26px;
	}

	.pcl-apropos__chapo {
		font-size: 16px;
	}

	.pcl-apropos__portrait {
		order: -1;
	}

	.pcl-apropos__portrait img {
		width: 120px;
		height: 120px;
	}

	.pcl-apropos__chiffres {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.pcl-apropos__chiffres strong {
		font-size: 19px;
	}

	.pcl-apropos__bloc,
	.pcl-apropos__contact {
		padding: 22px 18px;
	}

	.pcl-apropos .pcl-apropos__bloc h2,
	.pcl-apropos .pcl-apropos__contact h2 {
		font-size: 20px;
	}

	.pcl-apropos__cartes,
	.pcl-apropos__contact {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Page Blog (contenu : classes pcl-blogpage) + cartes d'articles [pcl_articles]
   ========================================================================== */

.pcl-blogpage {
	max-width: 1180px;
	margin: 24px auto 40px;
	font-family: var(--pcl-police);
	font-size: 16px;
	line-height: 1.65;
	color: #1d2433;
}

.entry-content .pcl-blogpage p,
.entry-content .pcl-blogpage li {
	color: #3a4252 !important;
}

.entry-content .pcl-blogpage h1,
.entry-content .pcl-blogpage h2,
.entry-content .pcl-blogpage h3 {
	font-family: var(--pcl-police);
	color: var(--pcl-marine) !important;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 800 !important;
}

.entry-content .pcl-blogpage ul {
	margin-left: 0 !important;
	padding-left: 0 !important;
	list-style: none;
}

.pcl-blogpage p {
	margin: 0 0 12px;
}

.pcl-blogpage__intro {
	padding: 40px 44px 34px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--pcl-marine-fonce), var(--pcl-bleu));
}

.entry-content .pcl-blogpage .pcl-blogpage__surtitre {
	display: inline-block;
	margin: 0 0 14px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 176, 32, .16);
	color: var(--pcl-ambre) !important;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.entry-content .pcl-blogpage .pcl-blogpage__intro h1 {
	max-width: 820px;
	margin: 0 0 12px;
	color: #ffffff !important;
	font-size: 36px;
	line-height: 1.2;
}

.entry-content .pcl-blogpage .pcl-blogpage__chapo {
	max-width: 760px;
	margin: 0 0 20px;
	color: var(--pcl-clair-sur-marine) !important;
	font-size: 17px;
}

.pcl-blogpage__sujets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pcl-blogpage__sujets li {
	margin: 0;
}

.pcl-blogpage__sujets a {
	display: inline-block;
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background .2s, border-color .2s;
}

.pcl-blogpage__sujets a:hover,
.pcl-blogpage__sujets a:focus-visible {
	border-color: var(--pcl-ambre);
	background: rgba(255, 176, 32, .18);
}

.pcl-blogpage__section {
	margin: 34px 0 0;
}

.pcl-blogpage__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 20px;
	margin: 0 0 16px;
}

.entry-content .pcl-blogpage .pcl-blogpage__entete h2 {
	margin: 0;
	font-size: 26px;
	line-height: 1.25;
}

.entry-content .pcl-blogpage .pcl-blogpage__entete p {
	margin: 0;
	color: var(--pcl-gris) !important;
	font-size: 15px;
}

/* L'ancienne page Blog avait un cadre blanc (div#post-18042) : plus utile avec la nouvelle mise en page. */
div#post-18042:has(.pcl-blogpage),
.type-page:has(> .pcl-blogpage) {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	border-radius: 0;
	background: none;
}

/* Cartes d'articles */
.pcl-articles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

/* Carte d'article de la page Blog. « article. » : la classe pcl-article est aussi posée sur <body> des articles
   (inc/pcland-articles.php) ; sans ce préfixe, le corps de page devenait une carte (overflow caché, déplacement au
   survol) et l'en-tête collant ne restait plus en haut (correctif 1.1.17). */
article.pcl-article {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
	transition: transform .2s, box-shadow .2s;
}

article.pcl-article:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(20, 39, 90, .06), 0 14px 32px rgba(20, 39, 90, .12);
}

.pcl-article__image {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--pcl-ciel);
}

.pcl-article__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pcl-article__sans-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	background: linear-gradient(135deg, var(--pcl-marine-fonce), var(--pcl-bleu));
	color: #ffffff;
	font-weight: 800;
	font-size: 18px;
}

.pcl-article__corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 18px 18px;
}

.entry-content .pcl-article__rubrique,
.pcl-article__rubrique {
	align-self: flex-start;
	margin: 0 0 8px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--pcl-ciel);
	color: var(--pcl-bleu) !important;
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none !important;
}

.entry-content .pcl-article .pcl-article__titre,
.pcl-article__titre {
	margin: 0 0 8px;
	font-size: 17.5px;
	line-height: 1.35;
	font-weight: 700 !important;
}

.pcl-article__titre a {
	color: var(--pcl-marine) !important;
	text-decoration: none !important;
}

.pcl-article__titre a:hover,
.pcl-article__titre a:focus-visible {
	color: var(--pcl-bleu) !important;
	text-decoration: underline !important;
}

.entry-content .pcl-article .pcl-article__extrait {
	margin: 0 0 12px;
	color: #3a4252 !important;
	font-size: 14.5px;
	line-height: 1.55;
}

.entry-content .pcl-article .pcl-article__infos {
	margin: auto 0 0;
	color: var(--pcl-gris) !important;
	font-size: 13px;
}

.pcl-articles--une .pcl-article--une {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.25fr 1fr;
}

.pcl-articles--une .pcl-article--une .pcl-article__image {
	aspect-ratio: auto;
	min-height: 300px;
}

.pcl-articles--une .pcl-article--une .pcl-article__corps {
	justify-content: center;
	padding: 28px 32px;
}

.entry-content .pcl-articles--une .pcl-article--une .pcl-article__titre {
	font-size: 25px;
	line-height: 1.25;
}

.entry-content .pcl-articles--une .pcl-article--une .pcl-article__extrait {
	font-size: 16px;
}

/* Rubriques */
.pcl-blogpage__rubriques {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.pcl-blogpage__rubriques li {
	margin: 0;
}

.pcl-blogpage__rubrique {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 20px 20px 18px;
	border: 1px solid var(--pcl-trait);
	border-top: 4px solid var(--pcl-couleur-rubrique, var(--pcl-bleu));
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
	text-decoration: none !important;
	transition: transform .2s, box-shadow .2s;
}

.pcl-blogpage__rubrique:hover,
.pcl-blogpage__rubrique:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(20, 39, 90, .06), 0 14px 32px rgba(20, 39, 90, .12);
}

.entry-content .pcl-blogpage .pcl-blogpage__rubrique h3 {
	margin: 0 0 6px;
	font-size: 18px;
	line-height: 1.3;
}

.entry-content .pcl-blogpage .pcl-blogpage__rubrique p {
	margin: 0 0 12px;
	font-size: 14.5px;
	line-height: 1.55;
}

.pcl-blogpage__rubrique h3 a {
	color: inherit !important;
	text-decoration: none !important;
}

/* Toute la carte est cliquable (lien du titre étendu). */
.pcl-blogpage__rubrique h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--pcl-rayon);
}

.pcl-blogpage__rubrique h3 a:focus-visible {
	outline: none;
}

.pcl-blogpage__rubrique:focus-within {
	outline: 2px solid var(--pcl-bleu);
	outline-offset: 2px;
}

.pcl-blogpage__rubrique span {
	margin-top: auto;
	color: var(--pcl-bleu);
	font-size: 14px;
	font-weight: 700;
}

/* Encarts */
.pcl-blogpage__encarts {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 14px;
	margin: 34px 0 0;
}

.pcl-blogpage__encart {
	padding: 24px 26px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
}

.pcl-blogpage__encart--vpn {
	border-color: transparent;
	background: linear-gradient(135deg, var(--pcl-marine-fonce), var(--pcl-bleu));
}

.entry-content .pcl-blogpage .pcl-blogpage__encart--vpn h2 {
	color: #ffffff !important;
}

.entry-content .pcl-blogpage .pcl-blogpage__encart--vpn p {
	color: var(--pcl-clair-sur-marine) !important;
}

.pcl-blogpage__encart--note {
	border-color: #f0d9a6;
	background: #fffaf0;
}

.entry-content .pcl-blogpage .pcl-blogpage__encart h2 {
	margin: 0 0 8px;
	font-size: 20px;
}

.pcl-blogpage__encart p:last-child {
	margin-bottom: 0;
}

.pcl-blogpage__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.pcl-blogpage__bouton {
	display: inline-block;
	padding: 11px 18px;
	border-radius: 12px;
	background: var(--pcl-ambre);
	color: var(--pcl-marine-fonce) !important;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none !important;
}

.pcl-blogpage__bouton:hover,
.pcl-blogpage__bouton:focus-visible {
	background: var(--pcl-ambre-fonce);
}

.pcl-blogpage__bouton--clair {
	border: 1px solid rgba(255, 255, 255, .5);
	background: transparent;
	color: #ffffff !important;
}

.pcl-blogpage__bouton--clair:hover,
.pcl-blogpage__bouton--clair:focus-visible {
	background: rgba(255, 255, 255, .1);
}

/* FAQ + texte */
.pcl-blogpage__bloc {
	margin: 34px 0 0;
	padding: 28px 32px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
}

.entry-content .pcl-blogpage .pcl-blogpage__bloc h2 {
	margin: 0 0 12px;
	font-size: 23px;
}

.pcl-blogpage__faq details {
	border-bottom: 1px solid var(--pcl-trait);
}

.pcl-blogpage__faq details:last-of-type {
	border-bottom: 0;
}

.pcl-blogpage__faq summary {
	position: relative;
	padding: 14px 32px 14px 0;
	color: var(--pcl-marine);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.pcl-blogpage__faq summary::-webkit-details-marker {
	display: none;
}

.pcl-blogpage__faq summary::after {
	content: "+";
	position: absolute;
	top: 10px;
	right: 4px;
	color: var(--pcl-bleu);
	font-size: 22px;
	font-weight: 400;
}

.pcl-blogpage__faq details[open] summary::after {
	content: "–";
}

.pcl-blogpage__faq details p {
	padding: 0 0 14px;
}

.pcl-blogpage__bloc a {
	color: var(--pcl-bleu);
	font-weight: 600;
}

@media (max-width: 1024px) {
	.pcl-articles,
	.pcl-blogpage__rubriques {
		grid-template-columns: repeat(2, 1fr);
	}

	.pcl-articles--une .pcl-article--une {
		grid-template-columns: 1fr;
	}

	.pcl-articles--une .pcl-article--une .pcl-article__image {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.pcl-blogpage {
		margin: 12px auto 28px;
		font-size: 15.5px;
	}

	.pcl-blogpage__intro {
		padding: 26px 20px 22px;
	}

	.entry-content .pcl-blogpage .pcl-blogpage__intro h1 {
		font-size: 26px;
	}

	.entry-content .pcl-blogpage .pcl-blogpage__chapo {
		font-size: 16px;
	}

	.pcl-blogpage__sujets {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-right: -20px;
		padding-right: 20px;
		scrollbar-width: none;
	}

	.pcl-blogpage__sujets a {
		white-space: nowrap;
	}

	.pcl-articles,
	.pcl-blogpage__rubriques,
	.pcl-blogpage__encarts {
		grid-template-columns: 1fr;
	}

	.pcl-articles--une .pcl-article--une .pcl-article__corps {
		padding: 18px;
	}

	.entry-content .pcl-articles--une .pcl-article--une .pcl-article__titre {
		font-size: 20px;
	}

	.entry-content .pcl-blogpage .pcl-blogpage__entete h2 {
		font-size: 22px;
	}

	.pcl-blogpage__bloc,
	.pcl-blogpage__encart {
		padding: 22px 18px;
	}
}

/* ==========================================================================
   Page « Contact » (contenu de la page : classes pcl-pagecontact) — 1.1.14
   ========================================================================== */

.pcl-pagecontact {
	max-width: 1080px;
	margin: 24px auto 40px;
	font-family: var(--pcl-police);
	color: #1d2433;
	font-size: 16px;
	line-height: 1.65;
}

.pcl-pagecontact p {
	margin: 0 0 12px;
}

.pcl-pagecontact h1,
.pcl-pagecontact h2,
.pcl-pagecontact h3 {
	font-family: var(--pcl-police);
	color: var(--pcl-marine);
	text-transform: none;
	letter-spacing: 0;
}

.pcl-pagecontact a {
	color: var(--pcl-bleu);
	font-weight: 600;
}

/* En-tête de page */
.pcl-pagecontact__intro {
	position: relative;
	overflow: hidden;
	padding: 36px 40px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--pcl-marine-fonce), var(--pcl-bleu));
	color: #ffffff;
}

.pcl-pagecontact__intro::after {
	content: "";
	position: absolute;
	top: -80px;
	right: -60px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 176, 32, .28), rgba(255, 176, 32, 0) 70%);
	pointer-events: none;
}

.entry-content .pcl-pagecontact .pcl-pagecontact__intro h1 {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 800 !important;
}

.pcl-pagecontact__intro p {
	position: relative;
	margin: 0 !important;
	max-width: 720px;
	color: var(--pcl-clair-sur-marine);
	font-size: 17px;
}

/* Les 3 moyens de contact */
.entry-content .pcl-pagecontact__canaux,
.pcl-pagecontact__canaux {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.pcl-pagecontact__canal {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	padding: 24px 22px 22px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
	list-style: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

.pcl-pagecontact__canal:hover {
	transform: translateY(-3px);
	box-shadow: 0 2px 4px rgba(20, 39, 90, .06), 0 14px 32px rgba(20, 39, 90, .12);
}

.pcl-pagecontact__canal--conseil {
	border: 2px solid var(--pcl-ambre);
}

.entry-content .pcl-pagecontact .pcl-pagecontact__canal h2 {
	margin: 0 0 8px;
	font-size: 21px;
	font-weight: 800 !important;
	line-height: 1.25;
}

.pcl-pagecontact__canal p {
	color: var(--pcl-gris);
	font-size: 15px;
}

.pcl-pagecontact__canal p:last-child {
	margin-bottom: 0;
}

.pcl-pagecontact__canal p:has(> .pcl-pagecontact__bouton) {
	margin-top: auto;
	padding-top: 6px;
}

.pcl-pagecontact .pcl-pagecontact__etiquette {
	align-self: flex-start;
	margin: 0 0 12px;
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--pcl-ambre);
	color: var(--pcl-marine-fonce);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pcl-pagecontact a.pcl-pagecontact__bouton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border-radius: 999px;
	background: var(--pcl-marine);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}

.pcl-pagecontact a.pcl-pagecontact__bouton::after {
	content: "→";
	transition: transform .2s ease;
}

.pcl-pagecontact a.pcl-pagecontact__bouton:hover,
.pcl-pagecontact a.pcl-pagecontact__bouton:focus-visible {
	background: var(--pcl-bleu);
	color: #ffffff;
}

.pcl-pagecontact a.pcl-pagecontact__bouton:hover::after {
	transform: translateX(3px);
}

.pcl-pagecontact__canal--conseil a.pcl-pagecontact__bouton {
	background: var(--pcl-ambre);
	color: var(--pcl-marine-fonce);
}

.pcl-pagecontact__canal--conseil a.pcl-pagecontact__bouton:hover,
.pcl-pagecontact__canal--conseil a.pcl-pagecontact__bouton:focus-visible {
	background: var(--pcl-ambre-fonce);
	color: var(--pcl-marine-fonce);
}

.pcl-pagecontact a.pcl-pagecontact__tel {
	color: var(--pcl-marine);
	font-size: 23px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.pcl-pagecontact .pcl-pagecontact__petit {
	color: var(--pcl-gris);
	font-size: 13.5px;
}

/* Blocs */
.pcl-pagecontact__bloc {
	margin: 18px 0 0;
	padding: 28px 32px;
	border: 1px solid var(--pcl-trait);
	border-radius: var(--pcl-rayon);
	background: #ffffff;
	box-shadow: var(--pcl-ombre);
}

.entry-content .pcl-pagecontact .pcl-pagecontact__bloc h2 {
	position: relative;
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--pcl-trait);
	font-size: 23px;
	font-weight: 800 !important;
	line-height: 1.25;
}

.entry-content .pcl-pagecontact .pcl-pagecontact__bloc h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: var(--pcl-ambre);
}

/* Raccourcis « Avant de nous écrire » */
.entry-content .pcl-pagecontact__raccourcis,
.pcl-pagecontact__raccourcis {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcl-pagecontact__raccourcis li {
	margin: 0 !important;
	list-style: none;
}

.pcl-pagecontact__raccourcis a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border: 1px solid var(--pcl-trait);
	border-radius: 999px;
	background: var(--pcl-ciel);
	color: var(--pcl-marine) !important;
	font-size: 14.5px;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.pcl-pagecontact__raccourcis a:hover,
.pcl-pagecontact__raccourcis a:focus-visible {
	border-color: var(--pcl-marine);
	background: var(--pcl-marine);
	color: #ffffff !important;
}

/* Notes avant le formulaire */
.entry-content .pcl-pagecontact__notes,
.pcl-pagecontact__notes {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.pcl-pagecontact__notes li {
	position: relative;
	margin: 0 0 8px !important;
	padding: 10px 14px 10px 40px;
	border-radius: 12px;
	background: var(--pcl-fond);
	font-size: 15px;
	list-style: none;
}

.pcl-pagecontact__notes li::before {
	content: "i";
	position: absolute;
	top: 11px;
	left: 13px;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--pcl-bleu);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	font-style: italic;
	line-height: 1;
}

.pcl-pagecontact__notes li.pcl-pagecontact__note--attention {
	border: 1px solid rgba(224, 147, 10, .35);
	background: #fff6e3;
}

.pcl-pagecontact__notes li.pcl-pagecontact__note--attention::before {
	content: "!";
	background: var(--pcl-ambre-fonce);
	font-style: normal;
}

.pcl-pagecontact__notes code {
	padding: 1px 6px;
	border-radius: 6px;
	background: #ffffff;
	color: var(--pcl-marine);
	font-size: 13.5px;
}

/* Horaires + adresse côte à côte */
.pcl-pagecontact__colonnes {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 18px;
}

.pcl-pagecontact__colonnes > .pcl-pagecontact__bloc {
	margin-top: 18px;
}

.pcl-pagecontact__horaires {
	display: grid;
	grid-template-columns: auto 1fr;
	margin: 0;
	border: 1px solid var(--pcl-trait);
	border-radius: 12px;
	overflow: hidden;
}

.pcl-pagecontact__horaires dt,
.pcl-pagecontact__horaires dd {
	margin: 0;
	padding: 9px 14px;
	border-bottom: 1px solid var(--pcl-trait);
}

.pcl-pagecontact__horaires dt {
	color: var(--pcl-marine);
	font-weight: 700;
}

.pcl-pagecontact__horaires dd {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}

.pcl-pagecontact__horaires dt:last-of-type,
.pcl-pagecontact__horaires dd:last-of-type {
	border-bottom: 0;
}

.pcl-pagecontact__horaires dt.est-aujourdhui,
.pcl-pagecontact__horaires dt.est-aujourdhui + dd {
	background: var(--pcl-ciel);
}

.pcl-pagecontact__horaires dt.est-aujourdhui::after {
	content: "Aujourd’hui";
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--pcl-marine);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	vertical-align: 2px;
}

.pcl-pagecontact__creneau {
	padding: 2px 10px;
	border-radius: 999px;
	background: #e8f5ec;
	color: #1d6b3a;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.pcl-pagecontact__creneau--ferme {
	background: #fdecec;
	color: #a12a2a;
}

/* FAQ */
.pcl-pagecontact__faq details {
	border-bottom: 1px solid var(--pcl-trait);
}

.pcl-pagecontact__faq details:last-of-type {
	border-bottom: 0;
}

.pcl-pagecontact__faq summary {
	position: relative;
	padding: 15px 44px 15px 0;
	color: var(--pcl-marine);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.pcl-pagecontact__faq summary::-webkit-details-marker {
	display: none;
}

.pcl-pagecontact__faq summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 4px;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border-radius: 50%;
	background: var(--pcl-ciel);
	color: var(--pcl-marine);
	font-size: 19px;
	font-weight: 600;
	line-height: 1;
	transition: transform .25s ease, background .2s ease, color .2s ease;
}

.pcl-pagecontact__faq details[open] summary::after {
	background: var(--pcl-marine);
	color: #ffffff;
	transform: rotate(45deg);
}

.pcl-pagecontact__faq summary:hover {
	color: var(--pcl-bleu);
}

.pcl-pagecontact__faq details p {
	padding: 0 0 16px;
	color: #3a4357;
}

.pcl-pagecontact__faq details[open] p {
	animation: pclContactOuvre .25s ease;
}

@keyframes pclContactOuvre {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}

@media (max-width: 991px) {
	.entry-content .pcl-pagecontact__canaux,
	.pcl-pagecontact__canaux {
		grid-template-columns: 1fr;
	}

	.pcl-pagecontact__colonnes {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media (max-width: 767px) {
	.pcl-pagecontact {
		margin: 12px auto 28px;
		font-size: 15.5px;
	}

	.pcl-pagecontact__intro {
		padding: 26px 20px 22px;
	}

	.entry-content .pcl-pagecontact .pcl-pagecontact__intro h1 {
		font-size: 26px;
	}

	.pcl-pagecontact__intro p {
		font-size: 16px;
	}

	.pcl-pagecontact__bloc {
		padding: 22px 18px;
	}

	.entry-content .pcl-pagecontact .pcl-pagecontact__bloc h2 {
		font-size: 21px;
	}

	.pcl-pagecontact__horaires dt,
	.pcl-pagecontact__horaires dd {
		padding: 9px 10px;
	}

	.pcl-pagecontact__creneau {
		padding: 2px 8px;
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pcl-pagecontact__canal,
	.pcl-pagecontact a.pcl-pagecontact__bouton,
	.pcl-pagecontact a.pcl-pagecontact__bouton::after,
	.pcl-pagecontact__faq summary::after {
		transition: none;
	}

	.pcl-pagecontact__faq details[open] p {
		animation: none;
	}
}
