/* ============================================
   KEYONE — vente.css
   Page biens à vendre (style annonces immo)
   ============================================ */

/* ===== FILTRES ===== */
.vente-filtres { background:var(--off-white,#f5f7fa); border-bottom:1px solid rgba(30,64,128,0.10); padding:14px 8%; }
.vente-filtres-inner { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.vente-filtre-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted,#5a6a82); flex-shrink:0; }
.vente-filtre-btns { display:flex; gap:8px; flex-wrap:wrap; }
.vf-btn { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:7px 16px; border-radius:2px; border:1px solid rgba(30,64,128,0.2); background:white; color:var(--text-muted,#5a6a82); cursor:pointer; transition:all 0.2s; }
.vf-btn:hover { border-color:var(--blue,#1e4080); color:var(--blue,#1e4080); }
.vf-btn.active { background:var(--blue,#1e4080); border-color:var(--blue,#1e4080); color:white; }
.vente-count { margin-left:auto; font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:600; letter-spacing:1px; color:var(--text-muted,#5a6a82); }

/* ===== LISTE ===== */
.vente-liste { display:flex; flex-direction:column; gap:0; }
.vente-sep { border:none; border-top:1px solid rgba(30,64,128,0.08); margin:48px 0; }

/* ===== CARTE BIEN ===== */
.bien-card { background:white; border:1px solid rgba(30,64,128,0.09); border-radius:6px; overflow:hidden; box-shadow:0 3px 16px rgba(13,27,46,0.06); }

/* ===== GALERIE ===== */
.bien-galerie { background:var(--navy,#0d1b2e); }

/* Photo principale — pleine largeur, image entière visible */
.bien-photo-principale {
  position:relative; overflow:hidden; cursor:pointer;
  background:var(--navy,#0d1b2e);
  display:flex; align-items:center; justify-content:center;
}
.bien-photo-principale img {
  width:100%;
  object-fit:contain;   /* toute l'image visible, pas de découpe */
  height:auto;
  max-height:560px;
  display:block;
  transition:transform 0.4s ease;
}
.bien-photo-principale:hover img { transform:scale(1.015); }

/* Badge statut sur la photo */
.bien-statut {
  position:absolute; top:16px; left:16px;
  font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  padding:5px 12px; border-radius:2px; color:white;
}
.bien-statut.disponible { background:rgba(39,174,96,0.90); }
.bien-statut.vendu      { background:rgba(192,57,43,0.90); }
.bien-statut.reserve    { background:rgba(243,156,18,0.90); }

/* Icône zoom */
.bien-zoom { position:absolute; bottom:12px; right:12px; background:rgba(0,0,0,0.5); backdrop-filter:blur(6px); border-radius:50%; width:36px; height:36px; display:flex; align-items:center; justify-content:center; pointer-events:none; }

/* Rangée miniatures */
.bien-thumbs { display:flex; gap:3px; padding:3px; background:var(--navy,#0d1b2e); }
.bien-thumb { flex:1; height:80px; overflow:hidden; cursor:pointer; position:relative; border-radius:2px; }
.bien-thumb img { width:100%; height:100%; object-fit:cover; display:block; opacity:0.55; transition:opacity 0.2s, transform 0.3s; }
.bien-thumb:hover img { opacity:0.88; transform:scale(1.06); }
.bien-thumb.active img { opacity:1; }
.bien-thumb.active::after { content:''; position:absolute; inset:0; border:2px solid var(--blue,#1e4080); pointer-events:none; }

/* ===== CONTENU ===== */
.bien-contenu { padding:0; }

/* Titre & Prix */
.bien-titre-bloc { padding:24px 28px 20px; border-bottom:1px solid rgba(30,64,128,0.07); }
.bien-type { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue,#1e4080); margin-bottom:6px; }
.bien-titre { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3vw,32px); font-weight:600; color:var(--text-dark,#0d1b2e); margin-bottom:8px; line-height:1.1; }
.bien-adresse { display:flex; align-items:center; gap:5px; font-size:12px; color:var(--text-muted,#5a6a82); margin-bottom:14px; }
.bien-prix { font-family:'Cormorant Garamond',serif; font-size:clamp(30px,4vw,44px); font-weight:700; color:var(--text-dark,#0d1b2e); line-height:1; }
.bien-prix-devise { font-size:0.65em; color:var(--red,#c0392b); }
.bien-prix-sub { font-size:11px; color:var(--mid-grey,#8a9bb8); margin-top:4px; font-style:italic; }

/* Icônes résumé */
.bien-icones { display:flex; gap:0; border-bottom:1px solid rgba(30,64,128,0.07); background:var(--off-white,#f5f7fa); }
.bien-icone { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 8px; border-right:1px solid rgba(30,64,128,0.08); }
.bien-icone:last-child { border-right:none; }
.bien-icone svg { width:20px; height:20px; color:var(--blue,#1e4080); flex-shrink:0; }
.bien-icone-val { font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; color:var(--text-dark,#0d1b2e); letter-spacing:0.5px; white-space:nowrap; }
.bien-icone-label { font-family:'Barlow Condensed',sans-serif; font-size:9px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--mid-grey,#8a9bb8); white-space:nowrap; }

/* Détail : description + fiche */
.bien-detail { display:grid; grid-template-columns:1fr 280px; }
.bien-description { padding:24px 28px; border-right:1px solid rgba(30,64,128,0.07); }
.bien-fiche { padding:24px 22px; background:var(--off-white,#f5f7fa); }

.bien-section-label { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--blue,#1e4080); margin-bottom:12px; padding-bottom:6px; border-bottom:1px solid rgba(30,64,128,0.10); }

.bien-description p { font-size:13px; color:var(--text-muted,#5a6a82); line-height:1.75; margin-bottom:10px; }

.bien-prestations { list-style:none; }
.bien-prestations li { font-size:12px; color:var(--text-muted,#5a6a82); padding:5px 0 5px 14px; position:relative; border-bottom:1px solid rgba(30,64,128,0.05); }
.bien-prestations li:last-child { border-bottom:none; }
.bien-prestations li::before { content:'✓'; position:absolute; left:0; color:#27ae60; font-size:11px; font-weight:700; }

/* Fiche technique lignes */
.bien-fiche-lignes { display:flex; flex-direction:column; gap:0; margin-bottom:20px; }
.bien-fiche-ligne { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid rgba(30,64,128,0.06); font-size:12px; }
.bien-fiche-ligne:last-child { border-bottom:none; }
.bien-fiche-ligne > span:first-child { color:var(--mid-grey,#8a9bb8); font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.5px; text-transform:uppercase; flex-shrink:0; }
.bien-fiche-ligne > span:last-child { color:var(--text-dark,#0d1b2e); font-weight:500; text-align:right; }

/* DPE badge */
.bien-dpe { display:inline-block; width:24px; height:24px; border-radius:3px; text-align:center; line-height:24px; font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; color:white; }
.bien-dpe-a { background:#00c853; }
.bien-dpe-b { background:#64dd17; color:white; }
.bien-dpe-c { background:#aeea00; color:#333; }
.bien-dpe-d { background:#ffd600; color:#333; }
.bien-dpe-e { background:#ff6d00; }
.bien-dpe-f { background:#dd2c00; }
.bien-dpe-g { background:#b71c1c; }

/* Boîte contact */
.bien-contact-box { background:white; border:1px solid rgba(30,64,128,0.10); border-top:3px solid var(--blue,#1e4080); border-radius:3px; padding:18px; }
.bien-contact-prix { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:700; color:var(--text-dark,#0d1b2e); margin-bottom:14px; text-align:center; }
.bien-contact-tel { display:flex; align-items:center; justify-content:center; gap:7px; font-size:12px; color:var(--text-muted,#5a6a82); margin-top:12px; }
.bien-ref { font-family:'Barlow Condensed',sans-serif; font-size:9px; letter-spacing:1px; color:var(--mid-grey,#8a9bb8); text-align:center; margin-top:8px; }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .bien-detail { grid-template-columns:1fr; }
  .bien-description { border-right:none; border-bottom:1px solid rgba(30,64,128,0.07); }
  .bien-fiche { background:white; }
  .bien-contact-box { background:var(--off-white,#f5f7fa); }
}
@media (max-width:768px) {
  .vente-filtres { padding:12px 5%; }
  .bien-titre-bloc { padding:18px 18px 16px; }
  .bien-photo-principale img { max-height:320px; }
  .bien-thumb { height:60px; }
  .bien-icones { flex-wrap:wrap; }
  .bien-icone { min-width:calc(33.333% - 2px); border-bottom:1px solid rgba(30,64,128,0.06); }
  .bien-description { padding:18px; }
  .bien-fiche { padding:18px; }
  .bien-detail { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .bien-icone { min-width:calc(50% - 2px); }
  .bien-thumb { height:50px; }
  .bien-photo-principale img { max-height:260px; }
}
