/* ══════════════════════════════════
   DOCK OF THE BAIE — main.css v8
══════════════════════════════════ */
:root {
  --beige:  #F1E1C4;
  --orange: #FF751F;
  --cuivre: #C17C3E;
  --bg:     #0a0604;
  --bg2:    #0f0805;
  --F: 'Bebas Neue', sans-serif;
  --S: 'Cormorant Garamond', serif;
  --G: 'DM Sans', sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--beige);
  font-family:var(--G); overflow-x:hidden; cursor:none;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{background:none;border:none;font-family:inherit;cursor:none;}
#cursor{position:fixed;pointer-events:none;z-index:9999;top:0;left:0;}

/* ── Layout ── */
.container{max-width:1380px;margin:0 auto;padding:0 4rem;}
section{padding:8rem 0;position:relative;overflow:hidden;}
.alt{background:linear-gradient(to bottom,var(--bg2),var(--bg));}
.slim{padding:4.5rem 0;}
.text-c{text-align:center;}

/* ── Typo ── */
.c-orange{color:var(--orange);}
.c-cuivre{color:var(--cuivre);}
.label{
  display:block;font-size:.65rem;letter-spacing:.45em;
  text-transform:uppercase;color:var(--cuivre);margin-bottom:.9rem;
}
.title{
  font-family:var(--F);
  font-size:clamp(2.8rem,5.5vw,5rem);
  letter-spacing:.05em;line-height:.92;color:var(--beige);
}
.title.mid{font-size:clamp(2.2rem,4vw,3.8rem);}
.prose{
  font-family:var(--S);font-size:1.1rem;
  line-height:1.88;color:rgba(241,225,196,.68);font-weight:300;
}
.prose strong{color:var(--beige);font-weight:400;}
.prose.italic{font-style:italic;}
.mt{margin-top:1.1rem;}
.mt-sm{margin-top:.75rem;}
.mt2{margin-top:1.75rem;display:inline-block;}
.sep{width:44px;height:1px;background:linear-gradient(to right,var(--orange),transparent);margin:1.75rem 0;}
.sep.centered{margin:1.75rem auto;}

/* ══════════════════
   NAVBAR
══════════════════ */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  padding:1.2rem 4rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .5s,padding .3s;
}
#navbar.scrolled{
  background:rgba(4,2,1,.82);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  padding:.85rem 4rem;
}
.nav-logo{
  display:flex;align-items:center;gap:.8rem;
  font-family:var(--F);font-size:1.3rem;letter-spacing:.12em;color:var(--beige);
  /* empêche le logo de grandir et de repousser le burger */
  flex-shrink:0;
  min-width:0;
  overflow:hidden;
}
.nav-logo-img{
  /* taille fixe, ne grossit jamais */
  width:36px;
  height:36px;
  min-width:36px;   /* empêche le shrink */
  max-width:36px;   /* plafond dur */
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  display:block;
}
.nav-logo-text{
  line-height:1;
  /* tronque si viewport trop étroit */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-links{list-style:none;display:flex;gap:2rem;}
.nav-links a{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(241,225,196,.55);font-weight:300;
  position:relative;padding-bottom:3px;transition:color .25s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.nav-links a:hover{color:var(--orange);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-burger{
  display:none;flex-direction:column;gap:5px;padding:6px;cursor:none;
  /* z-index élevé pour ne jamais être recouvert */
  position:relative;z-index:201;
  flex-shrink:0;
}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--beige);transition:all .3s;}
.nav-burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ══════════════════
   HERO
══════════════════ */
#hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse at 20% 80%,rgba(255,117,31,.12) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 15%,rgba(193,124,62,.08) 0%,transparent 50%),
    #000;
}
.hero-bg-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(10,6,4,.7) 60%,rgba(10,6,4,.95));
}
.hero-waves{position:absolute;bottom:0;left:0;right:0;height:160px;opacity:.3;pointer-events:none;}
.hero-content{position:relative;z-index:5;text-align:center;padding:2rem;}
.hero-tag{
  display:block;font-family:var(--S);font-size:.8rem;
  letter-spacing:.45em;text-transform:uppercase;color:var(--cuivre);margin-bottom:1.4rem;
}
.hero-title{
  font-family:var(--F);
  font-size:clamp(4rem,12vw,10.5rem);
  line-height:.88;letter-spacing:.04em;color:var(--beige);
  text-shadow:0 0 80px rgba(255,117,31,.1);margin-bottom:1.4rem;
}
.hero-dots{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0 1.4rem;}
.hero-dots span{width:5px;height:5px;border-radius:50%;background:var(--cuivre);display:inline-block;}
.hero-dots span.orange{background:var(--orange);}
.hero-sub{
  display:block;font-family:var(--S);
  font-size:clamp(.9rem,2vw,1.35rem);font-style:italic;
  color:rgba(241,225,196,.45);letter-spacing:.08em;margin-bottom:2.8rem;
}
.scroll-hint{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.45rem;
}
.scroll-line{
  width:1px;height:50px;
  background:linear-gradient(to bottom,transparent,var(--cuivre));
  animation:scrollPulse 2s ease infinite;
}
.scroll-hint span{font-size:.55rem;letter-spacing:.35em;color:var(--cuivre);text-transform:uppercase;}

/* ── BOUTON principal ── */
.btn{
  display:inline-block;position:relative;overflow:hidden;cursor:none;
  padding:.88rem 2.8rem;border:1px solid rgba(193,124,62,.45);
  color:var(--beige);font-family:var(--G);
  font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  transition:box-shadow .3s;vertical-align:middle;
}
.btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--orange),var(--cuivre));
  transform:translateX(-100%);transition:transform .45s ease;
}
.btn:hover::before{transform:translateX(0);}
.btn:hover{box-shadow:0 0 24px rgba(255,117,31,.22);}
.btn span{position:relative;z-index:1;}
.btn.full{width:100%;text-align:center;}

/* ── BOUTON MENU PDF ── */
.btn-menu{
  display:inline-flex;align-items:center;gap:.9rem;
  margin-top:2rem;
  padding:.95rem 2rem;
  border:1px solid rgba(193,124,62,.35);
  color:var(--beige);
  font-family:var(--G);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  transition:all .35s;
  cursor:none;
  position:relative;overflow:hidden;
}
.btn-menu::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--orange),var(--cuivre));
  transform:translateX(-100%);transition:transform .4s ease;
}
.btn-menu:hover::before{transform:translateX(0);}
.btn-menu:hover{box-shadow:0 0 22px rgba(255,117,31,.25);}
.btn-menu > *{position:relative;z-index:1;}
.btn-menu-disc{
  width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;
  animation:spin 4s linear infinite;
}
.btn-menu-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%;}

/* ══════════════════
   CONCEPT
══════════════════ */
#concept{background:linear-gradient(to bottom,var(--bg),var(--bg2));}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.col-menu{display:flex;align-items:center;justify-content:center;}
.menu-disc{
  width:100%;max-width:460px;border-radius:50%;
  box-shadow:0 0 55px rgba(255,117,31,.18),0 0 110px rgba(193,124,62,.08);
}

/* ══════════════════
   RESERVATION
══════════════════ */
.info-box{
  margin-top:1.5rem;padding:1.2rem 1.6rem;
  border:1px solid rgba(193,124,62,.14);
  background:rgba(193,124,62,.025);
}

/* ══════════════════
   SÉJOURS
══════════════════ */
.badge{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.5rem 1.3rem;margin-bottom:1.75rem;
  border:1px solid rgba(193,124,62,.22);
  color:var(--cuivre);font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:pulse 2s ease infinite;display:inline-block;}

/* ══════════════════════════════════════════════════════
   ÉVÉNEMENTS — SLIDER avec flèches gauche/droite
══════════════════════════════════════════════════════ */
#evenements{background:linear-gradient(to bottom,var(--bg2),var(--bg));padding:8rem 0;}
.section-head{max-width:740px;margin:0 auto 4rem;text-align:center;padding:0 2rem;}

/* Wrapper global : flèches + piste */
.ev-slider-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:0;
  overflow:hidden;       /* masque les cartes hors champ */
  padding:0 72px;        /* espace pour les flèches */
}

/* Piste défilante */
.ev-slider{
  display:flex;
  gap:3px;
  width:100%;
  /* transition gérée en JS via transform */
  transition:transform .55s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}

/* Chaque carte : largeur fixe, hauteur fixe */
.ev-card{
  flex:0 0 calc(100% / 3);   /* 3 cartes visibles sur desktop */
  min-width:0;
  height:520px;
  position:relative;
  overflow:hidden;
  cursor:none;
  isolation:isolate;
}

/* BG — aucun zoom, brightness seulement */
.ev-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:brightness(.45) saturate(.75);
  transition:filter .5s ease;
  will-change:filter;
}
.ev-card:hover .ev-bg{
  filter:brightness(.75) saturate(1);
}

/* Overlay dégradé bas */
.ev-grad{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.15) 55%,transparent 100%);
  opacity:0;transition:opacity .4s;
}
.ev-card:hover .ev-grad{opacity:1;}

/* Numéro */
.ev-num{
  position:absolute;top:.85rem;right:.85rem;
  font-family:var(--F);font-size:.78rem;letter-spacing:.1em;
  color:rgba(193,124,62,.3);transition:opacity .3s;
}
.ev-card:hover .ev-num{opacity:0;}

/* Label vertical (état repos) */
.ev-label-side{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(-90deg);
  white-space:nowrap;
  font-family:var(--F);font-size:.9rem;letter-spacing:.12em;
  color:rgba(241,225,196,.3);
  pointer-events:none;transition:opacity .3s;
}
.ev-card:hover .ev-label-side{opacity:0;}

/* Infos au hover */
.ev-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.8rem 1.4rem;
  transform:translateY(12px);opacity:0;
  transition:transform .4s,opacity .4s;
}
.ev-card:hover .ev-info{transform:translateY(0);opacity:1;}

.ev-date{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--orange);margin-bottom:.28rem;}
.ev-time{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(193,124,62,.65);margin-bottom:.45rem;}
.ev-name{font-family:var(--F);font-size:1.35rem;letter-spacing:.05em;color:var(--beige);line-height:1.05;margin-bottom:.35rem;}
.ev-desc{font-family:var(--S);font-size:.8rem;color:rgba(241,225,196,.5);font-style:italic;margin-bottom:.8rem;}
.ev-btn{
  display:inline-block;padding:.42rem 1rem;
  border:1px solid rgba(193,124,62,.4);
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--beige);background:transparent;cursor:none;
  font-family:var(--G);transition:all .3s;
}
.ev-btn:hover{background:var(--orange);border-color:var(--orange);}

/* ── FLÈCHES ── */
.ev-arrow{
  position:absolute;
  top:50%;transform:translateY(-50%);
  z-index:10;
  width:48px;height:48px;
  border-radius:50%;
  border:1px solid rgba(193,124,62,.35);
  background:rgba(10,6,4,.7);
  color:var(--beige);
  display:flex;align-items:center;justify-content:center;
  cursor:none;
  transition:background .25s,border-color .25s,box-shadow .25s;
  backdrop-filter:blur(8px);
  flex-shrink:0;
}
.ev-arrow:hover{
  background:var(--orange);
  border-color:var(--orange);
  box-shadow:0 0 18px rgba(255,117,31,.4);
}
.ev-arrow:disabled{opacity:.25;pointer-events:none;}
.ev-arrow-left {left:12px;}
.ev-arrow-right{right:12px;}

/* ── PAGINATION DOTS ── */
.ev-dots{
  display:flex;align-items:center;justify-content:center;
  gap:.6rem;margin-top:1.75rem;
}
.ev-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(193,124,62,.3);
  border:none;cursor:none;
  transition:background .3s,transform .3s;
  padding:0;
}
.ev-dot.active{
  background:var(--orange);
  transform:scale(1.4);
}

/* Mobile : 1 carte visible */
.events-mobile{display:none;}


/* ══════════════════════════════════════════════════════
   TECHNIQUE : le bg est un ::before absolu inset:0
   Quand la carte s'élargit via flex, le ::before suit
   MAIS on ne lui applique AUCUN transform/scale
   → zéro effet de zoom, que du redimensionnement de boîte
══════════════════════════════════════════════════════ */
.ev-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  /* filtre sombre au repos */
  filter:brightness(.42) saturate(.7);
  /* AUCUN transform, AUCUN scale */
  transition:filter .55s ease;
  /* will-change limité au filter pour éviter tout effet composite inattendu */
  will-change:filter;
}
/* hover : brightness seulement — toujours zéro transform */
.ev-card:hover .ev-bg{
  filter:brightness(.72) saturate(1);
}

/* Dégradé bas pour lisibilité du texte */
.ev-grad{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.15) 50%,transparent 100%);
  opacity:0;transition:opacity .4s;
}
.ev-card:hover .ev-grad{opacity:1;}

/* Numéro discret coin haut droite */
.ev-num{
  position:absolute;top:.85rem;right:.85rem;
  font-family:var(--F);font-size:.78rem;letter-spacing:.1em;
  color:rgba(193,124,62,.3);transition:opacity .3s;
}
.ev-card:hover .ev-num{opacity:0;}

/* Label vertical visible quand la carte est "fermée" */
.ev-label-side{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(-90deg);
  white-space:nowrap;
  font-family:var(--F);font-size:.95rem;letter-spacing:.12em;
  color:rgba(241,225,196,.35);
  pointer-events:none;
  transition:opacity .3s;
}
.ev-card:hover .ev-label-side{opacity:0;}

/* Infos qui apparaissent au hover */
.ev-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.8rem 1.5rem;
  transform:translateY(12px);opacity:0;
  transition:transform .4s,opacity .4s;
}
.ev-card:hover .ev-info{transform:translateY(0);opacity:1;}

.ev-date{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--orange);margin-bottom:.28rem;}
.ev-time{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(193,124,62,.65);margin-bottom:.45rem;}
.ev-name{font-family:var(--F);font-size:1.4rem;letter-spacing:.05em;color:var(--beige);line-height:1.05;margin-bottom:.35rem;}
.ev-desc{
  font-family:var(--S);font-size:.82rem;
  color:rgba(241,225,196,.55);font-style:italic;
  margin-bottom:.8rem;
  /* affiché dès que la carte est assez large */
  display:block;
  /* masqué par défaut via overflow de la carte fermée */
}
.ev-btn{
  display:inline-block;padding:.42rem 1rem;
  border:1px solid rgba(193,124,62,.4);
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--beige);background:transparent;cursor:none;
  font-family:var(--G);transition:all .3s;
}
.ev-btn:hover{background:var(--orange);border-color:var(--orange);}

/* Liste mobile */
.events-mobile{display:none;flex-direction:column;gap:.85rem;max-width:560px;margin:0 auto;padding:2rem 1.5rem;}
.evm-card{border:1px solid rgba(193,124,62,.13);padding:1rem;display:flex;gap:1rem;align-items:flex-start;}
.evm-thumb{width:52px;height:52px;border-radius:50%;background-size:cover;background-position:center;flex-shrink:0;border:1.5px solid rgba(193,124,62,.22);}
.evm-name{font-family:var(--F);font-size:1rem;letter-spacing:.05em;color:var(--beige);}
.evm-date{font-size:.62rem;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;margin-top:.2rem;}
.evm-desc{font-family:var(--S);font-size:.78rem;color:rgba(241,225,196,.4);font-style:italic;margin-top:.3rem;}

/* ══════════════════
   ABOUT
══════════════════ */
.photos-col{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.photo-frame{
  aspect-ratio:3/4;overflow:hidden;position:relative;
  border:1px solid rgba(193,124,62,.1);
  background:linear-gradient(135deg,#2a1508,#1a0e06);
}
.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.photo-frame:hover img{transform:scale(1.03);}
.photo-frame.offset{margin-top:2.5rem;}
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(193,124,62,.18);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;}
blockquote{
  font-family:var(--S);font-size:1.5rem;font-style:italic;line-height:1.4;
  color:rgba(241,225,196,.5);border-left:1.5px solid var(--orange);
  padding-left:1.4rem;margin:1.75rem 0;
}
.about-logo{
  width:88px;height:88px;border-radius:50%;object-fit:cover;
  margin-top:2.2rem;
  box-shadow:0 0 28px rgba(255,117,31,.2),0 0 55px rgba(193,124,62,.1);
}

/* ══════════════════
   AVIS
══════════════════ */
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;max-width:940px;margin:2.5rem auto;}
.avis-card{border:1px solid rgba(193,124,62,.1);padding:1.6rem;background:rgba(193,124,62,.02);transition:border-color .25s,transform .25s;}
.avis-card:hover{border-color:rgba(193,124,62,.32);transform:translateY(-4px);}
.stars{color:var(--orange);font-size:.8rem;margin-bottom:.65rem;}
.avis-txt{font-family:var(--S);font-size:.92rem;font-style:italic;color:rgba(241,225,196,.6);line-height:1.75;margin-bottom:1rem;}
.avis-by{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cuivre);}
.google-link{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.75rem 2rem;border:1px solid rgba(193,124,62,.2);
  color:rgba(241,225,196,.5);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;transition:all .25s;margin-top:.9rem;
}
.google-link:hover{border-color:var(--cuivre);color:var(--beige);}

/* ══════════════════
   FOOTER
══════════════════ */
footer{background:#000;border-top:1px solid rgba(193,124,62,.09);padding:4.5rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3.5rem;}
.footer-logo-wrap{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;}
.footer-logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.footer-logo-text{font-family:var(--F);font-size:1.4rem;letter-spacing:.1em;color:var(--beige);}
.footer-desc{font-size:.78rem;color:rgba(241,225,196,.3);line-height:1.8;max-width:260px;}
.footer-col h4{font-size:.58rem;letter-spacing:.38em;text-transform:uppercase;color:var(--cuivre);margin-bottom:1.3rem;font-weight:400;}
.footer-col ul{list-style:none;}
.footer-col li{font-size:.78rem;color:rgba(241,225,196,.32);padding:.25rem 0;}
.footer-col li a{transition:color .25s;}
.footer-col li a:hover{color:var(--beige);}
.footer-col li.dim{color:rgba(241,225,196,.15);}
.socials{display:flex;gap:.6rem;margin-top:1.3rem;}
.soc{
  width:33px;height:33px;border-radius:50%;
  border:1px solid rgba(193,124,62,.17);
  display:flex;align-items:center;justify-content:center;
  color:rgba(241,225,196,.35);transition:all .25s;
}
.soc:hover{border-color:var(--orange);color:var(--orange);box-shadow:0 0 10px rgba(255,117,31,.22);}
.footer-bottom{
  border-top:1px solid rgba(193,124,62,.07);margin-top:3.5rem;padding-top:1.75rem;
  display:flex;align-items:center;justify-content:space-between;
}
.footer-bottom p{font-size:.62rem;letter-spacing:.15em;color:rgba(241,225,196,.15);}

/* ══════════════════
   MODAL
══════════════════ */
.modal-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  z-index:1000;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .4s;padding:2rem;
}
.modal-overlay.active{opacity:1;pointer-events:all;}
.modal{
  background:linear-gradient(135deg,#1a0e06,#0f0704);
  border:1px solid rgba(193,124,62,.22);padding:2.5rem;
  width:100%;max-width:490px;position:relative;
  transform:translateY(26px);transition:transform .4s;
  max-height:90vh;overflow-y:auto;
}
.modal-overlay.active .modal{transform:translateY(0);}
.modal-title{font-family:var(--F);font-size:2.4rem;letter-spacing:.05em;color:var(--beige);margin-bottom:.3rem;}
.modal-sub{font-size:.75rem;color:rgba(241,225,196,.35);letter-spacing:.1em;margin-bottom:1.6rem;}
.modal-x{position:absolute;top:1.3rem;right:1.5rem;font-size:1.7rem;color:rgba(241,225,196,.25);transition:color .25s;line-height:1;}
.modal-x:hover{color:var(--orange);}
form{display:flex;flex-direction:column;gap:.85rem;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.f-group{display:flex;flex-direction:column;gap:.25rem;}
input{
  background:rgba(193,124,62,.03);border:1px solid rgba(193,124,62,.17);
  padding:.82rem 1.05rem;color:var(--beige);font-size:.82rem;
  font-family:var(--G);outline:none;transition:border-color .25s;width:100%;
}
input:focus{border-color:var(--cuivre);}
input::placeholder{color:rgba(241,225,196,.22);}
.f-err{font-size:.66rem;color:#e04040;min-height:.85rem;}
.f-success{display:none;text-align:center;padding:1rem;}
.f-star{font-size:2.6rem;color:var(--orange);margin-bottom:.9rem;}
.f-success h3{font-family:var(--F);font-size:1.85rem;letter-spacing:.05em;color:var(--beige);margin-bottom:.65rem;}
.f-success p{font-size:.82rem;color:rgba(241,225,196,.48);line-height:1.7;}

/* ══════════════════════════════════════════════════════
   LIGHTBOX ÉVÉNEMENTS
══════════════════════════════════════════════════════ */
#evLightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2000;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
#evLightbox.active {
  display: flex;
}

/* Fond assombri */
.ev-lb-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: fadeIn .3s ease;
}

/* Boîte centrale */
.ev-lb-box {
  position: relative;
  z-index: 1;
  max-width: min(520px, 90vw);
  width: 100%;
  animation: lbIn .35s cubic-bezier(.34,1.56,.64,1);
}

/* Bouton fermer */
.ev-lb-close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(193,124,62,.4);
  color: var(--beige);
  font-size: 1.4rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
  transition: background .25s, border-color .25s;
  background: rgba(10,6,4,.8);
}
.ev-lb-close:hover {
  background: var(--orange);
  border-color: var(--orange);
}

/* Image — pleine largeur, ratio naturel, AUCUN zoom */
.ev-lb-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  /* Ombre glow orange */
  box-shadow:
    0 0 40px rgba(255,117,31,.25),
    0 0 80px rgba(193,124,62,.12),
    0 24px 48px rgba(0,0,0,.6);
}

/* Légende sous l'image */
.ev-lb-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .75rem .25rem 0;
  gap: 1rem;
}
.ev-lb-name {
  font-family: var(--F);
  font-size: 1.1rem;
  letter-spacing: .08em;
  color: var(--beige);
}
.ev-lb-info {
  font-family: var(--S);
  font-size: .82rem;
  color: var(--cuivre);
  font-style: italic;
  white-space: nowrap;
}

/* Bouton "Voir l'affiche" sur les cartes desktop */
.ev-btn-view {
  background: rgba(255,117,31,.12);
  border-color: rgba(255,117,31,.5);
}
.ev-btn-view:hover {
  background: var(--orange);
  border-color: var(--orange);
}

/* Bouton view sur mobile */
.evm-view {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: rgba(255,117,31,.0);
  background: transparent;
  border: none;
  cursor: none;
  transition: color .25s, background .25s;
  border-radius: 50%;
}
.evm-thumb {
  position: relative;
}
.evm-thumb:hover .evm-view {
  color: var(--orange);
  background: rgba(0,0,0,.45);
}

/* Animations */
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes lbIn   { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:scale(1)} }
