/* ============================================================
   Location Sénégal — Home hébergement V2 (charte). Corps only.
   Specs Figma (rent-senegal, Home logement — V2).
   ============================================================ */
:root{
  --ls-green:#1E9E3E; --ls-green-dk:#157A30; --ls-green-light:#E8F5EC; --ls-orange:#992E09;
  --ls-ink:#16181D; --ls-txt:#4A5058; --ls-muted:#767B84; --ls-line:#E3E5E9;
  --ls-bg:#ffffff; --ls-bg-soft:#F5F6F8; --ls-cream:#FDF3D6; --ls-rangebg:#E7F5EC;
  --ls-container:1200px; --ls-sp:96px; --ls-sp-sm:40px;
  --ls-font:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
.ls-home{font-family:var(--ls-font);color:var(--ls-ink);line-height:1.6;}
.ls-home *,.ls-home *::before,.ls-home *::after{box-sizing:border-box;}
.ls-container{max-width:calc(var(--ls-container) + 48px);margin:0 auto;padding:0 24px;}
.ls-home h1,.ls-home h2,.ls-home h3{margin:0;letter-spacing:-.01em;font-family:var(--ls-font)!important;}
.ls-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--ls-orange);margin:0 0 14px;}
.ls-h2{font-family:var(--ls-font)!important;font-size:34px;font-weight:700;line-height:1.15;text-wrap:balance;margin:0 0 14px;color:var(--ls-ink);}
.ls-sechead--center{text-align:center;max-width:640px;margin:0 auto 44px;}
.ls-sechead__sub{color:var(--ls-muted);margin:0;font-size:16px;}
.ls-sechead--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;}
.ls-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;padding:0 32px;height:56px;border-radius:10px;text-decoration:none;transition:all .15s ease;cursor:pointer;border:1.4px solid transparent;}
.ls-btn--primary{background:var(--ls-green);color:#fff;}
.ls-btn--primary:hover{background:var(--ls-green-dk);color:#fff;}
.ls-btn--outline{background:transparent;color:var(--ls-ink);border-color:var(--ls-ink);border-radius:8px;height:46px;padding:0 26px;}
.ls-btn--outline:hover{border-color:var(--ls-green);color:var(--ls-green);}

/* ---------- BLOC 2 : HERO (carrousel) ---------- */
.ls-hero{position:relative;color:#fff;padding:120px 0 96px;background:#12201a;overflow:visible;text-align:center;}
.ls-hero__slides{position:absolute;inset:0;z-index:0;overflow:hidden;}
.ls-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease;}
.ls-hero__slide.is-active{opacity:1;}
.ls-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.34) 55%,rgba(0,0,0,.42));z-index:1;pointer-events:none;}
.ls-hero__inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.ls-home .ls-hero__title{font-size:48px;font-weight:700;line-height:1.2;margin:0 auto 16px;max-width:20ch;text-wrap:balance;color:#fff!important;}
.ls-home .ls-hero__sub{font-size:19px;line-height:30px;max-width:820px;color:rgba(255,255,255,.92)!important;margin:0 auto 22px;}
/* pills raccourcis */
.ls-hero__shortcuts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 22px;}
.ls-hero__chip{background:rgba(22,24,29,.72);border:1px solid rgba(255,255,255,.3);color:#fff;font-family:var(--ls-font);font-weight:600;font-size:14px;line-height:1;padding:11px 20px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s;}
.ls-hero__chip:hover{background:rgba(30,158,62,.92);border-color:rgba(255,255,255,.55);}
/* dots carrousel */
.ls-hero__dots{display:flex;gap:8px;justify-content:center;align-items:center;margin:22px auto 0;}
.ls-hero__dot{width:8px;height:8px;padding:0;border:none;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .25s,background .25s;}
.ls-hero__dot:hover{background:rgba(255,255,255,.8);}
.ls-hero__dot.is-active{width:28px;background:#fff;}

/* ---------- BLOC 2 : MOTEUR DE RECHERCHE CUSTOM ---------- */
.ls-hero__search{max-width:1200px;margin:0 auto;position:relative;z-index:20;}
.lssearch{position:relative;text-align:left;max-width:1200px;margin:0 auto;}
/* base = barre en ligne (utilisée par [ls_moteur] sur listing/arbo) */
.lssearch__bar{display:flex;align-items:stretch;gap:0;background:#fff;border-radius:14px;padding:8px;box-shadow:0 12px 32px rgba(15,23,41,.16);}
/* Home = barre en colonne (champs en ligne dans .lssearch__row + bouton pleine largeur) */
.ls-home .lssearch__bar{flex-direction:column;gap:8px;}
.lssearch__row{display:flex;align-items:stretch;width:100%;}
.lssearch__field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:14px 18px;background:transparent;border:none;cursor:pointer;text-align:left;border-radius:10px;transition:background .12s;font-family:var(--ls-font);}
.lssearch__field:hover{background:#f6f7f9;}
.lssearch__field.is-active{background:var(--ls-rangebg);}
.lssearch__flabel{font-size:11px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--ls-muted);}
.lssearch__fvalue{font-size:16px;font-weight:500;color:var(--ls-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.lssearch__fvalue::after{content:" ⌄";color:var(--ls-muted);font-size:13px;}
.lssearch__field[data-panel="dates"] .lssearch__fvalue::after{content:none;}
.lssearch__fvalue.is-muted{color:#9aa0a8;}
.lssearch__sep{width:1px;background:var(--ls-line);margin:14px 0;flex:0 0 1px;}
/* base submit = inline à droite (listing/arbo) */
.lssearch__submit{flex:0 0 auto;margin-left:6px;background:var(--ls-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:16px;padding:0 32px;min-width:160px;cursor:pointer;transition:background .15s;font-family:var(--ls-font);}
.lssearch__submit:hover{background:var(--ls-green-dk);}
/* Home submit = pleine largeur sous les champs */
.ls-home .lssearch__submit{width:100%;margin-left:0;padding:0;height:56px;}
/* panneau formule (options riches) */
/* Le panneau Formule est le seul dont les options sont des <button> — les autres panneaux
   emploient des <div>. Sans remise à zéro, le navigateur leur applique son style natif :
   bordure « outset » de 2 px, texte centré, largeur réduite au contenu. D'où les quatre
   boîtes décalées et le texte qui passait à la ligne. */
button.lsopt{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;box-shadow:none;letter-spacing:normal;text-transform:none;}
button.lsopt:hover,button.lsopt:focus{box-shadow:none;}
.lssearch__pop--formule{width:320px;padding:6px;}
.lsopt--rich{align-items:flex-start;min-height:auto;padding:10px 14px;gap:10px;}
.lsopt__main{flex:1;display:flex;flex-direction:column;gap:2px;}
.lsopt--rich .lsopt__lbl{font-weight:600;}
.lsopt__sub{font-size:12px;color:var(--ls-muted);font-weight:400;}
.lsopt__tick{flex:0 0 18px;color:var(--ls-green);font-weight:700;opacity:0;align-self:center;}
.lsopt--rich.is-on{background:var(--ls-rangebg);}
.lsopt--rich.is-on .lsopt__tick{opacity:1;}
/* popovers */
.lssearch__pop{position:absolute;top:calc(100% + 10px);z-index:300;background:#fff;border:1px solid var(--ls-line);border-radius:14px;box-shadow:0 18px 44px rgba(15,23,41,.18);padding:10px;overflow:auto;max-height:74vh;}
.lssearch__pop--zone{width:340px;}
.lssearch__pop--typo{width:300px;}
.lssearch__pop--dates{width:676px;}
.lssearch__pop--guests{width:340px;padding:6px;}
.lspnl{color:var(--ls-ink);}
/* options zone / typo */
.lsopt{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:8px;cursor:pointer;font-size:15px;}
.lsopt:hover{background:var(--ls-rangebg);}
.lspnl--zone .lsopt.is-on{background:var(--ls-rangebg);color:var(--ls-green-dk);font-weight:600;}
.lspnl--zone .lsopt.is-on .lsopt__lbl::after{content:" ✓";color:var(--ls-green);font-weight:700;}
.lsopt__tog{width:16px;flex:0 0 16px;color:var(--ls-green);font-size:12px;text-align:center;}
.lsopt__lbl{flex:1;}
.lslvl1{font-weight:600;}
.lslvl2{padding-left:28px;font-weight:500;}
.lslvl3{padding-left:46px;font-size:14px;color:var(--ls-txt);}
.lsopt__kids{display:none;}
.lsopt__kids.is-open{display:block;}
.lspnl__sep{height:1px;background:var(--ls-line);margin:8px 0;}
.lspnl__subttl{font-size:11px;font-weight:600;letter-spacing:.9px;color:var(--ls-muted);padding:6px 16px;text-transform:uppercase;}
/* calendrier */
.lspnl--cal{position:relative;}
.lscal__head{position:absolute;top:4px;right:8px;display:flex;gap:6px;z-index:2;}
.lscal__nav{width:34px;height:34px;border:1px solid var(--ls-line);background:#fff;border-radius:8px;cursor:pointer;font-size:16px;color:var(--ls-ink);line-height:1;}
.lscal__nav:hover{border-color:var(--ls-green);color:var(--ls-green);}
.lscal__months{display:flex;gap:40px;padding:8px 14px 0;}
.lscal__month{width:290px;}
.lscal__ttl{font-size:15px;font-weight:600;text-align:center;margin-bottom:10px;text-transform:capitalize;}
.lscal__dows{display:grid;grid-template-columns:repeat(7,1fr);}
.lscal__dows span{text-align:center;font-size:12px;color:var(--ls-muted);padding-bottom:8px;}
.lscal__days{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--ls-line);padding-top:6px;gap:0;}
.lscal__day{height:38px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--ls-ink);border-radius:8px;padding:0;font-family:var(--ls-font);}
.lscal__day:hover:not(:disabled):not(.is-past){background:var(--ls-rangebg);}
.lscal__day.is-past{color:#c7ccd2;cursor:default;}
.lscal__day.is-range{background:var(--ls-rangebg);border-radius:0;}
.lscal__day.is-start,.lscal__day.is-end{background:var(--ls-green)!important;color:#fff;}
.lscal__foot{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;border-top:1px solid var(--ls-line);margin-top:8px;}
.lscal__msg{font-size:14px;color:var(--ls-txt);}
.lscal__clear{border:none;background:transparent;color:var(--ls-muted);font-weight:600;cursor:pointer;font-size:14px;font-family:var(--ls-font);}
.lscal__clear:hover{color:var(--ls-green);}
/* voyageurs */
.lscount{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;}
.lscount__lab strong{display:block;font-size:15px;font-weight:600;color:var(--ls-ink);}
.lscount__lab span{font-size:13px;color:var(--ls-muted);}
.lscount__ctr{display:flex;align-items:center;gap:14px;}
.lscount__btn{width:34px;height:34px;border:1px solid var(--ls-line);background:#fff;border-radius:50%;font-size:18px;color:var(--ls-ink);cursor:pointer;line-height:1;font-family:var(--ls-font);}
.lscount__btn:hover{border-color:var(--ls-green);color:var(--ls-green);}
.lscount__val{min-width:22px;text-align:center;font-size:16px;font-weight:600;}
.lssearch__valider{display:block;width:calc(100% - 36px);margin:10px 18px 14px;height:44px;background:var(--ls-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;font-family:var(--ls-font);}
.lssearch__valider:hover{background:var(--ls-green-dk);}

/* ---------- BLOC 3 : AGENCE ---------- */
.ls-agency{background:var(--ls-bg);padding:var(--ls-sp) 0;}
.ls-agency__grid{display:grid;grid-template-columns:464px 1fr;gap:72px;align-items:center;}
.ls-agency__media{border-radius:16px;min-height:380px;background:#dfe3df center/cover no-repeat;}
.ls-agency__body p{color:var(--ls-txt);margin:0 0 16px;font-size:16px;line-height:1.6;}
.ls-agency__body p:last-of-type{color:var(--ls-ink);font-weight:500;} /* Figma : 2e paragraphe accentué #16181D Medium */
.ls-agency__body .ls-btn{margin-top:10px;}

/* ============================================================
   BLOC 4 : NOUVEAUTÉS — cartes custom (exact Figma "Carte logement")
   ============================================================ */
.ls-newest{background:var(--ls-bg-soft);padding:var(--ls-sp) 0;}
.ls-newest__cta{text-align:center;margin-top:48px;}
.lscards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lscard{background:#fff;border:1px solid var(--ls-line);border-radius:16px;box-shadow:0 8px 24px rgba(15,23,41,.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.lscard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,41,.13);}
.lscard__media{position:relative;display:block;height:252px;background:#dfe3df center/cover no-repeat;flex:0 0 auto;}
.lscard__badge{position:absolute;top:16px;left:16px;background:#fff;color:var(--ls-ink);font-weight:600;font-size:12px;line-height:1;padding:8px 14px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.lscard__body{flex:1 1 auto;display:flex;flex-direction:column;padding:22px;gap:14px;}
.lscard__name{font-size:18px;font-weight:600;line-height:26px;margin:0;}
.lscard__name a{color:var(--ls-ink);text-decoration:none;}
.lscard__name a:hover{color:var(--ls-green);}
.lscard__loc{font-size:13px;font-weight:600;color:var(--ls-green);margin:0;}
/* Ligne specs (capacité + caractéristiques VikBooking) */
.lscard__specs{display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;}
.lscard__spec{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--ls-txt);white-space:nowrap;}
.lscard__spec i{font-size:14px;color:var(--ls-ink);width:17px;text-align:center;line-height:1;}
.lscard__sep{height:1px;background:var(--ls-line);margin-top:auto;}
/* Bloc prix */
.lscard__prices{display:flex;flex-direction:column;gap:8px;}
.lscard__price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.lscard__from{font-size:12px;font-weight:500;color:var(--ls-muted);}
.lscard__pricev{display:inline-flex;align-items:baseline;gap:5px;}
.lscard__amount{font-size:22px;font-weight:700;color:var(--ls-green-dk);white-space:nowrap;}
.lscard__unit{font-size:13px;font-weight:500;color:var(--ls-muted);}
.lscard__resident{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--ls-cream);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--ls-ink);}
.lscard__resident span{font-weight:600;}
.lscard__resident strong{font-size:14px;font-weight:700;white-space:nowrap;}
.lscard__degr{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;background:var(--ls-green-light,#E8F5EC);color:var(--ls-green-dk);border-radius:5px;padding:7px 12px;font-size:12px;font-weight:600;}
.lscard__degr i{font-size:14px;}
.lscard__btn{display:flex;align-items:center;justify-content:center;height:50px;border:1.4px solid var(--ls-green);border-radius:8px;color:var(--ls-green-dk);font-weight:600;font-size:15px;text-decoration:none;transition:all .15s ease;}
.lscard__btn:hover{background:var(--ls-green);color:#fff;box-shadow:0 6px 16px rgba(30,158,62,.3);}

/* ---------- BLOC 5 : AVIS ---------- */
.ls-reviews{background:var(--ls-bg);padding:var(--ls-sp) 0;}
.ls-reviews__grid{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start;}
.ls-reviews__intro p{color:var(--ls-txt);font-size:16px;}
.ls-rating{display:inline-flex;align-items:center;gap:12px;margin-top:24px;background:var(--ls-bg-soft);border-radius:12px;padding:12px 20px;}
.ls-rating__score{font-size:27px;font-weight:700;color:var(--ls-ink);}
.ls-rating__src{color:var(--ls-muted);font-size:14px;max-width:170px;line-height:1.3;}
.ls-testimonial{margin:0;background:#fff;border:1px solid var(--ls-line);border-radius:16px;padding:40px;box-shadow:0 8px 24px rgba(15,23,41,.08);}
.ls-stars{color:#F5A623;letter-spacing:3px;font-size:18px;margin-bottom:22px;}
.ls-testimonial blockquote{margin:0 0 28px;font-size:17px;line-height:1.7;color:#2a2a2a;}
.ls-testimonial__author{display:flex;align-items:center;gap:16px;}
.ls-testimonial__avatar{flex:0 0 56px;width:56px;height:56px;border-radius:999px;background:var(--ls-green-light);color:var(--ls-green-dk);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;font-family:var(--ls-font);}
.ls-testimonial__id{display:flex;flex-direction:column;}
.ls-testimonial__name{font-weight:600;color:var(--ls-ink);}
.ls-testimonial__meta{color:var(--ls-muted);font-size:14px;}
/* Carrousel avis (flèches + compteur + piste) */
.ls-reviews__nav{display:flex;align-items:center;gap:12px;margin-top:28px;}
.ls-reviews__arrow{width:44px;height:44px;border:1.4px solid var(--ls-line);background:#fff;border-radius:999px;font-size:18px;color:var(--ls-ink);cursor:pointer;line-height:1;transition:border-color .15s,color .15s;font-family:var(--ls-font);}
.ls-reviews__arrow:hover:not(:disabled){border-color:var(--ls-green);color:var(--ls-green);}
.ls-reviews__arrow:disabled{opacity:.4;cursor:default;}
.ls-reviews__count{font-size:14px;font-weight:500;color:var(--ls-muted);}
.ls-reviews__viewport{overflow:hidden;}
.ls-reviews__track{display:flex;transition:transform .35s ease;}
.ls-reviews__track .ls-testimonial{flex:0 0 100%;}

/* ---------- BLOC 6 : ARTICLES ---------- */
.ls-articles{background:var(--ls-bg-soft);padding:var(--ls-sp) 0;}
.ls-articles__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
/* Figma : pas de card — colonne image + texte, gap 14, sans bordure/ombre */
.ls-article{background:transparent;border:none;border-radius:0;overflow:visible;display:flex;flex-direction:column;box-shadow:none;gap:14px;}
.ls-article__img{display:block;height:320px;border-radius:16px;background:#dfe3df center/cover no-repeat;}
.ls-article__imglink{display:block;border-radius:16px;overflow:hidden;}
.ls-article__body{padding:0;display:flex;flex-direction:column;gap:14px;}
.ls-article__meta{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ls-muted);}
.ls-article__title{font-size:22px;font-weight:700;line-height:1.25;}
.ls-article__title a{color:var(--ls-ink);text-decoration:none;}
.ls-article__title a:hover{color:var(--ls-green);}
.ls-article__excerpt{color:var(--ls-txt);margin:0;font-size:15px;line-height:1.6;}
.ls-article__more{color:var(--ls-green);font-weight:600;text-decoration:none;font-size:15px;margin-top:0;}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .ls-agency__grid{grid-template-columns:1fr;gap:34px;}
  .ls-reviews__grid,.ls-articles__grid{grid-template-columns:1fr;gap:34px;}
  .lscards{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   MOBILE (<= 900px) — hero à gauche + moteur 3 déclencheurs + sheets plein écran
   ============================================================ */
.lssearch__mobile{display:none;}
@media (max-width:900px){
  .ls-container{padding:0 20px;}
  .ls-agency,.ls-newest,.ls-reviews,.ls-articles{padding:var(--ls-sp-sm) 0;}
  .ls-hero{padding:40px 0 40px;text-align:left;}
  .ls-hero__inner{max-width:none;}
  .ls-hero__title{font-size:30px;line-height:38px;margin:0 0 12px;max-width:none;}
  .ls-hero__sub{font-size:15px;line-height:24px;margin:0 0 18px;max-width:none;}
  .ls-hero__shortcuts{justify-content:flex-start;margin:0 0 18px;}
  .ls-hero__dots{justify-content:flex-start;margin:18px 0 0;}
  .lssearch__bar{display:none;}
  .lssearch__mobile{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 10px 28px rgba(15,23,41,.18);}
  .lssearch__mtrigger{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f6f4f0;border:none;border-radius:10px;padding:12px 16px;cursor:pointer;text-align:left;font-family:var(--ls-font);width:100%;}
  .lssearch__mtxt{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .lssearch__mlabel{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--ls-muted);}
  .lssearch__mvalue{font-size:15px;font-weight:500;color:var(--ls-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .lssearch__mvalue.is-muted{color:#9aa0a8;}
  .lssearch__mchevron{color:var(--ls-muted);font-size:14px;flex:0 0 auto;}
  .lssearch__submit--mobile{width:100%;margin:0;min-width:0;height:52px;}
  .lscards{grid-template-columns:1fr;}
  .ls-sechead--row{flex-direction:column;align-items:flex-start;gap:16px;}
  .ls-agency__media{min-height:220px;}
}
@media (max-width:640px){
  .ls-hero__title{font-size:28px;line-height:34px;}
}

/* ---------- Sheets plein écran (mobile) ---------- */
.lssheet{position:fixed;inset:0;z-index:99999;background:#fff;display:flex;flex-direction:column;font-family:var(--ls-font);}
.lssheet__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ls-line);flex:0 0 auto;}
.lssheet__title{font-size:18px;font-weight:600;color:var(--ls-ink);}
.lssheet__close{border:none;background:transparent;font-size:20px;color:var(--ls-ink);cursor:pointer;line-height:1;padding:4px;font-family:var(--ls-font);}
.lssheet__body{flex:1 1 auto;overflow:auto;padding:16px 0;}
.lssheet__search{display:block;width:calc(100% - 40px);margin:0 20px 12px;height:44px;border:1px solid var(--ls-line);border-radius:10px;padding:0 16px;font-size:15px;font-family:var(--ls-font);}
.lssheet__blocktitle{font-size:16px;font-weight:600;color:var(--ls-ink);padding:16px 20px 4px;border-top:8px solid var(--ls-bg-soft);margin-top:12px;}
.lssheet .lsopt{padding:0 20px;min-height:44px;border-radius:0;}
.lssheet .lslvl2{padding-left:44px;} .lssheet .lslvl3{padding-left:64px;}
.lssheet__foot{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--ls-line);}
.lssheet__info{flex:1;font-size:14px;color:var(--ls-txt);}
.lssheet__clear{border:none;background:transparent;color:var(--ls-ink);font-weight:600;font-size:15px;cursor:pointer;font-family:var(--ls-font);padding:0 8px;}
.lssheet__apply{flex:1;background:var(--ls-green);color:#fff;border:none;border-radius:10px;height:44px;font-weight:600;font-size:15px;cursor:pointer;font-family:var(--ls-font);}
.lssheet__apply:hover{background:var(--ls-green-dk);}
.lssheet .lscal__months{flex-direction:column;gap:24px;padding:0 20px;}
.lssheet .lscal__month{width:100%;}
.lssheet .lscal__head{position:static;justify-content:flex-end;padding:0 20px 8px;}
.lssheet .lspnl--cal .lscal__foot{display:none;}
.lssheet .lscount{padding:16px 20px;}
/* chips typologie (mobile "Où et quoi") */
.lschips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px 16px;}
.lschip{border:1px solid var(--ls-line);background:#fff;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;color:var(--ls-ink);cursor:pointer;font-family:var(--ls-font);}
.lschip.is-on{background:var(--ls-green);border-color:var(--ls-green);color:#fff;}

/* ---------- Barre d'action sticky (mobile) : un seul bouton, WhatsApp ---------- */
.ls-sticky{display:none;}
@media (max-width:900px){
  .ls-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9998;gap:10px;background:#fff;border-top:1px solid var(--ls-line);box-shadow:0 -4px 16px rgba(15,23,41,.1);padding:12px 20px;}
  body.page-template-template-home-v2{padding-bottom:74px;}
}
.ls-sticky__btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;padding:14px 0;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;font-family:var(--ls-font);}
.ls-sticky__btn--wa{background:var(--ls-green);color:#fff;border:1.4px solid var(--ls-green);}
