
/*! RV Viager Listings — Viagimmo-like Theme v0.3.2 (original CSS) */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');

:root{
  /* Palette calée sur capture */
  --brand-magenta:#cf2d8f;
  --brand-magenta-weak:#ffe3f2;
  --brand-blue:#22a8ff;
  --brand-blue-weak:#e6f6ff;

  --rvv-color-text:#111;
  --rvv-color-surface:#f3f4f6;
  --rvv-color-line:#e5e7eb;

  --rvv-radius:16px;
  --rvv-gap:24px;

  /* Titres */
  --h1-size: clamp(28px, 4vw, 48px);
  --h2-size: clamp(22px, 3vw, 34px);
  --h3-size: clamp(18px, 2.2vw, 22px);
}

.rvv-wrap, .rvv-wrap * { font-family:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }

/* Titre principal */
.rvv-title{font-size:var(--h1-size); font-weight:900; margin:6px 0 18px}

/* Chips / Badges */
.rvv-badges{gap:12px}
.rvv-badge, .rvv-pill{border-radius:999px; padding:8px 14px; font-weight:800; letter-spacing:.2px}
.rvv-badge{ background:var(--brand-magenta); color:#fff; }
.rvv-pill{ background:var(--brand-blue-weak); color:#0b6fb2; }

/* Valeur vénale */
.rvv-value-line{ display:flex; align-items:center; gap:10px; margin:14px 0 18px; }
.rvv-value-line .dot{ width:10px; height:10px; border-radius:50%; background:var(--brand-magenta); display:inline-block; }
.rvv-value-line .label{ font-weight:800; }
.rvv-value-line .price{ font-weight:900; font-size: clamp(22px, 3vw, 36px); }

/* Cartouches à droite (Bouquet/Rente) */
.rvv-figures{ background:transparent; padding:0; gap:14px; }
.rvv-fig{
  background:var(--brand-magenta-weak);
  color:#980a63;
  border-radius:14px; padding:14px 16px;
  display:flex; justify-content:space-between; align-items:center;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.rvv-fig:nth-child(2){ background:var(--brand-blue-weak); color:#0667a9; }
.rvv-fig .k{ font-weight:800; font-size:14px; color:inherit; }
.rvv-fig .v{ font-weight:900; font-size: clamp(20px, 3vw, 32px); color:inherit; }

/* Galerie 2 colonnes */
.rvv-top{ grid-template-columns: minmax(0,1fr) 420px; gap:24px; align-items:start; }
@media (max-width: 1100px){ .rvv-top{ grid-template-columns: 1fr; } }

.rvv-media .rv-gallery, .rvv-media img.rvv-hero{ border-radius:16px; overflow:hidden; position:relative }
.rvv-media .rv-tag-row{
  position:absolute; left:14px; top:14px; display:flex; gap:8px; z-index:3;
}
.rvv-media .rv-tag{ 
  font-weight:800; font-size:12px; padding:8px 12px; border-radius:999px; color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.rvv-media .rv-tag.blue{ background:var(--brand-blue); }
.rvv-media .rv-tag.magenta{ background:var(--brand-magenta); }

/* Colonne de vignettes optionnelle */
.rvv-media-col{ display:grid; gap:18px; }
.rvv-media-col .thumb{ border-radius:16px; overflow:hidden; aspect-ratio:16/9; background:#f2f4f6; }
.rvv-media-col .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Boutons Favoris & Partage (outline) */
.rvv-share{ gap:12px }
.rvv-share a, .rvv-share button{ font-weight:800 }
.rvv-share .btn-like, .rvv-share .btn-share{
  background:#fff; border-radius:12px; padding:12px 16px; display:inline-flex; align-items:center; gap:8px; border:2px solid;
}
.rvv-share .btn-like{ border-color:var(--brand-magenta); color:var(--brand-magenta); }
.rvv-share .btn-share{ border-color:var(--brand-blue); color:#0b6fb2; }
.rvv-share .btn-like:hover{ background:var(--brand-magenta-weak); }
.rvv-share .btn-share:hover{ background:var(--brand-blue-weak); }

/* Section bleu très clair */
.section-soft{
  background:linear-gradient(180deg, #ecf7ff 0%, #ecf7ff 70%, transparent 70%); 
  border-radius:0 0 48px 48px; padding-bottom:28px; margin:28px 0;
}

/* Cartes / Formulaire */
.rvv-card, .rvv-contact{ border-radius:18px; box-shadow:0 8px 24px rgba(17,24,39,.06); }
.rvv-contact{ background:#fff; color:#111; border:1px solid #eef2f7; }
.rvv-contact h3{ font-size:var(--h2-size); font-weight:900; margin:6px 0 12px }
.rvv-form input, .rvv-form textarea{ border:2px solid #e9eef4; border-radius:12px; padding:12px 14px; font-weight:600; }
.rvv-send{ background:var(--brand-magenta); color:#fff; border:none; border-radius:12px; padding:12px 16px; font-weight:900; }

/* Grille de cartes */
.rvv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width: 1000px){.rvv-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 640px){.rvv-grid{grid-template-columns:1fr}}
.rvv-card .badge{ border-radius:999px; padding:8px 12px; font-weight:800; }
