/* Aletta Site Core — authoritative section rhythm, loaded last. */

:root {
  --aletta-section-gap-final: 48px;
  --aletta-section-width-final: 1500px;
  --aletta-hero-width-final: 1500px;
  --aletta-surface-shadow-final: 0 10px 30px rgba(23, 55, 47, 0.055);
  --aletta-card-shadow-final: 0 8px 24px rgba(23, 55, 47, 0.05);
}

/* Gutenberg outputs Custom HTML sections directly inside the entry content. */
body.aletta-block-editor-page .entry-content > section[class^="aletta-"],
body.aletta-block-editor-page .entry-content > section[class*=" aletta-"] {
  box-sizing: border-box;
  width: min(
    var(--aletta-section-width-final),
    calc(100% - 48px)
  ) !important;
  max-width: var(--aletta-section-width-final) !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: var(--aletta-section-gap-final) !important;
  margin-left: auto !important;
}

/* Heroes and all later page sections share the same 1500px presentation. */
body.aletta-block-editor-page .entry-content > section.aletta-hero,
body.aletta-block-editor-page .entry-content > section.aletta-about-page-hero,
body.aletta-block-editor-page .entry-content > section.aletta-services-hero,
body.aletta-block-editor-page .entry-content > section.aletta-contact-hero,
body.aletta-block-editor-page .entry-content > section.aletta-legal-hero,
body.aletta-block-editor-page .entry-content > section.aletta-booking-hero {
  width: min(
    var(--aletta-hero-width-final),
    calc(100% - 48px)
  ) !important;
  max-width: var(--aletta-hero-width-final) !important;
}

/*
 * Transparent layout wrappers must not create a second invisible gap or
 * narrow their visible cards. Coloured panels keep their own inner padding.
 */
body.aletta-block-editor-page .aletta-consultation-strip,
body.aletta-block-editor-page .aletta-support,
body.aletta-block-editor-page .aletta-final-cta,
body.aletta-block-editor-page .aletta-about-story,
body.aletta-block-editor-page .aletta-about-philosophy,
body.aletta-block-editor-page .aletta-about-expertise,
body.aletta-block-editor-page .aletta-about-cta,
body.aletta-block-editor-page .aletta-services-intro,
body.aletta-block-editor-page .aletta-services-list,
body.aletta-block-editor-page .aletta-services-process,
body.aletta-block-editor-page .aletta-services-note,
body.aletta-block-editor-page .aletta-services-cta {
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}

/* Give the homepage support cards the full shared content line. */
.aletta-support__card {
  padding: 36px 34px !important;
}

/* Equal-height service cards with one price/action baseline. */
.aletta-service-card {
  display: flex;
  flex-direction: column;
}

.aletta-service-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin-top: auto;
}

.aletta-service-card .aletta-service-card__price,
.aletta-service-card .aletta-service-card__price span {
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--aletta-dark, #17372f);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
}

.aletta-service-card--featured .aletta-service-card__price,
.aletta-service-card--featured .aletta-service-card__price span {
  color: #ffffff;
}

.aletta-service-card__footer .aletta-service-card__button {
  flex: 0 0 auto;
  margin-top: 0;
}

/* Keep banner padding compact and equal at both ends. */
.aletta-hero,
.aletta-about-page-hero,
.aletta-services-hero,
.aletta-contact-hero,
.aletta-legal-hero,
.aletta-booking-hero {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

/* Layout wrappers remain transparent and shadow-free. */
.aletta-about-story,
.aletta-about-philosophy,
.aletta-about-expertise,
.aletta-about-cta,
.aletta-services-intro,
.aletta-services-list,
.aletta-services-process,
.aletta-services-note,
.aletta-services-cta,
.aletta-contact,
.aletta-booking-page,
.aletta-booking-confirmation {
  box-shadow: none !important;
}

/* Shorten only shadows belonging to real visible surfaces. */
.aletta-about,
.aletta-process,
.aletta-about-philosophy__content,
.aletta-services-intro__content,
.aletta-contact__content,
.aletta-contact__form-card,
.aletta-booking-page__calendar,
.aletta-final-cta__inner,
.aletta-about-cta__inner,
.aletta-services-cta__inner {
  box-shadow: var(--aletta-surface-shadow-final) !important;
}

.aletta-support__card,
.aletta-process__step,
.aletta-about-story__main,
.aletta-about-story__credential,
.aletta-about-expertise__grid article,
.aletta-services-list__card,
.aletta-services-process__card {
  box-shadow: var(--aletta-card-shadow-final) !important;
}

.aletta-custom-footer__surface {
  box-shadow: 0 -10px 34px rgba(23, 55, 47, 0.07) !important;
}

/* The final section's widget supplies the same gap before the footer. */
footer.aletta-custom-footer {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  :root {
    --aletta-section-gap-final: 32px;
  }

  body.aletta-block-editor-page .entry-content > section[class^="aletta-"],
  body.aletta-block-editor-page .entry-content > section[class*=" aletta-"] {
    width: calc(100% - 36px) !important;
  }

  .aletta-support__card {
    padding: 30px 26px !important;
  }

  .aletta-service-card__footer {
    gap: 16px;
  }

  .aletta-service-card .aletta-service-card__price,
  .aletta-service-card .aletta-service-card__price span {
    font-size: 17px;
  }

  .aletta-hero,
  .aletta-about-page-hero,
  .aletta-services-hero,
  .aletta-contact-hero,
  .aletta-legal-hero,
  .aletta-booking-hero {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}
