/* ================================================
   CONTACT
   ================================================ */

.contact-content { background:#f9f9f9; color:#1a1a1a; }

/* ===== BANDEAU HERO ===== */
.contact-hero-banner {
  background: #0c0c0c;
  padding: 110px 60px 90px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Halo jaune doux */
.contact-hero-banner::after {
  content: '';
  position: absolute;
  top: -40%; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 400px;
  background: radial-gradient(ellipse, rgba(255,230,0,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.contact-hero-banner p {
  font-size: 100px;
  font-weight: 900;
  letter-spacing: -5px;
  text-transform: uppercase;
  color: #fff;
  line-height: 0.88;
  position: relative;
  z-index: 1;
}

.contact-hero-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 8px !important;
  text-transform: uppercase;
  color: #ffe600 !important;
  line-height: 1 !important;
  margin-bottom: 20px;
}

/* ===== BADGE DISPONIBILITÉ ===== */
.avail-bar {
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#edfaf0;
  border:1px solid #d1f0da;
  border-radius:12px;
  padding:10px 16px;
  margin-bottom:16px;
}

.avail-dot {
  width:9px; height:9px;
  border-radius:50%;
  background:#22c55e;
  flex-shrink:0;
  animation:pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(34,197,94,0.4); }
  50% { opacity:0.8; box-shadow:0 0 0 5px rgba(34,197,94,0); }
}

.avail-bar p {
  font-size:12px;
  font-weight:600;
  color:#16a34a;
  letter-spacing:0.5px;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.avail-bar p span { color:#888; font-weight:300; margin-left:0; font-size:11px; }
.avail-bar p .avail-line2 { color:#16a34a; font-weight:400; font-size:11px; }
.avail-bar p span:last-child { font-size:13px; font-weight:600; color:#555; margin-top:2px; }

/* ===== SPLIT : FORMULAIRE + PHOTO ===== */
.contact-split {
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  height:800px;
  border-bottom:1px solid rgba(0,0,0,0.08);
  overflow:hidden;
}

.contact-split-left {
  padding:30px 50px;
  background:#f9f9f9;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  overflow-y:auto;
}

.contact-form-wrap {
  background:#fff;
  border-radius:20px;
  padding:32px 34px;
  width:100%;
  max-width:460px;
  box-shadow:0 4px 30px rgba(0,0,0,0.08);
  border:1px solid rgba(0,0,0,0.06);
  text-align:center;
}

.split-label {
  font-size:13px; font-weight:700; letter-spacing:5px;
  text-transform:uppercase; color:#d42020; margin-bottom:12px;
}

.split-title {
  font-size:36px; font-weight:900; text-transform:uppercase;
  color:#1a1a1a; letter-spacing:-1px; line-height:1.05; margin-bottom:12px;
}

.split-sub {
  font-size:15px; font-weight:300; color:#555; line-height:1.7;
  margin-bottom:28px; text-align:center;
}

.contact-form { display:flex; flex-direction:column; }

.contact-form input,
.contact-form textarea {
  background:transparent;
  border:none;
  border-bottom:1.5px solid rgba(0,0,0,0.18);
  color:#1a1a1a;
  font-family:'Outfit',sans-serif;
  font-size:14px; font-weight:400; padding:13px 0;
  outline:none; transition:border-color 0.3s ease;
  resize:none; width:100%;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder { color:rgba(0,0,0,0.4); }

.contact-form input:focus,
.contact-form textarea:focus { border-color:#c0392b; }

.contact-form textarea { height:90px; margin-top:6px; }

.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }

.contact-submit {
  margin-top:22px; width:100%;
  background:#c0392b; border:2px solid #1a1a1a; border-radius:8px;
  color:#fff; font-family:'Outfit',sans-serif; font-size:12px;
  font-weight:700; letter-spacing:3px; text-transform:uppercase;
  padding:16px; cursor:pointer; transition:all 0.3s ease;
  box-shadow:0 4px 16px rgba(0,0,0,0.12);
}

.contact-submit:hover {
  background:#a93226; letter-spacing:4px;
  box-shadow:0 6px 24px rgba(0,0,0,0.18);
}

.contact-guarantee {
  font-size:12px; color:#999; letter-spacing:1.5px;
  text-transform:uppercase; text-align:center; margin-top:14px;
}

.contact-split-right {
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:30px;
  background:#f9f9f9;
  overflow:hidden;
}

.contact-split-right img {
  width:100%; height:100%;
  object-fit:cover; object-position:center center;
  display:block; border-radius:20px;
  box-shadow:0 8px 40px rgba(0,0,0,0.15);
}

/* ===== COORDONNÉES + MAP ===== */
.contact-bottom {
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
}

.contact-left-col {
  padding:70px 80px;
  border-right:1px solid rgba(0,0,0,0.07);
  background:#fff;
  display:flex; flex-direction:column; align-items:center;
}

.col-label {
  font-size:13px; font-weight:700; letter-spacing:5px;
  text-transform:uppercase; color:#d42020; margin-bottom:16px;
  text-align:center; align-self:center;
}

.col-title {
  font-size:48px; font-weight:900; text-transform:uppercase;
  color:#1a1a1a; letter-spacing:-2px; line-height:1;
  margin-bottom:44px; text-align:center; align-self:center;
}

.coord-list { display:flex; flex-direction:column; width:100%; max-width:380px; }

.coord-item {
  display:flex; align-items:flex-start; gap:22px;
  padding:24px 0; border-bottom:1px solid rgba(0,0,0,0.06);
}
.coord-item:last-child { border-bottom:none; }

.coord-icon {
  width:48px; height:48px; background:#f4f4f4;
  border:1px solid rgba(0,0,0,0.08);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex-shrink:0;
}

.coord-body h4 {
  font-size:11px; font-weight:700; letter-spacing:3px;
  text-transform:uppercase; color:rgba(0,0,0,0.35); margin-bottom:7px;
}
.coord-body p { font-size:18px; font-weight:400; color:#1a1a1a; line-height:1.6; }
.coord-body a { color:#1a1a1a; text-decoration:none; transition:color 0.2s; }
.coord-body a:hover { color:#c0392b; }

.contact-map-wrap {
  position:relative; overflow:hidden; min-height:400px;
  display:flex; align-items:center; justify-content:center;
  padding:40px; background:#f9f9f9;
}

.contact-map-wrap iframe {
  width:100%; height:100%; border:none; display:block;
  filter:grayscale(20%) brightness(105%); opacity:0.9;
  position:absolute; inset:40px;
  border-radius:20px;
  box-shadow:0 8px 40px rgba(0,0,0,0.15);
  width:calc(100% - 80px);
  height:calc(100% - 80px);
}

.map-badge {
  position:absolute; bottom:56px; left:56px;
  background:#fff; border:1px solid rgba(0,0,0,0.1);
  padding:12px 20px; pointer-events:none;
  box-shadow:0 4px 20px rgba(0,0,0,0.1); z-index:2;
  border-radius:10px;
}

.map-badge h4 {
  font-size:10px; font-weight:700; letter-spacing:4px;
  text-transform:uppercase; color:#bbb; margin-bottom:5px;
}
.map-badge p { font-size:15px; font-weight:700; color:#1a1a1a; }

/* Responsive tablette */
@media (min-width: 600px) and (max-width: 900px) {
  .contact-hero-banner { padding: 70px 30px 60px; }
  .contact-hero-banner p { font-size: 64px; letter-spacing: -3px; }
  .contact-split { grid-template-columns: 1fr; height: auto; }
  .contact-split-right { height: 280px; padding: 20px; }
  .contact-split-left { padding: 30px 30px; }
  .contact-form-wrap { max-width: 100%; padding: 28px 24px; }
  .split-title { font-size: 30px; }
  .contact-bottom { grid-template-columns: 1fr; }
  .contact-left-col { padding: 40px 30px; border-right: none; border-bottom: 1px solid rgba(0,0,0,0.07); align-items: flex-start; }
  .col-title { font-size: 36px; }
  .coord-body p { font-size: 15px; }
  .contact-map-wrap { min-height: 300px; }
  .map-badge { left: 20px; bottom: 20px; }
}

/* Responsive mobile */
@media (max-width: 599px) {
  .contact-hero-banner { padding: 50px 20px 40px; }
  .contact-hero-banner p { font-size: 36px; letter-spacing: -1.5px; }
  .contact-hero-label { font-size: 10px !important; letter-spacing: 5px !important; }
  .contact-split { grid-template-columns: 1fr; height: auto; }
  .contact-split-right { height: 220px; padding: 16px; }
  .contact-split-left { padding: 24px 16px; }
  .contact-form-wrap { padding: 24px 18px; border-radius: 14px; }
  .split-title { font-size: 26px; letter-spacing: -0.5px; }
  .split-sub { font-size: 13px; margin-bottom: 20px; }
  .contact-form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-bottom { grid-template-columns: 1fr; }
  .contact-left-col { padding: 36px 20px; border-right: none; border-bottom: 1px solid rgba(0,0,0,0.07); align-items: flex-start; }
  .col-title { font-size: 32px; letter-spacing: -1px; margin-bottom: 28px; }
  .coord-item { gap: 14px; padding: 18px 0; }
  .coord-icon { width: 38px; height: 38px; font-size: 16px; }
  .coord-body p { font-size: 14px; }
  .contact-map-wrap { min-height: 240px; padding: 20px; }
  .contact-map-wrap iframe { inset: 20px; width: calc(100% - 40px); height: calc(100% - 40px); }
  .map-badge { left: 12px; bottom: 12px; padding: 10px 14px; }
  .map-badge p { font-size: 13px; }
}
