/* ImmoPrestige237 — pages ville (complément de i237.css). Classes « i-v- ». */

.i-v .i-wrap > p { max-width: 70ch; }
.i-v-intro { margin: 0 0 20px; font-size: 19px; line-height: 1.5; }
.i-v .i-citable { margin: 0; font-size: 17px; color: var(--encre); }
.i-v-legende { margin: 10px 0 0; font-size: 14px; color: var(--encre); }

/* Formule A : texte à gauche, vraie photo à droite */
.i-v-haut-a { padding: 32px 0 40px; }
.i-v-haut-a .i-v-grille { display: grid; gap: 28px; grid-template-columns: 1fr; }
.i-v-haut-a .i-v-photo { width: 100%; height: auto; aspect-ratio: 4 / 5; max-height: 460px; object-fit: cover; border-radius: 4px; display: block; }
.i-v-haut-a .i-v-texte .i-btn { margin-bottom: 24px; }
@media (min-width: 900px) {
  .i-v-haut-a { padding: 56px 0; }
  .i-v-haut-a .i-v-grille { grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
  .i-v-haut-a .i-v-photo { aspect-ratio: auto; max-height: 520px; }
}

/* Formule B : texte à gauche, carte du Cameroun à droite */
.i-v-haut-b { padding: 32px 0 40px; border-bottom: 1px solid var(--filet); }
.i-v-haut-b .i-v-grille { display: grid; gap: 24px; grid-template-columns: 1fr; align-items: center; }
.i-v-haut-b .i-v-carte { max-width: 300px; margin: 0 auto; }
.i-v-haut-b .i-v-texte p.i-v-intro { padding: 16px 20px; border-left: 6px solid var(--ocre); background: var(--gris-releve); }
@media (min-width: 900px) {
  .i-v-haut-b { padding: 56px 0; }
  .i-v-haut-b .i-v-grille { grid-template-columns: 3fr 2fr; gap: 56px; }
  .i-v-haut-b .i-v-carte { max-width: 380px; margin: 0 0 0 auto; }
}

/* Formule C : en-tête compact sur une colonne, petite carte */
.i-v-haut-c { padding: 28px 0 32px; background: var(--gris-releve); }
.i-v-haut-c .i-v-grille { display: grid; gap: 16px; grid-template-columns: 1fr; }
.i-v-haut-c h1 { font-size: 36px; }
.i-v-haut-c .i-v-carte { max-width: 220px; }
.i-v-haut-c .i-v-intro { font-size: 18px; margin-bottom: 12px; }
@media (min-width: 900px) {
  .i-v-haut-c { padding: 40px 0; }
  .i-v-haut-c h1 { font-size: 48px; }
  .i-v-haut-c .i-v-grille { grid-template-columns: 1fr 220px; gap: 48px; align-items: center; }
}

/* Carte de situation (B et C) */
.i-v-carte svg { width: 100%; height: auto; display: block; }

/* Quartiers */
.i-v-quartiers { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 40px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .i-v-quartiers { grid-template-columns: 1fr 1fr; } }
.i-v-quartiers li { padding: 16px 0; border-top: 1px solid var(--filet); }
.i-v-quartiers h3 { margin: 0 0 4px; }
.i-v-quartiers p { margin: 0; }

/* Bon à savoir (formule C) */
.i-v-bon { border: 2px solid var(--vert-mefou); border-radius: 6px; padding: 24px; background: var(--blanc); }
.i-v-bon h2 { font-size: 28px; }
.i-v-bon ul { margin: 0; padding-left: 20px; }
.i-v-bon li { margin: 0 0 10px; max-width: 70ch; }
.i-v-bon li:last-child { margin-bottom: 0; }
@media (min-width: 900px) { .i-v-bon { padding: 32px 40px; } .i-v-bon h2 { font-size: 34px; } }

/* Bloc vente (une phrase, un lien) */
.i-v-vente { margin: 0; font-size: 18px; }

/* Bande location sur une page ville : largeur limitée par logement */
.i-v .i-bande li { max-width: 320px; }

/* Autres villes */
.i-v-autres { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; margin: 0; padding: 0; }
.i-v-autres a { font-size: 18px; }

/* Formule C : moins de vide entre « Les quartiers » et « Bon à savoir » sur ordinateur */
@media (min-width: 900px) {
  .i-v-quartiers-sec { padding-bottom: 40px; }
  .i-v-bon-sec { padding-top: 0; }
}
