/* EVJF Deauville, bord de mer 2.2.0 : raccords de la page « Devis » (/devis/).
   Deux règles génériques de da.css, écrites pour l'accueil et l'agence, masquent celles de la maquette (maquette.css)
   sur cette page ; elles sont rétablies ici avec une spécificité supérieure, sans toucher da.css ni maquette.css. */

/* fil d'Ariane du héros court : da.css le met en blanc (héros photo de l'accueil) ; ici le fond est clair */
body.evjf-bdm .evjf-hero--petit .evjf-fil{color:var(--gris)}
body.evjf-bdm .evjf-hero--petit .evjf-fil a{color:var(--marine)}

/* encart d'avis : da.css neutralise tous les blockquote de la page (titre des hébergements) ; la maquette veut
   un filet, un retrait et l'italique pour la citation de l'avis */
body.evjf-bdm .evjf-page .evjf-avis blockquote{margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--filet); font-family:var(--display); font-style:italic; font-size:19px; color:var(--marine); line-height:1.4}
body.evjf-bdm .evjf-page .evjf-avis blockquote cite{font-family:var(--sans); font-style:normal}

/* le formulaire Airtable : l'iframe garde la hauteur du site (attribut height=1000), le cadre suit */
body.evjf-bdm .evjf-form-cadre .contact_iframe{position:relative; z-index:1}

/* ---------- formulaire Gravity Forms de l'extension « EVJF Devis → Airtable » (2.3.0) ----------
   Mêmes codes que le reste du site : DM Sans, marine sur crème, filets fins, coins de 4 px, bouton plein marine.
   Écrit sur les classes communes au balisage moderne et à l'ancien balisage de Gravity Forms. */
/* le cadre accueille le formulaire du site : plus de note « s'affiche ici » (prévue derrière l'iframe), marges intérieures, hauteur libre */
body.evjf-bdm .evjf-form-cadre:has(.evjf-devis-form){padding:30px 30px 32px; min-height:0}
body.evjf-bdm .evjf-form-cadre:has(.evjf-devis-form)::before{content:none; display:none}
@media (max-width:600px){ body.evjf-bdm .evjf-form-cadre:has(.evjf-devis-form){padding:20px 16px 22px} }
body.evjf-bdm .evjf-form-cadre .evjf-devis-form{font-family:var(--sans); color:var(--marine)}
body.evjf-bdm .evjf-form-cadre .gform_wrapper{margin:0; max-width:none; padding:0}
body.evjf-bdm .evjf-form-cadre .gform_heading{display:none}
body.evjf-bdm .evjf-form-cadre .gform_fields{display:grid; grid-template-columns:repeat(12, minmax(0, 1fr)); gap:18px 16px; margin:0; padding:0; list-style:none}
body.evjf-bdm .evjf-form-cadre .gform_fields > .gfield{grid-column:span 12; margin:0; padding:0; width:auto; max-width:none}
body.evjf-bdm .evjf-form-cadre .gform_fields > .gfield--width-half{grid-column:span 6}
body.evjf-bdm .evjf-form-cadre .gform_fields > .gfield--width-third{grid-column:span 4}
body.evjf-bdm .evjf-form-cadre .gform_fields > .gfield--width-two-thirds{grid-column:span 8}
/* champ piège anti-spam : toujours masqué, même si la feuille de Gravity Forms n'est pas chargée */
body.evjf-bdm .evjf-form-cadre .gform_validation_container, body.evjf-bdm .evjf-form-cadre .gfield--type-honeypot{display:none !important}
body.evjf-bdm .evjf-form-cadre .gfield_label, body.evjf-bdm .evjf-form-cadre .gform-field-label:not(.gform-field-label--type-sub){display:block; margin:0 0 7px; padding:0; font-family:var(--sans); font-size:14px; font-weight:600; line-height:1.35; letter-spacing:.01em; color:var(--marine)}
body.evjf-bdm .evjf-form-cadre .gfield_required{color:var(--marine); margin-left:3px; font-weight:600}
body.evjf-bdm .evjf-form-cadre :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea){
  width:100%; max-width:none; box-sizing:border-box; min-height:48px; margin:0; padding:12px 14px;
  border:1px solid rgba(31,58,84,.28); border-radius:4px; background:var(--lumineux); color:var(--marine);
  font:400 15.5px/1.35 var(--sans); box-shadow:none; transition:border-color .2s ease, box-shadow .2s ease}
body.evjf-bdm .evjf-form-cadre textarea{min-height:120px; height:120px; resize:vertical}
body.evjf-bdm .evjf-form-cadre select{appearance:none; -webkit-appearance:none; padding-right:40px; cursor:pointer;
  background:var(--lumineux) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231F3A54' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") right 14px center/12px 8px no-repeat}
body.evjf-bdm .evjf-form-cadre :is(input, select, textarea):focus{outline:none; border-color:var(--marine); box-shadow:0 0 0 3px rgba(31,58,84,.14)}
body.evjf-bdm .evjf-form-cadre ::placeholder{color:rgba(31,58,84,.45); opacity:1}
body.evjf-bdm .evjf-form-cadre .gfield_description{font-size:12.5px; color:var(--gris); padding:6px 0 0}
body.evjf-bdm .evjf-form-cadre .evjf-devis-rgpd{margin:2px 0 0; font-size:12.5px; line-height:1.5; color:var(--gris)}
body.evjf-bdm .evjf-form-cadre .evjf-devis-rgpd a{color:var(--marine); text-decoration:underline; text-underline-offset:3px}
body.evjf-bdm .evjf-form-cadre .gform_footer{margin:24px 0 0; padding:0; display:flex; justify-content:flex-start}
body.evjf-bdm .evjf-form-cadre .gform_footer :is(input[type=submit], button, .gform_button){
  display:inline-block; width:auto; margin:0; padding:15px 30px; border:1.5px solid var(--marine); border-radius:4px;
  background:var(--marine); color:var(--lumineux); font:600 13px/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer; transition:background-color .35s ease, border-color .35s ease, transform .3s ease, box-shadow .3s ease}
body.evjf-bdm .evjf-form-cadre .gform_footer :is(input[type=submit], button, .gform_button):hover{background:#2d4f71; border-color:#2d4f71; transform:translateY(-1px); box-shadow:0 8px 18px rgba(31,58,84,.16)}
/* erreurs : message clair au-dessus du champ concerné, sans rouge vif */
body.evjf-bdm .evjf-form-cadre .gform_validation_errors{margin:0 0 18px; padding:12px 14px; border:1px solid #d9a39a; border-radius:4px; background:#fbf1ee; color:#7c2d20; box-shadow:none}
body.evjf-bdm .evjf-form-cadre .gform_validation_errors :is(h2, .gform_submission_error){margin:0; font:600 14px/1.4 var(--sans); color:#7c2d20}
body.evjf-bdm .evjf-form-cadre .gfield_error :is(input, select, textarea){border-color:#b04a3a}
body.evjf-bdm .evjf-form-cadre .gfield_error .gfield_label{color:var(--marine)}
body.evjf-bdm .evjf-form-cadre .validation_message{margin:6px 0 0; padding:0; border:0; background:none; font-size:13px; color:#7c2d20}
/* message de confirmation après l'envoi */
body.evjf-bdm .evjf-form-cadre .gform_confirmation_message{padding:26px 22px; border:1px solid var(--filet); border-radius:4px; background:var(--lumineux); text-align:center; font-family:var(--sans); color:var(--marine)}
body.evjf-bdm .evjf-form-cadre .evjf-devis-merci{margin:0; font-size:16.5px; line-height:1.55}
body.evjf-bdm .evjf-form-cadre .evjf-devis-merci strong{display:block; margin-bottom:4px; font-family:var(--display); font-weight:400; font-size:26px}
@media (max-width:600px){
  body.evjf-bdm .evjf-form-cadre .gform_fields{gap:14px 12px}
  body.evjf-bdm .evjf-form-cadre .gform_fields > :is(.gfield--width-half, .gfield--width-third, .gfield--width-two-thirds){grid-column:span 12}
  body.evjf-bdm .evjf-form-cadre .gform_footer :is(input[type=submit], button, .gform_button){width:100%}
}
