/* First two components retain the live layout; preserve accepted styling below. */
html[data-parks-surgical-design] body { --parks-section-space: clamp(32px, 4vw, 56px); }
/* Quiet ordinary content, without changing the social proof, reviews or process. */
html[data-parks-surgical-design] body .parks-heating-content { gap: 12px; }
html[data-parks-surgical-design] body .parks-heating-content > .parks-heating-intro { margin-bottom: 18px !important; }
html[data-parks-surgical-design] body .parks-heating-panel:not(.parks-heating-intro):not(:has([data-cheers-component])) {
  padding-block: var(--parks-section-space);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html[data-parks-surgical-design] body .parks-heating-panel:not(.parks-heating-intro) > :is(h2, h3) { max-width: 32ch; }
html[data-parks-surgical-design] body .parks-contact-section:not(.parks-contact-options) { padding-block: var(--parks-section-space); }
html[data-parks-surgical-design] body .parks-contact-section:not(.parks-contact-options) .parks-contact-kicker {
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Ordinary service content: match the untouched intro's inner alignment.
   Two 26px section insets + the existing 12px column gap = 64px between
   sections, instead of stacking 56px + 12px + 56px. Shared modules keep
   their own spacing and the banner/intro are deliberately excluded. */
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content {
  --parks-content-inset: 44px;
  --parks-content-section-inset: 26px;
  --parks-content-copy-gap: 16px;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-heating-panel:not(.parks-heating-intro):not(:has([data-cheers-component])) {
  padding: var(--parks-content-section-inset) var(--parks-content-inset);
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-service-panel:not(.parks-heating-intro):not(:has([data-cheers-component])) > :is(h2, h3) {
  max-width: 100%;
  margin-bottom: var(--parks-content-copy-gap) !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-service-panel:not(.parks-heating-intro):not(:has([data-cheers-component])) > :is(p, ul, ol) {
  margin-block: 0 var(--parks-content-copy-gap) !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-service-panel:not(.parks-heating-intro):not(:has([data-cheers-component])) > :last-child {
  margin-bottom: 0 !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-service-panel:not(.parks-heating-intro) > ul {
  gap: 4px 24px;
}
/* Align the FAQ frame, without changing the accordion controls or behavior. */
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > :is(.parks-faq-heading, .accordion) {
  width: calc(100% - var(--parks-content-inset) * 2) !important;
  margin-inline: var(--parks-content-inset) !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .parks-faq-heading {
  margin-block: var(--parks-content-section-inset) 4px !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content > .accordion {
  margin-block: 0 var(--parks-content-section-inset) !important;
}
@media (max-width: 1199px) {
  html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content {
    --parks-content-inset: 38px;
  }
}
@media (max-width: 767px) {
  html[data-parks-surgical-design] body.parks-landing-page .parks-heating-content {
    --parks-content-inset: 21px;
    --parks-content-section-inset: 18px;
  }
}

/* Shared service inventories: one card per category; preserve original copy/links. */
html[data-parks-surgical-design] .parks-service-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-block: 28px 24px;
}
html[data-parks-surgical-design] .parks-service-category {
  min-width: 0;
  padding: 26px;
  border: 1px solid #e0e5ee;
  border-radius: 18px;
  background: #f4f7fb;
}
html[data-parks-surgical-design] .parks-service-category h3 {
  margin: 0 0 18px !important;
  color: #0b0832;
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
}
html[data-parks-surgical-design] .parks-service-category ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
html[data-parks-surgical-design] .parks-service-category li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 0 16px !important;
  font-size: 16px;
  line-height: 1.5;
}
html[data-parks-surgical-design] .parks-service-category li::before {
  position: absolute;
  top: .6em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #cc0e3c;
  content: "";
}
html[data-parks-surgical-design] .parks-service-category li::after { content: none; }
html[data-parks-surgical-design] .parks-service-category a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
@media (max-width: 767px) {
  html[data-parks-surgical-design] .parks-service-categories { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  html[data-parks-surgical-design] .parks-service-category { padding: 22px; }
}

/* City service pages reuse their existing modules in a single reading order.
   The banner and intro are deliberately outside these selectors. */
body.parks-city-cadence {
  --parks-city-space: clamp(32px, 5vw, 64px);
  --parks-city-gutter: clamp(20px, 4vw, 48px);
}
body.parks-city-cadence .elementor-974 > :is(.parks-location-services, .parks-city-inventory, .parks-city-reviews, .parks-location-help) {
  width: min(100%, 1200px);
  margin-inline: auto;
  padding: var(--parks-city-space) var(--parks-city-gutter);
}
body.parks-city-cadence .elementor-974 > :is(.elementor-element-c99db1e, .elementor-element-cc98c85) {
  --padding-top: var(--parks-city-space);
  --padding-bottom: var(--parks-city-space);
  --padding-left: var(--parks-city-gutter);
  --padding-right: var(--parks-city-gutter);
}
body.parks-city-cadence .parks-city-reviews > .elementor-element {
  width: 100%;
  --width: 100%;
}
body.parks-city-cadence .parks-city-inventory > h2 { margin: 0 0 20px; }
body.parks-city-cadence .parks-city-inventory > p:last-child { margin-bottom: 0; }
body.parks-city-cadence .elementor-974 > .parks-location-help { margin-bottom: var(--parks-city-space); }
@media (max-width: 767px) {
  html[data-parks-surgical-design] body.parks-declutter-pilot .elementor-974 .parks-location-help {
    width: calc(100% - 40px);
    margin-inline: auto;
    padding-inline: 28px;
  }
}
@media (min-width: 992px) {
  body.parks-city-cadence .elementor-974 .parks-location-services-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
  }
  body.parks-city-cadence .elementor-974 .parks-location-services-grid > .elementor-widget:last-child {
    grid-column: auto;
    width: 100%;
  }
}

/* City layout refinements: retain mobile reading order and center the video. */
html[data-parks-surgical-design] body.parks-city-cadence .elementor-element-638d829 > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "copy" "cta";
}
html[data-parks-surgical-design] body.parks-city-cadence .elementor-element-2495f44 { grid-area: copy; width: 100%; }
html[data-parks-surgical-design] body.parks-city-cadence .elementor-element-0ba7c7a { grid-area: cta; width: 100%; }
html[data-parks-surgical-design] body .elementor-974 [data-parks-city-video-after-services] {
  width: min(calc(100% - 40px), 900px);
  min-width: 0;
  align-self: center;
  margin-inline: auto;
  margin-bottom: clamp(32px, 5vw, 64px);
}
@media (min-width: 1025px) {
  html[data-parks-surgical-design] body.parks-city-cadence .elementor-element-638d829 > .e-con-inner {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    grid-template-areas: "copy cta";
    row-gap: 32px;
  }
}
/* Align the bullet dots with paragraphs, retaining an inset for list text. */
html[data-parks-surgical-design] body .elementor-974 :is(.elementor-element-9446151, .elementor-element-82ce8a6) ul:not(.parks-service-category ul) {
  margin-inline: 0;
  padding-inline: 1em 0;
  list-style-position: outside;
}
html[data-parks-surgical-design] body.parks-city-cadence .parks-city-reviews .elementor-element-f707aef {
  --width: 100%;
  width: 100%;
  min-width: 0;
}
html[data-parks-surgical-design] body.parks-city-cadence .parks-location-read-more :is(.elementor-tab-title, .elementor-tab-content) {
  border-bottom: 0;
}
html[data-parks-surgical-design] body.parks-city-cadence .parks-city-service-nav--photo {
  padding: clamp(36px, 6vw, 72px) var(--parks-city-gutter);
  border: 0;
  background: linear-gradient(rgba(11, 8, 50, .76), rgba(11, 8, 50, .84)), url("/wp-content/uploads/2025/11/Parks-Team-2024.jpg") center / cover;
  font-family: Inter, sans-serif;
}
html[data-parks-surgical-design] body.parks-city-cadence .parks-city-service-nav--photo h2 {
  color: #fff;
  font-family: Sora, sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 24px;
}
html[data-parks-surgical-design] body.parks-city-cadence .parks-city-service-nav--photo a {
  font-family: Inter, sans-serif;
  font-weight: 600;
}

/* Keep financing in the same compact rail carousel as the current offers. */
html[data-parks-surgical-design] body.parks-landing-page .parks-heating-sidebar .parks-financing-slide .financings-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 24px 22px !important;
  border-radius: 18px;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-financing-slide .financings-box .py-5 {
  padding-block: 20px 0 !important;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-financing-slide .financings-box h4 {
  font-size: 22px;
  line-height: 1.35;
}
html[data-parks-surgical-design] body.parks-landing-page .parks-financing-slide .financings-box > a {
  min-width: 0 !important;
  font-size: 16px !important;
}
@media (min-width: 992px) {
  html[data-parks-surgical-design] body.parks-landing-page .parks-heating-sidebar {
    top: 96px;
    align-self: start;
  }
}
/* Refine the real location template, retaining video, breadcrumbs and maps. */
html[data-parks-surgical-design] body .elementor-974 .parks-location-services-grid {
  width: 100%;
  max-width: 960px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
html[data-parks-surgical-design] body .elementor-974 .parks-location-services-grid > .elementor-widget:last-child {
  grid-column: auto;
  width: 100%;
}
html[data-parks-surgical-design] body .elementor-974 .parks-location-services-grid .service {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 767px) {
  html[data-parks-surgical-design] body .elementor-974 .parks-location-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  html[data-parks-surgical-design] body .elementor-974 .parks-location-services-grid > .elementor-widget:last-child {
    grid-column: 1 / -1;
    width: calc((100% - 16px) / 2);
  }
}
