/* Page-specific overrides */
.page-content {
  padding: var(--space-xl) 0;
}

.page-content--compact {
  padding: var(--space-lg) 0;
}

.page-hero--about + .page-content {
  padding-top: var(--space-xl);
}

.page-content h2 {
  margin-bottom: var(--space-md);
}

.page-content .intro-text {
  max-width: 700px;
  margin: 0 auto var(--space-lg);
  text-align: center;
}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  align-items: center;
}

@media (max-width: 768px) {
  .two-col { grid-template-columns: 1fr; }
}

.fine-print {
  font-size: 0.75rem;
  color: var(--smoke);
  font-style: italic;
  margin-top: var(--space-md);
  margin-inline: auto;
  text-align: center;
}

/* Contact page */
.contact-page {
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}

.contact-form-centered {
  text-align: left;
}

.contact-form-centered .form-group label {
  text-align: center;
  display: block;
}

.checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
  margin-top: var(--space-xs);
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: var(--ivory);
  cursor: pointer;
}

.checkbox-label input {
  accent-color: var(--teal);
}

.contact-form-centered .btn {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}

#locationError {
  text-align: center;
}

.form-group.invalid #locationError {
  display: block;
}

/* Locations page */
.location-detail {
  max-width: 1000px;
  margin: 0 auto;
}

.location-detail__header {
  margin-bottom: var(--space-md);
}

.location-detail__image {
  margin-bottom: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

.location-detail__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  align-items: start;
}

.location-detail__map,
.location-detail__plan {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}

.location-detail__map .map-embed {
  width: 100%;
  min-width: 0;
}

.location-detail__plan a {
  display: block;
  min-width: 0;
}

.location-detail__plan img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--midnight-card);
}

@media (max-width: 768px) {
  .location-detail__media {
    grid-template-columns: 1fr;
  }
}

#pricing .grid--2 > div {
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.testimonials-placeholder {
  text-align: center;
  padding: var(--space-xl);
  border: 1px dashed var(--border);
  border-radius: var(--radius-md);
  color: var(--smoke);
}

.testimonials-placeholder h3 {
  color: var(--smoke);
  margin-bottom: var(--space-sm);
}

.benefits-image {
  max-width: 520px;
  margin: 0 auto;
  border-radius: var(--radius-md);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
  margin-top: var(--space-md);
}

.section-about h2,
.section-about .text-teal {
  color: var(--teal);
}

.section-about .text-teal {
  font-family: var(--font-headline);
  font-size: 1.25rem;
  margin: 1rem auto 1.5rem;
}

.section-about .intro-text {
  color: var(--ivory);
  opacity: 0.9;
}
