/*
Theme Name: C2SI Excellence
Theme URI: https://c2si-excellence.fr
Author: Valentin REPIQUET-MIRIBEL
Author URI: https://c2si-excellence.fr/a-propos/
Description: Drone professionnel DGAC - Photogrammetrie, inspection, nettoyage, agriculture, BIM, audiovisuel
Version: 2.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: c2si-excellence
Tags: business, professional
*/

/* ══ RESET ══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#1F2938;--blue-60:#2E3746;--blue-40:#4A5465;--blue-20:#7A8291;
  --gold:#B49864;--gold-light:#C5AE7D;--gold-pale:#D7C79A;
  --white:#FFFFFF;--gray:#F4F4F4;--gray-mid:#E5E7EB;--text-sec:#4A5465;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',sans-serif;color:var(--blue);background:var(--white);overflow-x:hidden;line-height:1.6}
h1,h2,h3,h4,h5{font-family:'Montserrat',sans-serif;line-height:1.15}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}

/* ══ HEADER ═════════════════════════════════════════════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--blue);height:76px;display:flex;align-items:center;padding:0 5%;box-shadow:0 2px 30px rgba(0,0,0,.4)}
.site-logo{height:40px;width:auto;flex-shrink:0;margin-right:2rem}

/* ══ NAV DESKTOP ════════════════════════════════════════ */
.site-nav{display:flex;align-items:center;flex:1;gap:0}
.nav-item{position:relative}

/*
  AUDIT FIX - Dropdown hover souris impossible à atteindre en diagonale.
  Solution : pseudo-élément "bridge" transparent sous le lien qui couvre
  l'espace entre le lien et le dropdown, + transition-delay au close.
*/
.nav-link{
  color:rgba(255,255,255,.80);font-size:.75rem;font-weight:600;
  font-family:'Montserrat',sans-serif;letter-spacing:.05em;
  padding:.5rem .85rem;
  min-height:48px; /* AUDIT FIX - zone de clic min 48px */
  display:flex;align-items:center;gap:.3rem;
  transition:color .2s;white-space:nowrap;text-transform:uppercase
}
.nav-link:hover{color:var(--gold)}
.nav-arrow{font-size:.55rem;opacity:.5;transition:transform .2s}

/* AUDIT FIX - Bridge invisible pour navigation en diagonale */
.nav-item::after{
  content:'';position:absolute;top:100%;left:0;width:100%;height:12px;
  background:transparent;pointer-events:auto
}
.nav-item:hover .nav-arrow{transform:rotate(180deg)}
.dropdown{
  position:absolute;top:calc(100% + 12px);left:0;
  background:var(--blue);border-top:2px solid var(--gold);
  border-radius:0 0 10px 10px;min-width:245px;padding:.5rem 0;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  /* AUDIT FIX - délai à la fermeture : 150ms pour navigation diagonale */
  transition:opacity .18s,transform .18s;
  transition-delay:0s; /* ouverture immédiate */
  box-shadow:0 16px 40px rgba(0,0,0,.45)
}
.nav-item:hover>.dropdown{
  opacity:1;pointer-events:all;transform:translateY(0);
  transition-delay:0s
}
/* AUDIT FIX - délai avant fermeture pour laisser le temps d'atteindre le dropdown */
.nav-item:not(:hover)>.dropdown{
  transition-delay:120ms
}
.dropdown a{
  display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.72);
  font-size:.77rem;font-family:'Montserrat',sans-serif;font-weight:500;
  padding:.65rem 1.25rem;
  min-height:44px; /* AUDIT FIX - zone clic 44px min */
  transition:background .15s,color .15s
}
.dropdown a:hover{background:rgba(180,152,100,.12);color:var(--gold)}
.dropdown-sep{height:1px;background:rgba(255,255,255,.07);margin:.3rem 0}
.nav-spacer{flex:1}
.nav-phone{color:var(--gold)!important;font-size:.72rem!important}
.nav-cta{
  background:var(--gold)!important;color:var(--blue)!important;
  padding:.5rem 1.2rem!important;border-radius:6px;
  font-weight:800!important;text-transform:uppercase!important;
  min-height:44px!important;transition:background .2s!important
}
.nav-cta:hover{background:var(--gold-light)!important}

/* BURGER */
.burger{
  display:none;flex-direction:column;gap:5px;cursor:pointer;
  background:none;border:none;padding:8px;margin-left:auto;
  min-width:48px;min-height:48px; /* AUDIT FIX - zone clic */
  align-items:center;justify-content:center
}
.burger span{display:block;width:24px;height:2px;background:var(--white);border-radius:2px}

/* ══ CONTENU ════════════════════════════════════════════ */
.site-content{padding-top:76px}
.section{padding:80px 5%}
.section-label{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.section-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.015em;margin-bottom:.85rem}
.section-sub{color:var(--text-sec);font-size:.96rem;line-height:1.78;max-width:600px;margin-bottom:3rem}
.bg-gray{background:var(--gray)}
.bg-blue{background:var(--blue)}

/* ══ BOUTONS - AUDIT FIX min 52px ══════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 2rem;
  min-height:52px; /* AUDIT FIX - zone clic 44px minimum, 52px recommandé */
  border-radius:6px;font-family:'Montserrat',sans-serif;
  font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;
  cursor:pointer;border:none;white-space:nowrap
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--blue);box-shadow:0 4px 18px rgba(180,152,100,.35)}
.btn-gold:hover{background:var(--gold-light);box-shadow:0 8px 28px rgba(180,152,100,.5)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.35)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-light{background:var(--gray);color:var(--blue);border:1px solid var(--gray-mid)}
.btn-light:hover{background:var(--gray-mid)}

/* ══ HERO ════════════════════════════════════════════════ */
.page-hero{min-height:50vh;display:flex;align-items:center;padding:116px 5% 80px;position:relative;overflow:hidden;background:var(--blue)}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.3rem);font-weight:900;color:var(--white);line-height:1.06;letter-spacing:-.02em;margin-bottom:1.1rem}
.page-hero h1 span{color:var(--gold)}
.page-hero .lead{color:rgba(255,255,255,.80);font-size:1rem;line-height:1.78;max-width:580px;margin-bottom:2rem}
.breadcrumb{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:.9rem;font-family:'Montserrat',sans-serif}
.breadcrumb a{color:var(--gold)}
.svc-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(180,152,100,.12);border:1px solid rgba(180,152,100,.28);color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.42rem 1.1rem;border-radius:100px;margin-bottom:1.2rem;font-family:'Montserrat',sans-serif}

/* ══ GRILLES ════════════════════════════════════════════ */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}

/* ══ CARDS ══════════════════════════════════════════════ */
.card{background:var(--white);border:1px solid var(--gray-mid);border-radius:10px;padding:1.75rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(31,41,56,.10);border-color:rgba(180,152,100,.28)}
.card-blue{background:var(--blue);border-radius:10px;padding:1.75rem;color:var(--white)}
.card-icon{font-size:2rem;margin-bottom:1rem;display:block}
.card-tag{font-family:'Montserrat',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.card-title{font-size:.97rem;font-weight:700;margin-bottom:.45rem}
.card-text{font-size:.82rem;color:var(--text-sec);line-height:1.65}

/* ══ APPLI ══════════════════════════════════════════════ */
.appli-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.appli-item{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border:1px solid var(--gray-mid);border-radius:10px;padding:1.2rem;transition:border-color .2s}
.appli-item:hover{border-color:rgba(180,152,100,.32)}
.appli-icon{width:44px;height:44px;min-width:44px;background:rgba(180,152,100,.1);border:1px solid rgba(180,152,100,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.appli-text h4{font-size:.88rem;font-weight:700;margin-bottom:.28rem}
.appli-text p{font-size:.80rem;color:var(--text-sec);line-height:1.6}

/* ══ STEPS ══════════════════════════════════════════════ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative}
.steps::before{content:'';position:absolute;top:27px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-pale),transparent);z-index:0}
.step{text-align:center;position:relative;z-index:1}
.step-num{width:54px;height:54px;border-radius:50%;background:var(--blue);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.1rem;color:var(--gold);margin:0 auto 1rem}
.step h4{font-size:.88rem;font-weight:700;margin-bottom:.35rem}
.step p{font-size:.79rem;color:var(--text-sec);line-height:1.55}

/* ══ LIVRABLES ══════════════════════════════════════════ */
.livrables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:1rem}
.livrable-card{background:var(--gray);border:1px solid var(--gray-mid);border-radius:10px;padding:1.4rem;transition:border-color .2s,transform .2s}
.livrable-card:hover{border-color:rgba(180,152,100,.35);transform:translateY(-3px)}
.livrable-icon{font-size:1.7rem;margin-bottom:.7rem;display:block}
.livrable-card h4{font-size:.88rem;font-weight:700;margin-bottom:.35rem}
.livrable-card p{font-size:.79rem;color:var(--text-sec);line-height:1.55}
.livrable-format{margin-top:.55rem;font-size:.68rem;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--gold);letter-spacing:.05em}

/* ══ FAQ - h3 pour SEO (AUDIT FIX) ═════════════════════ */
.faq-list{display:flex;flex-direction:column;gap:.7rem;max-width:820px}
.faq-item{border:1px solid var(--gray-mid);border-radius:10px;overflow:hidden}
.faq-q{
  padding:1.05rem 1.25rem;cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;
  background:var(--white);transition:background .2s;user-select:none;
  min-height:52px; /* AUDIT FIX - zone clic */
  gap:1rem
}
.faq-q:hover{background:var(--gray)}
/* AUDIT FIX - h3 dans FAQ pour SEO (featured snippets) */
.faq-q h3{
  font-size:.88rem;font-weight:700;font-family:'Montserrat',sans-serif;
  margin:0;flex:1;color:var(--blue)
}
.faq-arrow{font-size:.72rem;color:var(--gold);transition:transform .3s;flex-shrink:0}
.faq-a{display:none;padding:0 1.25rem 1.05rem;font-size:.86rem;color:var(--text-sec);line-height:1.72}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-arrow{transform:rotate(180deg)}

/* ══ CTA BAND ═══════════════════════════════════════════ */
.cta-band{background:var(--blue);padding:80px 5%;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(180,152,100,.08) 0%,transparent 65%);pointer-events:none}
.cta-band h2{color:var(--white);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:.75rem;position:relative}
.cta-band p{color:rgba(255,255,255,.58);margin-bottom:2rem;font-size:.96rem;position:relative}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}

/* ══ VILLES ═════════════════════════════════════════════ */
.villes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.9rem}
.ville-card{background:var(--white);border:1px solid var(--gray-mid);border-radius:8px;padding:1rem 1.1rem;text-align:center;transition:border-color .2s,transform .2s}
.ville-card:hover{border-color:rgba(180,152,100,.35);transform:translateY(-2px)}
.ville-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.9rem;color:var(--blue)}
.ville-dep{font-size:.74rem;color:var(--text-sec);margin-top:.18rem}

/* ══ P-ITEMS ════════════════════════════════════════════ */
.p-item{display:flex;gap:1.1rem;align-items:flex-start;background:var(--white);border:1px solid var(--gray-mid);border-radius:10px;padding:1.2rem;transition:border-color .2s,transform .2s;margin-bottom:.9rem}
.p-item:hover{border-color:rgba(180,152,100,.32);transform:translateX(4px)}
.p-icon{width:44px;height:44px;min-width:44px;background:rgba(180,152,100,.1);border:1px solid rgba(180,152,100,.2);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.p-text h4{font-size:.9rem;font-weight:700;margin-bottom:.28rem}
.p-text p{font-size:.81rem;color:var(--text-sec);line-height:1.62}

/* ══ TECH PANEL ═════════════════════════════════════════ */
.tech-panel{background:var(--blue);border-radius:14px;padding:2rem}
.tech-panel-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.05rem;color:var(--white);margin-bottom:.3rem}
.tech-panel-sub{font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:1.5rem}
.tech-item{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:.78rem 1rem;margin-bottom:.55rem}
.tech-name{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--white);font-size:.82rem}
.tech-detail{font-size:.7rem;color:rgba(255,255,255,.38);margin-top:.08rem}
.tech-badge{font-size:.6rem;background:rgba(180,152,100,.18);border:1px solid rgba(180,152,100,.28);color:var(--gold);padding:.18rem .5rem;border-radius:4px;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase}

/* ══ RELATED ════════════════════════════════════════════ */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.related-card{display:block;background:var(--gray);border:1px solid var(--gray-mid);border-radius:10px;padding:1.4rem;transition:border-color .2s,transform .2s}
.related-card:hover{border-color:rgba(180,152,100,.3);transform:translateY(-3px)}
.related-icon{font-size:1.7rem;margin-bottom:.6rem;display:block}
.related-card h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.86rem;color:var(--blue);margin-bottom:.28rem}
.related-card p{font-size:.78rem;color:var(--text-sec)}

/* ══ ARTICLE BLOG ═══════════════════════════════════════ */
.article-content{max-width:820px;margin:0 auto;font-size:.97rem;line-height:1.82;color:var(--text-sec)}
.article-content h2{font-size:1.5rem;color:var(--blue);margin:2.5rem 0 .75rem;font-weight:800}
.article-content h3{font-size:1.15rem;color:var(--blue);margin:1.75rem 0 .6rem;font-weight:700}
.article-content p{margin-bottom:1rem}
.article-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.88rem}
.article-content th{background:var(--blue);color:var(--white);padding:.65rem 1rem;text-align:left;font-family:'Montserrat',sans-serif;font-size:.78rem;letter-spacing:.04em}
.article-content td{border:1px solid var(--gray-mid);padding:.6rem 1rem;vertical-align:top}
.article-content tr:nth-child(even) td{background:var(--gray)}
.article-content ul{margin:.75rem 0 1rem 1.5rem;display:flex;flex-direction:column;gap:.4rem}
.article-content blockquote{border-left:4px solid var(--gold);padding:.75rem 1.25rem;background:var(--gray);margin:1.5rem 0;font-style:italic;border-radius:0 8px 8px 0}

/* ══ FOOTER ═════════════════════════════════════════════ */
.site-footer{background:#111820;padding:4rem 5% 2rem}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem}
.footer-logo{height:36px;width:auto;margin-bottom:.8rem}
.footer-tagline{font-size:.72rem;color:var(--gold);font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:.08em;font-style:italic;margin-bottom:.55rem}
.footer-brand p{font-size:.78rem;color:rgba(255,255,255,.34);line-height:1.72;max-width:230px}
.footer-socials{display:flex;gap:.55rem;margin-top:1.2rem}
.social-btn{width:36px;height:36px;min-width:44px;min-height:44px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.9rem;text-decoration:none;transition:background .2s}
.social-btn:hover{background:rgba(180,152,100,.15)}
.footer-col h5{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.95rem;font-family:'Montserrat',sans-serif}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-col ul li a{color:rgba(255,255,255,.46);text-decoration:none;font-size:.79rem;transition:color .2s;display:flex;align-items:center;min-height:36px}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:.71rem;color:rgba(255,255,255,.2)}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:.71rem;color:rgba(255,255,255,.2);text-decoration:none;transition:color .2s;min-height:36px;display:flex;align-items:center}
.footer-legal a:hover{color:var(--gold)}

/* ══ ANIMATIONS ═════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ══ RESPONSIVE 1100px ══════════════════════════════════ */
@media(max-width:1100px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr}
}

/* ══ RESPONSIVE 900px - TABLETTE ═══════════════════════ */
@media(max-width:900px){
  .site-nav{display:none}
  /* AUDIT FIX - menu mobile scrollable, body scroll bloqué */
  .site-nav.open{
    display:flex;flex-direction:column;
    position:fixed;top:76px;left:0;right:0;
    background:var(--blue);padding:1rem 5% 2rem;
    gap:0;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    z-index:199
  }
  .site-nav.open .nav-item{width:100%;border-bottom:1px solid rgba(255,255,255,.06)}
  .site-nav.open .nav-item::after{display:none} /* désactiver bridge sur mobile */
  .site-nav.open .nav-link{
    font-size:.9rem;
    padding:.85rem 0;
    min-height:52px; /* AUDIT FIX */
    border-bottom:none;
    justify-content:space-between
  }
  .site-nav.open .dropdown{
    position:static;opacity:1;pointer-events:all;transform:none;
    background:rgba(255,255,255,.04);border:none;border-radius:6px;
    margin:.3rem 0 .5rem;box-shadow:none;
    transition:none
  }
  .site-nav.open .dropdown a{
    min-height:48px;
    padding:.7rem 1rem
  }
  .site-nav.open .nav-spacer,.site-nav.open .nav-phone{display:none}
  .site-nav.open .nav-cta{margin-top:.5rem;text-align:center;justify-content:center}
  .burger{display:flex}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  /* Hero 2 colonnes → 1 colonne tablette */
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1.3fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1.5fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1.4fr"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:2fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important}
}

/* ══ RESPONSIVE 600px - MOBILE ═══════════════════════════ */
@media(max-width:600px){
  .section{padding:60px 5%}
  .grid-4{grid-template-columns:1fr 1fr}

  /* AUDIT FIX - Steps : 2 colonnes sur mobile (pas de débordement) */
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}

  .footer-top{grid-template-columns:1fr}

  /* AUDIT FIX - CTA full width mobile */
  .cta-btns{flex-direction:column;align-items:center}
  .cta-btns .btn{width:100%;max-width:340px;justify-content:center}

  /* AUDIT FIX - Padding hero mobile */
  .page-hero{padding:96px 5% 60px}

  /* AUDIT FIX - Cacher 2e colonne dans hero sur mobile */
  section[style*="min-height:100vh"] [style*="grid-template-columns"]{
    grid-template-columns:1fr!important
  }
  section[style*="min-height:100vh"] > div > div:last-child:not(.nav-cta){
    display:none
  }
}

/* ══ RESPONSIVE 400px ════════════════════════════════════ */
@media(max-width:400px){
  .grid-4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .villes-grid{grid-template-columns:repeat(2,1fr)}
  .section-title{font-size:1.6rem}
}

/* ══ FORMULAIRE CONTACT - AUDIT FIX mobile 1 colonne ═══ */
@media(max-width:600px){
  .form-grid-2{grid-template-columns:1fr!important;gap:.75rem!important}
}

/* ══ reCAPTCHA styling ══════════════════════════════════ */
.g-recaptcha{margin:.5rem 0}
.recaptcha-note{font-size:.72rem;color:rgba(255,255,255,.3);margin-top:.5rem}

