/* ==========================================
   SPA MENU
========================================== */

.spa-menu{

    padding:120px 0;

    background:linear-gradient(
        180deg,
        #FFF9EF 0%,
        #F7F3EA 55%,
        #FFFFFF 100%
    );

    position:relative;

    overflow:hidden;

}

.spa-menu::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    top:-220px;

    right:-220px;

    border-radius:50%;

    background:radial-gradient(circle,rgba(216,235,249,.45),transparent 70%);

}

.spa-menu::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    left:-180px;

    bottom:-180px;

    border-radius:50%;

    background:radial-gradient(circle,rgba(252,230,183,.40),transparent 70%);

}

.spa-menu .container{

    position:relative;

    z-index:2;

}

.spa-menu h2{

    font-size:56px;

    font-weight:800;

    color:var(--primary);

    margin:20px 0;

}

.spa-menu .section-description{

    max-width:760px;

    margin:auto;

    margin-bottom:70px;

    line-height:1.9;

    color:var(--text-secondary);

}

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

.spa-card{

    background:#FFFFFF;

    border-radius:30px;

    overflow:hidden;

    height:100%;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

    transition:.35s ease;

    display:flex;

    flex-direction:column;

}

.spa-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 80px rgba(0,0,0,.12);

}

.featured-service{

    border:2px solid rgba(212,170,89,.35);

}

/* ==========================================
   IMAGE
========================================== */

.spa-image{

    position:relative;

    height:260px;

    background:linear-gradient(
        135deg,
        #FFF8EA,
        #F6F2E8
    );

    display:flex;

    align-items:center;

    justify-content:center;

}

.spa-image img{

    width:80%;

    max-height:210px;

    object-fit:contain;

    transition:.35s ease;

}

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

    transform:scale(1.06);

}

/* ==========================================
   BADGE
========================================== */

.service-badge{

    position:absolute;

    top:20px;

    left:20px;

    background:var(--primary);

    color:#FFFFFF;

    padding:8px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

}

/* ==========================================
   CONTENT
========================================== */

.spa-content{

    padding:35px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.service-subtitle{

    color:var(--sand);

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:1px;

}

.spa-content h3{

    color:var(--primary);

    font-size:34px;

    font-weight:800;

    margin:10px 0 15px;

}

.service-rating{

    font-weight:600;

    margin-bottom:18px;

    color:var(--primary);

}

.service-rating span{

    margin-left:10px;

    color:var(--text-secondary);

    font-weight:500;

}

.spa-content p{

    color:var(--text-secondary);

    line-height:1.8;

    flex:1;

}

/* ==========================================
   FOOTER
========================================== */

.service-footer{

    display:flex;

    justify-content:space-between;

    margin:30px 0;

    padding-top:25px;

    border-top:1px solid rgba(0,0,0,.08);

}

.service-footer small{

    display:block;

    color:var(--text-secondary);

    margin-bottom:6px;

}

.service-footer strong{

    color:var(--primary);

    font-size:20px;

}

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

.reserve-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:16px;

    border-radius:16px;

    background:var(--primary);

    color:#FFFFFF !important;

    text-decoration:none;

    font-weight:700;

    transition:.3s ease;

}

.reserve-btn:hover{

    background:#6A4336;

    transform:translateY(-2px);

}

@media(max-width:991px){

    .spa-menu h2{

        font-size:42px;

    }

}
/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:1200px){

    .spa-menu h2{

        font-size:48px;

    }

}

@media (max-width:992px){

    .spa-menu{

        padding:90px 0;

    }

    .spa-menu h2{

        font-size:42px;

    }

    .spa-menu .section-description{

        margin-bottom:50px;

    }

    .spa-card{

        margin-bottom:30px;

    }

}

@media (max-width:768px){

    .spa-menu{

        padding:80px 0;

    }

    .spa-menu h2{

        font-size:36px;

    }

    .spa-menu .section-description{

        font-size:16px;

    }

    .spa-image{

        height:220px;

    }

    .spa-content{

        padding:28px;

    }

    .spa-content h3{

        font-size:28px;

    }

    .service-footer{

        flex-direction:column;

        gap:18px;

    }

}

@media (max-width:576px){

    .spa-menu{

        padding:70px 0;

    }

    .spa-menu h2{

        font-size:30px;

    }

    .spa-image{

        height:190px;

    }

    .spa-image img{

        width:75%;

    }

    .spa-content{

        padding:22px;

    }

    .spa-content h3{

        font-size:24px;

    }

    .reserve-btn{

        padding:14px;

    }

}