/*==================================================
            SERVICE MODAL
            Part 1
==================================================*/

.service-modal{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px;

    background:rgba(5,5,5,.82);

    backdrop-filter:blur(20px);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.45s ease;

    z-index:9999;

}

/* Active */

.service-modal.active{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

}

/*==============================
        MODAL CARD
==============================*/

.modal-content{

    position:relative;

    width:100%;

    max-width:950px;

    max-height:90vh;

    overflow-y:auto;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.04)
        );

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

    backdrop-filter:blur(30px);

    border-radius:30px;

    padding:60px;

    color:#f5f2ed;

    box-shadow:

        0 35px 90px rgba(0,0,0,.55),

        0 0 45px rgba(217,23,23,.15);

    transform:translateY(50px) scale(.96);

    transition:.45s ease;

}

/* Opening */

.service-modal.active .modal-content{

    transform:translateY(0) scale(1);

}

/* Scrollbar */

.modal-content::-webkit-scrollbar{

    width:8px;

}

.modal-content::-webkit-scrollbar-thumb{

    background:#d91717;

    border-radius:50px;

}

.modal-content::-webkit-scrollbar-track{

    background:transparent;

}

/*==============================
        BACKGROUND GLOW
==============================*/

.modal-content::before{

    content:"";

    position:absolute;

    width:380px;

    height:380px;

    right:-160px;

    top:-160px;

    border-radius:50%;

    background:

        radial-gradient(

            circle,

            rgba(217,23,23,.18),

            transparent 70%

        );

    pointer-events:none;

}

/*==============================
        CATEGORY
==============================*/

.modal-category{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(217,23,23,.12);

    border:1px solid rgba(217,23,23,.3);

    color:#ff6666;

    font-size:.8rem;

    letter-spacing:2px;

    font-weight:700;

    margin-bottom:25px;

}

/*==============================
        TITLE
==============================*/

#modalTitle{

    font-family:"Anton",sans-serif;

    font-size:clamp(2.6rem,5vw,4.6rem);

    line-height:1.1;

    margin-bottom:20px;

    letter-spacing:2px;

}

/*==============================
        DESCRIPTION
==============================*/

#modalDescription{

    color:#d0d0d0;

    line-height:1.9;

    font-size:1.05rem;

    max-width:760px;

    margin-bottom:45px;

}

/*==============================
        CLOSE BUTTON
==============================*/

.close-modal{

    position:absolute;

    top:25px;

    right:25px;

    width:54px;

    height:54px;

    border:none;

    border-radius:50%;

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

    color:#f5f2ed;

    font-size:1.7rem;

    cursor:pointer;

    transition:.35s ease;

}

.close-modal:hover{

    background:#d91717;

    transform:rotate(90deg) scale(1.08);

}

/*==================================================
            SERVICE MODAL
            Part 2
==================================================*/

/*======================================
        FEATURES SECTION
======================================*/

.modal-features{

    margin-top:50px;

}

.modal-features h3{

    font-size:1.4rem;

    margin-bottom:25px;

    color:#f5f2ed;

    letter-spacing:1px;

}

#modalFeatures{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:18px;

    list-style:none;

    padding:0;

}

#modalFeatures li{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 20px;

    border-radius:16px;

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

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

    color:#d7d7d7;

    transition:.35s ease;

}

#modalFeatures li::before{

    content:"✓";

    width:28px;

    height:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#d91717;

    color:#fff;

    font-size:.85rem;

    flex-shrink:0;

}

#modalFeatures li:hover{

    transform:translateX(8px);

    background:rgba(217,23,23,.08);

    border-color:rgba(217,23,23,.3);

}

/*======================================
        TECHNOLOGIES
======================================*/

.modal-tech{

    margin-top:55px;

}

.modal-tech h3{

    margin-bottom:22px;

    font-size:1.4rem;

}

#modalTech{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

#modalTech span{

    padding:12px 22px;

    border-radius:50px;

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

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

    color:#fff;

    transition:.35s;

    cursor:default;

}

#modalTech span:hover{

    background:#d91717;

    transform:translateY(-5px);

}

/*======================================
        INFO GRID
======================================*/

.modal-info{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-top:55px;

}

.info-card{

    padding:25px;

    border-radius:18px;

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

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

    transition:.35s;

}

.info-card span{

    display:block;

    color:#999;

    margin-bottom:10px;

    font-size:.9rem;

}

.info-card strong{

    font-size:1.2rem;

    color:#fff;

}

.info-card:hover{

    transform:translateY(-8px);

    border-color:#d91717;

}

/*======================================
        CTA BUTTON
======================================*/

.modal-content .contact-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    margin-top:60px;

    padding:18px 42px;

    border-radius:50px;

    background:#d91717;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    letter-spacing:1px;

    transition:.35s;

}

.modal-content .contact-btn:hover{

    transform:translateY(-5px);

    box-shadow:

        0 18px 40px rgba(217,23,23,.35);

}

/*======================================
        FADE ANIMATION
======================================*/

@keyframes modalFade{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.modal-content>*{

    animation:modalFade .6s ease both;

}

.modal-content>*:nth-child(2){animation-delay:.05s;}
.modal-content>*:nth-child(3){animation-delay:.10s;}
.modal-content>*:nth-child(4){animation-delay:.15s;}
.modal-content>*:nth-child(5){animation-delay:.20s;}
.modal-content>*:nth-child(6){animation-delay:.25s;}
.modal-content>*:nth-child(7){animation-delay:.30s;}

/*======================================
        TABLET
======================================*/

@media(max-width:992px){

    .modal-content{

        padding:45px;

    }

    .modal-info{

        grid-template-columns:1fr;

    }

}

/*======================================
        MOBILE
======================================*/

@media(max-width:768px){

    .service-modal{

        padding:20px;

    }

    .modal-content{

        padding:30px;

        border-radius:22px;

    }

    #modalTitle{

        font-size:2.3rem;

    }

    #modalDescription{

        font-size:1rem;

    }

    #modalFeatures{

        grid-template-columns:1fr;

    }

    .close-modal{

        width:46px;

        height:46px;

        font-size:1.4rem;

    }

    .modal-content .contact-btn{

        width:100%;

    }

}

/*======================================
        SMALL MOBILE
======================================*/

@media(max-width:480px){

    .modal-content{

        padding:24px;

    }

    #modalTitle{

        font-size:1.9rem;

    }

    .modal-category{

        font-size:.75rem;

    }

    #modalTech{

        gap:10px;

    }

    #modalTech span{

        padding:10px 16px;

        font-size:.85rem;

    }

}