/* ==========================================================
   PanelSaga Stories Stylesheet
   Cleaned & Organized
   ----------------------------------------------------------
   Sections
   1. Story Listing
   2. Story Detail
   3. Navigation
   4. Reading Experience
   5. Accessibility
   6. Responsive
========================================================== */

/* =========================================
   STORIES PAGE
========================================= */

.story-hero{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:60px;
    margin:60px 0;
    padding:60px;
    background:linear-gradient(135deg,#141424,#0d0d18);
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    overflow:hidden;
    position:relative;
}

.story-hero::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    right:-120px;
    top:-150px;
    border-radius:50%;
    background:rgba(129,88,255,.18);
    filter:blur(100px);
}

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

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 22px;
    background:#261840;
    border:1px solid rgba(167,114,255,.35);
    border-radius:999px;
    color:#d6b8ff;
    font-size:.95rem;
    margin-bottom:22px;
}

.story-hero h1{

    font-size:58px;
    line-height:1.08;
    font-weight:800;
    margin-bottom:20px;
    color:#fff;

}

.story-hero p{

    max-width:600px;
    font-size:19px;
    line-height:1.8;
    color:#bdbdd3;
    margin-bottom:35px;

}

.hero-image{

    position:relative;
    z-index:2;

}

.hero-image img{

    width:100%;
    border-radius:28px;
    display:block;
    box-shadow:0 30px 70px rgba(0,0,0,.45);

}

/* ========================= */

.hero-stats{

    display:flex;
    gap:18px;
    flex-wrap:wrap;

}

.stat-card{

    min-width:150px;
    background:#1b1b2d;
    border:1px solid rgba(255,255,255,.07);
    border-radius:20px;
    padding:22px;
    transition:.3s;

}

.stat-card:hover{

    transform:translateY(-6px);

    border-color:#8b5cf6;

}

.stat-card h3{

    color:#fff;
    font-size:28px;
    margin-bottom:8px;

}

.stat-card span{

    color:#9f9fb8;
    font-size:15px;

}

/* ========================================= */

.latest-section{

    margin-top:70px;
    margin-bottom:35px;

}

.section-title{

    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:35px;

}

.section-title h2{

    font-size:42px;
    color:#fff;
    margin-bottom:8px;

}

.section-title p{

    color:#999;
    font-size:17px;

}

/* ========================================= */

.blog-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:35px;

}

.blog-card{

    background:#171727;

    border-radius:22px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;

    display:flex;

    flex-direction:column;

    height:100%;

}

.blog-card img{

    width:100%;

    height:230px;

    object-fit:cover;

    display:block;

}
.blog-card-content{

    padding:22px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.card-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}

.blog-card h3{

    margin:12px 0;

    font-size:28px;

    line-height:1.3;

}

.blog-card h3 a{

    color:white;

    text-decoration:none;

}

.blog-card p{

    color:#bfbfd3;

    line-height:1.7;

    flex:1;

}

.read-more{

    margin-top:20px;

    display:inline-flex;

    color:#a855f7;

    font-weight:700;

    text-decoration:none;

}

.blog-card:hover{

    transform:translateY(-10px);

    border-color:#8b5cf6;

    box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.image-wrapper{

    position:relative;

    overflow:hidden;

}

.image-wrapper img{

    width:100%;

    height:250px;

    object-fit:cover;

    transition:.5s;

}

.blog-card:hover img{

    transform:scale(1.08);

}

.image-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(to top,rgba(0,0,0,.5),transparent);

}

@media(max-width:1000px){

.story-hero{

grid-template-columns:1fr;

padding:40px;

}

.story-hero h1{

font-size:44px;

}

.hero-image{

order:-1;

}

}

@media(max-width:768px){

.story-hero{

padding:28px;

}

.story-hero h1{

font-size:36px;

}

.story-hero p{

font-size:16px;

}

.hero-stats{

flex-direction:column;

}

.stat-card{

width:100%;

}

.blog-grid{

grid-template-columns:1fr;

}

.section-title{

display:block;

}

.section-title h2{

font-size:34px;

}

}










/* ===========================================
STORY DETAIL
=========================================== */

.story-page{

max-width:1100px;

margin:auto;

padding:60px 0;

}

.story-header{

position:relative;

overflow:hidden;

border-radius:28px;

}

.story-cover{

width:100%;

height:520px;

object-fit:cover;

display:block;

}

.story-overlay{

position:absolute;

left:0;

right:0;

bottom:0;

height:60%;

background:linear-gradient(to top,#090912,transparent);

}

.story-info{

position:absolute;

left:60px;

bottom:50px;

z-index:2;

max-width:750px;

}

.story-genre{

display:inline-block;

padding:8px 18px;

background:#7c3aed;

color:#fff;

border-radius:30px;

margin-right:12px;

font-size:14px;

}

.story-read{

display:inline-block;

padding:8px 18px;

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

backdrop-filter:blur(12px);

border-radius:30px;

color:white;

font-size:14px;

}

.story-info h1{

margin-top:25px;

font-size:58px;

line-height:1.1;

color:white;

}

.story-info p{

margin-top:20px;

font-size:20px;

line-height:1.8;

color:#ddd;

}

/* ====================== */

.story-body{

max-width:850px;

margin:80px auto;

background:#151523;

padding:60px;

border-radius:22px;

line-height:2;

font-size:19px;

color:#d6d6df;

}

.story-body h2{

margin-top:50px;

margin-bottom:20px;

color:white;

font-size:34px;

}

.story-body h3{

margin-top:40px;

margin-bottom:15px;

color:white;

}

.story-body p{

margin-bottom:30px;

}

.story-body img{

width:100%;

border-radius:18px;

margin:35px 0;

}

.story-body blockquote{

border-left:4px solid #8b5cf6;

padding-left:25px;

color:#bbb;

font-style:italic;

margin:40px 0;

}

.story-body ul{

padding-left:25px;

margin-bottom:30px;

}

.story-body li{

margin-bottom:10px;

}

/* ====================== */

.story-footer{

margin-top:80px;

}

.story-box{

background:#171727;

padding:45px;

text-align:center;

border-radius:25px;

border:1px solid rgba(255,255,255,.08);

}

.story-box h3{

font-size:34px;

margin-bottom:15px;

color:white;

}

.story-box p{

color:#aaa;

margin-bottom:30px;

}

.back-btn{

display:inline-block;

padding:15px 35px;

background:#8b5cf6;

color:white;

text-decoration:none;

border-radius:999px;

font-weight:700;

transition:.3s;

}

.back-btn:hover{

transform:translateY(-4px);

box-shadow:0 12px 30px rgba(139,92,246,.35);

}

@media(max-width:768px){

.story-cover{

height:280px;

}

.story-info{

left:25px;

right:25px;

bottom:25px;

}

.story-info h1{

font-size:34px;

}

.story-info p{

font-size:16px;

}

.story-body{

padding:30px;

font-size:17px;

margin:40px auto;

}

.story-box{

padding:30px;

}

}

.blog-card h2{
    margin:12px 0;
    font-size:28px;
    line-height:1.3;
}

.blog-card h2 a{
    color:white;
    text-decoration:none;
}


/* ==========================================
STORY NAVIGATION
========================================== */

.story-navigation{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:25px;

margin:70px auto;

}

.nav-card{

background:#171727;

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:28px;

text-decoration:none;

transition:.3s;

}

.nav-card:hover{

transform:translateY(-6px);

border-color:#8b5cf6;

box-shadow:0 18px 40px rgba(0,0,0,.35);

}

.nav-label{

display:block;

font-size:14px;

color:#a855f7;

margin-bottom:12px;

font-weight:700;

}

.nav-card h3{

color:#fff;

font-size:24px;

line-height:1.4;

margin:0;

}

.related-stories{

margin-top:80px;

}

/* ======================================================
   PREMIUM STORY READING EXPERIENCE
====================================================== */

html{

    scroll-behavior:smooth;

}

.story-body{

    max-width:1060px;

    margin:70px auto;

    font-size:20px;

    line-height:1.95;

    letter-spacing:.02em;

}

.story-body p{

    margin-bottom:32px;

}

.story-body h2{

    margin-top:65px;

    margin-bottom:22px;

    line-height:1.3;

}

.story-body h3{

    margin-top:50px;

    margin-bottom:18px;

    line-height:1.4;

}

.story-body img{

    display:block;

    margin:45px auto;

    border-radius:18px;

    max-width:100%;

    height:auto;

}

.story-body a{

    color:#a855f7;

    text-decoration:none;

    border-bottom:1px dashed rgba(168,85,247,.4);

    transition:.25s;

}

.story-body a:hover{

    color:#ffffff;

    border-color:#ffffff;

}

.story-body strong{

    color:#ffffff;

    font-weight:700;

}

.story-body code{

    background:#202033;

    padding:3px 8px;

    border-radius:6px;

    font-size:.95em;

}

.story-body pre{

    overflow:auto;

    background:#101018;

    padding:22px;

    border-radius:18px;

}

.story-body table{

    width:100%;

    border-collapse:collapse;

    margin:35px 0;

    overflow:hidden;

}

.story-body th{

    background:#222236;

    color:#fff;

    padding:15px;

}

.story-body td{

    padding:15px;

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

}

.story-body tr:nth-child(even){

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

}


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

.breadcrumb{

display:flex;

flex-wrap:wrap;

gap:10px;

align-items:center;

margin-bottom:35px;

font-size:15px;

color:#999;

}

.breadcrumb a{

color:#b9b9c8;

text-decoration:none;

transition:.25s;

}

.breadcrumb a:hover{

color:#a855f7;

}


/* ==========================================
TEXT SELECTION
========================================== */

::selection{

background:#8b5cf6;

color:#fff;

}


/* ==========================================
SCROLLBAR
========================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:#8b5cf6;

border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

background:#a855f7;

}


/* ==========================================
FOCUS ACCESSIBILITY
========================================== */

a:focus-visible,
button:focus-visible{

outline:3px solid #8b5cf6;

outline-offset:4px;

border-radius:8px;

}


/* ==========================================
REDUCE MOTION
========================================== */

@media (prefers-reduced-motion: reduce){

*{

scroll-behavior:auto!important;

animation:none!important;

transition:none!important;

}

}


/* ==========================================
LARGE SCREEN READING
========================================== */

@media(min-width:1600px){

.story-body{

font-size:21px;

}

}


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

@media(max-width:768px){

.story-page{

padding:35px 0;

}

.story-body{

padding:28px;

font-size:18px;

line-height:1.9;

}

.story-body h2{

font-size:30px;

}

.story-body h3{

font-size:24px;

}

.story-navigation{

grid-template-columns:1fr;

}

}


/* ===========================================
RECOMMENDED STORIES
=========================================== */

.recommended-section{

margin-top:90px;

}

.recommend-header{

text-align:center;

margin-bottom:45px;

}

.recommend-badge{

display:inline-block;

padding:8px 18px;

background:#241739;

color:#c49cff;

border:1px solid rgba(168,85,247,.25);

border-radius:999px;

font-size:14px;

margin-bottom:18px;

}

.recommend-header h2{

font-size:42px;

color:#fff;

margin-bottom:12px;

}

.recommend-header p{

max-width:620px;

margin:auto;

color:#9e9eb5;

line-height:1.7;

}

.recommend-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.recommend-card{

background:#171727;

border-radius:22px;

overflow:hidden;

border:1px solid rgba(255,255,255,.08);

transition:.35s;

display:flex;

flex-direction:column;

}

.recommend-card:hover{

transform:translateY(-8px);

border-color:#8b5cf6;

box-shadow:0 20px 40px rgba(0,0,0,.35);

}

.recommend-image{

overflow:hidden;

}

.recommend-image img{

width:100%;

height:220px;

object-fit:cover;

transition:.5s;

display:block;

}

.recommend-card:hover img{

transform:scale(1.08);

}

.recommend-content{

padding:22px;

display:flex;

flex-direction:column;

flex:1;

}

.recommend-meta{

display:flex;

justify-content:space-between;

font-size:14px;

color:#a9a9b8;

margin-bottom:15px;

}

.recommend-content h3{

font-size:24px;

margin-bottom:15px;

line-height:1.4;

}

.recommend-content h3 a{

color:#fff;

text-decoration:none;

}

.recommend-content p{

color:#bdbdd3;

line-height:1.7;

flex:1;

margin-bottom:22px;

}

.recommend-btn{

display:inline-flex;

align-items:center;

gap:8px;

font-weight:700;

color:#a855f7;

text-decoration:none;

}

.recommend-btn:hover{

color:#fff;

}

@media(max-width:768px){

.recommend-header h2{

font-size:30px;

}

.recommend-grid{

grid-template-columns:1fr;

}

}