/* ============================================================
   Espace Sukhinah — système de design
   Identité conservée : lotus, vert profond, sarcelle, terracotta
   Typographies : Unna (titres, auto-hébergée), Roboto (texte)
   Mobile-first
   ============================================================ */

@font-face{font-family:'Unna';src:url('../fonts/unna-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Unna';src:url('../fonts/unna-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Unna';src:url('../fonts/unna-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Unna';src:url('../fonts/unna-700i.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Roboto';src:url('../fonts/roboto-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('../fonts/roboto-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('../fonts/roboto-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --vert-fonce:#205b4f;
  --vert-sombre:#163f37;
  --sarcelle:#53a292;
  --sarcelle-pale:#d9e8e5;
  --terracotta:#da9075;
  --terracotta-fonce:#b96a4f;
  --encre:#1d1d1b;
  --encre-doux:#3c3a36;
  --ivoire:#faf6f0;
  --blanc:#ffffff;
  --sable:#f1e9dc;
  --ombre:0 18px 45px -18px rgba(29,29,27,.28);
  --rayon:18px;
  --serif:'Unna',Georgia,'Times New Roman',serif;
  --sans:'Roboto',-apple-system,'Segoe UI',Arial,sans-serif;
  --header-h:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--encre);
  background:var(--ivoire);
  line-height:1.65;
  font-size:1.02rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--vert-fonce)}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;line-height:1.18;color:var(--encre);margin:0 0 .6em}
h1{font-size:clamp(2.1rem,6.5vw,3.6rem)}
h2{font-size:clamp(1.7rem,5vw,2.5rem)}
h3{font-size:clamp(1.25rem,3.5vw,1.6rem)}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1.08rem,2.8vw,1.3rem);color:var(--encre-doux)}

.conteneur{width:min(1120px,92%);margin:0 auto}
section.bloc{padding:clamp(3rem,8vw,5.5rem) 0}
.centre{text-align:center}
.etiquette{
  display:inline-block;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terracotta-fonce);font-weight:700;margin-bottom:.9rem;
}

/* ---------- Boutons ---------- */
.btn{
  display:inline-block;padding:.95rem 2rem;border-radius:999px;
  font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border:2px solid transparent;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}
.btn:active{transform:scale(.97)}
.btn-principal{background:var(--vert-fonce);color:#fff;box-shadow:0 12px 28px -12px rgba(32,91,79,.7)}
.btn-principal:hover{background:var(--vert-sombre);transform:translateY(-2px)}
.btn-terra{background:var(--terracotta);color:#fff;box-shadow:0 12px 28px -12px rgba(218,144,117,.8)}
.btn-terra:hover{background:var(--terracotta-fonce);transform:translateY(-2px)}
.btn-contour{background:transparent;color:var(--vert-fonce);border-color:var(--vert-fonce)}
.btn-contour:hover{background:var(--vert-fonce);color:#fff}
.btn-blanc{background:#fff;color:var(--vert-fonce)}
.btn-blanc:hover{transform:translateY(-2px);box-shadow:var(--ombre)}
.btn-groupe{display:flex;gap:.9rem;flex-wrap:wrap}
.btn-groupe.centre{justify-content:center}

/* ---------- Header ---------- */
.site-header{
  position:fixed;inset:0 0 auto 0;height:var(--header-h);z-index:60;
  display:flex;align-items:center;
  background:rgba(250,246,240,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(32,91,79,.12);
}
.header-inner{width:min(1240px,94%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo svg{width:44px;height:44px}
.logo svg :is(path,circle){fill:var(--vert-fonce)}
.logo-nom{font-family:var(--serif);font-size:1.25rem;color:var(--vert-fonce);line-height:1.1}
.logo-nom small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;color:var(--terracotta-fonce);font-weight:700}
.nav-desktop{display:none}
.header-cta{display:none}

/* Burger */
.burger{background:none;border:0;cursor:pointer;width:48px;height:48px;position:relative;z-index:80}
.burger span{display:block;width:26px;height:2.5px;background:var(--vert-fonce);margin:6px auto;border-radius:2px;transition:transform .35s ease,opacity .25s ease}
body.menu-ouvert .burger span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
body.menu-ouvert .burger span:nth-child(2){opacity:0}
body.menu-ouvert .burger span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* Panneau mobile : ouverture en bulle */
.nav-mobile{
  position:fixed;inset:0;z-index:70;background:var(--vert-fonce);
  clip-path:circle(0 at calc(100% - 44px) 36px);
  transition:clip-path .55s cubic-bezier(.7,0,.3,1);
  display:flex;flex-direction:column;justify-content:center;padding:0 10%;
}
body.menu-ouvert .nav-mobile{clip-path:circle(150% at calc(100% - 44px) 36px)}
.nav-mobile a{
  font-family:var(--serif);font-size:clamp(1.6rem,7vw,2.2rem);color:#fff;text-decoration:none;
  padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.14);
  opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s ease;
}
body.menu-ouvert .nav-mobile a{opacity:1;transform:none}
body.menu-ouvert .nav-mobile a:nth-child(1){transition-delay:.15s}
body.menu-ouvert .nav-mobile a:nth-child(2){transition-delay:.2s}
body.menu-ouvert .nav-mobile a:nth-child(3){transition-delay:.25s}
body.menu-ouvert .nav-mobile a:nth-child(4){transition-delay:.3s}
body.menu-ouvert .nav-mobile a:nth-child(5){transition-delay:.35s}
body.menu-ouvert .nav-mobile a:nth-child(6){transition-delay:.4s}
body.menu-ouvert .nav-mobile a:nth-child(7){transition-delay:.45s}
body.menu-ouvert .nav-mobile a:nth-child(8){transition-delay:.5s}
.nav-mobile a.cta{color:var(--terracotta);border-bottom:0}
body.menu-ouvert{overflow:hidden}

main{padding-top:var(--header-h)}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--vert-sombre) 0%,var(--vert-fonce) 60%,#2a6a5d 100%);
  color:#fff;
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M60 10c14 20 14 60 0 100-14-40-14-80 0-100z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
  background-size:120px;
}
.hero-inner{position:relative;width:min(1120px,92%);margin:0 auto;padding:clamp(3.5rem,10vw,6rem) 0;display:grid;gap:2.5rem;align-items:center}
.hero .etiquette{color:var(--terracotta)}
.hero h1{color:#fff}
.hero h1 em{font-style:italic;color:var(--terracotta)}
.hero p{color:rgba(255,255,255,.88);font-size:clamp(1.05rem,2.6vw,1.25rem)}
.hero-photo{position:relative}
.hero-photo img{border-radius:var(--rayon);box-shadow:var(--ombre);aspect-ratio:4/3;object-fit:cover;width:100%}
.hero-photo::after{
  content:"";position:absolute;inset:-14px auto auto -14px;width:120px;height:120px;z-index:-1;
  border:2px solid var(--terracotta);border-radius:var(--rayon);opacity:.7;
}
.hero-page{padding:clamp(3rem,8vw,4.5rem) 0}
.hero-page h1{margin-bottom:.4rem}
.hero-page p{margin-bottom:0;max-width:640px}

/* ---------- Cartes ---------- */
.grille{display:grid;gap:1.4rem}
.carte{
  background:var(--blanc);border-radius:var(--rayon);padding:1.8rem;
  box-shadow:0 10px 30px -18px rgba(29,29,27,.25);
  border:1px solid rgba(32,91,79,.1);
  transition:transform .3s ease,box-shadow .3s ease;
}
.carte:hover{transform:translateY(-4px);box-shadow:var(--ombre)}
.carte h3{color:var(--vert-fonce);margin-bottom:.5rem}
.carte .prix{font-family:var(--serif);font-size:1.7rem;color:var(--terracotta-fonce);margin:.4rem 0}
.carte .prix small{font-family:var(--sans);font-size:.85rem;color:var(--encre-doux)}
.icone-rond{
  width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--sarcelle-pale);font-size:1.5rem;margin-bottom:1rem;
}

/* Piliers */
.pilier{text-align:center;padding:2rem 1.4rem}
.pilier .icone-rond{margin:0 auto 1rem}

/* ---------- Section Mélanie (accueil) ---------- */
.split{display:grid;gap:2.2rem;align-items:center}
.split img{border-radius:var(--rayon);box-shadow:var(--ombre)}
.signature{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--vert-fonce)}

/* ---------- Bandeau terracotta ---------- */
.bandeau{background:linear-gradient(140deg,var(--terracotta) 0%,#c9825f 100%);color:#fff;border-radius:calc(var(--rayon) + 8px);padding:clamp(2rem,6vw,3.5rem);box-shadow:var(--ombre);position:relative;overflow:hidden}
.bandeau h2{color:#fff}
.bandeau p{color:rgba(255,255,255,.92)}
.bandeau .btn-blanc{margin-top:.6rem}
.bandeau-vert{background:linear-gradient(140deg,var(--vert-fonce),var(--vert-sombre));color:#fff;border-radius:calc(var(--rayon) + 8px);padding:clamp(2rem,6vw,3.5rem);box-shadow:var(--ombre)}
.bandeau-vert h2{color:#fff}
.bandeau-vert p{color:rgba(255,255,255,.9)}

/* ---------- Témoignages ---------- */
.temoignage{background:var(--blanc);border-radius:var(--rayon);padding:2rem;box-shadow:0 10px 30px -18px rgba(29,29,27,.25);border-left:5px solid var(--terracotta);font-size:1.05rem}
.temoignage footer{margin-top:1rem;font-weight:700;color:var(--vert-fonce);font-style:normal}
.temoignage footer small{display:block;font-weight:400;color:var(--encre-doux)}
.guillemets{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--terracotta);display:block;margin-bottom:.2rem}

/* ---------- FAQ ---------- */
.faq-item{background:var(--blanc);border-radius:14px;margin-bottom:.9rem;border:1px solid rgba(32,91,79,.12);overflow:hidden}
.faq-question{width:100%;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--serif);font-size:1.15rem;color:var(--vert-fonce);padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-question .plus{font-size:1.6rem;color:var(--terracotta);transition:transform .3s ease;flex-shrink:0}
.faq-item.ouvert .faq-question .plus{transform:rotate(45deg)}
.faq-reponse{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-reponse div{padding:0 1.4rem 1.4rem;color:var(--encre-doux)}

/* ---------- Tarifs ---------- */
.tarif-liste{list-style:none;margin:1rem 0 0;padding:0}
.tarif-liste li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 0;border-bottom:1px dashed rgba(32,91,79,.25)}
.tarif-liste li:last-child{border-bottom:0}
.tarif-liste .service{font-weight:500}
.tarif-liste .montant{font-family:var(--serif);font-size:1.25rem;color:var(--vert-fonce);white-space:nowrap}
.note-tarifs{font-size:.9rem;color:var(--encre-doux);font-style:italic}

/* ---------- Galerie ---------- */
.galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.galerie img{border-radius:12px;aspect-ratio:3/2;object-fit:cover;width:100%;height:100%}

/* ---------- Vidéo FB ---------- */
.video-fb{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);background:#000;max-width:420px;margin:0 auto}
.video-fb iframe{width:100%;border:0;display:block;min-height:560px}

/* ---------- CTA final ---------- */
.cta-final{background:linear-gradient(160deg,var(--vert-sombre),var(--vert-fonce));color:#fff;border-radius:calc(var(--rayon) + 8px);padding:clamp(2.5rem,7vw,4rem);text-align:center;box-shadow:var(--ombre);position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M60 10c14 20 14 60 0 100-14-40-14-80 0-100z' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");background-size:120px}
.cta-final h2{color:#fff;position:relative}
.cta-final p{color:rgba(255,255,255,.88);position:relative}
.cta-final .btn-groupe{position:relative;justify-content:center}
.coord-liste{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.7rem;position:relative}
.coord-liste a{color:#fff;text-decoration:none;font-weight:500;font-size:1.1rem}
.coord-liste a:hover{color:var(--terracotta)}

/* ---------- Footer ---------- */
.site-footer{background:var(--encre);color:rgba(255,255,255,.78);padding:3.5rem 0 1.5rem;margin-top:4rem}
.footer-grille{display:grid;gap:2rem;margin-bottom:2.5rem}
.site-footer h3{color:#fff;font-size:1.2rem}
.site-footer a{color:rgba(255,255,255,.78);text-decoration:none}
.site-footer a:hover{color:var(--terracotta)}
.footer-logo svg{width:120px;height:auto}
.footer-logo svg :is(path,circle){fill:#fff}
.footer-bas{border-top:1px solid rgba(255,255,255,.14);padding-top:1.4rem;font-size:.88rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}

/* ---------- Bannière consentement (Loi 25) ---------- */
.banniere-cookies{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:90;background:var(--encre);color:#fff;border-radius:14px;padding:1.2rem 1.4rem;box-shadow:var(--ombre);display:none;gap:1rem;align-items:center;flex-wrap:wrap}
.banniere-cookies.visible{display:flex}
.banniere-cookies p{margin:0;font-size:.92rem;flex:1 1 240px}
.banniere-cookies .btn{padding:.6rem 1.4rem;font-size:.92rem}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- Formulaire contact ---------- */
.formulaire{background:var(--blanc);border-radius:var(--rayon);padding:2rem;box-shadow:var(--ombre);border:1px solid rgba(32,91,79,.1)}
.champ{margin-bottom:1.1rem}
.champ label{display:block;font-weight:700;margin-bottom:.35rem;color:var(--vert-fonce)}
.champ input,.champ textarea,.champ select{width:100%;padding:.85rem 1rem;border:1.5px solid rgba(32,91,79,.25);border-radius:10px;font-family:var(--sans);font-size:1rem;background:var(--ivoire)}
.champ input:focus,.champ textarea:focus,.champ select:focus{outline:none;border-color:var(--sarcelle);box-shadow:0 0 0 3px rgba(83,162,146,.2)}
.champ textarea{min-height:140px;resize:vertical}

/* ---------- Divers ---------- */
.fil-ariane{font-size:.88rem;color:var(--encre-doux);margin-bottom:1rem}
.fil-ariane a{color:var(--vert-fonce);text-decoration:none}
.encadre{background:var(--sarcelle-pale);border-radius:var(--rayon);padding:1.8rem;border-left:5px solid var(--sarcelle)}
.encadre h3{color:var(--vert-fonce)}
.liste-check{list-style:none;padding:0;margin:1rem 0}
.liste-check li{padding:.45rem 0 .45rem 2rem;position:relative}
.liste-check li::before{content:"✓";position:absolute;left:0;color:var(--sarcelle);font-weight:700;font-size:1.2rem}
.puce-terra{color:var(--terracotta-fonce);font-weight:700}
.badge{display:inline-block;background:var(--terracotta);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .9rem;border-radius:999px;margin-bottom:.8rem}
.deux-col{display:grid;gap:2rem}

/* ---------- Tablette ---------- */
@media (min-width:700px){
  .grille-2{grid-template-columns:repeat(2,1fr)}
  .grille-3{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:1fr 1fr}
  .galerie{grid-template-columns:repeat(3,1fr)}
  .deux-col{grid-template-columns:1fr 1fr}
  .footer-grille{grid-template-columns:1.2fr 1fr 1fr 1fr}
}

/* ---------- Desktop ---------- */
@media (min-width:1024px){
  .burger{display:none}
  .nav-desktop{display:flex;align-items:center;gap:1.6rem}
  .nav-desktop a{color:var(--encre);text-decoration:none;font-weight:500;font-size:.98rem;position:relative;padding:.3rem 0}
  .nav-desktop a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--terracotta);transition:width .3s ease}
  .nav-desktop a:hover::after,.nav-desktop a.actif::after{width:100%}
  .nav-desktop a.actif{color:var(--vert-fonce);font-weight:700}
  .header-cta{display:inline-block}
  .hero-inner{grid-template-columns:1.05fr .95fr}
  .grille-4{grid-template-columns:repeat(4,1fr)}
}
