/* ---------------------------------------------------------------------
 * Custom stylesheet for the Urban Solutions page
 *
 * This file contains all of the bespoke styles required to implement
 * the tabbed interface and call‑to‑action section on the solutions page.
 * These rules have been written to harmonise with the existing colour
 * palette and typography defined in styles.css without overriding
 * global styles.
 */

/* Layout for the solutions section */
.tab-section {
  padding-top: 3rem;
  padding-bottom: 3rem;
  width: 100%;
  background-color: #ffffff;
}

/* Wrapper around the tab buttons and their content */
.tab-container {
  width: 100%;
  margin-top: 1rem;
}

/* Horizontal container for the tabs */
.tabs {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #e5e7eb;
}

/* Individual tab buttons */
.tabs .tab {
  background: none;
  border: none;
  outline: none;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  color: #374151;
  border-bottom: 3px solid transparent;
  transition: color .3s, border-color .3s;
}

/* Hover state for the tabs */
.tabs .tab:hover {
  color: #7CB342;
}

/* Active tab styling */
.tabs .tab.active {
  border-color: #7CB342;
  color: #7CB342;
}

/* Container for all tab panels */
.tab-content-wrapper {
  width: 100%;
}

/* Hidden tab panel by default */
.tab-content {
  display: none;
  padding-top: 2rem;
}

/* Visible tab panel */
.tab-content.active {
  display: block;
}

/* Layout for each tab's content */
.tab-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

/* Images within tab panels */
.tab-grid img {
  max-width: 100%;
  border-radius: 0.5rem;
}

/* Title within each tab panel */
.tab-grid h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1F2937;
}

/* Body text within each tab panel */
.tab-grid p {
  font-size: 1rem;
  line-height: 1.6;
  color: #4B5563;
  margin-bottom: 0.5rem;
}

/* Link style within tabs */
.tab-grid .cta-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  color: #7CB342;
  text-decoration: underline;
  transition: color .3s;
}

/* Hover state for the call‑to‑action links */
.tab-grid .cta-link:hover {
  color: #558b2f;
}

/* Call to action section styling */
.call-to-action {
  text-align: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #F1F8E9;
}

.call-to-action h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #374151;
}

.call-to-action p {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #4B5563;
}

.call-to-action .primary-button-style {
  margin-top: 1rem;
}