/* =========================================================
   Ameliorations UI/UX maison - Anti-Nuisibles
   Chargee en dernier. Sélecteurs a forte specificite (html body .et_pb_section)
   pour passer devant le CSS Divi sans toucher au contenu.
   ========================================================= */

/* --- 1. ESPACEMENT DES TITRES (desktop) ---
   La section de titre (hero des pages services/nuisibles) avait 56px
   de marge haut/bas : trop de vide sous le titre. */
html body .et_pb_section.cv-s1{ padding-top:36px !important; padding-bottom:22px !important; }
html body .cv-s1 h1{ margin-bottom:12px !important; padding-bottom:0 !important; }

/* titres de sous-section plus proches de leur contenu */
html body .et_pb_text h2{ margin-bottom:10px !important; padding-bottom:4px !important; }
html body .et_pb_text h3{ margin-bottom:8px !important; }

/* --- 2. RYTHME VERTICAL (desktop) --- */
@media (min-width:981px){
  html body .et_pb_section.cv-sec{ padding-top:44px !important; padding-bottom:44px !important; }
}

/* --- 3. TABLETTE --- */
@media (max-width:980px){
  html body .et_pb_section.cv-s1{ padding-top:22px !important; padding-bottom:12px !important; }
  html body .et_pb_section.cv-sec{ padding-top:30px !important; padding-bottom:30px !important; }
  html body .et_pb_section{ padding-top:34px !important; padding-bottom:34px !important; }
}

/* --- 4. MOBILE --- */
@media (max-width:600px){
  /* titres fluides, lisibles, jamais ecrases */
  html body h1, html body .et_pb_text h1, html body .cv-s1 h1{ font-size:1.72rem !important; line-height:1.18 !important; }
  html body h2, html body .et_pb_text h2{ font-size:1.3rem !important; line-height:1.25 !important; }
  html body h3{ font-size:1.1rem !important; }
  /* espacements resserres */
  html body .et_pb_section.cv-s1{ padding-top:16px !important; padding-bottom:8px !important; }
  html body .et_pb_section.cv-sec{ padding-top:24px !important; padding-bottom:24px !important; }
  html body .et_pb_section{ padding-top:26px !important; padding-bottom:26px !important; }
  /* colonnes empilees : pas de vide entre elles */
  html body .et_pb_column{ margin-bottom:18px !important; }
  html body .et_pb_column:last-child{ margin-bottom:0 !important; }
  /* contenu aere sans coller aux bords, pas de debordement horizontal */
  html body .et_pb_row{ width:90% !important; }
  html body{ overflow-x:hidden; }
  html body img{ max-width:100% !important; height:auto !important; }
}

/* --- 5. FINITIONS UX --- */
html body a, html body .et_pb_button{ transition:all .18s ease; }
html body a:focus-visible, html body button:focus-visible{ outline:2px solid #003314; outline-offset:2px; }

/* --- 6. BLOC D'APPEL REMONTE SOUS LE TITRE (deplace par an-ui.js) --- */
html body .an-cta-top{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:2px 0 8px; }
html body .an-cta-top p{ margin:0 !important; padding:0 !important; font-weight:600; }
html body .an-cta-top .na-b{ margin:0 !important; }
@media (max-width:600px){
  html body .an-cta-top{ gap:10px; }
  html body .an-cta-top p{ flex:1 1 100%; }
  html body .an-cta-top .na-b{ flex:1 1 auto; justify-content:center; text-align:center; }
}

/* --- 7. FORMULAIRE (champs Prénom/Nom ajoutes + message de confirmation) --- */
html body .et_pb_contact_field.an-added{ margin-bottom:12px !important; }
html body .an-form-ok{ background:#e7efe7; border:1px solid #003314; border-radius:14px; padding:22px 24px; color:#003314; font-size:1rem; line-height:1.55; text-align:center; }
html body .an-form-ok strong{ display:block; font-size:1.15rem; margin-bottom:4px; }

/* --- 8. AVIS GOOGLE (bloc maison, remplace le widget Trustindex) --- */
html body .an-reviews{ max-width:1080px; margin:6px auto 0; text-align:left; }
html body .an-reviews .an-stars{ display:inline-flex; gap:2px; line-height:0; }
html body .an-reviews .an-star{ fill:#fbbc04; }
/* en-tete */
html body .an-reviews-head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; padding:18px 22px; margin-bottom:26px; background:#fff; border:1px solid #e6e6e6; border-radius:16px; box-shadow:0 6px 24px rgba(0,0,0,.05); }
html body .an-rh-left{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
html body .an-rh-note{ font-size:1.5rem; font-weight:800; color:#003314; letter-spacing:.3px; }
html body .an-rh-left .an-star{ width:22px; height:22px; }
html body .an-rh-sub{ font-size:.98rem; color:#444; }
html body .an-rh-right{ display:inline-flex; align-items:center; gap:9px; font-weight:600; color:#3c4043; }
/* grille de cartes */
html body .an-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
html body .an-review{ margin:0; display:flex; flex-direction:column; background:#fff; border:1px solid #eaeaea; border-radius:16px; padding:22px 22px 20px; box-shadow:0 4px 16px rgba(0,0,0,.04); transition:transform .18s ease, box-shadow .18s ease; }
html body .an-review:hover{ transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.09); }
html body .an-review-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
html body .an-review-txt{ margin:0 0 16px; padding:0; border:0; font-style:normal; quotes:none; font-size:1rem; line-height:1.6; color:#2b2b2b; flex:1 1 auto; }
html body .an-review-name{ font-weight:700; color:#003314; font-size:1rem; }
/* cta */
html body .an-reviews-cta{ text-align:center; margin-top:28px; }
html body .an-reviews-btn{ display:inline-block; background:#003314; color:#fff !important; font-weight:600; padding:14px 30px; border-radius:40px; text-decoration:none; transition:background .18s ease; }
html body .an-reviews-btn:hover{ background:#0a5a2a; }
@media (max-width:980px){
  html body .an-reviews-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:600px){
  html body .an-reviews-grid{ grid-template-columns:1fr; gap:14px; }
  html body .an-reviews-head{ padding:16px 18px; gap:10px 18px; }
  html body .an-rh-note{ font-size:1.3rem; }
}

/* --- 9. FORMULAIRE DE RAPPEL : une colonne, champs réguliers, bouton pleine largeur plus haut --- */
html body .et_pb_contact_main_title{ font-size:1.5rem !important; line-height:1.25 !important; margin:0 0 20px !important; font-weight:700 !important; }
html body form.et_pb_contact_form{ display:block !important; }
html body form.et_pb_contact_form .et_pb_contact_field{ width:100% !important; max-width:100% !important; margin:0 0 15px !important; padding:0 !important; float:none !important; }
html body form.et_pb_contact_form .et_pb_contact_field input,
html body form.et_pb_contact_form .et_pb_contact_field select,
html body form.et_pb_contact_form .et_pb_contact_field textarea{ width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
/* bouton : pleine largeur, plus haut, texte lisible */
html body form.et_pb_contact_form .et_contact_bottom_container{ width:100% !important; margin-top:10px; }
html body form.et_pb_contact_form .et_pb_contact_submit{ width:100% !important; display:block !important; float:none !important; padding-top:17px !important; padding-bottom:17px !important; font-size:1.08rem !important; line-height:1.2 !important; }
