/* Pages Groupes, Offres spéciales, Événements
   Extensions du design du thème principal. */

.checker{
  height:16px;width:100%;
  background:repeating-conic-gradient(var(--ink) 0% 25%, #fff 0% 50%) 0 0/26px 26px;
  opacity:.9;
}

.rsl-section-intro{text-align:center;max-width:62ch;margin:0 auto 48px}
.rsl-section-intro .eyebrow{display:block}
.rsl-section-intro h2{font-size:clamp(2rem,3.4vw,3rem);margin:16px 0 14px}
.rsl-section-intro p{color:var(--ink-soft)}

.lead-band{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lead-band .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.lead-item{padding:34px 30px;border-right:1px solid var(--line)}
.lead-item:last-child{border-right:0}
.lead-item .num{font-family:'Fraunces',serif;color:var(--ochre);font-size:15px}
.lead-item strong{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:1.9rem;color:var(--ink);margin:8px 0 6px}
.lead-item>span:last-child{color:var(--ink-soft);font-size:15px}

.offers{padding:110px 0 80px;background:var(--cream);border-top:1px solid var(--line)}
.offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.offer{background:var(--ivory);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column}
.offer-media{position:relative;height:250px;overflow:hidden}
.offer-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.offer:hover .offer-media img{transform:scale(1.04)}
.offer-tag{position:absolute;left:0;top:18px;background:var(--bordeaux);color:var(--cream);font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:7px 15px}
.offer-body{padding:30px 32px 34px;display:flex;flex-direction:column;flex:1}
.offer-body h3{font-size:1.7rem;margin-bottom:10px}
.offer-body>p{color:var(--ink-soft);margin-bottom:18px}
.offer-incl{list-style:none;margin:0 0 22px;padding:0}
.offer-incl li{position:relative;padding:8px 0 8px 22px;border-top:1px dotted var(--line);color:var(--ink-soft);font-size:15px}
.offer-incl li:before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;background:var(--ochre);transform:rotate(45deg)}
.offer-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px}
.offer-price small{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-bottom:2px}
.offer-price strong{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;color:var(--bordeaux)}
.offer-foot .btn{white-space:nowrap;color:var(--ink)}
.offer-foot .btn:hover{background:var(--ink);color:var(--ivory)}
.offers-note{text-align:center;font-family:'Fraunces',serif;font-style:italic;color:var(--stone);margin:48px auto 0;max-width:700px}

.crosslinks{padding:60px 0}
.crosslinks .wrap{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.xlink{display:block;padding:34px 36px;border:1px solid var(--line);background:var(--ivory);transition:background .3s ease,color .3s ease}
.xlink:hover{background:var(--ink)}
.xlink:hover *{color:var(--ivory)!important}
.xlink .eyebrow{display:block;margin-bottom:10px}
.xlink h3{font-size:1.6rem;margin-bottom:8px;color:var(--ink)}
.xlink p{color:var(--ink-soft);font-size:15px;margin:0}

.faq{padding:100px 0;background:var(--ivory);border-top:1px solid var(--line)}
.faq .head{text-align:center;max-width:60ch;margin:0 auto 44px}
.faq .head .eyebrow{display:block}
.faq .head h2{margin:16px 0 0;font-size:clamp(2rem,3.4vw,3rem)}
.faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:28px 6px}
.faq-item h3{font-size:1.32rem;margin:0 0 10px;color:var(--ink)}
.faq-item p{color:var(--ink-soft);margin:0}
.faq-item p+p{margin-top:10px}
.faq-item p strong{color:var(--ink);font-weight:500}

.rsl-demo-booking-band{background:var(--cream);border-bottom:1px solid var(--line);padding:58px 0 50px}
.rsl-demo-booking-card{position:relative;z-index:5;background:var(--cream);border:1px solid var(--line);box-shadow:var(--shadow);padding:0}
.rsl-demo-booking-head{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 26px;border-bottom:1px solid var(--line);background:var(--ivory)}
.rsl-demo-booking-head strong{font-family:'Fraunces',serif;font-size:20px;font-weight:400;color:var(--ink)}
.rsl-demo-booking-head span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}
.rsl-demo-booking-note{padding:13px 26px;border-top:1px solid var(--line);font-size:13px;color:var(--stone);font-style:italic;font-family:'Fraunces',serif;background:#f8f3e9}
.rsl-demo-booking-note b{font-style:normal;color:var(--bordeaux);font-weight:400}

.rsl-contact-fallback{display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:stretch}
.rsl-contact-fallback>div{padding:22px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.rsl-contact-fallback>div span{display:block;margin-bottom:5px;color:var(--bordeaux);font-size:10.5px;letter-spacing:.19em;text-transform:uppercase}
.rsl-contact-fallback>div strong{font-family:'Fraunces',serif;font-size:19px;font-weight:400;color:var(--ink)}
.rsl-contact-fallback>div a:hover{color:var(--bordeaux)}
.rsl-demo-booking-submit{border:0;background:var(--bordeaux);color:var(--cream);padding:17px 24px;text-align:left;transition:background .3s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:center}
.rsl-demo-booking-submit:hover{background:var(--bordeaux-deep);color:var(--cream)}
.rsl-demo-booking-submit small{display:block;margin-bottom:4px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#f0d9b8}
.rsl-demo-booking-submit strong{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:'Fraunces',serif;font-size:19px;font-weight:400}

.rsl-form-shortcode{padding:28px}
.rsl-form-shortcode input,.rsl-form-shortcode select,.rsl-form-shortcode textarea{max-width:100%}

.rsl-offers-booking{padding-top:58px}
.rsl-booking-live{padding:26px}
.rsl-booking-live .reservation-widget{margin:0;max-width:none}
.rsl-booking-live .reservation-widget--light{padding:0;border:0;background:transparent}
.rsl-booking-live>.btn{color:var(--ink)}
.rsl-booking-live>.btn:hover{background:var(--ink);color:var(--ivory)}

@media(max-width:980px){
  .lead-band .wrap{grid-template-columns:1fr}
  .lead-item{border-right:0;border-bottom:1px solid var(--line)}
  .lead-item:last-child{border-bottom:0}
  .offers-grid{grid-template-columns:1fr}
  .crosslinks .wrap{grid-template-columns:1fr}
  .rsl-contact-fallback{grid-template-columns:1fr}
  .rsl-contact-fallback>div{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:560px){
  .rsl-demo-booking-band{padding:34px 0}
  .rsl-demo-booking-head{padding:15px 17px;display:block}
  .rsl-demo-booking-head strong{display:block;font-size:18px}
  .rsl-demo-booking-head span{display:block;margin-top:3px;font-size:9.5px}
  .rsl-demo-booking-note{padding:11px 17px}
  .rsl-contact-fallback>div{padding:17px}
  .rsl-demo-booking-submit{min-height:72px;padding:15px 17px}
  .offer-body{padding:24px 22px 26px}
  .offer-foot{align-items:flex-start;flex-direction:column}
}

/* v0.7 · Ancres d'offres : le header sticky ne masque jamais la carte ciblée. */
.offer[id]{scroll-margin-top:150px}
.offer:target{outline:1px solid var(--ochre);outline-offset:8px;transition:outline-color .3s ease}
@media(max-width:980px){.offer[id]{scroll-margin-top:110px}}

/* v0.8 · Réservation : jamais de zone vide si le widget n'est pas encore paramétré. */
.rsl-booking-live--fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
}
.rsl-booking-live--fallback .btn{
  min-width:260px;
  text-align:center;
}
@media(max-width:560px){
  .rsl-booking-live--fallback{min-height:76px;padding:18px 17px}
  .rsl-booking-live--fallback .btn{width:100%;min-width:0}
}


/* v1.0.7 · Mobile commercial pages */
@media(max-width:700px){
  .lead-band .wrap{padding-left:0;padding-right:0;}
  .lead-item{padding:26px 18px;}
  .offers{padding:68px 0;}
  .offers-grid{gap:22px;}
  .offer-media{height:210px;}
  .offer-body{padding:22px 18px 24px;}
  .offer-foot{gap:14px;}
  .offer-foot .btn{width:100%;text-align:center;white-space:normal;}
  .crosslinks,.faq{padding-top:68px;padding-bottom:68px;}
  .crosslink{padding:26px 22px;}
  .faq-item{padding:24px 0;}
  .rsl-demo-booking-card{box-shadow:none;}
  .rsl-demo-booking-head,.rsl-demo-booking-note{padding-left:18px;padding-right:18px;}
  .rsl-contact-fallback>div{padding:18px;}
}
