/* ===== NAV ===== */
.nav-area ul li.main-nav{
  padding:5px 0 0!important;
  cursor:pointer;
  margin-bottom:0!important;
}

/* ===== HERO ===== */
.title-hero{ font-size:43px; color:#fff; font-weight:800; letter-spacing:1px; margin-bottom:0; }
.st-hero{ padding:120px 0 60px; display:flex; align-items:flex-start; height:auto!important; }

.option-hero{ list-style:none; padding:0; margin:0 0 15px; }
.option-hero li{ position:relative; padding-left:28px; margin-bottom:10px; color:#fff; font-weight:500; font-size:17px; }
.option-hero li::before{
  content:""; position:absolute; left:0; top:50%; width:19px; height:19px; transform:translateY(-50%);
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19"><path d="M9.5,19c5.24671,0 9.5,-4.25329 9.5,-9.5c0,-5.24671 -4.25329,-9.5 -9.5,-9.5c-5.24671,0 -9.5,4.25329 -9.5,9.5c0,5.24671 4.25329,9.5 9.5,9.5zM13.69336,7.75586l-4.75,4.75c-0.34883,0.34883 -0.91289,0.34883 -1.25801,0l-2.375,-2.375c-0.34883,-0.34883 -0.34883,-0.91289 0,-1.25801c0.34883,-0.34512 0.91289,-0.34883 1.25801,0l1.74414,1.74414l4.11914,-4.12285c0.34883,-0.34883 0.91289,-0.34883 1.25801,0c0.34512,0.34883 0.34883,0.91289 0,1.25801z" fill="white"/></svg>') no-repeat center/contain;
}
.option-hero-line{ display:flex; align-items:center; gap:10px; font-size:17px; font-weight:600; color:#fff; flex-wrap:wrap; margin:15px 0; }
.option-hero-line span:not(:last-child)::after{ content:"•"; margin-left:8px; color:#fff; }

.btns-hero{ display:flex; align-items:flex-start; gap:15px; flex-wrap:wrap; flex-direction:column; }
.btns-hero a{ border-radius:15px; padding:10px 20px; width:400px; max-width:400px; height:auto; }
.btn-reserve-hero,.btn-call-hero{ display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:17px; padding:12px 24px; color:#fff; transition:color .3s ease; }
.btn-call-hero{ font-size:18px; gap:8px; }
.btn-reserve-hero:hover,.btn-call-hero:hover{ color:var(--primary); }

/* ===== FORM HERO ===== */
.col-form-hero{ padding:0 40px; margin-top:-75px; }
.reservation-express-form{ background:#fff; padding:24px; border-radius:20px; box-shadow:0 10px 30px rgba(0,0,0,.12); }
.reservation-express-form .form-title{ text-align:center; color:var(--primary); font-weight:800; font-size:28px; margin:0 0 18px; }
.reservation-express-form .form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.reservation-express-form .field{ display:flex; flex-direction:column; gap:6px; }
.reservation-express-form label{ font-weight:700; color:var(--ink); font-size:14px; }
.reservation-express-form .req{ color:var(--primary); }
.reservation-express-form input,.reservation-express-form select{
  appearance:none; width:100%; padding:8px 14px; background:#fff; border:1.5px solid #e4c443; border-radius:12px; font-size:14px; color:var(--ink);
}
.reservation-express-form input::placeholder{ color:#a3a3a3; }

.reservation-express-form fieldset.urgency{ margin:14px 0 18px; border:0; padding:0; }
.reservation-express-form .urgency legend{ font-weight:700; color:var(--ink); margin-bottom:10px; font-size:14px; }
.reservation-express-form .urgency-options{ display:flex; gap:12px; justify-content:space-between; }
.reservation-express-form .urgency-option{ flex:1; }
.reservation-express-form .urgency-option input{ display:none; }
.reservation-express-form .urgency-btn{
  display:block; text-align:center; padding:9px 14px; border:1.5px solid var(--primary); border-radius:12px; color:var(--primary); font-weight:700; background:#fff; cursor:pointer; transition:.2s;
}
.reservation-express-form .urgency-btn.urgent{ border-color:#d93025; color:#d93025; }
.reservation-express-form .urgency-option input:checked + .urgency-btn{ color:var(--primary); background:rgba(233,96,2,.1); }
.reservation-express-form .urgency-option input:checked + .urgency-btn.urgent{ background:#d93025; color:#fff; }

.reservation-express-form .btn-book-hero{
  width:100%; font-size:16px; font-weight:800; padding:14px 18px; display:inline-flex; align-items:center; justify-content:center; gap:10px; color:#fff; max-width:unset;
}
.reservation-express-form .btn-book-hero svg{ flex-shrink:0; }

/* ===== AVANTAGES ===== */
.title-style-five .title-section{ color:var(--primary); font-weight:800; font-size:40px; text-shadow:-3px 29px 0 rgba(140,140,140,.6); } /* (au cas où utilisé) */
.title-section-line{
  position:relative; color:var(--primary); font-weight:800; font-size:40px; display:inline-block; padding:0 20px; background:#fff; z-index:2; margin-top:15px;
}
.title-style-five.with-lines{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; }
.title-style-five.with-lines::before,
.title-style-five.with-lines::after{ content:""; flex:1; height:1px; background:var(--primary); }

.section-avantages{ padding:50px 0; }
.section-avantages .items{ padding:0 140px; }
.item-sengage{ background:#fff!important; border-radius:20px; box-shadow:0 2px 20px rgba(0,0,0,.4); padding:20px!important; min-height:301px; }
.section-avantages .disc{ color:#000; }
.section-avantages .disc span{ color:var(--primary); font-weight:600; }
.section-avantages .item-title{ font-size:20px; font-weight:800; }

/* ===== ASSURANCE CTA ===== */
.party-assurance{ padding:80px 160px 0; }
.assurance-wrap{ display:flex; align-items:center; gap:0; }
.assurance-left{ flex:0 0 auto; display:flex; align-items:center; }
.assurance-left img{ display:block; height:78px; width:auto; }
.assurance-right{
  flex:1; min-width:0; display:flex; align-items:center; gap:12px; border:2px solid var(--primary); border-radius:40px;
  box-sizing:border-box; white-space:nowrap; padding:15px 2px; justify-content:center;
}
.assurance-right .text-main{ font-weight:800; color:var(--primary); font-size:20px; }
.assurance-right .link{ color:#111; text-decoration:underline; font-size:18px; font-weight:500; }

/* =========================
   DESKTOP (≥ 992px)
========================= */
@media (min-width:992px){
  .st-hero{ padding:120px 0 60px; }
  .btns-hero a{ max-width:400px; }
  .reservation-express-form .form-grid{ grid-template-columns:1fr 1fr; }
  .section-avantages .items{ padding:0 160px; }
}

/* =========================
   MOBILE (≤ 991.98px)
========================= */
@media (max-width:991.98px){
  .btns-hero{ align-content:center; }
  .st-hero{ padding:50px 0 40px; }
  .btns-hero a{ width:100%; max-width:335px; border-radius:50px; }
  .reservation-express-form{ margin-top:24px; padding:20px 10px; }
  .reservation-express-form .form-grid{ grid-template-columns:1fr 1fr; gap:5px; }

  .party-assurance{ padding:40px 0 0; }
  .assurance-wrap{ flex-direction:column; gap:20px; }
  .assurance-left{ justify-content:center; }
  .assurance-left img{ width:100%; height:auto; max-width:280px; }
  .assurance-right{
    border-radius:30px; border-left:2px solid var(--primary); white-space:normal; justify-content:center;
    padding:12px 30px; height:auto; margin-left:0; flex-direction:column; gap:4px;
  }
  .assurance-right .text-main{ font-size:18px; font-weight:600; }
  .assurance-right .link{ font-size:16px; }

  /* Hero visuel mobile */
  .title-hero{ font-size:25px; font-weight:900; letter-spacing:.9px; margin-bottom:0; line-height:1.1; }
  .option-hero-line{ gap:4px; font-size:14px;line-height:1.4 }
  .option-hero li{ font-size:14px; line-height:1.5; }
  .option-hero-line span:not(:last-child)::after{ margin-left:4px; }
  .btn-reserve-hero,.btn-call-hero{ gap:5px; font-size:14px; }

  /* Fond image sur le bloc texte (au lieu du parent) */
  .rts-banner-ten-area.banner-bg_12{ background:none; }
  .banner-inner-content-12{
    background:linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), url(../images/13.webp) center/cover no-repeat;
    padding:40px 20px; color:#fff;
  }

  .col-form-hero{ margin-top:20px; padding:0 20px; }
  .st-hero{ padding:0; }
  .st-hero .container{ padding:0; }

  .reservation-express-form label{ font-weight:500; font-size:12px; }
  .reservation-express-form input, .reservation-express-form select{ padding:5px 10px; }
  .reservation-express-form .urgency legend{ font-weight:500; margin-bottom:3px; font-size:13px; }
  .reservation-express-form .urgency-btn{ font-weight:600; padding:7px 5px; }
  .reservation-express-form .btn-book-hero{ font-weight:600; }

  .title-style-five .title-section{ font-size:25px; text-shadow:-3px 19px 0 rgba(140,140,140,.6); }
  .section-avantages .items{ padding:0 20px; margin-top:0!important; }
  .item-sengage{ min-height:230px; }

  .title-section-line{
    font-size: 26px;
  }

  .title-avis{
    font-size: 26px!important;
  }
.reservation-express-form .form-title{
  font-size: 20px;
}

}
