/*
 * PRATINIUM — custom-contact-v150.css
 * Univers dark premium sur la structure DOM exacte du JS v149
 * Sélecteurs confirmés : body.page-contact / body#contact
 *   .pf-contact-hero  h1  p
 *   .pf-contact-layout
 *     .contact-rich  h4  .block  .pf-icon  .data  .pf-contact-hours  .pf-contact-note
 *     .contact-form  h3  .form-fields  .form-group  .form-footer  .btn
 */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FONTS
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   0. FOND PAGE — dégradé sombre infrastructure
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact,
body#contact {
  background:
    radial-gradient(circle at 14% 28%, rgba(79,145,255,.09), transparent 36%),
    radial-gradient(circle at 82% 72%, rgba(247,199,93,.07), transparent 32%),
    linear-gradient(158deg, #020811 0%, #04122a 42%, #071e48 72%, #020811 100%) !important;
  color: rgba(220,235,255,.88) !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
}

body.page-contact #wrapper,
body#contact #wrapper {
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Grille infra en arrière-plan */
body.page-contact #wrapper::before,
body#contact #wrapper::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background-image:
    linear-gradient(rgba(181,212,244,.030) 1px, transparent 1px),
    linear-gradient(90deg, rgba(181,212,244,.025) 1px, transparent 1px) !important;
  background-size: 52px 52px !important;
}

body.page-contact #main,
body#contact #main {
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 22px 72px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   1. HERO BANNER
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .pf-contact-hero,
body#contact .pf-contact-hero {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 36px calc(50% - 50vw) !important;
  padding: 56px 24px 50px !important;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(79,145,255,.24), transparent 56%),
    radial-gradient(ellipse at 14% 88%, rgba(247,199,93,.10), transparent 40%),
    linear-gradient(180deg, #041226 0%, #071e48 60%, #04122a 100%) !important;
  border-bottom: 1px solid rgba(181,212,244,.12) !important;
  box-shadow: 0 16px 52px rgba(0,0,0,.40) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* Trait doré bas du hero */
body.page-contact .pf-contact-hero::after,
body#contact .pf-contact-hero::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 50% !important;
  transform: translateX(-50%) !important;
  width: 72px !important; height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(247,199,93,.58), transparent) !important;
  border-radius: 2px !important;
}

/* Particules décoratives */
body.page-contact .pf-contact-hero::before,
body#contact .pf-contact-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background-image:
    radial-gradient(circle, rgba(255,232,173,.55) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(116,229,255,.42) 0 1px, transparent 2px) !important;
  background-size: 88px 84px, 130px 124px !important;
  background-position: 0 0, 34px 28px !important;
  opacity: .45 !important;
}

body.page-contact .pf-contact-hero h1,
body#contact .pf-contact-hero h1 {
  margin: 0 0 12px !important;
  color: #e8edf8 !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: clamp(26px, 3.8vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
  text-shadow: 0 2px 24px rgba(0,0,0,.42) !important;
  position: relative !important;
  z-index: 1 !important;
}

body.page-contact .pf-contact-hero p,
body#contact .pf-contact-hero p {
  margin: 0 !important;
  color: rgba(181,212,244,.72) !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2. LAYOUT GRILLE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .pf-contact-layout,
body#contact .pf-contact-layout {
  display: grid !important;
  grid-template-columns: 270px minmax(0,1fr) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   3. CARTES communes (info + form)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .contact-rich,
body#contact .contact-rich,
body.page-contact .contact-form,
body#contact .contact-form {
  background:
    linear-gradient(145deg, rgba(255,255,255,.050) 0%, rgba(255,255,255,.016) 100%) !important;
  border: 1px solid rgba(181,212,244,.15) !important;
  border-radius: 18px !important;
  box-shadow:
    0 24px 64px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.page-contact .contact-rich,
body#contact .contact-rich {
  padding: 30px 24px !important;
}

body.page-contact .contact-form,
body#contact .contact-form {
  padding: 30px 28px !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   4. TITRES DE CARTE (h4 / h3)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .contact-rich h4,
body#contact .contact-rich h4,
body.page-contact .contact-form h3,
body#contact .contact-form h3,
body.page-contact .contact-form .h3,
body#contact .contact-form .h3 {
  position: relative !important;
  margin: 0 0 24px !important;
  padding: 0 0 14px !important;
  color: rgba(220,235,255,.92) !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
  border-bottom: 1px solid rgba(181,212,244,.11) !important;
}

/* Trait doré accent sous titre */
body.page-contact .contact-rich h4::after,
body#contact .contact-rich h4::after,
body.page-contact .contact-form h3::after,
body#contact .contact-form h3::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important; bottom: -1px !important;
  width: 32px !important; height: 2px !important;
  background: linear-gradient(90deg, #f7c75d, rgba(247,199,93,.30)) !important;
  border-radius: 2px !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   5. BLOCS INFOS (adresse, email, horaires)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .contact-rich .block,
body#contact .contact-rich .block,
body.page-contact .contact-rich .pf-contact-hours,
body#contact .contact-rich .pf-contact-hours {
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 15px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(181,212,244,.07) !important;
}

body.page-contact .contact-rich .block:last-of-type,
body#contact .contact-rich .block:last-of-type {
  border-bottom: none !important;
}

/* Icône circulaire */
body.page-contact .contact-rich .material-icons,
body#contact .contact-rich .material-icons,
body.page-contact .contact-rich .pf-icon,
body#contact .contact-rich .pf-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, rgba(79,180,255,.22), rgba(36,100,200,.28)) !important;
  border: 1px solid rgba(79,180,255,.28) !important;
  color: rgba(100,195,255,.92) !important;
  font-size: 17px !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
  flex-shrink: 0 !important;
}

/* Texte data */
body.page-contact .contact-rich .data,
body#contact .contact-rich .data {
  min-width: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(181,212,244,.72) !important;
  line-height: 1.65 !important;
  overflow-wrap: break-word !important;
}

body.page-contact .contact-rich .data strong,
body#contact .contact-rich .data strong {
  display: block !important;
  margin-bottom: 2px !important;
  color: rgba(220,235,255,.90) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.page-contact .contact-rich a,
body#contact .contact-rich a {
  color: rgba(79,180,255,.88) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
  transition: color .2s !important;
}
body.page-contact .contact-rich a:hover,
body#contact .contact-rich a:hover { color: #4fb4ff !important; text-decoration: underline !important; }

/* Note urgence */
body.page-contact .contact-rich .pf-contact-note,
body#contact .contact-rich .pf-contact-note {
  margin-top: 14px !important;
  background: rgba(247,199,93,.06) !important;
  border: 1px solid rgba(247,199,93,.16) !important;
  border-radius: 10px !important;
  padding: 13px 14px !important;
  color: rgba(200,195,160,.80) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.60 !important;
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   6. FORMULAIRE — structure interne
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .contact-form form,
body#contact .contact-form form {
  display: block !important;
  width: 100% !important;
}

/* Grille 2 col pour sujet + email */
body.page-contact .contact-form .form-fields,
body#contact .contact-form .form-fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.page-contact .contact-form .form-group,
body#contact .contact-form .form-group {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* 3e champ et suivants → pleine largeur */
body.page-contact .contact-form .form-group:nth-child(n+3),
body#contact .contact-form .form-group:nth-child(n+3) {
  grid-column: 1 / -1 !important;
}

/* Labels */
body.page-contact .contact-form .form-control-label,
body#contact .contact-form .form-control-label,
body.page-contact .contact-form label,
body#contact .contact-form label {
  display: block !important;
  float: none !important;
  width: 100% !important;
  text-align: left !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: rgba(181,212,244,.55) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

/* Neutraliser col-* Bootstrap */
body.page-contact .contact-form [class*="col-"],
body#contact .contact-form [class*="col-"] {
  display: block !important;
  float: none !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ── Inputs / Select / Textarea ── */
body.page-contact .contact-form .form-control,
body#contact .contact-form .form-control,
body.page-contact .contact-form select,
body#contact .contact-form select,
body.page-contact .contact-form input[type="text"],
body#contact .contact-form input[type="text"],
body.page-contact .contact-form input[type="email"],
body#contact .contact-form input[type="email"],
body.page-contact .contact-form textarea,
body#contact .contact-form textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(4,16,38,.60) !important;
  border: 1px solid rgba(181,212,244,.16) !important;
  border-radius: 9px !important;
  color: rgba(220,235,255,.88) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  padding: 11px 13px !important;
  height: auto !important;
  min-height: 40px !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color .22s, box-shadow .22s, background .22s !important;
}

body.page-contact .contact-form .form-control::placeholder,
body#contact .contact-form .form-control::placeholder,
body.page-contact .contact-form input::placeholder,
body#contact .contact-form input::placeholder,
body.page-contact .contact-form textarea::placeholder,
body#contact .contact-form textarea::placeholder {
  color: rgba(181,212,244,.28) !important;
}

body.page-contact .contact-form .form-control:focus,
body#contact .contact-form .form-control:focus,
body.page-contact .contact-form select:focus,
body#contact .contact-form select:focus,
body.page-contact .contact-form textarea:focus,
body#contact .contact-form textarea:focus {
  border-color: rgba(79,180,255,.55) !important;
  background: rgba(4,20,52,.76) !important;
  box-shadow: 0 0 0 3px rgba(79,180,255,.10), 0 3px 12px rgba(0,0,0,.18) !important;
}

/* Select — flèche custom */
body.page-contact .contact-form select,
body#contact .contact-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(181,212,244,0.42)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 10px !important;
  padding-right: 34px !important;
  cursor: pointer !important;
}
body.page-contact .contact-form select option,
body#contact .contact-form select option { background: #071836 !important; color: rgba(220,235,255,.90) !important; }

/* Textarea */
body.page-contact .contact-form textarea,
body#contact .contact-form textarea {
  height: 100px !important;
  min-height: 100px !important;
  resize: vertical !important;
  line-height: 1.65 !important;
}

/* ── Fichier joint ── */
body.page-contact .contact-form .input-group,
body#contact .contact-form .input-group {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 0 !important;
}

body.page-contact .contact-form .custom-file,
body#contact .contact-form .custom-file {
  height: 40px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  position: relative !important;
}

body.page-contact .contact-form .custom-file-label,
body#contact .contact-form .custom-file-label {
  height: 40px !important;
  background: rgba(4,16,38,.60) !important;
  border: 1px solid rgba(181,212,244,.16) !important;
  border-right: none !important;
  border-radius: 9px 0 0 9px !important;
  color: rgba(181,212,244,.38) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  padding: 0 12px 0 34px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
}

/* Clip icon */
body.page-contact .contact-form .custom-file-label::before,
body#contact .contact-form .custom-file-label::before {
  content: "📎" !important;
  position: absolute !important;
  left: 12px !important;
  font-size: 13px !important;
  opacity: .55 !important;
}

/* Bouton "Parcourir" */
body.page-contact .contact-form .custom-file-label::after,
body#contact .contact-form .custom-file-label::after {
  content: "Parcourir" !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  background: linear-gradient(135deg, rgba(79,180,255,.22), rgba(36,100,200,.28)) !important;
  border: 1px solid rgba(79,180,255,.30) !important;
  border-radius: 0 9px 9px 0 !important;
  color: rgba(140,195,255,.92) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: 0 16px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

body.page-contact .contact-form .input-group-append,
body#contact .contact-form .input-group-append { display: none !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   7. BOUTON SUBMIT — gradient doré PRATINIUM
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.page-contact .contact-form .form-footer,
body#contact .contact-form .form-footer {
  text-align: right !important;
  margin-top: 24px !important;
  padding: 0 !important;
  border-top: 1px solid rgba(181,212,244,.09) !important;
  padding-top: 20px !important;
}

body.page-contact .contact-form .btn,
body#contact .contact-form .btn,
body.page-contact .contact-form .btn-primary,
body#contact .contact-form .btn-primary,
body.page-contact .contact-form input[type="submit"],
body#contact .contact-form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 13px 30px !important;
  background: linear-gradient(135deg, #f7c75d 0%, #e8a21a 52%, #c47c08 100%) !important;
  border: none !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 20px rgba(247,199,93,.28), inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: #0a1628 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: box-shadow .22s, transform .18s !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

body.page-contact .contact-form .btn::before,
body#contact .contact-form .btn::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.18) 0%, transparent 60%) !important;
  pointer-events: none !important;
}

body.page-contact .contact-form .btn::after,
body#contact .contact-form .btn::after,
body.page-contact .contact-form .btn-primary::after,
body#contact .contact-form .btn-primary::after {
  content: " →" !important;
  font-weight: 400 !important;
  margin-left: 6px !important;
}

body.page-contact .contact-form .btn:hover,
body#contact .contact-form .btn:hover {
  box-shadow: 0 8px 28px rgba(247,199,93,.42), inset 0 1px 0 rgba(255,255,255,.26) !important;
  transform: translateY(-2px) !important;
}
body.page-contact .contact-form .btn:active,
body#contact .contact-form .btn:active { transform: translateY(0) !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   8. ANIMATIONS D'ENTRÉE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes pfContactHeroIn {
  from { opacity:0; transform:translateY(-10px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pfContactPanelIn {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}

body.page-contact .pf-contact-hero,
body#contact .pf-contact-hero {
  animation: pfContactHeroIn .50s cubic-bezier(.22,1,.36,1) both !important;
}

body.page-contact .contact-rich,
body#contact .contact-rich {
  animation: pfContactPanelIn .52s cubic-bezier(.22,1,.36,1) .12s both !important;
}

body.page-contact .contact-form,
body#contact .contact-form {
  animation: pfContactPanelIn .52s cubic-bezier(.22,1,.36,1) .22s both !important;
}

@media (prefers-reduced-motion:reduce) {
  body.page-contact .pf-contact-hero,
  body.page-contact .contact-rich,
  body.page-contact .contact-form,
  body#contact .pf-contact-hero,
  body#contact .contact-rich,
  body#contact .contact-form {
    animation: none !important;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   9. RESPONSIVE MOBILE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width:767px) {
  body.page-contact .pf-contact-hero,
  body#contact .pf-contact-hero {
    padding: 38px 16px 34px !important;
    margin-bottom: 22px !important;
  }

  body.page-contact #main,
  body#contact #main { padding: 0 14px 48px !important; }

  body.page-contact .pf-contact-layout,
  body#contact .pf-contact-layout {
    display: block !important;
  }

  body.page-contact .contact-rich,
  body#contact .contact-rich,
  body.page-contact .contact-form,
  body#contact .contact-form {
    min-height: 0 !important;
    margin-bottom: 16px !important;
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }

  body.page-contact .contact-form .form-fields,
  body#contact .contact-form .form-fields {
    display: block !important;
  }

  body.page-contact .contact-form .form-group,
  body#contact .contact-form .form-group { margin-bottom: 16px !important; }

  body.page-contact .contact-form .form-footer,
  body#contact .contact-form .form-footer { text-align: center !important; }

  body.page-contact .contact-form .btn,
  body#contact .contact-form .btn,
  body.page-contact .contact-form input[type="submit"],
  body#contact .contact-form input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   v150 PATCH — suppressions ciblées (croix image)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 1. Doublon email dans .contact-rich : masquer les <a> et textes
      directs dans .block hors .data (le JS v150 fait le ménage DOM
      mais cette règle sert de filet de sécurité CSS) */
body.page-contact .contact-rich .block > a,
body#contact .contact-rich .block > a,
body.page-contact .contact-rich .block > span:not(.material-icons):not(.pf-icon),
body#contact .contact-rich .block > span:not(.material-icons):not(.pf-icon),
body.page-contact .contact-rich .block > p,
body#contact .contact-rich .block > p {
  display: none !important;
}

/* 2. Champ "Adresse e-mail" du formulaire — masqué par JS v150,
      doublé ici en CSS sur les deux positions possibles */
body.page-contact .contact-form .form-fields .form-group:has(input[type="email"]),
body#contact .contact-form .form-fields .form-group:has(input[type="email"]),
body.page-contact .contact-form .form-fields .form-group:has(input[name="from"]),
body#contact .contact-form .form-fields .form-group:has(input[name="from"]) {
  display: none !important;
}

/* Fallback sans :has — 2e form-group en grille (Sujet=1er, Email=2e) */
body.page-contact .contact-form .form-fields .form-group:nth-child(2),
body#contact .contact-form .form-fields .form-group:nth-child(2) {
  display: none !important;
}

/* Quand l'email est masqué, Sujet doit prendre toute la largeur */
body.page-contact .contact-form .form-fields,
body#contact .contact-form .form-fields {
  grid-template-columns: 1fr !important;
}

/* 3. Zone vide parasite entre Message et bouton */
body.page-contact .contact-form form > div:empty,
body#contact .contact-form form > div:empty,
body.page-contact .contact-form .form-group:empty,
body#contact .contact-form .form-group:empty {
  display: none !important;
}

/* 4. Bouton "→" parasite sur "CHOISIR UN FICHIER" :
      Le ::after du .btn s'appliquait aussi via la règle générique.
      On cible uniquement le vrai bouton submit et on reset pour le reste. */
body.page-contact .contact-form .custom-file-label::after,
body#contact .contact-form .custom-file-label::after {
  content: "Parcourir" !important;
  /* Ré-assertion du style correct sans flèche */
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  background: linear-gradient(135deg, rgba(79,180,255,.22), rgba(36,100,200,.28)) !important;
  border: 1px solid rgba(79,180,255,.30) !important;
  border-radius: 0 9px 9px 0 !important;
  color: rgba(140,195,255,.92) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: 0 16px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}

/* Supprimer le ::after "→" sur tout ce qui n'est pas le bouton submit */
body.page-contact .contact-form .input-group-append .btn::after,
body#contact .contact-form .input-group-append .btn::after,
body.page-contact .contact-form label::after,
body#contact .contact-form label::after,
body.page-contact .contact-form .form-control-label::after,
body#contact .contact-form .form-control-label::after {
  content: none !important;
}
