/* Retouches ordinateur (29/09/2026). Tout est limité aux grands écrans : le mobile n'est pas concerné. */
@media (min-width: 1100px) {
    /* Largeur : pas de lignes interminables sur 1920 */
    .annonces-fullwidth { max-width: 1520px; padding: 0 32px 72px; }
    .section-lead, .article-body p, .prose p { max-width: 72ch; }

    /* Résultats : filtres en colonne latérale collante */
    .agences-panel:has(> .ria-filtres) {
        display: grid; grid-template-columns: 250px minmax(0, 1fr);
        column-gap: 28px; align-items: start; grid-auto-flow: row dense;
        padding: 26px 28px;
    }
    .agences-panel:has(> .ria-filtres) > * { grid-column: 1 / -1; min-width: 0; }
    .agences-panel:has(> .ria-filtres) > .ria-filtres-bouton { display: none; }
    .agences-panel > .ria-filtres {
        grid-column: 1; grid-row: span 3;
        position: sticky; top: 88px; margin: 0;
        flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px;
        padding: 18px; border-radius: 14px; background: #fafaff;
    }
    .agences-panel > .ria-filtres::before {
        content: "Affiner"; font-size: 13px; font-weight: 800; letter-spacing: .08em;
        text-transform: uppercase; color: var(--indigo-dark);
    }
    .agences-panel > .ria-filtres select { width: 100%; min-width: 0; }
    .agences-panel > .ria-filtres .ria-filtre-case { padding: 2px 0; }
    .agences-panel > .ria-filtres .btn, .agences-panel > .ria-filtres .btn-sm { width: 100%; justify-content: center; padding: 10px 16px; }
    .agences-panel > .ria-filtres .ria-filtres-reset { text-align: center; font-size: 13px; }
    .agences-panel > .ria-carte-wrap,
    .agences-panel > .baisses-grille,
    .agences-panel > .baisses-grille + div { grid-column: 2; }
    .agences-panel > .baisses-grille { margin-top: 0; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
    .ria-outils { margin-bottom: 18px; }

    /* Cartes d'annonces : photo en 4/3, hover sobre */
    .baisse-card { border-radius: 16px; }
    .baisse-card .bc-photo { height: auto; aspect-ratio: 4 / 3; transition: filter .25s; }
    .baisse-card:hover { transform: translateY(-4px); border-color: rgba(79, 70, 229, .35); }
    .baisse-card:hover .bc-photo { filter: saturate(1.08) brightness(1.03); }
    .bc-corps { padding: 16px 18px 18px; gap: 7px; }
    .bc-prix-actuel { font-size: 22px; letter-spacing: -.01em; }
    .bc-pied { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); }
}

/* Vue carte : liste à gauche, carte collante à droite */
@media (min-width: 1280px) {
    .agences-panel:has(> .ria-filtres):has(> .ria-carte-wrap) {
        grid-template-columns: 230px minmax(0, 1fr) minmax(0, 1.05fr);
    }
    .agences-panel > .ria-carte-wrap {
        grid-column: 3; grid-row: span 3;
        position: sticky; top: 88px; margin: 0;
    }
    .agences-panel > .ria-carte-wrap #ria-carte { height: calc(100vh - 110px); min-height: 520px; }
    .agences-panel:has(> .ria-carte-wrap) > .baisses-grille { grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)); gap: 16px; }
    .agences-panel:has(> .ria-carte-wrap) > .baisses-grille .bc-corps { padding: 14px 14px 16px; }
    .agences-panel:has(> .ria-carte-wrap) > .baisses-grille .bc-prix-actuel { font-size: 19px; }
}

@media (min-width: 1100px) and (prefers-reduced-motion: reduce) {
    .baisse-card, .baisse-card .bc-photo { transition: none; }
    .baisse-card:hover { transform: none; }
}

/* Passe 2 (29/09/2026) : accueil, en-tête, pied, fiches et pages de contenu. Grands écrans seulement. */
@media (min-width: 1100px) {
    /* Largeur commune : contenu, en-tête et pied alignés */
    .wrap:not([class*=" "]), .hdr-in, .site-footer-pro .wrap { max-width: 1240px; }

    /* En-tête */
    .hdr-in { padding: 0 32px; }
    .hdr-nav a { transition: color .15s; }

    /* Pied de page */
    .site-footer-pro .wrap { padding: 0 32px; }
    .sfp-grid { grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr)); column-gap: 40px; }

    /* Accueil : les chiffres du hero ne passent plus sur la vague */
    .hv3 .hv3-hero .wrap { padding-bottom: 64px; }
    .hv3 .hv3-hero::after { height: 64px; clip-path: ellipse(80% 100% at 50% 100%); }
    .hv3 .hv3-preuves { gap: 44px; }
    .hv3 .hv3-preuves div span { color: #c7d2fe; }

    /* Fiche annonce : résumé large, carte à gauche, infos à droite */
    .agences-panel:has(> .annonce-resume) {
        display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
        column-gap: 24px; align-items: start; grid-auto-flow: row dense; padding: 28px;
    }
    .agences-panel:has(> .annonce-resume) > * { grid-column: 1 / -1; min-width: 0; }
    .agences-panel > .annonce-resume { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; align-items: center; }
    .annonce-resume .ar-photo { height: auto; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; }
    .annonce-resume .ar-photo img { width: 100%; height: 100%; object-fit: cover; }
    .agences-panel:has(> .annonce-resume) > .c3d { grid-column: 1; grid-row: span 3; }
    .agences-panel:has(> .annonce-resume) > .ville-graphique,
    .agences-panel:has(> .annonce-resume) > .ria-alerte,
    .agences-panel:has(> .annonce-resume) > .panel { grid-column: 2; margin-top: 0; }

    /* Page agence : les deux tableaux tiennent sans défilement */
    .sa-grille { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
    .sa-types-table th, .sa-types-table td { padding: 9px 6px; font-size: 13px; }
    .sa-types-table th { white-space: normal; vertical-align: bottom; }

    /* Pages villes : graphiques côte à côte */
    .agences-panel:has(> .ville-stats) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 24px; align-items: start; }
    .agences-panel:has(> .ville-stats) > * { grid-column: 1 / -1; min-width: 0; }
    .agences-panel:has(> .ville-stats) > .ville-graphique { grid-column: auto; }
    .agences-panel:has(> .ville-stats) > .ville-graphique { margin-top: 0; }
    .ville-stats:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }

    /* Comparateur : état vide lisible */
    .cmp-vide { max-width: 760px; margin: 8px auto 0; text-align: center; }
    .cmp-vide > p:first-child { font-size: 18px; font-weight: 700; color: var(--ink); margin-bottom: 10px; }

    /* Blog */
    .blog-grille { gap: 28px; }
    .article-cover { height: 240px; }
    .article-titre { font-size: 44px; line-height: 1.1; letter-spacing: -.02em; }
    .article-contenu { font-size: 17.5px; line-height: 1.75; }
    .article-contenu h2 { margin-top: 1.8em; }

    /* Favoris : état vide */
    .vg-empty { padding: 56px 32px; text-align: center; font-size: 16px; border-radius: 16px; }
    .vg-empty > .ic { display: block; width: 40px; height: 40px; margin: 0 auto 14px; color: var(--indigo, #4f46e5); }
}

@media (min-width: 1600px) {
    .wrap:not([class*=" "]), .hdr-in, .site-footer-pro .wrap { max-width: 1360px; }
    .hv3-hero .wrap { min-height: 680px; }
}
