.psp-booking-card {
  padding: 24px;
  color: #163c29;
  background: #f3f7f4;
  border: 1px solid #d3e1d7;
  border-radius: 8px;
  text-align: left;
  scroll-margin-top: 160px;
}
.psp-booking-card h3, .sidebar .psp-booking-card h3 {
  width: auto; max-width: none; margin-top: 0; color: #1f613e; font-size: 22px; text-transform: none;
}
.psp-booking-card p { margin-bottom: 14px; }
.psp-booking-card .sidebar-button { margin: 4px 0; color: #173d29; }
.psp-booking-card a[href^="tel:"] { color: #1f613e; text-decoration: underline; }
.psp-booking-card a:focus-visible, .se-booking-show:focus-visible {
  outline: 3px solid #1f613e;
  outline-offset: 4px;
}
.psp-service-links-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; }
.psp-service-links-grid > .service-areas__services-column { float: none; width: auto; padding: 0; }
.psp-service-links-grid .service-areas__services-link { display: block; }
@media (max-width: 1023px) {
  .psp-service-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .psp-service-links-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* Keep the sidebar booking heading full width and separated from its card. */
.sidebar .gform_widget > h3 {
  width: 100%;
  max-width: none;
  margin-bottom: 12px;
}

/* Homepage services grouped by category. */
.psp-service-links-grid[data-categorized] { gap: 30px 28px; align-items: start; text-align: left; }
.psp-service-category { min-width: 0; }
.psp-service-category summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 12px 0; border-bottom: 2px solid #f6bf00; color: #1f613e; font-size: 20px; font-weight: 700; line-height: 1.3; cursor: pointer; list-style: none; }
.psp-service-category summary::-webkit-details-marker { display: none; }
.psp-service-category summary::after { content: "+"; flex-shrink: 0; font-size: 24px; }
.psp-service-category[open] summary::after { content: "−"; }
.psp-service-category summary:focus-visible { outline: 3px solid #1f613e; outline-offset: 4px; }
.psp-service-category ul { list-style: none; padding: 12px 0 0; margin: 0; }
.psp-service-category li { margin: 0 0 8px; padding: 0; }
.psp-service-category .service-areas__services-link { margin: 0; padding: 2px 0; line-height: 1.5; }

/* Plain background for the homepage service directory. */
.home .service-areas { background-image: none; }
