:root {
  /* Runtime-native surfaces share the header's Free Consultation action color. */
  --color-primary: var(--action-primary);
  --color-primary-dark: var(--action-primary-hover);
  --color-primary-light: var(--action-primary-soft);
  --color-primary-dark-mode: #B8DE9F;
  --color-text: var(--dark-gray);
  --color-muted: var(--medium-gray);
  --color-line: var(--light-gray);
  --color-soft: #F7F9FB;
  --color-background: #F7F9FB;
  --color-surface: var(--white);
}

/* Runtime appends its native comments client after a post template. Give does
 * not use article comments, so hide only that post-owned surface without
 * affecting forms or other interactive widgets elsewhere. */
.page-post [data-faster-comments] {
  display: none !important;
}

/*
 * Give-owned shell for Runtime-native booking pages. The native booking
 * contribution intentionally relies on the base theme for .container,
 * .page-hero, and .section. Give's migrated V1 theme predates those primitives,
 * so scope the missing base-theme contract to booking instead of altering the
 * Runtime-owned booking contribution.
 */
body.page-services .container {
  width: min(calc(100% - 48px), 1180px);
  margin-inline: auto;
}

body.page-services .page-hero {
  padding: clamp(56px, 7vw, 88px) 0 clamp(48px, 6vw, 72px);
  border-bottom: 1px solid rgba(53, 94, 59, 0.14);
  background: #F4F7F1;
}

body.page-services .page-hero__inner {
  display: grid;
  gap: 14px;
  text-align: left;
}

body.page-services .page-hero .eyebrow {
  margin: 0;
  color: #355E3B;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.page-services .page-hero h1 {
  max-width: 900px;
  margin: 0;
  color: #111827;
  font-family: var(--font-heading);
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.035em;
}

body.page-services .page-hero p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #52606D;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.6;
}

body.page-services .page-hero .services-hero__packages {
  margin-top: 6px;
  font-size: 15px;
}

body.page-services .section {
  padding: clamp(48px, 6vw, 76px) 0 clamp(64px, 8vw, 96px);
  background: #FFFFFF;
}

body.page-services .booking-filters {
  top: calc(var(--header-height, 90px) + 24px);
}

body.page-services .service-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
}

body.page-services .service-card {
  width: 100%;
  max-width: 560px;
}

body.page-services .service-card-title {
  color: #111827;
}

@media (max-width: 720px) {
  body.page-services .container {
    width: min(calc(100% - 32px), 1180px);
  }

  body.page-services .page-hero {
    padding: 42px 0 46px;
  }
}
