/* ============================================================
   SKINPASE — TREATMENT DETAILS PAGE
   Styles for: skin-details.html / laser-details.html / hair-details.html
   Reuses existing design tokens defined in style.css (:root).
   Do NOT redefine --primary, --secondary, fonts, etc. here.
   ============================================================ */

/* ============================================================
   1. TREATMENT PAGE HERO
============================================================ */

.td-hero{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:480px;

    padding:140px 20px 80px;

    background:
        linear-gradient(rgba(7,33,68,.75), rgba(7,33,68,.75)),
        url("../assets/skin/hero.jpg") center center/cover no-repeat;

    overflow:hidden;
}
/* ===============================
   SKIN HERO
================================ */

.skin-hero{
    background:
        linear-gradient(rgba(8,37,76,.65), rgba(8,37,76,.65)),
        url("../assets/image.png") center/cover no-repeat;
}

/* ===============================
   HAIR HERO
================================ */

.hair-hero{
    background:
        linear-gradient(rgba(8,37,76,.65), rgba(8,37,76,.65)),
        url("../assets/hair/hair.png") center/cover no-repeat;
}


.dental-hero{
    background:
        linear-gradient(rgba(8,37,76,.65), rgba(8,37,76,.65)),
        url("../assets/dental/dental.png") center/cover no-repeat;
}
/* ===============================
   LASER HERO
================================ */

.laser-hero{
    background:
        linear-gradient(rgba(8,37,76,.65), rgba(8,37,76,.65)),
        url("../assets/laser/laser.png") center/cover no-repeat;
}

.td-hero-overlay{
    position:absolute;
    inset:0;

    background:
        radial-gradient(circle at 15% 20%, rgba(0,169,181,.18), transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(255,255,255,.06), transparent 45%);

    pointer-events:none;
}

.td-hero-content{
    position:relative;
    z-index:2;

    max-width:850px;

    margin:auto;

    text-align:center;
}

.td-hero-title{

    font-family:var(--font-serif);

    font-size:clamp(2.5rem,5vw,4.5rem);

    font-weight:700;

    line-height:1.15;

    color:#fff;

    margin:20px 0;

}

.td-hero-title em{

    color:var(--primary);

    font-style:normal;

}

.td-hero-sub{

    max-width:720px;

    margin:auto;

    font-size:1.15rem;

    line-height:1.8;

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

}

.section-tag--light{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 24px;

    border-radius:50px;

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

    backdrop-filter:blur(12px);

    color:#fff;

    font-size:.9rem;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

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

@media (max-width:992px){

    .td-hero{

        min-height:400px;

        padding:120px 25px 70px;

    }

    .td-hero-title{

        font-size:3rem;

    }

    .td-hero-sub{

        font-size:1rem;

        max-width:90%;

    }

}

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

@media (max-width:768px){

    .td-hero{

        min-height:340px;

        padding:110px 20px 60px;

    }

    .td-hero-title{

        font-size:2.3rem;

    }

    .td-hero-sub{

        font-size:.95rem;

        line-height:1.7;

    }

    .section-tag--light{

        font-size:.75rem;

        padding:8px 18px;

    }

}

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

@media (max-width:480px){

    .td-hero{

        min-height:300px;

        padding:100px 16px 50px;

    }

    .td-hero-title{

        font-size:1.9rem;

    }

    .td-hero-sub{

        font-size:.9rem;

    }

}
/* ============================================================
   2. TREATMENT DETAILS LAYOUT
============================================================ */

.td-section{

    overflow:visible !important;

    background:#F7FAFB;
    padding:80px 0 100px;
}

.td-container{
    display:grid;
    grid-template-columns:390px minmax(0,1fr);
    gap:40px;

    align-items:start;

    position:relative;

    overflow:visible;
}



/* ============================================================
   STICKY SIDEBAR
============================================================ */

.td-sidebar{
    position:sticky;
    top:110px;
    margin-left:30px;
    width:100%;
    max-width:338px;

    padding:40px;

    background:#ffffff;

    border:1px solid rgba(13,43,99,.08);

    border-radius:24px;

    box-shadow:0 20px 50px rgba(13,43,99,.10);
}

.td-sidebar-title{

    font-size:27px;

    color:#0D2B63;

    margin-bottom:18px;

}

.td-sidebar-title::after{

    width:80px;

    height:4px;

    background:#00B8D9;

}

.td-menu{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.td-menu-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:20px 24px;

    background:#F9FBFE;

    border:1px solid #E8EEF6;

    border-radius:16px;

    color:#0D2B63;

    transition:.35s;
    

}

.td-menu-item:hover{

    background:white;

    border-color:#00B8D9;

    transform:translateX(8px);

    box-shadow:0 15px 35px rgba(0,184,217,.15);

}
/* .td-menu-item.active{

    background:#EAFBFD;

    border-color:#00B8D9;

} */


.td-menu-item-icon{

    width:18px;

    height:26px;
    margin-left: -9px;

    border-radius:14px;

    background:#F1FAFD;

    border:1px solid rgba(0,184,217,.20);

    color:#00B8D9;

}

.td-menu-item-label{
    flex:1;
    text-align: left;
    margin-left: 10px;
    font-size:1rem;
    font-weight:600;
    line-height:1.4;
}

.td-menu-item-arrow{
    opacity:0;
    transform:translateX(-6px);
    transition:.35s;
}

.td-menu-item:hover .td-menu-item-arrow,
.td-menu-item.active .td-menu-item-arrow{
    opacity:1;
    transform:translateX(0);
}

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

.td-content-wrapper{
    width:100%;
    min-width:0;
}

.td-content{
    width:100%;
}

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

@media (max-width:1024px){

    .td-container{
        grid-template-columns:300px 1fr;
        gap:30px;
    }

}

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

@media (max-width:768px){

    .td-section{
        padding:50px 0 70px;
    }

    .td-container{
        grid-template-columns:1fr;
        gap:25px;
        padding:0 20px;
    }

    .td-sidebar{
        position:relative;
        top:0;
        min-height:auto;
        padding:28px 22px;
    }

    .td-sidebar-title{
        font-size:1.7rem;
    }

}

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

@media (max-width:480px){

  

     .td-container{

        padding:0 15px;
     }

    .td-sidebar{

        margin:0 auto;

        width:100%;

        max-width:100%;

        padding:22px;

    }

} 

    .td-menu-item{
        padding:15px;
    }

    .td-menu-item-label{
        font-size:.95rem;
    }


/* ============================================================
   4. RIGHT CONTENT
============================================================ */

.td-content{

    background:#fff;

    border-radius:28px;

    padding:45px;

    box-shadow:0 15px 40px rgba(15,23,42,.08);

    width:100%;

    overflow:hidden;

}

/* Animation */

.td-content{

    transition:
        opacity .35s ease,
        transform .35s ease;

}

.td-content.td-fade-out{

    opacity:0;

    transform:translateY(12px);

}

.td-content.td-fade-in{

    opacity:1;

    transform:translateY(0);

}

/* ============================================================
   BREADCRUMB
============================================================ */

.td-breadcrumb{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;

    margin-bottom:24px;

    font-size:.9rem;

    color:#64748B;

}

.td-breadcrumb a{

    color:#64748B;

    transition:.3s;

}

.td-breadcrumb a:hover{

    color:var(--primary);

}

.td-bc-sep{

    color:#CBD5E1;

}

.td-bc-current{

    color:var(--primary);

    font-weight:600;

}

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

.td-image-wrap{

    width:100%;

    border-radius:22px;

    overflow:hidden;

    margin-bottom:35px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.td-image{

    width:100%;

    height:520px;

    object-fit:cover;

    transition:.7s;

}

.td-image:hover{

    transform:scale(1.04);

}

/* ============================================================
   HEADING
============================================================ */

.td-heading{

    font-family:var(--font-serif);

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

    font-weight:700;

    color:var(--secondary);

    margin-bottom:15px;

}

.td-underline{

    width:70px;

    height:4px;

    border-radius:30px;

    background:var(--primary);

    margin-bottom:28px;

}

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

.td-description{

    font-size:1.05rem;

    line-height:1.9;

    color:#64748B;

    margin-bottom:35px;

}

/* ============================================================
   BENEFITS
============================================================ */

.td-benefits{

    list-style:none;

    display:grid;

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

    gap:18px;

    padding:0;

    margin:0 0 35px;

}

.td-benefit-item{

    display:flex;

    align-items:flex-start;

    gap:12px;

    font-size:1rem;

    color:#334155;

}

.td-benefit-check{

    width:24px;

    height:24px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#E6FAFC;

    color:var(--primary);

    flex-shrink:0;

}

.td-benefit-check svg{

    width:14px;

    height:14px;

}

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

.td-book-btn{

    margin-bottom:45px;

}

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

@media(max-width:992px){

    .td-content{

        padding:35px;

    }

    .td-image{

        height:420px;

    }

}

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

@media(max-width:768px){

    .td-content{

        padding:25px;

        border-radius:20px;

    }

    .td-image{

        height:260px;

    }

    .td-heading{

        font-size:2rem;

    }

    .td-description{

        font-size:.96rem;

        line-height:1.8;

    }

    .td-benefits{

        grid-template-columns:1fr;

        gap:15px;

    }

}

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

@media(max-width:480px){

    .td-content{

        padding:20px;

    }

    .td-image{

        height:220px;

    }

    .td-heading{

        font-size:1.7rem;

    }

    .td-breadcrumb{

        font-size:.8rem;

    }

}
/* ============================================================
   5. FEATURE BAR
============================================================ */

.td-feature-bar{

    display:grid;

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

    gap:22px;

    margin:45px 0;

}

.td-feature-card{

    display:flex;

    align-items:center;

    gap:16px;

    padding:22px;

    background:#fff;

    border:1px solid rgba(0,169,181,.12);

    border-radius:20px;

    box-shadow:0 8px 20px rgba(15,23,42,.05);

    transition:all .35s ease;

}

.td-feature-card:hover{

    transform:translateY(-6px);

    border-color:var(--primary);

    box-shadow:0 18px 35px rgba(0,169,181,.15);

}

.td-feature-icon{

    width:56px;

    height:56px;

    min-width:56px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(0,169,181,.10);

    color:var(--primary);

    transition:.35s;

}

.td-feature-card:hover .td-feature-icon{

    background:var(--primary);

    color:#fff;

}

.td-feature-icon svg{

    width:24px;

    height:24px;

}

.td-feature-text{

    font-size:1rem;

    font-weight:600;

    color:var(--secondary);

    line-height:1.5;

}

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

@media (max-width:992px){

    .td-feature-bar{

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

    }

}

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

@media (max-width:768px){

    .td-feature-bar{

        grid-template-columns:1fr;

        gap:16px;

    }

    .td-feature-card{

        padding:18px;

    }

    .td-feature-icon{

        width:48px;

        height:48px;

        min-width:48px;

    }

    .td-feature-icon svg{

        width:20px;

        height:20px;

    }

    .td-feature-text{

        font-size:.95rem;

    }

}

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

@media (max-width:480px){

    .td-feature-card{

        gap:14px;

        padding:16px;

    }

    .td-feature-text{

        font-size:.9rem;

    }

}
/* ============================================================
   6. CONTENT CARDS
============================================================ */

.td-card{

    background:#fff;

    border-radius:24px;

    padding:40px;

    margin-bottom:35px;

    border:1px solid rgba(15,23,42,.06);

    box-shadow:0 12px 35px rgba(15,23,42,.05);

    transition:.35s ease;

}

.td-card:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 45px rgba(15,23,42,.10);

}

/* Icon */

.td-card-icon{

    width:64px;

    height:64px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:22px;

    background:rgba(0,169,181,.10);

    color:var(--primary);

}

.td-card-icon svg{

    width:28px;

    height:28px;

}

/* Heading */

.td-card-title{

    font-family:var(--font-serif);

    font-size:2rem;

    font-weight:700;

    color:var(--secondary);

    margin-bottom:18px;

}

/* Paragraph */

.td-card-text{

    font-size:1.05rem;

    line-height:1.9;

    color:#64748B;

}

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

@media(max-width:992px){

    .td-card{

        padding:32px;

    }

    .td-card-title{

        font-size:1.8rem;

    }

}

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

@media(max-width:768px){

    .td-card{

        padding:24px;

        border-radius:18px;

    }

    .td-card-icon{

        width:56px;

        height:56px;

    }

    .td-card-icon svg{

        width:24px;

        height:24px;

    }

    .td-card-title{

        font-size:1.5rem;

    }

    .td-card-text{

        font-size:.95rem;

        line-height:1.8;

    }

}

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

@media(max-width:480px){

    .td-card{

        padding:20px;

    }

    .td-card-title{

        font-size:1.35rem;

    }

}

/* ============================================================
   9. FAQ ACCORDION
============================================================ */

.td-accordion{

    display:flex;

    flex-direction:column;

    gap:16px;

}

/* FAQ Item */

.td-faq-item{

    background:#fff;

    border:1px solid rgba(15,23,42,.08);

    border-radius:18px;

    overflow:hidden;

    transition:.35s ease;

    box-shadow:0 8px 20px rgba(15,23,42,.05);

}

.td-faq-item:hover{

    border-color:var(--primary);

    box-shadow:0 15px 35px rgba(0,169,181,.12);

}

/* Question */

.td-faq-question{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:22px 24px;

    background:#fff;

    border:none;

    cursor:pointer;

    font-size:1rem;

    font-weight:600;

    color:var(--secondary);

    text-align:left;

    transition:.3s;

}

.td-faq-question:hover{

    color:var(--primary);

}

/* Icon */

.td-faq-icon{

    font-size:1.4rem;

    color:var(--primary);

    transition:.3s;

}

/* Active */

.td-faq-item.active .td-faq-icon{

    transform:rotate(45deg);

}

/* Answer */

.td-faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}

.td-faq-answer-content{

    padding:0 24px 22px;

    color:#64748B;

    line-height:1.8;

    font-size:.97rem;

}

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

@media(max-width:992px){

    .td-faq-question{

        padding:20px;

    }

}

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

@media(max-width:768px){

    .td-faq-question{

        font-size:.95rem;

        padding:18px;

    }

    .td-faq-answer-content{

        padding:0 18px 18px;

        font-size:.92rem;

    }

}

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

@media(max-width:480px){

    .td-faq-question{

        font-size:.9rem;

    }

}

/* ==========================================
   TREATMENT PAGE NAVBAR DROPDOWN
========================================== */

.treatment-dropdown{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    width:1000px;
    background:#fff;
    border-radius:24px;
    padding:30px;
    display:none;

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

    box-shadow:0 25px 60px rgba(0,0,0,.15);
    z-index:9999;
}

.nav-item:hover .treatment-dropdown{
    display:grid;
}

.treatment-column h3{
    color:#051F3E;
    margin-bottom:20px;
}

.treatment-column ul{
    list-style:none;
    padding:0;
    margin:0;
}

.treatment-column li{
    margin-bottom:12px;
}

.treatment-column a{
    color:#64748B;
    text-decoration:none;
    transition:.3s;
}

.treatment-column a:hover{
    color:#00A9B5;
    padding-left:8px;
}
/* ============================================================
   TREATMENT PROCEDURE
============================================================ */

.td-procedure-card{
    margin-top:30px;
}

.td-timeline{
    list-style:none;
    margin:40px 0 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    position:relative;
}

.td-timeline::before{
    content:"";
    position:absolute;
    top:22px;
    left:12%;
    width:76%;
    height:2px;
    background:#d9e5ea;
    z-index:0;
}

.td-timeline-step{
    position:relative;
    text-align:center;
    z-index:1;
}

.td-timeline-num{
    width:46px;
    height:46px;
    margin:0 auto 18px;
    border-radius:50%;
    background:#11b9c8;
    color:#fff;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    box-shadow:0 10px 25px rgba(17,185,200,.25);
}

.td-timeline-title{
    font-size:1.1rem;
    color:#0f2d5c;
    font-weight:700;
    margin-bottom:8px;
}

.td-timeline-desc{
    color:#666;
    line-height:1.7;
    font-size:.95rem;
}

/* ============================================================
   FAQ
============================================================ */

.td-faq-card{
    margin-top:30px;
}

.td-accordion .accordion-item{
    border:none;
    border-bottom:1px solid #e8eef2;
    background:transparent;
}

.td-accordion .accordion-item:last-child{
    border-bottom:none;
}

.td-accordion .accordion-button{
    background:#fff;
    color:#0f2d5c;
    font-size:17px;
    font-weight:600;
    padding:20px;
    box-shadow:none;
}

.td-accordion .accordion-button:not(.collapsed){
    background:#fff;
    color:#11b9c8;
}

.td-accordion .accordion-button:focus{
    box-shadow:none;
    border:none;
}

.td-accordion .accordion-body{
    padding:0 20px 20px;
    color:#666;
    line-height:1.8;
    font-size:15px;
}

.td-accordion .accordion-button::after{
    transition:.3s;
}

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

@media (max-width:992px){

    .td-timeline{
        grid-template-columns:repeat(2,1fr);
    }

    .td-timeline::before{
        display:none;
    }

}

@media (max-width:768px){

    .td-timeline{
        grid-template-columns:1fr;
        gap:30px;
    }

    .td-timeline-step{
        text-align:left;
        padding-left:70px;
    }

    .td-timeline-num{
        position:absolute;
        left:0;
        top:0;
        margin:0;
    }

    .td-timeline-title{
        margin-top:6px;
    }

    .td-accordion .accordion-button{
        font-size:16px;
        padding:16px;
    }

    .td-accordion .accordion-body{
        padding:0 16px 16px;
    }

}
/* ============================================================
   FAQ PLUS / MINUS ICON
============================================================ */

.td-accordion .accordion-button{
    position: relative;
    padding-right: 70px;
}

/* Hide Bootstrap default arrow */
.td-accordion .accordion-button::after{
    display:none;
}

/* Plus icon */
.td-accordion .accordion-button::before{
    content:"+";
    position:absolute;
    right:25px;
    top:50%;
    transform:translateY(-50%);
    font-size:34px;
    font-weight:300;
    color:#00B8C9;
    line-height:1;
    transition:.3s ease;
}

/* Minus when opened */
.td-accordion .accordion-button:not(.collapsed)::before{
    content:"−";
    color:#00B8C9;
}
/* ===========================================
   RESPONSIVE - TREATMENT DETAILS
=========================================== */

@media (max-width:1200px){

    .td-container{
        gap:30px;
    }

    .td-sidebar{
        width:320px;
        min-width:320px;
    }

}

@media (max-width:992px){

    .td-container{

        grid-template-columns:1fr;

        justify-items:center;

        gap:30px;

        padding:0 20px;

    }

    .td-sidebar{

        position:relative;

        top:0;

        margin-left:0;

        width:100%;

        max-width:380px;

        min-width:unset;

        padding:30px;

    }

}
/* ============================================================
   TREATMENT DETAILS - AXIFORMA FONT
============================================================ */

.td-hero-title,
.td-heading,
.td-card-title,
.td-sidebar-title,
.td-timeline-title,
.td-faq-question,
.td-feature-text,
.td-menu-item-label {
    font-family: 'Axiforma', sans-serif !important;
}