/* PPN – Pages piliers régionales et blocs d'accueil (marchés de Noël) – v1.1.0 */
.ppn-hub,.ppn-search,.ppn-hubnav,.ppn-hubfaq{--ppn-red:#C41939;--ppn-red-dark:#9E1430;--ppn-blue:#01488B;--ppn-text:#383A3E;--ppn-muted:#5C6068;--ppn-line:#E3E5E8;--ppn-bg:#F6F6F6;font-family:Roboto,system-ui,sans-serif;color:var(--ppn-text)}
.ppn-hub *,.ppn-search *,.ppn-hubnav *{box-sizing:border-box}

/* Grilles de cartes : 3 colonnes par défaut, 4 ou 2 en option (cols="4") */
.ppn-hub{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1320px;width:100%}
.ppn-hub .ppn-results{grid-template-columns:repeat(3,minmax(0,1fr))}
.ppn-hub--c4 .ppn-results{grid-template-columns:repeat(4,minmax(0,1fr))}
.ppn-hub--c2 .ppn-results{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1100px){.ppn-hub--c4 .ppn-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.ppn-hub .ppn-results,.ppn-hub--c4 .ppn-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ppn-hub .ppn-results,.ppn-hub--c4 .ppn-results,.ppn-hub--c2 .ppn-results{grid-template-columns:1fr}}
.ppn-hub__month{font:700 22px/1.3 Roboto,sans-serif;color:var(--ppn-blue);margin:18px 0 0;padding-bottom:6px;border-bottom:2px solid var(--ppn-line)}
.ppn-hub__month span{font-weight:400;color:var(--ppn-muted);font-size:16px}
.ppn-hub__title{font:700 26px/1.25 Roboto,sans-serif;color:var(--ppn-text);margin:0}
.ppn-hub__title span{font-weight:400;color:var(--ppn-muted);font-size:18px}
.ppn-hub__actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.ppn-hub__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:30px;background:var(--ppn-red);color:#fff!important;font-weight:600;text-decoration:none!important;border:0;cursor:pointer;font-size:16px}
.ppn-hub__btn:hover{background:var(--ppn-red-dark)}
.ppn-hub__btn--ghost{background:#fff;color:var(--ppn-red)!important;border:2px solid var(--ppn-red)}
.ppn-hub__btn--ghost:hover{background:#fff5f6}
.ppn-hub__empty{background:var(--ppn-bg);border-radius:12px;padding:18px;margin:0}
.ppn-hub .ppn-card__title{font-size:20px;margin:0}

/* Barre de recherche de l'accueil (sous le slider, en superposition) */
.ppn-search{max-width:1100px;margin:0 auto;width:100%}
.ppn-search__form{background:#fff;border-radius:18px;box-shadow:0 10px 34px rgba(0,0,0,.16);padding:18px 20px 14px;margin:0}
.ppn-search__row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.ppn-search__field{display:flex;flex-direction:column;gap:6px;flex:1 1 170px;margin:0;font-size:13px;font-weight:600;color:var(--ppn-muted)}
.ppn-search__field--q{flex:3 1 300px}
.ppn-search .ppn-search__field input,.ppn-search .ppn-search__field select{height:50px;border:1px solid #C9CDD3;border-radius:10px;padding:0 14px;font:400 16px Roboto,sans-serif;color:var(--ppn-text);background:#fff;width:100%;margin:0}
.ppn-search .ppn-search__field input:focus,.ppn-search .ppn-search__field select:focus{outline:2px solid var(--ppn-blue);outline-offset:1px;border-color:var(--ppn-blue)}
.ppn-search__btn{flex:0 0 auto;height:50px;padding:0 28px;border-radius:30px;border:0;background:var(--ppn-red);color:#fff;font:600 17px Roboto,sans-serif;cursor:pointer}
.ppn-search__btn:hover,.ppn-search__btn:focus{background:var(--ppn-red-dark);color:#fff}
.ppn-search__quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:12px 0 0;font-size:15px}
.ppn-search__quick a{color:var(--ppn-red)!important;font-weight:600;text-decoration:none!important}
.ppn-search__quick a:hover{text-decoration:underline!important}
.ppn-search__maj{margin-left:auto;color:var(--ppn-muted);font-size:13px}
@media (max-width:700px){.ppn-search__form{padding:14px}.ppn-search__btn{width:100%}.ppn-search__maj{margin-left:0}}

/* Liens vers les pages piliers */
.ppn-hubnav{max-width:1320px;margin:0 auto;width:100%}
.ppn-hubnav__title{font:700 24px/1.3 Roboto,sans-serif;margin:0 0 14px;color:var(--ppn-text)}
.ppn-hubnav__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.ppn-hubnav__grid a{display:flex;flex-direction:column;gap:2px;height:100%;padding:16px 18px;border:1px solid var(--ppn-line);border-radius:14px;background:#fff;text-decoration:none!important;color:var(--ppn-text)!important;transition:border-color .15s,box-shadow .15s}
.ppn-hubnav__grid a:hover{border-color:var(--ppn-red);box-shadow:0 4px 14px rgba(196,25,57,.12)}
.ppn-hubnav__grid b{font-size:17px;color:var(--ppn-red)}
.ppn-hubnav__grid span{font-size:14px;color:var(--ppn-muted)}

/* FAQ en shortcode (si utilisée ; sinon widget Accordéon Elementor) */
.ppn-hubfaq{max-width:900px;margin:0 auto 40px}
.ppn-hubfaq h2{font:700 24px/1.3 Roboto,sans-serif;margin:0 0 12px}
.ppn-hubfaq details{border-bottom:1px solid var(--ppn-line);padding:12px 0}
.ppn-hubfaq summary{cursor:pointer;font-weight:600;font-size:17px;color:var(--ppn-text)}
.ppn-hubfaq details p{margin:8px 0 0;line-height:1.6}
