/* FAQ / Elementor toggle widget styling
   Covers all FAQ sections on city + service pages. */

/* ===== Section wrapper ===== */
/* Any elementor-top-section whose class contains "-faq" (our per-page naming). */
section[class*="-faq"].elementor-top-section,
.elementor-section[class*="-faq"] {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
  background-color: #f0eada !important;
}

/* Also catch it via :has() on modern browsers for any stragglers */
section.elementor-top-section:has(.elementor-widget-toggle) {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
  background-color: #f0eada !important;
}

/* ===== Center the heading ===== */
section[class*="-faq"] .elementor-widget-heading,
.elementor-section[class*="-faq"] .elementor-widget-heading,
section.elementor-top-section:has(.elementor-widget-toggle) .elementor-widget-heading {
  margin-bottom: 40px;
  text-align: center !important;
}

section[class*="-faq"] .elementor-widget-heading .elementor-heading-title,
.elementor-section[class*="-faq"] .elementor-widget-heading .elementor-heading-title,
section.elementor-top-section:has(.elementor-widget-toggle) .elementor-widget-heading .elementor-heading-title {
  color: #1e2a3b;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -0.01em;
  max-width: 900px;
  margin: 0 auto !important;
  line-height: 1.25;
  text-align: center !important;
  text-transform: uppercase;
}

/* ===== Toggle structure base ===== */
.elementor-toggle { text-align: start; }

.elementor-toggle .elementor-tab-title {
  cursor: pointer;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  outline: none;
  padding: 18px 22px;
  position: relative;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon {
  display: inline-block;
  width: 1em;
  margin-right: 10px;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg {
  height: 1em;
  width: 1em;
  margin-inline-start: -5px;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left {
  float: left;
  text-align: left;
}

.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed { display: inline-block; }
.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened { display: none; }
.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed { display: none; }
.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened { display: inline-block; }

.elementor-tab-title a { color: inherit; text-decoration: none; }

.elementor-toggle .elementor-tab-content {
  display: none;
  padding: 22px 26px;
}

/* ===== Toggle theme (navy bar + cream content) ===== */
.elementor-widget-toggle {
  max-width: 900px;
  margin: 0 auto;
}

.elementor-widget-toggle .elementor-toggle {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(30, 42, 59, 0.1);
}

.elementor-widget-toggle .elementor-tab-title {
  background-color: #1e2a3b;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: background-color 0.2s ease;
}

.elementor-widget-toggle .elementor-tab-title:hover {
  background-color: #26354a;
}

.elementor-widget-toggle .elementor-tab-title.elementor-active {
  background-color: #1e2a3b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.elementor-widget-toggle .elementor-toggle-title,
.elementor-widget-toggle .elementor-toggle-icon,
.elementor-widget-toggle .elementor-toggle-icon i {
  color: #ffffff;
}

.elementor-widget-toggle .elementor-toggle-icon svg { fill: #ffffff; }

.elementor-widget-toggle .elementor-tab-content {
  background-color: #ffffff;
  color: #2b3443;
  font-size: 15.5px;
  line-height: 1.7;
  border-bottom: 1px solid rgba(30, 42, 59, 0.06);
}

.elementor-widget-toggle .elementor-tab-content p {
  margin: 0;
  color: inherit;
}

/* First/last corners */
.elementor-widget-toggle .elementor-toggle-item:first-child .elementor-tab-title { border-radius: 6px 6px 0 0; }
.elementor-widget-toggle .elementor-toggle-item:last-child .elementor-tab-title:not(.elementor-active) {
  border-radius: 0 0 6px 6px;
  border-bottom: none;
}
.elementor-widget-toggle .elementor-toggle-item:last-child .elementor-tab-content {
  border-radius: 0 0 6px 6px;
  border-bottom: none;
}

/* Responsive */
@media (max-width: 767px) {
  section[class*="-faq"].elementor-top-section,
  .elementor-section[class*="-faq"],
  section.elementor-top-section:has(.elementor-widget-toggle) {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .elementor-widget-toggle .elementor-tab-title { padding: 14px 16px; font-size: 15px; }
  .elementor-widget-toggle .elementor-tab-content { padding: 16px 18px; font-size: 15px; }
}
