/* ============================================
   CONTACT AGENCES — Archiprogramme
   ============================================ */

.ap-contact-agences {
  display: grid;
  grid-template-columns: 42% 1fr;
  background: var(--ap-carnet, #EFE9DD);
  align-items: center;
}

/* ── Panneau gauche ── */
.ap-contact-agences__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  padding: clamp(32px, 4vw, 56px) clamp(24px, 5vw, 72px);
  gap: clamp(28px, 3.5vw, 44px);
}

/* ── Carte agence ── */
.ap-contact-agences__agency {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0 0 0 20px;
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: border-color 0.3s, opacity 0.3s;
  opacity: 0.38;
  outline: none;
}

.ap-contact-agences__agency.is-active {
  border-left-color: var(--ap-signal, #EA6928);
  opacity: 1;
}

.ap-contact-agences__agency:hover:not(.is-active) {
  opacity: 0.65;
}

.ap-contact-agences__agency-name {
  font-family: 'Epilogue', sans-serif !important;
  font-size: clamp(22px, 2.5vw, 32px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--ap-nuit, #0D0D0D) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  line-height: 1.1 !important;
}

.ap-contact-agences__agency address {
  font-style: normal;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.65;
  color: var(--ap-nuit, #0D0D0D);
  margin-bottom: 16px;
}

.ap-contact-agences__agency-contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ap-contact-agences__agency-contact a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: clamp(13px, 1.1vw, 16px) !important;
  color: var(--ap-nuit, #0D0D0D) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.ap-contact-agences__agency.is-active .ap-contact-agences__agency-contact a:hover {
  color: var(--ap-signal, #EA6928) !important;
}

/* ── Carte / Map ── */
.ap-contact-agences__map-wrapper {
  position: relative;
  overflow: hidden;
  height: clamp(420px, 55vh, 560px);
  align-self: center;
}

.ap-contact-agences__map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  filter: grayscale(1) brightness(1.1);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

.ap-contact-agences__map.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .ap-contact-agences {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ap-contact-agences__map-wrapper {
    height: 420px;
    position: relative;
  }
}

@media (max-width: 480px) {
  .ap-contact-agences__map-wrapper {
    height: 320px;
  }

  .ap-contact-agences__agency {
    padding-left: 14px;
  }
}
