/* ====== HERO ====== */
.section-head-rdv{
  position: relative;
  padding: 80px 0 160px;            /* espace bas un peu plus grand pour le chevauchement */
  background-image: url('../../assets/images/offres-head.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}
.section-head-rdv::after{
  content:"";
  position:absolute; inset:0;
  background: url('../../assets/images/offres-gradient-head.svg') center bottom / cover no-repeat;
  z-index:1; pointer-events:none; opacity:.85;
}
.section-head-rdv .content{ position:relative; z-index:2; text-align:center; }
.section-head-rdv .title{
  font-size: 40px; color:#fff; font-weight: 800; letter-spacing:.5px; margin:0;
}

/* ====== SECTION FORM (chevauche le hero) ====== */
.section-form-rdv{
  position: relative;
  margin-top: -100px;   /* remonte la carte dans le hero – effet “comme le screen” */
  z-index: 3;           /* au-dessus du fond du hero */
}

/* ====== CARTE / FORMULAIRE ====== */
.form-rdv{
  max-width: 750px;
  margin: 0 auto 60px;
  padding: 48px 44px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}
.form-rdv h2{
  color: #e96002;
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 26px;
}

.input-half-wrapper{
  display:flex; gap:18px; flex-wrap:wrap;
}
.input-half-wrapper .signle-input{ flex:1 1 260px; }

.signle-input{ margin-bottom:16px; }
.form-rdv label{
  display:block; margin-bottom:8px;
  color:#000; font-weight:600; font-size:14px;
}
.signle-input input,
.signle-input textarea{
  width:100%;
  border:1px solid #d9d9d9;
  border-radius:12px;
  padding:12px 14px;
  font-size:15px; background:#fff;
  transition: box-shadow .2s ease, border-color .2s ease;
  height: 45px;
}
.signle-input textarea{ min-height:110px; resize: vertical; }

.signle-input input:focus,
.signle-input textarea:focus{
  border-color:#e96002;
  box-shadow:0 0 0 3px rgba(233,96,2,.15);
  outline:none;
}

.signle-input span{
  font-size: 12px;
  color: #000;
  font-style: italic;
}


/* Radios simples 1/1 */
.signle-radio .radio-list{
  display: grid;
}

.radio-row{
    display: flex !important;
    align-items: center;
    gap: 3px;
    font-weight: 600 !important;
}

.radio-row input{
  width: 16px;
  height: 16px;
  accent-color: #e96002; /* couleur native du point (navigateurs compatibles) */
}

.radio_txt{
  font-style: normal!important;
      font-size: 14px!important;
    font-weight: 500!important;

}



/* Bouton centré (comme le screen, pas full width) */
.btn-contact{
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:16px; line-height:1;
  border-radius:12px; padding:14px 28px;
  height:auto; width:auto; /* pas 100% */
  margin: 8px auto 0;       /* centré */
  display: block;
}
.btn-contact:hover{ background:#cf5402; }

/* ====== Responsive ====== */
@media (max-width: 992px){
  .section-head-rdv{ padding: 60px 0 120px; }
  .section-form-rdv{ margin-top: -80px; }

   .input-half-wrapper .signle-input{
    flex: 1;
  }
  .signle-input{
    margin-bottom: 0px;
    margin-top: 15px;
  }
   .input-half-wrapper .signle-input{
    margin-top: 15px;
    margin-bottom: 0px;
  }

 .form-rdv h2{
    font-size: 22px;
  }
  .btn-contact{
    margin-top: 15px;
  }
}
@media (max-width: 576px){
  .section-head-rdv .title{ font-size: 26px; }
  .section-form-rdv{ margin-top: -60px; }
  .form-rdv{ padding: 32px 22px; border-radius: 20px; }
  .input-half-wrapper{ flex-direction: column; gap:0px; }

  .signle-input span{
    font-size: 11px;
  }
}
