/* ==========================================================
   Planet Inter — Contact V2
   CSS isolé de Divi / Fluent Forms
   ========================================================== */
.pi-contact-v2,
.pi-contact-v2 * { box-sizing: border-box; }

.pi-contact-v2 {
  --navy:#0A2A5E;
  --logo-dark:#003670;
  --logo-blue:#0095DB;
  --orange:#FF6A1A;
  --ember:#E85D10;
  --ink:#0E1726;
  --muted:#5B6472;
  --line:#E5EAF0;
  font-family: Inter, Arial, sans-serif;
  color:var(--ink);
  background:#fff;
}

.pi-contact-v2 h1,
.pi-contact-v2 h2,
.pi-contact-v2 h3,
.pi-contact-v2 p { margin-top:0; }

.contact-v2-hero {
  position:relative;
  overflow:hidden;
  min-height:760px;
  padding:150px 0 92px;
  background:linear-gradient(120deg,var(--navy) 0%,var(--logo-dark) 42%,var(--logo-blue) 100%);
  color:#fff;
}

.contact-v2-grid-pattern {
  position:absolute; inset:0; pointer-events:none; opacity:.07;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);
  background-size:44px 44px;
}
.contact-v2-glow { position:absolute; right:-120px; top:-140px; width:480px; height:480px; border-radius:50%; background:rgba(255,106,26,.18); filter:blur(80px); pointer-events:none; }
.contact-v2-container { width:min(1240px,calc(100% - 40px)); margin:0 auto; position:relative; z-index:2; }
.contact-v2-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(440px,.92fr); gap:72px; align-items:start; }

.contact-v2-copy { padding-top:6px; }
.contact-v2-back { display:inline-flex; align-items:center; gap:9px; margin-bottom:28px; color:rgba(255,255,255,.68); text-decoration:none; font-size:13px; font-weight:600; transition:.2s ease; }
.contact-v2-back:hover { color:#fff; transform:translateX(-2px); }
.contact-v2-kicker { margin-bottom:14px!important; color:var(--orange); font-size:12px; line-height:1.2; letter-spacing:.22em; font-weight:800; }
.pi-contact-v2 .contact-v2-copy h1 { margin:0!important; color:#fff!important; font-family:"Space Grotesk",Inter,sans-serif!important; font-size:clamp(46px,5vw,72px)!important; line-height:1.01!important; letter-spacing:-.045em!important; font-weight:700!important; }
.contact-v2-intro-wrap { margin-top:26px; max-width:540px; }
.contact-v2-intro { margin:0!important; color:rgba(255,255,255,.78)!important; font-size:16px!important; line-height:1.75!important; }
.contact-v2-intro[hidden] { display:none!important; }
.contact-v2-details { margin-top:36px; display:grid; gap:14px; }
.contact-v2-phone-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-v2-phone-card { display:flex; align-items:center; gap:12px; min-height:76px; padding:13px 15px; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:rgba(255,255,255,.07); color:#fff; text-decoration:none; opacity:.58; transition:.25s ease; }
.contact-v2-phone-card:hover,.contact-v2-phone-card.is-active { opacity:1; background:rgba(255,255,255,.11); border-color:rgba(255,106,26,.62); transform:translateY(-2px); }
.contact-v2-detail-icon,.contact-v2-simple-icon { display:grid; place-items:center; flex:0 0 auto; width:38px; height:38px; border-radius:12px; background:rgba(255,106,26,.16); color:var(--orange); font-size:18px; }
.contact-v2-phone-card small { display:block; margin-bottom:3px; color:rgba(255,255,255,.58); font-size:10px; letter-spacing:.11em; font-weight:700; }
.contact-v2-phone-card strong { color:#fff; font-size:15px; }
.contact-v2-simple-detail { display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.82); text-decoration:none; font-size:15px; line-height:1.45; }
a.contact-v2-simple-detail:hover { color:#fff; }

.contact-v2-form-card { background:#fff; color:var(--ink); border-radius:28px; padding:30px 32px 34px; box-shadow:0 30px 80px -28px rgba(3,35,75,.48); }
.contact-v2-switch-label { display:block; margin-bottom:9px; color:var(--muted); font-size:13px; font-weight:700; }
.contact-v2-switch { display:inline-flex; gap:4px; padding:4px; margin-bottom:28px; border-radius:14px; background:#F0F3F7; }
.contact-v2-tab { appearance:none; border:0; background:transparent; padding:11px 24px; border-radius:11px; color:var(--muted); font:700 14px/1 Inter,Arial,sans-serif; cursor:pointer; transition:.2s ease; }
.contact-v2-tab.is-active { background:#fff; color:var(--navy); box-shadow:0 3px 12px rgba(10,42,94,.12); }
.contact-v2-tab:focus-visible { outline:3px solid rgba(0,149,219,.24); outline-offset:2px; }
.contact-v2-form-panel[hidden] { display:none!important; }
.contact-v2-form-heading { margin-bottom:22px; }
.pi-contact-v2 .contact-v2-form-heading h2 { margin:0 0 6px!important; color:var(--navy)!important; font-family:"Space Grotesk",Inter,sans-serif!important; font-size:26px!important; line-height:1.15!important; font-weight:700!important; }
.contact-v2-form-heading p { margin:0!important; color:var(--muted)!important; font-size:14px!important; line-height:1.6!important; }
.contact-v2-form-placeholder { min-height:220px; display:grid; place-content:center; gap:7px; text-align:center; border:1px dashed #C8D4DF; border-radius:18px; background:#F8FAFC; color:var(--muted); padding:28px; }
.contact-v2-form-placeholder strong { color:var(--navy); }

/* Fluent Forms — volontairement namespacé */
.pi-contact-v2 .fluentform { margin:0!important; }
.pi-contact-v2 .fluentform .ff-el-group { margin-bottom:14px!important; }
.pi-contact-v2 .fluentform .ff-el-input--label label { margin-bottom:7px!important; color:var(--navy)!important; font-size:13px!important; font-weight:700!important; }
.pi-contact-v2 .fluentform .ff-el-form-control,
.pi-contact-v2 .fluentform input[type=text],
.pi-contact-v2 .fluentform input[type=email],
.pi-contact-v2 .fluentform input[type=tel],
.pi-contact-v2 .fluentform input[type=number],
.pi-contact-v2 .fluentform select,
.pi-contact-v2 .fluentform textarea {
  width:100%!important; min-height:48px!important; border:1px solid #DCE3EA!important; border-radius:12px!important; background:#fff!important; color:var(--ink)!important; box-shadow:none!important; padding:12px 14px!important; font:500 14px/1.45 Inter,Arial,sans-serif!important; transition:border-color .2s ease,box-shadow .2s ease!important;
}
.pi-contact-v2 .fluentform textarea { min-height:118px!important; resize:vertical; }
.pi-contact-v2 .fluentform .ff-el-form-control:focus,
.pi-contact-v2 .fluentform input:focus,
.pi-contact-v2 .fluentform select:focus,
.pi-contact-v2 .fluentform textarea:focus { outline:0!important; border-color:var(--logo-blue)!important; box-shadow:0 0 0 3px rgba(0,149,219,.12)!important; }
.pi-contact-v2 .fluentform .ff-btn-submit,
.pi-contact-v2 .fluentform button[type=submit],
.pi-contact-v2 .fluentform input[type=submit] { border:0!important; border-radius:12px!important; background:var(--orange)!important; color:#fff!important; padding:13px 22px!important; font:700 14px/1 Inter,Arial,sans-serif!important; box-shadow:none!important; cursor:pointer!important; transition:.2s ease!important; }
.pi-contact-v2 .fluentform .ff-btn-submit:hover,
.pi-contact-v2 .fluentform button[type=submit]:hover,
.pi-contact-v2 .fluentform input[type=submit]:hover { background:var(--ember)!important; transform:translateY(-1px); }
.pi-contact-v2 .fluentform .error.text-danger,
.pi-contact-v2 .fluentform .ff-el-is-error .text-danger { color:#B42318!important; font-size:12px!important; }
.pi-contact-v2 .fluentform .ff-message-success { border:1px solid rgba(0,149,219,.22)!important; border-radius:14px!important; background:#EFF9FD!important; color:var(--navy)!important; padding:16px!important; }

/* Footer temporaire */
.contact-v2-footer { border-top:1px solid #EDF1F5; background:#fff; color:var(--muted); font-family:Inter,Arial,sans-serif; }
.contact-v2-footer-inner { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:58px 0 42px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.35fr; gap:48px; }
.contact-v2-footer-brand img { width:auto; height:40px; }
.contact-v2-footer-brand p { max-width:300px; margin:16px 0 0; line-height:1.65; font-size:14px; }
.contact-v2-footer h3 { margin:0 0 15px; color:#94A0AF; font-size:11px; letter-spacing:.18em; font-weight:800; }
.contact-v2-footer a,.contact-v2-footer span { display:block; margin:0 0 9px; color:var(--muted); text-decoration:none; font-size:14px; }
.contact-v2-footer a:hover { color:var(--orange); }
.contact-v2-footer-bottom { width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:22px 0 30px; border-top:1px solid #EDF1F5; color:#9AA5B2; font-size:12px; }

@media (max-width:980px) {
  .contact-v2-hero { min-height:auto; padding-top:132px; }
  .contact-v2-layout { grid-template-columns:1fr; gap:42px; }
  .contact-v2-form-card { max-width:720px; width:100%; }
  .contact-v2-footer-inner { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .contact-v2-hero { padding:116px 0 58px; }
  .contact-v2-container { width:min(100% - 28px,1240px); }
  .pi-contact-v2 .contact-v2-copy h1 { font-size:44px!important; }
  .contact-v2-phone-grid { grid-template-columns:1fr; }
  .contact-v2-form-card { padding:22px 18px 26px; border-radius:22px; }
  .contact-v2-switch { width:100%; }
  .contact-v2-tab { flex:1; padding-inline:12px; }
  .contact-v2-footer-inner { grid-template-columns:1fr; gap:30px; width:min(100% - 28px,1240px); }
  .contact-v2-footer-bottom { width:min(100% - 28px,1240px); }
}
