*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#FBF7F2;--bg2:#F5EDE2;--beige:#EAD9C8;
  --gold:#C9A97A;--gold-d:#A07C50;
  --brown:#5D3D2B;--brown-l:#7A5540;
  --text:#3C2C20;--muted:#8A7060;
  --white:#FFFFFF;--shadow:rgba(93,61,43,0.11);
  /* 3e couleur : terracotta doux */
  --terra:#C86B4A;--terra-l:#E8906E;--terra-bg:#FDF0EB;
  /* Accents prestation */
  --c1:#D4935A;--c2:#9B8EC4;--c3:#7BA8B8;--c4:#8BB89A;--c5:#C4848A;
  --ff-serif:'Cormorant Garamond',Georgia,serif;
  --ff-sans:'Nunito',sans-serif;
  --radius:18px;--tr:0.42s cubic-bezier(0.25,0.46,0.45,0.94);
}
html{scroll-behavior:smooth}
body{font-family:var(--ff-sans);background:var(--cream);color:var(--text);font-weight:400;line-height:1.75;overflow-x:hidden;font-size:16px}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:.85rem 3rem;background:rgba(251,247,242,.93);backdrop-filter:blur(20px);border-bottom:1px solid rgba(201,169,122,.18);transition:padding var(--tr),box-shadow var(--tr)}
nav.scrolled{padding:.55rem 3rem;box-shadow:0 4px 28px var(--shadow)}
.nav-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.logo-img{height:44px;width:auto}
.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav-links a{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-decoration:none;position:relative;transition:color var(--tr)}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--tr)}
.nav-links a:hover{color:var(--gold-d)}.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--terra)!important;color:var(--white)!important;padding:.48rem 1.2rem;border-radius:50px;transition:background var(--tr)!important;white-space:nowrap}
.nav-cta:hover{background:var(--brown)!important}.nav-cta::after{display:none!important}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.burger span{display:block;width:22px;height:1.5px;background:var(--brown);transition:var(--tr)}


/* ── BTNS ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.82rem 1.8rem;border-radius:50px;font-family:var(--ff-sans);font-size:.85rem;letter-spacing:.06em;text-decoration:none;border:none;cursor:pointer;transition:var(--tr);font-weight:500}
.btn-primary{background:var(--brown);color:var(--cream)}.btn-primary:hover{background:var(--gold-d);transform:translateY(-2px);box-shadow:0 8px 24px rgba(93,61,43,.22)}
.btn-terra{background:var(--terra);color:var(--white)}.btn-terra:hover{background:var(--brown);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,107,74,.25)}
.btn-ghost{background:transparent;color:var(--brown);border:1.5px solid var(--gold)}.btn-ghost:hover{background:var(--beige);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--brown)}.btn-gold:hover{background:var(--gold-d);color:var(--cream);transform:translateY(-2px)}

/* ── REVEAL / SLIDE ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.slide-l{opacity:0;transform:translateX(-55px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94)}
.slide-r{opacity:0;transform:translateX(55px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94)}
.slide-l.visible,.slide-r.visible{opacity:1;transform:translateX(0)}

/* ── SECTION BASE ── */
section{padding:4.5rem 2rem}
.s-label{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);margin-bottom:.65rem;display:flex;align-items:center;gap:.65rem}
.s-label::before{content:'';display:block;width:20px;height:1px;background:var(--gold)}
.s-title{font-family:var(--ff-serif);font-size:clamp(1.8rem,5vw,2.9rem);font-weight:300;color:var(--brown);line-height:1.15;margin-bottom:.9rem}
.s-title em{font-style:italic;color:var(--gold-d)}
.s-sub{font-size:1.05rem;opacity:.73;max-width:560px;line-height:1.82}

/* ── TARIF CARD ── */
.tcard{background:var(--white);border-radius:var(--radius);padding:2rem;border:1.5px solid transparent;position:relative;transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr)}
.tcard:hover{transform:translateY(-4px);box-shadow:0 16px 48px var(--shadow)}
.tcard-accent{width:4px;height:36px;border-radius:2px;margin-bottom:1.1rem}
.tcard-meta{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.tcard-name{font-family:var(--ff-serif);font-size:1.42rem;color:var(--brown);margin-bottom:.5rem}
.tcard-dur{font-size:.72rem;padding:.22rem .75rem;border-radius:50px;display:inline-block;margin-bottom:.9rem;font-weight:500}
.tcard-inclus{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem}
.tcard-incl-item{display:flex;align-items:flex-start;gap:.65rem;font-size:.92rem}
.tcard-incl-item svg{flex-shrink:0;margin-top:3px}
.tcard-divider{border:none;border-top:1px solid var(--beige);margin-bottom:1.1rem}
.tcard-prix-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.tcard-prix{font-family:var(--ff-serif);font-size:2rem;color:var(--brown);line-height:1}
.tcard-prix small{font-size:.75rem;font-family:var(--ff-sans);color:var(--muted)}
.tcard-benefit{font-size:.88rem;font-style:italic;color:var(--terra);max-width:220px;line-height:1.45;text-align:right}

/* ── CALENDRIER ── */
.cal-section{background:var(--brown);color:var(--cream);text-align:center;padding:4.5rem 2rem;position:relative;overflow:hidden}
.cal-section::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(201,169,122,.12) 0%,transparent 70%);pointer-events:none}
.cal-section .s-label{justify-content:center;color:rgba(201,169,122,.72)}
.cal-section .s-label::before{background:rgba(201,169,122,.3)}
.cal-section .s-title{color:var(--cream)}.cal-section .s-title em{color:var(--gold)}
.cal-section .s-sub{color:rgba(251,247,242,.62);margin:0 auto 2rem}

.prest-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.ptab{background:rgba(255,255,255,.08);border:1px solid rgba(201,169,122,.25);border-radius:50px;padding:.5rem 1.1rem;font-size:.76rem;letter-spacing:.08em;color:rgba(251,247,242,.7);cursor:pointer;transition:var(--tr);font-family:var(--ff-sans)}
.ptab.active,.ptab:hover{background:rgba(201,169,122,.22);border-color:var(--gold);color:var(--cream)}

.cal-wrap{max-width:600px;margin:0 auto 1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(201,169,122,.18);border-radius:var(--radius);overflow:hidden}
.cal-head{background:rgba(201,169,122,.1);padding:.85rem 1.2rem;display:flex;align-items:center;justify-content:space-between;font-family:var(--ff-serif);font-size:1rem;color:var(--cream)}
.cal-nav-btn{background:none;border:none;color:var(--gold);font-size:1.2rem;cursor:pointer;padding:.2rem .5rem;transition:color var(--tr)}
.cal-nav-btn:hover{color:var(--cream)}
.cal-grid{padding:1rem 1.2rem;display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.cdn{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:.32;padding:.22rem}
.cday{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;cursor:pointer;transition:var(--tr);opacity:.28;font-family:var(--ff-sans)}
.cday.avail{opacity:1;background:rgba(201,169,122,.13);border:1px solid rgba(201,169,122,.28);color:var(--cream)}
.cday.avail:hover{background:var(--gold);border-color:var(--gold);color:var(--brown);transform:scale(1.1)}
.cday.sel{background:var(--gold);border-color:var(--gold);color:var(--brown);opacity:1;font-weight:600}
.cday.today{border:1.5px solid var(--terra-l);opacity:1;color:var(--terra-l)}
.cday.past{opacity:.15;cursor:default}
.cday.empty{pointer-events:none;opacity:0}

.slots-wrap{padding:0 1.2rem 1.2rem;display:none}
.slots-wrap.show{display:block}
.slots-label{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(201,169,122,.6);margin-bottom:.65rem}
.slots-row{display:flex;flex-wrap:wrap;gap:.45rem}
.slot-btn{background:rgba(255,255,255,.07);border:1px solid rgba(201,169,122,.22);color:var(--cream);border-radius:8px;padding:.42rem .85rem;font-size:.8rem;cursor:pointer;transition:var(--tr);font-family:var(--ff-sans)}
.slot-btn:hover,.slot-btn.sel{background:var(--gold);border-color:var(--gold);color:var(--brown)}

.book-cta-row{display:none;margin:1.2rem 0;justify-content:center}
.book-cta-row.show{display:flex}

/* ── FOOTER ── */
footer{background:var(--brown);color:var(--cream);padding:3.5rem 2rem 1.8rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.fl-logo{margin-bottom:1rem}.fl-logo-img{height:36px;width:auto;filter:brightness(10)}
.fl-tag{font-size:.84rem;opacity:.48;line-height:1.72;margin-bottom:1.3rem}
.fl-socials{display:flex;gap:.6rem}
.fsoc{width:34px;height:34px;border:1px solid rgba(201,169,122,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);text-decoration:none;font-size:.8rem;transition:var(--tr);font-weight:600}
.fsoc:hover{background:rgba(201,169,122,.18);border-color:var(--gold)}
.fc h4{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,169,122,.58);margin-bottom:.9rem}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.fc ul a{color:rgba(251,247,242,.52);text-decoration:none;font-size:.86rem;transition:color var(--tr)}
.fc ul a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(201,169,122,.13);padding-top:1.3rem;display:flex;align-items:center;justify-content:space-between;font-size:.71rem;opacity:.35}

/* ── PICTO SVG INLINE ── */
.picto{display:inline-block;vertical-align:middle}

/* ── RESPONSIVE MOBILE FIRST ── */
@media(max-width:768px){
  nav,nav.scrolled{padding:.75rem 1.2rem}
  .nav-links{display:none}.burger{display:flex}
  section{padding:3.5rem 1.2rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.8rem}
  .footer-bottom{flex-direction:column;gap:.4rem;text-align:center}
  .logo-img{height:36px}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .slide-l{transform:translateX(-30px)}.slide-r{transform:translateX(30px)}
  body{font-size:16px}
}

    
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:6.5rem 1.5rem 3rem;position:relative;overflow:hidden;background:var(--cream)}
.hero-bg{position:absolute;right:-8%;top:-10%;width:70%;height:120%;background:radial-gradient(ellipse at 55% 40%,#EDD9C2 0%,#E0C8AC 50%,transparent 78%);border-radius:42% 58% 58% 42%/45% 45% 55% 55%;z-index:0;animation:morph 14s ease-in-out infinite alternate}
@keyframes morph{0%{border-radius:42% 58% 58% 42%/45% 45% 55% 55%}50%{border-radius:58% 42% 42% 58%/55% 55% 45% 45%}100%{border-radius:38% 62% 55% 45%/48% 58% 42% 52%}}
.hero-content{position:relative;z-index:2}
.hero-eyebrow{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem}
.hero-eyebrow::before{content:'';display:block;width:24px;height:1px;background:var(--terra)}
.hero h1{font-family:var(--ff-serif);font-size:clamp(2.4rem,8vw,4rem);font-weight:300;line-height:1.1;color:var(--brown);margin-bottom:1.2rem}
.hero h1 em{font-style:italic;color:var(--gold-d)}
.hero-slogan{font-size:1.1rem;font-family:var(--ff-serif);font-style:italic;color:var(--brown);border-left:2.5px solid var(--terra);padding-left:1.1rem;line-height:1.72;margin-bottom:1.3rem;opacity:.88;max-width:480px}
.hero-desc{font-size:1.05rem;opacity:.7;max-width:440px;margin-bottom:2rem;line-height:1.82}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-img-wrap{position:relative;margin-top:2.5rem;z-index:2}
.hero-portrait{width:100%;max-height:380px;object-fit:cover;object-position:center top;border-radius:var(--radius);box-shadow:0 20px 60px var(--shadow)}
.hero-badge{position:absolute;bottom:-16px;right:12px;background:var(--white);border-radius:14px;padding:.9rem 1.1rem;box-shadow:0 8px 30px var(--shadow);display:flex;align-items:center;gap:.7rem;animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.badge-num{font-family:var(--ff-serif);font-size:1.6rem;font-style:italic;color:var(--brown);line-height:1}
.badge-lbl{font-size:.72rem;color:var(--muted);line-height:1.35}

/* Trust */
.trust{background:var(--brown);padding:1.1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 2rem}
.ti{display:flex;align-items:center;gap:.5rem;color:rgba(251,247,242,.75);font-size:.82rem}
.tsep{width:1px;height:16px;background:rgba(201,169,122,.25)}

/* Prestas blocs */
.prestas-grid{display:grid;grid-template-columns:1fr;gap:1.4rem;max-width:600px;margin:0 auto}
.pbloc{border-radius:var(--radius);overflow:hidden;position:relative;text-decoration:none;color:inherit;display:block;box-shadow:0 4px 20px var(--shadow);transition:transform var(--tr),box-shadow var(--tr)}
.pbloc:hover{transform:translateY(-5px);box-shadow:0 18px 48px var(--shadow)}
.pbloc-img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .6s ease}
.pbloc:hover .pbloc-img{transform:scale(1.04)}
.pbloc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(45,28,16,.88) 0%,rgba(45,28,16,.25) 50%,transparent 100%)}
.pbloc-top-accent{position:absolute;top:0;left:0;right:0;height:3px}
.pbloc-body{position:absolute;bottom:0;left:0;right:0;padding:1.5rem}
.pbloc-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.pbloc-title{font-family:var(--ff-serif);font-size:1.45rem;font-weight:400;color:#fff;line-height:1.2;margin-bottom:.35rem}
.pbloc-hook{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.5;margin-bottom:.8rem;font-style:italic}
.pbloc-bottom{display:flex;align-items:center;justify-content:space-between}
.pbloc-price{font-family:var(--ff-serif);font-size:1.2rem;color:var(--gold)}
.pbloc-cta{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:.3rem}

/* About mini */
.about-mini{display:flex;flex-direction:column;gap:2.5rem}
.about-img-wrap{position:relative}
.about-img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:top;border-radius:var(--radius);box-shadow:0 16px 48px var(--shadow)}
.about-stat-pill{position:absolute;bottom:-14px;right:14px;background:var(--brown);color:var(--cream);border-radius:12px;padding:.8rem 1.2rem;box-shadow:0 8px 28px rgba(93,61,43,.28);text-align:center}
.stat-num{font-family:var(--ff-serif);font-size:1.8rem;font-style:italic;color:var(--gold);line-height:1}
.stat-lbl{font-size:.68rem;opacity:.62;letter-spacing:.06em;margin-top:.1rem}
.about-quote{font-family:var(--ff-serif);font-size:1.08rem;font-style:italic;color:var(--brown);border-left:2.5px solid var(--gold);padding-left:1.1rem;line-height:1.7;margin-bottom:1.3rem;opacity:.88}
.about-txt{font-size:1.05rem;opacity:.75;line-height:1.85;margin-bottom:1rem}
.about-val{display:flex;align-items:center;gap:.7rem;font-size:.95rem;margin-bottom:.55rem}
.about-val-dot{width:6px;height:6px;border-radius:50%;background:var(--terra);flex-shrink:0}

/* Contact */
.contact-wrap{display:flex;flex-direction:column;gap:2.5rem}
.dispo-card{background:var(--bg2);border-radius:var(--radius);padding:1.8rem}
.dispo-item{display:flex;align-items:center;gap:.7rem;font-size:.95rem;margin-bottom:.65rem}
.dispo-cta{background:var(--brown);border-radius:var(--radius);padding:1.5rem;text-align:center;margin-top:1.2rem}
.dispo-cta p{font-size:.9rem;opacity:.62;color:var(--cream);margin-bottom:1rem;line-height:1.6}

@media(min-width:768px){
  .hero{flex-direction:row;align-items:center;gap:3rem;padding:7rem 3rem 4rem;min-height:100vh}
  .hero-content{flex:1.1}.hero-img-wrap{flex:1;margin-top:0}
  .prestas-grid{grid-template-columns:repeat(2,1fr);max-width:900px}
  .about-mini{flex-direction:row;align-items:center;gap:4rem}
  .about-img-wrap{flex:1}.about-mini>div:last-child{flex:1.1}
  .contact-wrap{flex-direction:row;align-items:start}
  .contact-wrap>*{flex:1}
}

  
/* ── CORRECTION CADRAGE IMAGES ── */
.pbloc { overflow:hidden; }
.pbloc-img {
  width:100%;
  height:auto !important;
  display:block;
  transition:transform .6s ease;
  object-fit:cover;
}
/* Blocs prestas : image prend son ratio naturel, overlay s'adapte */
.pbloc { position:relative; }
.pbloc-overlay { position:absolute; inset:0; }
.pbloc-body { position:absolute; bottom:0; left:0; right:0; }

/* Hero portrait */
.hero-portrait {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:cover;
  object-position:center top;
  border-radius:var(--radius);
  box-shadow:0 20px 60px var(--shadow);
  display:block;
}

/* About img */
.about-img {
  width:100% !important;
  height:auto !important;
  object-fit:cover;
  object-position:center 15%;
  border-radius:var(--radius);
  box-shadow:0 16px 48px var(--shadow);
  display:block;
}

/* Images dans sections internes */
.section-img-full {
  width:100%;
  height:auto;
  border-radius:var(--radius);
  box-shadow:0 12px 36px var(--shadow);
  display:block;
}

/* Inner hero image */
.inner-hero-img {
  width:100%;
  height:auto !important;
  max-height:none !important;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 16px 48px var(--shadow);
  display:block;
}
.inner-hero-img img {
  width:100%;
  height:auto;
  display:block;
}


/* ── CALENDRIER FOND BEIGE ── */
.cal-section {
  background: var(--bg2) !important;
  color: var(--text) !important;
}
.cal-section .s-label { color: var(--gold-d) !important; }
.cal-section .s-label::before { background: var(--gold) !important; }
.cal-section .s-title { color: var(--brown) !important; }
.cal-section .s-title em { color: var(--gold-d) !important; }
.cal-section .s-sub { color: var(--muted) !important; }
.cal-wrap { background: var(--white) !important; border: 1.5px solid var(--beige) !important; box-shadow: 0 4px 24px var(--shadow); }
.cal-head { background: var(--beige) !important; color: var(--brown) !important; }
.cal-nav-btn { color: var(--gold-d) !important; }
.cal-nav-btn:hover { color: var(--brown) !important; }
.cdn { color: var(--muted) !important; opacity: 1 !important; }
.cday { color: var(--text) !important; opacity: 0.25 !important; }
.cday.avail { background: var(--cream) !important; border: 1.5px solid var(--beige) !important; color: var(--brown) !important; opacity: 1 !important; }
.cday.avail:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--brown) !important; }
.cday.sel { background: var(--brown) !important; border-color: var(--brown) !important; color: var(--cream) !important; opacity: 1 !important; }
.cday.today { border: 2px solid var(--terra) !important; color: var(--terra) !important; opacity: 1 !important; }
.slots-wrap { background: var(--cream); border-radius: 0 0 var(--radius) var(--radius); padding: 1rem 1.2rem 1.2rem !important; }
.slots-label { color: var(--gold-d) !important; }
.slot-btn { background: var(--white) !important; border: 1.5px solid var(--beige) !important; color: var(--brown) !important; }
.slot-btn:hover, .slot-btn.sel { background: var(--brown) !important; border-color: var(--brown) !important; color: var(--cream) !important; }
.ptab { background: var(--white) !important; border: 1.5px solid var(--beige) !important; color: var(--muted) !important; }
.ptab.active, .ptab:hover { background: var(--brown) !important; border-color: var(--brown) !important; color: var(--cream) !important; }
.book-cta-row a { background: var(--terra) !important; color: var(--white) !important; }

/* ── TEXTE JUSTIFIÉ ── */
p, .about-txt, .pcard-desc, .about-text, .s-sub {
  text-align: left;
}
.hero-desc, .hero-slogan { text-align: left; }
/* Centré uniquement pour les heads de section */
.prestas-head p, .testi-head p, .cities-head p { text-align: center; }

/* ── FOOTER SLOGAN ── */
.fl-tag {
  color: var(--gold) !important;
  opacity: 1 !important;
  font-size: .9rem !important;
  line-height: 1.75 !important;
  font-style: italic;
}


/* ═══ PATCH GLOBAL ═══ */

/* Slogan footer visible */
.fl-tag {
  color: var(--gold) !important;
  opacity: 1 !important;
  font-size: .92rem !important;
  line-height: 1.78 !important;
  font-weight: 400 !important;
  margin-bottom: 1.4rem !important;
}
.fl-tag em {
  font-style: italic;
  color: #F0C080 !important; /* doré plus clair pour le slogan */
  font-size: 1rem;
  display: block;
  margin-top: .3rem;
}

/* Socials footer : pictos SVG */
.fl-socials {
  display: flex;
  gap: .8rem;
  align-items: center;
}
.fsoc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  transition: transform .3s ease, opacity .3s ease !important;
  padding: 0 !important;
}
.fsoc:hover {
  transform: scale(1.12) !important;
  opacity: .85 !important;
  background: transparent !important;
}
.fsoc img { width: 36px; height: 36px; display: block; }

/* ═══ CALENDRIER : fond beige clair — MOBILE + DESKTOP ═══ */
.cal-section,
section.cal-section {
  background: var(--bg2) !important;
  color: var(--text) !important;
  padding: 4rem 1.5rem !important;
}
.cal-section .s-label { color: var(--gold-d) !important; }
.cal-section .s-label::before { background: var(--gold) !important; }
.cal-section .s-title { color: var(--brown) !important; }
.cal-section .s-title em { color: var(--gold-d) !important; }
.cal-section .s-sub { color: var(--muted) !important; opacity:.85 !important; }
.cal-section .book-cta-row a { background: var(--terra) !important; color: white !important; }

.cal-wrap {
  background: var(--white) !important;
  border: 1.5px solid var(--beige) !important;
  box-shadow: 0 4px 20px rgba(93,61,43,.08) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}
.cal-head {
  background: var(--beige) !important;
  color: var(--brown) !important;
  padding: .85rem 1.2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-family: var(--ff-serif) !important;
  font-size: 1.05rem !important;
}
.cal-nav-btn { color: var(--brown) !important; background: none !important; border: none !important; font-size: 1.3rem !important; cursor: pointer !important; padding: .2rem .6rem !important; }
.cal-nav-btn:hover { color: var(--gold-d) !important; }
.cal-grid { padding: .9rem 1rem !important; display: grid !important; grid-template-columns: repeat(7,1fr) !important; gap: .28rem !important; }
.cdn { font-size: .6rem !important; text-align: center !important; color: var(--muted) !important; opacity: .85 !important; padding: .2rem !important; letter-spacing: .06em !important; text-transform: uppercase !important; }
.cday { aspect-ratio:1 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: .78rem !important; cursor: default !important; opacity: .2 !important; color: var(--text) !important; }
.cday.avail { opacity:1 !important; background: var(--cream) !important; border: 1.5px solid var(--beige) !important; color: var(--brown) !important; cursor: pointer !important; }
.cday.avail:hover { background: var(--gold) !important; border-color: var(--gold) !important; color: var(--brown) !important; transform: scale(1.08) !important; }
.cday.sel { background: var(--brown) !important; border-color: var(--brown) !important; color: var(--cream) !important; opacity:1 !important; font-weight:600 !important; }
.cday.today { border: 2px solid var(--terra) !important; color: var(--terra) !important; opacity:1 !important; }
.cday.past,.cday.empty { opacity:.12 !important; cursor:default !important; pointer-events:none !important; }
.cday.blocked { opacity:.15 !important; cursor:not-allowed !important; background: var(--beige) !important; pointer-events:none !important; }

.slots-wrap { background: var(--cream) !important; padding: 1rem 1.2rem 1.2rem !important; border-top: 1px solid var(--beige) !important; }
.slots-label { color: var(--gold-d) !important; font-size:.65rem !important; letter-spacing:.14em !important; text-transform:uppercase !important; margin-bottom:.65rem !important; display:block !important; }
.slot-btn { background: var(--white) !important; border: 1.5px solid var(--beige) !important; color: var(--brown) !important; border-radius:8px !important; padding:.42rem .85rem !important; font-size:.82rem !important; cursor:pointer !important; transition: all .25s !important; font-family:var(--ff-sans) !important; }
.slot-btn:hover,.slot-btn.sel { background: var(--brown) !important; border-color: var(--brown) !important; color: var(--cream) !important; }
.slot-btn.disabled-slot { opacity:.35 !important; cursor:not-allowed !important; text-decoration:line-through !important; }
.prest-tabs { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:1.5rem !important; }
.ptab { background:var(--white) !important; border:1.5px solid var(--beige) !important; color:var(--muted) !important; border-radius:50px !important; padding:.5rem 1rem !important; font-size:.75rem !important; letter-spacing:.07em !important; cursor:pointer !important; transition: all .25s !important; font-family:var(--ff-sans) !important; }
.ptab.active,.ptab:hover { background:var(--brown) !important; border-color:var(--brown) !important; color:var(--cream) !important; }

/* Message délai minimum */
.cal-notice {
  background: var(--terra-bg, #FDF0EB);
  border: 1px solid var(--terra);
  border-radius: 10px;
  padding: .7rem 1rem;
  font-size: .85rem;
  color: var(--terra);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  text-align: left;
}

/* ═══ MENU MOBILE REVU ═══ */
.mob {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--cream);
  z-index: 199;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  overflow-y: auto;
}
.mob.open { display: flex; }
.mob-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid var(--beige);
  background: var(--white);
}
.mob-logo { height: 36px; width: auto; }
.mob-close {
  position: static !important;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--beige) !important;
  border: none;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem !important;
  color: var(--brown);
  cursor: pointer;
  flex-shrink: 0;
}
.mob-nav {
  width: 100%;
  padding: 1rem 0;
  flex: 1;
}
.mob-nav a {
  display: flex !important;
  align-items: center;
  padding: 1rem 1.5rem !important;
  font-family: var(--ff-sans) !important;
  font-style: normal !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--brown) !important;
  text-decoration: none;
  border-bottom: 1px solid var(--beige);
  letter-spacing: .02em;
  transition: background var(--tr), color var(--tr);
  width: 100% !important;
}
.mob-nav a:hover { background: var(--bg2); }
.mob-nav a:last-child { border-bottom: none; }
.mob-footer {
  width: 100%;
  padding: 1.5rem;
  border-top: 1px solid var(--beige);
}
.mob-footer .btn { width: 100%; justify-content: center; font-size: .95rem; }

@media (max-width: 768px) {
  .cal-grid { gap: .2rem !important; padding: .7rem .8rem !important; }
  .cday { font-size: .72rem !important; }
  .slot-btn { font-size: .78rem !important; padding: .38rem .7rem !important; }
  .ptab { font-size: .72rem !important; padding: .42rem .8rem !important; }
}
/* ── ANIMATIONS HERO ──────────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeR {
  from { opacity: 0; transform: translateX(28px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}
@keyframes morph {
  0%   { border-radius: 42% 58% 58% 42% / 45% 45% 55% 55%; }
  100% { border-radius: 58% 42% 42% 58% / 55% 55% 45% 45%; }
}

/* ═══════════════════════════════════════════════════ */
/* PATCH FINAL — MENU MOBILE FORCE                    */
/* Override toutes les règles précédentes             */
/* ═══════════════════════════════════════════════════ */
.mob {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: var(--cream) !important;
  z-index: 999 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow-y: auto !important;
}
.mob.open {
  display: flex !important;
}
.mob-header {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.2rem 1.5rem !important;
  border-bottom: 1px solid var(--beige) !important;
  background: var(--white) !important;
  flex-shrink: 0 !important;
}
.mob-nav {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  flex: 1 1 auto !important;
}
.mob-nav a,
.mob nav a {
  display: block !important;
  width: 100% !important;
  padding: 1.1rem 1.5rem !important;
  font-family: var(--ff-sans) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: var(--brown) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--beige) !important;
  text-align: left !important;
  letter-spacing: 0.02em !important;
}
.mob-footer {
  width: 100% !important;
  padding: 1.5rem !important;
  border-top: 1px solid var(--beige) !important;
  flex-shrink: 0 !important;
}
.mob-footer .btn {
  width: 100% !important;
  justify-content: center !important;
  font-size: 0.95rem !important;
}


/* ═══════════════════════════════════════════════════ */
/* PATCH SESSION 4 — Couleurs / tcard-accent / titres */
/* ═══════════════════════════════════════════════════ */

/* Refonte couleurs : --c2 violet → vert | --c3 bleu → marron orange | --c4 vert → marron foncé */
:root {
  --c1: #c4855a !important; /* Marron orange : Accompagnement parental */
  --c2: #ede4d3 !important; /* Beige doré : Numérologie */
  --c3: #5c3d2e !important; /* Marron foncé : Sommeil */
  --c4: #8faf8a !important; /* Vert : Langage des signes */
}

/* Suppression du trait vertical coloré .tcard-accent */
.tcard-accent {
  display: none !important;
}

/* Lisibilité des titres .pbloc-title (sur photos) : taille +20% + text-shadow */
.pbloc-title {
  font-size: 1.7rem !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
  letter-spacing: 0.01em !important;
}

/* Hero eyebrow stack : Accompagnement parental gros + En visioconférence petit */
.hero-eyebrow-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
  align-items: flex-start !important;
}
.hero-eyebrow-stack::before {
  display: none !important;
}
.hero-eyebrow-stack .he-main {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--terra) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}
.hero-eyebrow-stack .he-sub {
  font-size: 0.68rem !important;
  font-weight: 400 !important;
  color: var(--gold-d) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  margin-top: 0.15rem !important;
}

/* Photo numérologie 2e card : recadrage object-position */
.numero-photo-2 img,
img.numero-photo-2 {
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
}

/* ═══════════════════════════════════════════════════ */
/* PATCH SESSION 4.2 — Lisibilité .pbloc-tag           */
/* ═══════════════════════════════════════════════════ */
.pbloc-tag {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--white) !important;
  letter-spacing: 0.18em !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.95) !important;
  margin-bottom: 0.6rem !important;
}

/* ═══════════════════════════════════════════════════ */
/* PATCH SESSION 5 — Cartes prestas mobile             */
/* ═══════════════════════════════════════════════════ */

/* Hauteur fixe sur mobile : titre toujours visible */
@media (max-width: 767px) {
  .pbloc {
    min-height: 280px;
    display: block;
    position: relative;
  }
  .pbloc-img {
    height: 280px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
  }
}

/* Overlay renforcé pour photos claires */
.pbloc-overlay {
  background: linear-gradient(
    to top,
    rgba(30, 18, 8, 0.92) 0%,
    rgba(30, 18, 8, 0.55) 40%,
    rgba(30, 18, 8, 0.15) 70%,
    transparent 100%
  ) !important;
}

/* Hook texte plus lisible */
.pbloc-hook {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7) !important;
}

/* Prix lisible */
.pbloc-price {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6) !important;
}
