/* Shared polish for the inner pages: cream palette, section spacing and
 * card styling common to About, Our Approach, Healing Spaces, Herbal Garden,
 * Contact and the other inner templates. Type sizes come from style.css.
 */
:root {
    --page-cream: #fdf8ef;
    --page-cream-deep: #f4ecdf;
    --page-brown: var(--color-primary);
    --page-gold: var(--color-light-primary);
    --page-blue: var(--color-secondary);
    --page-green: #42552d;
}

/* Centred section headings. */
.section-header--center,
.au-section-heading {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.section-title {
    text-wrap: balance;
}
.section-description {
    text-wrap: pretty;
}
.section-kicker,
.au-page .about-section__tagline {
    color: var(--page-gold);
}

/* Cream palette and consistent vertical rhythm. */
.au-page,
.hs-environment,
.hs-residential,
.oa-understanding,
.oa-path,
.oa-living,
.hg-intro,
.hg-collection,
.hg-heritage,
.cu-enquiry {
    background-color: var(--page-cream);
}
.oa-balance,
.oa-wholeness,
.hg-practice,
.hs-pause,
.cu-visit {
    background-color: var(--page-cream-deep);
}
.section-padding {
    padding-top: 76px;
    padding-bottom: 76px;
}

/* Page-specific section spacing. */
.au-page .section-padding,
.oa-understanding,
.oa-balance,
.oa-wholeness,
.oa-path,
.oa-living {
    padding-top: 58px;
    padding-bottom: 58px;
}
.au-page .section-padding {
    padding-top: 34px;
    padding-bottom: 34px;
}
body.page-template-founder-page main > section.section-padding {
    padding-top: 125px;
    padding-bottom: 125px;
}
body.page-template-founder-page .serve-section {
    background: #fff;
}
body.page-template-founder-page .serve-section .section-title,
body.page-template-founder-page .serve-section .section-description,
body.page-template-founder-page .serve-section .section-band-dark__title,
body.page-template-founder-page .serve-section .section-band-dark__desc {
    color: var(--page-brown) !important;
}
body.page-template-founder-page .serve-section .icon-stat-grid__item {
    border-color: #eadfce !important;
}
.hg-intro,
.hg-collection,
.hg-practice,
.hg-heritage {
    padding-top: 96px;
    padding-bottom: 96px;
}

.au-page .au-purpose__card,
.au-page .au-learning__panel,
.au-page .au-explore__card {
    border: 1px solid rgb(72 31 14 / 8%);
    box-shadow: 0 8px 24px rgb(72 31 14 / 5%);
}
.au-page .au-explore {
    padding-right: 0;
    padding-left: 0;
}
.au-page .au-explore__card {
    padding: 24px;
}
.au-page .au-explore__grid {
    gap: 24px;
}
.au-page .au-highlights {
    padding-top: 34px;
    padding-bottom: 34px;
}
.au-page .au-quote {
    min-height: 430px;
}
.au-page .au-learning {
    padding-top: 36px;
    padding-bottom: 36px;
}
.au-page .au-learning__panel {
    padding: 16px 26px 14px;
}
.au-page .au-learning__image {
    width: 135px;
    margin-bottom: 20px;
}
.au-page .au-learning__image > img {
    width: 135px;
}
.au-page .au-purpose__card {
    padding: 22px 20px;
}
.au-page .au-defines__panel {
    padding-top: 36px;
    padding-bottom: 36px;
}
.au-page .au-explore__card {
    padding: 20px;
}
.au-page .au-slider {
    min-height: 0;
}
.au-page .au-slider__viewport,
.au-page .au-slider__slide {
    height: 220px;
}
.au-page .au-slider__viewport {
    overflow: hidden;
    border-radius: 7px;
}
.au-page .au-slider__slide {
    aspect-ratio: 2.45 / 1;
    object-fit: cover;
}

/* Card grids: even edges and compact spacing. */
.hs-facility-card,
.hs-room-card,
.hg-plant-card,
.hg-heritage-card,
.oa-triad-grid__card {
    height: 100%;
    border: 1px solid rgb(72 31 14 / 8%);
    box-shadow: 0 8px 22px rgb(72 31 14 / 5%);
}
.hs-facility-card__body,
.hs-room-card__body,
.hg-plant-card__body,
.oa-triad-grid__body {
    padding: 20px 22px 22px;
}
.hs-facility-card__body h3,
.hs-detail-list__item h3,
.hs-room-card__type,
.hg-plant-card__body h3,
.hg-timeline__content h3,
.oa-process-row__item h3,
.oa-path-steps__item h3,
.oa-guided__item h3 {
    color: var(--page-brown);
    font-family: var(--font-secondary);
    line-height: 1.15;
}
.hs-facility-card__body p,
.hs-detail-list__item p,
.hs-room-card__desc,
.hg-plant-card__body p,
.hg-timeline__content p,
.oa-process-row__item p,
.oa-path-steps__item p {
    color: var(--page-brown);
    line-height: 1.5;
}

/* Accent bands from the supplied artwork. */
.au-highlights,
.section-band-dark,
.icon-stat-grid--dark {
    background-color: var(--page-green);
}
.hs-banner__title,
.hs-banner__description,
.oa-triad-grid__body h3,
.oa-triad-grid__body p {
    color: #fff;
}
.hs-banner__description {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}
.hs-facilities__grid,
.hs-residential__grid {
    gap: 24px;
}
.hs-facilities,
.hs-residential {
    padding-top: 68px;
    padding-bottom: 68px;
}
.hs-banner {
    padding-top: 72px;
    padding-bottom: 72px;
}
.hs-pause {
    padding-top: 66px;
    padding-bottom: 66px;
}

.oa-process-row,
.oa-triad-grid,
.oa-path-steps,
.oa-living__grid {
    margin-top: 36px;
}
.oa-guided {
    padding-top: 24px;
    padding-bottom: 24px;
}
.oa-living__image {
    min-height: 140px;
    height: 140px;
}
.oa-path {
    padding-top: 40px;
    padding-bottom: 40px;
}
body.page-template-our-approach-page .oa-understanding,
body.page-template-our-approach-page .oa-balance,
body.page-template-our-approach-page .oa-wholeness,
body.page-template-our-approach-page .oa-living {
    padding-top: 40px;
    padding-bottom: 40px;
}
.oa-path-steps__item,
.oa-guided__item {
    padding-top: 10px;
    padding-bottom: 10px;
}
.oa-guided .section-header--center {
    margin-bottom: 24px;
}
.oa-guided__icon {
    width: 58px;
    height: 58px;
}
.oa-page .media-row,
body.page-template-our-approach-page .media-row {
    padding-top: 38px;
    padding-bottom: 38px;
}
.oa-page .media-row__figure,
body.page-template-our-approach-page .media-row__figure {
    min-height: 360px;
    height: 360px;
}

.hg-timeline__item {
    min-height: 250px;
}
.hg-timeline__image {
    min-height: 220px;
}
.hg-collection__grid,
.hg-heritage__grid {
    gap: 24px;
}

/* Contact: equal split with aligned information blocks. */
.cu-enquiry__grid {
    max-width: 1320px;
    margin: 0 auto;
}
.cu-enquiry__details,
.cu-enquiry__form {
    padding: 20px 38px;
}
.cu-enquiry__org,
.cu-enquiry__hours-title {
    color: var(--page-brown);
    font-family: var(--font-secondary);
}
.cu-social-grid,
.cu-visit__grid {
    align-items: stretch;
}
.cu-map {
    padding-top: 0;
    padding-bottom: 0;
}
.cu-map__frame,
.cu-map__frame iframe {
    min-height: 240px;
    height: 240px;
}
.cu-map__content {
    padding: 34px 40px;
}
.cu-connect {
    padding-top: 24px;
    padding-bottom: 24px;
}
.cu-enquiry__form .acf-field {
    margin-bottom: 10px;
}
.cu-enquiry__form .wpcf7-form-control:not([type="radio"]) {
    padding: 9px 12px;
}
.cu-enquiry__form textarea.wpcf7-form-control {
    min-height: 78px;
    height: 78px;
}
.cu-enquiry__form .wpcf7-list-item label {
    padding: 7px 12px;
}
.cu-connect__photo {
    max-height: 120px;
}

@media (max-width: 991px) {
    .section-padding {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .cu-enquiry__details,
    .cu-enquiry__form {
        padding: 44px 28px;
    }
    .au-page .section-padding,
    body.page-template-founder-page main > section.section-padding,
    .hg-intro,
    .hg-collection,
    .hg-practice,
    .hg-heritage,
    .oa-understanding,
    .oa-balance,
    .oa-wholeness,
    .oa-path,
    .oa-living {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media (max-width: 767px) {
    .section-padding {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .au-page .au-explore__card {
        padding: 20px;
    }
    .hs-facility-card__body,
    .hs-room-card__body,
    .hg-plant-card__body,
    .oa-triad-grid__body {
        padding: 18px;
    }
    .au-page .section-padding,
    body.page-template-founder-page main > section.section-padding,
    .hg-intro,
    .hg-collection,
    .hg-practice,
    .hg-heritage,
    .oa-understanding,
    .oa-balance,
    .oa-wholeness,
    .oa-path,
    .oa-living {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}
