:root {
  --vacapals-page-heading-size: clamp(34px, 4vw, 48px);
  --vacapals-page-heading-line-height: 1.05;
  --vacapals-section-heading-size: clamp(28px, 3vw, 38px);
  --vacapals-section-heading-line-height: 1.05;
  --vacapals-section-heading-weight: 900;
  --vacapals-section-heading-spacing: -0.05em;
  --vacapals-subheading-size: clamp(20px, 2vw, 24px);
  --vacapals-card-heading-size: 18px;
}

/* Shared content hierarchy across every page. */
body h1 {
  font-family: "DM Sans", sans-serif !important;
  font-size: var(--vacapals-page-heading-size) !important;
  font-weight: 900 !important;
  line-height: var(--vacapals-page-heading-line-height) !important;
  letter-spacing: var(--vacapals-section-heading-spacing) !important;
}

.vacapals-help-title {
  width: 100%;
  text-align: center !important;
  --framer-text-alignment: center !important;
}

/* Keep the Help page's FAQ content centered within the site's 1200px inner container. */
.framer-10czls7 {
  justify-content: center !important;
}

.framer-10czls7 .framer-361e8q-container {
  flex: 0 1 1200px !important;
  width: min(calc(100% - 64px), 1200px) !important;
  max-width: 1200px !important;
}

.framer-10czls7 .framer-1nyao7r {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.vacapals-help-faq-title {
  width: 100%;
  text-align: center !important;
  --framer-text-alignment: center !important;
}

.vacapals-help-manage-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  width: min(100% - 64px, 1200px);
  margin: 26px auto 38px;
}

.vacapals-help-manage-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  min-height: 196px;
  padding: 28px;
  border-radius: 12px;
  background: #eef5fb;
  color: #16446d;
}

.vacapals-help-manage-card__icon {
  width: 48px;
  height: 48px;
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.vacapals-help-manage-card__title,
.vacapals-help-manage-card__description {
  margin: 0;
}

.vacapals-help-manage-card__title {
  font-weight: 700;
  line-height: 1.45;
}

.vacapals-help-manage-card__description {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  color: rgba(22, 68, 109, 0.78);
}

.vacapals-help-booking-callout {
  display: flex;
  width: min(100% - 64px, 1200px);
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -30px auto -12px;
  padding: 14px 18px;
  border: 1px solid rgba(2, 14, 36, 0.1);
  border-radius: 10px;
  background: rgba(245, 247, 250, 0.9);
  color: rgba(2, 14, 36, 0.76);
}

.vacapals-help-booking-callout p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.vacapals-help-booking-callout a {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #020e24;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.vacapals-help-booking-callout a:hover,
.vacapals-help-booking-callout a:focus-visible {
  background: #ffdd00;
  color: #020e24;
}

@media (max-width: 809.98px) {
  .vacapals-help-manage-cards {
    grid-template-columns: 1fr;
    width: min(100% - 40px, 390px);
    gap: 14px;
    margin-top: 20px;
  }

  .vacapals-help-manage-card {
    padding: 22px;
  }

  .vacapals-help-booking-callout {
    width: min(100% - 40px, 390px);
  }
}

@media (max-width: 520px) {
  .vacapals-help-booking-callout {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}

.vacapals-highlights__heading,
.vacapals-service-locations__title,
.vacapals-home-faq__title,
body h2:not(.vacapals-hero-pricing) {
  margin-top: 0;
  font-family: "DM Sans", sans-serif !important;
  font-size: var(--vacapals-section-heading-size) !important;
  font-weight: var(--vacapals-section-heading-weight) !important;
  line-height: var(--vacapals-section-heading-line-height) !important;
  letter-spacing: var(--vacapals-section-heading-spacing) !important;
}

body h3:not(.vacapals-service-locations__title) {
  font-family: "DM Sans", sans-serif !important;
  font-size: var(--vacapals-subheading-size) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
}

.vacapals-home-faq > h2.vacapals-home-faq__title {
  font-size: var(--vacapals-subheading-size) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
}

body h4 {
  font-family: "DM Sans", sans-serif !important;
  font-size: var(--vacapals-card-heading-size) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}

@media (max-width: 809.98px) {
  :root {
    --vacapals-page-heading-size: 34px;
    --vacapals-section-heading-size: 28px;
    --vacapals-subheading-size: 20px;
  }
}
