/* =========================================================
   Module contact.css — Contact
   Source migrée depuis : assets/css/contact-form.css
   Migration CSS Phase 1 : modules/ — 2026-05-07
   Note : contenu repris sans refonte profonde pour éviter toute casse.
   ========================================================= */

/* =========================================================
   contact-form.css
   Patch de stabilisation — 2026-05-07
   Rôle : page Contact publique + formulaire + captcha + réseaux sociaux.
   Note : CSS ciblé, chargé après style.css / pages.css / front-ui.css.
   ========================================================= */

.contact-page{
  --front-green: var(--vert-fonce, #1A7346);
  --front-green-dark: var(--vert-tres-fonce, #0D1F1C);
  --front-text: #183b34;
  --front-muted: #64746f;
  --front-border: rgba(13,31,28,.13);
  --front-border-green: rgba(26,115,70,.22);
  --front-soft: #f4faf5;
  width: min(1120px, 100%);
  margin-inline: auto;
}

.contact-intro{
  max-width: 1040px;
  margin-bottom: 1.65rem;
}

.contact-layout{
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 1.25rem;
  align-items: start;
}

.contact-form-card,
.contact-info-card{
  position: relative;
  overflow: hidden;
  padding: 1.15rem !important;
  border: 1px solid var(--front-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.contact-form-card::before,
.contact-info-card::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--front-green) !important;
  opacity: .78;
}

.contact-card-head{
  margin-bottom: 1.15rem;
}

.contact-card-head h2,
.contact-socials h3{
  margin: 0;
  color: var(--front-text);
  font-size: 1.12rem;
  line-height: 1.35;
}

.contact-form{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.contact-form fieldset{
  min-width: 0;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  gap: .45rem;
}

.contact-form label,
.contact-info-list dt{
  color: var(--front-text);
  font-weight: 800;
  font-size: .92rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--front-border) !important;
  border-radius: 12px !important;
  padding: .75rem .85rem !important;
  background: #fff !important;
  color: var(--front-text);
  font: inherit;
  line-height: 1.35;
  box-shadow: none !important;
  transition: border-color .18s ease, background .18s ease;
}

.contact-form textarea{
  resize: vertical;
  min-height: 155px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline: none;
  border-color: var(--front-green) !important;
  background: #fcfffd !important;
}

.contact-field-full,
.contact-captcha,
.contact-actions{
  grid-column: 1 / -1;
}

.contact-captcha-row{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: .75rem;
  align-items: center;
  padding: .65rem;
  border: 1px solid var(--front-border);
  border-radius: 12px;
  background: #f8fcf9;
  color: var(--front-muted);
}

.contact-captcha-row span{
  font-weight: 700;
}

.contact-captcha-row input{
  background: #fff !important;
}

.contact-actions{
  display: flex;
  justify-content: flex-start;
  padding-top: .15rem;
}

.contact-submit{
  min-width: 170px;
}

.contact-honeypot{
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.contact-details{
  display: grid;
  gap: 1rem;
}

.contact-info-list{
  display: grid;
  gap: .9rem;
  margin: 0;
  padding: 0;
}

.contact-info-list div{
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--front-border);
}

.contact-info-list div:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}

.contact-info-list dd{
  margin: .2rem 0 0;
  color: #4f6460;
  line-height: 1.65;
}

.contact-socials{
  display: grid;
  gap: .75rem;
  padding-top: .25rem;
}

.contact-links{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.contact-links i{
  font-size: .95rem;
  line-height: 1;
}

.contact-alert{
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--front-border);
  font-weight: 700;
}

.contact-alert--success{
  color: var(--front-green);
  background: var(--front-soft);
  border-color: var(--front-border-green);
}

.contact-alert--error{
  color: #8a2d21;
  background: #fff6f4;
  border-color: rgba(138,45,33,.20);
}

html[dir="rtl"] .contact-page,
html[dir="rtl"] .contact-form,
html[dir="rtl"] .contact-info-card,
html[dir="rtl"] .contact-intro{
  text-align: right;
}

html[dir="rtl"] .contact-form-card::before,
html[dir="rtl"] .contact-info-card::before{
  inset: 0 0 0 auto;
}

html[dir="rtl"] .contact-captcha-row{
  direction: rtl;
}

@media (max-width: 980px){
.contact-layout{
    grid-template-columns: 1fr !important;
  }
}


@media (max-width: 720px){
.contact-form{
    grid-template-columns: 1fr !important;
  }

  .contact-captcha-row{
    grid-template-columns: 1fr !important;
  }
}


/* PATCH_PHASE2C_INLINE_TRAITEMENT_CONTACT
   Styles sortis de traitement-contact.php — Phase 2C. */
'
            . "@import url(\'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;900&display=swap\');"
            . "@font-face{font-family:\'DroidArabicKufi\';src:url(\'https://www.adha.gov.ma/assets/fonts/DroidKufi-Regular.ttf\') format(\'truetype\');font-weight:400;font-style:normal;}"
            . "@font-face{font-family:\'DroidArabicKufi\';src:url(\'https://www.adha.gov.ma/assets/fonts/Droid.Arabic.Kufi_.Bold.ttf\') format(\'truetype\');font-weight:700;font-style:normal;}"
            . '

/* ========================================================================== 
   PATCH_CONTACT_VISUEL_V1_20260508
   Contact : formulaire + coordonnées plus équilibrés, mobile allégé.
========================================================================== */

:root{
  --contact-green: var(--adha-green, #1A7346);
  --contact-green-light: var(--adha-green-light, #85BB64);
  --contact-text: var(--adha-gray-dark, #334648);
  --contact-muted: var(--adha-gray, #5B6A6C);
  --contact-border: rgba(51,70,72,.14);
  --contact-bg-soft: rgba(133,187,100,.075);
  --contact-radius: var(--adha-radius, 16px);
  --contact-radius-lg: var(--adha-radius-lg, 20px);
}

/* Layout : meilleur équilibre formulaire / coordonnées */
.contact-layout{
  align-items: start;
  gap: clamp(1.2rem, 2.4vw, 1.8rem) !important;
}

.contact-form-card,
.contact-info-card,
.contact-card,
.contact-sidebar,
.contact-details-card{
  border: 1px solid var(--contact-border) !important;
  border-inline-start: 4px solid var(--contact-green-light) !important;
  border-radius: var(--contact-radius-lg) !important;
  background: #fff !important;
  box-shadow: none !important;
}

html[dir="rtl"] .contact-form-card,
html[dir="rtl"] .contact-info-card,
html[dir="rtl"] .contact-card,
html[dir="rtl"] .contact-sidebar,
html[dir="rtl"] .contact-details-card{
  border-inline-start: 1px solid var(--contact-border) !important;
  border-inline-end: 4px solid var(--contact-green-light) !important;
}

.contact-form-card{
  padding: clamp(1.15rem, 2vw, 1.65rem) !important;
}

.contact-info-card,
.contact-sidebar,
.contact-details-card{
  padding: clamp(1.05rem, 1.7vw, 1.35rem) !important;
}

.contact-form-card h2,
.contact-info-card h2,
.contact-form-card h3,
.contact-info-card h3,
.contact-sidebar h2,
.contact-sidebar h3,
.contact-details-card h2,
.contact-details-card h3{
  color: var(--contact-text) !important;
  letter-spacing: -.02em;
}

/* Formulaire : champs plus nets, moins plats */
.contact-form{
  gap: 1.05rem !important;
}

.contact-form label,
.contact-form .form-label{
  color: var(--contact-text) !important;
  font-weight: 800 !important;
  font-size: .86rem !important;
  margin-bottom: .42rem !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  border: 1px solid rgba(51,70,72,.16) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--contact-text) !important;
  min-height: 46px;
  box-shadow: none !important;
  transition: border-color .18s ease, background .18s ease;
}

.contact-form textarea{
  min-height: 160px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline: none !important;
  border-color: var(--contact-green-light) !important;
  background: rgba(133,187,100,.035) !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color: rgba(91,106,108,.68);
}

/* Captcha : intégré comme bloc utilitaire */
.contact-form .captcha-row,
.contact-form .captcha-box,
.contact-form .security-check,
.contact-form .captcha-field,
.contact-form fieldset{
  border-radius: 14px !important;
  border-color: rgba(51,70,72,.12) !important;
  background: rgba(133,187,100,.045) !important;
}

.contact-form fieldset{
  padding: .8rem !important;
}

/* Bouton : sobre, cohérent Home */
.contact-submit,
.contact-form button[type="submit"],
.contact-form input[type="submit"]{
  min-height: 42px !important;
  padding: 0 1.45rem !important;
  border-radius: 999px !important;
  background: var(--contact-green) !important;
  border: 1px solid var(--contact-green) !important;
  color: #fff !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.contact-submit:hover,
.contact-form button[type="submit"]:hover,
.contact-form input[type="submit"]:hover{
  background: #14613A !important;
  border-color: #14613A !important;
  transform: translateY(-1px);
}

/* Coordonnées : meilleure hiérarchie */
.contact-info-card dl,
.contact-sidebar dl,
.contact-details-card dl{
  margin: 0;
}

.contact-info-card dt,
.contact-sidebar dt,
.contact-details-card dt,
.contact-info-card strong,
.contact-sidebar strong,
.contact-details-card strong{
  color: var(--contact-text) !important;
  font-weight: 850 !important;
}

.contact-info-card dd,
.contact-sidebar dd,
.contact-details-card dd,
.contact-info-card p,
.contact-sidebar p,
.contact-details-card p{
  color: var(--contact-muted) !important;
  line-height: 1.6;
}

.contact-info-card a,
.contact-sidebar a,
.contact-details-card a{
  color: var(--contact-green) !important;
  font-weight: 800;
  text-decoration: none;
}

.contact-info-card hr,
.contact-sidebar hr,
.contact-details-card hr{
  border: 0;
  border-top: 1px solid rgba(51,70,72,.12);
  margin: .9rem 0;
}

/* Réseaux sociaux page Contact : chips plus modernes, moins chargés */
.contact-socials,
.contact-social-links,
.social-contact-list,
.contact-info-card .social-links,
.contact-sidebar .social-links{
  display: flex !important;
  flex-wrap: wrap;
  gap: .45rem !important;
}

.contact-socials a,
.contact-social-links a,
.social-contact-list a,
.contact-info-card .social-links a,
.contact-sidebar .social-links a,
.contact-info-card a[href*="facebook"],
.contact-info-card a[href*="instagram"],
.contact-info-card a[href*="linkedin"],
.contact-info-card a[href*="whatsapp"],
.contact-info-card a[href*="youtube"],
.contact-info-card a[href^="mailto:"]{
  min-height: 30px;
  padding: 0 .72rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border: 1px solid rgba(133,187,100,.36) !important;
  border-radius: 999px !important;
  background: rgba(133,187,100,.055) !important;
  color: var(--contact-green) !important;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
}

/* Introduction : lisibilité mobile/desktop */
.contact-intro,
.contact-page-intro,
.contact-lead,
.page-intro.contact-intro{
  color: var(--contact-muted) !important;
  line-height: 1.8 !important;
}

/* Mobile : réduire la lourdeur et garder une respiration propre */
@media screen and (max-width: 768px){
  .contact-layout{
    gap: 1rem !important;
  }

  .contact-form-card,
  .contact-info-card,
  .contact-card,
  .contact-sidebar,
  .contact-details-card{
    border-radius: 16px !important;
  }

  .contact-form-card{
    padding: 1rem !important;
  }

  .contact-info-card,
  .contact-sidebar,
  .contact-details-card{
    padding: .95rem !important;
  }

  .contact-form{
    gap: .9rem !important;
  }

  .contact-form label,
  .contact-form .form-label{
    font-size: .8rem !important;
  }

  .contact-form input,
  .contact-form select{
    min-height: 43px;
  }

  .contact-form textarea{
    min-height: 138px;
  }

  .contact-submit,
  .contact-form button[type="submit"],
  .contact-form input[type="submit"]{
    width: 100%;
    min-height: 42px !important;
  }

  .contact-intro,
  .contact-page-intro,
  .contact-lead,
  .page-intro.contact-intro{
    line-height: 1.72 !important;
    font-size: .92rem;
  }

  .contact-socials,
  .contact-social-links,
  .social-contact-list,
  .contact-info-card .social-links,
  .contact-sidebar .social-links{
    gap: .4rem !important;
  }

  .contact-socials a,
  .contact-social-links a,
  .social-contact-list a,
  .contact-info-card .social-links a,
  .contact-sidebar .social-links a,
  .contact-info-card a[href*="facebook"],
  .contact-info-card a[href*="instagram"],
  .contact-info-card a[href*="linkedin"],
  .contact-info-card a[href*="whatsapp"],
  .contact-info-card a[href*="youtube"],
  .contact-info-card a[href^="mailto:"]{
    min-height: 29px;
    padding: 0 .62rem !important;
    font-size: .74rem;
  }
}

/* ========================================================================== 
   PATCH_CONTACT_VISUEL_V2_20260508
   Contact : réseaux sociaux en icônes seules + correction scroll horizontal mobile.
========================================================================== */

/* 1) Réseaux sociaux Contact : icônes uniquement, style sobre */
.contact-socials,
.contact-social-links,
.social-contact-list,
.contact-info-card .social-links,
.contact-sidebar .social-links{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .45rem !important;
  align-items: center !important;
}

.contact-socials a,
.contact-social-links a,
.social-contact-list a,
.contact-info-card .social-links a,
.contact-sidebar .social-links a,
.contact-info-card a[href*="facebook"],
.contact-info-card a[href*="instagram"],
.contact-info-card a[href*="linkedin"],
.contact-info-card a[href*="whatsapp"],
.contact-info-card a[href*="youtube"],
.contact-info-card a[href*="x.com"],
.contact-info-card a[href*="twitter"],
.contact-info-card a[href^="mailto:"],
.contact-sidebar a[href*="facebook"],
.contact-sidebar a[href*="instagram"],
.contact-sidebar a[href*="linkedin"],
.contact-sidebar a[href*="whatsapp"],
.contact-sidebar a[href*="youtube"],
.contact-sidebar a[href*="x.com"],
.contact-sidebar a[href*="twitter"],
.contact-sidebar a[href^="mailto:"]{
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border: 1px solid rgba(133,187,100,.38) !important;
  border-radius: 999px !important;
  background: rgba(133,187,100,.055) !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  overflow: hidden;
}

.contact-socials a i,
.contact-social-links a i,
.social-contact-list a i,
.contact-info-card .social-links a i,
.contact-sidebar .social-links a i,
.contact-info-card a[href*="facebook"] i,
.contact-info-card a[href*="instagram"] i,
.contact-info-card a[href*="linkedin"] i,
.contact-info-card a[href*="whatsapp"] i,
.contact-info-card a[href*="youtube"] i,
.contact-info-card a[href*="x.com"] i,
.contact-info-card a[href*="twitter"] i,
.contact-info-card a[href^="mailto:"] i,
.contact-sidebar a[href*="facebook"] i,
.contact-sidebar a[href*="instagram"] i,
.contact-sidebar a[href*="linkedin"] i,
.contact-sidebar a[href*="whatsapp"] i,
.contact-sidebar a[href*="youtube"] i,
.contact-sidebar a[href*="x.com"] i,
.contact-sidebar a[href*="twitter"] i,
.contact-sidebar a[href^="mailto:"] i{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .86rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.contact-socials a:hover,
.contact-social-links a:hover,
.social-contact-list a:hover,
.contact-info-card .social-links a:hover,
.contact-sidebar .social-links a:hover{
  background: var(--contact-green, #1A7346) !important;
  border-color: var(--contact-green, #1A7346) !important;
  color: #fff !important;
}

/* Fallback si un lien social n'a pas d'icône : on affiche une initiale discrète */
.contact-info-card a[href*="facebook"]:empty::before,
.contact-sidebar a[href*="facebook"]:empty::before{ content:"f"; font-size:.84rem; font-weight:900; }
.contact-info-card a[href*="instagram"]:empty::before,
.contact-sidebar a[href*="instagram"]:empty::before{ content:"◎"; font-size:.9rem; font-weight:900; }
.contact-info-card a[href*="linkedin"]:empty::before,
.contact-sidebar a[href*="linkedin"]:empty::before{ content:"in"; font-size:.72rem; font-weight:900; }
.contact-info-card a[href*="whatsapp"]:empty::before,
.contact-sidebar a[href*="whatsapp"]:empty::before{ content:"☎"; font-size:.8rem; font-weight:900; }
.contact-info-card a[href*="youtube"]:empty::before,
.contact-sidebar a[href*="youtube"]:empty::before{ content:"▶"; font-size:.76rem; font-weight:900; }
.contact-info-card a[href^="mailto:"]:empty::before,
.contact-sidebar a[href^="mailto:"]:empty::before{ content:"✉"; font-size:.8rem; font-weight:900; }

/* 2) Anti-scroll horizontal page Contact */
body:has(.contact-layout){
  overflow-x: hidden;
}

.contact-layout,
.contact-form-card,
.contact-info-card,
.contact-card,
.contact-sidebar,
.contact-details-card,
.contact-form,
.contact-form fieldset,
.contact-form input,
.contact-form select,
.contact-form textarea{
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.contact-form textarea{
  width: 100% !important;
}

/* 3) Mobile : largeur stricte, aucun dépassement */
@media screen and (max-width: 768px){
  html,
  body{
    max-width: 100%;
    overflow-x: hidden !important;
  }

  main,
  .site-main,
  .container,
  .container-page,
  .site-page,
  .page-content,
  .contact-page,
  .contact-section,
  .contact-layout{
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .contact-layout{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .contact-form-card,
  .contact-info-card,
  .contact-card,
  .contact-sidebar,
  .contact-details-card{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .contact-form-card,
  .contact-info-card,
  .contact-card,
  .contact-sidebar,
  .contact-details-card{
    padding-left: .9rem !important;
    padding-right: .9rem !important;
  }

  .contact-socials,
  .contact-social-links,
  .social-contact-list,
  .contact-info-card .social-links,
  .contact-sidebar .social-links{
    gap: .38rem !important;
  }

  .contact-socials a,
  .contact-social-links a,
  .social-contact-list a,
  .contact-info-card .social-links a,
  .contact-sidebar .social-links a,
  .contact-info-card a[href*="facebook"],
  .contact-info-card a[href*="instagram"],
  .contact-info-card a[href*="linkedin"],
  .contact-info-card a[href*="whatsapp"],
  .contact-info-card a[href*="youtube"],
  .contact-info-card a[href*="x.com"],
  .contact-info-card a[href*="twitter"],
  .contact-info-card a[href^="mailto:"],
  .contact-sidebar a[href*="facebook"],
  .contact-sidebar a[href*="instagram"],
  .contact-sidebar a[href*="linkedin"],
  .contact-sidebar a[href*="whatsapp"],
  .contact-sidebar a[href*="youtube"],
  .contact-sidebar a[href*="x.com"],
  .contact-sidebar a[href*="twitter"],
  .contact-sidebar a[href^="mailto:"]{
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}

/* ========================================================================== 
   PATCH_CONTACT_INTRO_OVERFLOW_V3_20260508
   Contact : correction du texte d'introduction qui dépasse sur mobile.
========================================================================== */

/* Verrouillage doux de la largeur de la page Contact */
.contact-page,
.contact-section,
.contact-layout,
.contact-form-card,
.contact-info-card,
.contact-card,
.contact-sidebar,
.contact-details-card{
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Tous les textes de la page Contact doivent pouvoir revenir à la ligne */
.contact-page p,
.contact-section p,
.contact-layout p,
.contact-page .article-body,
.contact-page .article-body p,
.contact-page .page-intro,
.contact-page .contact-intro,
.contact-page .contact-page-intro,
.contact-page .contact-lead,
.contact-page .site-page-body,
.contact-page .site-page-body p,
.contact-section .article-body,
.contact-section .article-body p,
.contact-section .page-intro,
.contact-section .contact-intro,
.contact-section .contact-page-intro,
.contact-section .contact-lead,
.contact-section .site-page-body,
.contact-section .site-page-body p{
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
}

/* Le paragraphe d'intro Contact : lisible, contenu, sans débordement */
.contact-intro,
.contact-page-intro,
.contact-lead,
.page-intro.contact-intro,
.contact-page > p,
.contact-section > p,
.site-page-body > p{
  max-width: min(100%, 980px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: var(--contact-muted, #5B6A6C) !important;
  line-height: 1.8 !important;
}

@media screen and (max-width: 768px){
/* Sécurité anti-scroll horizontal */
  html,
  body{
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .contact-page,
  .contact-section,
  .site-page-body,
  .page-content,
  .container-page,
  .container,
  main{
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Le texte d'intro ne doit pas être justifié sur mobile : c'est ce qui crée l'effet de dépassement */
  .contact-intro,
  .contact-page-intro,
  .contact-lead,
  .page-intro.contact-intro,
  .contact-page > p,
  .contact-section > p,
  .site-page-body > p,
  .contact-page .article-body p,
  .contact-section .article-body p{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: start !important;
    line-height: 1.72 !important;
    font-size: .92rem !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  html[dir="rtl"] .contact-intro,
  html[dir="rtl"] .contact-page-intro,
  html[dir="rtl"] .contact-lead,
  html[dir="rtl"] .page-intro.contact-intro,
  html[dir="rtl"] .contact-page > p,
  html[dir="rtl"] .contact-section > p,
  html[dir="rtl"] .site-page-body > p,
  html[dir="rtl"] .contact-page .article-body p,
  html[dir="rtl"] .contact-section .article-body p{
    text-align: start !important;
  }
}


/* 2) Coordonnées : restaurer l'email texte dans le bloc coordonnées */
.contact-info-card > a[href^="mailto:"],
.contact-info-card p a[href^="mailto:"],
.contact-info-card dd a[href^="mailto:"],
.contact-sidebar > a[href^="mailto:"],
.contact-sidebar p a[href^="mailto:"],
.contact-sidebar dd a[href^="mailto:"],
.contact-details-card > a[href^="mailto:"],
.contact-details-card p a[href^="mailto:"],
.contact-details-card dd a[href^="mailto:"]{
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 850 !important;
  overflow: visible !important;
}

.contact-info-card > a[href^="mailto:"] i,
.contact-info-card p a[href^="mailto:"] i,
.contact-info-card dd a[href^="mailto:"] i,
.contact-sidebar > a[href^="mailto:"] i,
.contact-sidebar p a[href^="mailto:"] i,
.contact-sidebar dd a[href^="mailto:"] i,
.contact-details-card > a[href^="mailto:"] i,
.contact-details-card p a[href^="mailto:"] i,
.contact-details-card dd a[href^="mailto:"] i{
  display: none !important;
}

/* 3) Réseaux sociaux : icônes seules, homogènes, y compris WhatsApp */
.contact-socials a,
.contact-social-links a,
.social-contact-list a,
.contact-info-card .social-links a,
.contact-sidebar .social-links a,
.contact-details-card .social-links a{
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(133,187,100,.38) !important;
  border-radius: 999px !important;
  background: rgba(133,187,100,.055) !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.contact-socials a > *,
.contact-social-links a > *,
.social-contact-list a > *,
.contact-info-card .social-links a > *,
.contact-sidebar .social-links a > *,
.contact-details-card .social-links a > *{
  display: none !important;
}

.contact-socials a::before,
.contact-social-links a::before,
.social-contact-list a::before,
.contact-info-card .social-links a::before,
.contact-sidebar .social-links a::before,
.contact-details-card .social-links a::before{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em;
  height: 1em;
  color: currentColor;
  font-size: .88rem;
  line-height: 1;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.contact-socials a[href*="facebook"]::before,
.contact-social-links a[href*="facebook"]::before,
.social-contact-list a[href*="facebook"]::before,
.contact-info-card .social-links a[href*="facebook"]::before,
.contact-sidebar .social-links a[href*="facebook"]::before,
.contact-details-card .social-links a[href*="facebook"]::before{
  content: "\f39e";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

.contact-socials a[href*="instagram"]::before,
.contact-social-links a[href*="instagram"]::before,
.social-contact-list a[href*="instagram"]::before,
.contact-info-card .social-links a[href*="instagram"]::before,
.contact-sidebar .social-links a[href*="instagram"]::before,
.contact-details-card .social-links a[href*="instagram"]::before{
  content: "\f16d";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

.contact-socials a[href*="x.com"]::before,
.contact-socials a[href*="twitter"]::before,
.contact-social-links a[href*="x.com"]::before,
.contact-social-links a[href*="twitter"]::before,
.social-contact-list a[href*="x.com"]::before,
.social-contact-list a[href*="twitter"]::before,
.contact-info-card .social-links a[href*="x.com"]::before,
.contact-info-card .social-links a[href*="twitter"]::before,
.contact-sidebar .social-links a[href*="x.com"]::before,
.contact-sidebar .social-links a[href*="twitter"]::before,
.contact-details-card .social-links a[href*="x.com"]::before,
.contact-details-card .social-links a[href*="twitter"]::before{
  content: "X";
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: .78rem;
}

.contact-socials a[href*="linkedin"]::before,
.contact-social-links a[href*="linkedin"]::before,
.social-contact-list a[href*="linkedin"]::before,
.contact-info-card .social-links a[href*="linkedin"]::before,
.contact-sidebar .social-links a[href*="linkedin"]::before,
.contact-details-card .social-links a[href*="linkedin"]::before{
  content: "\f0e1";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

.contact-socials a[href*="whatsapp"]::before,
.contact-social-links a[href*="whatsapp"]::before,
.social-contact-list a[href*="whatsapp"]::before,
.contact-info-card .social-links a[href*="whatsapp"]::before,
.contact-sidebar .social-links a[href*="whatsapp"]::before,
.contact-details-card .social-links a[href*="whatsapp"]::before{
  content: "\f232";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

.contact-socials a[href*="youtube"]::before,
.contact-social-links a[href*="youtube"]::before,
.social-contact-list a[href*="youtube"]::before,
.contact-info-card .social-links a[href*="youtube"]::before,
.contact-sidebar .social-links a[href*="youtube"]::before,
.contact-details-card .social-links a[href*="youtube"]::before{
  content: "\f167";
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

.contact-socials a[href^="mailto:"]::before,
.contact-social-links a[href^="mailto:"]::before,
.social-contact-list a[href^="mailto:"]::before,
.contact-info-card .social-links a[href^="mailto:"]::before,
.contact-sidebar .social-links a[href^="mailto:"]::before,
.contact-details-card .social-links a[href^="mailto:"]::before{
  content: "\f0e0";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.contact-socials a:hover,
.contact-social-links a:hover,
.social-contact-list a:hover,
.contact-info-card .social-links a:hover,
.contact-sidebar .social-links a:hover,
.contact-details-card .social-links a:hover{
  background: var(--contact-green, #1A7346) !important;
  border-color: var(--contact-green, #1A7346) !important;
  color: #fff !important;
}

@media screen and (max-width: 768px){
.contact-socials a,
  .contact-social-links a,
  .social-contact-list a,
  .contact-info-card .social-links a,
  .contact-sidebar .social-links a,
  .contact-details-card .social-links a{
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}


/* 2) Coordonnées : l'email reste un texte normal, pas un bouton social */
.contact-info-card a[href^="mailto:"]:not(.contact-social-icon-only),
.contact-sidebar a[href^="mailto:"]:not(.contact-social-icon-only),
.contact-details-card a[href^="mailto:"]:not(.contact-social-icon-only){
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 850 !important;
  overflow: visible !important;
}

/* 3) Réseaux sociaux : classe JS propre, icône seule, cercle uniforme */
.contact-social-icon-only{
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(133,187,100,.38) !important;
  border-radius: 999px !important;
  background: rgba(133,187,100,.055) !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.contact-social-icon-only::before,
.contact-social-icon-only::after{
  content: none !important;
  display: none !important;
}

.contact-social-icon-only > *{
  display: none !important;
}

.contact-social-icon-only .contact-social-icon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  color: currentColor !important;
  font-size: .86rem !important;
  line-height: 1 !important;
  font-style: normal !important;
}

.contact-social-icon-only:hover{
  background: var(--contact-green, #1A7346) !important;
  border-color: var(--contact-green, #1A7346) !important;
  color: #fff !important;
}

.contact-social-icon-only[data-social="x"] .contact-social-icon{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  font-size: .78rem !important;
}

.contact-social-icon-only[data-social="linkedin"] .contact-social-icon{
  font-size: .76rem !important;
  font-weight: 900 !important;
}

/* Neutraliser les anciennes règles trop larges sur les liens sociaux normalisés */
.contact-social-icon-only i,
.contact-social-icon-only span:not(.contact-social-icon){
  display: none !important;
}

@media screen and (max-width: 768px){
.contact-social-icon-only{
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}


/* 2) WhatsApp : forcer cercle + couleur exactement comme les autres */
.contact-social-icon-only[data-social="whatsapp"],
.contact-socials a[href*="whatsapp"],
.contact-socials a[href*="wa.me"],
.contact-social-links a[href*="whatsapp"],
.contact-social-links a[href*="wa.me"],
.social-contact-list a[href*="whatsapp"],
.social-contact-list a[href*="wa.me"],
.contact-info-card .social-links a[href*="whatsapp"],
.contact-info-card .social-links a[href*="wa.me"],
.contact-sidebar .social-links a[href*="whatsapp"],
.contact-sidebar .social-links a[href*="wa.me"],
.contact-details-card .social-links a[href*="whatsapp"],
.contact-details-card .social-links a[href*="wa.me"]{
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(133,187,100,.38) !important;
  border-radius: 999px !important;
  background: rgba(133,187,100,.055) !important;
  color: var(--contact-green, #1A7346) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  flex: 0 0 34px !important;
}

.contact-social-icon-only[data-social="whatsapp"]::before,
.contact-social-icon-only[data-social="whatsapp"]::after,
.contact-socials a[href*="whatsapp"]::before,
.contact-socials a[href*="whatsapp"]::after,
.contact-socials a[href*="wa.me"]::before,
.contact-socials a[href*="wa.me"]::after,
.contact-social-links a[href*="whatsapp"]::before,
.contact-social-links a[href*="whatsapp"]::after,
.contact-social-links a[href*="wa.me"]::before,
.contact-social-links a[href*="wa.me"]::after,
.social-contact-list a[href*="whatsapp"]::before,
.social-contact-list a[href*="whatsapp"]::after,
.social-contact-list a[href*="wa.me"]::before,
.social-contact-list a[href*="wa.me"]::after,
.contact-info-card .social-links a[href*="whatsapp"]::before,
.contact-info-card .social-links a[href*="whatsapp"]::after,
.contact-info-card .social-links a[href*="wa.me"]::before,
.contact-info-card .social-links a[href*="wa.me"]::after,
.contact-sidebar .social-links a[href*="whatsapp"]::before,
.contact-sidebar .social-links a[href*="whatsapp"]::after,
.contact-sidebar .social-links a[href*="wa.me"]::before,
.contact-sidebar .social-links a[href*="wa.me"]::after,
.contact-details-card .social-links a[href*="whatsapp"]::before,
.contact-details-card .social-links a[href*="whatsapp"]::after,
.contact-details-card .social-links a[href*="wa.me"]::before,
.contact-details-card .social-links a[href*="wa.me"]::after{
  content: none !important;
  display: none !important;
}

.contact-social-icon-only[data-social="whatsapp"] .contact-social-icon,
.contact-socials a[href*="whatsapp"] i,
.contact-socials a[href*="wa.me"] i,
.contact-social-links a[href*="whatsapp"] i,
.contact-social-links a[href*="wa.me"] i,
.social-contact-list a[href*="whatsapp"] i,
.social-contact-list a[href*="wa.me"] i,
.contact-info-card .social-links a[href*="whatsapp"] i,
.contact-info-card .social-links a[href*="wa.me"] i,
.contact-sidebar .social-links a[href*="whatsapp"] i,
.contact-sidebar .social-links a[href*="wa.me"] i,
.contact-details-card .social-links a[href*="whatsapp"] i,
.contact-details-card .social-links a[href*="wa.me"] i{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  color: currentColor !important;
  font-size: .86rem !important;
  line-height: 1 !important;
}

.contact-social-icon-only[data-social="whatsapp"]:hover,
.contact-socials a[href*="whatsapp"]:hover,
.contact-socials a[href*="wa.me"]:hover,
.contact-social-links a[href*="whatsapp"]:hover,
.contact-social-links a[href*="wa.me"]:hover,
.social-contact-list a[href*="whatsapp"]:hover,
.social-contact-list a[href*="wa.me"]:hover,
.contact-info-card .social-links a[href*="whatsapp"]:hover,
.contact-info-card .social-links a[href*="wa.me"]:hover,
.contact-sidebar .social-links a[href*="whatsapp"]:hover,
.contact-sidebar .social-links a[href*="wa.me"]:hover,
.contact-details-card .social-links a[href*="whatsapp"]:hover,
.contact-details-card .social-links a[href*="wa.me"]:hover{
  background: var(--contact-green, #1A7346) !important;
  border-color: var(--contact-green, #1A7346) !important;
  color: #fff !important;
}

@media screen and (max-width: 768px){
.contact-social-icon-only[data-social="whatsapp"],
  .contact-socials a[href*="whatsapp"],
  .contact-socials a[href*="wa.me"],
  .contact-social-links a[href*="whatsapp"],
  .contact-social-links a[href*="wa.me"],
  .social-contact-list a[href*="whatsapp"],
  .social-contact-list a[href*="wa.me"],
  .contact-info-card .social-links a[href*="whatsapp"],
  .contact-info-card .social-links a[href*="wa.me"],
  .contact-sidebar .social-links a[href*="whatsapp"],
  .contact-sidebar .social-links a[href*="wa.me"],
  .contact-details-card .social-links a[href*="whatsapp"],
  .contact-details-card .social-links a[href*="wa.me"]{
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    flex-basis: 32px !important;
  }
}


/* ========================================================================== 
   PATCH_CONTACT_NUMBERS_LTR_V7_20260510
   Contact : numéros téléphone/fax en LTR dans les pages RTL.
========================================================================== */

.contact-ltr-number,
.contact-info-card .contact-ltr-number,
.contact-sidebar .contact-ltr-number,
.contact-details-card .contact-ltr-number{
  direction: ltr !important;
  unicode-bidi: isolate !important;
  display: inline-block !important;
  text-align: left !important;
  font-family: var(--font-fr, 'Montserrat', Arial, sans-serif) !important;
  letter-spacing: .01em;
  white-space: nowrap !important;
}

html[dir="rtl"] .contact-info-card .contact-ltr-number,
html[dir="rtl"] .contact-sidebar .contact-ltr-number,
html[dir="rtl"] .contact-details-card .contact-ltr-number{
  direction: ltr !important;
  unicode-bidi: isolate !important;
  text-align: left !important;
}

/* Sécurité : les lignes contenant des numéros restent alignées RTL, mais le numéro lui-même reste LTR */
html[dir="rtl"] .contact-info-card dd,
html[dir="rtl"] .contact-sidebar dd,
html[dir="rtl"] .contact-details-card dd,
html[dir="rtl"] .contact-info-card p,
html[dir="rtl"] .contact-sidebar p,
html[dir="rtl"] .contact-details-card p{
  unicode-bidi: plaintext;
}
