.elementor-14206 .elementor-element.elementor-element-e4172c3{--spacer-size:122px;}.elementor-14206 .elementor-element.elementor-element-b301262 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-14206 .elementor-element.elementor-element-b301262 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-14206 .elementor-element.elementor-element-b301262 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-14206 .elementor-element.elementor-element-b301262 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-type-html{padding-bottom:0px;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-button[type="submit"]{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-14206 .elementor-element.elementor-element-b301262{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-14206 .elementor-element.elementor-element-63fd49d{--spacer-size:93px;}/* Start custom CSS for form, class: .elementor-element-b301262 *//* ======================================================
   FORMULAIRE ELEMENTOR - PREMIUM SAFE (Mairie)
   ID conteneur : #reservation-entreprise
====================================================== */

#reservation-entreprise{
  /* Couleurs */
  --cw-bg: rgba(255,255,255,.92);
  --cw-text: #0f172a;
  --cw-muted: rgba(15,23,42,.65);
  --cw-border: rgba(15,23,42,.14);
  --cw-border-strong: rgba(15,23,42,.22);

  /* Accent */
  --cw-primary: #0b5fff;
  --cw-primary-2: #0848c6;
  --cw-ring: 0 0 0 4px rgba(11,95,255,.16);

  /* Rayons / ombres */
  --cw-radius: 16px;
  --cw-radius-sm: 12px;
  --cw-shadow: 0 14px 40px rgba(2,6,23,.10);
  --cw-shadow-soft: 0 10px 24px rgba(2,6,23,.08);

  /* Typo + espacements */
  --cw-label: 600;
  --cw-gap-y: 14px;
  --cw-gap-x: 12px;
}

/* ====== Carte formulaire (optionnel) ====== */
#reservation-entreprise .elementor-widget-form{
  background: var(--cw-bg);
  border: 1px solid var(--cw-border);
  border-radius: var(--cw-radius);
  box-shadow: var(--cw-shadow);
  padding: 22px;
}

/* ====== Espacements globaux ====== */
#reservation-entreprise .elementor-form-fields-wrapper{
  row-gap: var(--cw-gap-y);
}
#reservation-entreprise .elementor-field-group{
  position: relative;
  margin-bottom: var(--cw-gap-y) !important;
}
#reservation-entreprise .elementor-field-group .elementor-field-subgroup{
  margin-top: 6px;
}

/* ====== Titres de section ====== */
#reservation-entreprise .form-section-title{
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .2px;
  color: var(--cw-text);
  margin: 18px 0 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--cw-border);
}

/* ====== Labels ====== */
#reservation-entreprise .elementor-field-label{
  font-weight: var(--cw-label);
  color: var(--cw-text);
  margin-bottom: 6px;
}

/* ====== Champs ====== */
#reservation-entreprise .elementor-field{
  width: 100%;
  background: #fff;
  color: var(--cw-text);
  border: 1px solid var(--cw-border);
  border-radius: var(--cw-radius-sm);
  padding: 12px 14px;
  min-height: 46px;
  box-shadow: 0 1px 0 rgba(2,6,23,.02);
  transition: border-color .2s ease, box-shadow .2s ease;
}

#reservation-entreprise .elementor-field::placeholder{
  color: rgba(15,23,42,.46);
}

#reservation-entreprise .elementor-field:focus{
  outline: none;
  border-color: var(--cw-primary);
  box-shadow: var(--cw-ring);
}

#reservation-entreprise textarea.elementor-field{
  min-height: 120px;
  resize: vertical;
}

#reservation-entreprise select.elementor-field{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15,23,42,.55) 50%),
    linear-gradient(135deg, rgba(15,23,42,.55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 42px;
}

/* Date */
#reservation-entreprise input.elementor-field[type="date"]{
  padding-right: 44px;
}
#reservation-entreprise .elementor-field-group:has(input[type="date"])::after{
  content: "📅";
  position: absolute;
  right: 14px;
  top: 38px;
  transform: translateY(-50%);
  font-size: 16px;
  opacity: .55;
  pointer-events: none;
}

/* ====== Messages ====== */
#reservation-entreprise .elementor-message{
  border-radius: 14px;
  padding: 12px 14px;
  margin-top: 12px;
  border: 1px solid var(--cw-border);
  background: rgba(2,6,23,.02);
  color: var(--cw-text);
}
#reservation-entreprise .elementor-message.elementor-message-success{
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.08);
}
#reservation-entreprise .elementor-message.elementor-message-danger{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.08);
}

/* ====== Bouton ====== */
#reservation-entreprise .elementor-button{
  width: 100%;
  border: none !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  background: linear-gradient(180deg, var(--cw-primary), var(--cw-primary-2)) !important;
  color: #fff !important;
  box-shadow: var(--cw-shadow-soft) !important;
  transition: transform .08s ease, filter .2s ease;
}
#reservation-entreprise .elementor-button:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}
#reservation-entreprise .elementor-button:active{
  transform: translateY(0);
}

/* ======================================================
   CHECKBOX/RADIO - VERSION STABLE
   (cases visibles en permanence, pas de doublon)
====================================================== */

#reservation-entreprise .elementor-field-type-checkbox .elementor-field-subgroup,
#reservation-entreprise .elementor-field-type-radio .elementor-field-subgroup{
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: var(--cw-gap-x);
}

/* Carte option */
#reservation-entreprise .elementor-field-type-checkbox .elementor-field-option,
#reservation-entreprise .elementor-field-type-radio .elementor-field-option{
  margin: 0 !important;
  border: 1px solid var(--cw-border);
  border-radius: 14px;
  background: rgba(255,255,255,.95);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

#reservation-entreprise .elementor-field-type-checkbox .elementor-field-option:hover,
#reservation-entreprise .elementor-field-type-radio .elementor-field-option:hover{
  border-color: var(--cw-border-strong);
  box-shadow: var(--cw-shadow-soft);
  background: rgba(2,6,23,.02);
}

/* IMPORTANT: input natif visible (on ne le masque plus) */
#reservation-entreprise .elementor-field-type-checkbox input[type="checkbox"],
#reservation-entreprise .elementor-field-type-radio input[type="radio"]{
  position: static !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--cw-primary);
  appearance: auto !important;
  -webkit-appearance: auto !important;
}

/* Nettoyage des pseudo-cases custom si un ancien style les a créées */
#reservation-entreprise .elementor-field-type-checkbox label::before,
#reservation-entreprise .elementor-field-type-checkbox label::after,
#reservation-entreprise .elementor-field-type-radio label::before,
#reservation-entreprise .elementor-field-type-radio label::after{
  content: none !important;
}

#reservation-entreprise .elementor-field-type-checkbox .elementor-field-option label,
#reservation-entreprise .elementor-field-type-radio .elementor-field-option label{
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  color: var(--cw-text);
  line-height: 1.35;
  flex: 1;
}

/* Etat sélectionné */
#reservation-entreprise .elementor-field-type-checkbox .elementor-field-option:has(input[type="checkbox"]:checked),
#reservation-entreprise .elementor-field-type-radio .elementor-field-option:has(input[type="radio"]:checked){
  border-color: rgba(11,95,255,.55);
  background: rgba(11,95,255,.06);
  box-shadow: 0 0 0 4px rgba(11,95,255,.10);
}

/* ======================================================
   RESPONSIVE
====================================================== */
@media (max-width: 1024px){
  #reservation-entreprise .elementor-field-type-checkbox .elementor-field-subgroup,
  #reservation-entreprise .elementor-field-type-radio .elementor-field-subgroup{
    grid-template-columns: repeat(2, minmax(200px, 1fr));
  }
}

@media (max-width: 767px){
  #reservation-entreprise .elementor-widget-form{
    padding: 16px;
    border-radius: 14px;
  }
  #reservation-entreprise .form-section-title{
    font-size: 16px;
  }
  #reservation-entreprise .elementor-field-type-checkbox .elementor-field-subgroup,
  #reservation-entreprise .elementor-field-type-radio .elementor-field-subgroup{
    grid-template-columns: 1fr;
  }
  #reservation-entreprise .elementor-field-group{
    margin-bottom: 12px !important;
  }
}

/* ====== Bloc infos salles ====== */
#reservation-entreprise .form-salles-info{
  font-size: 14px;
  color: rgba(15,23,42,.75);
  margin-bottom: 14px;
  line-height: 1.5;
}
#reservation-entreprise .form-salles-info p{
  margin: 6px 0;
}
#reservation-entreprise .cw-salles-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
#reservation-entreprise .cw-salle-card{
  background: #fff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 6px 16px rgba(2,6,23,.06);
}
#reservation-entreprise .cw-type{
  font-size: 12px;
  font-weight: 700;
  color: #0b5fff;
  margin-bottom: 4px;
  text-transform: uppercase;
}
#reservation-entreprise .cw-nom{
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
}
#reservation-entreprise .cw-meta{
  font-size: 13px;
  color: rgba(15,23,42,.65);
  margin-top: 4px;
}/* End custom CSS */