:root{
    --bg:#ffffff;
    --primary:#5d6eea;
    --primary-hover:#4d5dd8;
    --cta:#ff7900;
    --cta-hover:#e86d00;
    --dark:#36364f;
    --text:#3b3b57;
    --muted:#74748a;
    --border:#eeeaf8;
    --soft:#f8f5ff;
    --shadow:0 18px 45px rgba(93,110,234,0.08);
    --shadow-hover:0 25px 60px rgba(93,110,234,0.14);
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:Arial, sans-serif;
    background:#ffffff;
    color:var(--text);
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

h1,h2,h3{
    color:var(--dark);
}

p{
    color:var(--muted);
}

/* HEADER */

.top-header{
    background:rgba(255,255,255,0.94);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:1000;
    padding:20px 60px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
}

.logo h2{
    margin:0;
    color:var(--dark);
    font-size:28px;
}

.center-nav{
    display:flex;
    justify-content:center;
    gap:32px;
}

.center-nav a{
    color:var(--dark);
    font-weight:600;
}

.center-nav a:hover{
    color:var(--primary);
}

.auth-buttons{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:14px;
}

.signin-btn{
    color:var(--dark);
    font-weight:600;
}

.signup-btn{
    background:linear-gradient(135deg,var(--cta),#ff962f);
    color:white;
    padding:13px 22px;
    border-radius:14px;
    font-weight:bold;
}

/* COMMON */

.container{
    width:92%;
    max-width:1320px;
    margin:auto;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--primary),#7383f7);
    color:white;
    padding:12px 18px;
    border-radius:14px;
    font-size:14px;
    font-weight:800;
    border:none;
    cursor:pointer;
    text-align:center;
}

.btn:hover{
    background:linear-gradient(135deg,var(--primary-hover),#6271eb);
}

.section-badge{
    display:inline-block;
    background:#eef2ff;
    color:var(--primary);
    padding:9px 16px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    margin-bottom:14px;
    text-transform:uppercase;
}

.section-title{
    margin:0;
    font-size:40px;
    line-height:1.2;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:34px;
}

.view-all-link{
    color:var(--primary);
    font-weight:800;
}

/* HOME HERO */

.hero{
    padding:115px 24px 95px;
    background:
        radial-gradient(circle at top left, rgba(255,121,0,0.08), transparent 28%),
        radial-gradient(circle at bottom right, rgba(93,110,234,0.08), transparent 30%),
        linear-gradient(to bottom,#ffffff,#fbfaff);
    text-align:center;
    position:relative;
    overflow:hidden;
}

.hero-content{
    max-width:1080px;
    margin:auto;
    position:relative;
    z-index:2;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#fff4e5;
    color:var(--cta);
    padding:10px 18px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    margin-bottom:26px;
}

.hero-badge svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hero h1{
    font-size:56px;
    line-height:1.1;
    margin:0 auto 24px;
    max-width:930px;
    letter-spacing:-1px;
}

.hero p{
    font-size:18px;
    line-height:1.85;
    max-width:820px;
    margin:0 auto 40px;
}

/* SEARCH */

.search-box{
    max-width:920px;
    margin:auto;
}

.search-wrap{
    position:relative;
    display:flex;
    align-items:center;
    background:white;
    border:1px solid #ece9f8;
    border-radius:24px;
    box-shadow:0 20px 45px rgba(93,110,234,0.10);
    overflow:hidden;
}

.search-wrap:focus-within{
    border-color:var(--cta);
    box-shadow:0 0 0 5px rgba(255,121,0,0.08);
}

.search-icon{
    position:absolute;
    left:24px;
    width:22px;
    height:22px;
    fill:none;
    stroke:#8f96b2;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}

.search-box input{
    width:100%;
    height:78px;
    border:none;
    outline:none;
    background:transparent;
    padding:0 215px 0 66px;
    font-size:16px;
    color:var(--dark);
}

.search-box input::placeholder{
    color:#9aa0b7;
}

.search-box button{
    position:absolute;
    right:12px;
    height:56px;
    border:none;
    border-radius:17px;
    background:linear-gradient(135deg,var(--cta),#ff962f);
    color:white;
    padding:0 28px;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(255,121,0,0.18);
}

.search-tags{
    max-width:980px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin:26px auto 0;
}

.search-tags span{
    background:white;
    border:1px solid #ece9f8;
    color:#6e7490;
    padding:9px 15px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    transition:0.2s ease;
}

.search-tags span:hover{
    background:var(--primary);
    color:white;
    border-color:var(--primary);
}

/* HERO STATS */

.hero-stats{
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:42px;
    flex-wrap:wrap;
}

.hero-stat{
    background:white;
    border:1px solid var(--border);
    border-radius:20px;
    padding:20px 26px;
    min-width:210px;
    box-shadow:0 14px 35px rgba(93,110,234,0.06);
}

.hero-stat strong{
    display:block;
    font-size:28px;
    color:var(--dark);
    margin-bottom:6px;
}

.hero-stat span{
    color:var(--muted);
    font-size:14px;
}

/* TRUSTED SECTION */

.trusted-section{
    padding:80px 0 30px;
    background:white;
}

.trusted-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.trusted-card{
    background:white;
    border:1px solid var(--border);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    transition:0.25s ease;
}

.trusted-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(93,110,234,0.10);
}

.trusted-card h3{
    margin:18px 0 12px;
    font-size:21px;
}

.trusted-card p{
    line-height:1.75;
    margin:0;
}

.trusted-icon{
    width:60px;
    height:60px;
    border-radius:18px;
    background:#eef2ff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.trusted-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:var(--primary);
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.orange-icon{
    background:#fff2e5;
}

.orange-icon svg{
    stroke:var(--cta);
}

.green-icon{
    background:#eafff2;
}

.green-icon svg{
    stroke:#19b66a;
}

/* DOCUMENT CARDS */

.soft-section{
    padding:90px 0;
    background:radial-gradient(circle at top center,#eadcff 0%,#f8f5ff 45%,#ffffff 100%);
}

.grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.document-card-link{
    text-decoration:none;
    color:inherit;
    display:block;
    height:100%;
}

.document-card-link:hover{
    text-decoration:none;
    color:inherit;
}

.card{
    background:white;
    border:1px solid var(--border);
    border-radius:22px;
    padding:20px;
    box-shadow:var(--shadow);
    transition:0.25s ease;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:100%;
}

.card:hover,
.document-card-link:hover .card{
    transform:translateY(-5px);
    box-shadow:var(--shadow-hover);
}

.card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.subject-pill{
    background:#eef2ff;
    color:var(--primary);
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.verified-mini{
    color:#19b66a;
    font-size:12px;
    font-weight:800;
}

.card h3{
    margin:0 0 12px;
    font-size:17px;
    line-height:1.45;
    min-height:50px;
}

.meta{
    color:#8a90a9;
    font-size:12px;
    margin-bottom:12px;
}

.description{
    color:var(--muted);
    font-size:14px;
    line-height:1.7;
    min-height:78px;
    margin-bottom:18px;
}

.price-row{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:14px;
    margin-top:auto;
}

.price-row .btn{
    width:100%;
    text-align:center;
    padding:13px 18px;
    border-radius:14px;
}

.price{
    color:var(--primary);
    font-size:22px;
    font-weight:800;
}

/* DOCUMENTS PAGE */

.documents-hero{
    padding:90px 0 65px;
    background:radial-gradient(circle at top center,#efe5ff 0%,#f8f5ff 45%,#ffffff 100%);
    text-align:center;
}

.documents-hero .container{
    max-width:980px;
}

.documents-hero h1{
    font-size:50px;
    line-height:1.1;
    margin:18px 0 20px;
    color:var(--dark);
}

.documents-hero p{
    font-size:17px;
    line-height:1.9;
    color:var(--muted);
    max-width:760px;
    margin:0 auto 34px;
}

.documents-section{
    padding:70px 0 100px;
    background:white;
}

.result-count{
    color:var(--muted);
    font-size:14px;
    font-weight:600;
}

.verified-badge{
    display:flex;
    align-items:center;
    gap:8px;
    margin:12px 0 14px;
    color:#6f7287;
    font-size:13px;
    font-weight:600;
}

.verified-icon{
    width:20px;
    height:20px;
    border-radius:50%;
    background:#19b66a;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:bold;
    flex-shrink:0;
}

.documents-section .description{
    min-height:88px;
    line-height:1.75;
}

.empty{
    background:white;
    border:1px solid var(--border);
    border-radius:24px;
    padding:45px;
    text-align:center;
    color:var(--muted);
    box-shadow:0 18px 45px rgba(93,110,234,0.06);
    grid-column:1/-1;
}

/* VALUE SECTION */

.values-section{
    padding:35px 0 90px;
    background:white;
}

.values-wrap{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.value-box{
    background:white;
    border:1px solid var(--border);
    border-radius:26px;
    padding:34px;
    box-shadow:var(--shadow);
    transition:0.25s ease;
}

.value-box:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(93,110,234,0.10);
}

.value-box h3{
    font-size:28px;
    margin:0 0 16px;
}

.value-box p{
    line-height:1.8;
    margin:0 0 24px;
}

.cta-btn{
    background:linear-gradient(135deg,var(--cta),#ff962f);
}

/* REVIEWS */

.reviews-section{
    padding:90px 0 100px;
    background:radial-gradient(circle at top center,#f3efff 0%,#ffffff 55%);
}

.reviews-header{
    text-align:center;
    max-width:850px;
    margin:0 auto 55px;
}

.reviews-header h2{
    font-size:42px;
    line-height:1.2;
    margin:18px 0;
    color:var(--dark);
}

.reviews-header p{
    font-size:17px;
    line-height:1.9;
    color:var(--muted);
}

.review-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.review-card{
    background:white;
    border:1px solid var(--border);
    border-radius:26px;
    padding:30px;
    box-shadow:0 18px 45px rgba(93,110,234,0.06);
    transition:0.25s ease;
}

.review-card:hover{
    transform:translateY(-5px);
    box-shadow:0 25px 60px rgba(93,110,234,0.12);
}

.review-card h3{
    margin:0 0 14px;
    font-size:21px;
    color:var(--dark);
}

.stars{
    color:#ffb400;
    font-size:18px;
    letter-spacing:2px;
    margin-bottom:15px;
}

.review-subject{
    display:inline-block;
    background:#eef2ff;
    color:var(--primary);
    padding:8px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    margin-bottom:18px;
}

.review-card p{
    font-size:15px;
    line-height:1.85;
    color:var(--muted);
    margin-bottom:24px;
}

.review-footer{
    color:#8b90a7;
    font-size:13px;
    font-weight:700;
}

/* DOCUMENT DETAIL PAGE */

.document-detail-hero{
    padding:85px 0 55px;
    background:radial-gradient(circle at top center,#efe5ff 0%,#f8f5ff 45%,#ffffff 100%);
    text-align:center;
}

.document-detail-hero .container{
    max-width:1000px;
}

.document-detail-hero h1{
    font-size:52px;
    line-height:1.15;
    margin:18px 0 18px;
    color:var(--dark);
}

.document-detail-hero p{
    font-size:17px;
    line-height:1.9;
    color:var(--muted);
    max-width:760px;
    margin:0 auto 28px;
}

.document-tags{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

.doc-tag{
    background:white;
    border:1px solid #e8e9f5;
    color:var(--primary);
    padding:10px 16px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.document-detail-section{
    padding:60px 0 100px;
    background:white;
}

.document-detail-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:28px;
    align-items:start;
}

.document-main-card{
    background:white;
    border:1px solid var(--border);
    border-radius:28px;
    padding:34px;
    box-shadow:0 18px 45px rgba(93,110,234,0.06);
}

.document-sidebar{
    min-width:0;
}

.purchase-card{
    position:sticky;
    top:110px;
    background:white;
    border:1px solid var(--border);
    border-radius:28px;
    padding:30px;
    box-shadow:0 18px 45px rgba(93,110,234,0.06);
}

.purchase-label{
    display:inline-block;
    background:#eef2ff;
    color:var(--primary);
    padding:8px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    margin-bottom:18px;
}

.purchase-card h3{
    font-size:30px;
    line-height:1.2;
    margin:0 0 20px;
}

.purchase-btn{
    width:100%;
    margin-bottom:12px;
    padding:15px 18px;
}

.back-btn{
    width:100%;
    background:#edf1ff;
    color:var(--primary);
}

.notice{
    margin-top:24px;
    font-size:14px;
    line-height:1.8;
    color:var(--muted);
}

.detail-block{
    margin-bottom:42px;
}

.detail-block:last-child{
    margin-bottom:0;
}

.detail-block h2{
    font-size:28px;
    margin:0 0 20px;
}

.read-more-box{
    position:relative;
    border:1px solid var(--border);
    border-radius:22px;
    padding:24px;
    background:#fcfcff;
}

.read-more-content{
    max-height:170px;
    overflow:hidden;
    transition:0.3s ease;
    line-height:1.9;
    color:#5f647a;
}

.read-more-content.expanded{
    max-height:3000px;
}

.read-more-fade{
    position:absolute;
    left:24px;
    right:24px;
    bottom:54px;
    height:70px;
    background:linear-gradient(to bottom, rgba(255,255,255,0), #fcfcff);
}

.read-more-btn{
    background:none;
    border:none;
    color:var(--primary);
    font-size:15px;
    font-weight:800;
    margin-top:18px;
    cursor:pointer;
    padding:0;
}
.preview-wrapper{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #dbe3f1;
    background:#f6f8fc;
    min-height:760px;
}

.preview-wrapper.full-open{
    min-height:auto;
}

.preview-wrapper:not(.full-open)::before{
    display:none;
}

.preview-text{
    padding:34px 34px 170px;
    line-height:2.05;
    font-size:17px;
    color:#111827;
    overflow:hidden;
    position:relative;
    z-index:1;
    min-height:760px;
    white-space:normal;
}

.preview-text:not(.full-preview){
    max-height:760px;
}

.preview-text:not(.full-preview)::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:360px;
    z-index:2;
    background:linear-gradient(to bottom, rgba(246,248,252,0), rgba(246,248,252,0.72), rgba(15,23,42,0.18));
}

.full-preview{
    max-height:none;
    min-height:0;
}

.locked-overlay{
    position:absolute;
    left:50%;
    bottom:60px;
    transform:translateX(-50%);
    width:76%;
    max-width:640px;
    padding:26px;
    background:rgba(2,6,23,0.74);
    backdrop-filter:blur(24px) saturate(120%);
    -webkit-backdrop-filter:blur(24px) saturate(120%);
    border:1px solid rgba(255,255,255,0.22);
    border-radius:26px;
    color:#ffffff;
    z-index:10;
    box-shadow:
        0 28px 70px rgba(2,6,23,0.40),
        inset 0 1px 0 rgba(255,255,255,0.22);
}

.lock-card-top{
    display:flex;
    align-items:center;
    gap:18px;
    text-align:left;
}

.lock-icon{
    width:58px;
    height:58px;
    margin:0;
    border-radius:50%;
    background:rgba(255,255,255,0.16);
    border:1px solid rgba(255,255,255,0.28);
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:26px;
}

.lock-text h2{
    color:#ffffff;
    font-size:24px;
    margin:0 0 6px;
}

.lock-text p{
    color:rgba(255,255,255,0.82);
    line-height:1.6;
    margin:0;
    font-size:14px;
}

.quality-row{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(93,110,234,0.18);
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    text-align:left;
}

.locked-overlay .quality-row{
    border-top-color:rgba(255,255,255,0.16);
}

.locked-overlay .quality-badge-icon{
    background:rgba(255,255,255,0.14);
    color:#ffffff;
}

.locked-overlay .quality-text strong{
    color:#ffffff;
}

.locked-overlay .quality-text span{
    color:rgba(255,255,255,0.72);
}

.quality-badge-icon{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#eef2ff;
    color:#5d6eea;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

.quality-text strong{
    display:block;
    color:#252a44;
    font-size:14px;
    margin-bottom:3px;
}

.quality-text span{
    color:#4b556f;
    font-size:12.5px;
    line-height:1.45;
}

.unlock-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:0;
    white-space:nowrap;
    background:#5d6eea;
    color:white;
    padding:14px 24px;
    border-radius:16px;
    font-size:15px;
    font-weight:800;
    box-shadow:0 14px 28px rgba(93,110,234,0.25);
}

.sidebar-quality{
    margin-top:18px;
    padding:15px;
    border-radius:18px;
    background:#f8faff;
    border:1px solid #eeeaf8;
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.sidebar-quality strong{
    display:block;
    color:#252a44;
    font-size:14px;
    margin-bottom:4px;
}

.sidebar-quality span{
    color:#74748a;
    font-size:13px;
    line-height:1.5;
    display:block;
}

@media(max-width:700px){

    .locked-overlay{
        width:90%;
        padding:22px;
        bottom:40px;
    }

    .lock-card-top{
        flex-direction:column;
        text-align:center;
    }

    .quality-row{
        grid-template-columns:1fr;
        text-align:center;
    }

    .quality-badge-icon{
        margin:auto;
    }

    .unlock-btn{
        width:100%;
    }
}

/* FOOTER */

footer{
    background:white;
    color:var(--muted);
    border-top:1px solid var(--border);
    padding:34px;
    text-align:center;
}

.footer-inner{
    text-align:center;
}

/* ADMIN OLD SUPPORT */

.admin-dashboard{
    background:#f8f7ff;
    min-height:100vh;
}

.stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-bottom:28px;
}

.site-logo{
    display:flex;
    align-items:center;
    text-decoration:none;
    width:280px;
}

.site-logo img{
    width:240px;
    height:auto;
    display:block;
}


/* =========================================
   HOMEPAGE REDESIGN - Engain inspired style
========================================= */

:root{
    --bg:#fff7f4;
    --primary:#ff5538;
    --primary-hover:#ec4229;
    --cta:#ff5538;
    --cta-hover:#ec4229;
    --dark:#12151f;
    --text:#2d3142;
    --muted:#6f7280;
    --border:#f1dfd9;
    --soft:#fff7f4;
    --shadow:0 18px 45px rgba(18,21,31,0.07);
    --shadow-hover:0 25px 60px rgba(18,21,31,0.12);
}

body.home-page{
    background:linear-gradient(to bottom,#fff6f3 0%,#ffffff 48%);
}

.home-header.top-header{
    width:min(1080px, calc(100% - 48px));
    margin:28px auto 0;
    padding:12px 18px;
    border:1px solid #f1d8cf;
    border-radius:18px;
    background:rgba(255,255,255,0.88);
    box-shadow:0 16px 35px rgba(18,21,31,0.06);
    position:sticky;
    top:14px;
}

.home-header .center-nav{
    gap:30px;
}

.home-header .center-nav a{
    color:#444654;
    font-size:14px;
    font-weight:700;
}

.home-header .center-nav a:hover,
.home-header .signin-btn:hover{
    color:var(--cta);
}

.home-header .signup-btn,
.signup-btn,
.cta-btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    border-radius:14px;
    box-shadow:0 10px 22px rgba(255,85,56,0.18);
}

.home-header .signin-btn{
    color:#ff5538;
    font-size:14px;
}

.hero{
    padding:82px 24px 105px;
    text-align:left;
    background:
        radial-gradient(circle at top left, rgba(255,85,56,0.10), transparent 30%),
        linear-gradient(to bottom,#fff6f3,#ffffff 72%);
}

.hero-shell{
    width:min(1080px, 100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,0.92fr);
    gap:70px;
    align-items:center;
}

.hero-left,
.hero-right{
    min-width:0;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:white;
    color:#12151f;
    border:1px solid #f0dcd5;
    box-shadow:0 12px 30px rgba(18,21,31,0.06);
    padding:10px 16px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    margin-bottom:22px;
}

.hero-badge::before{
    content:"✦";
    width:22px;
    height:22px;
    border-radius:50%;
    background:#ff5538;
    color:white;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
}

.hero h1{
    max-width:620px;
    margin:0 0 20px;
    color:#090b12;
    font-size:56px;
    line-height:1.08;
    letter-spacing:-1.3px;
}

.hero p{
    max-width:620px;
    margin:0 0 24px;
    color:#626574;
    font-size:17px;
    line-height:1.75;
}

.hero-points{
    list-style:none;
    margin:0 0 30px;
    padding:0;
    display:grid;
    gap:12px;
}

.hero-points li{
    color:#262a38;
    font-size:15px;
    font-weight:700;
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.hero-points li::before{
    content:"✓";
    width:22px;
    height:22px;
    border-radius:50%;
    background:#ff5538;
    color:white;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    flex:0 0 auto;
}

.hero .search-box{
    max-width:640px;
    margin:0;
}

.hero .search-wrap{
    border-radius:18px;
    border-color:#f0dcd5;
    box-shadow:0 18px 40px rgba(18,21,31,0.08);
}

.hero .search-box input{
    height:64px;
    padding-right:125px;
}

.hero .search-box button{
    height:46px;
    right:9px;
    border-radius:13px;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    box-shadow:none;
    padding:0 24px;
}

.hero-action-card{
    position:relative;
    background:white;
    border:1px solid #f0dcd5;
    border-radius:28px;
    padding:34px;
    box-shadow:0 24px 70px rgba(18,21,31,0.10);
    overflow:hidden;
}

.hero-action-card::before{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,85,56,0.09);
    right:-70px;
    top:-70px;
}

.action-card-label{
    position:relative;
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    border:1px solid #ffd7ca;
    padding:9px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:18px;
}

.hero-action-card h2{
    position:relative;
    color:#12151f;
    font-size:34px;
    line-height:1.15;
    margin:0 0 14px;
}

.hero-action-card p{
    position:relative;
    font-size:15px;
    line-height:1.75;
    color:#6f7280;
    margin:0 0 24px;
}

.hero-action-buttons{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:24px;
}

.hero-card-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    border-radius:16px;
    font-weight:900;
    font-size:15px;
    transition:.2s ease;
}

.primary-card-btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    box-shadow:0 14px 28px rgba(255,85,56,0.20);
}

.secondary-card-btn{
    background:white;
    color:#ff5538;
    border:1px solid #ff5538;
}

.hero-card-btn:hover{
    transform:translateY(-2px);
}

.hero-card-list{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding-top:20px;
    border-top:1px solid #f0e1dc;
}

.hero-card-list span,
.search-tags span{
    background:#fff6f3;
    border:1px solid #f0dcd5;
    color:#5f6470;
}

.search-tags span:hover{
    background:#ff5538;
    color:white;
    border-color:#ff5538;
}

.values-section{
    padding:0 0 70px;
    margin-top:-50px;
    position:relative;
    z-index:2;
}

.value-box{
    border-color:#f0dcd5;
}

.btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
}

.btn:hover{
    background:linear-gradient(135deg,#ec4229,#ff683c);
}

.section-badge,
.subject-pill,
.review-subject,
.purchase-label{
    background:#fff0eb;
    color:#ff5538;
}

.view-all-link,
.price,
.read-more-btn,
.bottom-link a{
    color:#ff5538;
}


/* FLOATING HELP POPUP */

.floating-help-popup{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:900;
    display:flex;
    align-items:center;
    gap:14px;
    width:min(360px, calc(100% - 48px));
    background:white;
    border:1px solid var(--border);
    border-radius:22px;
    padding:14px 48px 14px 14px;
    box-shadow:0 20px 55px rgba(18,21,31,0.14);
    color:inherit;
}

.floating-help-popup:hover{
    transform:translateY(-2px);
    box-shadow:0 25px 65px rgba(18,21,31,0.18);
}

.floating-help-icon{
    width:52px;
    height:52px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--cta),#ff7a45);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    flex:0 0 auto;
}

.floating-help-content{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.floating-help-content strong{
    color:var(--dark);
    font-size:15px;
    line-height:1.25;
}

.floating-help-content span{
    color:var(--muted);
    font-size:12.5px;
    line-height:1.4;
}

.floating-close{
    position:absolute;
    top:10px;
    right:12px;
    width:26px;
    height:26px;
    border:none;
    border-radius:50%;
    background:#fff0eb;
    color:var(--cta);
    font-size:18px;
    line-height:1;
    cursor:pointer;
}


/* =========================================
   DOCUMENT DETAIL CLEANUP
========================================= */

.answer-missing-card{
    background:#fffaf8;
    border:1px solid #f0dcd5;
    border-radius:26px;
    padding:42px;
    text-align:center;
    box-shadow:0 18px 45px rgba(18,21,31,0.06);
}

.answer-missing-icon{
    width:78px;
    height:78px;
    border-radius:50%;
    background:#fff0eb;
    color:#ff5538;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    font-size:34px;
}

.answer-missing-card h2{
    margin:0 0 12px;
    color:#12151f;
}

.answer-missing-card p{
    color:#6f7280;
    line-height:1.7;
    max-width:650px;
    margin:0 auto 24px;
}

.request-error-message{
    background:#fee2e2;
    color:#b91c1c;
    padding:12px 16px;
    border-radius:12px;
    margin-bottom:18px;
}

.button-no-border{
    border:none !important;
}

.login-required-note{
    font-size:13px;
    margin-top:16px !important;
}

.purchase-card-text{
    color:#74748a;
    line-height:1.6;
    margin-top:0;
}

.document-detail-hero{
    background:
        radial-gradient(circle at top left, rgba(255,85,56,0.10), transparent 30%),
        linear-gradient(to bottom,#fff6f3,#ffffff 72%);
}

.document-main-card,
.purchase-card,
.read-more-box,
.preview-wrapper{
    border-color:#f0dcd5;
}

.preview-wrapper{
    background:#fffaf8;
}

.preview-text:not(.full-preview)::after{
    background:linear-gradient(to bottom, rgba(255,250,248,0.05), rgba(255,250,248,0.78), rgba(255,250,248,1));
}

.lock-icon,
.quality-badge-icon{
    background:#fff0eb;
    color:#ff5538;
}

.unlock-btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    box-shadow:0 14px 28px rgba(255,85,56,0.22);
}

.back-btn{
    background:#fff0eb;
    color:#ff5538;
}

.sidebar-quality{
    background:#fffaf8;
    border-color:#f0dcd5;
}

.preview-wrapper:not(.full-open)::before{
    background:
        linear-gradient(180deg, rgba(2,6,23,0.18), rgba(2,6,23,0.62)),
        rgba(2,6,23,0.26);
}

.preview-text:not(.full-preview)::after{
    background:linear-gradient(to bottom, rgba(15,23,42,0), rgba(15,23,42,0.40), rgba(15,23,42,0.76));
}

.locked-overlay .lock-icon,
.locked-overlay .quality-badge-icon{
    background:rgba(255,255,255,0.14);
    color:#ffffff;
}

.document-buy-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:13px 22px;
    border-radius:16px;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:#ffffff;
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 14px 28px rgba(255,85,56,0.28);
}

/* =========================================
   STUDENT DASHBOARD REDESIGN
========================================= */

.student-dashboard-page{
    background:linear-gradient(to bottom,#fff6f3 0%,#ffffff 46%);
    color:#2d3142;
    min-height:100vh;
}

.student-layout{
    min-height:100vh;
}

.student-sidebar{
    width:270px;
    min-height:100vh;
    background:#12151f;
    padding:26px 18px;
    position:fixed;
    left:0;
    top:0;
    z-index:100;
    border-right:1px solid rgba(255,255,255,0.08);
    box-shadow:18px 0 45px rgba(18,21,31,0.08);
}

.sidebar-logo{
    margin-bottom:34px;
    padding:0 8px;
}

.sidebar-logo-link{
    display:flex;
    align-items:center;
}

.sidebar-logo-link img{
    height:44px;
    width:auto;
    display:block;
}

.student-nav{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.student-nav a{
    display:flex;
    align-items:center;
    color:rgba(255,255,255,0.82);
    text-decoration:none;
    padding:14px 16px;
    border-radius:15px;
    font-size:15px;
    font-weight:800;
    transition:0.2s ease;
}

.student-nav a:hover{
    background:rgba(255,255,255,0.10);
    color:white;
    transform:translateX(3px);
}

.student-nav .logout-btn{
    margin-top:28px;
    background:rgba(255,85,56,0.12);
    color:#ffb3a3;
}

.student-topbar{
    margin-left:270px;
    height:78px;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(14px);
    border-bottom:1px solid #f1dfd9;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:14px;
    padding:0 34px;
    position:sticky;
    top:0;
    z-index:80;
}

.student-menu-btn,
.student-mobile-logo{
    display:none;
}

.notification-wrap{
    position:relative;
}

.bell{
    width:46px;
    height:46px;
    border-radius:16px;
    border:1px solid #f1dfd9;
    background:#fff6f3;
    cursor:pointer;
    font-size:20px;
    position:relative;
    box-shadow:0 12px 24px rgba(18,21,31,0.05);
}

.bell.shake{
    animation:shake 0.8s infinite;
}

@keyframes shake{
    0%{transform:rotate(0deg)}
    25%{transform:rotate(12deg)}
    50%{transform:rotate(-12deg)}
    75%{transform:rotate(8deg)}
    100%{transform:rotate(0deg)}
}

.notif-count{
    position:absolute;
    top:-6px;
    right:-6px;
    background:#ff5538;
    color:white;
    font-size:11px;
    min-width:20px;
    height:20px;
    border-radius:50%;
    display:none;
    justify-content:center;
    align-items:center;
    font-weight:900;
}

.notif-dropdown{
    position:absolute;
    right:0;
    top:58px;
    width:370px;
    background:white;
    border:1px solid #f1dfd9;
    border-radius:22px;
    box-shadow:0 24px 70px rgba(18,21,31,0.14);
    display:none;
    overflow:hidden;
    z-index:150;
}

.notif-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 18px;
    background:#12151f;
    color:white;
}

.notif-header h3{
    margin:0;
    font-size:16px;
    color:white;
}

.clear-btn{
    background:none;
    border:none;
    color:white;
    cursor:pointer;
    font-size:13px;
    font-weight:800;
}

.notif-item{
    padding:14px 48px 14px 16px;
    border-bottom:1px solid #f1dfd9;
    position:relative;
    cursor:pointer;
    color:#2d3142;
}

.notif-item:hover{
    background:#fff6f3;
}

.notif-item strong{
    display:block;
    margin-bottom:5px;
    color:#12151f;
}

.notif-item small{
    color:#6f7280;
}

.delete-notif{
    position:absolute;
    top:12px;
    right:12px;
    background:#fff0eb;
    color:#ff5538;
    border:none;
    border-radius:50%;
    width:25px;
    height:25px;
    cursor:pointer;
    font-weight:900;
    z-index:5;
}

.toast{
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    background:rgba(18,21,31,0.86);
    backdrop-filter:blur(14px);
    color:white;
    padding:24px 32px;
    border-radius:22px;
    box-shadow:0 20px 50px rgba(18,21,31,0.25);
    display:none;
    z-index:300;
    max-width:420px;
    width:90%;
    text-align:center;
    border:1px solid rgba(255,255,255,0.08);
    animation:popupFade 0.3s ease;
}

@keyframes popupFade{
    from{opacity:0;transform:translate(-50%, -46%)}
    to{opacity:1;transform:translate(-50%, -50%)}
}

.student-main{
    margin-left:270px;
    width:calc(100% - 270px);
    padding:34px;
}

.dashboard-welcome-card,
.dashboard-table-card,
.dashboard-stat-card{
    background:white;
    border:1px solid #f1dfd9;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(18,21,31,0.07);
}

.dashboard-welcome-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:30px;
    margin-bottom:24px;
    position:relative;
    overflow:hidden;
}

.dashboard-welcome-card::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,85,56,0.08);
    right:-70px;
    top:-80px;
}

.dashboard-welcome-card > *{
    position:relative;
    z-index:2;
}

.dashboard-label{
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    border:1px solid #ffd7ca;
    padding:8px 13px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.4px;
    margin-bottom:12px;
}

.dashboard-welcome-card h1{
    margin:0 0 8px;
    color:#12151f;
    font-size:34px;
    line-height:1.15;
    letter-spacing:-.6px;
}

.dashboard-welcome-card p{
    margin:0;
    color:#6f7280;
    line-height:1.7;
    font-size:15px;
}

.dashboard-main-btn,
.dashboard-secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:16px;
    font-size:14px;
    font-weight:900;
    white-space:nowrap;
}

.dashboard-main-btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    padding:15px 22px;
    box-shadow:0 14px 28px rgba(255,85,56,0.20);
}

.dashboard-secondary-btn{
    background:white;
    color:#ff5538;
    border:1px solid #ff5538;
    padding:12px 18px;
}

.dashboard-stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:24px;
}

.dashboard-stat-card{
    padding:24px;
}

.dashboard-stat-card span{
    display:block;
    color:#6f7280;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:12px;
    font-weight:900;
    margin-bottom:12px;
}

.dashboard-stat-card strong{
    display:block;
    font-size:42px;
    line-height:1;
    color:#ff5538;
    margin-bottom:10px;
}

.dashboard-stat-card small{
    color:#7d8090;
    font-size:13px;
    font-weight:700;
}

.warning-card strong{
    color:#f97316;
}

.success-card strong{
    color:#16a34a;
}

.dashboard-table-card{
    padding:26px;
}

.dashboard-section-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:22px;
}

.dashboard-section-header h2{
    margin:0;
    font-size:26px;
    color:#12151f;
}

.dashboard-table-wrap{
    width:100%;
    overflow-x:auto;
}

.dashboard-table{
    width:100%;
    border-collapse:collapse;
    text-align:left;
    min-width:760px;
}

.dashboard-table thead tr{
    background:#fff6f3;
}

.dashboard-table th{
    padding:15px;
    font-size:12px;
    font-weight:900;
    color:#5f6470;
    text-transform:uppercase;
    letter-spacing:.06em;
    border-bottom:1px solid #f1dfd9;
}

.dashboard-table td{
    padding:16px 15px;
    border-top:1px solid #f1dfd9;
    color:#4e5261;
    font-size:14px;
    vertical-align:top;
}

.dashboard-table td strong{
    color:#12151f;
}

.dashboard-table tbody tr:hover{
    background:#fffaf8;
}

.muted-text{
    color:#9a9ca8;
}

.countdown{
    color:#ff5538;
    font-weight:900;
}

.expired-countdown{
    color:#b91c1c;
}

.request-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.status-default{
    background:#f4f5f7;
    color:#5f6470;
}

.status-pending{
    background:#fff0eb;
    color:#c2410c;
}

.status-progress{
    background:#eaf2ff;
    color:#1d4ed8;
}

.status-completed{
    background:#eafff2;
    color:#047857;
}

.empty-dashboard-row{
    padding:36px !important;
    text-align:center;
    color:#9a9ca8 !important;
}


/* =========================================
   CUSTOM REQUEST PAGE
========================================= */

.custom-request-card{
    background:white;
    border:1px solid #f1dfd9;
    border-radius:30px;
    padding:32px;
    box-shadow:0 18px 45px rgba(18,21,31,0.07);
    position:relative;
    overflow:hidden;
}

.custom-request-card::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(255,85,56,0.07);
    right:-90px;
    top:-100px;
    pointer-events:none;
}

.custom-request-card > *{
    position:relative;
    z-index:2;
}

.custom-request-header{
    max-width:760px;
    margin-bottom:28px;
}

.custom-request-header h1{
    margin:0 0 10px;
    color:#12151f;
    font-size:34px;
    line-height:1.15;
    letter-spacing:-.6px;
}

.custom-request-header p{
    margin:0;
    color:#6f7280;
    line-height:1.7;
    font-size:15px;
}

.request-alert{
    padding:15px 18px;
    border-radius:16px;
    margin-bottom:24px;
    font-weight:800;
    font-size:14px;
}

.request-alert-success{
    background:#eafff2;
    color:#047857;
    border:1px solid #bff1d1;
}

.custom-request-form{
    margin-top:4px;
}

.request-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.form-group{
    margin:0;
}

.form-group.full,
.full{
    grid-column:1 / 3;
}

.custom-request-form label{
    display:block;
    font-size:12px;
    font-weight:900;
    color:#5f6470;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:9px;
}

.custom-request-form input,
.custom-request-form select,
.custom-request-form textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid #f1dfd9;
    border-radius:16px;
    font-size:15px;
    color:#12151f;
    background:#fffaf8;
    outline:none;
    transition:0.18s ease;
}

.custom-request-form input:focus,
.custom-request-form select:focus,
.custom-request-form textarea:focus{
    border-color:#ff5538;
    background:white;
    box-shadow:0 0 0 4px rgba(255,85,56,0.08);
}

.custom-request-form select{
    min-height:50px;
}

.deadline-input{
    cursor:pointer;
}

.help-text{
    color:#8d909c;
    font-size:13px;
    margin-top:7px;
    line-height:1.5;
    font-weight:700;
}

.upload-box{
    border:2px dashed #f1cfc3;
    background:#fffaf8;
    padding:26px;
    text-align:center;
    border-radius:20px;
    transition:0.18s ease;
}

.upload-box:hover{
    border-color:#ff5538;
    background:#fff6f3;
}

.upload-box p{
    margin:0 0 14px;
    color:#6f7280;
    font-size:14px;
    line-height:1.6;
}

.request-file-input{
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    width:auto !important;
    max-width:100%;
}

.submit-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    border:none;
    padding:15px 28px;
    border-radius:16px;
    font-weight:900;
    cursor:pointer;
    font-size:15px;
    margin-top:28px;
    box-shadow:0 14px 28px rgba(255,85,56,0.20);
    transition:0.18s ease;
}

.submit-btn:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg,#ec4229,#ff683c);
}

.tox.tox-tinymce{
    border:1px solid #f1dfd9 !important;
    border-radius:18px !important;
    overflow:hidden;
    box-shadow:none !important;
}

.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-edit-area__iframe{
    background:#fffaf8 !important;
}



/* =========================================
   STUDENT REQUESTS PAGE
========================================= */

.requests-hero-card{
    margin-bottom:24px;
}

.requests-table-card{
    overflow:hidden;
}

.dashboard-section-subtitle{
    margin:8px 0 0;
    color:#6f7280;
    font-size:14px;
    line-height:1.6;
}

.requests-table td:last-child,
.requests-table th:last-child{
    text-align:center;
}

.request-title-cell{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:220px;
}

.request-title-cell strong{
    color:#12151f;
    font-size:14px;
    line-height:1.35;
}

.request-title-cell span{
    color:#9a9ca8;
    font-size:12px;
    font-weight:800;
}

.request-subject-pill,
.request-budget-pill,
.request-countdown,
.request-view-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.request-subject-pill{
    padding:7px 13px;
    background:#f4f5f7;
    color:#5f6470;
}

.subject-business{
    background:#eaf2ff;
    color:#1d4ed8;
}

.subject-nursing{
    background:#eafff2;
    color:#047857;
}

.subject-hrm{
    background:#f3efff;
    color:#7c3aed;
}

.subject-general{
    background:#fff0eb;
    color:#ff5538;
}

.request-budget-pill{
    padding:7px 12px;
    background:#eafff2;
    color:#047857;
}

.request-deadline-text{
    color:#4e5261;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.request-countdown{
    padding:7px 12px;
    background:#fff0eb;
    color:#ff5538;
}

.soon-countdown{
    background:#fff7db;
    color:#b45309;
}

.urgent-countdown,
.expired-countdown{
    background:#fee2e2;
    color:#b91c1c;
}

.request-view-btn{
    padding:8px 15px;
    background:white;
    color:#ff5538;
    border:1px solid #ff5538;
    text-decoration:none;
    transition:.2s ease;
}

.request-view-btn:hover{
    background:#ff5538;
    color:white;
    transform:translateY(-1px);
}

.empty-requests-row strong{
    display:block;
    color:#12151f;
    margin-bottom:8px;
}

.empty-requests-row span{
    display:block;
    color:#6f7280;
    font-size:14px;
}

/* =========================================
   STUDENT PURCHASES PAGE
========================================= */

.purchases-hero-card{
    margin-bottom:24px;
}

.purchases-table-card{
    overflow:hidden;
}

.purchases-table td:last-child,
.purchases-table th:last-child{
    text-align:center;
}

.purchase-title-cell{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:220px;
}

.purchase-title-cell strong{
    color:#12151f;
    font-size:14px;
    line-height:1.35;
}

.purchase-title-cell span{
    color:#9a9ca8;
    font-size:12px;
    font-weight:800;
}

.purchase-amount-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:7px 12px;
    background:#eaf2ff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.purchase-date-text{
    color:#4e5261;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.purchase-actions{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
}

.purchase-download-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 15px;
    border-radius:999px;
    background:#fff6f3;
    color:#5f6470;
    border:1px solid #f1dfd9;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    transition:.2s ease;
}

.purchase-download-btn:hover{
    background:#12151f;
    color:white;
    border-color:#12151f;
    transform:translateY(-1px);
}

.empty-purchases-row strong{
    display:block;
    color:#12151f;
    margin-bottom:8px;
}

.empty-purchases-row span{
    display:block;
    color:#6f7280;
    font-size:14px;
}


/* =========================================
   STUDENT PROFILE PAGE
========================================= */

.profile-card{
    width:100%;
    max-width:760px;
    margin:0 auto;
    background:white;
    border:1px solid #f1dfd9;
    border-radius:30px;
    padding:34px;
    box-shadow:0 18px 45px rgba(18,21,31,0.07);
    position:relative;
    overflow:hidden;
}

.profile-card::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,85,56,0.08);
    right:-70px;
    top:-80px;
}

.profile-card > *{
    position:relative;
    z-index:2;
}

.profile-header{
    display:flex;
    align-items:center;
    gap:22px;
    padding-bottom:28px;
    border-bottom:1px solid #f1dfd9;
    margin-bottom:28px;
}

.profile-avatar{
    width:72px;
    height:72px;
    border-radius:24px;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    font-weight:900;
    text-transform:uppercase;
    flex-shrink:0;
    box-shadow:0 14px 30px rgba(255,85,56,0.22);
}

.profile-heading h1{
    margin:0 0 8px;
    color:#12151f;
    font-size:34px;
    line-height:1.15;
    letter-spacing:-.5px;
}

.profile-heading p{
    margin:0;
    color:#6f7280;
    line-height:1.65;
    font-size:15px;
}

.profile-info-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
}

.profile-info-card{
    background:#fffaf8;
    border:1px solid #f1dfd9;
    border-radius:20px;
    padding:18px 20px;
}

.profile-info-card span{
    display:block;
    color:#6f7280;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:11px;
    font-weight:900;
    margin-bottom:7px;
}

.profile-info-card strong{
    display:block;
    color:#12151f;
    font-size:16px;
    line-height:1.4;
    font-weight:900;
    word-break:break-word;
}

.profile-info-card .profile-email{
    color:#ff5538;
}


/* =========================================
   VIEW STUDENT REQUEST PAGE
========================================= */

.request-detail-hero-card,
.request-answer-card,
.student-live-chat-card{
    background:white;
    border:1px solid #f1dfd9;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(18,21,31,0.07);
    margin-bottom:24px;
    overflow:hidden;
}

.request-detail-hero-card{
    padding:30px;
    position:relative;
}

.request-detail-hero-card::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:rgba(255,85,56,0.08);
    right:-70px;
    top:-80px;
}

.request-detail-hero-card > *{
    position:relative;
    z-index:2;
}

.request-detail-label{
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    padding:9px 15px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    border:1px solid #ffd7ca;
    margin-bottom:14px;
}

.request-detail-hero-card h1{
    margin:0 0 24px;
    font-size:34px;
    line-height:1.18;
    color:#12151f;
    letter-spacing:-0.5px;
}

.request-detail-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    border-top:1px solid #f1dfd9;
    padding-top:22px;
}

.request-detail-meta-card{
    background:#fffaf8;
    border:1px solid #f1dfd9;
    border-radius:18px;
    padding:16px;
}

.request-detail-meta-card span:first-child{
    display:block;
    color:#6f7280;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:11px;
    font-weight:900;
    margin-bottom:8px;
}

.request-detail-meta-card strong{
    display:block;
    color:#12151f;
    font-size:15px;
    line-height:1.5;
    font-weight:900;
}

.request-detail-meta-card em{
    color:#9a9ca8;
    font-style:normal;
    font-weight:800;
}

.request-detail-deadline{
    grid-column:1 / -1;
}

.request-detail-status{
    display:inline-flex;
    align-items:center;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.status-completed{
    background:#e8f7ef;
    color:#047857;
}

.status-pending{
    background:#fff7d6;
    color:#b45309;
}

.status-processing,
.status-progress,
.status-in_progress{
    background:#fff0eb;
    color:#ff5538;
}

.payment-paid{
    background:#e8f7ef;
    color:#047857;
}

.payment-pending,
.payment-unpaid{
    background:#fff7d6;
    color:#b45309;
}

.request-detail-price{
    color:#ff5538 !important;
}

.request-answer-card{
    padding:28px;
}

.request-section-header{
    margin-bottom:18px;
}

.request-section-header h2{
    margin:0 0 7px;
    color:#12151f;
    font-size:26px;
}

.request-section-header p{
    margin:0;
    color:#6f7280;
    line-height:1.6;
    font-size:14px;
}

.answer-unlocked-box{
    background:#f0fff7;
    border:1px solid #b9f3d0;
    color:#047857;
    padding:22px;
    border-radius:20px;
}

.answer-unlocked-box h3{
    margin:0 0 8px;
    font-size:19px;
    color:#047857;
}

.answer-unlocked-box p{
    margin:0 0 16px;
    color:#065f46;
    line-height:1.6;
    font-size:14px;
}

.answer-download-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#10b981;
    color:white;
    padding:13px 22px;
    border-radius:15px;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    box-shadow:0 12px 26px rgba(16,185,129,0.18);
}

.answer-pending-box{
    padding:22px;
    border:1px dashed #f1c9bd;
    border-radius:18px;
    background:#fffaf8;
    color:#6f7280;
    font-size:14px;
    text-align:center;
    line-height:1.6;
    font-weight:800;
}

.student-preview-lock-box{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #f1dfd9;
    background:#f6f8fc;
    min-height:620px;
}

.student-preview-lock-box::before{
    display:none;
}

.student-preview-text{
    padding:34px;
    line-height:2;
    font-size:16px;
    color:#2d3142;
    max-height:620px;
    overflow:hidden;
    position:relative;
    z-index:1;
}

.student-preview-fade{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:330px;
    background:linear-gradient(
        to bottom,
        rgba(246,248,252,0),
        rgba(246,248,252,0.72),
        rgba(15,23,42,0.18)
    );
    z-index:6;
}

.student-preview-lock-card{
    position:absolute;
    left:50%;
    bottom:45px;
    transform:translateX(-50%);
    width:76%;
    max-width:620px;
    padding:28px;
    background:rgba(2,6,23,0.74);
    backdrop-filter:blur(24px) saturate(120%);
    -webkit-backdrop-filter:blur(24px) saturate(120%);
    border:1px solid rgba(255,255,255,0.22);
    border-radius:28px;
    box-shadow:0 28px 70px rgba(2,6,23,0.40);
    z-index:10;
}

.student-lock-card-top{
    display:flex;
    gap:18px;
    align-items:center;
    margin-bottom:18px;
}

.student-lock-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:rgba(255,255,255,0.14);
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex-shrink:0;
}

.student-quality-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.14);
    color:#ffffff;
    border:1px solid rgba(255,255,255,0.18);
    padding:8px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    margin-bottom:10px;
}

.student-lock-copy h3{
    margin:0 0 6px;
    color:#ffffff;
    font-size:28px;
    line-height:1.2;
}

.student-lock-copy p{
    margin:0;
    color:rgba(255,255,255,0.78);
    line-height:1.7;
    font-size:14px;
}

.student-unlock-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    padding:15px 26px;
    border-radius:16px;
    text-decoration:none;
    font-size:15px;
    font-weight:900;
    box-shadow:0 12px 28px rgba(255,85,56,0.20);
}

.student-live-chat-card{
    padding:0;
}

.student-chat-header{
    background:#12151f;
    color:white;
    padding:22px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.student-chat-status-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:6px;
}

.student-chat-status-title span:last-child{
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(255,255,255,0.80);
}

.student-chat-dot{
    width:10px;
    height:10px;
    background:#22c55e;
    border-radius:50%;
    display:inline-block;
    box-shadow:0 0 0 6px rgba(34,197,94,0.18);
    animation:chatPulse 1.4s infinite;
}

.student-chat-header h2{
    margin:0;
    font-size:24px;
    color:white;
    font-weight:900;
}

.student-chat-header p{
    margin:7px 0 0;
    color:rgba(255,255,255,0.76);
    font-size:14px;
    line-height:1.5;
}

.student-chat-sound-pill{
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.16);
    padding:10px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}

.student-chat-status-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 20px;
    background:#fffaf8;
    border-bottom:1px solid #f1dfd9;
    color:#6f7280;
    font-size:13px;
}

.student-typing-indicator{
    display:none;
    color:#ff5538;
    font-weight:900;
}

.student-chat-box{
    height:420px;
    overflow-y:auto;
    background:linear-gradient(180deg,#fffaf8,#ffffff);
    padding:22px;
}

.student-chat-loading,
.student-chat-empty{
    text-align:center;
    color:#9a9ca8;
    font-size:14px;
    padding:50px 20px;
}

.student-chat-loading div,
.student-chat-empty div{
    font-size:38px;
    margin-bottom:12px;
}

.student-chat-empty strong{
    display:block;
    color:#4b556f;
    margin-bottom:6px;
}

.student-chat-form{
    display:flex;
    gap:10px;
    align-items:center;
    padding:18px;
    background:white;
    border-top:1px solid #f1dfd9;
}

.student-chat-form input[type="text"]{
    flex:1;
    padding:14px 16px;
    border:1px solid #f1dfd9;
    border-radius:14px;
    font-size:15px;
    outline:none;
    box-sizing:border-box;
    background:#fffaf8;
    color:#12151f;
    transition:.15s ease;
}

.student-chat-form input[type="text"]:focus{
    border-color:#ff5538;
    background:white;
    box-shadow:0 0 0 3px rgba(255,85,56,0.08);
}

.student-chat-form button{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    border:none;
    padding:14px 24px;
    border-radius:14px;
    font-weight:900;
    font-size:14px;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(255,85,56,0.20);
}

.student-message-row{
    display:flex;
    margin-bottom:14px;
}

.student-message-row.self{
    justify-content:flex-end;
}

.student-message-row.admin{
    justify-content:flex-start;
}

.student-message-bubble{
    max-width:76%;
    padding:12px 16px;
    line-height:1.55;
    font-size:14px;
}

.student-message-bubble.self{
    background:#ff5538;
    color:white;
    border-radius:18px 18px 4px 18px;
    box-shadow:0 8px 22px rgba(255,85,56,0.16);
}

.student-message-bubble.admin{
    background:white;
    color:#1e293b;
    border-radius:18px 18px 18px 4px;
    box-shadow:0 4px 14px rgba(15,23,42,0.06);
    border:1px solid #f1dfd9;
}

.student-message-name{
    font-size:11px;
    font-weight:900;
    opacity:.78;
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.student-message-time{
    font-size:10px;
    margin-top:6px;
    opacity:.65;
    text-align:right;
}

@keyframes chatPulse{
    0%{box-shadow:0 0 0 0 rgba(34,197,94,0.35);}
    70%{box-shadow:0 0 0 9px rgba(34,197,94,0);}
    100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}
}

.typing-dots span{
    animation:typingDots 1.2s infinite;
}

.typing-dots span:nth-child(2){
    animation-delay:0.2s;
}

.typing-dots span:nth-child(3){
    animation-delay:0.4s;
}

@keyframes typingDots{
    0%, 20%{opacity:0;}
    50%{opacity:1;}
    100%{opacity:0;}
}

.new-message-pop{
    animation:newMessagePop 0.35s ease;
}

@keyframes newMessagePop{
    from{transform:translateY(8px); opacity:0;}
    to{transform:translateY(0); opacity:1;}
}



/* =========================================
   CHECKOUT PAGE
========================================= */

.checkout-page{
    background:linear-gradient(to bottom,#fff6f3 0%,#ffffff 50%);
    min-height:100vh;
}

.checkout-header.top-header{
    width:min(1080px, calc(100% - 48px));
    margin:28px auto 0;
    padding:12px 18px;
    border:1px solid #f1d8cf;
    border-radius:18px;
    background:rgba(255,255,255,0.90);
    box-shadow:0 16px 35px rgba(18,21,31,0.06);
    position:sticky;
    top:14px;
}

.checkout-section{
    padding:50px 20px 80px;
}

.checkout-container{
    width:min(1180px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) 380px;
    gap:28px;
    align-items:start;
}

.checkout-card,
.checkout-summary-card{
    background:white;
    border:1px solid #f1dfd9;
    border-radius:30px;
    box-shadow:0 22px 60px rgba(18,21,31,0.08);
}

.checkout-card{
    padding:36px;
}

.checkout-summary-card{
    padding:28px;
    position:sticky;
    top:115px;
}

.checkout-badge,
.summary-label{
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    border:1px solid #ffd7ca;
    padding:9px 15px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.checkout-card h1{
    margin:18px 0 12px;
    font-size:42px;
    line-height:1.12;
    color:#12151f;
    letter-spacing:-0.8px;
}

.checkout-subtitle{
    margin:0 0 30px;
    color:#6f7280;
    line-height:1.8;
    font-size:15px;
    max-width:720px;
}

.payment-option-card{
    border:1px solid #f1dfd9;
    background:#fffaf8;
    border-radius:24px;
    padding:24px;
    margin-bottom:20px;
}

.payment-option-top{
    display:flex;
    gap:18px;
    align-items:flex-start;
    margin-bottom:18px;
}

.payment-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex-shrink:0;
}

.stripe-icon{
    background:#eef2ff;
}

.paystack-icon{
    background:#fff7d6;
}

.paypal-icon{
    background:#e8f7ff;
}

.manual-icon{
    background:#fff0eb;
}

.payment-option-card h3{
    margin:0 0 8px;
    font-size:22px;
    color:#12151f;
}

.payment-option-card p{
    margin:0;
    color:#6f7280;
    line-height:1.7;
    font-size:14px;
}

.payment-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    border-radius:16px;
    padding:14px 22px;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    box-shadow:0 12px 28px rgba(255,85,56,0.18);
}

.manual-payment-box{
    margin-top:8px;
    background:white;
    border:1px solid #f1dfd9;
    border-radius:20px;
    padding:20px;
}

.manual-payment-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-bottom:1px solid #f3e6e1;
}

.manual-payment-row span{
    color:#6f7280;
    font-size:13px;
    font-weight:800;
}

.manual-payment-row strong{
    color:#12151f;
    text-align:right;
    font-size:14px;
}

.manual-payment-instructions{
    padding:18px 0 20px;
}

.manual-payment-instructions span{
    display:block;
    margin-bottom:10px;
    color:#12151f;
    font-size:13px;
    font-weight:900;
}

.manual-payment-instructions p{
    margin:0;
    color:#6f7280;
    line-height:1.8;
}

.checkout-back-link{
    display:inline-flex;
    margin-top:10px;
    color:#ff5538;
    font-weight:900;
    text-decoration:none;
    font-size:14px;
}

.summary-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:24px;
}

.checkout-price{
    color:#ff5538;
    font-size:38px;
    font-weight:900;
    line-height:1;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:16px 0;
    border-bottom:1px solid #f3e6e1;
}

.summary-row span{
    color:#6f7280;
    font-size:14px;
    font-weight:800;
}

.summary-row strong{
    color:#12151f;
    text-align:right;
    line-height:1.5;
    font-size:14px;
}

.total-row{
    border-bottom:none;
    padding-bottom:8px;
}

.total-row strong{
    color:#ff5538;
    font-size:20px;
}

.checkout-security-box{
    margin-top:24px;
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px;
    border-radius:20px;
    background:#fffaf8;
    border:1px solid #f1dfd9;
}

.checkout-security-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    background:#fff0eb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    flex-shrink:0;
}

.checkout-security-box strong{
    display:block;
    color:#12151f;
    margin-bottom:6px;
    font-size:14px;
}

.checkout-security-box p{
    margin:0;
    color:#6f7280;
    line-height:1.7;
    font-size:13px;
}
.whatsapp-bubble{
    position:fixed;
    left:22px;
    bottom:22px;
    z-index:9999;
    background:#25D366;
    color:#fff;
    padding:14px 18px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    animation:whatsappGlow 2.2s infinite ease-in-out;
    transition:transform .2s ease;
}

.whatsapp-bubble:hover{
    transform:scale(1.05);
}

@keyframes whatsappGlow{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
    50%{box-shadow:0 0 0 14px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}


/* =========================================
   DOCUMENT CHECKOUT PAGE
========================================= */

.document-checkout-page{
    background:radial-gradient(circle at top left, rgba(255,85,56,0.10), transparent 30%), linear-gradient(to bottom,#fff6f3,#ffffff 72%);
    min-height:100vh;
    color:#2d3142;
}

.checkout-wrap{
    width:min(1080px, calc(100% - 40px));
    margin:0 auto;
    padding:70px 0 90px;
}

.checkout-hero{
    max-width:780px;
    margin-bottom:34px;
}

.checkout-badge{
    display:inline-flex;
    background:white;
    color:#ff5538;
    border:1px solid #ffd7ca;
    padding:9px 15px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
    margin-bottom:18px;
    box-shadow:0 12px 30px rgba(18,21,31,0.05);
}

.checkout-hero h1{
    color:#12151f;
    font-size:46px;
    line-height:1.12;
    letter-spacing:-1px;
    margin:0 0 16px;
}

.checkout-hero p{
    color:#6f7280;
    font-size:16px;
    line-height:1.8;
    margin:0;
}

.checkout-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);
    gap:26px;
    align-items:start;
}

.checkout-main-card,
.checkout-payment-card{
    background:white;
    border:1px solid #f1dfd9;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(18,21,31,0.07);
}

.checkout-main-card{
    padding:30px;
}

.checkout-payment-card{
    padding:28px;
    position:sticky;
    top:118px;
}

.checkout-card-header{
    border-bottom:1px solid #f1dfd9;
    padding-bottom:22px;
    margin-bottom:10px;
}

.checkout-card-header span{
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    padding:8px 13px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    margin-bottom:14px;
}

.checkout-card-header h2{
    color:#12151f;
    margin:0;
    font-size:28px;
    line-height:1.3;
}

.checkout-info-row,
.manual-payment-row{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:16px 0;
    border-bottom:1px solid #f4ebe7;
}

.checkout-info-row span,
.manual-payment-row span{
    color:#6f7280;
    font-weight:800;
    font-size:14px;
}

.checkout-info-row strong,
.manual-payment-row strong{
    color:#12151f;
    font-weight:900;
    text-align:right;
}

.checkout-note{
    margin-top:22px;
    background:#fffaf8;
    border:1px solid #f1dfd9;
    color:#6f7280;
    padding:16px;
    border-radius:18px;
    line-height:1.7;
}

.checkout-price-box{
    background:#12151f;
    color:white;
    border-radius:22px;
    padding:24px;
    margin-bottom:24px;
}

.checkout-price-box span{
    display:block;
    color:rgba(255,255,255,0.72);
    font-weight:800;
    font-size:13px;
    margin-bottom:8px;
}

.checkout-price-box strong{
    display:block;
    color:white;
    font-size:38px;
    line-height:1;
}

.checkout-payment-card h3{
    margin:0 0 18px;
    color:#12151f;
    font-size:22px;
}

.manual-payment-box{
    border:1px solid #f1dfd9;
    background:#fffaf8;
    border-radius:22px;
    padding:20px;
}

.manual-payment-label{
    display:inline-flex;
    background:#fff0eb;
    color:#ff5538;
    border:1px solid #ffd7ca;
    padding:8px 13px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    margin-bottom:10px;
}

.manual-instructions{
    color:#4b556f;
    line-height:1.7;
    background:white;
    border:1px solid #f1dfd9;
    border-radius:16px;
    padding:15px;
    margin:16px 0;
    font-size:14px;
}

.checkout-primary-btn,
.checkout-back-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:16px;
    min-height:52px;
    font-weight:900;
    text-decoration:none;
}

.checkout-primary-btn{
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:white;
    box-shadow:0 14px 28px rgba(255,85,56,0.20);
}

.checkout-back-btn{
    margin-top:14px;
    background:#fff0eb;
    color:#ff5538;
    border:1px solid #ffd7ca;
}

.checkout-empty-payment{
    background:#fff7d6;
    color:#92400e;
    border:1px solid #fde68a;
    border-radius:18px;
    padding:16px;
    line-height:1.7;
    font-weight:800;
}
.purchase-type-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:6px;
    margin-bottom:4px;
    padding:5px 9px;
    border-radius:999px;
    background:#fff0eb;
    color:#ff5538;
    font-size:11px;
    font-weight:900;
}

/* Policy pages */
.policy-wrap{width:min(980px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px;}
.policy-card{background:#fff;border:1px solid #f1dfd9;border-radius:28px;box-shadow:0 18px 45px rgba(18,21,31,.07);padding:42px;}
.policy-card h1{color:#12151f;font-size:42px;line-height:1.15;margin:14px 0 12px;}
.policy-card h2{color:#12151f;font-size:22px;margin:30px 0 10px;}
.policy-card p{color:#5f6373;font-size:15px;line-height:1.8;margin:0 0 14px;}
.policy-card a{color:#ff5538;font-weight:800;}
@media(max-width:700px){.policy-wrap{width:100%;padding:34px 16px 56px}.policy-card{padding:22px;border-radius:22px}.policy-card h1{font-size:30px}.policy-card h2{font-size:19px}}

/* Contact page */
.contact-wrap{
    width:min(1100px, calc(100% - 40px));
    margin:0 auto;
    padding:70px 0 90px;
}

.contact-hero-card{
    display:grid;
    grid-template-columns:1fr 340px;
    gap:24px;
    align-items:center;
    background:#fff;
    border:1px solid #f1dfd9;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(18,21,31,.07);
    padding:38px;
    margin-bottom:26px;
}

.contact-hero-card h1{
    color:#12151f;
    font-size:44px;
    line-height:1.12;
    margin:14px 0;
}

.contact-hero-card p{
    color:#5f6373;
    line-height:1.8;
    margin:0;
}

.contact-info-box{
    background:#fff7f2;
    border:1px solid #ffd7ca;
    border-radius:22px;
    padding:22px;
}

.contact-info-box span,
.contact-info-box small{
    display:block;
    color:#6f7280;
    font-weight:800;
}

.contact-info-box a{
    display:block;
    color:#ff5538;
    font-weight:900;
    margin:8px 0;
    text-decoration:none;
}

.contact-grid{
    display:grid;
    grid-template-columns:1.35fr .75fr;
    gap:26px;
    align-items:start;
}

.contact-form-card,
.contact-support-card{
    background:#fff;
    border:1px solid #f1dfd9;
    border-radius:28px;
    box-shadow:0 18px 45px rgba(18,21,31,.07);
    padding:30px;
}

.contact-form-card h2,
.contact-support-card h2{
    color:#12151f;
    margin:0 0 20px;
}

.contact-form{
    display:grid;
    gap:16px;
}

.contact-form label{
    display:grid;
    gap:8px;
    color:#12151f;
    font-weight:900;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    border:1px solid #eadbd5;
    border-radius:14px;
    padding:14px 15px;
    font:inherit;
    color:#12151f;
    background:#fff;
    outline:none;
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-color:#ff5538;
    box-shadow:0 0 0 4px rgba(255,85,56,.10);
}

.contact-submit-btn{
    border:0;
    border-radius:16px;
    padding:15px 18px;
    background:linear-gradient(135deg,#ff5538,#ff7a45);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(255,85,56,.20);
}

.contact-success-message,
.contact-error-message{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    font-weight:800;
}

.contact-success-message{
    background:#ecfdf5;
    color:#047857;
    border:1px solid #a7f3d0;
}

.contact-error-message{
    background:#fef2f2;
    color:#b91c1c;
    border:1px solid #fecaca;
}

.support-list{
    display:grid;
    gap:14px;
}

.support-list div{
    border:1px solid #f1dfd9;
    border-radius:16px;
    padding:15px;
    background:#fffaf8;
}

.support-list strong{
    display:block;
    color:#12151f;
    margin-bottom:5px;
}

.support-list span{
    display:block;
    color:#6f7280;
    line-height:1.6;
    font-size:14px;
}

.contact-policy-links{
    display:grid;
    gap:10px;
    margin-top:22px;
}

.contact-policy-links a{
    color:#ff5538;
    font-weight:900;
    text-decoration:none;
}

@media(max-width:900px){
    .contact-hero-card,
    .contact-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .contact-wrap{
        width:100%;
        padding:34px 16px 56px;
    }

    .contact-hero-card,
    .contact-form-card,
    .contact-support-card{
        padding:22px;
        border-radius:22px;
    }

    .contact-hero-card h1{
        font-size:31px;
    }
}
.footer-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:12px;
}

.footer-links a{
    color:#666;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
}

.footer-links a:hover{
    color:#ff5538;
}

@media(max-width:700px){
    .footer-links{
        gap:12px;
    }

    .footer-links a{
        font-size:13px;
    }
}
.footer-links{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:18px;
margin-bottom:12px;
}

.footer-links a{
color:#666;
text-decoration:none;
font-size:14px;
font-weight:600;
}

.footer-links a:hover

.footer-support{
text-align:center;
margin:8px 0;
color:#666;
font-size:14px;
}

.footer-support a{
color:#ff5538;
text-decoration:none;
font-weight:700;
}

.footer-copyright{
text-align:center;
margin-top:8px;
}

@media(max-width:700px){
.footer-links{
gap:12px;
}

```
.footer-links a{
    font-size:13px;
}
```

}

/* Pricing page */
.pricing-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px;}
.pricing-hero-card{background:#fff;border:1px solid #f1dfd9;border-radius:30px;box-shadow:0 18px 45px rgba(18,21,31,.07);padding:44px;margin-bottom:28px;}
.pricing-hero-card h1{color:#12151f;font-size:46px;line-height:1.12;margin:14px 0;}
.pricing-hero-card p{color:#5f6373;max-width:850px;line-height:1.8;margin:0 0 20px;}
.pricing-note-row{display:flex;flex-wrap:wrap;gap:12px;}
.pricing-note-row span,.pricing-tab{display:inline-flex;align-items:center;border:1px solid #f1dfd9;background:#fff7f2;color:#ff5538;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900;}
.pricing-grid{display:grid;grid-template-columns:1fr 330px;gap:26px;align-items:start;}
.pricing-main-card,.pricing-side-card,.pricing-mini-card,.pricing-disclaimer{background:#fff;border:1px solid #f1dfd9;border-radius:28px;box-shadow:0 18px 45px rgba(18,21,31,.07);}
.pricing-main-card{padding:28px;}
.pricing-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.pricing-tab.active{background:#ff5538;color:#fff;border-color:#ff5538;}
.pricing-table-wrap{overflow-x:auto;}
.pricing-table{width:100%;border-collapse:collapse;min-width:720px;}
.pricing-table th,.pricing-table td{padding:18px 16px;border-bottom:1px solid #f1dfd9;text-align:left;color:#12151f;}
.pricing-table th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#5f6373;}
.pricing-table td:not(:first-child){font-weight:900;color:#ff5538;}
.pricing-small-note{color:#6f7280;line-height:1.7;margin:18px 0;font-size:14px;}
.pricing-action-row{display:flex;flex-wrap:wrap;gap:14px;}
.pricing-primary-btn,.pricing-secondary-btn{display:inline-flex;justify-content:center;align-items:center;border-radius:16px;padding:14px 18px;font-weight:900;text-decoration:none;}
.pricing-primary-btn{background:linear-gradient(135deg,#ff5538,#ff7a45);color:#fff;box-shadow:0 14px 28px rgba(255,85,56,.20);}
.pricing-secondary-btn{background:#fff0eb;color:#ff5538;}
.pricing-side-card{padding:26px;}
.pricing-side-card h2,.pricing-mini-card h2,.pricing-disclaimer h2{color:#12151f;margin:0 0 18px;}
.pricing-feature-list{display:grid;gap:14px;}
.pricing-feature-list div{background:#fffaf8;border:1px solid #f1dfd9;border-radius:18px;padding:16px;}
.pricing-feature-list strong{display:block;color:#12151f;margin-bottom:6px;}
.pricing-feature-list span{display:block;color:#6f7280;line-height:1.6;font-size:14px;}
.pricing-extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;}
.pricing-mini-card,.pricing-disclaimer{padding:26px;}
.mini-pricing-table{width:100%;border-collapse:collapse;}
.mini-pricing-table td{padding:12px 0;border-bottom:1px solid #f1dfd9;color:#5f6373;}
.mini-pricing-table td:last-child{text-align:right;color:#ff5538;font-weight:900;}
.pricing-disclaimer{margin-top:26px;}
.pricing-disclaimer p{color:#5f6373;line-height:1.8;margin:0;}
@media(max-width:950px){.pricing-grid,.pricing-extra-grid{grid-template-columns:1fr;}}
@media(max-width:700px){.pricing-wrap{width:100%;padding:34px 16px 56px}.pricing-hero-card,.pricing-main-card,.pricing-side-card,.pricing-mini-card,.pricing-disclaimer{padding:22px;border-radius:22px}.pricing-hero-card h1{font-size:32px}.pricing-action-row a{width:100%;}.pricing-table{min-width:650px;}}

.site-logo {
    width: 280px;
    height: auto;
    display: block;
}

/* Final preview visibility guard: keep answer preview readable under 100%. */
.preview-wrapper:not(.full-open)::before,
.student-preview-lock-box::before{
    display:none !important;
}

.preview-wrapper.unanswered-lock::before{
    content:'' !important;
    display:block !important;
    position:absolute;
    inset:0;
    z-index:5;
    background:rgba(2,6,23,0.46);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    pointer-events:none;
}

.preview-wrapper.unanswered-lock .preview-text{
    color:rgba(17,24,39,0.70);
}

.preview-text:not(.full-preview)::after{
    height:300px;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    background:linear-gradient(to bottom, rgba(2,6,23,0), rgba(2,6,23,0.18), rgba(2,6,23,0.52)) !important;
}

.student-preview-fade{
    height:300px;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    background:linear-gradient(to bottom, rgba(2,6,23,0), rgba(2,6,23,0.18), rgba(2,6,23,0.52)) !important;
}
