/* Habillage premium (maquette validée par Antoine) : bandeau, en-tête, méga-menus, pied de page. Préfixe pp-. */
[hidden] { display: none !important; }
:root {
	--pp-marine: #083a60; --pp-marine-900: #052a46; --pp-marine-700: #0d4c7a; --pp-ciel: #1f9ad6; --pp-ciel-pale: #e8f4fb;
	--pp-texte: #1b2530; --pp-doux: #5b6773; --pp-leger: #8a949e; --pp-creme: #f3f7fb; --pp-sable: #e9f0f7; --pp-filet: #dde6ee;
	--pp-titre: 'League Spartan', 'Poppins', system-ui, sans-serif; --pp-corps: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pp-ombre-forte: 0 2px 6px rgba(8, 58, 96, .08), 0 18px 48px rgba(8, 58, 96, .14);
}
body.pp-site { font-family: var(--pp-corps); color: var(--pp-texte); background: #fff; }
body.pp-site h1, body.pp-site h2, body.pp-site h3, body.pp-site h4 { font-family: var(--pp-titre); color: var(--pp-marine); }
.pp-bandeau svg, .pp-entete svg, .pp-pied svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }   /* icônes seulement : jamais les logos */
/* barre flottante « Sélectionné » d'OceanWP : doublon du configurateur */
.pp-site .owp-floating-bar { display: none !important; }
.pp-enveloppe { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.pp-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border-radius: 999px; border: 1px solid var(--pp-marine);
	background: var(--pp-marine); color: #fff; font: 600 14px/1 var(--pp-corps); text-decoration: none; cursor: pointer; }
.pp-bouton:hover { background: var(--pp-marine-900); color: #fff; }
.pp-bouton--clair { background: #fff; color: var(--pp-marine); border-color: #fff; }
.pp-bouton--clair:hover { background: var(--pp-ciel-pale); color: var(--pp-marine); }

/* bandeau */
/* bandeau figé avec l'en-tête (remarques d'Antoine du 2026-10-24 : « il faudrait le figer ») : 40 px, une seule ligne */
.pp-bandeau { position: sticky; top: 0; z-index: 901; background: var(--pp-marine-900); color: #dfe9f2; font-size: 13px; }
.admin-bar .pp-bandeau { top: 32px; }
.pp-bandeau__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 40px; white-space: nowrap; overflow: hidden; }
.pp-bandeau a { color: inherit; text-decoration: none; }
.pp-bandeau__lieu a { color: #fff; font-weight: 600; }
.pp-bandeau a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp-bandeau__lieu, .pp-bandeau__tel { display: inline-flex; align-items: center; gap: 6px; }
.pp-bandeau__tel { color: #fff !important; font-weight: 600; }
.pp-bandeau svg { width: 15px; height: 15px; }
.pp-bandeau__promo { color: #fff; font-weight: 500; }
.pp-bandeau__droite { display: inline-flex; align-items: center; gap: 18px; }
.pp-langues { display: inline-flex; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; overflow: hidden; }
.pp-langues a { padding: 3px 10px; font-size: 12px; font-weight: 600; }
.pp-langues a[aria-current] { background: #fff; color: var(--pp-marine); }

/* en-tête */
.pp-entete { position: sticky; top: 40px; z-index: 900; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--pp-filet); }
.admin-bar .pp-entete { top: 72px; }
.pp-entete__in { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; min-height: 80px; }
.pp-logo img { height: 44px; width: auto; display: block; }
.pp-recherche { position: relative; display: flex; align-items: center; max-width: 640px; width: 100%; margin: 0 auto; }
.pp-recherche > svg { position: absolute; left: 18px; color: var(--pp-doux); }
.pp-recherche input { width: 100%; height: 50px; padding: 0 20px 0 48px; border: 1px solid var(--pp-filet); border-radius: 999px; background: var(--pp-creme); font-size: 15px; color: var(--pp-texte); }
.pp-recherche input:focus { outline: none; background: #fff; border-color: var(--pp-marine); box-shadow: 0 0 0 4px rgba(31, 154, 214, .12); }
.pp-actions { display: flex; align-items: center; gap: 8px; }
.pp-bouton-entete { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 16px; border: 1px solid transparent; border-radius: 999px; background: transparent;
	font: 500 14px/1 var(--pp-corps); color: var(--pp-marine); text-decoration: none; cursor: pointer; }
.pp-bouton-entete:hover { background: var(--pp-creme); color: var(--pp-marine); }
.pp-bouton-entete--devis { border-color: var(--pp-marine); }
.pp-pastille { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--pp-marine); color: #fff; font-size: 12px; font-weight: 600; display: inline-grid; place-items: center; }
.pp-pastille.pp-anime { animation: pp-pouls .6s ease; }
@keyframes pp-pouls { 50% { transform: scale(1.35); background: var(--pp-ciel); } }
.pp-burger { display: none; }

/* navigation et méga-menus */
.pp-nav { border-top: 1px solid var(--pp-filet); }
.pp-nav__liste { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 4px; }
.pp-nav__onglet { display: inline-flex; align-items: center; gap: 6px; height: 50px; padding: 0 16px; border: 0; background: none; text-decoration: none; cursor: pointer;
	font: 600 15.5px/1 var(--pp-titre); letter-spacing: 0; white-space: nowrap; color: var(--pp-marine); position: relative; }
.pp-nav__onglet svg { width: 14px; height: 14px; transition: transform .2s; }
.pp-nav__onglet::after { content: ''; position: absolute; left: 16px; right: 16px; bottom: 0; height: 2px; background: var(--pp-ciel); transform: scaleX(0); transition: transform .25s; }
.pp-nav__item:hover .pp-nav__onglet::after, .pp-nav__item.pp-ouvert .pp-nav__onglet::after, .pp-nav__onglet[aria-current]::after { transform: scaleX(1); }
.pp-nav__item.pp-ouvert .pp-nav__onglet svg { transform: rotate(180deg); }
.pp-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--pp-filet); box-shadow: 0 24px 48px rgba(8, 58, 96, .12);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility 0s .18s; }
.pp-nav__item:hover .pp-mega, .pp-nav__item.pp-ouvert .pp-mega, .pp-nav__item:focus-within .pp-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.pp-mega__in { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) 240px; gap: 28px; padding: 28px 24px 32px; }
.pp-mega__col h4 { font: 600 16px/1.2 var(--pp-titre); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--pp-filet); }
.pp-mega__col h4 a { color: var(--pp-marine); text-decoration: none; }
.pp-mega__col ul { list-style: none; margin: 0; padding: 0; }
.pp-mega__col li a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; text-decoration: none; color: var(--pp-texte); font-size: 14px; }
.pp-mega__col li a:hover { color: var(--pp-ciel); }
.pp-mega__col li small { color: var(--pp-leger); font-size: 12px; }
.pp-bientot { font-size: 11px; color: #a8642a; }
.pp-mega__visuel { border-radius: 10px; overflow: hidden; position: relative; min-height: 220px; color: #fff; text-decoration: none; display: flex; align-items: flex-end; }
.pp-mega__visuel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pp-mega__visuel::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 42, 70, 0) 30%, rgba(5, 42, 70, .85)); z-index: 1; }
.pp-mega__visuel span { position: relative; z-index: 2; padding: 18px; font: 600 18px/1.2 var(--pp-titre); }
.pp-mega__in--secteurs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 20px; }
/* « Nos produits » : une carte photo par univers + bandeau (demande d'Antoine du 2026-10-19) */
.pp-mega__in--univers { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; padding: 26px 24px 22px; }
.pp-mega__univers { display: flex; flex-direction: column; min-width: 0; }
.pp-mega__photo { position: relative; display: block; aspect-ratio: 3 / 2; border-radius: 10px; overflow: hidden; margin-bottom: 14px; color: #fff; text-decoration: none; }
.pp-mega__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.pp-mega__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 42, 70, 0) 45%, rgba(5, 42, 70, .78)); }
.pp-mega__photo span { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 1; font: 600 17px/1.15 var(--pp-titre); }
.pp-mega__photo:hover img { transform: scale(1.04); }
.pp-mega__univers ul { list-style: none; margin: 0 0 10px; padding: 0; }
.pp-mega__univers li a { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: var(--pp-texte); font-size: 14px; text-decoration: none; }
.pp-mega__univers li a svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--pp-ciel); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pp-mega__univers li a:hover { color: var(--pp-ciel); }
.pp-mega__tout { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--pp-marine); text-decoration: none; }
.pp-mega__tout svg { width: 14px; height: 14px; transform: rotate(-90deg); }
.pp-mega__bandeau { display: flex; align-items: center; gap: 20px; padding: 14px 24px; margin-bottom: 18px; background: var(--pp-marine); border-radius: 10px; color: #fff; }
.pp-mega__bandeau ul { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0 auto 0 0; padding: 0; font-size: 13.5px; }
.pp-mega__bandeau li::before { content: '✓'; color: #8fd0f2; margin-right: 7px; font-weight: 700; }
.pp-mega__bandeau a { color: #fff; font-size: 13.5px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.pp-mega__bandeau a:hover { color: #8fd0f2; }
.pp-mega__bandeau-cta { padding: 9px 16px; border-radius: 999px; background: #fff; color: var(--pp-marine) !important; }
.pp-secteur-lien { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; padding: 8px; border-radius: 10px; text-decoration: none; }
.pp-secteur-lien:hover { background: var(--pp-creme); }
.pp-secteur-lien img { width: 76px; height: 56px; object-fit: cover; border-radius: 8px; }
.pp-secteur-lien strong { display: block; font: 600 15px/1.2 var(--pp-titre); color: var(--pp-marine); }
.pp-secteur-lien small { color: var(--pp-doux); }
.pp-mega__in--liste { grid-template-columns: 300px 1fr; }
.pp-mega__visuels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pp-mega__visuels a { display: block; text-decoration: none; border: 1px solid #e2e2e2; border-radius: 6px; padding: 10px; text-align: center; font-size: 13px; color: var(--pp-marine); font-weight: 600; }
.pp-mega__visuels img { width: 100%; aspect-ratio: 1; object-fit: contain; margin-bottom: 8px; }
.pp-mega__visuels--toutes { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; align-content: start; }
.pp-mega__visuels--toutes a { padding: 6px 6px 8px; font-size: 12px; line-height: 1.25; }
.pp-mega__visuels--toutes img { margin-bottom: 6px; }

/* pied de page et lettre d'information */
.pp-newsletter { background: var(--pp-marine-700); color: #dfe9f2; }
.pp-newsletter__in { display: grid; grid-template-columns: 1fr minmax(0, 460px); gap: 40px; align-items: center; padding: 44px 24px; }
.pp-newsletter h2 { color: #fff !important; font-size: 26px; margin: 0 0 6px; }
.pp-newsletter p { margin: 0; color: #c9d8e6; }
/* couleurs du bandeau et du pied protégées : certaines pages reprises du site en ligne imposent une couleur à tous les paragraphes (« p { color } ») */
.pp-pied p, .pp-pied li, .pp-pied span { color: #b9cad8; }
.pp-newsletter__form { display: flex; gap: 10px; }
.pp-newsletter__form input { flex: 1; min-width: 0; height: 48px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: #fff; }
.pp-newsletter__form input::placeholder { color: #b4c8d8; }
.pp-pied { background: var(--pp-marine-900); color: #b9cad8; font-size: 13.5px; }
/* une rangée de 6 colonnes (remarques d'Antoine du 2026-10-24 : « le footer est trop gros, on peut mettre plus de colonnes ») */
.pp-pied__in { display: grid; grid-template-columns: 1.35fr repeat(5, minmax(0, 1fr)); gap: 28px; padding: 44px 24px 28px; }
.pp-pied h3 { color: #fff !important; font: 600 15px/1.2 var(--pp-titre); margin: 0 0 12px; }
.pp-pied ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.pp-pied__marques { margin: 0 0 6px; line-height: 1.8; }
.pp-pied__marques strong { color: #fff; font-weight: 600; margin-right: 6px; }
.pp-pied__bas p { margin: 0; }
.pp-pied a { color: #b9cad8; text-decoration: none; }
.pp-pied a:hover { color: #fff; }
.pp-pied__marque img { height: 34px; width: auto; margin-bottom: 14px; }
.pp-pied__marque p { margin: 0 0 12px; }
.pp-pied__reseaux { display: flex; gap: 10px; }
.pp-pied__reseaux a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); display: grid; place-items: center; }
.pp-pied__ateliers strong { color: #fff; font-weight: 600; }
.pp-pied__bas { display: grid; gap: 4px; padding: 16px 24px 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12.5px; }
/* l'en-tête et le pied d'OceanWP ne sont plus utilisés : on masque leurs restes éventuels (barre du haut, pied « widgets ») */
.pp-site #top-bar-wrap, .pp-site #site-header:not(.pp-entete), .pp-site #footer-widgets { display: none !important; }

/* tablette */
@media (max-width: 1180px) {
	.pp-entete__in { gap: 18px; }
	.pp-bouton-entete span:not(.pp-pastille) { display: none; }
	.pp-mega__in { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pp-mega__visuel, .pp-mega__visuels { display: none; }
	.pp-mega__in--secteurs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pp-mega__in--liste { grid-template-columns: 1fr; }
	.pp-bandeau__promo { display: none; }
	.pp-mega__in--univers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pp-nav__onglet { padding: 0 10px; font-size: 14.5px; }
	.pp-nav__onglet::after { left: 10px; right: 10px; }
}
@media (max-width: 960px) {
	.pp-enveloppe { padding: 0 20px; }
	.pp-entete__in { grid-template-columns: auto 1fr auto; min-height: 68px; }
	.pp-logo img { height: 34px; }
	.pp-recherche { grid-column: 1 / -1; grid-row: 2; margin-bottom: 12px; max-width: none; }
	.pp-burger { display: inline-grid; place-content: center; gap: 4px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--pp-filet); background: #fff; padding: 0; cursor: pointer; }
	.pp-burger span:not(.screen-reader-text) { display: block; width: 18px; height: 2px; background: var(--pp-marine); border-radius: 2px; }
	.pp-nav { display: none; max-height: calc(100vh - 130px); overflow: auto; }
	.pp-nav.pp-ouverte { display: block; }
	.pp-nav__liste { flex-direction: column; gap: 0; padding: 8px 0; }
	.pp-nav__onglet { width: 100%; justify-content: space-between; height: 52px; padding: 0; }
	.pp-nav__onglet::after { display: none; }
	.pp-mega { position: static; box-shadow: none; border: 0; display: none; opacity: 1; visibility: visible; transform: none; }
	.pp-nav__item.pp-ouvert .pp-mega { display: block; }
	.pp-mega__in, .pp-mega__in--secteurs { grid-template-columns: 1fr 1fr; padding: 0 0 18px; gap: 16px; }
	.pp-mega__in--univers { grid-template-columns: 1fr 1fr; }
	.pp-mega__bandeau { flex-wrap: wrap; margin: 0 0 18px; padding: 14px 16px; }
	.pp-mega__bandeau ul { margin: 0; width: 100%; }
	.pp-pied__in { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pp-newsletter__in { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
	.pp-enveloppe { padding: 0 16px; }
	/* téléphone : bandeau non figé (place à l'écran), villes et icône du téléphone seulement */
	.pp-bandeau { position: static; font-size: 12.5px; }
	.pp-entete, .admin-bar .pp-entete { top: 0; }
	.pp-bandeau__in { height: 36px; gap: 10px; }
	.pp-bandeau__tel span, .pp-bandeau .pb-avis-resume { display: none; }
	.pp-bandeau__suite { display: none; }
	.pp-logo img { height: 28px; }
	.pp-bouton-entete { width: 44px; height: 44px; padding: 0; justify-content: center; position: relative; }
	.pp-bouton-entete--devis .pp-pastille { position: absolute; top: -4px; right: -4px; }
	.pp-mega__in, .pp-mega__in--secteurs { grid-template-columns: 1fr; }
	.pp-mega__in--univers { grid-template-columns: 1fr 1fr; gap: 14px; }
	.pp-mega__photo span { font-size: 15px; }
	.pp-pied__in { grid-template-columns: 1fr 1fr; gap: 24px 16px; padding-top: 32px; }
	.pp-pied__marque { grid-column: 1 / -1; }
	.pp-newsletter__form { flex-direction: column; }
}
/* OceanWP impose ses propres marges aux champs : on reprend la main sur le champ de recherche de l'en-tête */
.pp-site .pp-recherche input[type="search"] { padding: 0 20px 0 48px !important; height: 50px !important; border-radius: 999px !important; border: 1px solid var(--pp-filet) !important; background: var(--pp-creme) !important; font-size: 15px !important; line-height: 50px; }
.pp-site .pp-recherche input[type="search"]:focus { background: #fff !important; border-color: var(--pp-marine) !important; }
.pp-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pp-newsletter__etat { grid-column: 1 / -1; margin: 0; color: #fff; font-weight: 500; }

/* page introuvable (404.php) */
.pp-bouton--ligne { background: #fff; color: var(--pp-marine); border-color: var(--pp-marine); }
.pp-bouton--ligne:hover { background: var(--pp-marine); color: #fff; }
.pp-404 { padding: 64px 0 88px; background: linear-gradient(180deg, var(--pp-creme), #fff 420px); }
.pp-404__tete { max-width: 760px; margin: 0 auto 44px; text-align: center; }
.pp-404__code { margin: 0 0 6px; font: 700 15px/1 var(--pp-titre); letter-spacing: .14em; color: var(--pp-ciel); }
.pp-404 h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.12; margin: 0 0 14px; }
.pp-404__tete > p { font-size: 17px; line-height: 1.6; color: var(--pp-doux); margin: 0 0 26px; }
.pp-404__recherche { display: flex; gap: 10px; max-width: 560px; margin: 0 auto; }
.pp-404__recherche input { flex: 1; min-width: 0; height: 50px; padding: 0 20px; border: 1px solid var(--pp-filet); border-radius: 999px; background: #fff; font-size: 15px; }
.pp-404__univers { list-style: none; margin: 0 0 40px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.pp-404__univers a { display: block; border: 1px solid var(--pp-filet); border-radius: 14px; overflow: hidden; background: #fff; color: var(--pp-marine); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.pp-404__univers a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(8, 58, 96, .10); }
.pp-404__univers img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.pp-404__univers span { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; font: 600 16px/1.2 var(--pp-titre); }
.pp-404__univers svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; flex: none; }
.pp-404__contact { text-align: center; color: var(--pp-doux); font-size: 15.5px; line-height: 2.2; }
.pp-404__contact a[href^="tel"] { color: var(--pp-marine); font-weight: 600; }
.pp-404__contact .pp-bouton { margin-left: 10px; vertical-align: middle; }
@media (max-width: 960px) { .pp-404__univers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .pp-404 { padding: 40px 0 64px; } .pp-404__recherche { flex-direction: column; } .pp-404__contact .pp-bouton { margin: 12px 0 0; } }

/* avis Google des trois ateliers (2026-10-21, plugin PB_Avis) : étoiles, rappel du bandeau et des fiches, bloc de l'accueil */
.pb-etoiles { display: inline-flex; gap: 1px; vertical-align: -2px; }
.pb-etoiles svg { width: 15px; height: 15px; fill: #cfd8e1; stroke: none; }
.pb-etoiles svg.pb-etoiles__pleine { fill: #f2a90b; }
.pb-avis-resume { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: inherit; white-space: nowrap; }
.pb-avis-resume strong { font-weight: 600; }
.pp-bandeau .pb-avis-resume svg { width: 13px; height: 13px; stroke: none; }
.pp-bandeau .pb-avis-resume strong { color: #fff; }
.pb-avis-resume--fiche { margin: -4px 0 12px; font-size: 14px; color: var(--pp-doux); }
.pb-avis-resume--fiche strong { color: var(--pp-marine); }
.pb-avis-resume--fiche:hover span { text-decoration: underline; text-underline-offset: 3px; }
.pb-avis { background: #fff; }
.pb-avis__tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: 32px; }
.pb-avis__tete h2 { margin: 0 0 10px; }
.pb-avis__global { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--pp-doux); font-size: 16px; }
.pb-avis__global .pb-etoiles svg { width: 22px; height: 22px; }
.pb-avis__global strong { font: 600 30px/1 var(--pp-titre); color: var(--pp-marine); }
.pb-avis__ateliers { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.pb-avis__ateliers a { display: grid; gap: 2px; padding: 12px 16px; border: 1px solid var(--pp-filet); border-radius: 12px; text-decoration: none; color: var(--pp-texte); background: var(--pp-creme); }
.pb-avis__ateliers a:hover { border-color: var(--pp-marine); }
.pb-avis__ateliers strong { color: var(--pp-marine); font-size: 15px; }
.pb-avis__ateliers span { color: var(--pp-doux); font-size: 12.5px; }
.pb-avis__ateliers em { font-style: normal; font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; }
.pb-avis__defile { position: relative; }
.pb-avis__liste { list-style: none; margin: 0; padding: 4px 2px 12px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.pb-avis__carte { scroll-snap-align: start; display: flex; flex-direction: column; gap: 12px; padding: 22px; border: 1px solid var(--pp-filet); border-radius: 14px; background: #fff; box-shadow: 0 2px 10px rgba(8, 58, 96, .05); width: 320px; }
.pb-avis__carte blockquote { margin: 0; padding: 0; border: 0; font-style: normal; color: var(--pp-texte); font-size: 15px; line-height: 1.55; flex: 1; }
.pb-avis__carte footer { display: grid; gap: 2px; font-size: 13px; }
.pb-avis__carte footer strong { color: var(--pp-marine); }
.pb-avis__carte footer span { color: var(--pp-doux); }
.pb-avis__defile .pb-defile__fleche { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--pp-filet); background: #fff; box-shadow: var(--pp-ombre-forte); display: grid; place-items: center; cursor: pointer; }
.pb-avis__defile .pb-defile__fleche svg { width: 18px; height: 18px; fill: none; stroke: var(--pp-marine); stroke-width: 2; }
.pb-avis__defile .pb-defile__fleche--avant { left: -18px; }
.pb-avis__defile .pb-defile__fleche--apres { right: -18px; }
.pb-avis__pied { margin: 22px 0 0; color: var(--pp-doux); font-size: 14.5px; }
.pb-avis__pied a { color: var(--pp-marine); font-weight: 600; margin-left: 6px; }
@media (max-width: 960px) { .pp-bandeau .pb-avis-resume span { display: none; } }
@media (max-width: 620px) {
	.pb-avis__defile .pb-defile__fleche { display: none; }
	.pb-avis__carte { width: 82vw; padding: 18px; }
	.pb-avis__global strong { font-size: 26px; }
	.pb-avis__ateliers { display: grid; grid-template-columns: 1fr; width: 100%; }
}

/* Page « Nos réalisations » (inc/realisations.php) */
.pp-realisations { margin: 8px 0 32px; }
.pp-realisations__filtres { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.pp-realisations__filtres button { padding: 9px 18px; border: 1px solid var(--pp-filet); border-radius: 999px; background: #fff; color: var(--pp-marine); font: 600 14px/1.2 var(--pp-corps); cursor: pointer; }
.pp-realisations__filtres button[aria-pressed="true"] { background: var(--pp-marine); border-color: var(--pp-marine); color: #fff; }
.pp-realisations__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.pp-realisations__grille li { margin: 0; }
.pp-realisations__grille li > a, .pp-realisations__grille li > div { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--pp-filet); border-radius: 14px; overflow: hidden; background: #fff; text-decoration: none; color: var(--pp-texte); transition: box-shadow .2s, transform .2s; }
.pp-realisations__grille li > a:hover { box-shadow: var(--pp-ombre-forte); transform: translateY(-2px); }
.pp-realisations__grille li > a, .entry a.pp-bouton { text-decoration: none !important; }   /* OceanWP souligne tous les liens des pages */
.pp-realisations__grille img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--pp-sable); }
.pp-realisations__texte { display: grid; gap: 4px; padding: 14px 16px 16px; }
.pp-realisations__texte strong { color: var(--pp-marine); font-size: 15.5px; line-height: 1.35; }
.pp-realisations__texte small { color: var(--pp-doux); font-size: 13px; }
.pp-realisations__texte em { font-style: normal; color: var(--pp-ciel); font-size: 13.5px; font-weight: 600; margin-top: 4px; }
@media (max-width: 620px) {
	.pp-realisations__grille { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pp-realisations__texte { padding: 10px 12px 12px; }
	.pp-realisations__texte strong { font-size: 14px; }
	.pp-realisations__texte em { display: none; }
	.pp-realisations__filtres button { padding: 8px 14px; font-size: 13.5px; }
}

/* Pages de présentation créées par le plugin (Espace client) : cartes en colonnes et étapes numérotées, modifiables dans l'éditeur */
.pp-chapeau { font-size: 18px; line-height: 1.6; color: var(--pp-texte); max-width: 760px; }
.wp-block-columns.pp-cartes { gap: 18px; margin: 18px 0 34px; }
.wp-block-columns.pp-cartes > .wp-block-column { padding: 22px; border: 1px solid var(--pp-filet); border-radius: 14px; background: var(--pp-creme); }
.wp-block-columns.pp-cartes h3 { margin: 0 0 8px; color: var(--pp-marine); font-size: 17px; }
.wp-block-columns.pp-cartes p { margin: 0; color: var(--pp-doux); font-size: 14.5px; line-height: 1.55; }
ol.pp-etapes-liste { counter-reset: etape; list-style: none; margin: 14px 0 30px; padding: 0; display: grid; gap: 12px; max-width: 760px; }
ol.pp-etapes-liste li { counter-increment: etape; position: relative; padding: 4px 0 4px 52px; line-height: 1.55; }
ol.pp-etapes-liste li::before { content: counter(etape); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--pp-marine); color: #fff; display: grid; place-items: center; font: 700 15px/1 var(--pp-titre); }
