/********************************************
 * GLOBAL EQUAL-HEIGHT CARD SYSTEM (SCOPED)
 ********************************************/

/* Equal-height behavior ONLY for service card areas */
.services-grid .row,
.services-grid .row > [class*="col-"],
.pet-loss-row,
.pet-loss-row .row,
.pet-loss-row .row > [class*="col-"] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

/* Columns inside equal-height areas behave as flex children */
.services-grid .row > [class*="col-"],
.pet-loss-row .row > [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
}

/* Fix Crio/BoldGrid wrappers ONLY inside equal-height areas */
.services-grid .boldgrid-column-wrapper,
.services-grid .boldgrid-cell,
.pet-loss-row .boldgrid-column-wrapper,
.pet-loss-row .boldgrid-cell {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

/* Service cards stretch */
.service-card,
.service-card2 {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff;
    padding: 1.75rem;
    border-radius: 12px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Image consistency */
.service-card img,
.service-card2 img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 15px !important;
}

/* Typography consistency */
.service-card h4,
.service-card2 h4 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    font-weight: 500 !important;
}

.service-card p,
.service-card2 p {
    margin-bottom: 12px !important;
}

/* Responsive stacking ONLY for equal-height areas */
@media (max-width: 991px) {
    .services-grid .row > [class*="col-"],
    .pet-loss-row .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/********************************************
 * HOME PAGE TILE LAYOUT
 ********************************************/

.home-tiles .col-md-4 {
    flex: 1 0 36% !important;
    max-width: 36% !important;
}

.home .tmpl-about-8 .container {
    max-width: 1500px !important;
    width: 100% !important;
}

.tmpl-about-8 .bg-box {
    border-radius: 15px !important;
    overflow: hidden !important;
}

.tmpl-call_to_action-3 {
    margin-bottom: 40px !important;
}

/********************************************
 * PET LOSS CARDS LAYOUT
 ********************************************/

.pet-loss-row {
    align-items: stretch !important;
}

.pet-loss-row .col-md-4 {
    display: flex !important;
    flex-direction: column !important;
}

.pet-loss-row .col-md-4 > div > .row > .col-md-12 {
    display: flex !important;
    flex-direction: column !important;
}

.pet-loss-card {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 100% !important;
    padding: 22px 18px !important;
}

.pet-loss-row .col-md-4 > div {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/********************************************
 * IMAGE FITTING IN GRID LAYOUTS
 ********************************************/

.pet-loss-row .col-md-5 img,
.pet-loss-row .col-md-4 img,
.pet-loss-row .col-md-3 img,
.services-grid .col-md-5 img,
.services-grid .col-md-4 img,
.services-grid .col-md-3 img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
}

.equal-height-row .right-col img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
}

.logo-row .col-md-4 img,
.logo-row .col-sm-12 img,
.logo-row .col-xs-12 img {
    width: auto !important;
    max-width: 160px !important;
    height: auto !important;
}

/********************************************
 * MAP WRAPPER
 ********************************************/

.map-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 450px !important;
}

.map-wrapper iframe {
    width: 100% !important;
    height: 100% !important;
}

.service-circle {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 320px !important;
    height: 320px !important;
    margin-left: -160px !important;
    margin-top: -180px !important;
    border-radius: 50% !important;
    border: 3px solid #1e88e5 !important;
    background: rgba(30, 136, 229, 0.15) !important;
    pointer-events: none !important;
}

/********************************************
 * CARD-TAN WRAPPER
 ********************************************/

.card-tan-wrapper {
    padding: 20px !important;
}

.card-tan {
    background-color: #f4efe7 !important;
    padding: 30px !important;
    border-radius: 16px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    display: block !important;
}
