/* =============================
   FACIAL PREMIUM SLIDER
============================= */

/* =====================================
   FACIAL PREMIUM HEADING - UPGRADED
===================================== */

.facial-premium{
    position:relative;
    overflow:hidden;
}

/* glow background nhẹ phía sau */
.facial-premium::before{
    content:"";
    position:absolute;
    top:-120px;
    left:50%;
    transform:translateX(-50%);
    width:520px;
    height:260px;
    background:radial-gradient(circle, rgba(255,210,160,.35), transparent 70%);
    filter:blur(60px);
    z-index:0;
}

/* ===== head ===== */

.fp-head{
    position:relative;
    z-index:2;
    text-align:center;
    margin-bottom:70px;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}


/* badge nhỏ phía trên */
.fp-badge{
    display:inline-block;
    padding:6px 16px;
    margin-bottom:14px;

    font-size:12px;
    letter-spacing:1px;
    font-weight:600;
    text-transform:uppercase;

    color:#8B5E3C;
    background:#fff;
    border-radius:40px;

    box-shadow:0 6px 18px rgba(0,0,0,.08);
}


/* title */
.fp-head h2{
    font-size:38px;
    font-weight:800;
    letter-spacing:.5px;

    background:linear-gradient(90deg,#2b2b2b,#8B5E3C);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    margin-bottom:14px;
}


/* description */
.fp-head p{
    color:#666;
    font-size:16px;
    line-height:1.7;
    margin-bottom:22px;
}


/* line gradient */
.fp-line{
    width:80px;
    height:4px;
    border-radius:20px;
    margin:auto;

    background:linear-gradient(
            90deg,
            #ffd37a,
            #ffb65a,
            #8B5E3C
    );
}


/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .fp-head{
        margin-bottom:45px;
        padding:0 16px;
    }

    .fp-head h2{
        font-size:26px;
    }

    .fp-head p{
        font-size:14px;
    }

    .fp-line{
        width:60px;
        height:3px;
    }
}


/* =============================
   SLIDER LAYOUT
============================= */

.fp-slider{
    position:relative;
    width:100vw;
    left:50%;
    transform:translateX(-50%);
}

.fp-viewport{
    overflow:hidden;
    max-width:1200px;
    margin:auto;
    padding:0 8px; /* mobile safe spacing */
}

.fp-track{
    display:flex;
    gap:28px;
    transition:transform .45s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}



/* =============================
   CARD
============================= */

.fp-card{
    flex:0 0 calc((100% - 56px)/3);

    background:#fff;
    border-radius:22px;
    overflow:hidden;
    text-decoration:none;
    color:#222;

    box-shadow:0 6px 18px rgba(0,0,0,.05);
    transition:.35s;
}

.fp-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}



/* image */

.fp-img{
    aspect-ratio:4/3;
    overflow:hidden;
}

.fp-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.fp-card:hover img{
    transform:scale(1.08);
}



/* body */

.fp-body{
    padding:22px;
}

.fp-body h3{
    font-size:18px;
    font-weight:700;
    margin-bottom:8px;
}

.fp-body p{
    font-size:14px;
    color:#666;
    margin-bottom:12px;
    line-height:1.6;
}

.fp-time{
    font-size:13px;
    font-weight:600;
    color:#8B5E3C;
    display:block;
    margin-bottom:14px;
}



/* =============================
   BENEFITS
============================= */

.fp-benefits{
    list-style:none;
    padding:0;
    margin:0 0 22px;
}

.fp-benefits li{
    font-size:13.5px;
    color:#555;
    margin-bottom:6px;
    padding-left:18px;
    position:relative;
}

.fp-benefits li::before{
    content:"✔";
    position:absolute;
    left:0;
    color:#ffb65a;
    font-size:11px;
}



/* =============================
   BUTTONS
============================= */

.fp-actions{
    display:flex;
    gap:10px;
}

.btn-outline{
    flex:1;
    padding:10px;
    border-radius:12px;
    border:1px solid #ddd;
    text-align:center;
    font-size:14px;
    background:#fff;
    transition:.25s;
}

.btn-outline:hover{
    border-color:#8B5E3C;
    color:#8B5E3C;
}

.btn-gradient{
    flex:1;
    padding:10px;
    border-radius:12px;
    text-align:center;
    font-weight:600;
    color:#fff;

    background:linear-gradient(90deg,#ffd37a,#ffb65a,#8B5E3C);
    transition:.3s;
}

.btn-gradient:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(139,94,60,.35);
}



/* =============================
   ARROWS (desktop stick container)
============================= */

.fp-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:52px;
    height:52px;

    border-radius:50%;
    background:#fff;
    border:none;

    font-size:26px;
    box-shadow:0 12px 28px rgba(0,0,0,.15);

    cursor:pointer;
    z-index:10;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.25s;
}

.fp-arrow:hover{
    transform:translateY(-50%) scale(1.1);
}

/* bám container */
.fp-prev{
    left:calc((100vw - 1200px)/2 - 26px);
}

.fp-next{
    right:calc((100vw - 1200px)/2 - 26px);
}



/* =============================
   RESPONSIVE
============================= */

/* tablet = 2 cards */
@media(max-width:992px){

    .fp-card{
        flex:0 0 calc((100% - 28px)/2);
    }

    /* arrow nằm sát khung */
    .fp-prev{ left:12px; }
    .fp-next{ right:12px; }
}


/* mobile = 1 card */
@media(max-width:640px){

    .facial-premium{
        padding:70px 0;
    }

    .fp-head{
        margin-bottom:40px;
    }

    .fp-head h2{
        font-size:24px;
    }

    .fp-card{
        flex:0 0 100%;
        border-radius:18px;
    }

    .fp-body{
        padding:18px;
    }

    .fp-actions{
        flex-direction:column;
    }

    /* arrow nhỏ + nằm giữa ảnh */
    .fp-arrow{
        width:36px;
        height:36px;
        font-size:16px;
        top:40%;
        opacity:.9;
    }

    .fp-prev{ left:8px; }
    .fp-next{ right:8px; }
}