/* ==========================================================
   NemuTrip Services Section
   FINAL V10
   Theme : NemuTrip
========================================================== */

/* ==========================================================
   CSS Variables
========================================================== */

:root{

    --service-primary:#0D6EFD;
    --service-secondary:#1E293B;
    --service-accent:#F59E0B;

    --service-text:#475569;
    --service-heading:#0F172A;

    --service-bg:#F8FAFC;
    --service-card:#FFFFFF;

    --service-border:#E2E8F0;

    --service-radius:24px;

    --service-shadow:
        0 15px 45px rgba(15,23,42,.08);

    --service-transition:.35s ease;

}

/* ==========================================================
   Section
========================================================== */

.services-section{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:var(--service-bg);

}

/* ==========================================================
   Container
========================================================== */

.services-section .container{

    position:relative;

    z-index:2;

}

/* ==========================================================
   Global
========================================================== */

.services-section *{

    box-sizing:border-box;

}

/* ==========================================================
   Images
========================================================== */

.services-section img{

    max-width:100%;

    display:block;

}

/* ==========================================================
   Links
========================================================== */

.services-section a{

    text-decoration:none;

    transition:var(--service-transition);

}

/* ==========================================================
   Lists
========================================================== */

.services-section ul{

    margin:0;

    padding:0;

    list-style:none;

}

/* ==========================================================
   Premium Section Heading
========================================================== */

.services-heading{

    max-width:760px;

    margin:0 auto 80px;

    text-align:center;

}

/* Badge */

.services-heading .section-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 24px;

    margin-bottom:22px;

    border-radius:999px;

    background:rgba(13,110,253,.08);

    color:var(--service-primary);

    font-size:.82rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

/* Title */

.services-heading .section-title{

    margin:0;

    color:var(--service-heading);

    font-size:clamp(2.2rem,4vw,3.4rem);

    font-weight:800;

    line-height:1.15;

    letter-spacing:-1px;

}

/* Highlight */

.services-heading .section-title span{

    display:block;

    margin-top:8px;

    color:var(--service-primary);

}

/* Description */

.services-heading .section-description{

    max-width:720px;

    margin:28px auto 0;

    color:var(--service-text);

    font-size:1.08rem;

    line-height:1.9;

}

/* ==========================================================
   Services Grid Foundation
========================================================== */

.services-grid{

    position:relative;

}

.services-grid .row{

    --bs-gutter-x:30px;

    --bs-gutter-y:30px;

}

/* ==========================================================
   Enterprise Service Card
========================================================== */

.service-card{

    position:relative;

    display:flex;

    flex-direction:column;

    height:100%;

    overflow:hidden;

    background:var(--service-card);

    border:1px solid var(--service-border);

    border-radius:var(--service-radius);

    box-shadow:var(--service-shadow);

    transition:all .35s ease;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(13,110,253,.25);

    box-shadow:
        0 28px 60px rgba(15,23,42,.14);

}

/* ==========================================================
   Service Image
========================================================== */

.service-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:4 / 3;

    background:#E5E7EB;

}

.service-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .6s ease;

}

.service-card:hover .service-image img{

    transform:scale(1.08);

}

/* ==========================================================
   Badge
========================================================== */

.service-badge{

    position:absolute;

    top:18px;

    left:18px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 16px;

    border-radius:999px;

    background:rgba(13,110,253,.95);

    color:#fff;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    backdrop-filter:blur(10px);

}

/* ==========================================================
   Card Body
========================================================== */

.service-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

/* ==========================================================
   Service Header
========================================================== */

.service-header{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:22px;

}

/* ==========================================================
   Service Icon
========================================================== */

.service-icon{

    width:68px;

    height:68px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:linear-gradient(
        135deg,
        var(--service-primary),
        #3B82F6
    );

    color:#fff;

    font-size:1.8rem;

    box-shadow:
        0 12px 30px rgba(13,110,253,.25);

    transition:all .35s ease;

}

.service-card:hover .service-icon{

    transform:rotate(-8deg) scale(1.08);

}

/* ==========================================================
   Heading Box
========================================================== */

.service-heading-box{

    flex:1;

    min-width:0;

}

/* ==========================================================
   Service Title
========================================================== */

.service-title{

    margin:0;

    color:var(--service-heading);

    font-size:1.35rem;

    font-weight:800;

    line-height:1.3;

}

/* ==========================================================
   Service Subtitle
========================================================== */

.service-subtitle{

    display:block;

    margin-top:6px;

    color:var(--service-primary);

    font-size:.90rem;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

/* ==========================================================
   Description
========================================================== */

.service-description{

    margin:0 0 24px;

    color:var(--service-text);

    font-size:.97rem;

    line-height:1.9;

}

/* ==========================================================
   Service Features
========================================================== */

.service-features{

    margin:0;

    padding:0;

    list-style:none;

}

.service-features li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:14px;

    color:var(--service-text);

    font-size:.96rem;

    font-weight:500;

    line-height:1.5;

}

.service-features li:last-child{

    margin-bottom:0;

}

.service-features i{

    width:24px;

    height:24px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(13,110,253,.10);

    color:var(--service-primary);

    font-size:.85rem;

}

/* ==========================================================
   Service Footer
========================================================== */

.service-footer{

    margin-top:auto;

    padding-top:30px;

}

/* ==========================================================
   Button
========================================================== */

.btn-service{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    width:100%;

    padding:16px 24px;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        var(--service-primary),
        #2563EB
    );

    color:#fff;

    font-size:.96rem;

    font-weight:700;

    transition:all .35s ease;

}

.btn-service:hover{

    color:#fff;

    transform:translateY(-3px);

    box-shadow:
        0 18px 35px rgba(13,110,253,.28);

}

.btn-service i{

    transition:transform .30s ease;

}

.btn-service:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   Premium CTA Banner
========================================================== */

.services-cta{

    margin-top:100px;

}

.cta-banner{

    position:relative;

    overflow:hidden;

    padding:70px;

    border-radius:32px;

    background:linear-gradient(
        135deg,
        #0F172A 0%,
        #1E3A8A 100%
    );

    color:#FFFFFF;

    box-shadow:
        0 30px 70px rgba(15,23,42,.18);

}

/* ==========================================================
   CTA Content
========================================================== */

.cta-content{

    position:relative;

    z-index:2;

}

.cta-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 22px;

    margin-bottom:24px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    color:#FFFFFF;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    backdrop-filter:blur(10px);

}

.cta-title{

    margin:0 0 20px;

    color:#FFFFFF;

    font-size:clamp(2rem,3vw,2.8rem);

    font-weight:800;

    line-height:1.25;

}

.cta-description{

    max-width:560px;

    margin:0;

    color:rgba(255,255,255,.82);

    font-size:1rem;

    line-height:1.9;

}

/* ==========================================================
   CTA Vehicle
========================================================== */

.cta-car{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

}

.cta-car img{

    max-width:260px;

    transition:transform .45s ease;

}

.cta-banner:hover .cta-car img{

    transform:scale(1.05);

}

/* ==========================================================
   CTA Button
========================================================== */

.cta-button{

    display:flex;

    align-items:center;

    justify-content:center;

    height:100%;

}

.btn-cta{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 34px;

    border-radius:18px;

    background:#FFFFFF;

    color:var(--service-primary);

    font-size:1rem;

    font-weight:700;

    transition:all .35s ease;

}

.btn-cta:hover{

    color:#FFFFFF;

    background:var(--service-accent);

    transform:translateY(-4px);

    box-shadow:
        0 18px 40px rgba(245,158,11,.35);

}

.btn-cta i{

    transition:transform .3s ease;

}

.btn-cta:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   CTA Decorative Shapes
========================================================== */

.cta-circle{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

    z-index:1;

}

.cta-circle-1{

    width:320px;

    height:320px;

    top:-120px;

    right:-120px;

    background:rgba(255,255,255,.06);

}

.cta-circle-2{

    width:220px;

    height:220px;

    bottom:-80px;

    left:-80px;

    background:rgba(255,255,255,.04);

}

/* ==========================================================
   Pattern
========================================================== */

.cta-pattern{

    position:absolute;

    inset:0;

    pointer-events:none;

    opacity:.08;

    background-image:

        radial-gradient(circle at 1px 1px,#FFFFFF 1px,transparent 0);

    background-size:28px 28px;

}

/* ==========================================================
   Card Decoration
========================================================== */

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(

        90deg,

        var(--service-primary),

        var(--service-accent)

    );

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .35s ease;

}

.service-card:hover::before{

    transform:scaleX(1);

}

/* ==========================================================
   Image Overlay
========================================================== */

.service-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        to top,

        rgba(15,23,42,.12),

        transparent 55%

    );

    pointer-events:none;

}

/* ==========================================================
   Enterprise Responsive
========================================================== */

/* ==========================================================
   Large Desktop
========================================================== */

@media (max-width:1400px){

    .cta-banner{

        padding:60px;

    }

}

/* ==========================================================
   Laptop
========================================================== */

@media (max-width:1199px){

    .services-section{

        padding:100px 0;

    }

    .services-heading{

        margin-bottom:60px;

    }

    .service-content{

        padding:24px;

    }

    .cta-banner{

        padding:50px;

    }

    .cta-title{

        font-size:2.2rem;

    }

}

/* ==========================================================
   Tablet
========================================================== */

@media (max-width:991px){

    .services-heading{

        margin-bottom:50px;

    }

    .service-card{

        max-width:560px;

        margin:0 auto;

    }

    .cta-banner{

        padding:45px;

        text-align:center;

    }

    .cta-description{

        max-width:100%;

        margin:0 auto;

    }

    .cta-car{

        margin:30px 0;

    }

    .cta-button{

        justify-content:center;

    }

}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width:767px){

    .services-section{

        padding:80px 0;

    }

    .services-heading{

        margin-bottom:40px;

    }

    .service-content{

        padding:22px;

    }

    .service-header{

        gap:14px;

    }

    .service-icon{

        width:56px;

        height:56px;

        font-size:1.4rem;

        border-radius:16px;

    }

    .service-title{

        font-size:1.2rem;

    }

    .service-description{

        font-size:.95rem;

    }

    .btn-service{

        padding:15px 20px;

    }

    .cta-banner{

        padding:36px 26px;

        border-radius:24px;

    }

    .cta-title{

        font-size:1.8rem;

    }

    .cta-car img{

        max-width:220px;

    }

}

/* ==========================================================
   Small Mobile
========================================================== */

@media (max-width:480px){

    .services-section{

        padding:70px 0;

    }

    .section-title{

        font-size:2rem;

    }

    .section-description{

        font-size:.95rem;

    }

    .service-content{

        padding:20px;

    }

    .service-badge{

        top:14px;

        left:14px;

        font-size:.65rem;

        padding:7px 12px;

    }

    .cta-banner{

        padding:30px 20px;

    }

    .btn-cta{

        width:100%;

    }

}

/* ==========================================================
   FINAL V10
   Motion + Premium Polish
========================================================== */

/* ==========================================================
   Smooth Rendering
========================================================== */

.services-section{

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;

}

/* ==========================================================
   Card Animation
========================================================== */

.service-card{

    will-change:transform, box-shadow;

    backface-visibility:hidden;

}

.service-card:hover{

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

/* ==========================================================
   Image Animation
========================================================== */

.service-image{

    isolation:isolate;

}

.service-image img{

    will-change:transform;

}

/* ==========================================================
   Icon Animation
========================================================== */

.service-icon{

    will-change:transform;

}

/* ==========================================================
   Button Transition
========================================================== */

.btn-service,
.btn-cta{

    position:relative;

    overflow:hidden;

}

.btn-service::before,
.btn-cta::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.35),

            transparent

        );

    transform:skewX(-25deg);

    transition:left .8s ease;

}

.btn-service:hover::before,
.btn-cta:hover::before{

    left:160%;

}

/* ==========================================================
   Focus Accessibility
========================================================== */

.btn-service:focus-visible,
.btn-cta:focus-visible{

    outline:3px solid rgba(13,110,253,.25);

    outline-offset:4px;

}

/* ==========================================================
   Selection
========================================================== */

.services-section ::selection{

    background:var(--service-primary);

    color:#FFFFFF;

}

/* ==========================================================
   Prevent Layout Shift
========================================================== */

.service-image img,
.cta-car img{

    height:auto;

}

/* ==========================================================
   Final Polish
========================================================== */

.services-section .row{

    position:relative;

    z-index:2;

}

.service-card,
.cta-banner{

    border:1px solid rgba(255,255,255,.04);

}

.service-card:hover{

    z-index:10;

}

/* ==========================================================
   End Services Section
   FINAL V10
========================================================== */