/* ==========================================================================
   FAQ Section — base style (full-width) + two-column variant
   ========================================================================== */

.faq-section {
  padding: var(--section-padding) 0;
}

.faq-section .section__header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.faq-section .section__title {
  color: var(--color-text-primary);
}

.faq-section__items {
  width: 100%;
}

/* --two-col variant: narrower FAQ left, image/map right */
.faq-section--two-col .faq-section__layout {
  display: flex;
  gap: var(--spacing-xl);
  align-items: flex-start;
}

.faq-section--two-col .faq-section__left {
  flex: 0 0 630px;
}

.faq-section--two-col .faq-section__right {
  flex: 1;
}

.faq-section__image img {
  width: 100%;
  max-height: 352px;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.faq-section__map {
  width: 100%;
  height: 352px;
}

.faq-section__right .faq-section__map.leaflet-container {
  border-radius: var(--radius-card-lg);
  overflow: hidden;
}

/* Responsive — Tablet */
@media (max-width: 1023px) {
  .faq-section--two-col .faq-section__layout {
    gap: var(--spacing-lg);
  }

  .faq-section--two-col .faq-section__left {
    flex: 1;
  }

  .faq-section--two-col .faq-section__right {
    flex: 0 0 40%;
  }
}

/* Responsive — Mobile */
@media (max-width: 767px) {
  .faq-section {
    padding: var(--spacing-xl) 0;
    overflow: hidden;
  }

  .faq-section .section__header {
    margin-bottom: 32px;
  }

  .faq-section .section__title {
    text-transform: uppercase;
  }

  .faq-section--two-col .faq-section__layout {
    flex-direction: column-reverse;
    gap: var(--spacing-lg);
  }

  .faq-section--two-col .faq-section__left {
    flex: none;
    max-width: 100%;
  }

  .faq-section--two-col .faq-section__right {
    flex: none;
    width: 100%;
  }

  .faq-section__map {
    height: 280px;
  }
}
