/*
 * Ananda v1.7.8 balanced layout recovery.
 * This file intentionally avoids broad Elementor selectors. It only adjusts Ananda plugin widgets.
 * It removes the over-aggressive whole-site shrinking from v1.7.0 by not targeting generic .elementor containers.
 */

/* -------------------------
   Global Ananda widget rhythm
------------------------- */
.elementor-widget[class*="elementor-widget-ananda_"] {
    color: inherit;
}

.elementor-widget[class*="elementor-widget-ananda_"] :where(h1,h2,h3,p) {
    text-rendering: optimizeLegibility;
}

/* -------------------------
   About / Homepage widget
------------------------- */
.ananda-about-page {
    --ananda-about-page-section-gap: 22px;
}

/* v1.7.4 About page alignment fix:
   Match the About widget content with the fixed header container instead of the older
   1280px recovery width. This removes the visible left/right offset shown on desktop. */
.ananda-about-page__inner {
    max-width: 1400px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.ananda-about-page__hero-inner,
.ananda-about-page__story-grid,
.ananda-about-page__life-grid {
    gap: 52px !important;
}

.ananda-about-page__hero-inner {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr) !important;
}

.ananda-about-page__hero-content,
.ananda-about-page__story-content {
    justify-self: start !important;
}

.ananda-about-page__hero-visual,
.ananda-about-page__story-image {
    justify-self: stretch !important;
    width: 100% !important;
}

.ananda-about-page__badge {
    padding: 8px 14px !important;
    font-size: 13px !important;
    margin-bottom: 18px !important;
    border-radius: 12px !important;
}

.ananda-about-page__hero-title {
    font-size: clamp(34px, 3.15vw, 46px) !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
    letter-spacing: -0.7px !important;
}

.ananda-about-page__hero-description,
.ananda-about-page__life-text p {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
    margin-bottom: 24px !important;
}

.ananda-about-page__heading,
.ananda-about-page__cta-heading {
    font-size: clamp(27px, 2.2vw, 34px) !important;
    line-height: 1.16 !important;
    margin-bottom: 22px !important;
}

.ananda-about-page__message-heading {
    font-size: clamp(25px, 2vw, 31px) !important;
}

.ananda-about-page__mini-title,
.ananda-about-page__card-title,
.ananda-about-page__caregiver-name {
    font-size: 18px !important;
    line-height: 1.22 !important;
}

.ananda-about-page p {
    font-size: 14.5px !important;
    line-height: 1.58 !important;
}

.ananda-about-page__three-grid {
    gap: 22px !important;
}

.ananda-about-page__four-grid {
    gap: 20px !important;
}

.ananda-about-page__stats {
    gap: 14px !important;
}

.ananda-about-page__stat {
    padding: 16px 15px !important;
    gap: 12px !important;
}

.ananda-about-page__stat strong {
    font-size: 26px !important;
}

.ananda-about-page__icon-circle {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
}

.ananda-about-page__icon-circle i,
.ananda-about-page__icon-circle svg {
    width: 23px !important;
    height: 23px !important;
    font-size: 23px !important;
}

.ananda-about-page__card {
    padding: 26px 24px !important;
    min-height: 205px !important;
    border-radius: 14px !important;
}

.ananda-about-page__card--tall {
    min-height: 240px !important;
}

.ananda-about-page__care-card {
    padding: 19px !important;
    gap: 15px !important;
    min-height: 118px !important;
    border-radius: 14px !important;
}

.ananda-about-page__message-box,
.ananda-about-page__cta {
    padding: 34px 42px !important;
    gap: 38px !important;
    border-radius: 18px !important;
}

.ananda-about-page__caregiver-card {
    padding: 17px !important;
    gap: 18px !important;
}

/* -------------------------
   Facilities page/gallery sections
------------------------- */
/* v1.7.5 Facilities page alignment fix:
   Match Facilities with the header/About container. The visible content now starts
   after the same 24px inner gutter instead of spilling left of the header logo line. */
.ananda-facilities__inner {
    width: 100% !important;
    max-width: 1400px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

.ananda-facilities__section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.ananda-facilities__hero-title {
    font-size: clamp(34px, 3.1vw, 46px) !important;
    line-height: 1.1 !important;
}

.ananda-facilities__heading {
    font-size: clamp(26px, 2.15vw, 34px) !important;
    line-height: 1.16 !important;
}

.ananda-facilities p,
.ananda-facilities__text,
.ananda-facilities__description {
    font-size: 14.5px !important;
    line-height: 1.58 !important;
}

.ananda-facilities__card,
.ananda-facilities__feature,
.ananda-facilities__item,
.ananda-facilities__support-card,
.ananda-facilities__gallery-card {
    padding: 20px !important;
    border-radius: 14px !important;
}

.ananda-facilities__gallery-card {
    padding: 0 !important;
    overflow: hidden !important;
}

.ananda-facilities__gallery-img,
.ananda-facilities__gallery-img img {
    height: 210px !important;
}

.ananda-facilities__button,
.ananda-facilities a[class*="button"] {
    min-height: 42px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
}

/* -------------------------
   Care service widgets
------------------------- */
/* v1.7.8 Contact page alignment fix:
   Match Contact Hero, Contact Info Cards, and Contact Enquiry Form with the
   exact same desktop boundary used by the Header/About/Facilities/Care/Gallery
   pages. This removes the older 1280px contact width that made the Contact
   page sit inward and caused the contact cards to become too narrow. */
.ananda-contact-hero__inner,
.ananda-contact-info__inner,
.ananda-contact-enquiry__inner {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* v1.7.6 Care Services page alignment fix:
   Match all Care Services sections with the header/About/Facilities container.
   This fixes the visible desktop offset caused by the older 1280px recovery rule. */
.ananda-care-hero__inner,
.ananda-care-offer__inner,
.ananda-care-detail__inner,
.ananda-care-routine__inner,
.ananda-care-hm__inner,
.ananda-care-em__inner,
.ananda-care-more__inner {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* v1.7.7 Gallery page alignment fix:
   Match Gallery Intro with the same desktop boundary used by the Header,
   About, Facilities, and Care Services sections. This overrides the older
   1280px recovery rule that pulled the Gallery page inward. */
.ananda-gallery-intro__inner {
    width: 100% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

.ananda-gallery-intro__grid {
    width: 100% !important;
}

.ananda-gallery-intro__description {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
}

.ananda-care-hero,
.ananda-care-offer,
.ananda-care-detail,
.ananda-care-routine,
.ananda-care-hm,
.ananda-care-em,
.ananda-care-more,
.ananda-gallery-intro,
.ananda-contact-hero,
.ananda-contact-info,
.ananda-contact-enquiry {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
}

.ananda-care-hero__title,
.ananda-gallery-intro__title,
.ananda-contact-hero__title {
    font-size: clamp(34px, 3vw, 46px) !important;
    line-height: 1.1 !important;
}

.ananda-care-offer__title,
.ananda-care-detail__title,
.ananda-care-routine__title,
.ananda-care-hm__title,
.ananda-care-em__title,
.ananda-contact-info__heading,
.ananda-contact-enquiry__heading,
.ananda-contact-enquiry__help-heading {
    font-size: clamp(27px, 2.25vw, 36px) !important;
    line-height: 1.16 !important;
}

.ananda-care-hero__desc,
.ananda-care-offer__desc,
.ananda-care-detail__desc,
.ananda-care-routine__desc,
.ananda-care-hm__desc,
.ananda-care-em__desc,
.ananda-gallery-intro__description,
.ananda-contact-hero__desc,
.ananda-contact-info__text,
.ananda-contact-enquiry__help-text {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
}

.ananda-care-offer__card,
.ananda-care-detail__box,
.ananda-care-routine__card,
.ananda-care-hm__panel,
.ananda-care-em__panel,
.ananda-care-more__card,
.ananda-contact-info__card,
.ananda-contact-enquiry__box,
.ananda-contact-enquiry__help-box {
    padding: 24px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(8, 40, 90, .07) !important;
}

.ananda-care-offer__icon,
.ananda-care-routine__icon,
.ananda-care-more__icon,
.ananda-contact-info__icon,
.ananda-contact-enquiry__help-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
}

.ananda-care-offer__icon svg,
.ananda-care-routine__icon svg,
.ananda-care-more__icon svg,
.ananda-contact-info__icon svg,
.ananda-contact-enquiry__help-icon svg {
    width: 28px !important;
    height: 28px !important;
}

.ananda-contact-enquiry input,
.ananda-contact-enquiry select,
.ananda-contact-enquiry textarea {
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
}

.ananda-contact-enquiry textarea {
    min-height: 120px !important;
}

.ananda-contact-enquiry__submit,
.ananda-contact-enquiry__help-button,
.ananda-contact-hero a,
.ananda-contact-info a {
    min-height: 44px !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    border-radius: 9px !important;
}

/* Header: only menu colors and compact button; do not force layout globally. */
.ananda-header__menu-link:not(.is-active):not(:hover):not(:focus) {
    color: #111111 !important;
}
.ananda-header__menu-link:hover,
.ananda-header__menu-link:focus {
    color: #2f8f46 !important;
}
.ananda-header__menu-link.is-active,
.ananda-header__menu-link[aria-current="page"] {
    color: #ff0000 !important;
}
.ananda-header__button {
    min-height: 42px !important;
    padding: 11px 28px !important;
    font-size: 14px !important;
    border-radius: 3px !important;
}
.ananda-header__button-icon,
.ananda-header__button-icon i,
.ananda-header__button-icon svg,
.ananda-header__button-icon img {
    width: 15px !important;
    height: 15px !important;
    max-width: 15px !important;
    max-height: 15px !important;
    font-size: 15px !important;
}

@media (max-width: 1024px) {
    .ananda-about-page__inner,
    .ananda-facilities__inner,
    .ananda-care-hero__inner,
    .ananda-care-offer__inner,
    .ananda-care-detail__inner,
    .ananda-care-routine__inner,
    .ananda-care-hm__inner,
    .ananda-care-em__inner,
    .ananda-care-more__inner,
    .ananda-gallery-intro__inner,
    .ananda-contact-hero__inner,
    .ananda-contact-info__inner,
    .ananda-contact-enquiry__inner {
        width: calc(100% - 44px) !important;
    }

    .ananda-about-page__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .ananda-facilities__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .ananda-care-hero__inner,
    .ananda-care-offer__inner,
    .ananda-care-detail__inner,
    .ananda-care-routine__inner,
    .ananda-care-hm__inner,
    .ananda-care-em__inner,
    .ananda-care-more__inner,
    .ananda-gallery-intro__inner,
    .ananda-contact-hero__inner,
    .ananda-contact-info__inner,
    .ananda-contact-enquiry__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        box-sizing: border-box !important;
    }

    .ananda-about-page__hero-inner {
        grid-template-columns: 1fr !important;
    }

    .ananda-about-page__hero-title,
    .ananda-facilities__hero-title,
    .ananda-care-hero__title,
    .ananda-gallery-intro__title,
    .ananda-contact-hero__title {
        font-size: 36px !important;
    }

    .ananda-about-page__heading,
    .ananda-facilities__heading,
    .ananda-care-offer__title,
    .ananda-care-detail__title,
    .ananda-care-routine__title,
    .ananda-care-hm__title,
    .ananda-care-em__title,
    .ananda-contact-info__heading,
    .ananda-contact-enquiry__heading,
    .ananda-contact-enquiry__help-heading {
        font-size: 28px !important;
    }
}

@media (max-width: 767px) {
    .ananda-about-page__inner,
    .ananda-facilities__inner,
    .ananda-care-hero__inner,
    .ananda-care-offer__inner,
    .ananda-care-detail__inner,
    .ananda-care-routine__inner,
    .ananda-care-hm__inner,
    .ananda-care-em__inner,
    .ananda-care-more__inner,
    .ananda-gallery-intro__inner,
    .ananda-contact-hero__inner,
    .ananda-contact-info__inner,
    .ananda-contact-enquiry__inner {
        width: calc(100% - 30px) !important;
    }

    .ananda-about-page__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ananda-facilities__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .ananda-care-hero__inner,
    .ananda-care-offer__inner,
    .ananda-care-detail__inner,
    .ananda-care-routine__inner,
    .ananda-care-hm__inner,
    .ananda-care-em__inner,
    .ananda-care-more__inner,
    .ananda-gallery-intro__inner,
    .ananda-contact-hero__inner,
    .ananda-contact-info__inner,
    .ananda-contact-enquiry__inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    .ananda-about-page__hero-title,
    .ananda-facilities__hero-title,
    .ananda-care-hero__title,
    .ananda-gallery-intro__title,
    .ananda-contact-hero__title {
        font-size: 31px !important;
    }

    .ananda-about-page__heading,
    .ananda-facilities__heading,
    .ananda-care-offer__title,
    .ananda-care-detail__title,
    .ananda-care-routine__title,
    .ananda-care-hm__title,
    .ananda-care-em__title,
    .ananda-contact-info__heading,
    .ananda-contact-enquiry__heading,
    .ananda-contact-enquiry__help-heading {
        font-size: 24px !important;
    }

    .ananda-care-hero,
    .ananda-care-offer,
    .ananda-care-detail,
    .ananda-care-routine,
    .ananda-care-hm,
    .ananda-care-em,
    .ananda-care-more,
    .ananda-gallery-intro,
    .ananda-contact-hero,
    .ananda-contact-info,
    .ananda-contact-enquiry,
    .ananda-facilities__section {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }
}

/* v1.7.2 Footer logo column left alignment fix
   Safe scope: footer / Elementor footer only. No general Elementor layout shrink rules. */
body footer .elementor-section .elementor-container > .elementor-column:first-child,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child,
body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-wrap,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-wrap,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-wrap,
body footer .e-con-inner > .e-con:first-child,
body .elementor-location-footer .e-con-inner > .e-con:first-child,
body .site-footer .e-con-inner > .e-con:first-child {
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget,
body footer .e-con-inner > .e-con:first-child .elementor-widget,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-widget,
body .site-footer .e-con-inner > .e-con:first-child .elementor-widget,
body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-container,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-container,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-widget-container,
body footer .e-con-inner > .e-con:first-child .elementor-widget-container,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-widget-container,
body .site-footer .e-con-inner > .e-con:first-child .elementor-widget-container {
    text-align: left !important;
}

body footer .elementor-section .elementor-container > .elementor-column:first-child img,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child img,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child img,
body footer .e-con-inner > .e-con:first-child img,
body .elementor-location-footer .e-con-inner > .e-con:first-child img,
body .site-footer .e-con-inner > .e-con:first-child img {
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-button-wrapper,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-button-wrapper,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-button-wrapper,
body footer .e-con-inner > .e-con:first-child .elementor-button-wrapper,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-button-wrapper,
body .site-footer .e-con-inner > .e-con:first-child .elementor-button-wrapper {
    text-align: left !important;
}

body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons-wrapper,
body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons-wrapper,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons-wrapper,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-social-icons,
body footer .e-con-inner > .e-con:first-child .elementor-social-icons-wrapper,
body footer .e-con-inner > .e-con:first-child .elementor-social-icons,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-social-icons-wrapper,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-social-icons,
body .site-footer .e-con-inner > .e-con:first-child .elementor-social-icons-wrapper,
body .site-footer .e-con-inner > .e-con:first-child .elementor-social-icons {
    justify-content: flex-start !important;
    text-align: left !important;
}

body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-items,
body footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-item,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-items,
body .elementor-location-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-item,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-items,
body .site-footer .elementor-section .elementor-container > .elementor-column:first-child .elementor-icon-list-item,
body footer .e-con-inner > .e-con:first-child .elementor-icon-list-items,
body footer .e-con-inner > .e-con:first-child .elementor-icon-list-item,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-icon-list-items,
body .elementor-location-footer .e-con-inner > .e-con:first-child .elementor-icon-list-item,
body .site-footer .e-con-inner > .e-con:first-child .elementor-icon-list-items,
body .site-footer .e-con-inner > .e-con:first-child .elementor-icon-list-item {
    justify-content: flex-start !important;
    text-align: left !important;
}

