
:root{
  --brand:#2e96a8;
  --brand-dark:#236e7b;
  --brand-soft:#e6f4f6;
  --ink:#26343a;
  --muted:#6d7a80;
  --sand:#f6f2ea;
  --white:#fff;
  --radius:24px;
  --shadow:0 18px 50px rgba(24,65,73,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Manrope",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3,h4{font-family:"DM Serif Display",serif;line-height:1.08}
a{text-decoration:none}
img{max-width:100%}
.section{padding:90px 0}
.section-soft{background:var(--brand-soft)}
.section-sand{background:var(--sand)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--brand)}
.section-title{font-size:clamp(2rem,4vw,3.6rem);margin:.65rem 0 1rem}
.lead-soft{font-size:1.08rem;color:var(--muted);max-width:720px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:999px;padding:.78rem 1.2rem;font-weight:800}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-outline-brand{border:1px solid var(--brand);color:var(--brand);border-radius:999px;padding:.78rem 1.2rem;font-weight:800}
.btn-outline-brand:hover{background:var(--brand);color:#fff}
.topbar{background:var(--brand-dark);color:#fff;font-size:.82rem;padding:.55rem 0}
.topbar a,.topbar span{color:#fff}
.navbar{min-height:92px;box-shadow:0 4px 22px rgba(0,0,0,.05);position:relative;z-index:100}
.navbar-brand img{height:70px;width:auto}
.nav-link{font-weight:800!important;color:#405158!important;padding:.75rem .85rem!important}
.nav-link.active,.nav-link:hover{color:var(--brand)!important}
.hero{
  min-height:680px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:
   linear-gradient(90deg,rgba(20,56,64,.88) 0%,rgba(20,56,64,.62) 45%,rgba(20,56,64,.08) 100%),
   url("../images/voyage-baie-de-somme.png") center/cover no-repeat;
}
.hero:after{content:"";position:absolute;inset:auto -10% -130px -10%;height:220px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}
.hero .container{position:relative;z-index:2}
.hero-content{max-width:720px;color:#fff;padding-bottom:50px}
.hero h1{font-size:clamp(3rem,7vw,6.6rem);margin:.5rem 0 1rem}
.hero p{font-size:1.15rem;max-width:650px;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}
.hero .btn-light{border-radius:999px;font-weight:800;padding:.85rem 1.25rem}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);font-weight:800}
.info-card,.travel-card,.team-card,.contact-card,.feature-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(46,150,168,.08)}
.feature-card{padding:2rem;height:100%}
.feature-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:1.5rem;margin-bottom:1rem}
.travel-card{height:100%;display:flex;flex-direction:column;transition:.25s}
.travel-card:hover{transform:translateY(-6px);box-shadow:0 25px 65px rgba(24,65,73,.18)}
.travel-card-media{position:relative;height:250px;overflow:hidden;background:#dfeaec}
.travel-card-media img{width:100%;height:100%;object-fit:cover;transition:.45s}
.travel-card:hover .travel-card-media img{transform:scale(1.04)}
.travel-badge{position:absolute;top:16px;left:16px;background:#fff;color:var(--brand-dark);font-weight:800;border-radius:999px;padding:.45rem .75rem;font-size:.78rem}
.travel-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.travel-card-title{font-size:1.65rem;margin-bottom:.75rem}
.travel-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem;color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.travel-summary{color:var(--muted)}
.travel-card-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem}
.travel-price{font-weight:900;color:var(--brand-dark);font-size:1.1rem}
.promo-banner{border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.promo-banner img{width:100%;height:auto;display:block}
.split-image{border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}
.split-image img{width:100%;height:100%;min-height:480px;object-fit:cover}
.stats{margin-top:-42px;position:relative;z-index:5}
.stat-box{background:#fff;box-shadow:var(--shadow);border-radius:20px;padding:1.4rem;text-align:center;height:100%}
.stat-number{font-family:"DM Serif Display",serif;font-size:2.5rem;color:var(--brand-dark)}
.page-hero{padding:95px 0 80px;background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff}
.page-hero h1{font-size:clamp(2.8rem,6vw,5.5rem)}
.filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.8rem 0 2.3rem}
.filter-btn{border:1px solid #cadadd;background:#fff;color:var(--ink);font-weight:800;border-radius:999px;padding:.6rem 1rem}
.filter-btn.active,.filter-btn:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.contact-card{padding:2rem}
.form-control,.form-select{border-radius:14px;border-color:#d8e2e4;padding:.85rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(46,150,168,.15)}
.poster-wrap{max-width:840px;margin:auto}
.poster-wrap img{width:100%;border-radius:30px;box-shadow:var(--shadow)}
.tombola-cover{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.tombola-cover img{width:100%}
.site-footer{background:#173e46;color:rgba(255,255,255,.78);padding:70px 0 25px}
.site-footer a{color:rgba(255,255,255,.88)}
.site-footer a:hover{color:#fff}
.footer-logo{width:185px;background:#fff;border-radius:18px;padding:8px}
.footer-title{font-family:"Manrope",sans-serif;text-transform:uppercase;letter-spacing:.11em;font-size:.82rem;color:#fff;font-weight:900}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.site-footer hr{border-color:rgba(255,255,255,.14);margin:45px 0 20px}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.88rem}
.empty-state{padding:3rem;border:2px dashed #c6dadd;border-radius:22px;text-align:center;color:var(--muted)}
.modal-content{border:0;border-radius:26px;overflow:hidden}
.modal-header{border:0}
.offer-modal-image{width:100%;height:420px;object-fit:cover}
.notice{background:#fff8df;border:1px solid #f0df9a;border-radius:16px;padding:1rem}
@media(max-width:991.98px){
  .topbar{display:none}
  .navbar-brand img{height:58px}
  .navbar-collapse{padding:1rem 0 1.25rem}
  .hero{min-height:610px;background-position:62% center}
  .hero:after{display:none}
  .hero-content{padding:70px 0}
}
@media(max-width:767.98px){
  .section{padding:65px 0}
  .hero{min-height:560px}
  .hero h1{font-size:3.15rem}
  .travel-card-media{height:220px}
  .page-hero{padding:70px 0 60px}
  .offer-modal-image{height:270px}
}

/* Vidéo du hero accueil */
.hero-video{background:#143d45}
.hero-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,56,64,.90) 0%,rgba(20,56,64,.66) 46%,rgba(20,56,64,.12) 100%)}
.hero-video .container{position:relative;z-index:2}
@media(max-width:767.98px){.hero-video-overlay{background:rgba(20,56,64,.68)}}

/* Équipe */
.team-section{
  background:#f6f7f7;
  position:relative;
  overflow:hidden;
}
.team-section::before{
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  border-radius:50%;
  background:rgba(46,150,168,.08);
  top:-180px;
  right:-120px;
}
.team-member{
  position:relative;
  z-index:1;
  padding:1rem;
}
.team-photo-wrap{
  width:180px;
  height:180px;
  margin:0 auto 1.25rem;
  padding:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 5px rgba(46,150,168,.15),0 18px 45px rgba(24,65,73,.16);
}
.team-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  transition:transform .35s ease;
}
.team-member:hover .team-photo{transform:scale(1.05)}
.team-member h3{
  margin:0 0 .35rem;
  color:var(--brand-dark);
  font-size:1.75rem;
}
.team-member p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}
@media(max-width:767.98px){
  .team-section{text-align:center}
  .team-photo-wrap{width:160px;height:160px}
}

.season-notice{background:#fff3cd;color:#664d03;border-bottom:1px solid #ffecb5;padding:.8rem 0;text-align:center;font-weight:800}.season-notice i{margin-right:.45rem}.highlight-offer .split-image img{min-height:420px}.highlight-offer strong{color:var(--brand-dark)}

/* Identité visuelle 2026 — nouveau logo orange et anthracite */
:root{--brand:#d44f36;--brand-dark:#4e5150;--brand-soft:#fff1ec;--ink:#343837;--muted:#6c716f;--sand:#f7f3ef;--shadow:0 18px 55px rgba(63,55,51,.13)}
.topbar{background:var(--brand-dark)}
.navbar{min-height:108px}.navbar-brand img{height:88px;max-width:230px;object-fit:contain}.nav-link.active,.nav-link:hover{color:var(--brand)!important}
.page-hero{background:linear-gradient(135deg,#353a39,#d44f36)}
.hero-video-overlay{background:linear-gradient(90deg,rgba(36,40,39,.92) 0%,rgba(54,48,45,.68) 48%,rgba(38,38,38,.18) 100%)}
.section-soft{background:var(--brand-soft)}.btn-brand{background:var(--brand);border-color:var(--brand)}.btn-brand:hover,.btn-brand:focus{background:#b93e28;border-color:#b93e28}.btn-outline-brand{border-color:var(--brand);color:var(--brand)}.btn-outline-brand:hover{background:var(--brand);border-color:var(--brand)}
.season-notice{background:#fff4ed;color:#74301f;border-color:#f1c4b7}
.footer-logo{width:220px;background:#fff;border-radius:22px;padding:12px}.site-footer{background:#353a39}
.offers-home{background:#fff}.offers-count{font-weight:800;color:var(--brand-dark);white-space:nowrap}.filters{margin-top:1.3rem}.filter-btn{border-color:#e3d6d1}.filter-btn.active,.filter-btn:hover{background:var(--brand);border-color:var(--brand)}
.poster-card .travel-card-media{height:430px;background:#f4f1ef}.poster-card .travel-card-media img{object-fit:contain;padding:0}.poster-button{border:0;background:none;padding:0;width:100%;text-align:left}.poster-button:focus-visible{outline:4px solid rgba(212,79,54,.3);outline-offset:3px}.travel-badge{background:rgba(255,255,255,.95);color:var(--brand-dark);box-shadow:0 5px 18px rgba(0,0,0,.12)}.travel-card-title{font-size:1.45rem}.travel-price{color:var(--brand);font-size:1rem}.travel-summary{font-size:.94rem}.offer-poster-panel{background:#eee9e6;display:flex;align-items:center;justify-content:center;min-height:650px}.offer-modal-image{height:650px;object-fit:contain;padding:1.25rem}.modal-content{border-radius:24px}.rules-card{padding:2rem;border-radius:24px;background:#fff;box-shadow:var(--shadow);border-top:6px solid var(--brand)}.rules-card h3{color:var(--brand-dark)}.rules-list{display:grid;gap:1.1rem;padding-left:1.4rem}.check-list{list-style:none;padding:0;display:grid;gap:.9rem}.check-list li{position:relative;padding-left:2rem}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--brand);font-weight:900}.footnotes{margin-top:2rem;padding:1.5rem;border-radius:20px;background:#f7f3ef;color:#626664;font-size:.9rem}.footnotes p:last-child{margin-bottom:0}.tombola-cover.sticky-lg-top{top:130px}.tombola-hero{background:linear-gradient(135deg,#4e5150 0%,#d44f36 70%)}
@media(max-width:991.98px){.navbar-brand img{height:72px}.poster-card .travel-card-media{height:390px}.offer-poster-panel{min-height:auto}.offer-modal-image{height:500px}}
@media(max-width:767.98px){.navbar{min-height:88px}.navbar-brand img{height:62px;max-width:190px}.poster-card .travel-card-media{height:470px}.offer-modal-image{height:430px;padding:.7rem}.travel-card-footer{align-items:flex-start;flex-direction:column}.hero h1{font-size:2.9rem}}
@media(max-width:420px){.poster-card .travel-card-media{height:400px}}
