/* ═══════════════════════════════════════
   La Riviera Immo — CSS v3 (high specificity)
═══════════════════════════════════════ */

:root {
  --lri-rouge: #8E1F00;
  --lri-dark:  #1B1B1B;
  --lri-grey:  #5B5B5B;
  --lri-bg:    #F4F4F4;
  --lri-border:#e8e4de;
  --lri-font:  'Inter', sans-serif;
}

/* ── RESET GLOBAL SUR LA PAGE SINGLE ── */
body .lri-s,
body .lri-s * {
  box-sizing: border-box !important;
  font-family: 'Inter', sans-serif !important;
}

body .lri-s { background: #fff !important; color: #1B1B1B !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }

/* ── SECTIONS ── */
body .lri-s__sec { padding: 48px 80px !important; background: #fff !important; margin: 0 !important; }
body .lri-s__sec--alt { padding: 48px 80px !important; background: #F4F4F4 !important; margin: 0 !important; }

body .lri-s__sec-title { font-size: 18px !important; font-weight: 700 !important; color: #1B1B1B !important; letter-spacing: -0.07em !important; margin-bottom: 20px !important; padding-bottom: 10px !important; border-bottom: 2px solid #8E1F00 !important; border-top: none !important; border-left: none !important; border-right: none !important; display: inline-block !important; }

body .lri-s__sec-title-c { font-size: 28px !important; font-weight: 800 !important; color: #1B1B1B !important; text-align: center !important; margin-bottom: 8px !important; letter-spacing: -0.07em !important; }
body .lri-s__sec-title-c span { color: #8E1F00 !important; }
body .lri-s__sec-title-c--light { font-weight: 400 !important; }
body .lri-s__sec-title-c--light strong { font-weight: 800 !important; }
body .lri-s__sec-sub { font-size: 13px !important; color: #5B5B5B !important; text-align: center !important; margin-bottom: 32px !important; letter-spacing: -0.03em !important; }

/* ── HERO ── */
body .lri-s__hero { display: grid !important; grid-template-columns: 1fr 400px !important; gap: 32px !important; padding: 32px 80px !important; background: #fff !important; }

/* Galerie */
body .lri-s__slider { position: relative !important; border-radius: 10px !important; overflow: hidden !important; aspect-ratio: 16/10 !important; background: #e8e0d8 !important; }
body .lri-s__slide { display: none !important; width: 100% !important; height: 100% !important; }
body .lri-s__slide.active { display: block !important; }
body .lri-s__slide img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body .lri-s__arr { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; width: 36px !important; height: 36px !important; background: rgba(0,0,0,0.55) !important; border: none !important; border-radius: 6px !important; color: #fff !important; font-size: 18px !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 2 !important; }
body .lri-s__arr--prev { left: 12px !important; }
body .lri-s__arr--next { right: 12px !important; }
body .lri-s__counter { position: absolute !important; bottom: 14px !important; right: 14px !important; background: rgba(0,0,0,0.55) !important; color: #fff !important; font-size: 12px !important; padding: 4px 10px !important; border-radius: 20px !important; letter-spacing: -0.03em !important; }
body .lri-s__thumbs { display: flex !important; gap: 8px !important; margin-top: 10px !important; }
body .lri-s__thumb { width: 80px !important; height: 54px !important; border-radius: 6px !important; overflow: hidden !important; cursor: pointer !important; border: 2px solid transparent !important; opacity: .55 !important; flex-shrink: 0 !important; }
body .lri-s__thumb.active, body .lri-s__thumb:hover { border-color: #8E1F00 !important; opacity: 1 !important; }
body .lri-s__thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Info panel */
body .lri-s__info { display: flex !important; flex-direction: column !important; gap: 14px !important; }
body .lri-s__badges { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
body .lri-s__badge { font-size: 12px !important; font-weight: 700 !important; padding: 5px 14px !important; border-radius: 999px !important; letter-spacing: -0.03em !important; }
body .lri-s__badge--rouge { background: #8E1F00 !important; color: #fff !important; }
body .lri-s__badge--dark  { background: #1B1B1B !important; color: #fff !important; }
body .lri-s__badge--out   { background: transparent !important; border: 1.5px solid #d0d0d0 !important; color: #1B1B1B !important; }
body .lri-s__titre { font-size: 30px !important; font-weight: 800 !important; color: #1B1B1B !important; line-height: 1.05 !important; letter-spacing: -0.07em !important; margin: 0 !important; }
body .lri-s__quartier { font-size: 13px !important; color: #5B5B5B !important; display: flex !important; align-items: center !important; gap: 5px !important; letter-spacing: -0.03em !important; margin: 0 !important; }
body .lri-s__specs { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; font-size: 13px !important; color: #5B5B5B !important; padding: 10px 0 !important; border-top: 1px solid #e8e4de !important; border-bottom: 1px solid #e8e4de !important; letter-spacing: -0.03em !important; margin: 0 !important; }
body .lri-s__excerpt { font-size: 13px !important; color: #5B5B5B !important; line-height: 1.6 !important; letter-spacing: -0.03em !important; margin: 0 !important; }
body .lri-s__kpis { display: flex !important; gap: 10px !important; }
body .lri-s__kpi { background: #1B1B1B !important; border-radius: 10px !important; padding: 14px 18px !important; flex: 1 !important; }
body .lri-s__kpi-label { display: block !important; font-size: 10px !important; color: rgba(255,255,255,.45) !important; text-transform: uppercase !important; letter-spacing: .06em !important; margin-bottom: 6px !important; }
body .lri-s__kpi-val { display: block !important; font-size: 20px !important; font-weight: 800 !important; color: #fff !important; letter-spacing: -0.05em !important; }
body .lri-s__prix-prefix { font-size: 12px !important; color: #5B5B5B !important; display: block !important; margin-bottom: 3px !important; letter-spacing: -0.03em !important; }
body .lri-s__prix { font-size: 28px !important; font-weight: 800 !important; color: #1B1B1B !important; line-height: 1 !important; letter-spacing: -0.07em !important; margin: 0 !important; }
body .lri-s__prix span { font-size: 16px !important; color: #8E1F00 !important; margin-left: 6px !important; }
body .lri-s__prix em { font-size: 14px !important; color: #5B5B5B !important; font-style: normal !important; margin-left: 4px !important; }
body .lri-s__prix-eur { font-size: 13px !important; color: #5B5B5B !important; margin-top: 3px !important; letter-spacing: -0.03em !important; }
body .lri-s__cta-main { display: block !important; width: 100% !important; text-align: center !important; background: #8E1F00 !important; color: #fff !important; font-weight: 700 !important; font-size: 14px !important; padding: 14px !important; border-radius: 8px !important; border: none !important; cursor: pointer !important; letter-spacing: -0.03em !important; text-decoration: none !important; }
body .lri-s__cta-promoteur { text-align: center !important; font-size: 12px !important; color: #8E1F00 !important; text-decoration: underline !important; cursor: pointer !important; display: block !important; letter-spacing: -0.03em !important; }

/* ── APERÇU ── */
body .lri-s__apercu-grid { display: flex !important; border: 1px solid #e8e4de !important; border-radius: 12px !important; overflow: hidden !important; background: #fff !important; }
body .lri-s__apercu-item { flex: 1 !important; padding: 20px 24px !important; border-right: 1px solid #e8e4de !important; display: flex !important; flex-direction: column !important; gap: 4px !important; background: #fff !important; }
body .lri-s__apercu-item:last-child { border-right: none !important; }
body .lri-s__apercu-icon { font-size: 20px !important; }
body .lri-s__apercu-val { font-size: 20px !important; font-weight: 700 !important; color: #1B1B1B !important; letter-spacing: -0.07em !important; }
body .lri-s__apercu-label { font-size: 12px !important; color: #5B5B5B !important; letter-spacing: -0.03em !important; }

/* ── PERFORMANCE ── */
body .lri-s__kpi-wrap { background: #F4F4F4 !important; border-radius: 14px !important; padding: 20px !important; margin-bottom: 40px !important; }
body .lri-s__kpi-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 10px !important; }
body .lri-s__kpi-card { background: #1B1B1B !important; border-radius: 10px !important; padding: 20px !important; text-align: center !important; }
body .lri-s__kpi-card-label { display: block !important; font-size: 11px !important; color: #5B5B5B !important; text-transform: uppercase !important; letter-spacing: .06em !important; margin-bottom: 8px !important; }
body .lri-s__kpi-card-val { display: block !important; font-size: 24px !important; font-weight: 800 !important; color: #fff !important; letter-spacing: -0.05em !important; }
body .lri-s__proj-title { font-size: 20px !important; font-weight: 800 !important; color: #1B1B1B !important; text-align: center !important; margin-bottom: 36px !important; letter-spacing: -0.07em !important; }
body .lri-s__proj-title span { color: #8E1F00 !important; }
body .lri-s__proj-bars { display: flex !important; align-items: flex-end !important; justify-content: center !important; gap: 60px !important; height: 180px !important; }
body .lri-s__proj-col { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
body .lri-s__proj-amount { font-size: 12px !important; font-weight: 700 !important; color: #8E1F00 !important; white-space: nowrap !important; letter-spacing: -0.03em !important; }
body .lri-s__proj-bar { width: 52px !important; background: #8E1F00 !important; border-radius: 4px 4px 0 0 !important; }
body .lri-s__proj-label { font-size: 12px !important; color: #5B5B5B !important; letter-spacing: -0.03em !important; }

/* ── CARACTÉRISTIQUES ── */
body .lri-s__carac-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 8px 24px !important; }
body .lri-s__carac-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 13px !important; color: #1B1B1B !important; padding: 8px 0 !important; border-bottom: 1px solid #e8e4de !important; border-top: none !important; border-left: none !important; border-right: none !important; letter-spacing: -0.03em !important; }
body .lri-s__carac-check { width: 20px !important; height: 20px !important; border-radius: 50% !important; border: 1.5px solid #aaa !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; font-size: 10px !important; color: #aaa !important; }

/* ── STRATÉGIE ── */
body .lri-s__strat-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
body .lri-s__strat-title { font-size: 22px !important; font-weight: 800 !important; color: #1B1B1B !important; margin-bottom: 20px !important; letter-spacing: -0.07em !important; }
body .lri-s__strat-title span { color: #8E1F00 !important; }
body .lri-s__raisons { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
body .lri-s__raisons li { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 13px !important; color: #1B1B1B !important; letter-spacing: -0.03em !important; line-height: 1.5 !important; }
body .lri-s__raison-icon { color: #8E1F00 !important; flex-shrink: 0 !important; }
body .lri-s__points { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
body .lri-s__points li { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 13px !important; color: #1B1B1B !important; letter-spacing: -0.03em !important; }
body .lri-s__point-check { width: 22px !important; height: 22px !important; border-radius: 50% !important; background: #8E1F00 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; font-size: 11px !important; color: #fff !important; }
body .lri-s__profil { background: #1B1B1B !important; border-radius: 10px !important; padding: 16px 18px !important; margin-top: 20px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
body .lri-s__profil-label { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 3px !important; letter-spacing: -0.03em !important; }
body .lri-s__profil-txt { font-size: 12px !important; color: rgba(255,255,255,.5) !important; letter-spacing: -0.03em !important; }

/* ── PLAN PAIEMENT ── */
body .lri-s__etapes { display: flex !important; flex-direction: column !important; gap: 10px !important; max-width: 640px !important; margin: 0 auto 20px !important; }
body .lri-s__etape { display: flex !important; align-items: center !important; gap: 16px !important; background: #fff !important; border: 1px solid #e8e4de !important; border-radius: 10px !important; padding: 14px 18px !important; }
body .lri-s__etape-num { width: 32px !important; height: 32px !important; border-radius: 50% !important; background: #8E1F00 !important; color: #fff !important; font-weight: 800 !important; font-size: 13px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
body .lri-s__etape-txt { font-size: 14px !important; color: #1B1B1B !important; letter-spacing: -0.03em !important; }
body .lri-s__etape-txt strong { color: #8E1F00 !important; }
body .lri-s__paiement-note { max-width: 640px !important; margin: 0 auto !important; background: #FDF0EB !important; border-radius: 8px !important; padding: 12px 16px !important; font-size: 12px !important; color: #8E1F00 !important; text-align: center !important; letter-spacing: -0.03em !important; }

/* ── DISTANCES ── */
body .lri-s__dist-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 10px !important; max-width: 720px !important; margin: 0 auto !important; }
body .lri-s__dist-item { display: flex !important; justify-content: space-between !important; align-items: center !important; background: #1B1B1B !important; border-radius: 10px !important; padding: 16px 18px !important; }
body .lri-s__dist-lieu { font-size: 14px !important; font-weight: 500 !important; color: #fff !important; letter-spacing: -0.03em !important; }
body .lri-s__dist-min { font-size: 13px !important; font-weight: 700 !important; color: #c9a84c !important; letter-spacing: -0.03em !important; }

/* ── GARANTIES ── */
body .lri-s__garanties-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
body .lri-s__garantie { display: flex !important; align-items: center !important; gap: 14px !important; background: #1B1B1B !important; border-radius: 10px !important; padding: 18px 20px !important; }
body .lri-s__garantie-icon { font-size: 20px !important; flex-shrink: 0 !important; }
body .lri-s__garantie-titre { display: block !important; font-size: 14px !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 3px !important; letter-spacing: -0.03em !important; }
body .lri-s__garantie-texte { font-size: 12px !important; color: #5B5B5B !important; letter-spacing: -0.03em !important; }

/* ── FAQ ── */
body .lri-s__faq-list { display: flex !important; flex-direction: column !important; gap: 10px !important; max-width: 720px !important; margin: 0 auto !important; }
body .lri-s__faq-item { background: #F4F4F4 !important; border-radius: 10px !important; padding: 18px 22px !important; display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 16px !important; cursor: pointer !important; }
body .lri-s__faq-titre { display: block !important; font-size: 15px !important; font-weight: 600 !important; color: #1B1B1B !important; margin-bottom: 6px !important; letter-spacing: -0.04em !important; }
body .lri-s__faq-rep { display: none !important; font-size: 13px !important; color: #5B5B5B !important; letter-spacing: -0.03em !important; line-height: 1.5 !important; }
body .lri-s__faq-rep.open { display: block !important; }
body .lri-s__faq-plus { font-size: 22px !important; color: #1B1B1B !important; flex-shrink: 0 !important; font-weight: 300 !important; }

/* ── TÉMOIGNAGE ── */
body .lri-s__temo { max-width: 600px !important; margin: 0 auto !important; text-align: center !important; }
body .lri-s__temo-quote { font-size: 60px !important; color: #ddd !important; line-height: 1 !important; margin-bottom: 8px !important; }
body .lri-s__temo-txt { font-size: 16px !important; color: #1B1B1B !important; line-height: 1.6 !important; font-style: italic !important; margin-bottom: 12px !important; letter-spacing: -0.03em !important; }
body .lri-s__temo-author { font-size: 14px !important; font-weight: 700 !important; color: #1B1B1B !important; letter-spacing: -0.04em !important; }
body .lri-s__temo-stat { font-size: 13px !important; color: #8E1F00 !important; font-weight: 700 !important; margin-top: 4px !important; letter-spacing: -0.03em !important; }

/* ── CTA ROUGE ── */
body .lri-s__cta-rouge { background: #8E1F00 !important; padding: 56px 80px !important; text-align: center !important; }
body .lri-s__cta-rouge h2 { font-size: 30px !important; font-weight: 800 !important; color: #fff !important; margin-bottom: 10px !important; letter-spacing: -0.07em !important; }
body .lri-s__cta-rouge p { font-size: 14px !important; color: rgba(255,255,255,.7) !important; margin-bottom: 24px !important; letter-spacing: -0.03em !important; }
body .lri-s__btn-white { background: #fff !important; color: #8E1F00 !important; font-family: 'Inter',sans-serif !important; font-weight: 700 !important; font-size: 15px !important; padding: 13px 32px !important; border-radius: 999px !important; cursor: pointer !important; border: none !important; letter-spacing: -0.03em !important; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  body .lri-s__hero { grid-template-columns: 1fr !important; }
  body .lri-s__strat-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  body .lri-s__garanties-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
  body .lri-s__sec, body .lri-s__sec--alt { padding: 32px 20px !important; }
  body .lri-s__hero { padding: 20px !important; }
  body .lri-s__cta-rouge { padding: 40px 20px !important; }
  body .lri-s__kpi-grid { grid-template-columns: repeat(2,1fr) !important; }
  body .lri-s__carac-grid { grid-template-columns: repeat(2,1fr) !important; }
  body .lri-s__dist-grid { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 480px) {
  body .lri-s__kpi-grid { grid-template-columns: 1fr !important; }
  body .lri-s__carac-grid { grid-template-columns: 1fr !important; }
  body .lri-s__dist-grid { grid-template-columns: 1fr !important; }
}

/* ── LISTING CARDS — sans !important ── */
.lri-listing { padding: 40px 0; }
.lri-listing__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; align-items: center; }
.lri-listing__filters select,
.lri-listing__filters input { padding: 8px 14px; border: 1px solid #e8e4de; border-radius: 6px; font-family: 'Inter',sans-serif; font-size: 13px; color: #1B1B1B; background: #fff; }
.lri-listing__filters button { padding: 9px 18px; background: #8E1F00; color: #fff; border: none; border-radius: 6px; font-weight: 700; font-size: 13px; cursor: pointer; font-family: 'Inter',sans-serif; }
.lri-listing__count { font-size: 13px; color: #5B5B5B; margin: 12px 0; }
.lri-listing__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.lri-card { background: #fff; border: 1px solid #e8e4de; border-radius: 12px; overflow: hidden; transition: box-shadow .2s; }
.lri-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.lri-card__img { aspect-ratio: 16/10; overflow: hidden; background: #F4F4F4; }
.lri-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lri-card:hover .lri-card__img img { transform: scale(1.04); }
.lri-card__body { padding: 16px; }
.lri-card__badges { display: flex; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
.lri-card__badge { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.lri-card__badge--rouge { background: #8E1F00; color: #fff; }
.lri-card__badge--dark { background: #1B1B1B; color: #fff; }
.lri-card__titre { font-size: 16px; font-weight: 700; color: #1B1B1B; letter-spacing: -0.05em; margin-bottom: 4px; font-family: 'Inter',sans-serif; }
.lri-card__quartier { font-size: 12px; color: #5B5B5B; margin-bottom: 10px; letter-spacing: -0.03em; }
.lri-card__specs { display: flex; gap: 10px; font-size: 12px; color: #5B5B5B; margin-bottom: 12px; letter-spacing: -0.03em; flex-wrap: wrap; }
.lri-card__rendement { font-size: 12px; color: #8E1F00; font-weight: 700; margin-bottom: 8px; }
.lri-card__prix { font-size: 16px; font-weight: 800; color: #1B1B1B; letter-spacing: -0.07em; margin-bottom: 12px; font-family: 'Inter',sans-serif; }
.lri-card__cta { display: block; width: 100%; text-align: center; background: #8E1F00; color: #fff; font-family: 'Inter',sans-serif; font-weight: 700; font-size: 13px; padding: 10px; border-radius: 6px; text-decoration: none; letter-spacing: -0.03em; }
.lri-card__cta:hover { background: #6e1800; color: #fff; }
@media (max-width: 1024px) { .lri-listing__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .lri-listing__grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════
   LISTING & CARDS — classes exactes du PHP
═══════════════════════════════════════ */

.lri-listing-wrapper { padding: 20px 0; }

/* Filtres */
.lri-filters { background: #F4F4F4; border-radius: 12px; padding: 20px 24px; margin-bottom: 28px; }
.lri-filters-row { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 12px; align-items: flex-end; }
.lri-filters-row:last-child { margin-bottom: 0; }
.lri-filter-group { display: flex; flex-direction: column; gap: 4px; }
.lri-filter-label { font-family: 'Inter',sans-serif; font-size: 11px; font-weight: 600; color: #5B5B5B; text-transform: uppercase; letter-spacing: .04em; }
.lri-filter { font-family: 'Inter',sans-serif; font-size: 13px; color: #1B1B1B; background: #fff; border: 1px solid #e8e4de; border-radius: 6px; padding: 8px 12px; min-width: 160px; }
.lri-input { min-width: 140px; }
.lri-btn-reset { font-family: 'Inter',sans-serif; background: #1B1B1B; color: #fff; border: none; border-radius: 6px; padding: 9px 16px; font-size: 13px; font-weight: 600; cursor: pointer; }

/* Header résultats */
.lri-results-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.lri-count { font-family: 'Inter',sans-serif; font-size: 13px; color: #5B5B5B; }
.lri-view-toggle { display: flex; gap: 8px; }
.lri-view-btn { width: 36px; height: 36px; border: 1px solid #e8e4de; border-radius: 6px; background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #5B5B5B; }
.lri-view-btn.active { background: #8E1F00; color: #fff; border-color: #8E1F00; }

/* GRILLE */
.lri-grid { display: grid; gap: 24px; }
.lri-grid-3 { grid-template-columns: repeat(3, 1fr); }
.lri-grid-2 { grid-template-columns: repeat(2, 1fr); }
.lri-grid-1 { grid-template-columns: 1fr; }
.lri-grid.lri-view-list { grid-template-columns: 1fr !important; }

/* CARD */
.lri-card { background: #fff; border: 1px solid #e8e4de; border-radius: 12px; overflow: hidden; transition: box-shadow .2s; font-family: 'Inter',sans-serif; }
.lri-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.09); }
.lri-card__image-wrap { display: block; position: relative; aspect-ratio: 16/10; overflow: hidden; background: #F4F4F4; }
.lri-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.lri-card:hover .lri-card__image { transform: scale(1.04); }
.lri-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.lri-badge { font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.lri-badge--exclusif { background: #c9a84c; color: #000; }
.lri-badge--offplan { background: #1B1B1B; color: #fff; }
.lri-badge--statut { background: rgba(0,0,0,0.6); color: #fff; }
.lri-card__rendement { position: absolute; bottom: 12px; left: 12px; background: #8E1F00; color: #fff; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 6px; }

.lri-card__body { padding: 16px; }
.lri-card__meta { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.lri-card__quartier { font-size: 12px; color: #5B5B5B; letter-spacing: -0.03em; }
.lri-card__type { font-size: 11px; font-weight: 700; color: #8E1F00; background: #FDF0EB; padding: 2px 8px; border-radius: 4px; }
.lri-card__title { font-size: 16px; font-weight: 700; color: #1B1B1B; letter-spacing: -0.05em; margin: 0 0 4px; }
.lri-card__title a { color: inherit; text-decoration: none; }
.lri-card__adresse { font-size: 12px; color: #5B5B5B; margin: 0 0 10px; letter-spacing: -0.03em; }
.lri-card__specs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: #5B5B5B; margin-bottom: 12px; letter-spacing: -0.03em; }
.lri-spec { display: flex; align-items: center; gap: 4px; }
.lri-card__prix { margin-bottom: 12px; }
.lri-card__prix-aed { font-size: 16px; font-weight: 800; color: #1B1B1B; letter-spacing: -0.07em; }
.lri-card__prix-eur { font-size: 13px; color: #5B5B5B; margin-left: 6px; letter-spacing: -0.03em; }
.lri-card__livraison { font-size: 12px; color: #5B5B5B; margin-bottom: 10px; letter-spacing: -0.03em; }
.lri-card__cta { display: block; width: 100%; text-align: center; background: #8E1F00; color: #fff; font-family: 'Inter',sans-serif; font-weight: 700; font-size: 13px; padding: 11px; border-radius: 6px; text-decoration: none; letter-spacing: -0.03em; }
.lri-card__cta:hover { background: #6e1800; color: #fff; }

/* No results */
.lri-no-results { grid-column: 1/-1; text-align: center; padding: 60px; color: #5B5B5B; font-family: 'Inter',sans-serif; }

/* Loader */
.lri-loader { text-align: center; padding: 30px; }
.lri-spinner { width: 32px; height: 32px; border: 3px solid #e8e4de; border-top-color: #8E1F00; border-radius: 50%; animation: lri-spin .7s linear infinite; margin: 0 auto; }
@keyframes lri-spin { to { transform: rotate(360deg); } }

/* Load more */
.lri-pagination { text-align: center; margin-top: 32px; }
.lri-btn-more { font-family: 'Inter',sans-serif; background: transparent; border: 1.5px solid #1B1B1B; color: #1B1B1B; padding: 12px 28px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; letter-spacing: -0.03em; }
.lri-btn-more:hover { background: #1B1B1B; color: #fff; }

@media (max-width: 1024px) { .lri-grid-3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .lri-grid-3, .lri-grid-2 { grid-template-columns: 1fr; } }
