/* #region PAGE CONTACT */
.contact-page { padding-top: 120px; }
.contact-hero { position: relative; padding: 120px 0 56px; overflow: hidden; background: var(--bg); }
.contact-hero::before { content: none; }
.contact-hero .container { position: relative; z-index: 1; }
.contact-title-wrap { text-align: center; }
.contact-title { position: relative; font-family: "Sora", sans-serif; font-size: clamp(2.2rem, 5vw, 4.2rem); font-weight: 800; line-height: 1.05; letter-spacing: 0; margin-bottom: 26px; color: #11151b; text-wrap: balance; }
.contact-title::after { content: ""; display: block; width: 78px; height: 3px; margin: 18px auto 0; border-radius: 999px; background: linear-gradient(90deg, var(--blue), var(--blue-strong)); box-shadow: 0 8px 18px rgba(74,151,223,.18); }.contact-title span { color: var(--blue-strong); }
.contact-subtitle { font-family: "Sora", sans-serif; font-size: clamp(1.2rem, 2vw, 2.15rem); font-weight: 700; line-height: 1.18; color: #11151b; }
.contact-form-section { padding: 40px 0 120px; }
.contact-card { position: relative; overflow: hidden; max-width: 1040px; margin: 0 auto; background: linear-gradient(145deg, #dbeaf5 0%, #edf6fb 100%); border-radius: 34px; padding: 56px 68px; box-shadow: 0 18px 44px rgba(16, 24, 32, 0.13), inset 0 1px 0 rgba(255,255,255,.62); border: 1px solid rgba(170, 198, 219, 0.55); }
.contact-card::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--blue), var(--blue-strong)); opacity: .9; }
.form-row { margin-bottom: 24px; }
.form-row.two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.contact-form input, .contact-form textarea { width: 100%; border: none; outline: none; background: rgba(255,255,255,.86); color: #1f2430; font-family: "Poppins", sans-serif; font-size: 1rem; border-radius: 18px; padding: 18px; box-shadow: inset 0 0 0 2px rgba(196, 208, 218, 0.42), 0 8px 18px rgba(16,24,32,.035); transition: box-shadow .25s ease, background-color .25s ease, transform .25s var(--ease-smooth); }
.contact-form input:hover, .contact-form textarea:hover { background: #ffffff; box-shadow: inset 0 0 0 2px rgba(173, 198, 216, .62), 0 10px 20px rgba(16,24,32,.045); }
.contact-form input:focus, .contact-form textarea:focus { background: #ffffff; transform: translateY(-1px); box-shadow: inset 0 0 0 2px rgba(74,151,223,.52), var(--focus-ring), 0 12px 26px rgba(16,24,32,.055); }
.contact-form textarea { min-height: 230px; resize: vertical; }
.form-actions { display: flex; justify-content: flex-end; }
.form-actions .pill-btn {
  min-width: 148px;
  min-height: 46px;
  padding: 10px 20px;
  border-radius: 11px;
}
.contact-info-section { padding: 80px 0 140px; }
.contact-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.contact-map-card { border-radius: 24px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid rgba(214,225,232,.9); transition: transform .35s var(--ease-smooth), box-shadow .35s ease; }
.contact-map-card:hover { transform: translateY(-5px); box-shadow: 0 24px 52px rgba(16,24,32,.13); }
.contact-map-card iframe { width: 100%; height: 420px; border: 0; }
.contact-details { display: flex; flex-direction: column; gap: 34px; }
.contact-detail-item { display: flex; align-items: center; gap: 20px; padding: 16px; border-radius: 22px; border: 1px solid rgba(214,225,232,.72); background: rgba(255,255,255,.62); transition: transform .28s var(--ease-smooth), box-shadow .28s ease, border-color .25s ease, background-color .25s ease; }
.contact-detail-item:hover { transform: translateX(5px); border-color: rgba(117,184,234,.46); background: rgba(255,255,255,.88); box-shadow: 0 14px 30px rgba(16,24,32,.07); }
.contact-detail-icon { width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(180deg, rgba(117, 184, 234, 0.16), rgba(117, 184, 234, 0.08)); border: 1px solid rgba(117,184,234,.22); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; transition: transform .28s var(--ease-smooth); }
.contact-detail-item:hover .contact-detail-icon { transform: scale(1.06); }
.contact-detail-text p { font-size: 1.2rem; }
.contact-privacy-box { display: flex; align-items: flex-start; gap: 14px; margin-top: 20px; padding: 16px 18px; border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(244,249,253,.96)); border: 1px solid rgba(193,218,235,.9); box-shadow: 0 10px 24px rgba(16,24,32,.05), inset 0 1px 0 rgba(255,255,255,.72); }
.contact-privacy-icon { width: 42px; height: 42px; min-width: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #eef6fb 0%, #e3eef6 100%); border: 1px solid #d4e4ef; color: #1694aa; box-shadow: inset 0 1px 0 rgba(255,255,255,.78); }
.contact-privacy-icon svg { width: 20px; height: 20px; display: block; }
.contact-privacy-content { min-width: 0; }
.contact-privacy-title { display: block; margin-bottom: 6px; font-family: "Sora", sans-serif; font-size: .96rem; line-height: 1.2; font-weight: 700; color: #162033; letter-spacing: 0; }
.contact-privacy-text { margin: 0; color: #42515d; font-size: .92rem; line-height: 1.7; }
.contact-privacy-text a { color: #1694aa; font-weight: 600; text-decoration: none; }
.contact-privacy-text a:hover { text-decoration: underline; }
/* #endregion */

/* Ajustement demandé : barre bleue alignée sous le début du titre */
.contact-title-wrap { text-align: center; }
.contact-title { display: inline-block; text-align: center; }
.contact-title::after { margin-left: 0 !important; margin-right: auto !important; }
