
.pz main { display: block; }
.pz main [id] { scroll-margin-top: 88px; }
.pz-page { padding-top: clamp(32px, 5vw, 64px); padding-bottom: clamp(56px, 7vw, 96px); display: flex; flex-direction: column; gap: 28px; }
.pz-tete { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 860px; }
.pz main h1 { font-size: clamp(36px, 5.6vw, 64px); font-weight: 900; letter-spacing: -0.045em; line-height: 1.03; text-wrap: balance; }
.pz-chapo { font-size: clamp(17px, 2vw, 20px); line-height: 1.5; color: #4A4A4A; max-width: 640px; text-wrap: pretty; }
.pz-meta { font-size: 13.5px; font-weight: 700; color: #6B6B6B; letter-spacing: .01em; }
.pz-retour { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; background: #F4F4F4; font-size: 14px; font-weight: 800; }
.pz-retour .ph { font-size: 15px; }
.pz-maj { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: #6B6B6B; }

.pz .az-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; cursor: pointer; font-family: inherit; line-height: 1.2; text-align: center; }
.pz .az-btn--noir { border: 0; }
.pz .az-btn--contour { background: #fff; color: #000; }
.pz .az-btn .ph { font-size: 17px; }
.pz-btn-court { padding: 11px 18px !important; font-size: 14.5px !important; }
.pz-btn-vert { background: #00E676; color: #000 !important; padding: 16px 22px; border: 0; }
.pz .az-btn[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }
.pz-boutons { display: flex; flex-wrap: wrap; gap: 10px; }

.pz-sommaire { display: flex; flex-wrap: wrap; gap: 8px; }
.pz-sommaire a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #F4F4F4; font-size: 14.5px; font-weight: 800; }
.pz-sommaire a .ph { font-size: 16px; }
.pz-sommaire a[aria-current="true"] { background: #000; color: #fff; opacity: 1; }

.pz-texte { max-width: 760px; display: flex; flex-direction: column; }
.pz-texte > section { padding: 32px 0; border-top: 1px solid #E6E6E6; }
.pz-texte > section:last-child { padding-bottom: 0; }
.pz-texte h2 { font-size: clamp(26px, 3.2vw, 36px); font-weight: 900; letter-spacing: -0.035em; line-height: 1.08; margin: 0 0 14px; text-wrap: balance; }
.pz-texte :is(p, li) { font-size: 17px; line-height: 1.65; color: #4A4A4A; text-wrap: pretty; }
.pz-texte p { margin: 0 0 14px; }
.pz-texte p:last-child { margin-bottom: 0; }
.pz-texte :is(ul, ol) { margin: 0 0 14px; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.pz-texte strong { color: #000; font-weight: 800; }
:is(.pz-texte, .pz-carte, .pz-note) p a, .pz-texte li a { text-decoration: underline; text-decoration-color: #00E676; text-decoration-thickness: 3px; text-underline-offset: 3px; font-weight: 700; color: #000; }
.pz-texte .pz-boutons { margin-top: 22px; }
.pz-note { font-size: 14px !important; line-height: 1.6; color: #6B6B6B !important; }

.pz-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; align-items: start; }
.pz-carte { display: flex; flex-direction: column; gap: 14px; min-width: 0; background: #F4F4F4; border-radius: 26px; padding: clamp(20px, 3vw, 32px); }
.pz-carte--noir { background: #000; color: #fff; }
.pz-carte h2 { font-size: clamp(24px, 2.8vw, 32px); font-weight: 900; letter-spacing: -0.035em; line-height: 1.08; text-wrap: balance; }
.pz-carte h3 { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; margin-top: 4px; }
.pz-carte > p, .pz-carte > ul, .pz-carte > ol { font-size: 15.5px; line-height: 1.6; color: #4A4A4A; text-wrap: pretty; max-width: 66ch; }
.pz-carte--noir > p { color: #BDBDBD; }
.pz-carte :is(ul, ol):not([class]) { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.pz-carte-tete { display: flex; align-items: center; gap: 12px; }
.pz-ic { width: 44px; height: 44px; flex: none; border-radius: 50%; background: #000; color: #00E676; display: grid; place-items: center; font-size: 21px; }
.pz-ic i { color: inherit; }
.pz-num { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 900; letter-spacing: .06em; color: #6B6B6B; }
.pz-num .ph { font-size: 17px; color: #000; }
.pz-num small { font-size: 13px; font-weight: 700; letter-spacing: 0; }
.pz-carte--noir .pz-num, .pz-carte--noir .pz-num .ph { color: #00E676; }
.pz-encart { background: #fff; border-radius: 18px; padding: 14px 16px; font-size: 15px; line-height: 1.55; color: #000 !important; }
.pz-encart--vert { display: flex; align-items: flex-start; gap: 12px; background: #00E676; font-weight: 700; }
.pz-encart--vert .ph-fill { flex: none; font-size: 20px; }

.pz-fiche { margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; }
.pz-fiche > div { display: grid; grid-template-columns: minmax(0, 190px) minmax(0, 1fr); gap: 16px; padding-bottom: 8px; border-bottom: 1px solid #E2E2E2; }
.pz-fiche > div:last-child { border-bottom: 0; padding-bottom: 0; }
.pz-fiche dt { color: #6B6B6B; font-weight: 700; }
.pz-fiche dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.pz-fiche a { text-decoration: underline; text-decoration-color: #00E676; text-decoration-thickness: 3px; text-underline-offset: 3px; font-weight: 700; }
.pz-liste { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; color: #4A4A4A; overflow-wrap: anywhere; }
@media (max-width: 519.98px) { .pz-fiche > div { grid-template-columns: minmax(0, 1fr); gap: 2px; } }

.pz-docs { display: flex; flex-direction: column; gap: 8px; }
.pz-doc { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 16px; border-radius: 18px; background: #fff; color: #000; }
.pz-doc[hidden] { display: none; }
.pz-doc > .ph:first-child { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #00E676; display: grid; place-items: center; font-size: 17px; }
.pz-doc > .ph:last-child { flex: none; font-size: 16px; color: #6B6B6B; }
.pz-doc > span { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.pz-doc b { font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.pz-doc small { font-size: 13px; color: #6B6B6B; }

.pz-lg { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 28px 48px; }
.pz-lg-sommaire { flex: 0 1 250px; min-width: 0; position: sticky; top: 88px; max-height: calc(100vh - 100px); overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 14px; }
.pz-lg-sommaire h2 { font-size: 12.5px; font-weight: 900; letter-spacing: .08em; color: #6B6B6B; }
.pz-lg-groupe { display: flex; flex-direction: column; gap: 4px; }
.pz-lg-groupe > span { font-size: 12px; font-weight: 800; letter-spacing: .06em; color: #6B6B6B; padding-left: 4px; }
.pz-lg-groupe a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px; border-radius: 999px; font-size: 14.5px; font-weight: 800; }
.pz-lg-groupe a:hover, .pz-lg-groupe a[aria-current="true"] { background: #F4F4F4; opacity: 1; }
.pz-lg-groupe a[aria-current="true"] .ph { color: #00A651; }
.pz-lg-cartes { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pz-canaux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.pz-canaux > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 16px; border-radius: 18px; background: #fff; color: #000; }
.pz-canaux .t { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; color: #6B6B6B; }
.pz-canaux .t .ph { font-size: 17px; color: #000; }
.pz-canaux .v { max-width: 100%; font-size: 20px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.25; overflow-wrap: anywhere; }
.pz-canaux .v--court { font-size: 18px; }
.pz-canaux .v--courriel { font-size: 16px; letter-spacing: -0.01em; }
.pz-canaux .s { font-size: 13px; color: #4A4A4A; overflow-wrap: anywhere; }
.pz-canaux a.s { font-weight: 800; color: #000; text-decoration: underline; text-decoration-color: #00E676; text-decoration-thickness: 3px; text-underline-offset: 3px; }
@media (max-width: 859.98px) {
  .pz-lg-sommaire { flex-basis: 100%; position: static; max-height: none; overflow: visible; }
  .pz-lg-groupe { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .pz-lg-groupe > span { width: 100%; padding-left: 0; }
  .pz-lg-groupe a { background: #F4F4F4; }
}

.pz-pas { list-style: none; margin: 0; padding: 0; counter-reset: pas; display: flex; flex-direction: column; gap: 10px; width: 100%; }
.pz-pas li { counter-increment: pas; display: flex; align-items: center; gap: 12px; font-size: 15.5px; line-height: 1.45; color: #000; }
.pz-pas li::before { content: counter(pas); flex: none; width: 30px; height: 30px; border-radius: 50%; background: #00E676; color: #000; display: grid; place-items: center; font-size: 14px; font-weight: 900; }
.pz-pas--haut li { align-items: flex-start; }
.pz-pas-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: #000; font-size: 20px; }

.pz-tl-haut { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.pz-qr { display: none; flex: none; width: 250px; flex-direction: column; align-items: center; gap: 14px; padding: 22px; border-radius: 26px; background: #F4F4F4; text-align: center; }
.pz-qr-code { width: 160px; height: 160px; padding: 10px; border-radius: 16px; background: #fff; }
.pz-qr-code svg { display: block; width: 100%; height: 100%; }
.pz-qr-tx { display: flex; flex-direction: column; gap: 4px; }
.pz-qr-tx b { font-size: 15px; font-weight: 900; }
.pz-qr-tx span { font-size: 13px; line-height: 1.5; color: #4A4A4A; }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .pz-qr { display: flex; } }
.pz-badge { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; border-radius: 10px; }
.pz-badge img { width: 162px; height: 48px; flex: none; }
.pz-badge[aria-disabled="true"] { cursor: not-allowed; }
.pz-badge[aria-disabled="true"] img { filter: grayscale(1); opacity: .4; }
.pz-bientot { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: #000; color: #fff; font-size: 12px; font-weight: 800; }
.pz-bientot[hidden] { display: none; }
.pz-auj { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 20px; border-top: 1px solid #E2E2E2; }
.pz-auj .az-btn { margin: 4px 0 12px; }
.pz-installer { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.pz-installer[hidden], .pz-installer [hidden] { display: none; }
.pz-installer-ok { display: inline-flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 16px; border-radius: 18px; background: #00E676; color: #000; font-size: 15px; line-height: 1.45; }
.pz-installer-ok .ph-fill { flex: none; font-size: 20px; }
.pz-installer-ok b { font-weight: 900; }
@media (max-width: 599.98px) { .pz-installer, .pz-installer .az-btn { align-self: stretch; width: 100%; } }

.pz-uv-haut { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.pz-recherche { flex: 1 1 320px; max-width: 480px; display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 18px; border-radius: 999px; background: #F4F4F4; }
.pz-recherche:focus-within { box-shadow: 0 0 0 3px #00E676; }
.pz-recherche .ph { font-size: 18px; color: #6B6B6B; }
.pz-recherche input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font: inherit; font-size: 15.5px; font-weight: 600; color: #000; }
.pz-recherche input::placeholder { color: #6B6B6B; }
.pz-compte { font-size: 14px; font-weight: 700; color: #6B6B6B; }
.pz-filtres { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.pz-filtres::-webkit-scrollbar { display: none; }
.pz-filtres[hidden] { display: none; }
.pz-filtres button { flex: none; display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 0; background: #F4F4F4; color: #000; font: inherit; font-size: 14.5px; font-weight: 800; cursor: pointer; }
.pz-filtres button .ph { font-size: 16px; }
.pz-filtres button small { font-size: 12px; opacity: .6; }
.pz-filtres button[aria-pressed="true"] { background: #000; color: #fff; }
.pz-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.pz-marque { display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 26px; background: #F4F4F4; min-width: 0; }
.pz-marque .h { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; column-gap: 12px; row-gap: 8px; }
.pz-marque .tuile { width: 52px; height: 52px; flex: none; border-radius: 16px; background: #fff; display: grid; place-items: center; overflow: hidden; font-size: 16px; font-weight: 900; color: #000; }
.pz-marque .nom { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pz-marque .nom b { font-size: 18px; font-weight: 900; letter-spacing: -0.02em; }
.pz-marque .nom span { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: #6B6B6B; }
.pz-marque .badge { grid-column: 2; justify-self: start; max-width: 100%; padding: 4px 10px; border-radius: 999px; background: #00E676; color: #000; font-size: 12px; font-weight: 800; }
.pz-marque p { font-size: 14.5px; line-height: 1.5; color: #4A4A4A; text-wrap: pretty; }
.pz-marque .pied { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #6B6B6B; }
.pz-marque .reseaux { display: flex; gap: 4px; }
.pz-marque .reseaux a { width: 22px; height: 22px; border-radius: 6px; display: grid; place-items: center; }
.pz-marque .reseaux .pec-reseau-logo { width: 22px; height: 22px; border-radius: 6px; }
.pz-marque .reseaux .pec-reseau-logo svg { width: 13px; height: 13px; }
.pz-marque .site { margin-left: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pz-marque .acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.pz-marque .acts .az-btn { padding: 11px 16px; font-size: 14.5px; }
.pz-marque .acts .az-btn--noir { flex: 1; }
.pz-marque .acts .az-btn .ph { font-size: 14px; }
.pz-marque .motif { font-size: 13px; font-weight: 700; color: #6B6B6B; }
.pz-vide { padding: 48px 0; text-align: center; font-weight: 700; color: #6B6B6B; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pz-vide .ph { font-size: 32px; }
.pz-vide[hidden] { display: none; }
.pz-encart-noir { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 16px; padding: clamp(22px, 4vw, 36px); border-radius: 32px; background: #000; color: #fff; }
.pz-encart-noir > div { flex: 1 1 360px; display: flex; flex-direction: column; gap: 6px; }
.pz-encart-noir > div > b { font-size: clamp(22px, 2.6vw, 30px); font-weight: 900; letter-spacing: -0.035em; line-height: 1.1; }
.pz-encart-noir > div > span { font-size: 16px; line-height: 1.5; color: #BDBDBD; }
.pz-encart-noir .vt-verify { color: #fff; }

.pz-blog { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.pz-blog article { height: 100%; display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 3vw, 28px); border-radius: 26px; background: #F4F4F4; }
.pz-blog h2 { font-size: clamp(21px, 2.2vw, 25px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.12; text-wrap: balance; }
.pz-blog h2 a:hover { opacity: 1; text-decoration: underline; text-decoration-color: #00E676; text-decoration-thickness: 3px; text-underline-offset: 3px; }
.pz-blog p { font-size: 15px; line-height: 1.55; color: #4A4A4A; }

.pz-404 { min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; }
.pz-404 main { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; max-width: 560px;
  padding: calc(48px + env(safe-area-inset-top, 0px)) 20px calc(48px + env(safe-area-inset-bottom, 0px)); }
.pz-404 img { width: 72px; height: 72px; border-radius: 18px; }
.pz-404 .pz-boutons { justify-content: center; margin-top: 8px; }

@media (max-width: 759.98px) {
  .pz-tl-haut { flex-direction: column; align-items: flex-start; }
}

@media (min-width: 760px) {
  .pz-cartes--deux { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pz-cartes--sup { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}
.pz-credit { margin-top: 20px !important; font-size: 12px !important; max-width: 760px; }
.pz-page--serre { padding: 0; gap: 16px; }

[data-legal-ligne]:is([hidden], :has([data-a-completer]:empty)) { display: none !important; }
.pz .az-sur { text-transform: uppercase; }
