/* ==========================================================================
   page-contact.css (Refonte 2026) — PRO / STABLE / SCOPED
   Scope: .page-contact2026 + body.page-template-page-contact(-php)
   Objectif:
   - Pas de pollution globale
   - Compatible thème (Greenly/WPBakery) + wrappers
   - Forminator skinné proprement
   ========================================================================== */
   body.page-template-page-contact,
   body.page-template-page-contact-php,
   .page-contact2026{
     --bg: #070A12;
     --bg2: #0A1020;
   
     --text: rgba(255,255,255,1);
     --muted: rgba(255,255,255,.78);
     --muted2: rgba(255,255,255,.62);
   
     --stroke: rgba(255,255,255,.12);
     --surface: rgba(255,255,255,.06);
     --surface2: rgba(255,255,255,.05);
   
     --accent: #7C5CFF;
     --accent2: #2EE9A6;
     --accent3: #00D1FF;
   
     --shadow: 0 18px 60px rgba(0,0,0,.45);
     --shadow2: 0 12px 35px rgba(0,0,0,.35);
   }
   
   /* ✅ Ancre / accessibilité */
   .page-contact2026 .sr-only{
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0,0,0,0);
     white-space: nowrap;
     border: 0;
   }


   /* ✅ Fond global: body + wrappers (thèmes/WPBakery) */
   body.page-template-page-contact,
   body.page-template-page-contact-php{
     margin:0;
     font-family: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
     color: var(--text);
     overflow-x:hidden;

     background:
       radial-gradient(1200px 650px at 20% 10%, rgba(124,92,255,.35), transparent 60%),
       radial-gradient(900px 500px at 85% 15%, rgba(0,209,255,.22), transparent 55%),
       radial-gradient(800px 500px at 70% 85%, rgba(46,233,166,.16), transparent 60%),
       linear-gradient(180deg, var(--bg), var(--bg2));
   }
   
   body.page-template-page-contact #page,
   body.page-template-page-contact-php #page,
   body.page-template-page-contact .site,
   body.page-template-page-contact-php .site,
   body.page-template-page-contact .cspt-page-content-wrapper,
   body.page-template-page-contact-php .cspt-page-content-wrapper{
     background:
       radial-gradient(1200px 650px at 20% 10%, rgba(124,92,255,.35), transparent 60%),
       radial-gradient(900px 500px at 85% 15%, rgba(0,209,255,.22), transparent 55%),
       radial-gradient(800px 500px at 70% 85%, rgba(46,233,166,.16), transparent 60%),
       linear-gradient(180deg, var(--bg), var(--bg2)) !important;
   }
   
   /* ✅ Neutraliser wrappers thème (évite padding-top auto) */
   body.page-template-page-contact .content-area,
   body.page-template-page-contact .main-content,
   body.page-template-page-contact #primary,
   body.page-template-page-contact-php .content-area,
   body.page-template-page-contact-php .main-content,
   body.page-template-page-contact-php #primary{
     padding-top: 0 !important;
     margin-top: 0 !important;
   }
   
   /* Containers */
   .page-contact2026 .tr-container{
     width: min(1600px, calc(100% - 48px));
     margin: 0 auto;
   }
   @media (max-width: 760px){
     .page-contact2026 .tr-container{ width: calc(100% - 28px); }
   }
   
   /* Typo */
   .page-contact2026 .kicker{
     font-size: 12px;
     font-weight: 900;
     letter-spacing: .14em;
     text-transform: uppercase;
     color: rgba(255,255,255,.70);
     margin: 0 0 10px 0;
   }
   
   .page-contact2026 h1,
   .page-contact2026 h2,
   .page-contact2026 h3{ margin: 0 0 12px 0; }
   
   .page-contact2026 h1{
     font-size: clamp(34px, 3.2vw, 60px);
     font-weight: 950;
     letter-spacing: -0.03em;
     line-height: 1.03;
     text-transform: uppercase;
   }
   .page-contact2026 h2{
     font-size: clamp(26px, 2.2vw, 42px);
     font-weight: 950;
     letter-spacing: -0.02em;
     line-height: 1.08;
   }
   .page-contact2026 h3{
     font-size: 20px;
     font-weight: 950;
     letter-spacing: -0.01em;
   }
   
   .page-contact2026 .lead{
     color: rgba(255,255,255,.80);
     font-size: 18px;
     line-height: 1.65;
     margin: 10px 0 0 0;
     max-width: 68ch;
   }
   .page-contact2026 .muted{ color: var(--muted); line-height: 1.65; }
   
   .page-contact2026 .grad{
     background: linear-gradient(135deg, rgba(46,233,166,1), rgba(0,209,255,1), rgba(124,92,255,1));
     -webkit-background-clip: text;
     background-clip: text;
     color: transparent;
   }
   
   /* Buttons */
   .page-contact2026 .actions{
     display:flex;
     gap: 12px;
     flex-wrap:wrap;
     margin-top: 18px;
   }
   
   .page-contact2026 .btn{
     display:inline-flex;
     align-items:center;
     gap: 10px;
     padding: 12px 16px;
     border-radius: 14px;
     font-weight: 950;
     font-size: 14px;
     border: 1px solid rgba(255,255,255,.10);
     transition: transform .15s ease, background .15s ease, filter .15s ease;
     user-select:none;
     text-decoration: none;
   }
   .page-contact2026 .btn:hover{ transform: translateY(-1px); }
   
   .page-contact2026 .btn--primary{
     color: #071018;
     background: linear-gradient(135deg, rgba(124,92,255,1), rgba(0,209,255,1));
     box-shadow: 0 18px 45px rgba(124,92,255,.20);
   }
   .page-contact2026 .btn--ghost{
    color: rgba(255,255,255,.92);
    background: linear-gradient(-135deg, rgba(245, 91, 39, 0.6), rgba(220, 68, 19, 0.8));
   }
   .page-contact2026 .btn--ghost:hover{ background: rgba(255,255,255,.09); }
   
   /* Modules */
   .page-contact2026 .module{
     position: relative;
     padding: 76px 0;
   }
   @media (max-width: 760px){
     .page-contact2026 .module{ padding: 58px 0; }
   }
   .page-contact2026 .module + .module{
     border-top: 1px solid rgba(255,255,255,.06);
   }
   .page-contact2026 .module + .module::before{
     content:"";
     position:absolute;
     left:0; right:0;
     top:-1px;
     height:1px;
     background: linear-gradient(90deg, transparent, rgba(0,209,255,.22), rgba(124,92,255,.18), transparent);
     pointer-events:none;
   }
   
   /* FX blobs */
   .page-contact2026 .moduleFX{
     position:absolute;
     inset:0;
     pointer-events:none;
     opacity:.95;
   }
   .page-contact2026 .mx{
     position:absolute;
     border-radius: 999px;
     filter: blur(22px);
     opacity: .55;
   }
   .page-contact2026 .m1{ width: 520px; height: 520px; left: -120px; top: -140px; background: rgba(124,92,255,.55); }
   .page-contact2026 .m2{ width: 460px; height: 460px; right: -160px; top: 30px; background: rgba(0,209,255,.40); }
   .page-contact2026 .m3{ width: 520px; height: 520px; left: 40%; bottom: -260px; background: rgba(46,233,166,.30); }
   .page-contact2026 .m4{ width: 260px; height: 260px; right: 18%; bottom: 18%; background: rgba(255,255,255,.10); }
   
   /* HERO */
   .page-contact2026 .module--cHero{ padding: 0 0 28px; }
   .page-contact2026 .cHero__grid{
     display:grid;
     grid-template-columns: 1.05fr .95fr;
     gap: 28px;
     align-items:center;
     padding-bottom: 22px;
   }
   @media (max-width: 1100px){
     .page-contact2026 .cHero__grid{ grid-template-columns: 1fr; }
   }
   
   /* Pills */
   .page-contact2026 .cHero__highlights{
     display:flex;
     gap: 10px;
     flex-wrap: wrap;
     margin-top: 16px;
   }
   .page-contact2026 .pill{
     display:inline-flex;
     align-items:center;
     gap: 10px;
     padding: 10px 12px;
     border-radius: 999px;
     background: rgba(255,255,255,.04);
     border: 1px solid rgba(255,255,255,.08);
     color: rgba(255,255,255,.85);
     font-weight: 900;
     font-size: 13px;
   }
   
   /* Media frame */
   .page-contact2026 .mediaFrame{
     border-radius: 26px;
     overflow:hidden;
     background: rgba(255,255,255,.04);
     border: 1px solid rgba(255,255,255,.10);
     box-shadow: var(--shadow);
     position: relative;
     isolation:isolate;
     min-height: 520px;
     display:flex;
     z-index: 1;
     margin-top: 60px;
   }
   .page-contact2026 .mediaFrame img{
     width:100%;
     height: 520px;
     object-fit: cover;
     filter: saturate(1.06) contrast(1.06);
     transform: scale(1.02);
     display:block;
   }
   .page-contact2026 .mediaFrame::after{
     content:"";
     position:absolute;
     inset:0;
     background:
       radial-gradient(600px 300px at 20% 25%, rgba(124, 92, 255, 0.22), transparent 60%),
       radial-gradient(500px 260px at 80% 15%, rgba(0, 209, 255, 0.26), transparent 60%),
       linear-gradient(180deg, rgba(7,10,18,0), rgba(7,10,18,.55));
     pointer-events:none;
   }
   
   /* ✅ Robust layering: chips toujours au-dessus */
   .page-contact2026 .mediaFrame,
   .page-contact2026 .mediaFrame *{
     position: relative;
   }
   .page-contact2026 .chip{
     position:absolute;
   }
   
   @media (max-width: 1100px){
     .page-contact2026 .mediaFrame{ min-height: 420px; }
     .page-contact2026 .mediaFrame img{ height: 420px; }
   }
   @media (max-width: 760px){
     .page-contact2026 .module--cHero{ padding-top: 72px; }
     .page-contact2026 .mediaFrame img{ height: 340px; }
   }
   
   /* Chips */
   .page-contact2026 .chip{
     display:inline-flex;
     align-items:center;
     gap: 10px;
     padding: 10px 12px;
     border-radius: 999px;
     background: rgba(10,16,32,.66);
     border: 1px solid rgba(255,255,255,.12);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     font-weight: 950;
     font-size: 13px;
     color: rgba(255,255,255,.92);
     z-index: 5;
   }
   .page-contact2026 .c1{ left: 14px; bottom: 14px; }
   .page-contact2026 .c2{ right: 14px; bottom: 14px; }
   .page-contact2026 .c3{ left: 14px; top: 14px; }
   
   /* Quote card */
   .page-contact2026 .quoteCard{
     margin-top: 16px;
     padding: 12px 14px;
     border-radius: 18px;
     background: rgba(255,255,255,.04);
     border: 1px solid rgba(255,255,255,.10);
     box-shadow: var(--shadow2);
     display:grid;
     gap: 8px;
     color: rgba(255,255,255,.84);
   }
   .page-contact2026 .quoteCard i{ color: rgba(0,209,255,.9); font-size: 18px; }
   .page-contact2026 .quoteCard p{ margin: 0; line-height: 1.6; }
   .page-contact2026 .quoteCard span{
     color: rgba(255,255,255,.62);
     font-weight: 800;
     font-size: 12px;
     letter-spacing: .08em;
     text-transform: uppercase;
   }
   
   /* Form grid */
   .page-contact2026 .cForm__grid{
     display:grid;
     grid-template-columns: 1.05fr .95fr;
     gap: 22px;
     align-items:start;
   }
   @media (max-width: 1100px){
     .page-contact2026 .cForm__grid{ grid-template-columns: 1fr; }
   }
   
   /* Glass cards */
   .page-contact2026 .glassCard{
     border-radius: 26px;
     background:
       radial-gradient(900px 280px at 20% 0%, rgba(0,209,255,.14), transparent 60%),
       radial-gradient(700px 240px at 90% 10%, rgba(124,92,255,.12), transparent 60%),
       rgba(255,255,255,.06);
     border: 1px solid rgba(255,255,255,.12);
     box-shadow: var(--shadow2);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     padding: 18px;
   }
   
   .page-contact2026 .headRow{
     display:flex;
     align-items:flex-end;
     justify-content:space-between;
     gap: 18px;
     flex-wrap: wrap;
     margin-bottom: 14px;
   }
   
   .page-contact2026 .link{
     display:inline-flex;
     align-items:center;
     gap: 10px;
     padding: 10px 12px;
     border-radius: 999px;
     background: rgba(255,255,255,.06);
     border: 1px solid rgba(255,255,255,.10);
     font-weight: 950;
     color: rgba(255,255,255,.92);
     text-decoration:none;
   }
   .page-contact2026 .link:hover{ background: rgba(255,255,255,.09); }
   
   .page-contact2026 .miniMeta{
     margin-top: 14px;
     display:flex;
     flex-wrap:wrap;
     gap: 10px;
     color: rgba(255,255,255,.78);
     font-weight: 800;
     font-size: 13px;
   }
   .page-contact2026 .miniMeta span{
     display:inline-flex;
     align-items:center;
     gap: 8px;
     padding: 8px 10px;
     border-radius: 999px;
     background: rgba(255,255,255,.04);
     border: 1px solid rgba(255,255,255,.08);
   }
   
   /* Right column */
   .page-contact2026 .glassMedia{
     display:grid;
     gap: 14px;
   }
   .page-contact2026 .sideCard{
     border-radius: 26px;
     padding: 18px;
     background: rgba(255,255,255,.05);
     border: 1px solid rgba(255,255,255,.10);
     box-shadow: var(--shadow2);
   }
   
   /* CTA bar */
   .page-contact2026 .ctaBar{
     border-radius: 28px;
     padding: 22px;
     background: linear-gradient(135deg, rgba(28, 26, 62, 0.18), rgba(15, 17, 36, 0.41), rgba(46, 233, 166, 0.10));
     border: 1px solid rgba(255,255,255,.10);
     box-shadow: var(--shadow);
     display:grid;
     grid-template-columns: 1fr auto;
     gap: 18px;
     align-items:center;
   }
   .page-contact2026 .ctaBar .actions{ margin-top: 0; }
   @media (max-width: 1100px){
     .page-contact2026 .ctaBar{ grid-template-columns: 1fr; }
   }
   
   /* Forminator skin (anti-conflits) */
   .page-contact2026 .formWrap .forminator-ui{
     color: rgba(255,255,255,.92);
   }
   .page-contact2026 .formWrap .forminator-ui *{
     box-sizing: border-box;
   }
   
   .page-contact2026 .formWrap .forminator-label{
     color: rgba(255,255,255,.85) !important;
     font-weight: 900 !important;
   }
   
   .page-contact2026 .formWrap .forminator-input,
   .page-contact2026 .formWrap .forminator-textarea,
   .page-contact2026 .formWrap select{
     background: rgba(0,0,0,.22) !important;
     border: 1px solid rgba(255,255,255,.14) !important;
     color: rgba(255,255,255,.92) !important;
     border-radius: 14px !important;
     outline: none !important;
   }
   
   .page-contact2026 .formWrap .forminator-button-submit{
     border-radius: 14px !important;
     font-weight: 950 !important;
     padding: 12px 16px !important;
     border: 1px solid rgba(255,255,255,.10) !important;
     color: #071018 !important;
     background: linear-gradient(135deg, rgba(124,92,255,1), rgba(0,209,255,1)) !important;
   }
   
   /* ✅ reCAPTCHA badge z-index (évite conflits visuels) */
   .page-contact2026 .formWrap .grecaptcha-badge{
     z-index: 5 !important;
   }
   
   /* ✅ Air entre le header sticky et le hero (Contact) */
body.page-template-page-contact .page-contact2026 .module--cHero,
body.page-template-page-contact-php .page-contact2026 .module--cHero{
  padding-top: 26px; /* ajuste 18-40px selon goût */
}

/* Mobile : un peu moins */
@media (max-width: 760px){
  body.page-template-page-contact .page-contact2026 .module--cHero,
  body.page-template-page-contact-php .page-contact2026 .module--cHero{
    padding-top: 18px;
  }
}