/* Corrections issues de l'audit Codex du 27/10/2026 (C:\tmp\photographe-audit\RAPPORT.md). Chargée en dernier. */

/* 1. Contact : état d'erreur anti-spam lisible */
#turnstile-status-contact:not(:empty){padding:12px 14px;border-inline-start:4px solid #b42318;border-radius:8px;background:#fff0ed;color:#8a1c13;font-size:14px;line-height:1.5}

/* 2. Accueil : hero mobile/tablette centré, bandeau sous le hero */
@media (max-width:920px){
  .nf-home .nf-hero{display:block;min-height:auto;padding-block:40px 0}
  .nf-home .nf-hero>.nf-hero-grid{width:min(1200px,calc(100% - 40px));margin-inline:auto;min-width:0;grid-template-columns:minmax(0,1fr)}
  .nf-home .nf-hero>.nf-marquee--hero{position:relative !important;inset:auto !important;width:100% !important;max-width:100% !important;margin:28px 0 0 !important;transform:none !important}
  .nf-home .nf-hero-visual{justify-self:center;width:min(420px,100%);margin-top:0}
}
@media (max-width:640px){.nf-home .nf-hero>.nf-hero-grid{width:calc(100% - 28px)}}

/* 3. Tablette : spécialités et conseils sur deux colonnes */
@media (min-width:761px) and (max-width:920px){
  .nf-home .nf-specs,.nf-home .nf-advice{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px 20px !important}
}

/* 4. Guide : résumé au-dessus du texte sous 980 px */
@media (max-width:980px){
  .nf-editorial-page .nf-editorial-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .nf-editorial-page .nf-editorial-summary{position:static}
}
@media (min-width:721px) and (max-width:980px){.nf-editorial-page .nf-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 5. Carte : liste des départements plus compacte sur mobile */
@media (max-width:920px){
  .nf-map-page .nf-department-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .nf-map-page .nf-department-card{min-height:0;padding:12px 14px;border-radius:12px}
  .nf-map-page .nf-department-card strong{font-size:14px}
  .nf-map-page .nf-department-card span,.nf-map-page .nf-department-card small{font-size:12px}
}
@media (max-width:380px){.nf-map-page .nf-department-grid{grid-template-columns:minmax(0,1fr)}}

/* 6. En-tête et pied de page alignés sur le contenu (1200 px) */
.brand-header .container-page,.footer .container-page{width:min(1200px,calc(100% - 40px));margin-inline:auto}
@media (max-width:640px){.brand-header .container-page,.footer .container-page{width:calc(100% - 28px)}}

/* 7. Simulateur : titre équilibré */
.pf-budget #t-budget{text-wrap:balance}

/* 8. Carrousels mobiles : défilement visible, filtres plus grands */
@media (max-width:760px){
  .pf-planche .pf-chip{min-height:44px}
  .pf-chips,.pf-film,.nf-home .nf-specs,.nf-home .nf-advice{scrollbar-width:thin;overscroll-behavior-x:contain}
  .pf-chips::-webkit-scrollbar,.pf-film::-webkit-scrollbar,.nf-home .nf-specs::-webkit-scrollbar,.nf-home .nf-advice::-webkit-scrollbar{display:block;height:6px}
}

/* 9. Menu mobile : cible tactile et panneau défilable */
.brand-header .mobile-toggle{min-width:44px;min-height:44px}
#mobile-panel.open{max-height:calc(100dvh - 77px);overflow-y:auto}

/* 10. Réglages au défilement : la scène ne passe plus sous l'en-tête */
:root{--pf-header-h:77px}
@media (max-width:920px){:root{--pf-header-h:69px}}
.pf-reglages-sticky{top:var(--pf-header-h);height:calc(100svh - var(--pf-header-h));min-height:0}

/* ---------- Bugs visuels (28/10) ---------- */
/* Tuiles des régions : le numéro chevauchait le nom → badge dans le flux */
.nf-geo-tile{align-content:start;min-height:0;gap:8px}
.nf-geo-tile .nf-geo-tile-code{position:static;top:auto;left:auto;justify-self:start;display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;background:#14110f;color:#ffc247 !important;font-size:11px !important;letter-spacing:.1em;line-height:1;margin-bottom:6px}
.nf-geo-tile .nf-geo-tile-code::after{content:"A";margin-left:1px}
.nf-geo-tile>small:last-child{margin-top:4px}

/* Connexion : formulaire centré sous un en-tête centré */
.nf-pro-page .nf-page-hero .nf-wrap{text-align:center}
.nf-pro-page .nf-page-hero h1,.nf-pro-page .nf-page-hero .nf-lead{margin-inline:auto}
.nf-pro-page .nf-pro-wrap{margin-inline:auto;justify-items:center}
.nf-pro-page .nf-auth-form{width:100%;max-width:460px}

/* Contact : message anti-spam sur toute la largeur du formulaire */
#turnstile-status-contact{grid-column:1/-1;width:100%}

/* Textes longs : espacement entre paragraphes et avant les titres */
.nf-legal-prose p,.nf-editorial-prose p{margin:0 0 14px}
.nf-legal-prose h2{margin:40px 0 14px}
.nf-legal-prose h2:first-child{margin-top:0}
.nf-editorial-prose h2{margin-top:44px}
.nf-editorial-prose h2:first-child{margin-top:0}

/* Boutons : même largeur quand ils s'empilent sur mobile */
.pf-404-actions .nf-btn{padding-inline:20px}
@media (max-width:560px){
  .nf-editorial-actions,.nf-geo-actions,.pf-404-actions,.nf-empty{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .nf-editorial-actions .nf-btn,.nf-geo-actions .nf-btn,.pf-404-actions .nf-btn,.nf-empty .nf-btn,.nf-geo-panel .nf-btn{width:100%;justify-content:center;text-align:center}
  .nf-empty{justify-items:center}
}

/* Pied de page : texte de présentation plus lisible sur le fond orange */
footer.footer p,.footer p{color:rgba(255,255,255,.86) !important}
.pf-404-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media (max-width:760px){.pf-404-grid{grid-template-columns:1fr}}
