/* =========================================================
   HOMEPAGE SERVICES V3 - hero corner + service images/buttons
   Loaded after all previous homepage CSS files.
   ========================================================= */

/* Hero card closer to bottom-right, but not touching edges */
.hero-card.hero-card-corner{
    position:absolute !important;
    right:25px !important;
    bottom:20px !important;
    margin:0 !important;
    max-width:400px !important;
    z-index:5 !important;
}

/* Premium image cards */
.service-card-with-image{
    padding:1rem 1rem 1.25rem !important;
}

.service-card-media{
    position:relative !important;
    height:230px !important;
    margin:0 0 1rem !important;
    border-radius:20px !important;
    overflow:hidden !important;
    background:none !important;
}

.service-card-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    transform:scale(1.01) !important;
    transition:transform .65s ease, filter .65s ease !important;
}

.service-card-media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,248,239,.2) 56%,rgba(42,28,18,.12));
    pointer-events:none;
}

.service-card-with-image:hover .service-card-media img{
    transform:scale(1.06) !important;
    filter:saturate(1.05) contrast(1.02) !important;
}

/* Details button matches floating button family */
.service-card .details-btn{
    width:fit-content !important;
    margin-top:.25rem !important;
    padding:.72rem 1.15rem !important;
    font-size:.92rem !important;
    line-height:1 !important;
    text-decoration:none !important;
}

.service-card .details-btn::after{
    content:"" !important;
}

.service-card .details-btn:hover{
    transform:translateY(-4px) !important;
    box-shadow:0 20px 48px rgba(212,175,55,.32) !important;
}

@media(max-width:1080px){
    .hero-card.hero-card-corner{
        right:max(32px,calc((100vw - var(--container))/2 + 32px)) !important;
        bottom:clamp(48px,7vh,88px) !important;
        max-width:700px !important;
    }
}

@media(max-width:900px){
    .hero-card.hero-card-corner{
        position:relative !important;
        right:auto !important;
        bottom:auto !important;
        margin:19svh auto 0 !important;
        width:min(100% - 32px,var(--container)) !important;
        max-width:100% !important;
    }

    .service-card-media{
        height:250px !important;
    }
}

@media(max-width:560px){
    .service-card-media{
        height:230px !important;
    }
}
