/* 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: #faf7f2; --pp-sable: #f2ede5; --pp-filet: #e6e0d6;
	--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 */
.pp-bandeau { background: var(--pp-marine-900); color: #dfe9f2; font-size: 13px; }
.pp-bandeau__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.pp-bandeau a { color: inherit; text-decoration: none; }
.pp-bandeau__lieu, .pp-bandeau__tel { display: inline-flex; align-items: center; gap: 6px; }
.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: 0; 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: 32px; }
.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 13.5px/1 var(--pp-titre); letter-spacing: .08em; text-transform: uppercase; 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 13px/1.2 var(--pp-titre); letter-spacing: .08em; text-transform: uppercase; 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; }
.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; }

/* 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; }
.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: 14px; }
.pp-pied__in { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding: 64px 24px 40px; }
.pp-pied h3 { color: #fff !important; font: 600 13px/1 var(--pp-titre); letter-spacing: .1em; text-transform: uppercase; margin: 0 0 18px; }
.pp-pied ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.pp-pied a { color: #b9cad8; text-decoration: none; }
.pp-pied a:hover { color: #fff; }
.pp-pied__marque img { height: 38px; width: auto; margin-bottom: 18px; }
.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__contact { margin-top: 18px; }
.pp-pied__liens { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 40px; padding: 32px 24px 36px; border-top: 1px solid rgba(255, 255, 255, .1); }
.pp-pied__liens ul { display: block; columns: 2; column-gap: 24px; }
.pp-pied__liens li { margin-bottom: 8px; break-inside: avoid; }
.pp-pied__liens > div:last-child ul { columns: 1; }
.pp-pied__bas { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 24px 28px; 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__lieu { display: none; }
}
@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-pied__in { grid-template-columns: 1fr 1fr; }
	.pp-pied__liens { grid-template-columns: 1fr; gap: 28px; }
	.pp-newsletter__in { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
	.pp-enveloppe { padding: 0 16px; }
	.pp-bandeau__tel { display: none; }
	.pp-bandeau__promo { font-size: 11.5px; line-height: 1.3; }
	.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-pied__in { grid-template-columns: 1fr; gap: 28px; }
	.pp-pied__liens ul { columns: 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; }
