/* ============================================================
   MaliTerrain — Page d'accueil « Éditorial chaleureux »
   Tokens issus du handoff design (hi-fi)
   ============================================================ */

:root{
  /* couleurs */
  --green:#2D6A4F;        /* primaire — vert savane */
  --gold:#C9A84C;         /* secondaire — or africain */
  --terra:#A0522D;        /* accent — terre rouge */
  --cream:#FAF7F2;        /* fond blanc cassé */
  --ink:#1A1A1A;          /* texte */
  --ink-deep:#13201A;     /* titres */
  --muted-1:#5C574E;
  --muted-2:#6E695F;
  --muted-3:#8A8270;
  --muted-4:#A39A88;
  --border:#ECE3D4;
  --divider:#F0EBE0;
  --gold-deep:#9A7C25;    /* suffixe FCFA */

  /* typo */
  --serif:'Playfair Display',serif;
  --sans:'Inter',sans-serif;
  --mono:'Space Mono',monospace;

  /* ombres */
  --sh-card:0 10px 26px -18px rgba(45,55,40,.3);
  --sh-card-hover:0 20px 40px -20px rgba(45,55,40,.4);
  --sh-search:0 16px 40px -18px rgba(45,55,40,.35);
  --sh-hero:0 30px 60px -28px rgba(31,78,58,.6);
  --sh-wa:0 10px 24px rgba(45,106,79,.45);
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}   /* l'attribut hidden doit toujours masquer */
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:var(--ink-deep);}
img,svg{display:block;}
a{text-decoration:none;color:inherit;}

.container{max-width:1240px;margin:0 auto;padding-left:40px;padding-right:40px;}

/* ---------- boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-weight:600;border:0;cursor:pointer;text-align:center;
  text-decoration:none;line-height:1;
}
.btn--primary{
  font-size:14px;color:#fff;background:var(--green);
  border-radius:10px;padding:11px 19px;
  transition:background .18s ease,color .18s ease;
}
.btn--primary:hover{background:var(--gold);color:var(--ink-deep);}
.btn--lg{font-size:15px;padding:14px 24px;border-radius:11px;}
.btn--ghost{
  background:transparent;color:var(--green);border:1px solid var(--border);
  padding:14px 24px;border-radius:11px;font-size:15px;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.btn--ghost:hover{border-color:var(--green);background:rgba(45,106,79,.06);}
.btn--gold{
  background:var(--gold);color:var(--ink-deep);border-radius:11px;
  transition:background .18s ease,color .18s ease;
}
.btn--gold:hover{background:#d8b85e;}

/* ============ LOGO DISSOCIÉ (haut-gauche, intégré au hero) ============ */
.brandmark{display:inline-flex;align-items:center;}
.brandmark img{width:auto;display:block;}
/* sur le hero immersif : ancré dans l'image, ombre douce pour le détacher */
.brandmark--hero{position:absolute;top:22px;left:30px;z-index:5;}
.brandmark--hero img{height:56px;filter:drop-shadow(0 3px 14px rgba(0,0,0,.55));}
/* pages internes : fixé en haut à gauche sur fond clair */
.brandmark--page{position:fixed;top:16px;left:26px;z-index:61;}
.brandmark--page img{height:46px;}
@media (max-width:767px){
  .brandmark--hero{top:16px;left:18px;}
  .brandmark--hero img{height:46px;}
  .brandmark--page{top:12px;left:16px;}
  .brandmark--page img{height:40px;}
  body.page-inner main{padding-top:62px;}
}

/* ============ TUBELIGHT NAVBAR — pilule flottante + halo « lampe » sur l'onglet actif ============ */
.tubenav{position:fixed;left:50%;transform:translateX(-50%);top:16px;z-index:60;}
.tubenav__pill{
  display:flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--border);box-shadow:0 14px 34px -16px rgba(45,55,40,.45);
  border-radius:999px;padding:6px;
}
.tubenav__logo{display:flex;align-items:center;padding:0 6px 0 10px;}
.tubenav__logo img{height:30px;width:auto;display:block;}
.tubenav__link{
  position:relative;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:14px;font-weight:600;color:var(--muted-1);padding:9px 16px;border-radius:999px;
  transition:color .2s ease,background .2s ease;
}
.tubenav__link:hover{color:var(--green);}
.tubenav__link.is-active{color:var(--green);background:rgba(45,106,79,.08);}
.tubenav__icon{display:none;align-items:center;}
/* halo « lampe » au-dessus de l'onglet actif */
.tubenav__link.is-active::before{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:30px;height:4px;background:var(--green);border-radius:0 0 8px 8px;}
.tubenav__link.is-active::after{content:'';position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:46px;height:16px;background:var(--green);opacity:.35;filter:blur(10px);border-radius:50%;}

/* dégagement du contenu sous la barre (pages internes, desktop) */
@media (min-width:768px){ body.page-inner main{padding-top:96px;} }

/* mobile : barre ancrée en bas, libellés → icônes */
@media (max-width:767px){
  .tubenav{top:auto;bottom:14px;}
  .tubenav__logo,.tubenav__text{display:none;}
  .tubenav__icon{display:inline-flex;}
  .tubenav__link{padding:11px 15px;}
  body{padding-bottom:88px;}
}

/* ============ NAV ============ */
.nav{position:relative;z-index:20;}
.nav__inner{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;}
.brand{display:flex;align-items:center;}
.brand__logo{height:52px;width:auto;display:block;}

.nav__links{display:flex;align-items:center;gap:30px;}
.nav__link{font-size:14.5px;font-weight:500;color:#4A463E;transition:color .18s ease;}
.nav__link:hover{color:var(--green);}
.nav__link.is-active{color:var(--green);}

.nav__burger{display:none;background:none;border:0;color:var(--ink-deep);cursor:pointer;padding:6px;}

/* ============ HERO ============ */
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;
  padding-top:38px;padding-bottom:70px;
}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--terra);background:rgba(160,82,45,.09);padding:7px 13px;border-radius:999px;
}
.hero__title{
  font-family:var(--serif);font-weight:900;font-size:62px;line-height:1.02;
  letter-spacing:-.025em;color:var(--ink-deep);margin:24px 0 0;
}
.hero__accent{color:var(--green);font-style:italic;}
.hero__sub{font-size:17px;line-height:1.6;color:var(--muted-1);margin:22px 0 0;max-width:440px;}

/* search */
.search{
  margin-top:32px;background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:9px;display:flex;align-items:stretch;gap:4px;box-shadow:var(--sh-search);max-width:560px;
}
.search__field{flex:1;padding:9px 15px;border-right:1px solid var(--divider);display:block;cursor:pointer;}
.search__field--wide{flex:1.2;}
.search__label{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-4);}
.search__value{
  display:block;width:100%;margin-top:3px;border:0;background:transparent;
  font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink-deep);
  cursor:pointer;appearance:none;-webkit-appearance:none;padding:0;
}
.search__value:focus{outline:none;}
.search__btn{
  flex:none;background:var(--green);border:0;border-radius:11px;width:52px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease;
}
.search__btn:hover{background:var(--gold);}

/* stats */
.stats{display:flex;gap:26px;margin-top:30px;}
.stat__num{font-family:var(--serif);font-weight:800;font-size:26px;color:var(--ink-deep);}
.stat__label{font-size:12.5px;color:var(--muted-3);}

/* hero visual : slider d'images */
.hero__visual{
  position:relative;height:520px;border-radius:22px;overflow:hidden;
  background:#1F4E3A;box-shadow:var(--sh-hero);
  perspective:1000px;
}
.slider__imgs{position:absolute;inset:0;}
.slider__img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:0;transform-origin:center;backface-visibility:hidden;
}
.slider__img.is-active{opacity:1;z-index:1;}
.slider__img.is-enter{animation:sliderEnter .6s cubic-bezier(.645,.045,.355,1) both;z-index:2;}
.slider__img.is-exit{animation:sliderExitUp 1s ease both;z-index:1;}

@keyframes sliderEnter{
  0%{opacity:0;transform:scale(.55) rotateX(38deg);}
  100%{opacity:1;transform:scale(1) rotateX(0deg);}
}
@keyframes sliderExitUp{
  0%{opacity:1;transform:translateY(0);}
  100%{opacity:1;transform:translateY(-150%);}
}

/* overlay brandé (vert savane au lieu du noir) */
.slider__overlay{
  position:absolute;inset:0;z-index:3;
  background:linear-gradient(160deg, rgba(31,78,58,.28), rgba(19,32,26,.5));
}

/* puces de navigation */
.slider__dots{position:absolute;top:18px;left:18px;z-index:10;display:flex;gap:7px;}
.slider__dot{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.45);transition:background .25s ease,width .25s ease;}
.slider__dot.is-on{background:var(--gold);width:18px;}

.hero__card{
  position:absolute;left:20px;bottom:20px;right:20px;z-index:10;
  background:rgba(250,247,242,.96);border-radius:15px;padding:17px 19px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  backdrop-filter:blur(2px);
}
.hero__card-title{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink-deep);line-height:1.1;}
.hero__card-loc{font-size:12.5px;color:var(--muted-2);margin-top:3px;}
.hero__card-price{text-align:right;flex:none;}
.hero__card-price .price{font-size:22px;}

/* ----- HERO COVER : image plein écran + voile sombre + texte blanc (portage de AnimatedHero) ----- */
.hero--cover{
  position:relative;display:flex;align-items:center;
  min-height:88vh;padding:0;overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background:url('img/hero-afrique.jpg') center/cover no-repeat;
  transform:scale(1.06);animation:heroZoom 22s ease-in-out infinite alternate;will-change:transform;
}
@keyframes heroZoom{to{transform:scale(1.17);}}
.hero__veil{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(8,16,12,.86) 0%,rgba(8,16,12,.62) 44%,rgba(8,16,12,.28) 100%);
}
.hero__inner{position:relative;z-index:2;width:100%;padding-top:118px;padding-bottom:96px;}
.hero--cover .hero__text{max-width:700px;}
.hero--cover .pill{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);}
.hero--cover .hero__title{color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.3);}
.hero--cover .hero__accent{color:var(--gold);}
.hero--cover .hero__sub{color:rgba(255,255,255,.86);max-width:520px;}
.hero--cover .stat__num{color:#fff;}
.hero--cover .stat__label{color:rgba(255,255,255,.72);}
@media (max-width:768px){
  .hero--cover{min-height:82vh;}
  .hero__inner{padding-top:86px;padding-bottom:60px;}
  .hero__veil{background:linear-gradient(180deg,rgba(8,16,12,.55) 0%,rgba(8,16,12,.82) 100%);}
}
@media (prefers-reduced-motion:reduce){.hero__bg{animation:none;transform:none;}}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;}
.badge--available{background:rgba(45,106,79,.12);color:var(--green);margin-bottom:8px;}
.badge--negotiation{background:rgba(201,168,76,.95);color:var(--ink-deep);}
.badge--sold{background:rgba(160,82,45,.95);color:#fff;}
.badge--sold.card__badge{background:rgba(160,82,45,.95);color:#fff;}

/* prix */
.price{font-family:var(--serif);font-weight:800;color:var(--green);}
.price__cur{font-size:11px;font-weight:600;color:var(--gold-deep);}

/* ============ SECTION HEAD ============ */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;padding-top:18px;padding-bottom:4px;}
.section-title{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--ink-deep);margin:0;letter-spacing:-.015em;}
.section-link{font-size:14px;font-weight:600;color:var(--green);}

/* ============ MOTION — révélations au scroll + gestes (inspiré de motion.dev) ============ */
/* état initial : masqué jusqu'à l'entrée dans le viewport (le .motion est posé en <head> → pas de flash) */
.motion [data-reveal]{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.34,1.28,.5,1);
  transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;
}
.motion [data-reveal="fade"]{transform:none;}
.motion [data-reveal="left"]{transform:translateX(-30px);}
.motion [data-reveal="right"]{transform:translateX(30px);}
.motion [data-reveal="scale"]{transform:scale(.93);}
.motion [data-reveal].is-revealed{opacity:1;transform:none;}

/* gestes : appui (whileTap) + ressort sur boutons et liens */
.btn,.search__btn{transition:transform .2s cubic-bezier(.34,1.4,.5,1),box-shadow .2s ease,background .2s ease,color .2s ease,opacity .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active,.search__btn:active{transform:scale(.95);}
.section-link{display:inline-block;transition:transform .2s cubic-bezier(.34,1.4,.5,1),color .2s ease;}
.section-link:hover{transform:translateX(4px);}

/* nav : légère élévation au scroll */
.nav{transition:box-shadow .3s ease,backdrop-filter .3s ease;}
.nav.is-scrolled{box-shadow:0 8px 30px -20px rgba(45,55,40,.6);}

/* bouton WhatsApp : petit rebond d'apparition + pulsation discrète */
.motion .whatsapp{animation:waPop .6s cubic-bezier(.34,1.5,.5,1) .8s both;}
@keyframes waPop{from{opacity:0;transform:scale(.4);}to{opacity:1;transform:scale(1);}}

@media (prefers-reduced-motion:reduce){
  .motion [data-reveal]{opacity:1!important;transform:none!important;transition:none;}
  .motion .whatsapp{animation:none;}
  .btn:hover,.section-link:hover{transform:none;}
}

/* ============ CARDS ============ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:24px;}
.card{
  background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:var(--sh-card);transition:transform .18s ease,box-shadow .18s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-card-hover);}
/* ----- média carte : effet spotlight (révélation nette au survol + tilt 3D) ----- */
.card__media{
  position:relative;height:178px;background:#1F4E3A;
  --mx:50%;--my:50%;
  transform-style:preserve-3d;
  transition:transform .2s ease-out;
}
.sp-base,.sp-sharp{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  user-select:none;-webkit-user-drag:none;
}
.sp-base{filter:blur(5px);transform:scale(1.1);opacity:0;transition:opacity .3s ease;}
.sp-sharp{z-index:2;}
.sp-overlay{
  position:absolute;inset:0;z-index:3;background:var(--ink-deep);
  opacity:0;transition:opacity .3s ease;
}
/* survol : on floute + assombrit partout sauf sous le spotlight qui suit le curseur */
.card__media.is-hover .sp-base{opacity:1;}
.card__media.is-hover .sp-overlay{opacity:.5;}
.card__media.is-hover .sp-sharp{
  -webkit-mask-image:radial-gradient(circle at var(--mx) var(--my), #000 30px, transparent 120px);
  mask-image:radial-gradient(circle at var(--mx) var(--my), #000 30px, transparent 120px);
}
.card__media.is-hover .sp-overlay{
  -webkit-mask-image:radial-gradient(circle at var(--mx) var(--my), transparent 30px, #000 120px);
  mask-image:radial-gradient(circle at var(--mx) var(--my), transparent 30px, #000 120px);
}
.card__badge{position:absolute;top:11px;right:11px;margin:0;z-index:5;}
.badge--available.card__badge{background:rgba(255,255,255,.92);color:var(--green);}
.card__body{padding:16px 17px 18px;}
.card__loc{font-size:12px;color:var(--muted-3);display:flex;align-items:center;gap:5px;}
.card__title{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink-deep);margin:8px 0 2px;}
.card__desc{margin:0;font-size:12.5px;color:var(--muted-2);}
.card__price{display:flex;align-items:baseline;gap:5px;margin-top:13px;}
.card__price .price{font-size:21px;}
.card__price .price__cur{font-size:12px;}

/* ============ TRUST BAND ============ */
.trust{margin-top:46px;}
.trust__inner{
  background:var(--ink-deep);border-radius:22px;padding:44px 48px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;overflow:hidden;
}
.trust__inner::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(70% 90% at 100% 0%, rgba(201,168,76,.16), transparent 55%);
}
.trust__feature{position:relative;}
.trust__icon{
  width:46px;height:46px;border-radius:12px;background:rgba(201,168,76,.18);
  display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:16px;
}
.trust__title{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--cream);margin:0 0 6px;}
.trust__text{margin:0;font-size:13.5px;color:rgba(250,247,242,.6);line-height:1.55;}

/* ============ FOOTER ============ */
.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:54px;padding-bottom:60px;}
.footer__brand{display:flex;align-items:center;gap:14px;}
.footer__logo{height:48px;width:auto;display:block;}
.footer__tagline{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--muted-2);}
.footer__copy{font-size:12.5px;color:var(--muted-4);}

/* ============ WHATSAPP ============ */
.whatsapp{
  position:fixed;right:28px;bottom:24px;z-index:30;
  width:56px;height:56px;border-radius:50%;background:var(--green);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:var(--sh-wa);transition:background .18s ease;
}
.whatsapp:hover{background:#2a6049;}
.whatsapp__bubble{
  position:absolute;right:70px;white-space:nowrap;
  background:#fff;color:var(--ink-deep);font-size:13px;font-weight:600;
  padding:8px 13px;border-radius:10px;box-shadow:var(--sh-card);
  opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;
}
.whatsapp:hover .whatsapp__bubble{opacity:1;transform:translateX(0);}

/* ============================================================
   RESPONSIVE — mobile first ajusté
   ============================================================ */

/* tablette */
@media (max-width:900px){
  .container{padding-left:24px;padding-right:24px;}

  .nav__burger{display:block;}
  .nav__links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--cream);border-top:1px solid var(--border);
    box-shadow:var(--sh-card);padding:8px 24px 20px;
  }
  .nav__links.is-open{display:flex;}
  .nav__link{padding:14px 4px;border-bottom:1px solid var(--divider);font-size:16px;}
  .nav__links .btn--primary{margin-top:14px;text-align:center;padding:14px 19px;}

  .hero{grid-template-columns:1fr;gap:36px;padding-bottom:48px;}
  .hero__title{font-size:42px;}
  .hero__visual{height:420px;}

  .cards{grid-template-columns:repeat(2,1fr);}
}

/* mobile */
@media (max-width:600px){
  .hero{padding-top:24px;}
  .hero__title{font-size:38px;}
  .hero__sub{font-size:16px;}

  .search{flex-direction:column;align-items:stretch;gap:0;max-width:none;}
  .search__field,.search__field--wide{flex:none;border-right:0;border-bottom:1px solid var(--divider);padding:12px 14px;}
  .search__field:last-of-type{border-bottom:0;}
  .search__btn{width:100%;height:48px;margin-top:8px;}

  .stats{gap:18px;flex-wrap:wrap;}
  .stat__num{font-size:23px;}

  .hero__visual{height:340px;}

  .section-title{font-size:27px;}

  .cards{grid-template-columns:1fr;}

  .trust__inner{grid-template-columns:1fr;padding:32px 26px;gap:26px;}

  .footer{padding-top:40px;padding-bottom:48px;}
}

/* ============================================================
   PAGE VENDRE
   ============================================================ */

.v-section{padding-top:46px;padding-bottom:6px;}

/* en-tête de section centré + accroche */
.section-head--center{flex-direction:column;align-items:center;text-align:center;gap:10px;justify-content:center;}
.section-lead{max-width:560px;margin:0;font-size:16px;line-height:1.6;color:var(--muted-1);}

/* hero — liste de réassurance */
.v-checks{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.v-checks li{display:flex;align-items:center;gap:11px;font-size:15.5px;color:var(--ink-deep);}
.v-checks strong{font-weight:700;}
.v-checks svg{flex:none;}

.v-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}

/* hero visual — image + carte estimation */
.v-hero__visual{display:block;}
.v-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.v-hero__overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(31,78,58,.35),rgba(19,32,26,.55));}

.v-estim{
  position:absolute;left:24px;right:24px;bottom:24px;z-index:10;
  background:rgba(250,247,242,.97);border-radius:16px;padding:20px 20px 18px;
  box-shadow:var(--sh-search);backdrop-filter:blur(2px);
}
.v-estim__head{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink-deep);margin-bottom:14px;}
.v-estim__field{display:block;margin-bottom:11px;}
.v-estim__field span{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-4);margin-bottom:5px;}
.v-estim__field input,.v-estim__field select{
  width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;
  font-family:var(--sans);font-size:14px;color:var(--ink-deep);background:#fff;
  appearance:none;-webkit-appearance:none;
}
.v-estim__field input:focus,.v-estim__field select:focus{outline:none;border-color:var(--green);}
.v-estim__btn{width:100%;margin-top:4px;}
.v-estim__note{margin:9px 0 0;text-align:center;font-size:12px;color:var(--muted-3);}

/* étapes */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;}
.step{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px 22px 22px;
  box-shadow:var(--sh-card);
}
.step__num{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:11px;background:rgba(201,168,76,.18);color:var(--gold-deep);
  font-family:var(--serif);font-weight:800;font-size:19px;margin-bottom:15px;
}
.step__title{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink-deep);margin:0 0 7px;}
.step__text{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);}

/* pourquoi */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;}
.why__card{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px 22px;
  box-shadow:var(--sh-card);
}
.why__icon{
  display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border-radius:12px;background:rgba(45,106,79,.1);color:var(--green);margin-bottom:16px;
}
.why__title{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink-deep);margin:0 0 7px;line-height:1.2;}
.why__text{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);}

/* bande commission */
.v-band{
  background:var(--ink-deep);border-radius:22px;padding:44px 48px;margin-top:34px;
  display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;
  position:relative;overflow:hidden;
}
.v-band::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 0% 100%,rgba(201,168,76,.16),transparent 55%);}
.v-band__left,.v-band__right{position:relative;}
.v-band__rate{display:flex;flex-direction:column;align-items:center;padding:18px 28px;border:1px solid rgba(201,168,76,.4);border-radius:18px;}
.v-band__pct{font-family:var(--serif);font-weight:900;font-size:64px;line-height:1;color:var(--gold);}
.v-band__pct-sub{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(250,247,242,.6);margin-top:6px;}
.v-band__title{font-family:var(--serif);font-weight:700;font-size:28px;color:var(--cream);margin:0 0 10px;letter-spacing:-.01em;}
.v-band__text{margin:0 0 20px;font-size:15px;line-height:1.6;color:rgba(250,247,242,.65);max-width:520px;}

/* formulaire */
.v-form-wrap{
  background:#fff;border:1px solid var(--border);border-radius:22px;
  padding:40px 44px 36px;margin-top:34px;box-shadow:var(--sh-card);
}
.v-form{margin-top:28px;}
.v-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.field{display:block;}
.field--full{grid-column:1 / -1;}
.field__label{display:block;font-size:12.5px;font-weight:600;color:var(--muted-1);margin-bottom:7px;}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--border);border-radius:11px;padding:12px 14px;
  font-family:var(--sans);font-size:14.5px;color:var(--ink-deep);background:var(--cream);
  appearance:none;-webkit-appearance:none;transition:border-color .18s ease,background .18s ease;
}
.field textarea{resize:vertical;min-height:96px;line-height:1.5;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-4);}

.v-form__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;flex-wrap:wrap;}
.v-form__legal{margin:0;flex:1;min-width:260px;font-size:12px;line-height:1.55;color:var(--muted-3);}
.v-form__ok{margin:20px 0 0;padding:14px 18px;border-radius:12px;background:rgba(45,106,79,.1);color:var(--green);font-weight:600;font-size:14.5px;}

/* faq */
.faq{max-width:780px;margin:32px auto 0;display:flex;flex-direction:column;gap:12px;}
.faq__item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:4px 20px;box-shadow:var(--sh-card);}
.faq__item summary{
  list-style:none;cursor:pointer;padding:16px 0;font-family:var(--serif);font-weight:600;
  font-size:16.5px;color:var(--ink-deep);display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{content:"+";font-family:var(--sans);font-weight:400;font-size:24px;color:var(--green);transition:transform .2s ease;}
.faq__item[open] summary::after{transform:rotate(45deg);}
.faq__item p{margin:0 0 18px;font-size:14.5px;line-height:1.6;color:var(--muted-1);}

/* ----- responsive page vendre ----- */
@media (max-width:900px){
  .v-hero__visual{min-height:480px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .why{grid-template-columns:repeat(2,1fr);}
  .v-band{grid-template-columns:1fr;gap:26px;text-align:center;}
  .v-band__rate{align-self:center;}
  .v-form-wrap{padding:32px 26px;}
}
@media (max-width:600px){
  .v-hero-cta{flex-direction:column;}
  .v-hero-cta .btn{width:100%;}
  .v-hero__visual{min-height:520px;}
  .steps{grid-template-columns:1fr;}
  .why{grid-template-columns:1fr;}
  .v-band{padding:32px 24px;}
  .v-band__pct{font-size:52px;}
  .v-band__title{font-size:23px;}
  .v-form__grid{grid-template-columns:1fr;}
  .v-form__footer .btn{width:100%;}
}

/* ============================================================
   PAGE RÉGIONS
   ============================================================ */

.r-section{padding-top:46px;padding-bottom:6px;}

/* hero régions (centré) */
.r-hero{padding-top:30px;padding-bottom:30px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.r-hero__title{font-family:var(--serif);font-weight:900;font-size:52px;line-height:1.05;letter-spacing:-.025em;color:var(--ink-deep);margin:20px 0 0;max-width:780px;}
.r-hero__sub{font-size:17px;line-height:1.6;color:var(--muted-1);margin:18px 0 0;max-width:560px;}

.r-search{
  margin-top:28px;width:100%;max-width:480px;
  display:flex;align-items:center;gap:11px;
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px 17px;
  box-shadow:var(--sh-search);
}
.r-search svg{flex:none;}
.r-search input{flex:1;border:0;background:transparent;font-family:var(--sans);font-size:15px;color:var(--ink-deep);}
.r-search input:focus{outline:none;}
.r-search input::placeholder{color:var(--muted-4);}

/* carte vedette Bamako */
.r-featured{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;margin-top:30px;
  background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;
  box-shadow:var(--sh-card);transition:transform .18s ease,box-shadow .18s ease;
}
.r-featured:hover{transform:translateY(-3px);box-shadow:var(--sh-card-hover);}
.r-featured__media{position:relative;min-height:340px;}
.r-featured__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.r-featured__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,32,26,.15),transparent 60%);}
.r-featured__body{padding:38px 40px;display:flex;flex-direction:column;justify-content:center;}
.r-featured__kicker{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);}
.r-featured__name{font-family:var(--serif);font-weight:800;font-size:42px;color:var(--ink-deep);margin:10px 0 0;letter-spacing:-.02em;}
.r-featured__desc{font-size:15px;line-height:1.6;color:var(--muted-1);margin:14px 0 0;}
.r-featured__stats{display:flex;gap:30px;margin:24px 0 0;}
.r-stat__num{font-family:var(--serif);font-weight:800;font-size:28px;color:var(--green);}
.r-stat__label{font-size:12px;color:var(--muted-3);margin-top:2px;}
.r-featured__cta{margin-top:26px;font-size:14.5px;font-weight:600;color:var(--green);}

/* grille des régions */
.r-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px;}
.r-card{
  display:block;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;
  box-shadow:var(--sh-card);transition:transform .18s ease,box-shadow .18s ease;
}
.r-card:hover{transform:translateY(-4px);box-shadow:var(--sh-card-hover);}
.r-card__media{position:relative;height:150px;}
.r-card__media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.r-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,32,26,.05),rgba(19,32,26,.45));}
.r-card__count{
  position:absolute;top:11px;right:11px;
  background:rgba(250,247,242,.92);color:var(--ink-deep);
  font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;
}
.r-card__body{padding:16px 18px 18px;}
.r-card__name{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--ink-deep);margin:0;}
.r-card__desc{margin:5px 0 0;font-size:13px;line-height:1.5;color:var(--muted-2);}
.r-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:14px;}
.r-card__price{font-size:13px;color:var(--muted-1);}
.r-card__price strong{font-family:var(--serif);font-weight:800;color:var(--green);font-size:15px;}
.r-card__arrow{color:var(--green);font-weight:600;transition:transform .18s ease;}
.r-card:hover .r-card__arrow{transform:translateX(4px);}

.r-empty{text-align:center;color:var(--muted-2);font-size:15px;padding:40px 0;}

/* bande CTA */
.r-cta{
  background:var(--ink-deep);border-radius:22px;padding:40px 48px;margin-top:30px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.r-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 0%,rgba(201,168,76,.16),transparent 55%);}
.r-cta__text{position:relative;max-width:560px;}
.r-cta__title{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--cream);margin:0 0 8px;letter-spacing:-.01em;}
.r-cta__sub{margin:0;font-size:14.5px;line-height:1.6;color:rgba(250,247,242,.65);}
.r-cta__actions{position:relative;display:flex;gap:12px;flex-wrap:wrap;}
.btn--ghost-light{color:var(--cream);border-color:rgba(250,247,242,.3);}
.btn--ghost-light:hover{border-color:var(--gold);background:rgba(201,168,76,.1);color:var(--cream);}

/* ----- responsive page régions ----- */
@media (max-width:900px){
  .r-hero__title{font-size:40px;}
  .r-featured{grid-template-columns:1fr;}
  .r-featured__media{min-height:220px;}
  .r-featured__body{padding:30px 28px;}
  .r-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .r-hero__title{font-size:33px;}
  .r-featured__name{font-size:34px;}
  .r-featured__stats{gap:20px;flex-wrap:wrap;}
  .r-grid{grid-template-columns:1fr;}
  .r-cta{padding:30px 24px;}
  .r-cta__actions{width:100%;}
  .r-cta__actions .btn{flex:1;}
}

/* ============================================================
   ESPACE ADMIN
   ============================================================ */

/* connexion */
.adm-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.adm-login{width:100%;max-width:400px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:38px 34px;box-shadow:var(--sh-card);text-align:center;}
.adm-login__logo{height:54px;width:auto;margin:0 auto 18px;}
.adm-login__title{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--ink-deep);margin:0;}
.adm-login__sub{font-size:14px;color:var(--muted-2);margin:8px 0 24px;}
.adm-login .field{text-align:left;margin-bottom:14px;}
.adm-login__btn{width:100%;margin-top:6px;}
.adm-login__back{display:inline-block;margin-top:18px;font-size:13px;color:var(--muted-2);}
.adm-login__back:hover{color:var(--green);}
.adm-error{margin:0 0 12px;padding:10px 13px;border-radius:10px;background:rgba(160,82,45,.1);color:var(--terra);font-size:13.5px;font-weight:500;}

/* topbar */
.adm-topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;}
.adm-topbar__inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}
.adm-topbar .brand__logo{height:42px;}
.adm-topbar__right{display:flex;align-items:center;gap:16px;}
.adm-topbar__user{font-size:13.5px;color:var(--muted-1);font-weight:500;}
.adm-link{font-size:13.5px;color:var(--green);font-weight:600;}
.adm-logout{padding:9px 16px;font-size:13.5px;}

/* corps */
.adm-main{padding-top:34px;padding-bottom:80px;}
.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap;}
.adm-h1{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--ink-deep);margin:0;}
.adm-count{margin:4px 0 0;font-size:14px;color:var(--muted-2);}

/* carte formulaire */
.adm-formcard{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 28px;box-shadow:var(--sh-card);margin-bottom:30px;}
.adm-formcard__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.adm-formcard__title{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--ink-deep);margin:0;}
.adm-close{background:none;border:0;font-size:18px;color:var(--muted-2);cursor:pointer;padding:4px 8px;border-radius:8px;}
.adm-close:hover{background:var(--cream);color:var(--ink-deep);}
.adm-hint{display:block;margin-top:6px;font-size:12px;color:var(--muted-3);}
.adm-current{margin-top:10px;font-size:12.5px;color:var(--muted-2);}
.adm-current img{display:inline-block;height:54px;border-radius:8px;margin-top:6px;border:1px solid var(--border);}
.adm-toggles{display:flex;gap:24px;flex-wrap:wrap;margin-top:4px;}
.adm-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-deep);cursor:pointer;}
.adm-check input{width:17px;height:17px;accent-color:var(--green);}
.adm-formfoot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;flex-wrap:wrap;}
.adm-formfoot__btns{display:flex;gap:10px;margin-left:auto;}
.adm-status{margin:0;font-size:13.5px;font-weight:500;color:var(--muted-1);}
.adm-status--ok{color:var(--green);}
.adm-status--err{color:var(--terra);}

/* liste */
.adm-loading{color:var(--muted-2);padding:20px 0;}
.adm-empty{text-align:center;color:var(--muted-2);padding:40px 0;}
.adm-list{display:flex;flex-direction:column;gap:12px;}
.adm-row{display:grid;grid-template-columns:74px 1fr auto auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 16px;box-shadow:var(--sh-card);}
.adm-row__thumb{width:74px;height:60px;border-radius:10px;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center;}
.adm-row__thumb img{width:100%;height:100%;object-fit:cover;}
.adm-row__noimg{color:var(--muted-4);}
.adm-row__title{font-family:var(--serif);font-weight:700;font-size:16.5px;color:var(--ink-deep);}
.adm-row__meta{font-size:12.5px;color:var(--muted-2);margin-top:2px;text-transform:capitalize;}
.adm-row__tags{display:flex;align-items:center;gap:7px;margin-top:7px;flex-wrap:wrap;}
.adm-row__tags .badge{margin:0;}
.adm-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;}
.adm-tag--gold{background:rgba(201,168,76,.18);color:var(--gold-deep);}
.adm-tag--green{background:rgba(45,106,79,.12);color:var(--green);}
.adm-tag--muted{background:var(--cream);color:var(--muted-3);border:1px solid var(--border);}
.adm-row__price{font-family:var(--serif);font-weight:800;font-size:16px;color:var(--green);white-space:nowrap;}
.adm-row__price span{font-size:11px;color:var(--gold-deep);font-weight:600;}
.adm-row__actions{display:flex;gap:8px;}
.adm-btn{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-deep);background:var(--cream);border:1px solid var(--border);border-radius:9px;padding:8px 13px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.adm-btn:hover{border-color:var(--green);color:var(--green);}
.adm-btn--danger:hover{border-color:var(--terra);color:var(--terra);background:rgba(160,82,45,.06);}

@media (max-width:760px){
  .adm-row{grid-template-columns:64px 1fr;grid-template-areas:"thumb main" "actions actions";row-gap:12px;}
  .adm-row__thumb{grid-area:thumb;width:64px;height:54px;}
  .adm-row__main{grid-area:main;}
  .adm-row__price{grid-area:main;text-align:left;margin-top:4px;}
  .adm-row__actions{grid-area:actions;}
  .adm-row__actions .adm-btn{flex:1;}
}

/* ============================================================
   PAGE NOS BIENS (catalogue)
   ============================================================ */

.cat-head{padding-top:30px;padding-bottom:8px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.cat-title{font-family:var(--serif);font-weight:900;font-size:48px;line-height:1.05;letter-spacing:-.025em;color:var(--ink-deep);margin:18px 0 0;}
.cat-sub{font-size:16px;line-height:1.6;color:var(--muted-1);margin:14px 0 0;max-width:560px;}

/* barre de filtres */
.cat-filters{
  display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:16px 18px;margin-top:26px;box-shadow:var(--sh-search);
}
.cat-filter{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px;}
.cat-filter--wide{flex:1.4;}
.cat-filter span{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-4);}
.cat-filter select,.cat-filter input{
  border:1px solid var(--border);border-radius:10px;padding:11px 13px;
  font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink-deep);background:var(--cream);
  appearance:none;-webkit-appearance:none;transition:border-color .15s ease,background .15s ease;
}
.cat-filter select:focus,.cat-filter input:focus{outline:none;border-color:var(--green);background:#fff;}
.cat-filter input::placeholder{color:var(--muted-4);}
.cat-reset{
  flex:none;background:transparent;border:1px solid var(--border);border-radius:10px;
  padding:11px 16px;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--muted-1);
  cursor:pointer;transition:border-color .15s ease,color .15s ease;height:42px;
}
.cat-reset:hover{border-color:var(--terra);color:var(--terra);}

.cat-results{padding-top:30px;padding-bottom:10px;}
.cat-grid{margin-top:8px;}
.cat-loading{grid-column:1/-1;color:var(--muted-2);padding:30px 0;text-align:center;}
.cat-empty{text-align:center;color:var(--muted-2);font-size:15px;padding:50px 0;}

/* média carte version photo simple (catalogue) */
.card__media--photo{overflow:hidden;}
.card__media--photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;}
.card:hover .card__media--photo img{transform:scale(1.05);}

@media (max-width:900px){
  .cat-title{font-size:38px;}
  .cat-filter{min-width:calc(50% - 6px);}
}
@media (max-width:600px){
  .cat-title{font-size:31px;}
  .cat-filters{padding:14px;}
  .cat-filter,.cat-filter--wide{min-width:100%;flex:none;}
  .cat-reset{width:100%;}
}

/* propositions reçues (admin) */
.adm-proposals{margin-top:50px;padding-top:30px;border-top:1px solid var(--border);}
.adm-prow{grid-template-columns:1fr auto;}
.adm-prow--new{border-color:rgba(201,168,76,.5);}
.adm-prow__desc{margin-top:8px;font-size:13px;line-height:1.5;color:var(--muted-1);background:var(--cream);padding:9px 12px;border-radius:9px;}
@media (max-width:760px){.adm-prow{grid-template-columns:1fr;}}

/* ============================================================
   PAGE NOUS CONTACTER
   ============================================================ */
.ct-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:30px;align-items:start;padding-top:34px;padding-bottom:20px;}
.ct-info{display:flex;flex-direction:column;gap:12px;}
.ct-method{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--sh-card);transition:transform .15s ease,box-shadow .15s ease;}
a.ct-method:hover{transform:translateY(-2px);box-shadow:var(--sh-card-hover);}
.ct-method--static{cursor:default;}
.ct-method__icon{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(45,106,79,.1);color:var(--green);display:flex;align-items:center;justify-content:center;}
.ct-method__body{display:flex;flex-direction:column;}
.ct-method__label{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--ink-deep);}
.ct-method__value{font-size:13px;color:var(--muted-2);margin-top:2px;}
.ct-note{margin:8px 2px 0;font-size:13px;line-height:1.55;color:var(--muted-2);}
.ct-note a{color:var(--green);font-weight:600;}
.ct-note a:hover{text-decoration:underline;}

.ct-formcard{background:#fff;border:1px solid var(--border);border-radius:22px;padding:34px 36px;box-shadow:var(--sh-card);}
.ct-formtitle{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--ink-deep);margin:0 0 20px;}
.ct-formcard .v-form{margin-top:0;}

@media (max-width:900px){
  .ct-wrap{grid-template-columns:1fr;}
  .ct-formcard{padding:28px 24px;}
}

/* ============ SECTIONS D'ACCUEIL SUPPLÉMENTAIRES ============ */
.home-section{margin-top:72px;}

/* ----- Où nous opérons : villes en liens (sobre, sans chiffres) ----- */
.cities__intro{margin:0 0 18px;max-width:46rem;color:var(--muted-1);font-size:16px;line-height:1.6;}
.cities{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.city{
  display:inline-flex;align-items:center;gap:9px;
  background:#fff;border:1px solid var(--border);border-radius:999px;padding:11px 20px;
  font-weight:600;font-size:15px;color:var(--ink-deep);text-decoration:none;
  box-shadow:var(--sh-card);transition:transform .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.city svg{color:var(--green);transition:color .18s ease;}
.city:hover{transform:translateY(-2px);border-color:var(--green);color:var(--green);box-shadow:var(--sh-card-hover);}
.city:hover svg{color:var(--gold);}
.cities__more{color:var(--muted-3);font-size:14px;font-style:italic;}

/* ----- Section « diaspora » : texte + image ----- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.split__media{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--sh-hero);aspect-ratio:4/3;}
.split__media img{width:100%;height:100%;object-fit:cover;display:block;}
.split__badge{position:absolute;left:16px;bottom:16px;background:rgba(250,247,242,.96);border-radius:13px;padding:12px 16px;backdrop-filter:blur(2px);}
.split__badge-num{font-family:var(--serif);font-weight:800;font-size:24px;color:var(--green);line-height:1;}
.split__badge-label{font-size:12px;color:var(--muted-2);margin-top:2px;}
.split__text{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.split__text .section-title{font-size:36px;}
.split__lead{margin:0;color:var(--muted-1);font-size:16px;line-height:1.65;}
.split__list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.split__list li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:var(--ink);line-height:1.5;}
.split__list svg{flex:none;margin-top:2px;}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:30px;}.split__text .section-title{font-size:28px;}}

/* ----- Témoignages ----- */
.tmoins{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;}
.tmoin{
  background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px 26px;margin:0;
  box-shadow:var(--sh-card);display:flex;flex-direction:column;gap:18px;
}
.tmoin__stars{color:var(--gold);font-size:15px;letter-spacing:2px;}
.tmoin__quote{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink);}
.tmoin__by{display:flex;align-items:center;gap:12px;margin-top:auto;}
.tmoin__avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--serif);font-weight:700;color:#fff;background:var(--green);}
.tmoin__name{font-weight:700;font-size:14px;color:var(--ink-deep);}
.tmoin__role{font-size:12.5px;color:var(--muted-3);}
@media (max-width:900px){.tmoins{grid-template-columns:1fr;}}


/* ----- FAQ (accordéon natif <details>) ----- */
.faq{max-width:820px;margin:26px auto 0;display:flex;flex-direction:column;gap:12px;}
.faq__item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:4px 22px;box-shadow:var(--sh-card);}
.faq__item summary{
  list-style:none;cursor:pointer;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink-deep);
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{content:'+';font-family:var(--sans);font-size:24px;font-weight:400;color:var(--green);transition:transform .25s ease;flex:none;}
.faq__item[open] summary::after{transform:rotate(45deg);}
.faq__a{padding:0 0 20px;margin:0;font-size:15px;line-height:1.65;color:var(--muted-1);}
.faq__a a{color:var(--green);font-weight:600;}

/* ============ CARTES CLIQUABLES (lien vers la page bien) ============ */
a.card{display:block;color:inherit;cursor:pointer;}

/* ============ PAGE BIEN — détail immersif + carrousel élégant ============ */
.bien-back{display:inline-flex;align-items:center;gap:7px;margin:20px 0 4px;font-weight:600;font-size:14px;color:var(--muted-2);transition:color .18s ease,transform .18s ease;}
.bien-back:hover{color:var(--green);transform:translateX(-3px);}
.bien-loading{padding:60px 0;text-align:center;color:var(--muted-3);}
.bien-missing{padding:70px 0 90px;text-align:center;}
.bien-missing h1{font-family:var(--serif);font-size:34px;color:var(--ink-deep);margin:0 0 8px;}
.bien-missing p{color:var(--muted-2);margin:0 0 22px;}

.bien{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:stretch;padding:18px 0 50px;}
.bien__info{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:6px 0;}
.bien__loc{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px;color:var(--muted-2);}
.bien__loc svg{stroke:var(--green);}
.bien__title{font-family:var(--serif);font-weight:800;font-size:clamp(30px,3.6vw,46px);line-height:1.05;letter-spacing:-.02em;color:var(--ink-deep);margin:0;}
.bien__price{display:flex;align-items:baseline;gap:8px;margin-top:2px;}
.bien__price .price{font-family:var(--mono);font-weight:700;font-size:30px;color:var(--green);}
.bien__price .price__cur{font-size:14px;font-weight:700;color:var(--gold-deep);}
.cur-toggle{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--sh-card);margin-top:2px;}
.cur-toggle button{border:0;background:transparent;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:13px;color:var(--muted-2);padding:7px 15px;border-radius:999px;transition:background .18s ease,color .18s ease;}
.cur-toggle button:hover{color:var(--ink-deep);}
.cur-toggle button.is-on{background:var(--green);color:#fff;}
.cur-note{font-size:12px;color:var(--muted-4);margin:0;}
.bien__facts{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0;}
.bien__fact{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 16px;min-width:92px;}
.bien__fact-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-4);}
.bien__fact-val{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink-deep);}
.bien__sep{width:100%;height:1px;background:var(--divider);margin:4px 0;}
.bien__desc{margin:0;color:var(--muted-1);font-size:16px;line-height:1.7;white-space:pre-line;}
.bien__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.bien__media{display:flex;}

/* carrousel élégant */
.ec{position:relative;flex:1;border-radius:22px;overflow:hidden;min-height:540px;background:#1F4E3A;box-shadow:var(--sh-hero);isolation:isolate;}
.ec__track{position:absolute;inset:0;}
.ec__slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;overflow:hidden;}
.ec__slide.is-active{opacity:1;}
.ec__slide img{width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none;}
.ec__slide.is-active img{animation:kenburns 7s ease-out both;}
@keyframes kenburns{from{transform:scale(1.02);}to{transform:scale(1.14);}}
.ec__shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(19,32,26,.22) 0%,rgba(19,32,26,0) 28%,rgba(19,32,26,.55) 100%);}
.ec__badge{position:absolute;top:18px;left:18px;z-index:4;}
/* coins décoratifs */
.ec__corner{position:absolute;width:30px;height:30px;border:2px solid rgba(255,255,255,.55);z-index:3;pointer-events:none;}
.ec__corner--tl{top:14px;left:14px;border-right:0;border-bottom:0;}
.ec__corner--tr{top:14px;right:14px;border-left:0;border-bottom:0;}
.ec__corner--bl{bottom:14px;left:14px;border-right:0;border-top:0;}
.ec__corner--br{bottom:14px;right:14px;border-left:0;border-top:0;}
/* flèches */
.ec__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);color:#fff;transition:background .2s ease,color .2s ease;}
.ec__arrow:hover{background:var(--gold);color:var(--ink-deep);}
.ec__arrow--prev{left:16px;}
.ec__arrow--next{right:16px;}
.ec__label{position:absolute;top:20px;right:20px;z-index:5;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;letter-spacing:.08em;}
/* indicateurs de progression */
.ec__bars{position:absolute;left:18px;right:18px;bottom:18px;z-index:5;display:flex;gap:8px;}
.ec__bar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.32);overflow:hidden;cursor:pointer;}
.ec__bar i{display:block;height:100%;width:0;background:var(--gold);}
.ec__bar.is-done i{width:100%;}
.ec__bar.is-active i{animation:ecfill var(--ec-dur,5s) linear forwards;}
@keyframes ecfill{from{width:0;}to{width:100%;}}

@media (max-width:900px){
  .bien{grid-template-columns:1fr;gap:26px;}
  .bien__media{order:-1;}
  .ec{min-height:320px;}
}
@media (prefers-reduced-motion:reduce){
  .ec__slide.is-active img{animation:none;}
  .ec__bar.is-active i{animation:none;width:100%;}
}

/* ----- Avis clients (témoignages gérés depuis l'admin) ----- */
.reviews{margin-top:10px;}
.reviews__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;}
.review{position:relative;width:340px;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--sh-card);display:flex;flex-direction:column;gap:13px;}
.review__head{display:flex;align-items:center;gap:14px;}
.review__avatar{width:50px;height:50px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:19px;color:#fff;}
.review__id{display:flex;flex-direction:column;min-width:0;}
.review__name{font-weight:700;font-size:15px;color:var(--ink-deep);}
.review__handle{font-size:13px;color:var(--muted-3);}
.review__stars{color:var(--gold);font-size:14px;letter-spacing:2px;}
.review__text{margin:0;font-size:15px;line-height:1.6;color:var(--ink);}
.review__quote{position:absolute;top:14px;right:20px;font-family:var(--serif);font-size:46px;line-height:1;color:var(--divider);pointer-events:none;}
@media (max-width:768px){.review{width:100%;}}

/* ----- Admin : paramètres du site ----- */
.adm-settings{margin-top:40px;}
.adm-fs{border:1px solid var(--border);border-radius:14px;padding:18px 22px 20px;margin:0 0 18px;background:#fff;}
.adm-fs legend{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--ink-deep);padding:0 8px;}
.adm-faqrow{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;align-items:start;margin-bottom:10px;}
.adm-faqrow input,.adm-faqrow textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-family:var(--sans);font-size:14px;color:var(--ink-deep);background:var(--cream);}
.adm-faqrow textarea{resize:vertical;}
@media (max-width:700px){.adm-faqrow{grid-template-columns:1fr;}}

/* ============ BLOG — liste ============ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;}
.blog-loading{color:var(--muted-3);padding:30px 0;grid-column:1/-1;}
.blog-empty{text-align:center;color:var(--muted-3);font-size:15px;padding:54px 20px;border:1px dashed var(--border);border-radius:18px;margin-top:20px;}
.bpost{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--sh-card);transition:transform .18s ease,box-shadow .18s ease;color:inherit;}
.bpost:hover{transform:translateY(-4px);box-shadow:var(--sh-card-hover);}
.bpost__media{position:relative;height:194px;overflow:hidden;background:var(--cream);}
.bpost__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.bpost:hover .bpost__media img{transform:scale(1.05);}
.bpost__play{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(19,32,26,.72);color:#fff;backdrop-filter:blur(2px);}
.bpost__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1;}
.bpost__date{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);}
.bpost__title{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.2;color:var(--ink-deep);margin:0;}
.bpost__excerpt{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted-1);}
.bpost__more{margin-top:auto;padding-top:6px;font-size:14px;font-weight:600;color:var(--green);}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.blog-grid{grid-template-columns:1fr;}}

/* ============ ARTICLE ============ */
.article{max-width:760px;margin:0 auto;padding:8px 0 50px;}
.article__cover{border-radius:20px;overflow:hidden;margin-bottom:28px;box-shadow:var(--sh-hero);aspect-ratio:16/9;}
.article__cover img{width:100%;height:100%;object-fit:cover;display:block;}
.article__title{font-family:var(--serif);font-weight:800;font-size:clamp(30px,4.4vw,46px);line-height:1.1;letter-spacing:-.02em;color:var(--ink-deep);margin:0 0 12px;}
.article__meta{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--muted-3);letter-spacing:.04em;margin:0 0 26px;}
.article__video{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;margin:0 0 28px;box-shadow:var(--sh-card);background:#000;}
.article__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.article__body{font-size:17.5px;line-height:1.75;color:var(--ink);}
.article__body p{margin:0 0 20px;}
.article__gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0 0;}
.article__gallery img{width:100%;height:240px;object-fit:cover;border-radius:14px;border:1px solid var(--border);transition:opacity .2s ease;}
.article__gallery a:hover img{opacity:.92;}
.article__foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid var(--divider);}
@media (max-width:600px){.article__gallery{grid-template-columns:1fr;}.article__gallery img{height:auto;}}

/* ----- Blog : sections (cocon) ----- */
.blog-section{margin-top:42px;}
.blog-section:first-child{margin-top:6px;}
.blog-section__head{margin-bottom:18px;}
.blog-section__title{font-family:var(--serif);font-weight:700;font-size:26px;color:var(--ink-deep);margin:0;letter-spacing:-.01em;}
.blog-section__desc{margin:6px 0 0;color:var(--muted-2);font-size:14.5px;}
.blog-section .blog-grid{padding-top:0;}
.article__cat{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:rgba(45,106,79,.1);padding:6px 13px;border-radius:999px;margin-bottom:14px;transition:background .16s ease;}
.article__cat:hover{background:rgba(45,106,79,.16);}

/* ----- Article : rendu du contenu enrichi ----- */
.article__body h2{font-family:var(--serif);font-weight:700;font-size:28px;line-height:1.2;margin:34px 0 12px;color:var(--ink-deep);}
.article__body h3{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.25;margin:28px 0 10px;color:var(--ink-deep);}
.article__body ul,.article__body ol{margin:0 0 20px;padding-left:24px;}
.article__body li{margin:6px 0;}
.article__body blockquote{border-left:3px solid var(--gold);margin:0 0 20px;padding:6px 18px;color:var(--muted-1);font-style:italic;}
.article__body a{color:var(--green);text-decoration:underline;}
.article__body img{max-width:100%;border-radius:12px;margin:10px 0;display:block;}

/* ----- Hero des pages internes (même cover que l'accueil, en plus court) ----- */
.hero--page{min-height:54vh;}
.hero--page .hero__inner{padding-bottom:58px;}
.hero--page + section,.hero--page + .container{padding-top:22px;}
@media (min-width:768px){ body.has-hero main{padding-top:0;} }
@media (max-width:767px){ body.has-hero main{padding-top:0;} .hero--page{min-height:46vh;} }

/* ----- Transition douce entre le hero et la section suivante (fondu vers le crème) ----- */
.hero--cover::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:130px;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom, rgba(250,247,242,0) 0%, rgba(250,247,242,.65) 55%, var(--cream) 100%);
}

/* ============ FOOTER minimal (centré, clair, rails latéraux) ============ */
.mfooter{margin-top:70px;}
.mfooter__inner{position:relative;max-width:900px;margin:0 auto;
  background:radial-gradient(55% 95% at 30% -15%, rgba(45,106,79,.05), transparent 72%);}
.mfooter__inner::before,.mfooter__inner::after{content:"";position:absolute;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom, transparent 0%, var(--border) 16%, var(--border) 84%, transparent 100%);}
.mfooter__inner::before{left:0;}
.mfooter__inner::after{right:0;}
.mfooter__hr{height:1px;width:100%;background:linear-gradient(to right, transparent 0%, var(--border) 12%, var(--border) 88%, transparent 100%);}
.mfooter__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px;padding:30px 28px;}
.mfooter__logo{height:40px;width:auto;display:block;margin-bottom:14px;opacity:.9;}
.mfooter__desc{font-family:var(--mono);font-size:12.5px;line-height:1.65;color:var(--muted-2);max-width:38ch;margin:0 0 16px;}
.mfooter__socials{display:flex;gap:8px;flex-wrap:wrap;}
.mfooter__soc{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;color:var(--muted-2);background:transparent;transition:color .16s ease,border-color .16s ease,background .16s ease;}
.mfooter__soc:hover{color:var(--green);border-color:var(--green);background:rgba(45,106,79,.05);}
.mfooter__col{display:flex;flex-direction:column;gap:1px;}
.mfooter__coltitle{font-size:12px;color:var(--muted-3);margin-bottom:8px;}
.mfooter__col a{font-size:14px;color:var(--ink-deep);padding:4px 0;width:max-content;transition:color .16s ease;}
.mfooter__col a:hover{color:var(--green);text-decoration:underline;}
.mfooter__bottom{padding:16px 28px 28px;}
.mfooter__bottom p{text-align:center;font-weight:300;font-size:13px;color:var(--muted-3);margin:0;}
.mfooter__bottom a{color:var(--muted-2);font-weight:500;}
.mfooter__bottom a:hover{color:var(--green);}
@media (max-width:640px){
  .mfooter__inner::before,.mfooter__inner::after{display:none;}
  .mfooter__grid{grid-template-columns:1fr 1fr;gap:24px;}
  .mfooter__brand{grid-column:1 / -1;}
}

/* ----- Pages légales / éditoriales ----- */
.legal{max-width:800px;margin:0 auto;padding:14px 0 50px;}
.legal__lead{font-size:18px;line-height:1.7;color:var(--ink);margin:0 0 18px;}
.legal__updated{font-family:var(--mono);font-size:12.5px;color:var(--muted-3);margin:0 0 22px;}
.legal h2{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--ink-deep);margin:34px 0 10px;letter-spacing:-.01em;}
.legal h3{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink-deep);margin:22px 0 8px;}
.legal p{font-size:16px;line-height:1.75;color:var(--ink);margin:0 0 16px;}
.legal ul{margin:0 0 18px;padding-left:22px;}
.legal li{font-size:16px;line-height:1.7;color:var(--ink);margin:7px 0;}
.legal a:not(.btn){color:var(--green);text-decoration:underline;}
.legal code{font-family:var(--mono);font-size:13px;background:rgba(45,55,40,.06);padding:1px 5px;border-radius:5px;}
.legal__note{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.35);border-radius:12px;padding:14px 18px;font-size:14px;line-height:1.55;color:var(--muted-1);margin:0 0 24px;}
.legal__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}

/* footer : liens légaux */
.mfooter__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:8px;}
.mfooter__legal a{font-size:13px;color:var(--muted-2);transition:color .16s ease;}
.mfooter__legal a:hover{color:var(--green);}

/* ----- Renforts responsive ----- */
img{max-width:100%;}
@media (max-width:560px){
  .search{flex-wrap:wrap;gap:8px;padding:10px;}
  .search__field,.search__field--wide{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--divider);}
  .search__field:last-of-type{border-bottom:0;}
  .search__btn{flex:1 1 100%;width:100%;height:46px;border-radius:10px;}
  .stats{flex-wrap:wrap;gap:18px 26px;}
}

/* intro SEO catalogue */
.cat-intro-wrap{padding-top:8px;}
.cat-intro{max-width:760px;margin:0;color:var(--muted-1);font-size:16px;line-height:1.7;}
.cat-intro strong{color:var(--ink-deep);font-weight:600;}

/* ----- Citation (pages éditoriales) ----- */
.legal__quote{border-left:3px solid var(--gold);margin:24px 0;padding:8px 24px;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:#9A7C25;}
.legal__quote cite{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:14px;font-weight:600;color:var(--muted-2);}

/* ----- Bandeau cookies ----- */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;max-width:600px;margin:0 auto;z-index:70;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px -24px rgba(45,55,40,.5);padding:16px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cookie__text{margin:0;flex:1;min-width:200px;font-size:13.5px;line-height:1.55;color:var(--muted-1);}
.cookie__text a{color:var(--green);text-decoration:underline;}
.cookie__btns{display:flex;gap:8px;flex-shrink:0;}
.cookie .btn{padding:9px 16px;font-size:13px;}
@media (max-width:767px){ .cookie{bottom:84px;left:12px;right:12px;} }

/* ============ FORMULAIRE D'AVIS PUBLIC ============ */
.reviewform{ max-width:680px; margin:48px auto 0; }
.reviewform__inner{
  background:#fff; border:1px solid rgba(26,26,26,.08); border-radius:22px;
  padding:36px 34px;
  box-shadow:0 1px 2px rgba(19,32,26,.04), 0 30px 60px -38px rgba(19,32,26,.5);
}
.reviewform__title{ font-family:var(--serif, "Playfair Display", serif); font-size:26px; color:var(--ink-deep); margin:0 0 6px; letter-spacing:-.01em; }
.reviewform__sub{ color:var(--muted-2); font-size:15px; line-height:1.55; margin:0 0 24px; }
.reviewform__form{ display:grid; gap:18px; }
.reviewform__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rf-field{ display:grid; gap:7px; }
.rf-label{ font-size:13px; font-weight:600; color:var(--muted-1); letter-spacing:.01em; }
.reviewform input[type="text"],
.reviewform textarea{
  width:100%; box-sizing:border-box;
  font:inherit; color:var(--ink);
  background:var(--cream); border:1px solid rgba(26,26,26,.12); border-radius:12px;
  padding:12px 14px; transition:border-color .16s, box-shadow .16s, background .16s;
}
.reviewform textarea{ resize:vertical; min-height:110px; }
.reviewform input[type="text"]:focus,
.reviewform textarea:focus{
  outline:none; background:#fff; border-color:var(--green);
  box-shadow:0 0 0 3px rgba(45,106,79,.14);
}
.reviewform input::placeholder,
.reviewform textarea::placeholder{ color:var(--muted-4); }

/* Étoiles cliquables */
.rf-stars{ display:inline-flex; gap:4px; }
.rf-star{
  background:none; border:none; cursor:pointer; padding:2px;
  font-size:30px; line-height:1; color:rgba(26,26,26,.18);
  transition:color .12s ease, transform .12s ease;
}
.rf-star:hover{ transform:scale(1.12); }
.rf-star.is-on{ color:var(--gold); }

/* Honeypot (invisible aux humains) */
.rf-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }

.reviewform__foot{ display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.rf-msg{ margin:0; font-size:14px; flex:1; }
.rf-msg--err{ color:#b3261e; }
.rf-msg--ok{ color:var(--green); }

/* Message de remerciement */
.rf-thanks{ text-align:center; padding:18px 8px 4px; animation:rfIn .4s ease; }
.rf-thanks__icon{ font-size:38px; display:block; margin-bottom:10px; }
.rf-thanks__txt{ color:var(--ink-deep); font-size:16px; line-height:1.6; margin:0; }
@keyframes rfIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

@media (max-width:560px){
  .reviewform__inner{ padding:28px 22px; }
  .reviewform__row{ grid-template-columns:1fr; }
}

/* ============ VIDÉO DU BIEN (fiche) ============ */
.bien-video{ margin:56px auto 0; max-width:980px; }
.bien-video__title{ font-family:var(--serif, "Playfair Display", serif); font-size:26px; color:var(--ink-deep); margin:0 0 18px; text-align:center; letter-spacing:-.01em; }
.bien-video__frame{
  position:relative; width:100%; aspect-ratio:16/9;
  border-radius:20px; overflow:hidden; background:#000;
  box-shadow:0 1px 2px rgba(19,32,26,.05), 0 34px 70px -40px rgba(19,32,26,.6);
  border:1px solid rgba(26,26,26,.08);
}
.bien-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width:560px){ .bien-video__title{ font-size:22px; } .bien-video__frame{ border-radius:14px; } }

/* ============ SÉLECTEUR DE LANGUE (FR / EN) ============ */
.lang-switch{
  position:fixed; top:16px; right:16px; z-index:1200;
  display:inline-flex; align-items:center; gap:2px;
  background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(26,26,26,.1); border-radius:999px;
  padding:4px; box-shadow:0 6px 20px -10px rgba(19,32,26,.45);
}
.lang-switch button{
  appearance:none; border:0; cursor:pointer; background:transparent;
  font:inherit; font-size:12.5px; font-weight:700; letter-spacing:.04em;
  color:var(--muted-2, #6E695F); padding:5px 11px; border-radius:999px;
  transition:background .16s, color .16s;
}
.lang-switch button:hover{ color:var(--ink-deep, #13201A); }
.lang-switch button.is-on{ background:var(--green, #2D6A4F); color:#fff; }
.lang-switch__sep{ width:1px; height:14px; background:rgba(26,26,26,.12); }
@media (max-width:560px){
  .lang-switch{ top:10px; right:10px; padding:3px; }
  .lang-switch button{ padding:4px 9px; font-size:12px; }
}

/* ============ « OÙ NOUS OPÉRONS » — bandelette (style bande verte) ============ */
.opband{ position:relative; overflow:hidden; background:var(--ink-deep); border-radius:22px; padding:36px 40px; }
.opband::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 100% at 0% 0%, rgba(201,168,76,.16), transparent 55%); }
.opband__head{ position:relative; max-width:48rem; }
.opband__title{ font-family:var(--serif); font-weight:600; font-size:27px; color:var(--cream); margin:0 0 8px; }
.opband__sub{ margin:0; color:rgba(250,247,242,.66); font-size:15px; line-height:1.6; }
.opband__cities{ position:relative; display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:24px; }
.opband__city{ display:inline-flex; align-items:center; gap:7px; padding:9px 15px; border-radius:999px;
  background:rgba(250,247,242,.08); border:1px solid rgba(250,247,242,.15); color:var(--cream);
  font-weight:600; font-size:14px; transition:background .16s ease, border-color .16s ease, transform .16s ease; }
.opband__city svg{ color:var(--gold); flex:none; }
.opband__city:hover{ background:rgba(201,168,76,.18); border-color:rgba(201,168,76,.5); transform:translateY(-2px); }
.opband__more{ color:rgba(250,247,242,.55); font-size:13.5px; font-style:italic; align-self:center; }
.opband__link{ position:relative; display:inline-block; margin-top:24px; color:var(--gold); font-weight:700; font-size:14.5px; }
.opband__link:hover{ text-decoration:underline; }
@media (max-width:640px){ .opband{ padding:26px 22px; } .opband__title{ font-size:22px; } }

/* ============ Fond shader animé (WebGL) ============ */
[data-shaderbg]{ position:relative; isolation:isolate; }
.shaderbg__canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; border-radius:inherit; pointer-events:none; }
[data-shaderbg] > *:not(.shaderbg__canvas){ position:relative; z-index:1; }

/* ============ MENU MOBILE — site public (hamburger + noms) ============ */
.navburger{ display:none; }
.navmenu, .navmenu__backdrop{ display:none; }
@media (max-width:767px){
  .tubenav{ display:none !important; }   /* remplace la barre d'icônes par un vrai menu */

  .navburger{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
    position:fixed; top:14px; right:14px; z-index:120; width:46px; height:46px;
    background:#fff; border:1px solid rgba(26,26,26,.1); border-radius:13px;
    box-shadow:0 8px 22px -10px rgba(19,32,26,.4); cursor:pointer; }
  .navburger span{ display:block; width:20px; height:2px; background:var(--ink-deep); border-radius:2px;
    transition:transform .25s ease, opacity .2s ease; }
  .navburger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .navburger.is-open span:nth-child(2){ opacity:0; }
  .navburger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .navmenu__backdrop{ display:block; position:fixed; inset:0; z-index:110;
    background:rgba(8,16,12,.45); opacity:0; pointer-events:none; transition:opacity .25s ease; }
  .navmenu__backdrop.is-open{ opacity:1; pointer-events:auto; }

  .navmenu{ display:block; position:fixed; top:0; right:0; z-index:115; height:100%; width:min(80%,300px);
    background:var(--cream); box-shadow:-20px 0 50px -20px rgba(19,32,26,.5);
    transform:translateX(100%); transition:transform .28s cubic-bezier(.22,1,.36,1); }
  .navmenu.is-open{ transform:none; }
  .navmenu__panel{ display:flex; flex-direction:column; padding:86px 18px 28px; gap:4px; }
  .navmenu__link{ font-family:var(--serif); font-size:20px; color:var(--ink-deep); text-decoration:none;
    padding:14px 16px; border-radius:12px; transition:background .15s ease, color .15s ease; }
  .navmenu__link:hover, .navmenu__link.is-active{ background:rgba(45,106,79,.1); color:var(--green); }
}

/* Sur mobile : pas de sélecteur flottant (il chevauchait le hamburger) — la langue est dans le menu */
@media (max-width:767px){
  .lang-switch{ display:none !important; }
  .navmenu__lang{ display:flex; gap:6px; margin-top:18px; padding:14px 16px 0; border-top:1px solid rgba(26,26,26,.1); }
  .navmenu__lang button{ flex:1; padding:10px 0; border:1px solid rgba(26,26,26,.14); background:#fff; border-radius:10px;
    font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.04em; color:var(--muted-2); cursor:pointer; }
  .navmenu__lang button.is-on{ background:var(--green); color:#fff; border-color:var(--green); }
}

/* ============ Barre de progression de défilement ============ */
.scrollprog{ position:fixed; top:0; left:0; right:0; height:3px; z-index:200;
  transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg, var(--green), var(--gold));
  box-shadow:0 0 10px rgba(201,168,76,.45);
  transition:transform .08s linear; will-change:transform; pointer-events:none; }
@media (prefers-reduced-motion:reduce){ .scrollprog{ transition:none; } }
