/* ===== HERO ===== */
.contact-hero{
  position: relative;
  padding: 44px 0 36px;
  color: #0b1220;
  background:
    radial-gradient(1200px 460px at 10% -20%, rgba(14,165,233,.18), transparent 60%),
    radial-gradient(1100px 420px at 95% -10%, rgba(34,197,94,.16), transparent 65%),
    linear-gradient(180deg,#f7fbff 0%, #f8fafc 100%);
  border-bottom: 1px solid #eef2f7;
}
.contact-hero .eyebrow{margin:0 0 6px; font-weight:800; color:#0ea5e9; letter-spacing:.4px}
.contact-hero h1{margin:0; font-size:34px; line-height:1.15}
.contact-hero h1 span{background:linear-gradient(135deg,#0ea5e9,#22c55e); -webkit-background-clip:text; background-clip:text; color:transparent}
.contact-hero .sub{margin:10px 0 0; color:#334155}
.contact-hero .hero-wave{position:absolute; inset:auto 0 -1px 0; height:12px; background:linear-gradient(90deg,rgba(14,165,233,.2),rgba(34,197,94,.2)); filter:blur(14px); opacity:.6}

/* ===== GRID ===== */
.contact-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;
  padding: 26px 16px 50px;
}
@media (max-width: 980px){
  .contact-grid{grid-template-columns:1fr}
}

/* ===== CARDS ===== */
.card{
  background:#fff;
  border:1px solid #e9eef5;
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(2,6,23,.06);
  padding: 18px;
}
.card h2{margin:0 0 8px; font-size:22px}
.help{margin:0 0 10px; color:#64748b}

/* ===== FORM ===== */
.row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:700px){ .row{grid-template-columns:1fr} }
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-weight:700; color:#0f172a}
.field input,.field select,.field textarea{
  appearance:none;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:12px;
  padding:12px 12px;
  font: 600 14px/1.2 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  box-shadow: 0 1px 0 rgba(15,23,42,.03);
  transition: border-color .15s, box-shadow .2s, transform .04s;
}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0; border-color:#a5d8ff;
  box-shadow:0 0 0 4px rgba(14,165,233,.15);
}
.field .err{min-height:14px; color:#b91c1c; font-size:12px}

.actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:8px}
.btn-ghost{
  border:1px solid #e2e8f0; background:#fff; padding:10px 14px; border-radius:12px; font-weight:700; cursor:pointer;
  transition:transform .12s, box-shadow .2s, border-color .2s;
}
.btn-ghost:hover{transform:translateY(-2px); border-color:#cbd5e1; box-shadow:0 12px 24px rgba(2,6,23,.08)}
.legal{color:#94a3b8; font-size:12px; margin:8px 0 0}
.hp{position:absolute; left:-99999px; width:1px; height:1px; opacity:0}

/* ===== INFO SIDE ===== */
.contact-list{list-style:none; padding:0; margin:0 0 8px}
.contact-list li{margin:6px 0; color:#0f172a}
.contact-list a{color:#0ea5e9}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px}
.chip{
  display:inline-block; padding:6px 10px; border-radius:999px; font-weight:700; font-size:12px;
  background:linear-gradient(135deg,#f0f9ff,#ecfeff); color:#0369a1; border:1px solid #dbeafe;
}
.map-wrap{border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; box-shadow:0 10px 30px rgba(2,6,23,.06)}
.map-wrap iframe{display:block; width:100%; height:300px; border:0}
.cta-row{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap}

/* ===== TOAST ===== */
.toast{
  position: fixed; left:50%; bottom:22px; transform:translateX(-50%);
  background:#0f172a; color:#fff; padding:10px 14px; border-radius:12px;
  box-shadow:0 14px 40px rgba(2,6,23,.26); font-weight:700; z-index:60;
}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
/* ---- NAV MOBILE : version simple, sans burger ---- */
@media (max-width: 959px){
  .site-header .burger{ display:none !important; }

  /* menu visible en ligne */
  #main-menu.menu{
    position: static !important;
    transform: none !important;
    display: flex !important;
    gap: 10px;
    padding: 8px 0;
    background: transparent;
    box-shadow: none !important;
  }
}


/* === NAVIGATION SIMPLE (sans burger) — global === */
.burger{display:none !important;}
#menu-overlay{display:none !important;}
.site-header .menu,
#main-menu.menu{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:12px;
  position:static !important;
  transform:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  z-index:auto !important;
}
#main-menu a{display:inline-block;padding:10px 8px;border-radius:10px;}
#main-menu .btn-cta{background:#0ea5e9;color:#fff;font-weight:700;}
@media (max-width: 960px){
  .site-header .menu,#main-menu.menu{flex-wrap:wrap;gap:10px;}
}

/* ===== iOS Safari Hotfixes ===== */
html { height: -webkit-fill-available; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; min-height: -webkit-fill-available; }
input, select, textarea { font-size: 16px; -webkit-appearance: none; }
button, .btn { -webkit-appearance: none; }
.vh-100 { height: calc(var(--vh, 1vh) * 100); }
.touch-scroll { -webkit-overflow-scrolling: touch; overflow-y: auto; }
/* Fallback gap */
@supports not (gap: 1rem) {
  .menu > * { margin-right: 10px; }
}

