/* ═══════════════════════════════════════════════════════════
   O Level Notes — Site Stylesheet
   Extracted from layouts/app.blade.php for performance
   ═══════════════════════════════════════════════════════════ */

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: hidden; }
body { font-family: 'Poppins', sans-serif; background: #fff; color: #333; }

/* ───── NOTICE BAR ───── */
.notice-bar {
    background: #1a1a1a;
    border-bottom: 2px solid #e74c3c;
    padding: 7px 0;
    overflow: hidden;
}
.notice-bar .label {
    background: #e74c3c;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: .5px;
}
.notice-bar .notice-scroll-wrapper {
    flex: 1;
    overflow: hidden;
    position: relative;
}
.notice-bar .notice-scroll {
    display: inline-flex;
    white-space: nowrap;
    animation: noticeScroll 30s linear infinite;
    color: #f0f0f0;
    font-size: .8rem;
}
.notice-bar .notice-scroll a {
    color: #f9d71c;
    text-decoration: none;
    font-weight: 600;
    margin: 0 8px;
}
.notice-bar .notice-scroll a:hover { color: #fff; text-decoration: underline; }
.notice-bar .notice-scroll span { margin: 0 8px; }
@keyframes noticeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.notice-bar .notice-scroll:hover { animation-play-state: paused; }

/* ───── HEADER / LOGO ───── */
.site-header {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    padding: 12px 0;
}
.site-header .logo-text {
    font-size: 1.6rem;
    font-weight: 800;
    color: #2c3e50;
    text-decoration: none;
    letter-spacing: -.5px;
}
.site-header .logo-text span { color: #e74c3c; }
.site-header .header-right {
    display: flex; align-items: center; gap: 12px;
}
.site-header .social-link {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 50%;
    background: #f4f4f4; color: #555;
    text-decoration: none; font-size: .9rem; transition: .2s;
}
.site-header .social-link:hover { background: #e74c3c; color: #fff; }

/* ───── MAIN NAVBAR ───── */
.main-navbar {
    background: #2c3e50;
    position: sticky;
    top: 0;
    z-index: 9999;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.main-navbar .navbar-toggler {
    color: #fff;
    border-color: rgba(255,255,255,.3);
}
.main-navbar .navbar-toggler-icon {
    filter: invert(1);
}
.main-navbar .nav-link {
    color: rgba(255,255,255,.9) !important;
    font-size: .74rem;
    font-weight: 600;
    padding: 12px 8px !important;
    letter-spacing: 0;
    transition: background .15s;
    position: relative;
    white-space: nowrap;
}
.main-navbar .navbar-nav { flex-wrap: nowrap; }
.main-navbar .nav-link:hover,
.main-navbar .nav-link.active {
    color: #fff !important;
    background: #e74c3c;
}
.main-navbar .dropdown-toggle::after {
    display: none;
}
.main-navbar .nav-link .arrow {
    font-size: .6rem;
    margin-left: 3px;
    vertical-align: middle;
}

/* Dropdown menus */
.main-navbar .dropdown-menu {
    background: #fff;
    border: none;
    border-top: 3px solid #e74c3c;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 25px rgba(0,0,0,.18);
    padding: 4px 0;
    min-width: 220px;
    margin-top: 0 !important;
}
.main-navbar .dropdown-menu li { margin: 0; padding: 0; }
.main-navbar .dropdown-item {
    font-size: .82rem;
    font-weight: 500;
    color: #2c3e50;
    padding: 6px 16px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-left: 3px solid transparent;
    transition: all .15s;
    line-height: 1.4;
}
.main-navbar .dropdown-item:hover {
    background: #fff3f3;
    color: #e74c3c;
    border-left-color: #e74c3c;
}
.main-navbar .dropdown-divider { margin: 3px 8px; border-color: #eee; }

/* Hover open on desktop — bootstrap show class driven by JS */
@media (min-width: 992px) {
    .main-navbar .dropdown-menu.show { display: block !important; }
    .main-navbar .dropdown-menu {
        top: 100%;
        left: 0;
        transform: none !important;
    }
}

/* ───── PAGE HERO BANNER ───── */
.page-hero {
    position: relative;
    padding: 30px 0 36px;
    overflow: hidden;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 40%, #0f172a 100%);
}
.page-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(99,102,241,.15) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 30%, rgba(139,92,246,.12) 0%, transparent 50%);
    z-index: 1;
}
.page-hero::after {
    content: '';
    position: absolute; bottom: -1px; left: 0; right: 0;
    height: 20px;
    background: #f8f9fa;
    clip-path: ellipse(52% 100% at 50% 100%);
    z-index: 3;
}
.page-hero.hero-no-wave::after { display: none; }
.page-hero .hero-shapes {
    position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden;
}
.page-hero .hero-shapes span {
    position: absolute; border: 1px solid rgba(255,255,255,.04); border-radius: 50%;
    background: transparent;
}
.page-hero .hero-shapes span:nth-child(1) { width:200px; height:200px; top:-60px; right:-40px; }
.page-hero .hero-shapes span:nth-child(2) { width:120px; height:120px; bottom:-30px; left:-20px; }
.page-hero .hero-shapes span:nth-child(3) { width:60px;  height:60px;  top:30%; left:70%; background:rgba(255,255,255,.02); }
.page-hero .hero-shapes span:nth-child(4) { width:40px;  height:40px;  top:60%; left:20%; background:rgba(255,255,255,.02); }
.page-hero .hero-shapes span:nth-child(5) { width:160px; height:160px; top:10%; left:50%; }
.page-hero .hero-shapes span:nth-child(6) { width:20px;  height:20px;  top:25%; left:35%; border-radius:4px; transform:rotate(45deg); background:rgba(255,255,255,.03); }
.page-hero .hero-content { position: relative; z-index: 2; }
/* Breadcrumb */
.page-hero .hero-breadcrumb {
    display: inline-flex;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px; padding: 5px 14px; margin-bottom: 14px;
}
.page-hero .hero-breadcrumb .breadcrumb { margin: 0; font-size: .76rem; }
.page-hero .hero-breadcrumb .breadcrumb-item a {
    color: rgba(255,255,255,.55); text-decoration: none; transition: color .2s;
}
.page-hero .hero-breadcrumb .breadcrumb-item a:hover { color: #fff; }
.page-hero .hero-breadcrumb .breadcrumb-item.active { color: rgba(255,255,255,.85); font-weight: 500; }
.page-hero .hero-breadcrumb .breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,.25); }
/* Hero icon */
.page-hero .hero-icon {
    width: 40px; height: 40px;
    background: linear-gradient(135deg, rgba(99,102,241,.3), rgba(139,92,246,.3));
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.1rem; margin-bottom: 10px; color: #c7d2fe;
}
.page-hero .hero-title {
    font-family: 'Poppins', sans-serif; font-weight: 700; color: #fff;
    font-size: 1.5rem; margin-bottom: 6px; line-height: 1.3;
    letter-spacing: -.01em;
}
.page-hero .hero-subtitle {
    color: rgba(255,255,255,.5); font-size: .85rem; margin: 0;
    max-width: 560px; line-height: 1.5;
}
.page-hero .hero-badge {
    display: inline-flex; align-items: center; gap: 5px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.7); border-radius: 6px; padding: 4px 12px;
    font-size: .74rem; font-weight: 500;
    border: 1px solid rgba(255,255,255,.06);
}
.page-hero .hero-tag {
    display: inline-block;
    background: rgba(99,102,241,.15); color: #a5b4fc;
    border: 1px solid rgba(99,102,241,.25);
    border-radius: 6px; padding: 3px 12px;
    font-size: .72rem; font-weight: 600;
    letter-spacing: .3px; text-transform: uppercase;
}
/* Centered variant */
.page-hero.hero-center .hero-content { text-align: center; }
.page-hero.hero-center .hero-subtitle { margin: 0 auto; }
.page-hero.hero-center .hero-icon { margin: 0 auto 10px; }
.page-hero.hero-center .hero-breadcrumb { margin: 0 auto 14px; }
/* Compact variant */
.page-hero.hero-compact { padding: 22px 0 28px; }
.page-hero.hero-compact .hero-title { font-size: 1.3rem; }
/* Color accent variants — all dark base, colored accent */
.page-hero.hero-blue   { background: linear-gradient(135deg, #0f172a, #172554, #0f172a); }
.page-hero.hero-blue::before { background: radial-gradient(ellipse at 25% 50%, rgba(59,130,246,.18) 0%, transparent 55%), radial-gradient(ellipse at 75% 30%, rgba(37,99,235,.12) 0%, transparent 50%); }
.page-hero.hero-blue .hero-icon { background: linear-gradient(135deg, rgba(59,130,246,.25), rgba(37,99,235,.25)); color: #93c5fd; }
.page-hero.hero-red    { background: linear-gradient(135deg, #0f172a, #450a0a, #1c1917); }
.page-hero.hero-red::before { background: radial-gradient(ellipse at 25% 50%, rgba(239,68,68,.15) 0%, transparent 55%), radial-gradient(ellipse at 75% 30%, rgba(220,38,38,.1) 0%, transparent 50%); }
.page-hero.hero-red .hero-icon { background: linear-gradient(135deg, rgba(239,68,68,.25), rgba(220,38,38,.25)); color: #fca5a5; }
.page-hero.hero-orange { background: linear-gradient(135deg, #0f172a, #431407, #1c1917); }
.page-hero.hero-orange::before { background: radial-gradient(ellipse at 25% 50%, rgba(249,115,22,.15) 0%, transparent 55%), radial-gradient(ellipse at 75% 30%, rgba(234,88,12,.1) 0%, transparent 50%); }
.page-hero.hero-orange .hero-icon { background: linear-gradient(135deg, rgba(249,115,22,.25), rgba(234,88,12,.25)); color: #fdba74; }
.page-hero.hero-purple { background: linear-gradient(135deg, #0f172a, #2e1065, #0f172a); }
.page-hero.hero-purple::before { background: radial-gradient(ellipse at 25% 50%, rgba(139,92,246,.18) 0%, transparent 55%), radial-gradient(ellipse at 75% 30%, rgba(124,58,237,.12) 0%, transparent 50%); }
.page-hero.hero-purple .hero-icon { background: linear-gradient(135deg, rgba(139,92,246,.25), rgba(124,58,237,.25)); color: #c4b5fd; }
.page-hero.hero-green  { background: linear-gradient(135deg, #0f172a, #052e16, #0f172a); }
.page-hero.hero-green::before { background: radial-gradient(ellipse at 25% 50%, rgba(34,197,94,.15) 0%, transparent 55%), radial-gradient(ellipse at 75% 30%, rgba(22,163,74,.1) 0%, transparent 50%); }
.page-hero.hero-green .hero-icon { background: linear-gradient(135deg, rgba(34,197,94,.25), rgba(22,163,74,.25)); color: #86efac; }
.page-hero.hero-dark   { background: linear-gradient(135deg, #0f172a, #1e293b, #0f172a); }
@media(max-width:767px) {
    .page-hero { padding: 22px 0 28px; }
    .page-hero .hero-title { font-size: 1.25rem; }
    .page-hero .hero-icon { width:34px; height:34px; font-size:.95rem; }
}

/* ───── COURSE CARDS ───── */
.course-card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0,0,0,.08);
    transition: transform .25s, box-shadow .25s;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}
.course-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,.14);
    color: inherit;
}
.course-card .card-img {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    position: relative;
    overflow: hidden;
}
.course-card .card-img img {
    width: 100%; height: 100%; object-fit: cover;
}
.course-card .card-img-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.3);
    display: flex; align-items: center; justify-content: center;
    font-size: 3rem;
}
.course-card .card-content {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.course-card .card-content h5 {
    font-size: .98rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 10px;
}
.course-card .card-content .features {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    flex: 1;
}
.course-card .card-content .features li {
    font-size: .79rem;
    color: #555;
    padding: 3px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
.course-card .card-content .features li::before {
    content: '✔';
    color: #27ae60;
    font-size: .75rem;
    flex-shrink: 0;
}
.course-card .btn-start {
    display: block;
    background: #e74c3c;
    color: #fff;
    text-align: center;
    padding: 9px;
    border-radius: 6px;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s;
}
.course-card .btn-start:hover { background: #c0392b; color: #fff; }
.course-card .btn-soon {
    display: block;
    background: #95a5a6;
    color: #fff;
    text-align: center;
    padding: 9px;
    border-radius: 6px;
    font-size: .82rem;
    font-weight: 700;
}

/* ───── CHAPTER CARDS (MCQ / topic wise) ───── */
.chapter-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
    transition: all .2s;
}
.chapter-card:hover {
    border-color: #e74c3c;
    box-shadow: 0 6px 20px rgba(231,76,60,.15);
    color: inherit;
}
.chapter-card .ch-icon {
    width: 50px; height: 50px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; flex-shrink: 0;
}
.chapter-card h6 {
    font-size: .9rem; font-weight: 700; margin: 0 0 3px; color: #2c3e50;
}
.chapter-card small { color: #777; font-size: .75rem; }

/* ───── QUIZ / TEST CARDS ───── */
.test-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,.07);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all .25s;
}
.test-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
    color: inherit;
}
.test-card .test-top {
    padding: 20px;
    color: #fff;
}
.test-card .test-top .test-icon { font-size: 2rem; margin-bottom: 10px; }
.test-card .test-top h6 {
    font-size: .9rem; font-weight: 700; margin: 0; line-height: 1.4;
}
.test-card .test-body { padding: 14px; flex: 1; }
.test-card .test-body small { color: #666; }
.test-card .btn-test {
    display: block; margin: 10px 14px 14px;
    background: #e74c3c; color: #fff;
    text-align: center; padding: 9px;
    border-radius: 6px; font-size: .82rem; font-weight: 700;
    text-decoration: none; transition: background .2s;
}
.test-card .btn-test:hover { background: #c0392b; color: #fff; }

/* ───── SECTION HEADERS ───── */
.sec-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: #2c3e50;
    margin-bottom: 6px;
}
.sec-sub {
    color: #777;
    font-size: .88rem;
    margin-bottom: 0;
}
.title-divider {
    width: 50px; height: 4px;
    background: #e74c3c;
    border-radius: 2px;
    margin: 10px 0 28px;
}
.title-divider.center { margin: 10px auto 28px; }

/* ───── TESTIMONIALS ───── */
.testimonial-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
    height: 100%;
    position: relative;
}
.testimonial-card::before {
    content: '\201C';
    position: absolute;
    top: 12px; left: 20px;
    font-size: 4rem;
    color: #e74c3c;
    opacity: .15;
    line-height: 1;
    font-family: Georgia, serif;
}
.testimonial-card .stars { color: #f39c12; margin-bottom: 10px; }
.testimonial-card p { font-size: .85rem; color: #555; line-height: 1.7; margin: 0 0 16px; }
.testimonial-card .student-name { font-weight: 700; font-size: .88rem; color: #2c3e50; }
.testimonial-card .student-label { font-size: .75rem; color: #e74c3c; }

/* ───── SIDEBAR ───── */
.sidebar-box {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
    padding: 18px;
    margin-bottom: 20px;
}
.sidebar-box .sidebar-title,
.sidebar-box .box-title {
    font-size: .9rem;
    font-weight: 700;
    color: #2c3e50;
    padding-bottom: 10px;
    margin-bottom: 14px;
    border-bottom: 2px solid #e74c3c;
}
.topic-link {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 10px; border-radius: 6px;
    text-decoration: none; color: #444;
    font-size: .85rem; transition: all .15s;
    border-left: 3px solid transparent;
}
.topic-link:hover, .topic-link.active {
    background: #fff3f3; color: #e74c3c;
    border-left-color: #e74c3c;
}

/* ───── NOTE CONTENT ───── */
.note-content { line-height: 1.9; font-size: .97rem; }
.note-content h1,.note-content h2,.note-content h3 { font-family:'Poppins',sans-serif; color:#2c3e50; margin-top:1.5rem; }
.note-content h2 { font-size:1.3rem; border-bottom:2px solid #eee; padding-bottom:8px; }
.note-content h3 { font-size:1.08rem; }
.note-content table { width:100%; border-collapse:collapse; margin:1rem 0; }
.note-content table th { background:#fff3f3; font-weight:700; color:#e74c3c; }
.note-content table th,.note-content table td { border:1px solid #dee2e6; padding:9px 13px; }
.note-content blockquote { border-left:4px solid #e74c3c; background:#fff8f8; padding:12px 18px; border-radius:0 8px 8px 0; font-style:italic; color:#555; margin:1rem 0; }
.note-content img { max-width:100%; border-radius:6px; }
.note-content pre { background:#1e293b; color:#e2e8f0; padding:16px; border-radius:8px; overflow-x:auto; font-size:.88rem; }
.note-content code { background:#fff0f0; padding:2px 6px; border-radius:4px; color:#e74c3c; }
.note-content pre code { background:none; padding:0; color:#e2e8f0; }

/* ───── NOTE CARD (generic) ───── */
.note-card {
    background: #fff; border-radius: 10px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
    overflow: hidden; transition: all .2s;
}
.note-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.12); }
.note-label,.nc-label {
    font-size: .7rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .5px;
    padding: 3px 9px; border-radius: 20px; display: inline-block;
}

/* ───── QUIZ ───── */
.quiz-option {
    cursor: pointer; border: 2px solid #e0e0e0;
    border-radius: 8px; padding: 12px 16px;
    transition: all .2s; display: flex; align-items: center; gap: 12px;
}
.quiz-option:hover { border-color: #e74c3c; background: #fff3f3; }
.quiz-option input[type=radio] { width:18px; height:18px; flex-shrink:0; cursor:pointer; accent-color:#e74c3c; }
.quiz-option.correct-ans { border-color:#27ae60; background:#f0fff4; }
.quiz-option.wrong-ans { border-color:#e74c3c; background:#fff3f3; }

/* ───── BUTTONS ───── */
.btn-red {
    background: #e74c3c; color: #fff; border: none;
    border-radius: 6px; padding: 10px 24px;
    font-weight: 700; font-size: .88rem;
    text-decoration: none; display: inline-block; transition: .2s;
}
.btn-red:hover { background: #c0392b; color: #fff; transform: translateY(-1px); }
.btn-red-out {
    background: transparent; color: #e74c3c;
    border: 2px solid #e74c3c;
    border-radius: 6px; padding: 9px 22px;
    font-weight: 700; font-size: .88rem;
    text-decoration: none; display: inline-block; transition: .2s;
}
.btn-red-out:hover { background: #e74c3c; color: #fff; }
/* Legacy aliases */
.btn-primary-custom,.btn-green {
    background:#e74c3c;color:#fff;border:none;border-radius:6px;
    padding:10px 22px;font-weight:700;font-size:.88rem;
    text-decoration:none;display:inline-block;transition:.2s;
}
.btn-primary-custom:hover,.btn-green:hover { background:#c0392b;color:#fff;transform:translateY(-1px); }
.btn-outline-custom,.btn-green-out {
    background:transparent;color:#e74c3c;border:2px solid #e74c3c;
    border-radius:6px;padding:8px 20px;font-weight:700;font-size:.88rem;
    text-decoration:none;display:inline-block;transition:.2s;
}
.btn-outline-custom:hover,.btn-green-out:hover { background:#e74c3c;color:#fff; }

/* ───── SECTION bg ───── */
.section-white { background: #fff; padding: 55px 0; }
.section-light { background: #f8f9fa; padding: 55px 0; }
.section-red   { background: #e74c3c; padding: 55px 0; }
.section-dark  { background: #2c3e50; padding: 55px 0; }

/* subject-grid-card (legacy) */
.subject-grid-card { display:block;text-decoration:none;color:inherit; }
.subject-grid-card:hover { color:inherit; }

/* ───── FOOTER ───── */
.site-footer {
    background: #2c3e50;
    color: rgba(255,255,255,.75);
    padding: 50px 0 0;
}
.site-footer h5 {
    font-size: .9rem; font-weight: 700;
    color: #e74c3c; margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(255,255,255,.1);
    text-transform: uppercase; letter-spacing: .5px;
}
.site-footer p { font-size: .83rem; line-height: 1.8; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer ul li { margin-bottom: 8px; }
.site-footer ul li a {
    color: rgba(255,255,255,.65); text-decoration: none;
    font-size: .83rem; transition: .2s;
    display: flex; align-items: center; gap: 6px;
}
.site-footer ul li a:hover { color: #e74c3c; padding-left: 4px; }
.site-footer ul li a::before { content: '\203A'; color: #e74c3c; font-weight: 700; }
.footer-social { display: flex; gap: 10px; margin-top: 14px; }
.footer-social a {
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(255,255,255,.1); color: rgba(255,255,255,.75);
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; font-size: .95rem; transition: .2s;
}
.footer-social a:hover { background: #e74c3c; color: #fff; transform: translateY(-2px); }
.footer-bottom {
    background: #1a252f;
    padding: 14px 0;
    margin-top: 40px;
}
.footer-bottom p { margin: 0; font-size: .78rem; color: rgba(255,255,255,.4); }
.footer-bottom a { color: rgba(255,255,255,.5); text-decoration: none; }
.footer-bottom a:hover { color: #e74c3c; }

/* ───── MISC ───── */
.sec-badge {
    display: inline-block;
    background: #fff3f3; color: #e74c3c;
    font-size: .72rem; font-weight: 700;
    padding: 4px 14px; border-radius: 20px;
    margin-bottom: 10px; text-transform: uppercase; letter-spacing: .5px;
}
.section-head { margin-bottom: 36px; }
.section-head .badge-pill { background:#fff3f3;color:#e74c3c;font-size:.72rem;font-weight:700;padding:4px 14px;border-radius:20px;display:inline-block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px; }
.section-head h2 { font-size:1.75rem;font-weight:800;color:#2c3e50;margin-bottom:8px; }
.section-divider { width:50px;height:4px;background:#e74c3c;border-radius:2px;margin:10px 0 0; }

/* ───── SCROLL TO TOP ───── */
.scroll-top-btn {
    position:fixed; bottom:24px; right:24px;
    width:44px; height:44px; border-radius:50%;
    background:#e74c3c; color:#fff; border:none;
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; box-shadow:0 4px 16px rgba(231,76,60,.4);
    cursor:pointer; opacity:0; visibility:hidden;
    transition:.3s; z-index:9998;
}
.scroll-top-btn.visible { opacity:1; visibility:visible; }
.scroll-top-btn:hover { transform:translateY(-3px); background:#c0392b; }

/* ───── SMOOTH FADE-IN ANIMATION ───── */
.fade-up {
    opacity:0; transform:translateY(20px);
    transition:opacity .5s ease, transform .5s ease;
}
.fade-up.visible { opacity:1; transform:translateY(0); }

@media (max-width: 991px) {
    .main-navbar .nav-link { padding: 10px 16px !important; border-bottom: 1px solid rgba(255,255,255,.07); }
    .main-navbar .dropdown-menu { border-top: none; border-left: 3px solid #e74c3c; box-shadow: none; }
}

/* ───── DARK MODE ───── */
.dark-mode-toggle {
    position: fixed; bottom: 80px; right: 24px;
    width: 44px; height: 44px; border-radius: 50%;
    background: #334155; color: #f9d71c; border: none;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; box-shadow: 0 4px 16px rgba(0,0,0,.3);
    cursor: pointer; z-index: 9998; transition: .3s;
}
.dark-mode-toggle:hover { transform: translateY(-3px); background: #1e293b; }
body.dark-mode .dark-mode-toggle { background: #f59e0b; color: #1e293b; }

body.dark-mode {
    background: #0f172a; color: #e2e8f0;
}
body.dark-mode .site-header { background: #1e293b; border-bottom-color: #334155; }
body.dark-mode .site-header .logo-text { color: #e2e8f0; }
body.dark-mode .main-navbar { background: #1e293b; }
body.dark-mode .page-hero { background: linear-gradient(135deg, #0a0f1a 0%, #131b2e 40%, #0a0f1a 100%); }
body.dark-mode .note-card,
body.dark-mode .sidebar-box,
body.dark-mode .hc-card,
body.dark-mode .mod-card,
body.dark-mode .pdf-card,
body.dark-mode .pt-card,
body.dark-mode .test-card,
body.dark-mode .testimonial-card,
body.dark-mode .faq-item,
body.dark-mode .cform-card,
body.dark-mode .side-card {
    background: #1e293b; color: #e2e8f0;
    border-color: #334155;
}
body.dark-mode section[style*="background:#f8f9fa"],
body.dark-mode section[style*="background:#fff"] {
    background: #0f172a !important;
}
body.dark-mode .note-content { color: #cbd5e1; }
body.dark-mode .note-content h1,
body.dark-mode .note-content h2,
body.dark-mode .note-content h3 { color: #e2e8f0; }
body.dark-mode .note-content h2 { border-bottom-color: #334155; }
body.dark-mode .note-content table th { background: #334155; }
body.dark-mode .note-content table th,
body.dark-mode .note-content table td { border-color: #475569; color: #e2e8f0; }
body.dark-mode .note-content blockquote { background: #1e293b; border-left-color: #e74c3c; color: #94a3b8; }
body.dark-mode .note-content code { background: #334155; color: #f87171; }
body.dark-mode .topic-link { color: #cbd5e1; }
body.dark-mode .topic-link:hover { background: #334155; }
body.dark-mode .site-footer { background: #0a0f1a; }
body.dark-mode .footer-bottom { background: #060a12; }
body.dark-mode .quiz-option { border-color: #475569; color: #e2e8f0; }
body.dark-mode .quiz-option:hover { border-color: #e74c3c; background: #1e293b; }
body.dark-mode .cform-input { background: #0f172a; border-color: #334155; color: #e2e8f0; }
body.dark-mode .cform-input:focus { border-color: #6366f1; }
body.dark-mode .faq-q { background: #1e293b; color: #e2e8f0; }
body.dark-mode .faq-q:hover { background: #334155; }
body.dark-mode .faq-a { color: #94a3b8; }
body.dark-mode a:not(.btn):not(.nav-link):not(.dropdown-item):not(.share-btn):not(.social-link) { color: #93c5fd; }

/* Quiz page dark mode */
body.dark-mode .qz-card { background: #1e293b; border-color: #334155; }
body.dark-mode .qz-card-body { background: #1e293b; }
body.dark-mode .qz-card-body .meta-row span { background: #0f172a; color: #94a3b8; }
body.dark-mode .qz-card h6 { color: #f1f5f9; }
body.dark-mode .quiz-stats-bar { background: #1e293b; border-color: #334155; }
body.dark-mode .quiz-stats-bar .stat-item { border-color: #334155; }
body.dark-mode .quiz-stats-bar .stat-num { color: #f1f5f9; }
body.dark-mode .sf-btn.inactive { background: #1e293b; color: #94a3b8; border-color: #334155; }
body.dark-mode .sf-btn.inactive:hover { background: #334155; }
body.dark-mode .sb-card { background: #1e293b; border-color: #334155; }
body.dark-mode .sb-title { color: #f1f5f9; }
body.dark-mode .sb-links li a { background: #0f172a; border-color: #334155; color: #cbd5e1; }
body.dark-mode .sb-links li a:hover { background: #334155; }
body.dark-mode .ql-item { background: #0f172a; border-color: #334155; color: #cbd5e1; }
body.dark-mode .ql-item:hover { background: #334155; }
body.dark-mode .pp-card { background: #1e293b; border-color: #334155; }
body.dark-mode .pp-card-title { color: #f1f5f9; }
body.dark-mode .pp-card-desc p { color: #94a3b8; }
body.dark-mode .empty-state { background: #1e293b; border-color: #334155; }

/* ───── PRINT STYLES ───── */
@media print {
    .notice-bar, .site-header, .main-navbar, .site-footer,
    .scroll-top-btn, .dark-mode-toggle, .share-btns,
    .page-hero .hero-shapes, .sidebar-box, .wa-card, .side-card,
    button[onclick="window.print()"], .hero-breadcrumb,
    form[action*="search"] { display: none !important; }

    body { font-size: 12pt; color: #000; background: #fff; }
    .page-hero { background: #f5f5f5 !important; padding: 15px 0 !important; }
    .page-hero::before, .page-hero::after { display: none; }
    .page-hero .hero-title { color: #000 !important; font-size: 1.3rem; }
    .note-card { box-shadow: none; border: 1px solid #ccc; }
    .note-content { font-size: 11pt; line-height: 1.6; }
    .note-content img { max-width: 100%; page-break-inside: avoid; }
    .note-content table { page-break-inside: avoid; }
    .col-lg-4 { display: none !important; }
    .col-lg-8 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
    a[href]::after { content: none !important; }
}
