/* ============================================================
   eMB STAY — logement (show) — thème sombre premium
   Hero en fondu + galerie Fancybox + carte + avis + résa.
   Préfixe .ss-  | Header/drawer via home-vision.css (.hv-*)
   ============================================================ */
.ss{--stay:#1e3a5f;--stay2:#3478C8;--soft:#8A93A6;--line:#1c2233;--paper:#0d1119;--field:#0a0e15;
  background:#070A11;color:#fff;font-family:var(--font-body,'Inter',sans-serif)}
.ss *{box-sizing:border-box;min-width:0}
.ss a{text-decoration:none;color:inherit}

/* ===== HERO FONDU ===== */
.ss-hero{position:relative;height:440px;overflow:hidden;background:linear-gradient(135deg,#1a1330,#0e0b19)}
.ss-hero-slides{position:absolute;inset:0}
.ss-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease}
.ss-hero-slide.on{opacity:1;transform:scale(1.12);transition:opacity 1.2s ease, transform 7s ease}
.ss-hero-em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:120px;opacity:.9}
.ss-hero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,17,.35),transparent 30%,transparent 45%,rgba(7,10,17,.85));z-index:1}
.ss-hero-top{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;padding:16px calc(50% - 570px + 20px)}
.ss-hero-actions{display:flex;gap:10px}
.ss-hero-btn{width:42px;height:42px;border-radius:50%;background:rgba(10,14,21,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer}
.ss-hero-c{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 calc(50% - 570px + 20px) 30px;max-width:100%}
.ss-hero-type{display:inline-flex;background:rgba(30,58,95,.9);color:#fff;font-size:12px;font-weight:800;padding:6px 13px;border-radius:20px;backdrop-filter:blur(6px)}
.ss-hero-c h1{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:34px;letter-spacing:-1px;margin:12px 0 8px;line-height:1.05;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.ss-hero-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:#e6e9f0}
.ss-hero-photos{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:rgba(10,14,21,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:13px;font-weight:700;padding:9px 16px;border-radius:24px;cursor:pointer}
.ss-hero-photos:hover{background:rgba(30,58,95,.5);border-color:transparent}
.ss-hero-thumbs{position:absolute;right:calc(50% - 570px + 20px);bottom:30px;z-index:3;display:flex;gap:8px}
.ss-hero-thumb{width:66px;height:66px;border-radius:12px;background-size:cover;background-position:center;border:2px solid rgba(255,255,255,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background-color:rgba(10,14,21,.6);backdrop-filter:blur(6px)}
.ss-hero-thumb.more{font-size:15px}
@media(max-width:1200px){.ss-hero-top{padding:16px 20px}.ss-hero-c{padding:0 20px 30px}.ss-hero-thumbs{right:20px}}
@media(max-width:640px){.ss-hero{height:340px}.ss-hero-c h1{font-size:24px}.ss-hero-thumbs{display:none}}

/* ===== LAYOUT ===== */
.ss-wrap{max-width:1140px;margin:0 auto;padding:26px 20px 48px}
.ss-crumb{font-size:13px;color:var(--soft);margin-bottom:20px}
.ss-crumb a{color:var(--stay2)}
.ss-grid{display:grid;grid-template-columns:1fr 372px;gap:34px;align-items:start}

.ss-block{padding:24px 0;border-top:1px solid var(--line)}
.ss-block:first-child{border-top:none;padding-top:0}
.ss-block h2{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-size:20px;font-weight:800;margin-bottom:16px}

/* score */
.ss-score-card{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin-bottom:8px}
.ss-score-big{border-radius:14px;padding:10px 14px;color:#fff;text-align:center;min-width:64px}
.ss-score-big b{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-size:24px;font-weight:800;display:block;line-height:1}
.ss-score-big small{font-size:11px;opacity:.85}
.ss-score-txt{flex:1}
.ss-score-txt .lbl{font-weight:800;font-size:16px}
.ss-score-txt .ct{font-size:13px;color:var(--soft);margin-top:2px}
.ss-score-stars{color:#FFC94D;font-size:17px;letter-spacing:2px}

/* facts */
.ss-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ss-fact{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ss-fact .fi{font-size:22px}
.ss-fact b{display:block;font-size:14px}
.ss-fact small{display:block;font-size:12px;color:var(--soft);margin-top:2px}

.ss-desc{font-size:14.5px;line-height:1.8;color:#c7cede}

.ss-eq{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ss-eqitem{display:flex;align-items:center;gap:10px;font-size:14px;color:#c7cede;padding:9px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.ss-eqitem i{color:var(--stay2);font-style:normal}

#map-logement{height:320px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}

/* notes */
.ss-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.ss-noterow{display:flex;align-items:center;gap:12px;font-size:13.5px}
.ss-noterow .lbl{width:130px;color:#c7cede}
.ss-noterow .bar{flex:1;height:6px;background:var(--line);border-radius:4px;overflow:hidden}
.ss-noterow .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--stay),var(--stay2))}
.ss-noterow .v{font-weight:700;width:28px;text-align:right}
.ss-avis{padding:14px 0;border-bottom:1px solid var(--line)}
.ss-avis .who{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
.ss-avis .who .g{background:rgba(30,58,95,.16);color:#c9bcff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:12px}
.ss-avis .when{font-size:12px;color:var(--soft);margin:3px 0 6px}
.ss-avis .txt{font-size:13.5px;color:#aeb6c8;line-height:1.6}

/* review form */
.ss-reviewform{border-top:1px solid var(--line);padding-top:24px}
.ss-reviewform label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#c7cede}
.ss-star-group{display:flex;gap:3px;font-size:22px;cursor:pointer;margin-bottom:4px;color:#3a4152}
.ss-star-group i{font-style:normal;transition:.1s}
.ss-reviewform textarea{width:100%;background:var(--field);border:1px solid var(--line);border-radius:12px;padding:12px;color:#fff;font-size:14px;font-family:inherit;outline:none;margin:12px 0;resize:vertical}
.ss-reviewform textarea:focus{border-color:var(--stay)}
.ss-reviewform button{background:linear-gradient(135deg,var(--stay),var(--stay2));color:#fff;border:none;border-radius:12px;padding:13px 24px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit}

/* ===== BOOKING ===== */
.ss-booking{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;position:sticky;top:88px;box-shadow:0 20px 50px -22px rgba(0,0,0,.6)}
.ss-bprice{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-size:24px;font-weight:800}
.ss-bprice span{font-size:14px;color:var(--soft);font-weight:600}
.ss-bscore{font-size:13px;color:#c9bcff;margin-top:4px}
.ss-bfields{margin:16px 0 14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ss-brow{display:grid;grid-template-columns:1fr 1fr}
.ss-bf{padding:11px 14px;border-bottom:1px solid var(--line)}
.ss-brow .ss-bf:first-child{border-right:1px solid var(--line)}
.ss-bf.full{border-bottom:none}
.ss-bf .l{font-size:11px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.ss-bf input,.ss-bf select{width:100%;background:transparent;border:none;color:#fff;font-size:14px;font-family:inherit;outline:none;cursor:pointer}
.ss-bf select option{background:#0d1119}
.ss-bf input::placeholder{color:#5a6478}
.ss-bbtn{width:100%;background:linear-gradient(135deg,var(--stay),var(--stay2));color:#fff;border:none;border-radius:13px;padding:14px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;box-shadow:0 12px 28px -8px rgba(30,58,95,.5)}
.ss-pricebreak{margin-top:16px;font-size:14px}
.ss-pricebreak .r{display:flex;justify-content:space-between;color:#c7cede;margin-bottom:10px}
.ss-pricebreak .tot{display:flex;justify-content:space-between;font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;font-size:16px;padding-top:12px;border-top:1px solid var(--line)}
.ss-caution{margin-top:14px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#8fdca6;font-size:12.5px;font-weight:600;padding:10px 12px;border-radius:11px}
.ss-taxnote{text-align:center;font-size:12px;color:var(--soft);margin-top:12px}
.ss-host{display:block;text-align:center;margin-top:14px;background:transparent;border:1px solid var(--line);color:#c7cede;border-radius:12px;padding:12px;font-weight:700;font-size:14px}
.ss-host:hover{border-color:var(--stay);color:#fff}

@media(max-width:980px){.ss-grid{grid-template-columns:1fr}.ss-booking{position:static}.ss-facts,.ss-eq,.ss-notes{grid-template-columns:1fr}}

/* ===== FLATPICKR sombre (violet) ===== */
.flatpickr-calendar{background:#0d1119;border:1px solid #1c2233;box-shadow:0 20px 50px rgba(0,0,0,.6);color:#fff}
.flatpickr-months .flatpickr-month,.flatpickr-current-month,.flatpickr-current-month input.cur-year,.flatpickr-monthDropdown-months{color:#fff;fill:#fff}
.flatpickr-weekday{color:#8A93A6}
.flatpickr-day{color:#e6e9f0}
.flatpickr-day:hover,.flatpickr-day:focus{background:#1c2233;border-color:#1c2233}
.flatpickr-day.today{border-color:#1e3a5f}
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#1e3a5f;border-color:#1e3a5f;color:#fff}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#3a4152}
.flatpickr-day.inRange{background:#241c3a;border-color:#241c3a;box-shadow:-5px 0 0 #241c3a,5px 0 0 #241c3a}
.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{fill:#fff}
.flatpickr-calendar.arrowTop:before{border-bottom-color:#1c2233}.flatpickr-calendar.arrowTop:after{border-bottom-color:#0d1119}
.flatpickr-calendar.arrowBottom:before{border-top-color:#1c2233}.flatpickr-calendar.arrowBottom:after{border-top-color:#0d1119}

/* ══════════════════════════════════════════════════════════════════
   ★ FICHE LOGEMENT — marine + lisibilité (thème clair) ★
   ══════════════════════════════════════════════════════════════════ */

/* Fond beige chaud */
.ss, .hv{ background:#EFE7DA !important; }

/* --- HERO : titre blanc lisible sur image --- */
.ss-hero-c h1{ color:#fff !important; text-shadow:0 2px 12px rgba(0,0,0,.55) !important; }
.ss-hero-meta{ color:rgba(255,255,255,.92) !important; }
.ss-hero-meta span{ color:rgba(255,255,255,.92) !important; text-shadow:0 1px 6px rgba(0,0,0,.5) !important; }
/* Badge type en marine */
.ss-hero-type{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(30,58,95,.4) !important;
}
/* Bouton photos */
.ss-hero-photos{
  background:rgba(255,255,255,.95) !important;
  color:#1e3a5f !important; font-weight:700 !important;
}
/* Voile sombre en bas du hero pour lisibilité */
.ss-hero::after, .ss-hero-cover::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,transparent 35%,transparent 45%,rgba(15,20,35,.8) 100%);
}
.ss-hero-c{ position:absolute !important; left:0; right:0; bottom:0; z-index:3 !important; padding:0 20px 30px; }

/* --- Cartes du corps : blanches, bordures terre --- */
.ss-card, .ss-book, .ss-section{
  background:#fff !important;
  border-color:#E4D8C6 !important;
}
.ss-card h2, .ss-card h3, .ss-section h2, .ss-section h3{ color:#1a2438 !important; font-family:Georgia,serif !important; }

/* Facts (voyageurs, chambres...) */
.ss-fact b{ color:#1a2438 !important; }
.ss-fact small{ color:#9aa3b5 !important; }
.ss-fact .fi{ background:#EDF1F7 !important; }

/* --- Panneau réservation --- */
.ss-book{ box-shadow:0 12px 32px rgba(30,58,95,.1) !important; }
.ss-book .price, .ss-book .prix, .ss-price{ color:#1e3a5f !important; font-family:Georgia,serif !important; }
.ss-book input, .ss-book select{
  background:#FBF7F0 !important; border-color:#E4D8C6 !important; color:#1a2438 !important;
}
.ss-book label{ color:#b09877 !important; }
/* Bouton réserver marine */
.ss-book .btn, .ss-btn, .ss-book button[type="submit"]{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  color:#fff !important; border:none !important;
  box-shadow:0 8px 22px rgba(30,58,95,.35) !important;
}
/* Équipements */
.ss-equip, .ss-amenity{ color:#5a6472 !important; }
.ss-equip .ic, .ss-amenity .ic{ color:#1e3a5f !important; }

/* Total réservation */
.ss-total b, .ss-total .v{ color:#1e3a5f !important; font-family:Georgia,serif !important; }

/* ══════════════════════════════════════════════════════════════════
   ★ FICHE LOGEMENT — design vendeur premium ★
   ══════════════════════════════════════════════════════════════════ */

/* Bouton Réserver : marine forcé (fini le violet) */
.ss-bbtn{
  background:linear-gradient(135deg,#1e3a5f,#16283f) !important;
  box-shadow:0 8px 24px rgba(30,58,95,.4) !important;
}

/* Panneau : blanc, ombre marine */
.ss-booking{
  background:#fff !important;
  border:1px solid #E4D8C6 !important;
  box-shadow:0 16px 44px rgba(30,58,95,.14) !important;
}
/* Prix marine serif */
.ss-bprice{ color:#1e3a5f !important; font-family:Georgia,serif !important; }
.ss-bprice span{ color:#8a93a6 !important; }
/* Note */
.ss-bscore{ color:#5a6472 !important; }

/* Champs dates */
.ss-bf input, .ss-bf select{
  background:#FBF7F0 !important; border-color:#E4D8C6 !important; color:#1a2438 !important;
}
.ss-bf .l{ color:#b09877 !important; }

/* Caution : vert rassurant lisible */
.ss-caution{
  background:#E8F7EE !important; border:1px solid #B6E5C6 !important;
  color:#15803D !important;
}
.ss-taxnote{ color:#9aa3b5 !important; }

/* Contacter l'hôte : crème */
.ss-host{
  background:#fff !important; border:1px solid #E4D8C6 !important;
  color:#5a6472 !important;
}

/* Récap prix */
.ss-pricebreak{ color:#5a6472 !important; }
.ss-pricebreak .tot span{ color:#1e3a5f !important; font-family:Georgia,serif !important; font-weight:700; }

/* --- Badge "Très demandé" (urgence) ajouté sous le prix --- */
.ss-hot{
  display:inline-block; margin:8px 0 4px;
  font-size:10.5px; font-weight:700; color:#B8860B;
  background:#FBF3E0; padding:5px 11px; border-radius:8px;
}

/* --- Signaux de confiance (bas du panneau) --- */
.ss-trust{
  display:flex; justify-content:center; gap:16px;
  margin-top:14px; padding-top:14px; border-top:1px solid #F0EEE8;
}
.ss-trust .ti{ text-align:center; }
.ss-trust .ti .e{ font-size:15px; }
.ss-trust .ti .t{ font-size:8px; color:#9aa3b5; margin-top:2px; }

/* --- Facts : icônes colorées --- */
.ss-fact .fi{
  width:42px; height:42px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex-shrink:0;
}
.ss-facts .ss-fact:nth-child(1) .fi{ background:#EEF1FF !important; }
.ss-facts .ss-fact:nth-child(2) .fi{ background:#F3EEFF !important; }
.ss-facts .ss-fact:nth-child(3) .fi{ background:#EAF7EE !important; }
.ss-facts .ss-fact:nth-child(4) .fi{ background:#FDF0E8 !important; }

/* --- Équipements avec check marine --- */
.ss-amenity::before, .ss-equip::before{
  content:'✓'; display:inline-flex; align-items:center; justify-content:center;
  width:19px; height:19px; border-radius:50%; margin-right:8px;
  background:linear-gradient(135deg,#1e3a5f,#16283f); color:#fff;
  font-size:11px; font-weight:800; flex-shrink:0;
}

/* --- Équipements (.ss-eqitem) : check marine propre --- */
.ss-eqitem{
  background:#fff !important;
  border:1px solid #E4D8C6 !important;
  color:#5a6472 !important;
  border-radius:12px !important;
}
.ss-eqitem i{
  display:inline-flex; align-items:center; justify-content:center;
  width:20px; height:20px; border-radius:50%;
  background:linear-gradient(135deg,#1e3a5f,#16283f); color:#fff !important;
  font-size:11px; font-weight:800; font-style:normal;
  margin-right:8px; flex-shrink:0;
}
