/* ==========================================================================
   Maxelik, pages villes à structure propre (hors Caen) : composants vu-
   Arrondis 8 px, ni contour ni liseré d'accent. Fond sombre : .vu-dark.
   ========================================================================== */
.vu-dark{position:relative;background:linear-gradient(125deg,#0f1a22 0%,#142532 100%);color:#c8d3d9}
.vu-dark h2,.vu-dark h3{color:#fff}
.vu-dark p,.vu-dark .lead{color:#c8d3d9}
.vu-dark a:not(.btn){color:#7fd8ff}
.vu-ek{font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.vu-dark .vu-ek{color:#7fd8ff}
.sec-head .vu-ek{margin-bottom:-4px}

/* texte et photo */
.vu-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center}
.vu-split.is-rev .vu-split-t{order:2}
.vu-split-t{display:grid;gap:16px;justify-items:start}
.vu-split-t p:not(.vu-ek){font-size:1.04rem;line-height:1.75;color:var(--ink-2)}
.vu-dark .vu-split-t p:not(.vu-ek){color:#c8d3d9}
.vu-split-p{margin:0}
.vu-split-p img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}

/* cartes */
.vu-cartes{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.8vw,22px)}
.vu-c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vu-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vu-cartes li{display:grid;align-content:start;gap:10px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r);background:var(--soft)}
.bg-soft .vu-cartes li{background:#fff}
.vu-dark .vu-cartes li{background:rgba(255,255,255,.06)}
.vu-cartes h3{font-size:1.15rem}
.vu-cartes p{font-size:.97rem;line-height:1.65;color:var(--ink-2)}
.vu-dark .vu-cartes p{color:#c8d3d9}
.vu-n{font-size:1.5rem;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--blue)}
.vu-dark .vu-n{color:#7fd8ff}

/* tableau comparatif */
.vu-tb{overflow-x:auto;border-radius:var(--r);background:#fff;box-shadow:0 24px 60px -44px rgba(19,40,60,.5)}
.bg-white .vu-tb{background:var(--soft);box-shadow:none}
.vu-tb table{width:100%;border-collapse:collapse;font-size:.98rem}
.vu-tb th,.vu-tb td{padding:16px 20px;text-align:left;vertical-align:top;line-height:1.5}
.vu-tb thead th{background:var(--slate);color:#fff;font-weight:800;font-size:.9rem}
.vu-tb tbody th{font-weight:800;color:var(--slate);width:30%}
.vu-tb tbody td{color:var(--ink-2)}
.vu-tb tbody tr+tr th,.vu-tb tbody tr+tr td{box-shadow:inset 0 1px 0 #e6edf2}
.vu-note{margin-top:14px;font-size:.88rem;color:var(--ink-2)}

/* étapes */
.vu-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(14px,1.8vw,22px)}
.vu-etapes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:clamp(22px,2.4vw,28px);border-radius:var(--r);background:rgba(255,255,255,.06)}
.bg-white .vu-etapes li,.bg-soft .vu-etapes li{background:var(--soft)}
.vu-etapes .vu-n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;font-size:1rem;letter-spacing:0}
.vu-etapes h3{font-size:1.1rem;margin-bottom:8px}
.vu-etapes p{font-size:.97rem;line-height:1.65}

/* question et encadré */
.vu-rep{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:center}
.vu-rep>div{display:grid;gap:16px;justify-items:start}
.vu-rep>div p:not(.vu-ek){font-size:1.04rem;line-height:1.75;color:var(--ink-2)}
.vu-rep-b{padding:clamp(24px,3vw,34px);border-radius:var(--r);background:#fff}
.bg-white .vu-rep-b{background:var(--soft)}
.vu-rep-t{font-weight:900;color:var(--slate);margin-bottom:14px}
.vu-rep-b ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vu-rep-b li{position:relative;padding-left:24px;font-size:.98rem;line-height:1.5;color:var(--ink-2)}
.vu-rep-b li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:50%;background:var(--grad)}

.vu-lecture{margin-top:clamp(24px,3vw,36px);font-size:1.04rem;line-height:1.7;color:#dcecff}
.vu-lecture b{color:#fff}
.vu-lecture a{color:#7fd8ff}

@media (max-width:1100px){.vu-c3{grid-template-columns:repeat(2,minmax(0,1fr))}.vu-c3 li:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:860px){
  .vu-split,.vu-rep{grid-template-columns:1fr}
  .vu-split.is-rev .vu-split-t{order:0}
  .vu-c2,.vu-c3{grid-template-columns:1fr}
  .vu-c3 li:last-child:nth-child(odd){grid-column:auto}
  .vu-tb table{min-width:600px}
}

@media (min-width:861px){.vu-etapes:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
