/* Pricing page only: effective spacing owners, DESIGN-SYSTEM.md. */
#main-content {
  --pricing-section-space: var(--_spacing---spacing--3xl);
  --pricing-major-space: var(--_spacing---spacing--xl);
  --pricing-component-space: var(--_spacing---spacing--md);
  --pricing-tight-space: 12px;
  --pricing-control-space: var(--_spacing---spacing--sm);
}

#main-content > #pricing.section-pricing,
#main-content > #pricing-mobile.pricing-mobile,
#main-content > .pricing-inclusions,
#main-content > .section-53,
#main-content > .pricing-faq,
#main-content > #booking.section-booking-2 {
  padding-top: var(--pricing-section-space);
  padding-bottom: var(--pricing-section-space);
}

/* FAQ and Calendly share a white surface. The widget's own top whitespace,
   plus the shared booking section's 32px top padding, supplies the visual gap. */
@media screen and (min-width: 992px) {
  #main-content > .pricing-faq { padding-bottom: 0; }
}

/* Additional Services already owns the continuous light-background boundary. */
#main-content > .amori-site-process [data-process-desktop],
#main-content > .amori-site-process [data-process-mobile] {
  padding-top: 0;
  padding-bottom: var(--pricing-section-space);
}

.section-53 .pricing-mobile_header.pb-l {
  padding-top: 0;
  padding-bottom: var(--pricing-major-space);
  row-gap: var(--pricing-tight-space);
}

/* Preserve existing heading layout; explicitly own gaps between siblings. */
.section-53 .pricing-mobile_header > :not(:first-child) {
  margin-top: var(--pricing-tight-space);
}
.section-53 .pricing-mobile_header > * {
  margin-bottom: 0;
}
.section-53 .pricing-cards-4 {
  padding-top: 0;
  row-gap: var(--pricing-component-space);
}
@media screen and (min-width: 480px) {
  .section-53 .package-card__content-4 {
    display: grid;
  }
  .section-53 .package-features-3 {
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
}

#main-content > .pricing-inclusions .pricing-inclusions__header {
  margin-bottom: 20px;
}
@media screen and (min-width: 992px) {
  #main-content > .pricing-inclusions .pricing-inclusions__header {
    margin-bottom: 40px;
  }
}
#main-content > .pricing-inclusions .pricing-inclusions__grid {
  row-gap: 0;
}
#main-content > .amori-site-process .process-grid {
  margin-top: var(--pricing-major-space);
}
#main-content > .pricing-faq .pricing-faq__heading {
  margin-bottom: var(--pricing-major-space);
}
#booking .calendar-inner > .heading-h2 {
  margin-bottom: var(--pricing-major-space);
}
#booking .code-embed-20 {
  padding-top: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 991px) {
  #main-content {
    --pricing-section-space: 72px;
    --pricing-major-space: 36px;
  }
  /* Responsive headers use flex row-gap, not the desktop block margins. */
  .section-53 .pricing-mobile_header > :not(:first-child) { margin-top: 0; }
}
@media screen and (max-width: 767px) {
  #main-content { --pricing-section-space: var(--_spacing---spacing--2xl); }
}
@media screen and (max-width: 479px) {
  #main-content {
    --pricing-section-space: 56px;
    --pricing-major-space: var(--_spacing---spacing--lg);
  }
  #main-content > .pricing-inclusions .pricing-inclusions__header {
    margin-bottom: 20px;
  }
  #main-content > .pricing-inclusions .pricing-inclusions__grid {
    row-gap: 0;
  }
  #main-content > #pricing-mobile .text-eyebrow-3.size-fluid,
  #main-content > .section-53 .text-eyebrow-3.text-lg.text-center {
    font-size: 16px;
  }
}
