/* =========================================================
   CRYSTAL CLEANING - SERVICE BUTTON ALIGN V74
   Safe production fix:
   - Keeps every service card equal-height inside each grid row.
   - Pins every CTA to the bottom of the card body.
   - Does not change service content, modal logic, images or colors.
   ========================================================= */

/* Both homepage and /services grids */
html body .services-premium-grid,
html body .services-page-grid{
    align-items:stretch!important;
}

/* Each card fills the complete available row height. */
html body .service-premium-card{
    height:100%!important;
    min-height:0!important;

    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;

    box-sizing:border-box!important;
}

/* Image keeps its natural section; body absorbs remaining space. */
html body .service-premium-card__media{
    flex:0 0 auto!important;
}

html body .service-premium-card__body{
    flex:1 1 auto!important;
    min-height:0!important;

    display:flex!important;
    flex-direction:column!important;

    box-sizing:border-box!important;
}

/*
 * The content remains in its normal order.
 * margin-top:auto consumes any unused card height before the CTA,
 * therefore all CTA buttons line up at the same baseline.
 */
html body .service-premium-card__body > .service-premium-cta{
    width:100%!important;
    flex:0 0 auto!important;

    margin-top:auto!important;

    min-height:44px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:18px!important;

    box-sizing:border-box!important;
}

/* Prevent old rules from adding different bottom offsets. */
html body .service-premium-card__body > .service-premium-cta:last-child{
    margin-bottom:0!important;
}

/* Preserve breathing room between the last content element and button. */
html body .service-premium-card__body > .service-premium-list + .service-premium-cta,
html body .service-premium-card__body > .service-premium-card__note + .service-premium-cta,
html body .service-premium-card__body > .service-premium-divider + .service-premium-cta{
    padding-top:0!important;
}

/* Mobile remains natural; the same flex behavior prevents random button heights. */
@media(max-width:820px){
    html body .service-premium-card{
        height:100%!important;
    }

    html body .service-premium-card__body > .service-premium-cta{
        min-height:44px!important;
        margin-top:auto!important;
    }
}
