/* ============================================================
   eMB STAY — page hébergements (thème sombre premium)
   Le header + tabbar + drawer viennent de home-vision.css (classes hv-*)
   Ici : uniquement le contenu Stay (préfixe .sv-)
   ============================================================ */
.sv{--stay:#1e3a5f;--stay2:#3478C8;--soft:#8A93A6;--line:#1c2233;--paper:#0d1119;background:#070A11;color:#fff;font-family:var(--font-body,'Inter',sans-serif)}
.sv *{box-sizing:border-box;min-width:0}
.sv a{text-decoration:none;color:inherit}
.sv-wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* ===== HERO FONDU ===== */
.sv-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.sv-hero-fallback{position:absolute;inset:0;z-index:0;background:linear-gradient(120deg,#0f1c2e,#1a2f4a 55%,#0d1119)}
.sv-bg{position:absolute;inset:0;z-index:1}
.sv-bg .im{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:svfade 28s infinite;transform:scale(1.05)}
.sv-bg .im:nth-child(1){animation-delay:0s}.sv-bg .im:nth-child(2){animation-delay:7s}
.sv-bg .im:nth-child(3){animation-delay:14s}.sv-bg .im:nth-child(4){animation-delay:21s}
@keyframes svfade{0%{opacity:0;transform:scale(1.05)}3.5%{opacity:1}25%{opacity:1;transform:scale(1.12)}28.5%{opacity:0}100%{opacity:0}}
.sv-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(7,10,17,.92) 0%,rgba(7,10,17,.55) 45%,rgba(24,12,48,.35) 100%),linear-gradient(0deg,rgba(7,10,17,.88),transparent 55%)}
.sv-glow{position:absolute;left:-10%;top:-20%;width:560px;height:560px;border-radius:50%;filter:blur(90px);opacity:.4;background:radial-gradient(circle,var(--stay),transparent 65%);z-index:2}
.sv-hero-in{position:relative;z-index:3;padding:52px 0;width:100%}
.sv-kick{display:inline-flex;align-items:center;gap:7px;background:rgba(30,58,95,.2);border:1px solid rgba(30,58,95,.35);color:#c9baff;padding:7px 14px;border-radius:30px;font-size:12.5px;font-weight:700;margin-bottom:16px}
.sv-hero h1{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:900;font-size:54px;line-height:1;letter-spacing:-2px;max-width:640px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.sv-hero h1 em{font-style:normal;background:linear-gradient(120deg,#7FB0E8,var(--stay2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sv-hero .lead{font-size:16px;color:#e6e9f0;margin-top:14px;max-width:460px;line-height:1.5;text-shadow:0 2px 14px rgba(0,0,0,.5)}

/* search */
.sv-search{margin-top:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:8px;backdrop-filter:blur(16px);display:flex;align-items:flex-end;gap:2px;max-width:860px;flex-wrap:wrap}
.sv-sf{flex:1;min-width:150px;padding:9px 14px;border-radius:13px}
.sv-sf .l{font-size:10.5px;font-weight:700;color:#cbd0dc;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;display:block}
.sv-sf select,.sv-sf input{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:9px 11px;font-size:13.5px;font-weight:600;color:#fff;font-family:inherit;outline:none}
.sv-sf select option{background:#141a28;color:#fff}
.sv-sf input::placeholder{color:#8a93a6}
.sv-sbtn{background:linear-gradient(135deg,var(--stay),#16283f);color:#fff;border:none;border-radius:13px;padding:12px 24px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(30,58,95,.45);white-space:nowrap;height:44px;font-family:inherit}
.sv-chips{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}
.sv-chip{background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;color:#fff}
.sv-chip:hover,.sv-chip.on{background:rgba(30,58,95,.28);border-color:rgba(30,58,95,.45)}

/* ===== SECTION ===== */
.sv-sec{padding:46px 0}
.sv-sh{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:16px}
.sv-sh h2{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:27px;letter-spacing:-1px}
.sv-sh h2 em{font-style:normal;color:var(--stay2)}
.sv-sh .sub{font-size:13.5px;color:var(--soft);margin-top:5px}
.sv-sh .nav2{display:flex;gap:8px}
.sv-arr{width:40px;height:40px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sv-arr:hover{border-color:var(--stay)}

/* ===== CARTE LOGEMENT ===== */
.sv-rail{display:flex;gap:18px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.sv-rail::-webkit-scrollbar{display:none}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sv-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:.22s;display:block}
.sv-card.rail{flex:0 0 300px}
.sv-card:hover{transform:translateY(-5px);border-color:#2e3852;box-shadow:0 24px 50px -18px rgba(0,0,0,.6)}
.sv-ph{height:210px;position:relative;overflow:hidden;background:linear-gradient(135deg,#151b28,#0f1421)}
.sv-ph .im{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.3,0,.2,1)}
.sv-card:hover .sv-ph .im{transform:scale(1.08)}
.sv-ph .em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:60px;opacity:.5}
.sv-fav{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:15px;border:1px solid rgba(255,255,255,.15);z-index:2;cursor:pointer}
.sv-badge{position:absolute;top:12px;left:12px;background:var(--stay);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:20px;z-index:2;box-shadow:0 4px 12px rgba(30,58,95,.5)}
.sv-photos{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;z-index:2}
.sv-categ{position:absolute;bottom:12px;left:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;z-index:2}
.sv-bd{padding:15px 16px 17px}
.sv-r1{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sv-nm{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-rate{font-size:13px;font-weight:700;display:flex;align-items:center;gap:3px;flex-shrink:0}
.sv-rate .st{color:#FFC94D}.sv-rate em{color:var(--soft);font-weight:400;font-style:normal;font-size:11px}
.sv-loc{font-size:12.5px;color:var(--soft);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-feats{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}
.sv-ft{font-size:11.5px;color:#aeb6c6;background:rgba(255,255,255,.05);border-radius:8px;padding:4px 9px}
.sv-pr{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:5px}
.sv-pr b{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:19px}
.sv-pr small{color:var(--soft);font-size:12px}

/* ===== FEATURE COLLECTION ===== */
.sv-feat{position:relative;border-radius:26px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;padding:40px}
.sv-feat .im{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.sv-feat .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(30,15,60,.85) 0%,rgba(20,10,40,.5) 50%,transparent 100%),linear-gradient(0deg,rgba(7,10,17,.85),transparent 60%)}
.sv-feat .c{position:relative;z-index:2;max-width:480px}
.sv-feat .k{display:inline-flex;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:14px}
.sv-feat h3{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:900;font-size:32px;line-height:1.02;letter-spacing:-1px}
.sv-feat p{font-size:15px;color:#e6e9f0;margin-top:10px;line-height:1.5}
.sv-feat .btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0f1c2e;padding:13px 24px;border-radius:13px;font-weight:800;font-size:14px;margin-top:18px}

/* ===== TYPES ===== */
.sv-types{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sv-type{position:relative;border-radius:20px;overflow:hidden;height:150px;display:flex;align-items:flex-end;padding:20px;cursor:pointer}
.sv-type .im{position:absolute;inset:0;background-size:cover;background-position:center;transition:.5s;z-index:0}
.sv-type:hover .im{transform:scale(1.07)}
.sv-type .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(7,10,17,.85),transparent 70%)}
.sv-type .c{position:relative;z-index:2}
.sv-type .t{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:19px}
.sv-type .n{font-size:12.5px;color:#c7cede;margin-top:2px}

/* ===== FILTER BAR ===== */
.sv-mobfilter{display:none}
.sv-filterbar{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:24px}
.sv-fbrow{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end}
.sv-fg{display:flex;flex-direction:column;gap:8px}
.sv-fgl{font-size:11px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.4px}
.sv-pills{display:flex;gap:7px;flex-wrap:wrap}
.sv-pill{position:relative;cursor:pointer}
.sv-pill input{position:absolute;opacity:0;pointer-events:none}
.sv-pill span{display:inline-block;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:12.5px;font-weight:600;color:#c7cede;transition:.15s}
.sv-pill:hover span{border-color:#38425c}
.sv-pill input:checked + span{background:rgba(30,58,95,.22);border-color:var(--stay);color:#fff}
.sv-fbtn{background:linear-gradient(135deg,var(--stay),#16283f);color:#fff;border:none;border-radius:11px;padding:10px 20px;font-size:13.5px;font-weight:800;cursor:pointer;font-family:inherit}
.sv-fclear{font-size:12.5px;font-weight:600;color:var(--soft);padding:10px 4px}
.sv-fclear:hover{color:#fff}

/* ===== EMPTY ===== */
.sv-empty{text-align:center;padding:60px 24px;background:var(--paper);border:1px solid var(--line);border-radius:20px}
.sv-empty .ic{font-size:52px;opacity:.5;margin-bottom:12px}
.sv-empty h4{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:18px}
.sv-empty p{color:var(--soft);font-size:14px;margin-top:6px}

/* ===== FOOTER ===== */
.sv-foot{border-top:1px solid var(--line);padding:30px 0;text-align:center;color:var(--soft);font-size:13px;margin-top:20px}

@media(max-width:900px){
  .sv-hero h1{font-size:34px}.sv-hero{min-height:auto}
  .sv-grid{grid-template-columns:1fr}.sv-types{grid-template-columns:1fr}
  .sv-search{flex-direction:column;align-items:stretch}.sv-sbtn{width:100%}
  .sv-feat h3{font-size:25px}
  .sv-mobfilter{display:block;width:100%;background:var(--paper);border:1px solid var(--line);color:#fff;border-radius:12px;padding:12px;font-weight:700;font-size:14px;margin-bottom:16px;cursor:pointer}
  .sv-filterbar{display:none}.sv-filterbar.open{display:block}
  .sv-fbrow{flex-direction:column;align-items:stretch;gap:16px}
}

/* ══════════════════════════════════════════════════════════════════
   CORRECTIF lisibilité hero : force le texte en blanc (bat le JS).
   Le JS de thème clair fonçait le titre → on force !important.
   ══════════════════════════════════════════════════════════════════ */
.sv-hero h1{ color:#fff !important; }
.sv-hero .lead{ color:#e6e9f0 !important; }
.sv-kick{ color:#AECBEC !important; }
.sv-hero .sv-chip{ color:#fff !important; }
/* on préserve le dégradé bleu du mot "Conakry" */
.sv-hero h1 em{
  background:linear-gradient(120deg,#7FB0E8,#3478C8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
}
/* les labels de recherche restent lisibles (sur fond clair du formulaire) */
.sv-search .sv-sf .l{ color:#8a9bc4 !important; }

/* ══════════════════════════════════════════════════════════════════
   CARTES LOGEMENTS — version marine premium (thème clair).
   ══════════════════════════════════════════════════════════════════ */
.sv-card{
  background:#fff !important;
  border:1px solid #E8E4DC !important;
  border-radius:18px !important;
  box-shadow:0 4px 16px rgba(30,58,95,.07) !important;
}
.sv-card:hover{
  transform:translateY(-4px) !important;
  border-color:#D8DEE8 !important;
  box-shadow:0 14px 30px rgba(30,58,95,.14) !important;
}
/* dégradé bas de photo pour lisibilité des badges */
.sv-ph::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 28%,transparent 55%,rgba(0,0,0,.55));
}
/* Badge "Coup de cœur" marine */
.sv-badge{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(30,58,95,.4) !important;
  z-index:2 !important;
}
/* Catégorie (Appartement/Studio/Villa) : pastille blanche */
.sv-categ{
  z-index:2 !important;
  background:rgba(255,255,255,.95) !important;
  color:#1e3a5f !important;
  font-weight:700 !important;
}
/* Cœur favori */
.sv-fav{ z-index:2 !important; }
/* Nom en serif bleu-noir */
.sv-nm{
  color:#1a2438 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-weight:700 !important;
}
/* Note */
.sv-rate{ color:#5a6472 !important; }
.sv-rate .st{ color:#f5a623 !important; }
/* Localisation */
.sv-loc{ color:#8a93a6 !important; }
/* Specs */
.sv-feats .sv-ft, .sv-ft{ color:#5a6472 !important; }
/* Prix en marine serif */
.sv-pr{ border-top-color:#F0EEE8 !important; }
.sv-pr b{
  color:#1e3a5f !important;
  font-family:Georgia,'Times New Roman',serif !important;
}
.sv-pr small{ color:#9aa3b5 !important; }

/* ══════════════════════════════════════════════════════════════════
   CORRECTIF bloc "Villas d'exception" (sv-feat) : texte blanc forcé
   + voile marine (au lieu de violet).
   ══════════════════════════════════════════════════════════════════ */
.sv-feat .ov{
  background:linear-gradient(90deg,rgba(15,20,35,.88) 0%,rgba(15,20,35,.55) 50%,transparent 100%),linear-gradient(0deg,rgba(15,20,35,.85),transparent 60%) !important;
}
.sv-feat h3{ color:#fff !important; }
.sv-feat p{ color:#e6e9f0 !important; }
.sv-feat .k{ color:#fff !important; }
.sv-feat .btn{ color:#1e3a5f !important; background:#fff !important; }

/* CORRECTIF blocs types (Villas/Appartements/Studios) : texte blanc + voile marine */
.sv-type .ov{
  background:linear-gradient(0deg,rgba(15,20,35,.9),rgba(15,20,35,.2) 70%) !important;
}
.sv-type .c, .sv-type .t, .sv-type .n{ color:#fff !important; }
.sv-type .t{ color:#fff !important; }
.sv-type .n{ color:rgba(255,255,255,.85) !important; }

/* ══════════════════════════════════════════════════════════════════
   BARRE DE FILTRES — version marine premium (thème clair).
   ══════════════════════════════════════════════════════════════════ */
.sv-filterbar{
  background:#fff !important;
  border:1px solid #E4DEF0 !important;
  border-radius:18px !important;
  box-shadow:0 4px 16px rgba(30,58,95,.06) !important;
}
/* Labels de groupe en marine */
.sv-fgl{ color:#1e3a5f !important; }
/* Pastilles : blanches, bordure froide */
.sv-pill span{
  background:#fff !important;
  border:1.5px solid #D8DEE8 !important;
  color:#5a6472 !important;
  border-radius:22px !important;
}
.sv-pill:hover span{ border-color:#9aa3b5 !important; }
/* Pastille active : marine plein */
.sv-pill input:checked + span{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  border-color:#1e3a5f !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(30,58,95,.25) !important;
}
/* Bouton Appliquer : marine avec ombre */
.sv-fbtn{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  color:#fff !important; border:none !important;
  border-radius:11px !important; padding:11px 26px !important;
  font-weight:700 !important; font-size:13px !important; cursor:pointer;
  box-shadow:0 6px 16px rgba(30,58,95,.28) !important;
}
/* Réinitialiser : lien discret */
.sv-fclear{
  color:#8a93a6 !important; text-decoration:underline !important;
  font-size:13px !important; margin-left:14px;
}
/* Titre section en serif */
.sv-sh h2{ color:#1a2438 !important; }

/* ================================================================
   ▸ CALQUE IDENTITÉ BLEU MARINE — eMB STAY
     (fin de fichier : même spécificité, déclaré plus tard → gagne)
   ================================================================ */
body{ background:#EFE7DA !important; }
.sv{
  --stay:#1e3a5f; --stay2:#1e3a5f; --soft:#6b7686; --line:#e7ddce; --paper:#ffffff;
  background:#EFE7DA; color:#16283f;
}

/* ── Héro : voile marine renforcé ── */
.sv-hero-fallback{ background:linear-gradient(120deg,#1e3a5f,#16283f 55%,#0f1e30) !important; }
.sv-hero h1{ font-family:Georgia,'Times New Roman',serif; font-weight:700; color:#fff !important; }
.sv-hero h1 em{
  background:none !important; -webkit-text-fill-color:#AECBEC !important;
  color:#AECBEC !important; font-style:normal;
}
.sv-hero-in p,.sv-hero-in .sub{ color:#fff !important; opacity:.86; }
.sv-kick{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.24) !important;
  color:#fff !important;
}

/* ── Barre de recherche du héro ── */
.sv-sf .l{ color:#fff !important; opacity:.8; }
.sv-sbtn{ background:#fff !important; color:#1e3a5f !important; box-shadow:0 10px 24px -10px rgba(0,0,0,.5); }
.sv-sbtn:hover{ background:#f2f5f9 !important; }
.sv-chip{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#fff !important;
}
.sv-chip:hover,.sv-chip.on{ background:#fff !important; color:#1e3a5f !important; border-color:#fff !important; }

/* ── Titres de section ── */
.sv-sh h2{ font-family:Georgia,'Times New Roman',serif; font-weight:700; color:#16283f; }
.sv-sh h2 em{ color:#1e3a5f !important; }
.sv-sh .sub{ color:#6b7686; }
.sv-arr{ background:#fff; border:1px solid #e7ddce; color:#16283f; }
.sv-arr:hover{ background:#1e3a5f; border-color:#1e3a5f; color:#fff; }

/* ── Cartes logement ── */
.sv-card{ background:#fff; border:1px solid #e7ddce; }
.sv-card:hover{ border-color:#c9d6e6 !important; box-shadow:0 24px 50px -26px rgba(22,40,63,.5) !important; }
.sv-ph{ background:#f2eee7 !important; }
.sv-nm{ color:#16283f; }
.sv-loc{ color:#6b7686; }
.sv-rate{ color:#16283f; }
.sv-ft{ color:#6b7686 !important; background:rgba(30,58,95,.06) !important; }
.sv-pr{ border-top-color:#e7ddce; }
.sv-pr b{ font-family:Georgia,serif; color:#1e3a5f; }
.sv-pr small{ color:#95a0b0; }
.sv-badge{ background:#1e3a5f !important; color:#fff !important; }
.sv-fav{ background:rgba(255,255,255,.92) !important; border-color:#e7ddce !important; }

/* ── Filtres ── */
.sv-filterbar{ background:#fff; border:1px solid #e7ddce; }
.sv-fgl{ color:#6b7686; }
.sv-fg select,.sv-fg input{ background:#fdfbf7; border:1px solid #e7ddce; color:#16283f; }
.sv-fbtn{ background:#1e3a5f !important; color:#fff !important; }
.sv-fbtn:hover{ background:#16283f !important; }
.sv-fclear{ color:#6b7686; }
.sv-pill span{ background:#fff; border:1px solid #e7ddce; color:#16283f; }
.sv-pill:hover span{ border-color:#1e3a5f !important; }

/* ── Vide & pied ── */
.sv-empty{ background:#fff; border:1px solid #e7ddce; }
.sv-empty h4{ font-family:Georgia,serif; color:#16283f; }
.sv-empty p{ color:#6b7686; }
.sv-foot{ border-top-color:#e7ddce; color:#6b7686; }
