@import url("style.css");
@import url("header2.css");


/*-----------------------------------*\
  #service List
\*-----------------------------------*/

.service-page .container{
    margin-top: 50px;
} 

.service-page {
    background-color: var(--isabelline);
    text-align: center;
}

.service-page .section-title {
    margin-block: 10px 20px;
}

.service-page .section-text {
    max-width: 44ch;
    margin-inline: auto;
    margin-block-end: 30px;
    text-align: justify;
}

.fiter-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-block-end: 40px;
}

.filter-btn {
    background-color: var(--pale-beige);
    color: var(--color, var(--rich-black-fogra-29));
    font-family: var(--ff-rubik);
    font-weight: var(--fw-500);
    padding: 5px 20px;
    border: 1px solid var(--border-color, var(--cultured));
}

.filter-btn:hover {
    background-color: var(--sky-blue); 
    color: var(--pale-beige); 
}

.filter-btn.active {
    background-color: var(--deep-saffron);
    --color: var(--pale-beige);
    --border-color: var(--deep-saffron);
}

.service-page-list {
    display: flex;
    flex-wrap: wrap; 
    gap: 10px;
    max-width: 1200px; 
    margin: 0 auto; 
}

.service-page-card {
    background-color: var(--pale-beige);
    box-shadow: var(--shadow-2);
    height: 10px;
    width: 280px; 
    min-height: 300px; 
}

.service-page-card:focus-within {
    outline: 1px auto -webkit-focus-ring-color;
}

.service-page-card .card-banner {
    position: relative;
    padding-block-start: 30px;
    height: 200px;
    max-width: max-content; 
    aspect-ratio: 1 / 1; 
    margin: 0 auto; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.service-page-card .badge {
    top: 5;
    left: -30;
    min-width: 30px;
}

.service-page-btn {
    position: absolute;
    top: calc(50% + 15px);
    left: 50%;
    transform: translate(-50%, 0);
    min-width: max-content;
    --bg-color: var(--cinnabar);
    width: 60%;
    height: 40px; 
    padding-inline: 20px; 
    opacity: 0;
    transition: var(--transition-2);
}

.service-page-btn:is(:hover, :focus) {
    --bg-color: var(--deep-saffron);
}

.service-page-card:is(:hover, :focus-within) .service-page-btn {
    transform: translate(-50%, -50%);
    opacity: 1;
}

.service-page-card .wrapper {
    display: flex;
    justify-content: center; 
    align-items: center; 
    gap: 15px; 

}

.service-page-card .category {
    font-family: var(--ff-rubik);
    font-weight: var(--fw-500);
}

.service-page-card .rating-wrapper {
    font-size: 1.4rem;
}

.service-page-card .card-title {
    font-size: 1.8rem;
    margin-top: 15px;
    padding: 15px;
    margin-inline: auto; 
    text-align: center; 
}

.modal {
    display: none; 
    position: fixed; 
    z-index: 100; 
    left: 0;
    top: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(0, 0, 0, 0.8); 
    backdrop-filter: blur(5px); 
    transition: all 0.3s ease-in-out; 
    overflow: hidden;
}


.modal-header {
    color: white; 
    padding: 15px 20px; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--sky-blue); 
    border-top-left-radius: 10px; 
    border-top-right-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
}

.modal-header h2 {
    margin: 0; 
    font-size: 24px; 
    font-family: 'Montserrat', sans-serif; 
}

.modal-content {
    background: linear-gradient(145deg, #ffffff, #f9f9f9); 
    margin: 0 auto; 
    padding: 0; 
    border-radius: 15px; 
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.3); 
    width: 100%; 
    max-width: 600px; 
    position: absolute; 
    left: 300px; 
    top: -120px; 
    transition: transform 0.4s ease-in-out; 
}

.modal-body {
    padding: 15px; 
    font-family: 'Open Sans', sans-serif; 
    font-size: 18px; 
    color: #444; 
    text-align: justify;
    max-height: 400px; 
    overflow-y: auto; 
}

.close {
    color: #ddd; 
    font-size: 30px; 
    font-weight: bold;
    cursor: pointer; 
    transition: color 0.3s ease-in-out; 
}

.close:hover {
    color: #ff4d4d; 
}

.modal-content {
    animation: slide-down 0.6s ease-out; 
}

@keyframes slide-down {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.service-item {
    display: flex;              
    align-items: center;       
    margin-bottom: 10px;       
}

.icon {
    color: green;             
    margin-right: 8px;         
    font-size: 24px;           
}



/*-----------------------------------*\
  #MEDIA QUERIES
\*-----------------------------------*/

@media (min-width: 480px) {

  .header-btn-group .btn {
    display: block;
    --bg-color: var(--dark-orange);
  }
}

@media (min-width: 550px) {

  .container {
    max-width: 500px;
    width: 100%;
    margin-inline: auto;
  }

  .footer-top .container { grid-template-columns: 1fr 1fr; }

}

@media (min-width: 768px) {

    .container { max-width: 720px; }

    .service-page .container{
        margin-top: 2rem;
    }

    .service-page-list { grid-template-columns: 1fr 1fr; }

    .service-page-card .card-title { text-align: left; }
}

@media (max-width: 884px) {

    .container .service-page {
        margin-top: 2.5rem;
    }
}

@media (min-width: 992px) {

    :root {
        --section-padding: 120px;
    }

    .container { max-width: 960px; }

    .service-page .container{
        margin-top: 3rem;
    }

    .service-page-list { grid-template-columns: repeat(3, 1fr); }

    .service-page-card { height: 100%; }


    .h2 { --fs-1: 4.2rem; }

    .nav-toggle-btn { display: none; }

    .header .container { gap: 20px; }

    .navbar,
    .navbar.active {
        all: unset;
        margin-inline-start: auto;
    }

    .navbar-list {
        margin-block: 0;
        display: flex;
        gap: 5px;
    }

    .nav-item:not(:last-child) { border-block-end: none; }

    .navbar-link {
        --fs-4: 1.5rem;
        color: var(--btn-color);
        letter-spacing: -0.5px;
    }

    .footer-top .container { grid-template-columns: 1fr 1fr 1fr 1.6fr; }

    .footer-form { margin-block-start: -170px; }

    .back-top-btn {
        bottom: 20px;
        right: 30px;
    }

    .float-social-icon {
        bottom: 75px;
        right: 30px;
    }

}


@media (min-width: 1200px) {

    .container { max-width: 1200px; }

    .service-page-list { grid-template-columns: 1.4fr 1fr 1fr 1.6fr; }

    .footer-top .container { grid-template-columns: 1.4fr 1fr 1fr 1.6fr; }

}

@media(max-width: 1800px){
    .modal-header h2 {
        font-size: 20px; 
        text-align: center; 
    }

    .modal-content {
        width: 90%; 
        max-width: 900%; 
        max-height: 600px;
        left: 50%; 
        transform: translate(-50%); 
        transition: transform 0.4s ease-in-out; 
        top: 60px; 
    }

    .modal-body {
        font-size: 16px; 
    }

    .close {
        font-size: 24px; 
    }
}

@media (min-width: 1800px) {

    .container {
        max-width: 1800px;
        margin: 0 auto;
    }

    .service-page-list { 
        grid-template-columns: 1.4fr 1fr 1fr 1.6fr; 
    }

    .modal-header h2 {
        font-size: 20px; 
        text-align: center; 
    }

    .modal-content {
        width: 90%; 
        max-width: 900%; 
        max-height: 600px;
        left: 50%; 
        transform: translate(-50%); 
        transition: transform 0.4s ease-in-out; 
        top: 60px; 
    }

    .modal-body {
        font-size: 16px; 
    }

    .close {
        font-size: 24px; 
    }
    
}
