﻿/* ======================================
   CraftElevators — Services/Features CSS
   ====================================== */

/* --- Section Area --- */
.demanding-service-area,
.services-section {
    padding: var(--section-padding-lg) 0;
    background: var(--color-white);
    width: 100%;
}

/* --- Title --- */
.title-area-wrapper-main-two {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 36px; /* Was 42px, now less for subtitle visibility */
}

.title-style-two-left {
    max-width: 560px;
}

    .title-style-two-left .title {
        color: var(--color-charcoal);
        font-family: var(--font-primary);
        font-size: var(--h2-size);
        font-weight: var(--font-weight-bold);
        margin-bottom: 10px;
    }

    .title-style-two-left .disc {
        color: var(--color-gray);
        font-family: var(--font-secondary);
        font-size: var(--body-size);
        margin-bottom: 0;
        opacity: 0.92;
    }

.demanding-service-area .rts-btn {
    font-size: 1rem;
    padding: 13px 30px;
    border-radius: var(--border-radius-md);
}

/* --- Background Image and Overlap --- */
.container-1730,
.services-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

.service-bg_image-3.bg_image {
    width: 100%;
    height: 300px;
    background: url('/assets/images/service/1.png') center center/cover no-repeat; /* Show TOP always! */
    opacity: 0.5;
    border-radius: var(--border-radius-lg);
    position: relative;
    z-index: 1;
}

/* --- Card Overlap Negative Margin --- */
.mt--70 {
    margin-top: -40px !important;
}
/* Reduced for better subtitle visibility */
.mt-dec--130 {
    margin-top: -60px !important;
}

/* --- Services Cards Grid --- */
.g-24 {
    gap: 24px !important;
}

.g-12 {
    gap: 12px !important;
}

/* --- Service Card --- */
.single-service-area-3,
.service-card {
    background: var(--color-card-bg);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow-card);
    border: none;
    padding: 40px 28px 36px 28px;
    text-align: center;
    transition: box-shadow 0.2s, transform 0.18s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    height: 100%;
    position: relative;
}

    .single-service-area-3:hover,
    .service-card:hover {
        box-shadow: var(--box-shadow-card-hover);
        transform: translateY(-7px) scale(1.03);
        z-index: 2;
    }
    /* --- Service Icon --- */
    .single-service-area-3 .icon,
    .service-card .icon {
        margin-bottom: 13px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 54px;
    }

        .single-service-area-3 .icon img,
        .service-card .icon img {
            width: 48px;
            height: 48px;
            object-fit: contain;
            filter: drop-shadow(0 1px 6px rgba(0,168,157,0.09));
        }
    /* --- Service Title and Desc --- */
    .single-service-area-3 .title,
    .service-card .title {
        font-family: var(--font-primary);
        color: var(--color-charcoal);
        font-size: var(--h3-size);
        font-weight: var(--font-weight-bold);
        margin: 18px 0 10px 0;
    }

    .single-service-area-3 .disc,
    .service-card .desc {
        color: var(--color-gray);
        font-family: var(--font-secondary);
        font-size: var(--body-size);
        opacity: 0.92;
        margin-bottom: 0;
        line-height: 1.7;
    }
    /* --- Read More Link/Button --- */
    .single-service-area-3 .read-more-btn,
    .service-card .read-more-btn {
        display: inline-flex;
        align-items: center;
        color: var(--color-primary);
        font-size: 1.02rem;
        font-family: var(--font-primary);
        font-weight: var(--font-weight-semibold);
        background: none;
        border: none;
        margin-top: 10px;
        gap: 6px;
        text-decoration: none;
        transition: color 0.18s;
    }

        .single-service-area-3 .read-more-btn:hover,
        .service-card .read-more-btn:hover,
        .single-service-area-3 .read-more-btn:focus,
        .service-card .read-more-btn:focus {
            color: var(--color-accent);
            text-decoration: underline;
        }

/* --- Responsive: Tablet --- */
@media (max-width: 1199px) {
    .container-1730,
    .services-container {
        max-width: 98vw;
    }
}

@media (max-width: 991.98px) {
    .demanding-service-area,
    .services-section {
        padding: var(--section-padding-md) 0;
    }

    .single-service-area-3,
    .service-card {
        padding: 32px 14px 28px 14px;
        font-size: 0.97rem;
    }

    .title-area-wrapper-main-two {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
    }

    .service-bg_image-3.bg_image {
        height: 120px;
    }

    .mt--70 {
        margin-top: -18px !important;
    }

    .mt-dec--130 {
        margin-top: -28px !important;
    }
}

/* --- Responsive: Mobile --- */
@media (max-width: 767.98px) {
    .single-service-area-3,
    .service-card {
        padding: 21px 7px 18px 7px;
        border-radius: var(--border-radius-md);
    }

        .single-service-area-3 .title,
        .service-card .title {
            font-size: 1.08rem;
            margin: 12px 0 8px 0;
        }

    .container-1730,
    .services-container {
        padding: 0 2vw;
    }

    .g-24 {
        gap: 13px !important;
    }
}

/* --- Responsive: Small Mobile --- */
@media (max-width: 575.98px) {
    .title-area-wrapper-main-two {
        margin-bottom: 14px;
        gap: 10px;
    }

    .single-service-area-3,
    .service-card {
        padding: 13px 2vw 11px 2vw;
        border-radius: var(--border-radius-sm);
        margin-bottom: 10px;
    }

    .service-bg_image-3.bg_image {
        height: 44px;
    }

    .mt--70 {
        margin-top: -5px !important;
    }

    .mt-dec--130 {
        margin-top: -12px !important;
    }

    .demanding-service-area.rts-section-gap {
        padding-bottom: 28px;
    }
}
