/* ═══════════════════════════════════════════════════ UP Sarkari Naukri - Main Stylesheet ═══════════════════════════════════════════════════ */:root{--primary:#9c0d0d;--primary-light:#b71212;--primary-dark:#7a0a0a;--accent:#e8a000;--accent-light:#ffb800;--success:#2e7d32;--danger:#c62828;--warning:#f57f17;--info:#0277bd;--bg:#f0f2f5;--bg-card:#ffffff;--text:#1a1a2e;--text-light:#546e7a;--border:#e0e0e0;--shadow:0 2px 8px rgba(0,0,0,0.08);--shadow-lg:0 4px 20px rgba(0,0,0,0.12);--radius:8px;--radius-sm:4px;--font:'Roboto', 'Segoe UI', sans-serif;--font-heading:'Roboto Condensed', 'Roboto', sans-serif;--header-h:60px;--max-w:1200px}*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}html, body{overflow-x:hidden;width:100%}html{scroll-behavior:smooth}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none;transition:color 0.2s}/* WCAG:Content links must be underlined (distinguishable without color alone) */p a, .faq-answer a, .home-seo-content p a{text-decoration:underline;text-decoration-color:rgba(156,13,13,0.4)}p a:hover, .faq-answer a:hover{text-decoration-color:var(--accent)}a:hover{color:var(--accent)}img{max-width:100%;height:auto}/* Global overflow protection */.post-single img,.post-section img{max-width:100%;height:auto}.post-single iframe{max-width:100%}/* Fix low-contrast inline colors in post content */.post-section [style*="color:#ff0000"],.post-section [style*="color:#ff0000"],.post-section [style*="color:red"]{color:#c62828 !important}/* ─── HEADER ─── */.site-header{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,0.3)}.header-top{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-w);margin:0 auto;padding:10px 20px}.site-logo{display:flex;align-items:center;gap:12px;color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:-0.5px}.site-logo .logo-icon{width:40px;height:40px;background:#bf360c;color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:900}.site-logo small{display:block;font-size:0.65rem;font-weight:400;opacity:0.8;letter-spacing:1px;text-transform:uppercase}.header-search{display:flex;align-items:center;background:rgba(255,255,255,0.15);border-radius:50px;padding:4px 6px 4px 16px;width:320px;border:1px solid rgba(255,255,255,0.2);transition:all 0.3s}.header-search:focus-within{background:rgba(255,255,255,0.25);border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,111,0,0.2)}.header-search input{background:none;border:none;color:#fff;outline:none;flex:1;font-size:0.9rem;padding:6px 0}.header-search input::placeholder{color:rgba(255,255,255,0.6)}.header-search button{background:#c43e00;border:none;color:#fff;padding:8px 16px;border-radius:50px;cursor:pointer;font-size:0.85rem;font-weight:600;transition:background 0.2s}.header-search button:hover{background:var(--accent)}.mobile-menu-btn{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px}/* ─── NAVIGATION ─── */.main-nav{background: #0d1452;border-top:1px solid rgba(255,255,255,0.1)}.nav-list{display:flex;list-style:none;max-width:var(--max-w);margin:0 auto;padding:0 20px;gap:2px}.nav-list li a{display:block;color:rgba(255,255,255,0.85);padding:12px 20px;font-size:0.9rem;font-weight:600;transition:all 0.2s;border-bottom:3px solid transparent;white-space:nowrap}.nav-list li a:hover, .nav-list li a.active{color:#fff;background:rgba(255,255,255,0.08);border-bottom-color:var(--accent)}/* ─── MOBILE SECONDARY NAV ─── */.mobile-sec-nav{display:none;background: #0d1452;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:none}.mobile-sec-nav::-webkit-scrollbar{display:none}.mobile-sec-nav a{display:inline-block;color:rgba(255,255,255,0.85);font-size:0.82rem;font-weight:600;padding:10px 16px;text-decoration:none;transition:background 0.2s}.mobile-sec-nav a:hover,.mobile-sec-nav a.msn-active{background:rgba(255,255,255,0.1);color:#fff}/* ─── TICKER BAR ─── */.ticker-bar{background:#bf360c;color:#fff;padding:8px 0;overflow:hidden}.ticker-content{display:flex;align-items:center;max-width:var(--max-w);margin:0 auto;padding:0 20px}.ticker-label{background:#fff;color:#bf360c;padding:4px 14px;border-radius:4px;font-size:0.75rem;font-weight:800;text-transform:uppercase;white-space:nowrap;animation:pulse 2s infinite;margin-right:16px;letter-spacing:0.5px}@keyframes pulse{0%, 100%{opacity:1}50%{opacity:0.85}}.ticker-scroll{overflow:hidden;flex:1;position:relative}.ticker-items{display:flex;animation:scroll-left 30s linear infinite;gap:40px;white-space:nowrap}.ticker-items a{color:#fff;font-size:0.85rem;font-weight:600}.ticker-items a:hover{text-decoration:underline;color:#fff}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}/* ─── MAIN LAYOUT ─── */.container{max-width:var(--max-w);margin:0 auto;padding:20px}.main-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.main-grid > *{min-width:0}/* ─── BREADCRUMB ─── */.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--text-light);margin-bottom:16px;flex-wrap:wrap}.breadcrumb a{color:var(--primary)}.breadcrumb span{color:var(--text-light)}/* ─── CARDS ─── */.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible;margin-bottom:20px;max-width:100%}.card-header{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;padding:14px 20px;font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:10px}.card-header .icon{font-size:1.2rem}.card-body{padding:0}/* ─── POST TABLE ─── */.post-table{width:100%;border-collapse:collapse}.post-table thead th{background:#f8f9fa;padding:12px 16px;text-align:left;font-size:0.82rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:0.5px;border-bottom:2px solid var(--border)}.post-table tbody tr{border-bottom:1px solid var(--border);transition:background 0.15s}.post-table tbody tr:hover{background:#f5f7ff}.post-table tbody td{padding:14px 16px;vertical-align:middle}.post-table .post-name{font-weight:600;font-size:0.95rem;line-height:1.4}.post-table .post-name a{color:#0000ef}.post-table .post-name a:hover{color:#0000cc}.post-table .post-meta{font-size:0.78rem;color:var(--text-light);margin-top:3px}.post-table .post-count{font-weight:700;color:var(--success);font-size:0.9rem;white-space:nowrap}.post-table .post-date{font-size:0.85rem;color:var(--text-light);white-space:nowrap}/* ─── BADGES ─── */.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}.badge-active{background:#e8f5e9;color:var(--success)}.badge-closed{background:#fbe9e7;color:var(--danger)}.badge-urgent{background:#fde8e8;color:#b71c1c}.badge-warn{background:#fff3e0;color:#bf360c;border:1px solid #ffb74d}.badge-notice{background:#fffde7;color:#7a5c00;border:1px solid #f9a825}.badge-info{background:#e1f5fe;color:var(--info)}.badge-new{background:var(--danger);color:#fff;animation:blink 1s infinite;font-size:0.65rem;padding:2px 8px;margin-left:6px;vertical-align:middle}@keyframes blink{0%, 100%{opacity:1}50%{opacity:0.4}}.badge-vacancy{background:#e8f5e9;color:#2e7d32;font-size:0.7rem;padding:2px 8px;border-radius:3px;font-weight:700;vertical-align:middle;margin-left:6px;white-space:nowrap}/* ─── LAST DATE TODAY CARD ─── */
.ldt-card .card-header{background:#b71c1c !important}.ldt-card.today-posts-card .card-header{background:linear-gradient(135deg,#166534,#15803d) !important}
.ldt-card .post-table tbody tr{border-bottom:1px solid var(--border)}
.ldt-card .post-table tbody tr:last-child{border-bottom:none}
.ldt-card .post-table tbody tr:hover{background:#fff5f5}
.ldt-card .post-table tbody td{padding:10px 16px;vertical-align:middle}
.ldt-card .post-table .ldt-title{font-weight:400;font-size:0.82rem}.ldt-two-col{display:grid;grid-template-columns:1fr 1fr;align-items:start}.ldt-two-col>div:first-child{border-right:1px solid #f3f4f6}@media(max-width:700px){.ldt-two-col{grid-template-columns:1fr}.ldt-two-col>div:first-child{border-right:none;border-bottom:1px solid #f3f4f6}}
.ldt-card .post-table .ldt-title a{color:#0000ef}.ldt-card .post-table .ldt-title a::before{content:'\25B8 ';color:var(--primary);font-size:0.75rem}.ldt-card .post-table .ldt-title a:hover{background:#fff5f5;color:var(--primary)}.dl-label{display:inline-block;font-size:0.65rem;font-weight:700;padding:2px 8px;border-radius:3px;vertical-align:middle;margin-left:6px;white-space:nowrap;letter-spacing:0.3px;text-transform:uppercase}.dl-today{background:#b71c1c;color:#fff}.dl-closing{background:#c62828;color:#fff}.dl-warn{background:#fff3e0;color:#bf360c;border:1px solid #ffb74d}.dl-notice{background:#fffde7;color:#7a5c00;border:1px solid #f9a825}.dl-date{background:#eceff1;color:#37474f;border:1px solid #cfd8dc}/* ─── FILTER BUTTONS ─── */.filter-btn{padding:6px 16px;border:2px solid var(--border);border-radius:20px;background:#fff;color:var(--text-light);font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}/* ─── SIDEBAR ─── */.sidebar .card{position:static}.sidebar .recent-list{list-style:none}.sidebar .recent-list li{padding:12px 16px;border-bottom:1px solid var(--border);transition:background 0.15s}.sidebar .recent-list li:last-child{border-bottom:none}.sidebar .recent-list li:hover{background:#f5f7ff}.sidebar .recent-list li a{font-size:0.88rem;font-weight:500;color:var(--text);display:block;line-height:1.4}.sidebar .recent-list li a:hover{color:var(--primary)}.sidebar .recent-list .meta{font-size:0.75rem;color:var(--text-light);margin-top:4px}/* ─── SINGLE POST ─── */.post-single{padding:24px;word-wrap:break-word;overflow-wrap:break-word}.post-single h1{font-size:1.5rem;font-weight:800;color:var(--primary-dark);line-height:1.3;margin-bottom:16px;word-wrap:break-word;overflow-wrap:break-word}.post-meta-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 18px;background:#f8f9fb;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:24px}.post-meta-left{display:flex;gap:20px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:0.85rem;color:var(--text-light)}.meta-item svg{color:var(--primary);flex-shrink:0}.post-meta-right{display:flex;gap:8px;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;padding:5px 14px;border-radius:20px;font-size:0.8rem;font-weight:700}.meta-chip.vacancy{background:#e8f5e9;color:#1b5e20}.meta-chip.deadline{background:#fff3e0;color:#b53d00}.post-section{margin-bottom:24px}.post-section .section-title{background:var(--primary);color:#fff;padding:10px 18px;font-size:0.95rem;font-weight:700;border-radius:var(--radius-sm);margin-bottom:14px}.post-section h2,.post-section .section-content h2{background:var(--primary);color:#fff;padding:10px 18px;font-size:0.95rem;font-weight:700;border-radius:var(--radius-sm);margin:0 0 14px 0;word-wrap:break-word;overflow-wrap:break-word}.post-section h2 + *, .post-section .section-content h2 + *{margin-top:0}.post-section .section-content{padding:0 4px;font-size:0.95rem;line-height:1.8;overflow-x:auto;-webkit-overflow-scrolling:touch;word-wrap:break-word;overflow-wrap:break-word}.post-section .section-content table{width:100%;border-collapse:collapse;table-layout:fixed;word-wrap:break-word;overflow-wrap:break-word}.post-section .section-content table td,.post-section .section-content table th{padding:8px 10px;border:1px solid #e0e0e0;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}.post-section .section-content table td:first-child{width:35%;font-weight:600}.post-section .section-content table ul{padding-left:18px;margin:0}.post-section .section-content table li{margin-bottom:4px}.post-section .section-content a{text-decoration:underline;text-decoration-color:rgba(156,13,13,0.4);text-underline-offset:2px}.post-section .section-content a:hover{color:var(--accent);text-decoration-color:var(--accent)}.post-section .section-content ol{padding-left:22px;margin:10px 0}.post-section .section-content ol li{margin-bottom:6px}.post-section .section-content ul{list-style:disc;padding-left:24px}.post-section .section-content ul li{margin-bottom:6px}.post-section table{width:100%;border-collapse:collapse;margin:12px 0;font-size:0.9rem}.post-section table th, .post-section table td{border:1px solid var(--border);padding:10px 14px;text-align:left}.post-section table th{background:#f0f4ff;font-weight:700}.post-section table tr:hover{background:#fafbff}/* ─── PAGINATION ─── */.pagination{display:flex;justify-content:center;gap:6px;margin:30px 0;flex-wrap:wrap}.pagination a, .pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--radius-sm);font-size:0.9rem;font-weight:600;transition:all 0.2s}.pagination a{background:var(--bg-card);border:1px solid var(--border);color:var(--text)}.pagination a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination .current{background:var(--primary);color:#fff;border:1px solid var(--primary)}/* ─── FOOTER ─── */.site-footer{background:var(--primary-dark);color:rgba(255,255,255,0.9);margin-top:40px}.footer-content{max-width:var(--max-w);margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px}.footer-heading{font-size:1rem;font-weight:700;color:#fff;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--accent);display:inline-block}.footer-section p{font-size:0.84rem;line-height:1.7}.footer-links{list-style:none}.footer-links li{margin-bottom:6px}.footer-links a{color:rgba(255,255,255,0.85);font-size:0.84rem;transition:all 0.2s;text-decoration:none}.footer-links a:hover{color:#ffc107;padding-left:4px}.footer-social{display:flex;gap:8px;margin-top:14px}.footer-social-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.9);transition:background 0.2s, transform 0.2s}.footer-social-icon:hover{background:rgba(255,255,255,0.25);transform:scale(1.1)}.footer-disclaimer-bar{max-width:var(--max-w);margin:0 auto;padding:14px 20px;border-top:1px solid rgba(255,255,255,0.1);font-size:0.78rem;line-height:1.6;color:rgba(255,255,255,0.55);text-align:center}.footer-bottom{background:rgba(0,0,0,0.2);text-align:center;padding:16px 20px;font-size:0.82rem;color:rgba(255,255,255,0.9)}/* ─── LANDING PAGE INTRO ─── */.page-intro{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:#fff;padding:30px;border-radius:var(--radius);margin-bottom:24px;box-shadow:var(--shadow-lg)}.page-intro h1{font-size:1.6rem;font-weight:800;margin-bottom:10px}.page-intro p{opacity:0.9;font-size:0.95rem;line-height:1.7}/* ─── RESPONSIVE ─── */@media (max-width:1024px){.main-grid{grid-template-columns:1fr}.sidebar .card{position:static}.stats-grid{grid-template-columns:repeat(2, 1fr)}.mobile-sec-nav{display:flex}}@media (max-width:768px){.header-search{display:none}.mobile-menu-btn{display:block}/* nav open/close now handled by nav-inner rules */.nav-list{flex-direction:column;padding:0}.nav-list li a{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.1)}.footer-content{grid-template-columns:1fr 1fr;gap:24px}.footer-social{margin-top:10px}/* Post tables - mobile layout */ .post-table thead{display:none}.post-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;padding:12px 16px}/* Post name takes full width */ .post-table tbody td:first-child{flex:0 0 100%;padding:0 0 4px 0;text-align:left !important}/* Vacancy and Status sit side by side */ .post-table tbody td{display:inline-block;padding:2px 8px 2px 0;text-align:left !important}/* Content tables inside posts - horizontal scroll only if needed */ .post-section .section-content{overflow-x:auto;-webkit-overflow-scrolling:touch}/* Single post page */ .post-single{padding:14px}.post-single h1{font-size:1.2rem}.post-meta-bar{flex-direction:column;align-items:flex-start;padding:12px 14px}.post-meta-left{gap:10px}.meta-chip{font-size:0.75rem;padding:4px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.toc-box{margin-bottom:16px}.toc-header{padding:12px 14px}.toc-title{font-size:0.92rem}.toc-list{padding:0 14px 12px 30px}.toc-list li{font-size:0.85rem;padding:6px 0}.sc-row{padding:12px 14px;font-size:0.82rem}.latest-jobs-box{padding:12px 14px}.rec-books{padding:12px}.rec-essentials{padding:12px}.rec-module{padding:12px}.rec-books-top{flex-direction:column;align-items:flex-start;gap:6px}.rec-books-scroll{grid-template-columns:repeat(2, 1fr)}.ep-books-grid{grid-template-columns:1fr}.ep-search-form{flex-direction:column}.ep-search-btn{width:100%}.rec-book-card{padding:8px}.rec-book-img{height:130px}.rec-book-img img{max-height:130px}.ljb-list li a{padding:8px 10px;font-size:0.78rem}.ljb-arrow{width:20px;height:20px;min-width:20px;font-size:0.8rem}.fab-widget{bottom:16px;right:16px}.fab-trigger{padding:7px 12px 7px 9px;font-size:0.65rem}.fab-link{width:42px;height:42px}/* Search form */ .search-form-wrap{flex-direction:column}/* Page intro */ .page-intro{padding:20px}.page-intro h1{font-size:1.3rem}.container{padding:12px}/* Share buttons */ .share-section{justify-content:center}.share-circle{width:36px;height:36px}.share-circle svg{width:18px;height:18px}/* Breadcrumb */ .breadcrumb{font-size:0.8rem;gap:4px}/* Card header */ .card-header{font-size:0.95rem;padding:12px 16px}/* Pagination */ .pagination a, .pagination span{min-width:36px;height:36px;padding:0 8px;font-size:0.82rem}/* Admin responsive */ .admin-layout{grid-template-columns:1fr}.admin-sidebar{display:none}.stats-grid{grid-template-columns:1fr 1fr}.admin-table{font-size:0.82rem}.admin-table th, .admin-table td{padding:8px 10px}}@media (max-width:480px){.footer-content{grid-template-columns:1fr}.site-logo{font-size:1.15rem}.site-logo .logo-icon{width:34px;height:34px;font-size:1rem}.site-logo small{font-size:0.55rem}.author-box{flex-direction:column;align-items:center;text-align:center;padding:20px 16px}.author-avatar{width:56px;height:56px;min-width:56px;font-size:1rem}.about-hero{flex-direction:column;text-align:center;padding:20px 16px}.author-avatar-lg{width:70px;height:70px;min-width:70px}.contact-card{flex-direction:column;text-align:center;padding:20px 16px}.contact-icon{width:52px;height:52px;min-width:52px}.contact-email{font-size:1rem}.post-table .post-name{font-size:0.88rem}.badge-vacancy{font-size:0.62rem;padding:1px 6px}.ticker-content{padding:0 12px}.ticker-items a{font-size:0.78rem}.stats-grid{grid-template-columns:1fr}.stat-card .number{font-size:1.5rem}.btn{padding:6px 14px;font-size:0.8rem}}/* ─── ADMIN STYLES ─── */.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:var(--primary-dark);color:#fff;padding:20px 0}.admin-sidebar .brand{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:10px}.admin-sidebar .brand h2{font-size:1.1rem}.admin-sidebar .brand small{opacity:0.6;font-size:0.75rem}.admin-nav{list-style:none}.admin-nav li a{display:flex;align-items:center;gap:12px;padding:12px 24px;color:rgba(255,255,255,0.7);font-size:0.9rem;transition:all 0.2s}.admin-nav li a:hover, .admin-nav li a.active{background:rgba(255,255,255,0.1);color:#fff;border-left:3px solid var(--accent)}.admin-main{padding:24px;background:var(--bg)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-header h1{font-size:1.5rem;font-weight:700}.admin-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px;margin-bottom:24px}.stat-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;text-align:center;border-left:4px solid var(--primary)}.stat-card .number{font-size:2rem;font-weight:800;color:var(--primary)}.stat-card .label{font-size:0.85rem;color:var(--text-light);margin-top:4px}.stat-card:nth-child(2){border-left-color:var(--success)}.stat-card:nth-child(2) .number{color:var(--success)}.stat-card:nth-child(3){border-left-color:var(--accent)}.stat-card:nth-child(3) .number{color:var(--accent)}.stat-card:nth-child(4){border-left-color:var(--danger)}.stat-card:nth-child(4) .number{color:var(--danger)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:#f0f4ff;padding:12px 16px;text-align:left;font-size:0.82rem;font-weight:700;color:var(--text-light);text-transform:uppercase}.admin-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:0.9rem}.admin-table tr:hover{background:#fafbff}/* Buttons */.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius-sm);font-size:0.85rem;font-weight:600;cursor:pointer;border:none;transition:all 0.2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:5px 12px;font-size:0.8rem}/* Forms */.form-group{margin-bottom:16px}.form-group label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:6px;color:var(--text)}.form-control{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:0.9rem;transition:border-color 0.2s;font-family:var(--font)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,35,126,0.1)}textarea.form-control{min-height:120px;resize:vertical}/* Login Page */.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, var(--primary-dark), var(--primary))}.login-card{background:#fff;padding:40px;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:400px;max-width:90%}.login-card h1{text-align:center;color:var(--primary);margin-bottom:24px;font-size:1.4rem}.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:0.88rem}.alert-error{background:#fbe9e7;color:var(--danger);border:1px solid #ffcdd2}.alert-success{background:#e8f5e9;color:var(--success);border:1px solid #c8e6c9}/* Featured Image */.post-featured-image{width:100%;height:auto;border-radius:var(--radius);margin-bottom:20px}/* ─── TABLE OF CONTENTS ─── */.toc-box{background:#f8f9fb;border:1px solid #e2e8f0;border-left:4px solid var(--primary);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.toc-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;user-select:none;transition:background 0.2s}.toc-header:hover{background:#eef0f5}.toc-title{font-size:1rem;font-weight:700;color:var(--primary)}.toc-toggle{color:var(--primary);display:flex;align-items:center}.toc-collapsed .toc-icon-minus{display:none}.toc-collapsed .toc-icon-plus{display:inline}.toc-icon-plus{display:none}.toc-list{padding:0 18px 16px 36px;margin:0;list-style:decimal;counter-reset:toc;transition:max-height 0.3s ease, opacity 0.3s ease}.toc-collapsed .toc-list{max-height:0;opacity:0;padding-top:0;padding-bottom:0;overflow:hidden}.toc-expanded .toc-list{max-height:none;opacity:1;padding-top:0;padding-bottom:16px;overflow:visible}.toc-expanded .toc-icon-minus{display:inline}.toc-expanded .toc-icon-plus{display:none}/* Auto-collapse TOC on mobile (replaces JS forced reflow) */@media (max-width:1023px){.toc-box:not(.toc-expanded) .toc-icon-minus{display:none}.toc-box:not(.toc-expanded) .toc-icon-plus{display:inline}.toc-box:not(.toc-expanded) .toc-list{max-height:0;opacity:0;padding-top:0;padding-bottom:0;overflow:hidden}}.toc-list li{padding:7px 0;border-bottom:1px dashed #e2e8f0;font-size:0.9rem;line-height:1.5}.toc-list li:last-child{border-bottom:none}.toc-list li a{color:var(--text);text-decoration:none;transition:color 0.2s, padding-left 0.2s}.toc-list li a:hover{color:var(--primary);padding-left:4px}/* Smooth scroll offset for TOC anchors */[id^="section-"]{scroll-margin-top:20px}/* ─── AUTHOR BOX ─── */.author-box{display:flex;gap:18px;padding:24px;margin:28px 0 20px;background:#f8f9fb;border:1px solid #e2e8f0;border-radius:var(--radius)}.author-avatar{width:60px;height:60px;min-width:60px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;letter-spacing:1px}.author-info{flex:1}.author-name{font-size:1.05rem;font-weight:700;color:var(--text);text-decoration:none}.author-name:hover{color:var(--primary)}.author-role{font-size:0.82rem;color:var(--text-light);margin:2px 0 10px}.author-bio{font-size:0.88rem;color:#555;line-height:1.7;margin:0}/* ─── PREPARATION RESOURCES WRAPPER ─── */.prep-resources-wrapper{margin:12px 0}.prep-resources-h2{background:var(--primary);color:#fff;padding:10px 18px;font-size:0.95rem;font-weight:700;border-radius:var(--radius-sm);margin:0 0 10px}/* ─── RECOMMENDED BOOKS ─── */.rec-books{margin:8px 0;padding:16px;background:#fdf6ec;border:1px solid #f0e0c0;border-radius:10px}.rec-books-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e8a735}.rec-books-header{font-size:0.95rem;font-weight:700;color:#7a5a00;margin:0}.rec-see-all{font-size:0.78rem;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap}.rec-see-all:hover{text-decoration:underline}.rec-books-scroll{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:12px}.rec-book-card{scroll-snap-align:start;background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:10px;text-decoration:none;color:var(--text);transition:border-color 0.2s, box-shadow 0.2s;display:flex;flex-direction:column}.rec-book-card:hover{border-color:#e8a735;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.rec-book-img{height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.rec-book-img img{max-width:100%;max-height:160px;object-fit:contain;border-radius:4px}.rec-book-title{font-size:0.75rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.rec-book-stars{display:flex;align-items:center;gap:4px;font-size:0.7rem;margin-bottom:4px}.rec-book-stars .stars{color:#e8a735}.rec-book-stars .count{color:#595959;font-size:0.65rem}.rec-book-price{font-size:0.8rem;font-weight:700;color:#b12704;margin-top:auto}.rec-buy-btn{display:block;text-align:center;padding:5px 0;margin-top:6px;background:#f0c040;color:#111;border-radius:4px;font-size:0.7rem;font-weight:700}.rec-book-card:hover .rec-buy-btn{background:#e8b030}/* ─── LATEST JOBS BOX ─── */.latest-jobs-box{background:#fdf6ec;border:1px solid #f0e0c0;border-radius:12px;padding:14px 18px;margin:8px 0}.ljb-header{font-size:0.95rem;font-weight:700;color:#7a5a00;margin-bottom:10px}.ljb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.ljb-list li a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f0e0c0;border-radius:8px;padding:9px 12px;text-decoration:none;color:var(--text);font-size:0.82rem;transition:border-color 0.2s}.ljb-list li a:hover{border-color:#d4a44a}.ljb-arrow{display:flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;background:#e8a735;color:#fff;border-radius:5px;font-size:0.85rem;font-weight:700}/* ─── FLOATING JOB ALERTS WIDGET ─── */.fab-widget{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab-trigger{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg, #ff6b35, #e91e63);color:#fff;border:none;border-radius:24px;padding:8px 14px 8px 10px;cursor:pointer;font-size:0.7rem;font-weight:500;line-height:1.15;white-space:nowrap;box-shadow:0 4px 16px rgba(233,30,99,0.4);transition:transform 0.2s, box-shadow 0.2s;animation:fab-pulse 2.5s infinite}.fab-trigger span{display:inline}.fab-trigger .fab-bell{width:16px;height:16px;min-width:16px}.fab-trigger:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(233,30,99,0.5)}@keyframes fab-pulse{0%, 100%{box-shadow:0 4px 16px rgba(233,30,99,0.4)}50%{box-shadow:0 4px 24px rgba(233,30,99,0.6)}}.fab-open .fab-trigger{animation:none}.fab-panel{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:12px;box-shadow:0 4px 24px rgba(0,0,0,0.15);opacity:0;transform:translateY(10px) scale(0.9);pointer-events:none;transition:opacity 0.25s, transform 0.25s}.fab-open .fab-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.fab-close{background:none;border:none;color:#999;font-size:0.85rem;cursor:pointer;padding:0;align-self:flex-end;margin:-4px -2px 0 0;line-height:1}.fab-close:hover{color:#333}.fab-link{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.15)}.fab-link:hover{transform:scale(1.12)}/* ─── SOCIAL CHANNELS ─── */.social-channels{display:flex;flex-direction:column;gap:8px}.sc-row{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:8px;color:#fff;font-weight:700;font-size:0.92rem;text-decoration:none;transition:opacity 0.2s, transform 0.2s}.sc-row:hover{opacity:0.9;transform:translateX(4px)}.sc-icon{display:inline-flex;align-items:center}.sc-row[data-platform="whatsapp"]{background:#25D366}.sc-row[data-platform="telegram"]{background:#0088cc}.sc-row[data-platform="youtube"]{background:#FF0000}.sc-row[data-platform="threads"]{background:#000000}/* ─── EXAM ESSENTIALS ─── */.rec-essentials{margin:8px 0;padding:16px;background:#f0f7ee;border:1px solid #c8e0c0;border-radius:10px}.rec-ess-header{font-size:0.95rem;font-weight:700;color:#3d7a2a;margin:0}.rec-essentials .rec-books-top{border-bottom-color:#6ab04c}/* ─── GENERIC MODULE SECTIONS ─── */.rec-module{margin:8px 0;padding:16px;border-radius:10px}.rec-mod-header{font-size:0.95rem;font-weight:700;margin:0}/* Blue - Mock Tests */.rec-mod-blue{background:#edf4ff;border:1px solid #c0d6f0}.rec-mod-h-blue{color:#1a56a0}.rec-mod-blue .rec-books-top{border-bottom-color:#4a90d9}/* Purple - Video Courses */.rec-mod-purple{background:#f3eeff;border:1px solid #d4c4f0}.rec-mod-h-purple{color:#6a3ea1}.rec-mod-purple .rec-books-top{border-bottom-color:#8b6cc1}/* Red - Live Classes */.rec-mod-red{background:#fff0f0;border:1px solid #f0c0c0}.rec-mod-h-red{color:#c0392b}.rec-mod-red .rec-books-top{border-bottom-color:#e74c3c}.rec-provider{font-size:0.68rem;color:#666;margin-bottom:3px}.rec-badge{position:absolute;top:6px;right:6px;background:#b71c1c;color:#fff;font-size:0.6rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:0.3px}.rec-book-card{position:relative}/* ─── EXAM PREPARATION PAGE ─── */.ep-books-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:16px}.ep-book-card{display:flex;gap:14px;background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:14px;text-decoration:none;color:var(--text);transition:border-color 0.2s, box-shadow 0.2s}.ep-book-card:hover{border-color:#e8a735;box-shadow:0 3px 12px rgba(0,0,0,0.08)}.ep-book-img{width:80px;min-width:80px}.ep-book-img img{width:100%;height:auto;border-radius:4px}.ep-book-info{display:flex;flex-direction:column}.ep-book-title{font-size:0.88rem;font-weight:700;line-height:1.3;margin-bottom:2px}.ep-book-author{font-size:0.78rem;color:var(--text-light);margin-bottom:6px}.ep-book-stars{display:flex;align-items:center;gap:4px;font-size:0.75rem;margin-bottom:6px}.ep-book-stars .stars{color:#e8a735}.ep-book-stars .count{color:#595959}.ep-book-price{font-size:0.88rem;font-weight:700;color:#b12704;margin-bottom:8px}.ep-buy-btn{display:inline-block;padding:5px 14px;background:#f0c040;color:#111;border-radius:20px;font-size:0.75rem;font-weight:700;margin-top:auto;align-self:flex-start}.ep-book-card:hover .ep-buy-btn{background:#e8b030}.ep-book-card{position:relative}.ep-badge{position:absolute;top:8px;left:8px;background:#b71c1c;color:#fff;font-size:0.65rem;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:0.3px;z-index:1}/* Search form */.ep-search-form{display:flex;gap:8px;margin-bottom:16px}.ep-search-input{flex:1;padding:9px 14px;border:1px solid #ddd;border-radius:8px;font-size:0.88rem;outline:none;transition:border-color 0.2s}.ep-search-input:focus{border-color:var(--primary)}.ep-search-btn{padding:9px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:0.85rem;font-weight:600;cursor:pointer}.ep-search-btn:hover{opacity:0.9}/* Pagination */.ep-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;flex-wrap:wrap}.ep-pg-btn{padding:7px 16px;background:var(--primary);color:#fff;text-decoration:none;border-radius:6px;font-size:0.82rem;font-weight:600}.ep-pg-btn:hover{opacity:0.9}.ep-pg-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;font-size:0.82rem;font-weight:600;text-decoration:none;color:var(--text);background:#f0f0f0}.ep-pg-num:hover{background:#e0e0e0}.ep-pg-num.active{background:var(--primary);color:#fff}.ep-pg-dots{color:#999;font-size:0.85rem}/* ─── CONTACT PAGE ─── */.contact-intro{font-size:0.95rem;color:var(--text-light);line-height:1.7;margin-bottom:24px}.contact-intro p{margin:0}.contact-card{display:flex;align-items:center;gap:20px;padding:28px 30px;background:linear-gradient(135deg, #f0f2ff, #f8f9fb);border:1px solid #e2e8f0;border-radius:var(--radius);margin-bottom:28px}.contact-icon{width:60px;height:60px;min-width:60px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.contact-label{display:block;font-size:0.82rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}.contact-email{font-size:1.15rem;font-weight:700;color:var(--primary);text-decoration:none}.contact-email:hover{text-decoration:underline}/* ─── ABOUT PAGE ─── */.about-hero{display:flex;align-items:center;gap:20px;padding:24px;margin-bottom:24px;background:linear-gradient(135deg, #f0f2ff, #f8f9fb);border-radius:var(--radius);border:1px solid #e2e8f0}.author-avatar-lg{width:80px;height:80px;min-width:80px;font-size:1.4rem}.about-team-name{background:none !important;color:var(--text) !important;padding:0 !important;font-size:1.3rem !important;margin:0 0 4px !important;border-radius:0 !important}.about-team-role{font-size:0.9rem;color:var(--text-light);margin:0}/* ─── DISCLAIMER BOX ─── */.disclaimer-box{background:#fffbf0;border:1px solid #ffe0b2;border-left:4px solid #e65100;border-radius:var(--radius);padding:18px 22px;margin-bottom:10px}.disclaimer-box p{font-size:0.85rem;line-height:1.75;color:#555;margin:0}.disclaimer-box strong{color:#c62828;font-size:0.88rem}.disclaimer-box a{color:var(--primary);text-decoration:underline}/* ─── UPDATE HISTORY BOX ─── */.update-history-box{background:#f8f9fb;border:1px solid #e2e8f0;border-left:3px solid #0288d1;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 14px;margin-bottom:16px}.uh-title{font-size:0.75rem;font-weight:700;color:#0288d1;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:5px}.uh-item{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:0.82rem;line-height:1.4;border-bottom:1px dashed #e2e8f0}.uh-item:last-child{border-bottom:none;padding-bottom:0}.uh-date{font-weight:600;color:#334155;white-space:nowrap;flex-shrink:0}.uh-text{color:#64748b}/* Share buttons */.share-section{display:flex;align-items:center;gap:14px;margin:24px 0;flex-wrap:wrap}.share-label{font-size:0.9rem;color:var(--text)}.share-icons{display:flex;gap:10px}.share-circle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;transition:transform 0.2s, opacity 0.2s}.share-circle svg{width:20px;height:20px}.share-circle:hover{transform:scale(1.1);opacity:0.85;color:#fff}.share-circle.facebook{background:#1877f2}.share-circle.whatsapp{background:#25d366}.share-circle.twitter{background:#1da1f2}.share-circle.linkedin{background:#0a66c2}.share-circle.pinterest{background:#e60023}/* FAQ Section */.faq-list{display:flex;flex-direction:column;gap:12px}.faq-item{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:14px 16px}.faq-question{color:var(--primary);margin-bottom:6px}.faq-answer{color:#444;font-size:0.92rem;line-height:1.6}.faq-answer p{margin:0}/* Homepage Hero */.home-hero{background:var(--primary);color:#fff;padding:20px 24px;border-radius:var(--radius-sm);margin-bottom:24px}.home-hero h1{font-size:1.15rem;font-weight:700;margin:0 0 8px}.home-hero p{font-size:0.88rem;line-height:1.6;margin:0;opacity:0.92}/* Homepage Box H2 */.home-box-h2{font-size:inherit;font-weight:inherit;margin:0;display:inline}/* Homepage SEO Content */.home-seo-content{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:24px;margin-bottom:24px}.home-seo-content h2{background:var(--primary);color:#fff;padding:10px 18px;font-size:0.95rem;font-weight:700;border-radius:var(--radius-sm);margin:20px 0 12px}.home-seo-content h2:first-child{margin-top:0}.home-seo-content p{font-size:0.9rem;line-height:1.7;color:#444;margin:0 0 10px}.home-seo-content .faq-list{margin-top:4px}/* SEO Quick Links (landing pages) */.seo-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.seo-quick-link{display:inline-block;padding:8px 16px;background:#f0f4ff;color:var(--primary);border:1px solid #c5cee8;border-radius:20px;font-size:0.85rem;font-weight:500;text-decoration:none !important;transition:all 0.2s}.seo-quick-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}/* ==================== AD SLOTS ==================== */.ad-slot{text-align:center;margin:16px 0;overflow:hidden;clear:both}.ad-slot ins{max-width:100%}.ad-below_header{margin:12px auto;max-width:728px}.ad-in_feed{margin:8px 0}.ad-post_after_intro{margin:20px 0}.ad-post_mid_content{margin:20px 0}.ad-post_before_links{margin:20px 0}.ad-pre_footer{margin:20px auto;max-width:728px}/* Sidebar sticky ad */.sidebar-sticky-ad .ad-slot{margin:0}/* Mobile sticky bottom */.mobile-sticky-ad{display:none}@media (max-width:768px){.mobile-sticky-ad{display:block;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,0.1)}.mobile-sticky-ad .ad-slot{margin:0}/* Push fab widget above sticky ad with safe gap */ .mobile-sticky-ad ~ .fab-widget, body:has(.mobile-sticky-ad) .fab-widget{bottom:90px}}.mobile-sticky-close{position:absolute;top:-22px;right:8px;width:22px;height:22px;border-radius:50%;background:#6b7280;color:#fff;border:2px solid #fff;font-size:0.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,0.2);z-index:1}/* Desktop-only / Mobile-only helpers */.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none !important}.mobile-only{display:block !important}}/* ==================== APP INSTALL BANNER ==================== */.app-banner{display:none;/* shown only on mobile */ align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #e5e7eb;position:relative;z-index:100}@media (max-width:768px){.app-banner{display:flex}}.app-banner-close{flex-shrink:0;order:4;background:none;border:none;font-size:1.4rem;color:#9ca3af;cursor:pointer;line-height:1;padding:0 0 0 6px}.app-banner-icon{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid #e5e7eb}.app-banner-icon-placeholder{width:40px;height:40px;border-radius:10px;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0}.app-banner-info{flex:1;min-width:0}.app-banner-info strong{display:block;font-size:0.85rem;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-banner-info small{display:block;font-size:0.72rem;color:#6b7280}.app-banner-btn{flex-shrink:0;padding:7px 16px;background:#4f46e5;color:#fff !important;border-radius:6px;font-size:0.8rem;font-weight:600;text-decoration:none !important;white-space:nowrap}.app-banner-btn:hover{background:#4338ca}/* In-feed ad row inside tables */.ad-feed-row td{padding:0 !important;border:none !important;background:#f9fafb !important}.ad-feed-row .ad-slot{margin:8px 0}
/* ═══════════════════════════════════════════════════
   HOMEPAGE REDESIGN — 3-column grid, unified red theme
   ═══════════════════════════════════════════════════ */

/* ── Header: flat dark-red bar (matches reference) ── */
.site-header {
    background: var(--primary-dark) !important;
    background: linear-gradient(180deg, var(--primary-dark) 0%, var(--primary-dark) 100%) !important;
}
.main-nav { background: #0d1452 !important; }
.nav-list li a:hover,
.nav-list li a.active {
    background: rgba(255,255,255,0.12) !important;
    border-bottom-color: var(--accent) !important;
}
.ticker-bar { background: var(--primary-dark) !important; }
.ticker-label { background:#fff; color: var(--primary-dark) !important; }

/* ── Homepage 3-column boxes grid ── */
.home-boxes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}
@media (max-width: 900px) {
    .home-boxes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .home-boxes-grid { grid-template-columns: 1fr; }
}

/* ── Each box card ── */
.home-box-card {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
    display: flex;
    flex-direction: column;
}

/* ── Box header — all same primary red ── */
.home-box-card .card-header {
    background: var(--primary) !important;
    color: #fff;
    padding: 10px 14px;
    font-size: 0.95rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0;
}
.home-box-card .card-header a {
    color: #fff !important;
    text-decoration: none;
}
.home-box-card .card-header .box-count {
    font-size: 0.8rem;
    font-weight: 600;
    opacity: 0.85;
    background: rgba(255,255,255,0.18);
    padding: 2px 8px;
    border-radius: 12px;
}

/* ── Box body — compact list ── */
.home-box-card .card-body {
    padding: 0;
    flex: 1;
}
.home-box-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.home-box-list li {
    border-bottom: 1px solid #f0f0f0;
    padding: 0;
}
.home-box-list li:last-child { border-bottom: none; }
.home-box-list li a {
    display: block;
    padding: 8px 12px;
    font-size: 0.82rem;
    color: #0000ef;
    line-height: 1.45;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.home-box-list li a:hover {
    background: #fff5f5;
    color: var(--primary);
    text-decoration: none;
}
/* Bullet arrow */
.home-box-list li a::before {
    content: '▸ ';
    color: var(--primary);
    font-size: 0.75rem;
}

/* ── View More link at bottom of each box ── */
.home-box-view-more {
    display: block;
    text-align: center;
    padding: 9px 12px;
    background: #fafafa;
    border-top: 1px solid #eee;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--primary) !important;
    text-decoration: none !important;
    letter-spacing: 0.3px;
    transition: background 0.15s;
}
.home-box-view-more:hover {
    background: #fff0f0;
    color: var(--primary-dark) !important;
}

/* ── Inline badge inside list (vacancy / deadline) ── */
.home-box-list .hbl-badge {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    margin-left: 4px;
    vertical-align: middle;
    white-space: nowrap;
}
.hbl-out   { background: #e53935; color: #fff; }
.hbl-avail { background: #2e7d32; color: #fff; }
.hbl-open  { background: #1565c0; color: #fff; }

/* ── Hero banner ── */
.home-hero {
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
    color: #fff;
    padding: 18px 22px;
    border-radius: 6px;
    margin-bottom: 20px;
}
.home-hero h1 { font-size: 1.1rem; font-weight: 800; margin: 0 0 6px; }
.home-hero p  { font-size: 0.85rem; margin: 0; opacity: 0.92; line-height: 1.6; }

/* ── Last Date Today card stays red ── */
.ldt-card .card-header { background: var(--primary) !important; }.ldt-card.today-posts-card .card-header { background: linear-gradient(135deg,#166534,#15803d) !important; }

/* ── SEO content h2 stays red ── */
.home-seo-content h2 { background: var(--primary); }

/* ── Footer accent border stays gold ── */
.footer-heading { border-bottom-color: var(--accent); }

/* ── Scrollbar on box body if needed ── */
.home-box-body-scroll {
    max-height: 340px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}
.home-box-body-scroll::-webkit-scrollbar { width: 4px; }
.home-box-body-scroll::-webkit-scrollbar-thumb { background: #ddd; border-radius: 4px; }

/* ═══════════════════════════════════════════════════
   SIDEBAR MOVED TO BOTTOM — layout rules
   ═══════════════════════════════════════════════════ */

/* Full-width single-column layout at all breakpoints */
.main-grid {
    grid-template-columns: 1fr !important;
}

/* Sidebar sits below main content naturally via DOM order.
   At bottom, lay its cards out in a responsive multi-column grid
   so the space is used well on wide screens. */
.sidebar {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    align-items: start;
}

/* Each card inside the sidebar grid should not add its own bottom margin
   since the grid gap handles spacing */
.sidebar .card {
    margin-bottom: 0 !important;
    position: static !important;
}

/* On narrow screens collapse the sidebar grid to a single column */
@media (max-width: 640px) {
    .sidebar {
        grid-template-columns: 1fr;
    }
}

/* Remove the old 1024px breakpoint override that set grid to 1fr
   (now the default everywhere — the rule is harmless but kept for safety) */

/* ── Google Blue for all content hyperlinks ── */
p a,
.faq-answer a,
.home-seo-content p a,
.post-section .section-content a,
.post-single .section-content a,
.disclaimer-box a,
.toc-list li a,
.sidebar .recent-list li a,
.footer-links a {
    color: #0000ef !important;
}
p a:hover,
.faq-answer a:hover,
.home-seo-content p a:hover,
.post-section .section-content a:hover,
.disclaimer-box a:hover {
    color: #0000cc !important;
}
/* Underline decoration colour to match */
p a, .faq-answer a, .home-seo-content p a {
    text-decoration-color: rgba(26,115,232,0.4) !important;
}
p a:hover, .faq-answer a:hover {
    text-decoration-color: rgba(26,115,232,0.8) !important;
}

/* ── Post/content link colors → Google Blue everywhere ── */
.post-table .post-name a,
.home-box-list li a,
.ldt-card .post-table .ldt-title a {
    color: #0000ef !important;
}
.post-table .post-name a:hover,
.home-box-list li a:hover,
.ldt-card .post-table .ldt-title a:hover {
    color: #0000cc !important;
}

/* ── Sidebar recent list — keep dark text on white bg ── */
.sidebar .recent-list li a {
    color: #0000ef !important;
}
.sidebar .recent-list li a:hover {
    color: #0000cc !important;
}

/* ── Footer links — white on dark background ── */
.footer-links a {
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
}
.footer-links a:hover {
    color: #ffc107 !important;
}

/* ── mobile-sec-nav matches main-nav dark blue ── */
.mobile-sec-nav { background: #0d1452 !important; }

/* ── Hero / Intro moved below post listing ── */
/* Remove top margin so it flows straight after the boxes */
.home-hero {
    margin-top: 0 !important;
    border-radius: 6px;
}
/* page-intro at bottom: slightly less dramatic, flows into SEO content */
.page-intro {
    border-radius: 6px;
}

/* ═══════════════════════════════════════════════════
   NEW HEADER — Brand bar + nav bar
   ═══════════════════════════════════════════════════ */

/* Reset old header styles */
.site-header {
    background: none !important;
    box-shadow: none !important;
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* ── Brand bar: full-width solid red ── */
.site-brand-bar {
    background: var(--primary);
    text-align: center;
    padding: 18px 20px 16px;
}
.site-brand-link {
    display: inline-block;
    text-decoration: none !important;
    color: #fff !important;
}
.site-brand-name {
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1.1;
    color: #fff;
}
.site-brand-domain {
    font-size: clamp(0.7rem, 1.5vw, 0.9rem);
    font-weight: 400;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.85);
    margin-top: 3px;
}

/* ── Nav bar: dark blue, flex row ── */
.main-nav {
    background: #0d1452 !important;
    border-top: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.nav-inner {
    display: flex;
    align-items: center;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 10px;
    gap: 4px;
}
.nav-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
}
.nav-list::-webkit-scrollbar { display: none; }
.nav-list li a {
    display: block;
    color: rgba(255,255,255,0.88) !important;
    padding: 13px 11px;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    text-decoration: none !important;
}
.nav-list li a:hover,
.nav-list li a.active {
    color: #fff !important;
    background: rgba(255,255,255,0.1);
    border-bottom-color: var(--accent);
}

/* ── Nav search (desktop) ── */
.nav-search {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,0.12);
    border-radius: 50px;
    padding: 3px 4px 3px 14px;
    border: 1px solid rgba(255,255,255,0.2);
    margin-left: 12px;
    flex-shrink: 0;
    transition: background 0.3s;
}
.nav-search:focus-within {
    background: rgba(255,255,255,0.22);
    border-color: var(--accent);
}
.nav-search input {
    background: none;
    border: none;
    outline: none;
    color: #fff;
    font-size: 0.82rem;
    width: 160px;
    padding: 5px 0;
}
.nav-search input::placeholder { color: rgba(255,255,255,0.55); }
.nav-search button {
    background: var(--primary);
    border: none;
    color: #fff;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}
.nav-search button:hover { background: var(--primary-dark); }

/* ── Hamburger (mobile) ── */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 8px;
    margin-left: 8px;
    flex-shrink: 0;
}

/* ── Mobile nav open state ── */
.main-nav.open .nav-list {
    flex-direction: column;
    overflow: visible;
}
.main-nav.open .nav-list li a {
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    border-right: none;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .nav-search { display: none; }
}
@media (max-width: 768px) {
    .mobile-menu-btn { display: flex; align-items: center; }
    .nav-inner { flex-wrap: wrap; padding: 0; }
    .nav-list {
        display: none;
        width: 100%;
        flex-direction: column;
        overflow: visible;
        order: 3;
    }
    .main-nav.open .nav-list { display: flex; }
    .mobile-menu-btn { order: 2; margin-left: auto; padding: 12px 16px; }

}

/* ── Hide old header-top (no longer in DOM but safety rule) ── */
.header-top { display: none !important; }

/* ═══════════════════════════════════════════════════
   SEO CONTENT SECTION — lighter, less boxy H2s
   ═══════════════════════════════════════════════════ */
.home-seo-content {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-top: 8px !important;
}
.home-seo-content h2 {
    background: none !important;
    color: var(--primary) !important;
    padding: 0 0 6px 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
    border-bottom: 2px solid var(--primary) !important;
    margin: 20px 0 10px !important;
}
.home-seo-content h2:first-child { margin-top: 0 !important; }
.home-seo-content p {
    font-size: 0.88rem !important;
    line-height: 1.7 !important;
    color: #444 !important;
    margin: 0 0 8px !important;
}
/* Also fix page.php's home-seo-content used on landing pages */
.home-seo-content .faq-list { margin-top: 8px; }

/* Mobile brand link in nav bar */
.nav-mobile-brand {
    display: none;
    color: #fff !important;
    font-weight: 800;
    font-size: 0.92rem;
    text-decoration: none !important;
    padding: 12px 16px;
    order: 1;
    flex: 1;
    letter-spacing: 0.5px;
}
@media (max-width: 768px) {
    .nav-mobile-brand { display: block; }
    /* Hide the big brand bar on mobile since nav shows the name */
    .site-brand-bar { padding: 12px 16px 10px; }
    .site-brand-name { font-size: 1.4rem; letter-spacing: 1px; }
}

/* ═══════════════════════════════════════════════════
   NAV MOBILE FIX — restructured two-row layout
   ═══════════════════════════════════════════════════ */

/* Mobile top row (brand + hamburger) — hidden on desktop */
.nav-mobile-row {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 0 16px;
    background: #0d1452;
}

/* Desktop: nav-inner is the only row — flex, full width */
.nav-inner {
    display: flex !important;
    align-items: center;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 16px;
    width: 100%;
}

@media (max-width: 768px) {

    /* Show the mobile top row */
    .nav-mobile-row { display: flex; }

    /* Hide the old hamburger inside nav-inner (now in mobile row) */
    .nav-inner .mobile-menu-btn { display: none !important; }

    /* nav-inner collapses to 0 height by default on mobile */
    .nav-inner {
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        max-width: 100%;
    }

    /* When nav is open, show nav-inner as a full-width dropdown */
    .main-nav.open .nav-inner {
        display: flex !important;
    }

    /* Nav list: vertical stack */
    .nav-list {
        flex-direction: column !important;
        display: flex !important;
        overflow: visible !important;
        width: 100%;
    }
    .nav-list li a {
        padding: 13px 20px !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
        border-right: none !important;
        font-size: 0.92rem !important;
    }

    /* Search bar below nav links on mobile */
    .nav-search {
        display: flex !important;
        margin: 10px 16px 12px !important;
        width: auto !important;
    }
    .nav-search input { width: 100% !important; }
}

/* ═══════════════════════════════════════════════════
   DEFINITIVE OVERRIDES — mobile nav + footer links
   These rules come last so they win all conflicts.
   ═══════════════════════════════════════════════════ */

/* ── Mobile nav: brand bar always visible, nav-inner hidden until open ── */
.site-header { position: sticky; top: 0; z-index: 1000; }

/* Desktop: always show nav-inner, hide mobile row */
.nav-mobile-row { display: none; }
.nav-inner       { display: flex !important; }

@media (max-width: 768px) {
    /* Show mobile top row (brand + hamburger) */
    .nav-mobile-row {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        background: #0d1452;
        padding: 0 4px 0 16px;
    }
    .nav-mobile-brand {
        color: #fff !important;
        font-weight: 800;
        font-size: 0.95rem;
        text-decoration: none !important;
        padding: 12px 0;
        letter-spacing: 0.5px;
    }
    .mobile-menu-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.12);
        border: none;
        color: #fff;
        font-size: 1.4rem;
        cursor: pointer;
        padding: 10px 16px;
        margin: 6px;
        border-radius: 4px;
    }

    /* nav-inner: hidden by default, shown when .open added to nav */
    .nav-inner {
        display: none !important;
        flex-direction: column !important;
        width: 100%;
        background: #0d1452;
        padding: 0 !important;
    }
    .main-nav.open .nav-inner {
        display: flex !important;
    }

    /* Nav list: vertical stack */
    .nav-list {
        flex-direction: column !important;
        width: 100%;
        overflow: visible !important;
    }
    .nav-list li { width: 100%; }
    .nav-list li a {
        padding: 13px 20px !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
        border-right: none !important;
        font-size: 0.9rem !important;
        display: block !important;
    }

    /* Search inside open menu */
    .nav-search {
        display: flex !important;
        margin: 10px 16px 14px !important;
        width: calc(100% - 32px) !important;
        border-radius: 6px;
    }
    .nav-search input { width: 100% !important; }
}

/* ── Footer links: always white on dark background ── */
.site-footer .footer-links a,
.site-footer .footer-links a:visited {
    color: rgba(255,255,255,0.82) !important;
    text-decoration: none !important;
}
.site-footer .footer-links a:hover {
    color: #ffc107 !important;
    padding-left: 4px;
}

/* ── Footer responsive ── */
@media (max-width: 768px) {
    .footer-content { grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
}
@media (max-width: 480px) {
    .footer-content { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════
   MOBILE-SEC-NAV WITH HAMBURGER
   ═══════════════════════════════════════════════════ */

/* mobile-sec-nav: always visible on mobile, flex row */
.mobile-sec-nav {
    display: none;
    background: #0d1452 !important;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    position: sticky;
    top: 0;          /* sticks below brand bar once brand scrolls away */
    z-index: 999;
}

/* scrollable links area takes all available space */
.msn-links {
    display: flex;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.msn-links::-webkit-scrollbar { display: none; }

.msn-links a {
    display: inline-block;
    color: rgba(255,255,255,0.88) !important;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 11px 14px;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s;
}
.msn-links a:hover,
.msn-links a.msn-active {
    background: rgba(255,255,255,0.12);
    color: #fff !important;
}

/* hamburger button on the right edge */
.msn-hamburger {
    flex-shrink: 0;
    background: rgba(255,255,255,0.12);
    border: none;
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    padding: 8px 14px;
    height: 100%;
    border-left: 1px solid rgba(255,255,255,0.15);
    transition: background 0.15s;
}
.msn-hamburger:hover { background: rgba(255,255,255,0.22); }

/* Show on mobile */
@media (max-width: 1024px) {
    .mobile-sec-nav { display: flex !important; }
}

/* nav-inner (full nav menu) hidden by default on mobile, shown when .open */
@media (max-width: 768px) {
    .nav-inner {
        display: none !important;
        flex-direction: column;
        width: 100%;
        background: #0d1452;
        padding: 0 !important;
    }
    .main-nav.open .nav-inner {
        display: flex !important;
    }
    /* nav bar itself: just a container, no height when closed */
    .main-nav {
        background: #0d1452 !important;
    }
    /* nav-mobile-row no longer exists — ensure nothing shows */
    .nav-mobile-row { display: none !important; }
    .nav-mobile-brand { display: none !important; }
    /* hide the hamburger that was inside nav-inner */
    .nav-inner .mobile-menu-btn { display: none !important; }
}

/* ═══════════════════════════════════════════════════
   GOOGLE / ROBOTO FONT APPLICATION
   ═══════════════════════════════════════════════════ */

/* Body: Roboto 400/500 — clean, neutral, highly readable */
body {
    font-family: 'Roboto', 'Segoe UI', sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.01em;
}

/* Headings & UI labels: Roboto Condensed 700 — compact, authoritative */
h1, h2, h3, h4, h5, h6,
.card-header,
.site-brand-name,
.home-box-card .card-header,
.page-intro h1,
.home-hero h1,
.post-single h1,
.footer-heading,
.nav-list li a,
.msn-links a,
.home-box-view-more,
.btn {
    font-family: 'Roboto Condensed', 'Roboto', sans-serif !important;
}

/* Card headers & nav: slightly tighter tracking like Google UI */
.card-header,
.nav-list li a,
.msn-links a {
    letter-spacing: 0.02em;
}

/* Post title links: Roboto Medium weight */
.post-table .post-name a,
.home-box-list li a,
.ldt-card .post-table .ldt-title a {
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500;
}

/* Brand bar name: bold condensed like Google product names */
.site-brand-name {
    font-family: 'Roboto Condensed', sans-serif !important;
    font-weight: 700;
    letter-spacing: 3px;
}

/* Body paragraphs: standard Roboto */
p, li, td, th, input, textarea, select, .form-control {
    font-family: 'Roboto', 'Segoe UI', sans-serif !important;
}

/* ═══════════════════════════════════════════════════
   FONT CONSISTENCY — match post-table to homepage style
   ═══════════════════════════════════════════════════ */

/* Tighten post-table rows to match homepage box list */
.post-table tbody td {
    padding: 9px 14px !important;
    vertical-align: middle;
}

/* Post title: same size and weight as homepage list items */
.post-table .post-name {
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    font-family: 'Roboto', sans-serif !important;
}
.post-table .post-name a {
    font-size: 0.86rem !important;
    font-weight: 500 !important;
    color: #0000ef !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Card header: consistent across homepage and landing pages */
.card-header {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    font-family: 'Roboto Condensed', 'Roboto', sans-serif !important;
    letter-spacing: 0.02em;
    padding: 11px 16px !important;
}

/* Badge vacancy: same sizing everywhere */
.badge-vacancy {
    font-size: 0.68rem !important;
    padding: 2px 7px !important;
    font-family: 'Roboto', sans-serif !important;
    font-weight: 700 !important;
}

/* dl-label (deadline badges): consistent */
.dl-label {
    font-size: 0.64rem !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    letter-spacing: 0.3px;
}

/* Breadcrumb: Roboto, clean */
.breadcrumb {
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.82rem !important;
}

/* View More links at bottom of boxes: consistent */
.home-box-view-more,
.post-table + div a.btn {
    font-size: 0.82rem !important;
    font-family: 'Roboto Condensed', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
}

/* ═══════════════════════════════════════════════════
   ROW SPACING — tighten to match homepage list
   ═══════════════════════════════════════════════════ */

/* Reduce row padding to match homepage ~8px */
.post-table tbody td {
    padding: 7px 14px !important;
}

/* Remove extra top margin on meta line */
.post-table .post-meta {
    margin-top: 1px !important;
    font-size: 0.75rem !important;
}

/* Deadline + vacancy badges: inline, no line break */
.post-table .post-name {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
    line-height: 1.4 !important;
}

/* The anchor itself: no extra margin */
.post-table .post-name a {
    flex-shrink: 0;
    line-height: 1.4 !important;
}

/* Badges stay inline with title, no new line */
.post-table .post-name .badge-vacancy,
.post-table .post-name .dl-label,
.post-table .post-name .badge-new {
    margin-left: 0 !important;
    flex-shrink: 0;
}

/* Remove bottom border thickness so rows feel tighter */
.post-table tbody tr {
    border-bottom: 1px solid #f0f0f0 !important;
}
.post-table tbody tr:hover {
    background: #f8f9ff !important;
}

/* ═══════════════════════════════════════════════════
   MOBILE POST-TABLE — fix row gap (definitive override)
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* Row padding: was 12px 16px — reduce to match homepage feel */
    .post-table tbody tr {
        padding: 7px 12px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 3px !important;
    }

    /* First td (post name): full width, no extra padding */
    .post-table tbody td:first-child {
        flex: 0 0 100% !important;
        padding: 0 0 2px 0 !important;
    }

    /* Other tds (vacancy, date badges): inline, tight */
    .post-table tbody td {
        display: inline-flex !important;
        align-items: center !important;
        padding: 0 6px 0 0 !important;
    }

    /* Post name font: slightly smaller on mobile */
    .post-table .post-name {
        font-size: 0.83rem !important;
        line-height: 1.4 !important;
    }

    /* Tighten border */
    .post-table tbody tr {
        border-bottom: 1px solid #efefef !important;
    }
}

/* ═══════════════════════════════════════════════════
   FIX DOUBLE MENU ON TABLET (iPad)
   — mobile-sec-nav only on phones (≤600px)
   — full nav-inner always on tablet+desktop (>600px)
   ═══════════════════════════════════════════════════ */

/* Hide mobile-sec-nav on tablet and desktop */
.mobile-sec-nav {
    display: none !important;
}

/* Only show it on small phones */
@media (max-width: 600px) {
    .mobile-sec-nav {
        display: flex !important;
    }
    /* On phones: hide the full nav-inner (only shows when .open) */
    .nav-inner {
        display: none !important;
    }
    .main-nav.open .nav-inner {
        display: flex !important;
    }
}

/* Tablet (601px–1024px): show full nav-inner, hide mobile row & hamburger */
@media (min-width: 601px) and (max-width: 1024px) {
    .nav-mobile-row   { display: none !important; }
    .nav-inner        { display: flex !important; }
    .mobile-menu-btn  { display: none !important; }
    /* Allow nav to scroll horizontally if items overflow */
    .nav-list {
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    .nav-list::-webkit-scrollbar { display: none !important; }
}

/* ═══════════════════════════════════════════════════
   H1 FIRST IN DOM, VISUALLY AFTER BOXES (SEO fix)
   — <main> becomes a flex column so we can use order
   ═══════════════════════════════════════════════════ */
.main-grid > main {
    display: flex;
    flex-direction: column;
}

/* H1 hero: first in HTML but visually after boxes */
.home-hero        { order: 2; margin-top: 0; }

/* Last Date Today card: visually first */
.ldt-card         { order: 1; }

/* Boxes grid: visually first (after LDT if present) */
.home-boxes-grid  { order: 1; }

/* In-feed ad: after boxes */
.ad-in_feed       { order: 2; }

/* SEO content + FAQs: last */
.home-seo-content { order: 3; }

/* ═══════════════════════════════════════════════════
   SIDEBAR WIDE — full-width section above footer
   ═══════════════════════════════════════════════════ */

/* Override the old sidebar multi-column grid */
.sidebar-wide {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

/* Each card */
.sw-card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.sw-card-header {
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    color: #fff;
    padding: 11px 18px;
    font-size: 0.95rem;
    font-weight: 700;
    font-family: 'Roboto Condensed', sans-serif;
    letter-spacing: 0.02em;
}

/* ── Latest Updates: 3-column post grid ── */
.sw-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.sw-post-item {
    padding: 9px 14px;
    border-bottom: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
    font-size: 0.83rem;
    line-height: 1.4;
}
.sw-post-item:nth-child(3n) { border-right: none; }
.sw-post-item:nth-last-child(-n+3) { border-bottom: none; }

.sw-post-item a {
    color: #0000ef !important;
    text-decoration: none !important;
    font-weight: 500;
    display: block;
}
.sw-post-item a:hover { color: #0000cc !important; text-decoration: underline !important; }

.sw-post-meta {
    margin-top: 3px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

/* ── Tools: 4-column grid ── */
.sw-tools-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.sw-tool {
    display: block;
    padding: 9px 14px;
    font-size: 0.82rem;
    color: #333 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
    transition: background 0.15s, color 0.15s;
    font-weight: 400;
}
.sw-tool:nth-child(4n)   { border-right: none; }
.sw-tool:nth-last-child(-n+4) { border-bottom: none; }
.sw-tool:hover { background: #f5f7ff; color: #0000ef !important; }

.sw-tool-all {
    color: var(--primary) !important;
    font-weight: 700 !important;
    background: #fafafa;
}
.sw-tool-all:hover { background: #fff0f0; color: var(--primary-dark) !important; }

/* Ad card */
.sw-ad { padding: 0; text-align: center; }
/* Sidebar ad */
.sw-ad-top { order: -1; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .sw-posts-grid { grid-template-columns: repeat(2, 1fr); }
    .sw-post-item:nth-child(3n) { border-right: 1px solid #f0f0f0; }
    .sw-post-item:nth-child(2n) { border-right: none; }
    .sw-post-item:nth-last-child(-n+3) { border-bottom: 1px solid #f0f0f0; }
    .sw-post-item:nth-last-child(-n+2) { border-bottom: none; }

    .sw-tools-grid { grid-template-columns: repeat(3, 1fr); }
    .sw-tool:nth-child(4n)        { border-right: 1px solid #f0f0f0; }
    .sw-tool:nth-child(3n)        { border-right: none; }
    .sw-tool:nth-last-child(-n+4) { border-bottom: 1px solid #f0f0f0; }
    .sw-tool:nth-last-child(-n+3) { border-bottom: none; }
}

@media (max-width: 600px) {
    .sw-posts-grid  { grid-template-columns: 1fr; }
    .sw-post-item   { border-right: none !important; }
    .sw-post-item:last-child { border-bottom: none; }

    .sw-tools-grid  { grid-template-columns: repeat(2, 1fr); }
    .sw-tool:nth-child(4n) { border-right: 1px solid #f0f0f0; }
    .sw-tool:nth-child(3n) { border-right: 1px solid #f0f0f0; }
    .sw-tool:nth-child(2n) { border-right: none; }
    .sw-tool:nth-last-child(-n+4) { border-bottom: 1px solid #f0f0f0; }
    .sw-tool:nth-last-child(-n+2) { border-bottom: none; }
}

/* ── Post Nav Links — contextual interlinking block ── */
.post-nav-links {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 18px 20px;
    margin: 24px 0;
}
.pnl-heading {
    font-size: 0.95rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pnl-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.pnl-item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #0000ef;
    text-decoration: none;
    text-align: center;
    transition: background 0.15s, border-color 0.15s;
}
.pnl-item:hover {
    background: #9c0d0d;
    color: #fff;
    border-color: #9c0d0d;
    text-decoration: none;
}
@media (max-width: 600px) {
    .pnl-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Nav user / login button ─────────────────────────── */
.nav-login-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #fff;
    color: #0d1452 !important;
    border-radius: 5px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
}
.nav-login-btn:hover {
    background: #f0f0f0;
}
.nav-user {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.nav-user-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: rgba(255,255,255,0.15);
    color: #fff !important;
    border-radius: 5px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nav-user-btn:hover { background: rgba(255,255,255,0.25); }
.nav-user-icon { font-size: 14px; flex-shrink: 0; }
.nav-logout-btn {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    background: rgba(255,255,255,0.12);
    color: #fff !important;
    border-radius: 5px;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none !important;
    flex-shrink: 0;
    white-space: nowrap;
}
.nav-logout-btn:hover { background: rgba(220,38,38,0.5); }

/* Mobile secondary nav — account link */
.msn-account {
    padding: 6px 10px;
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
    flex-shrink: 0;
    background: rgba(255,255,255,0.12);
    border-radius: 4px;
    margin-left: 4px;
}
.msn-account:hover { background: rgba(255,255,255,0.22); }




/* Hamburger — left fixed */
.msn-hamburger {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    padding: 10px 12px;
    line-height: 1;
    flex-shrink: 0;
}
/* 4 nav links — fill all available space equally */
.mobile-sec-nav > a:not(.msn-account) {
    flex: 1;
    text-align: center;
    color: rgba(255,255,255,0.88) !important;
    text-decoration: none !important;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 10px 2px;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 1px solid rgba(255,255,255,0.1);
}
.mobile-sec-nav > a:not(.msn-account):hover,
.mobile-sec-nav > a.msn-active {
    color: #fff !important;
    border-bottom-color: #e8a000;
    background: rgba(255,255,255,0.08);
}
/* Login/account — right fixed */
.msn-account {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    border-left: 1px solid rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.1);
}
.msn-account:hover { background: rgba(255,255,255,0.2); }

@media (max-width: 1024px) {
    .mobile-sec-nav { display: flex; }
}

/* Hide desktop nav elements on mobile */
@media (max-width: 900px) {
    .nav-login-btn,
    .nav-user,
    .nav-logout-btn { display: none !important; }
    .site-brand-bar { display: none !important; }
    .main-nav       { display: none !important; }
}

/* Nav login/user buttons — hide on mobile (shown in msn instead) */
@media (max-width: 900px) {
    .nav-login-btn,
    .nav-user,
    .nav-logout-btn { display: none !important; }
    .site-brand-bar { display: none !important; }
    .main-nav       { display: none !important; }
}

/* ══════════════════════════════════════════
   MOBILE HEADER — 3 rows
   Row 1: Red brand bar (site-brand-bar)
   Row 2: Dark grey toolbar — hamburger + login
   Row 3: Dark blue category bar — 4 links
   ══════════════════════════════════════════ */

.mob-toolbar,
.mob-cats { display: none; }

@media (max-width: 1024px) {

    /* Hide desktop nav on mobile */
    .site-brand-bar { display: none !important; }
    .main-nav       { display: none !important; }

    /* ── Row 1: Red brand bar — re-enable on mobile ── */
    .site-brand-bar {
        display: block !important;
    }

    /* ── Row 2: Toolbar — dark charcoal ── */
    .mob-toolbar {
        display: flex;
        align-items: center;
        background: #1e1e2e;
        height: 44px;
        padding: 0 4px;
    }
    .mob-hamburger {
        background: none;
        border: none;
        color: #fff;
        font-size: 1.25rem;
        cursor: pointer;
        padding: 8px 12px;
        line-height: 1;
        flex-shrink: 0;
    }
    .mob-toolbar-spacer {
        flex: 1;
    }
    .mob-login {
        display: inline-flex;
        align-items: center;
        background: #fff;
        color: #0d1452 !important;
        text-decoration: none !important;
        font-size: 0.78rem;
        font-weight: 700;
        padding: 5px 11px;
        border-radius: 4px;
        margin-right: 8px;
        white-space: nowrap;
        flex-shrink: 0;
        line-height: 1;
    }
    .mob-login:hover { background: #e8e8e8; }

    /* ── Row 3: Category bar — dark blue, 4 equal items ── */
    .mob-cats {
        display: flex;
        background: #0d1452;
        width: 100%;
    }
    .mob-cats a {
        flex: 1;
        text-align: center;
        color: rgba(255,255,255,0.85) !important;
        text-decoration: none !important;
        font-size: 0.78rem;
        font-weight: 700;
        padding: 10px 4px;
        border-bottom: 3px solid transparent;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .mob-cats a:hover,
    .mob-cats a.mob-cat-active {
        color: #fff !important;
        border-bottom-color: #e8a000;
        background: rgba(255,255,255,0.08);
    }

    /* Hide desktop login/user buttons */
    .nav-login-btn,
    .nav-user,
    .nav-logout-btn { display: none !important; }
}

/* ── Mobile inline dropdown — 2 columns, 50% each, no overlay ── */
.mob-menu {
    display: none;
    flex-wrap: wrap;
    background: #0d1452;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.mob-menu.open {
    display: flex;
}
.mob-menu a {
    width: 50%;
    box-sizing: border-box;
    color: rgba(255,255,255,0.88) !important;
    text-decoration: none !important;
    padding: 12px 16px;
    font-size: 0.85rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    border-right: 1px solid rgba(255,255,255,0.07);
}
.mob-menu a:nth-child(even) {
    border-right: none;
}
.mob-menu a:hover {
    background: rgba(255,255,255,0.1);
    color: #fff !important;
}
.mob-menu-sep {
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,0.2);
    margin: 2px 0;
}

/* ── Nav search — icon expands on click ── */
.nav-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.nav-search-icon {
    background: rgba(255,255,255,0.12);
    border: none;
    color: #fff;
    width: 34px;
    height: 34px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
    flex-shrink: 0;
}
.nav-search-icon:hover { background: rgba(255,255,255,0.22); }

/* Hidden expanded form — slides out from icon */
.nav-search-expand {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    width: 0;
    opacity: 0;
    pointer-events: none;
    transition: width .25s ease, opacity .2s ease;
    white-space: nowrap;
    z-index: 10;
}
.nav-search-wrap.open .nav-search-icon { background: rgba(255,255,255,0.3); }
.nav-search-wrap.open .nav-search-expand {
    width: 240px;
    opacity: 1;
    pointer-events: auto;
}
.nav-search-expand input {
    flex: 1;
    border: none;
    outline: none;
    padding: 7px 10px;
    font-size: .85rem;
    color: #333;
    background: transparent;
    min-width: 0;
}
.nav-search-expand button {
    background: var(--primary);
    border: none;
    color: #fff;
    padding: 7px 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.nav-search-expand button:hover { background: var(--primary-dark); }

/* Hide old nav-search on desktop if still present */
.nav-search { display: none !important; }

/* ── Mobile dropdown search box ── */
.mob-search {
    display: flex;
    width: 100%;
    grid-column: 1 / -1;
    padding: 10px 12px;
    gap: 8px;
    background: #0a0f3d;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    box-sizing: border-box;
}
.mob-search input {
    flex: 1;
    padding: 8px 12px;
    border: none;
    border-radius: 5px;
    font-size: 0.87rem;
    outline: none;
    background: rgba(255,255,255,0.12);
    color: #fff;
    min-width: 0;
}
.mob-search input::placeholder { color: rgba(255,255,255,0.5); }
.mob-search input:focus { background: rgba(255,255,255,0.2); }
.mob-search button {
    padding: 8px 14px;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
.mob-search button:hover { background: var(--primary-dark); }
