/*=========================================================
            GOVT EXAM PREP
        SSC CHSL SYLLABUS PAGE
                PART 1
=========================================================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;
background:#f5f7fb;
color:#333;
line-height:1.7;

}

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

.syllabus-hero{

position:relative;

padding:110px 20px 90px;

background:
linear-gradient(135deg,#531118,#7d2330);

overflow:hidden;

}

.syllabus-hero::before{

content:"";

position:absolute;

width:450px;
height:450px;

background:rgba(255,213,79,.08);

border-radius:50%;

top:-180px;
right:-120px;

}

.syllabus-hero::after{

content:"";

position:absolute;

width:320px;
height:320px;

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

border-radius:50%;

left:-120px;
bottom:-120px;

}

.hero-content{

position:relative;

z-index:2;

max-width:1200px;

margin:auto;

}

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

.breadcrumb{

display:flex;

align-items:center;

gap:10px;

flex-wrap:wrap;

margin-bottom:25px;

font-size:15px;

}

.breadcrumb a{

text-decoration:none;

color:#FFD54F;

font-weight:500;

}

.breadcrumb span{

color:#fff;

}

.breadcrumb i{

font-size:12px;

color:#ddd;

}

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

.back-btn{

display:inline-flex;

align-items:center;

gap:10px;

padding:12px 25px;

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

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

border-radius:40px;

backdrop-filter:blur(10px);

text-decoration:none;

color:white;

margin-bottom:35px;

transition:.35s;

}

.back-btn:hover{

background:#FFD54F;

color:#531118;

}

/*=========================================================
                HERO TAG
=========================================================*/

.hero-tag{

display:inline-block;

padding:10px 22px;

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

border-radius:40px;

color:#FFD54F;

margin-bottom:20px;

font-size:14px;

}

/*=========================================================
                HERO TITLE
=========================================================*/

.hero-content h1{

font-size:60px;

font-weight:800;

color:white;

margin-bottom:18px;

}

.hero-content h1 span{

display:block;

color:#FFD54F;

}

.hero-content p{

max-width:850px;

font-size:20px;

line-height:1.8;

color:#eee;

}

/*=========================================================
                COMMON SECTION
=========================================================*/

section{

padding:80px 20px;

}

.section-title{

text-align:center;

margin-bottom:55px;

}

.section-title h2{

font-size:42px;

color:#531118;

margin-bottom:15px;

}

.section-title p{

font-size:18px;

color:#666;

max-width:700px;

margin:auto;

}

/*=========================================================
                SUBJECT GRID
=========================================================*/

.subject-grid{

max-width:1200px;

margin:auto;

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(320px,1fr));

gap:28px;

}

/*=========================================================
                SUBJECT CARD
=========================================================*/

.subject-card{

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

background:white;

padding:28px;

border-radius:20px;

cursor:pointer;

box-shadow:

0 12px 28px rgba(0,0,0,.08);

transition:.35s;

position:relative;

overflow:hidden;

}

.subject-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:#FFD54F;

transform:scaleX(0);

transition:.35s;

}

.subject-card:hover::before{

transform:scaleX(1);

}

.subject-card:hover{

transform:translateY(-10px);

box-shadow:

0 20px 45px rgba(83,17,24,.15);

}

/*=========================================================
                ICON
=========================================================*/

.subject-icon{

width:70px;

height:70px;

border-radius:50%;

background:#531118;

display:flex;

justify-content:center;

align-items:center;

flex-shrink:0;

}

.subject-icon i{

font-size:28px;

color:#FFD54F;

}

/*=========================================================
                SUBJECT TEXT
=========================================================*/

.subject-card h3{

font-size:24px;

color:#531118;

margin-bottom:8px;

}

.subject-card p{

font-size:15px;

color:#666;

}

/*=========================================================
                ARROW
=========================================================*/

.arrow{

font-size:22px;

color:#531118;

transition:.35s;

}

.subject-card:hover .arrow{

transform:rotate(180deg);

}

/*=========================================================
            ACCORDION SECTION
=========================================================*/

.accordion-section{

max-width:1250px;

margin:auto;

padding-top:20px;

padding-bottom:80px;

}

/*=========================================================
            ACCORDION CONTENT
=========================================================*/

.accordion-content{

display:none;

background:white;

margin-bottom:35px;

padding:40px;

border-radius:22px;

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

animation:fadeIn .45s ease;

border-top:6px solid #FFD54F;

}

/* when opened by JS */

.accordion-content.active{

display:block;

}

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

.accordion-content h2{

display:flex;

align-items:center;

gap:15px;

font-size:34px;

color:#531118;

margin-bottom:35px;

border-bottom:2px solid #f0f0f0;

padding-bottom:18px;

}

.accordion-content h2 i{

width:60px;

height:60px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#531118;

color:#FFD54F;

font-size:24px;

}

/*=========================================================
            SUB HEADINGS
=========================================================*/

.accordion-content h3{

font-size:24px;

color:#531118;

margin-top:35px;

margin-bottom:18px;

padding-left:16px;

border-left:6px solid #FFD54F;

}

/*=========================================================
            TOPIC GRID
=========================================================*/

.topic-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));

gap:18px;

margin-bottom:25px;

}

/*=========================================================
            TOPIC BOX
=========================================================*/

.topic-box{

display:flex;

align-items:center;

justify-content:space-between;

gap:15px;

background:#ffffff;

padding:18px 22px;

border-radius:14px;

border-left:5px solid #FFD54F;

border:1px solid #ececec;

font-size:16px;

font-weight:500;

color:#444;

text-decoration:none;

transition:all .35s ease;

cursor:pointer;

position:relative;

overflow:hidden;

}

/* Left line animation */

.topic-box::before{

content:"";

position:absolute;

left:0;

top:0;

width:4px;

height:100%;

background:#531118;

transform:scaleY(0);

transform-origin:top;

transition:.35s ease;

}

/* Arrow */

.topic-box::after{

content:"➜";

position:absolute;

right:22px;

top:50%;

transform:translateY(-50%) translateX(-8px);

font-size:22px;

font-weight:700;

color:#531118;

opacity:0;

transition:all .35s ease;

}

/* Hover */

.topic-box:hover{

background:linear-gradient(135deg,#fffdf8,#fff5d9);

border-left-color:#531118;

border-color:#FFD54F;

transform:translateY(-4px);

box-shadow:0 15px 30px rgba(83,17,24,.12);

color:#531118;

}

.topic-box:hover::before{

transform:scaleY(1);

}

.topic-box:hover::after{

opacity:1;

right:18px;

transform:translateY(-50%) translateX(0);

}

/* Click */

.topic-box:active{

transform:scale(.98);

}

/* Keyboard Focus */

.topic-box:focus{

outline:none;

box-shadow:

0 0 0 4px rgba(255,213,79,.35),

0 15px 30px rgba(83,17,24,.12);

}



/*=========================================================
            FADE ANIMATION
=========================================================*/

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================================================
            EXTRA SPACING
=========================================================*/

.accordion-content:last-child{

margin-bottom:0;

}
/*=========================================================
            ACTIVE SUBJECT CARD
=========================================================*/

.subject-card.active{

background:#531118;

color:white;

box-shadow:

0 18px 40px rgba(83,17,24,.30);

}

.subject-card.active h3,

.subject-card.active p{

color:white;

}

.subject-card.active .subject-icon{

background:#FFD54F;

}

.subject-card.active .subject-icon i{

color:#531118;

}

.subject-card.active .arrow{

color:#FFD54F;

transform:rotate(180deg);

}



/*=========================================================
            HOVER EFFECTS
=========================================================*/

.subject-card:hover .subject-icon{

transform:rotateY(180deg);

transition:.5s;

}

.subject-icon{

transition:.5s;

}

.subject-card:hover h3{

color:#7b1d2b;

}

.subject-card.active:hover h3{

color:white;

}



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

@media(max-width:992px){

.hero-content h1{

font-size:48px;

}

.section-title h2{

font-size:36px;

}

.subject-grid{

grid-template-columns:1fr;

}

.topic-grid{

grid-template-columns:

repeat(2,1fr);

}

.accordion-content{

padding:30px;

}

.accordion-content h2{

font-size:30px;

}

}



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

@media(max-width:768px){

.syllabus-hero{

padding:80px 20px;

}

.hero-content h1{

font-size:38px;

}

.hero-content p{

font-size:17px;

}

.back-btn{

width:100%;

justify-content:center;

}

.section-title h2{

font-size:30px;

}

.subject-card{

padding:22px;

}

.subject-card h3{

font-size:20px;

}

.subject-card p{

font-size:14px;

}

.subject-icon{

width:60px;

height:60px;

}

.subject-icon i{

font-size:22px;

}

.accordion-content{

padding:24px;

}

.accordion-content h2{

font-size:26px;

}

.accordion-content h3{

font-size:21px;

}

.topic-grid{

grid-template-columns:1fr;

}

.topic-box{

font-size:15px;

padding:16px;

}

}



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

@media(max-width:480px){

.hero-content h1{

font-size:30px;

}

.hero-tag{

font-size:12px;

}

.section-title h2{

font-size:26px;

}

.accordion-content h2{

font-size:22px;

flex-direction:column;

text-align:center;

}

.accordion-content h2 i{

margin-bottom:10px;

}

.topic-box{

padding:15px;

font-size:14px;

}

}



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

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#ececec;

}

::-webkit-scrollbar-thumb{

background:#531118;

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:#7b1d2b;

}



/*=========================================================
            SMOOTH SCROLL
=========================================================*/

html{

scroll-behavior:smooth;

}



/*=========================================================
            SELECTION COLOR
=========================================================*/

::selection{

background:#FFD54F;

color:#531118;

}



/*=========================================================
            SECTION SPACING
=========================================================*/

.tier-section,

.accordion-section{

padding-top:80px;

padding-bottom:80px;

}

/* ==========================================
   FEEDBACK SECTION
========================================== */

.feedback-section {
    padding: 70px 20px;
    background: #f5f7fb;
}

.feedback-section .container {
    max-width: 1100px;
    margin: 0 auto;
}

.feedback-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 45px 50px;
    text-align: center;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

.feedback-icon {
    width: 65px;
    height: 65px;
    margin: 0 auto 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #800000;
    color: #ffffff;

    border-radius: 50%;
    font-size: 28px;
}

.feedback-card h2 {
    margin: 0 0 15px;

    font-size: 30px;
    font-weight: 700;

    color: #800000;
}

.feedback-card p {
    max-width: 850px;
    margin: 0 auto 25px;

    font-size: 16px;
    line-height: 1.8;

    color: #555555;
}

.contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 13px 25px;

    background: #800000;
    color: #ffffff;

    text-decoration: none;

    border-radius: 8px;

    font-size: 16px;
    font-weight: 600;

    transition: all 0.3s ease;
}

.contact-btn:hover {
    background: #5f0000;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(128, 0, 0, 0.25);
}


/* ==========================================
                FOOTER
========================================== */

.footer {
    background: #800000;
    color: #ffffff;

    padding: 50px 20px 25px;

    text-align: center;
}

.footer .container {
    max-width: 1100px;
    margin: 0 auto;
}

.footer-content {
    max-width: 850px;
    margin: 0 auto;
}

.footer-content h2 {
    margin: 0 0 15px;

    font-size: 28px;
    font-weight: 700;

    color: #ffffff;
}

.footer-content p {
    margin: 0 auto;

    font-size: 15px;
    line-height: 1.8;

    color: #f1f1f1;
}

.footer-divider {
    width: 80px;
    height: 2px;

    background: rgba(255, 255, 255, 0.5);

    margin: 25px auto;
}

.footer-content .copyright {
    font-size: 14px;
    color: #dddddd;
}


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

@media (max-width: 768px) {

    .feedback-section {
        padding: 50px 15px;
    }

    .feedback-card {
        padding: 35px 25px;
    }

    .feedback-card h2 {
        font-size: 25px;
    }

    .feedback-card p {
        font-size: 15px;
        line-height: 1.7;
    }

    .footer {
        padding: 40px 15px 20px;
    }

    .footer-content h2 {
        font-size: 24px;
    }

    .footer-content p {
        font-size: 14px;
    }

}


.shorthand-topic {
    justify-content: center !important;
    font-weight: 700 !important;
}

.shorthand-topic,
.dictation-topic {
    justify-content: center !important;
    font-weight: 700 !important;
}