/* ==========================
   TERMS & CONDITIONS
========================== */

.terms-page{
    background:#f8fafc;
    min-height:100vh;
}

.terms-container{
    width:min(1200px,92%);
    margin:auto;
}

.terms-hero{
    background:linear-gradient(135deg,#0f172a,#2563eb);
    color:#fff;
    text-align:center;
    padding:110px 20px;
}

.terms-badge{
    display:inline-block;
    padding:10px 20px;
    border-radius:40px;
    background:rgba(255,255,255,.15);
    margin-bottom:25px;
    font-weight:600;
}

.terms-hero h1{
    font-size:58px;
    color:#fff;
    margin-bottom:25px;
}

.terms-hero p{
    max-width:850px;
    margin:auto;
    font-size:20px;
    line-height:1.8;
}

.terms-btn{
    display:inline-block;
    margin-top:35px;
    background:#fff;
    color:#2563eb;
    padding:16px 40px;
    border-radius:10px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.terms-btn:hover{
    background:#e5e7eb;
}

@media(max-width:768px){

.terms-hero{
    padding:70px 20px;
}

.terms-hero h1{
    font-size:36px;
}

.terms-hero p{
    font-size:17px;
}

}
/* ==========================
   TERMS CONTENT
========================== */

.terms-content{
    padding:90px 0;
}

.terms-card{
    background:#fff;
    border-radius:18px;
    padding:35px;
    margin-bottom:30px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.3s;
    border:1px solid #e5e7eb;
}

.terms-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 50px rgba(37,99,235,.15);
}

.terms-card h2{
    font-size:28px;
    color:#0f172a;
    margin-bottom:18px;
}

.terms-card p{
    font-size:17px;
    line-height:1.9;
    color:#475569;
}

@media(max-width:768px){

    .terms-content{
        padding:60px 0;
    }

    .terms-card{
        padding:25px;
    }

    .terms-card h2{
        font-size:22px;
    }

    .terms-card p{
        font-size:16px;
    }

}
/* ==========================
TABLE OF CONTENTS
========================== */

.terms-toc{
    background:#ffffff;
    padding:60px 0;
}

.terms-toc h2{
    text-align:center;
    font-size:34px;
    margin-bottom:30px;
    color:#0f172a;
}

.terms-links{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.terms-links a{
    display:block;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:18px;
    text-decoration:none;
    color:#0f172a;
    font-weight:600;
    transition:.3s;
}

.terms-links a:hover{
    background:#2563eb;
    color:#fff;
}

html{
    scroll-behavior:smooth;
}

@media(max-width:768px){

.terms-links{
    grid-template-columns:1fr;
}

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

.terms-faq{
    padding:90px 0;
    background:#fff;
}

.terms-faq h2{
    text-align:center;
    font-size:38px;
    margin-bottom:40px;
}

.terms-faq details{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:20px 24px;
    margin-bottom:18px;
}

.terms-faq summary{
    cursor:pointer;
    font-weight:700;
    font-size:18px;
}

.terms-faq p{
    margin-top:15px;
    line-height:1.8;
    color:#475569;
}

.terms-updated{
    text-align:center;
    margin-top:35px;
    color:#64748b;
}

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

.terms-cta{
    background:#0f172a;
    color:#fff;
    text-align:center;
    padding:100px 20px;
}

.terms-cta h2{
    color:#fff;
    font-size:42px;
    margin-bottom:20px;
}

.terms-cta p{
    max-width:760px;
    margin:0 auto 35px;
    font-size:18px;
    line-height:1.8;
}

@media(max-width:768px){

.terms-faq{
    padding:60px 0;
}

.terms-faq h2{
    font-size:30px;
}

.terms-cta{
    padding:70px 20px;
}

.terms-cta h2{
    font-size:30px;
}

}
/* ==========================
ACCESSIBILITY
========================== */

.terms-btn:focus,
.terms-links a:focus,
summary:focus{
    outline:3px solid #2563eb;
    outline-offset:3px;
}

/* ==========================
PRINT STYLE
========================== */

@media print{

header,
footer,
.terms-cta,
.terms-btn{
    display:none!important;
}

body{
    background:#fff;
}

.terms-card{
    box-shadow:none;
    border:1px solid #d1d5db;
    break-inside:avoid;
}

.terms-hero{
    background:#fff!important;
    color:#000!important;
}

.terms-hero h1,
.terms-hero p{
    color:#000!important;
}

}
