/* VilleTranquille V13 — impact, signaux et repères */

/* 1) Tendance demandée : hausse = vert, baisse = rouge */
.vt-city-trend.up,
.trend.up,
.vt-city-map-list em.up{background:#e8f8ef!important;color:#087c4e!important}
.vt-city-trend.down,
.trend.down,
.vt-city-map-list em.down{background:#fff0ee!important;color:#b64b43!important}
.france-kpi.up:before{background:#16a66a!important}.france-kpi.down:before{background:#e75c52!important}
.france-kpi.up .france-kpi-top em{background:#e8f8ef!important;color:#087c4e!important}
.france-kpi.down .france-kpi-top em{background:#fff0ee!important;color:#b64b43!important}
.france-kpi.up .fr-spark polyline{stroke:#16a66a!important}.france-kpi.down .fr-spark polyline{stroke:#e75c52!important}

/* 2) Signaux V13 : beaucoup plus haut, plus gros et plus éditorial */
.v13-signals-section{padding-top:28px!important;padding-bottom:26px!important;scroll-margin-top:155px}
.v13-signals-shell{background:linear-gradient(135deg,#0e2542 0%,#133861 100%);border-radius:28px;padding:34px 36px 36px;color:#fff;box-shadow:0 22px 48px rgba(13,40,72,.16);overflow:hidden;position:relative}
.v13-signals-shell:after{content:"";position:absolute;right:-120px;top:-150px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(51,195,240,.16),rgba(51,195,240,0) 68%);pointer-events:none}
.v13-signals-head{position:relative;z-index:1;max-width:920px}
.v13-signals-head .section-kicker{color:#6edbff;font-size:14px!important;letter-spacing:.13em}
.v13-signals-head h2{color:#fff;font-size:clamp(34px,3.8vw,54px);line-height:1.02;letter-spacing:-.05em;margin:7px 0 10px}
.v13-signals-head p{color:#c7d8e8;font-size:17px;line-height:1.55;margin:0;max-width:820px}
.v13-signal-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.v13-signal-card{position:relative;min-height:220px;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:22px 22px 20px;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.v13-signal-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#76d9f5}
.v13-signal-card.up:before,.v13-signal-card.above:before{background:#21c77a}
.v13-signal-card.down:before,.v13-signal-card.below:before{background:#ff6f63}
.v13-signal-card.near:before,.v13-signal-card.flat:before{background:#6fb6ff}
.v13-signal-card.up,.v13-signal-card.above{background:linear-gradient(145deg,rgba(24,180,108,.14),rgba(255,255,255,.06))}
.v13-signal-card.down,.v13-signal-card.below{background:linear-gradient(145deg,rgba(235,88,75,.14),rgba(255,255,255,.06))}
.v13-signal-top{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}
.v13-signal-bullet{width:14px;height:14px;border-radius:50%;margin-top:5px;background:#6fb6ff;box-shadow:0 0 0 6px rgba(111,182,255,.12)}
.v13-signal-card.up .v13-signal-bullet,.v13-signal-card.above .v13-signal-bullet{background:#2ad58a;box-shadow:0 0 0 6px rgba(42,213,138,.12)}
.v13-signal-card.down .v13-signal-bullet,.v13-signal-card.below .v13-signal-bullet{background:#ff7c70;box-shadow:0 0 0 6px rgba(255,124,112,.12)}
.v13-signal-top strong{color:#fff;font-size:20px;line-height:1.2;letter-spacing:-.025em;padding-right:8px}
.v13-signal-top em{grid-column:2;font-style:normal;font-size:30px;font-weight:900;line-height:1;letter-spacing:-.045em;margin-top:10px;color:#8edcff}
.v13-signal-card.up .v13-signal-top em,.v13-signal-card.above .v13-signal-top em{color:#64e5a7}
.v13-signal-card.down .v13-signal-top em,.v13-signal-card.below .v13-signal-top em{color:#ff998f}
.v13-signal-card p{font-size:16px!important;line-height:1.55;color:#d8e4ef!important;margin:18px 0 0 28px!important}

/* 3) Repères temporels : chiffres avant les libellés */
.v7-profile-grid{gap:16px!important}
.v7-profile-grid>article{border-radius:22px!important;padding:22px!important;box-shadow:0 14px 32px rgba(20,45,75,.06)!important}
.v7-profile-head{gap:14px!important;margin-bottom:16px}
.v7-profile-head .indicator-icon{width:46px!important;height:46px!important;border-radius:13px!important}
.v7-profile-head strong{font-size:20px!important;letter-spacing:-.025em!important}
.v7-profile-head small{font-size:13px!important;margin-top:3px!important}
.v7-profile-stats{gap:10px!important;margin-top:0!important}
.v7-profile-stats>span{min-height:104px;border-radius:14px!important;padding:14px 15px!important;display:flex;flex-direction:column;justify-content:center;border-width:1px!important}
.v7-profile-stats small{font-size:12px!important;line-height:1.25!important;font-weight:700!important;color:#738297!important}
.v7-profile-stats b{font-size:25px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin-top:8px!important;color:#11243d!important}
.v7-profile-stats .v13-low{background:#eef8ff!important;border-color:#cde9f7!important}.v7-profile-stats .v13-low b{color:#0879a7!important}
.v7-profile-stats .v13-high{background:#fff5eb!important;border-color:#f4dac0!important}.v7-profile-stats .v13-high b{color:#bb641b!important}
.v7-profile-stats .v13-neutral{background:#f4f6fb!important;border-color:#e2e8f1!important}.v7-profile-stats .v13-neutral b{color:#405574!important}
.v7-profile-stats .v13-median.up{background:#ebf9f1!important;border-color:#caecd9!important}.v7-profile-stats .v13-median.up b{color:#07804e!important}
.v7-profile-stats .v13-median.down{background:#fff0ee!important;border-color:#f3d0cc!important}.v7-profile-stats .v13-median.down b{color:#b54b43!important}
.v7-profile-stats .v13-median.flat{background:#eef4ff!important;border-color:#d4e2fa!important}.v7-profile-stats .v13-median.flat b{color:#155dcc!important}

/* 4) Bloc éditorial centré dans la grille, texte toujours à gauche */
.v13-seo-copy{width:min(calc(100% - 32px),1320px)!important;max-width:1320px!important;margin:34px auto!important;padding:38px 42px!important;border-radius:24px!important}
.v13-seo-copy .section-head,.v13-seo-copy>p{max-width:1040px!important;margin-left:auto!important;margin-right:auto!important}
.v13-seo-copy h2{font-size:clamp(34px,3.7vw,52px)!important;letter-spacing:-.045em!important}
.v13-seo-copy>p{font-size:17px!important;line-height:1.72!important;color:#465b72!important}

/* 5) Carte : vraies tuiles N&B, lisibles et contraste renforcé */
.vt-city-map{background:#e9edf0!important;min-height:500px}
.vt-city-map .leaflet-tile-pane{filter:grayscale(1) saturate(0) contrast(1.04) brightness(1.02)!important;opacity:1!important}
.vt-city-map .leaflet-tile{visibility:visible!important}
.vt-city-map-grid>aside{box-shadow:0 12px 30px rgba(24,46,73,.05)}
.vt-city-map-list a{padding:12px 13px!important}
.vt-city-map-list strong{font-size:14px!important}.vt-city-map-list small{font-size:11px!important}.vt-city-map-list em{font-size:12px!important;padding:6px 9px!important}

/* 6) Titres de section plus accrocheurs */
.section-head .section-kicker{font-size:13px!important;letter-spacing:.12em!important}
.section-head h2{letter-spacing:-.045em!important}

@media(max-width:1000px){
  .v13-signal-grid{grid-template-columns:1fr 1fr}
  .v13-signal-card:last-child{grid-column:1/-1}
}
@media(max-width:700px){
  .v13-signals-section{padding-top:18px!important}
  .v13-signals-shell{padding:24px 18px 22px;border-radius:21px}
  .v13-signals-head h2{font-size:36px}
  .v13-signals-head p{font-size:15px}
  .v13-signal-grid{grid-template-columns:1fr;gap:10px;margin-top:20px}
  .v13-signal-card,.v13-signal-card:last-child{grid-column:auto;min-height:0;padding:19px}
  .v13-signal-top strong{font-size:18px}.v13-signal-top em{font-size:27px}.v13-signal-card p{font-size:15px!important;margin-left:28px!important}
  .v7-profile-grid{grid-template-columns:1fr!important}
  .v7-profile-stats{grid-template-columns:1fr 1fr!important}
  .v7-profile-stats>span{min-height:90px}
  .v7-profile-stats b{font-size:21px!important}
  .v13-seo-copy{width:min(calc(100% - 20px),1320px)!important;padding:25px 20px!important;margin:24px auto!important}
  .v13-seo-copy>p{font-size:15.5px!important}
  .vt-city-map{min-height:360px;height:360px!important}
}
@media(max-width:430px){
  .v7-profile-stats{grid-template-columns:1fr!important}
}
