/* V58 — corrections limitées à la navigation, aux articles et aux cibles tactiles. */

/* Les anciennes règles .nav a:not(.btn) ne doivent plus épaissir les sous-menus. */
.header .site-nav .nav-parent > a,
.header .site-nav > a:not(.btn),
.header .site-nav .submenu a {
  font-weight:600!important;
  letter-spacing:0!important;
}
.header .site-nav .submenu a strong {font-weight:600!important;letter-spacing:0!important}
.header .site-nav .nav-parent > a,
.header .site-nav > a:not(.btn) {font-size:.9rem!important}
.header .site-nav .submenu a {font-size:.82rem!important;line-height:1.45!important}
.header .site-nav .nav-cta {font-size:.9rem!important;font-weight:600!important;letter-spacing:0!important}

/* Pied de page : une hiérarchie commune, indépendante des anciennes règles de page. */
.site-footer .footer-grid h4 {font-size:1.02rem!important;font-weight:600!important;letter-spacing:0!important;line-height:1.5!important}
.site-footer .footer-grid p {font-size:.87rem!important;font-weight:400!important;letter-spacing:0!important;line-height:1.65!important}
.site-footer .footer-grid a {font-size:.87rem!important;font-weight:600!important;letter-spacing:0!important;line-height:1.55!important}
.site-footer .qbe-title {font-size:.78rem!important;font-weight:600!important;letter-spacing:0!important}
.site-footer .footer-bottom {font-weight:400!important;letter-spacing:0!important;line-height:1.6!important}
.site-footer .footer-bottom a {font-weight:600!important;letter-spacing:0!important;line-height:1.5!important}
@media(min-width:981px) and (max-width:1250px) {
  .header .site-nav .nav-parent > a,
  .header .site-nav > a:not(.btn) {font-size:.75rem!important}
  .header .site-nav .nav-cta {font-size:.8rem!important}
}

/* Même hiérarchie et mêmes retours à la ligne pour les quatre articles. */
.hero.v57-article-hero {padding:32px 0 56px!important}
.hero.v57-article-hero h1 {
  font-size:clamp(2rem,3.2vw,3rem)!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
  word-spacing:.02em;
  overflow-wrap:normal!important;
  word-break:normal;
  hyphens:manual;
  text-wrap:balance;
}
.hero.v57-article-hero p {
  font-size:clamp(1rem,1.1vw,1.08rem)!important;
  font-weight:400;
  line-height:1.75!important;
  letter-spacing:0;
}
.hero.v57-article-hero .hero-label {font-weight:600!important;line-height:1.5}

/* Une seule coche verte, avec les lignes suivantes alignées sur le texte. */
.v57-article-body ul.v58-checklist {list-style:none;margin:0;padding:0}
.v57-article-body .v58-check-item {position:relative;padding:6px 0 6px 28px}
.v58-check-icon {position:absolute;left:0;top:6px;width:20px;text-align:center}

/* Urbanisme : le groupe de boutons et le libellé avaient perdu leur style de base. */
[data-v57-page="08"] .hero-actions {display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
[data-v57-page="08"] .hero-label {display:inline-block;padding:7px 12px;line-height:1.5}

/* Accueil : une respiration photographique dans le bandeau d’expérience. */
[data-v57-page="01"] .stats {
  background:linear-gradient(105deg,rgba(11,74,117,.94) 0%,rgba(8,123,193,.82) 55%,rgba(8,123,193,.55) 100%),url("photos-v57/centrale-sol-prairie.webp") center 55%/cover no-repeat!important;
}

@media(max-width:980px) {
  .header .site-nav .submenu {gap:4px!important}
  .header .site-nav .submenu a {
    min-height:44px;
    padding:11px 10px!important;
    font-size:.84rem!important;
    line-height:1.5!important;
    white-space:normal;
  }
  .header .site-nav .nav-parent > a,
  .header .site-nav > a:not(.btn) {min-height:48px;font-size:.92rem!important;line-height:1.5!important}
  .header .site-nav .nav-cta {min-height:50px;margin-top:16px!important}
}

@media(max-width:760px) {
  .hero.v57-article-hero {padding:24px 0 36px!important}
  .hero.v57-article-hero h1 {
    font-size:clamp(1.75rem,6.9vw,2rem)!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
  }
  .hero.v57-article-hero p {font-size:1rem!important}
}

@media(max-width:640px) {
  /* Les règles de bureau sont conservées ; seuls les groupes d’actions mobiles changent. */
  main .hero-actions,main .help-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:16px!important;
  }
  main .hero-actions > .btn,main .help-actions > .btn {
    width:100%;
    min-height:50px!important;
    padding:12px 20px!important;
    line-height:1.45!important;
    text-align:center;
    white-space:normal;
  }
  .v57-article-end > div {display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .v57-article-end .btn {width:100%;min-height:50px;padding:12px 20px!important;line-height:1.45!important}
  .v57-article-end .v57-service-link {display:flex;align-items:center;min-height:44px;line-height:1.5}
  main .analysis-tabs,main .check-tabs,main .tabs,main .filters {gap:12px}
  main .analysis-tab,main .check-tab,main .tab,main .filter-btn {min-height:44px;line-height:1.45}
  .v54-progress button,.v55-tab-controls .rotation-toggle {min-height:44px;min-width:44px}
  .v54-progress {gap:12px}
  .site-footer .footer-legal {gap:12px 22px!important}
  .site-footer .footer-legal a {min-height:44px;align-items:center}

  /* Les petits points gardent leur aspect, leur zone tactile devient plus large. */
  .hero .hero-dots {gap:6px;max-width:calc(100% - 24px)}
  .hero .hero-dot,.calc-dots button {
    display:grid;place-items:center;
    width:44px!important;min-width:44px;height:44px!important;
    padding:0;border:0;background:transparent!important;flex-shrink:0;
  }
  .hero .hero-dot::before,.calc-dots button::before {
    content:"";display:block;width:10px;height:10px;border-radius:99px;
    background:rgba(255,255,255,.6);transition:width .2s ease;
  }
  .hero .hero-dot.active::before {width:34px;background:var(--yellow)}
  .calc-dots {gap:6px}
  .calc-dots button::before {width:8px;height:8px;background:#cadbe6}
  .calc-dots button.active::before {width:28px;background:var(--blue)}
  .hero .hero-dots .rotation-toggle {min-height:44px;padding:8px 10px;white-space:nowrap}
  .hero .hero-dots .v55-hero-progress {min-width:24px;flex:0 1 46px}
}
