/* =================================================================
   TRABAHONGONLINE.COM — Unified CSS v3.0
   Layout Bible Compliant | Mobile First | February 2026
   ================================================================= */

/* --- 1. CSS VARIABLES --- */
:root {
  --primary: #0038A8;
  --primary-dark: #002D86;
  --primary-light: #3B82F6;
  --secondary: #CE1126;
  --accent: #2563eb;
  --accent-hover: #1d4ed8;
  --highlight: #FCD116;
  --background: #F8FAFC;
  --surface: #FFFFFF;
  --text-primary: #1e293b;
  --text-heading: #0f172a;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --border: #e2e8f0;
  --border-light: #f1f5f9;
  --hero-start: #0F172A;
  --hero-end: #0038A8;
  --section-alt: #f8fafc;
  --footer-start: #0038A8;
  --footer-end: #001F5C;
  --qa-bg: #EFF6FF;
  --qa-border: #0038A8;
  --qa-text: #0369a1;
  --cta-success: #22c55e;
  --im-header-bg: #0c4a6e;
  --im-text: #e2e8f0;
  --im-text-muted: #94a3b8;
  --im-accent: #2563eb;
  --im-accent-hover: #1d4ed8;
  --im-dd-bg: #ffffff;
  --im-dd-text: #1e293b;
  --im-dd-hover: #f1f5f9;
  --im-dd-border: #e2e8f0;
  --im-height: 64px;
  --tr: 0.2s ease;
  --sp-xs: 4px;
  --sp-sm: 8px;
  --sp-md: 16px;
  --sp-lg: 24px;
  --sp-xl: 32px;
  --sp-2xl: 48px;
  --sp-3xl: 64px;
  --sp-4xl: 80px;
}

/* --- 2. RESET --- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;line-height:1.7;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:16px;color:var(--text-primary);background:var(--background);-webkit-font-smoothing:antialiased;padding-bottom:80px}
img,picture,video,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit}
h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;line-height:1.3}
p{overflow-wrap:break-word}
a{color:var(--accent);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--accent-hover)}
ul,ol{padding-left:1.5em}
table{border-collapse:collapse;width:100%}

/* --- 3. TYPOGRAPHY --- */
h1{font-size:28px;font-weight:800;color:var(--text-heading);line-height:1.2;margin-bottom:var(--sp-md)}
h2{font-size:22px;font-weight:700;color:var(--text-heading);line-height:1.3;margin-top:var(--sp-xl);margin-bottom:var(--sp-md)}
h3{font-size:18px;font-weight:600;color:var(--text-heading);line-height:1.4;margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}
h4{font-size:16px;font-weight:600;color:var(--text-heading);line-height:1.4;margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}
p{margin-bottom:var(--sp-md)}
.lead{font-size:18px;line-height:1.6;color:var(--text-muted)}
.text-sm{font-size:14px}
.text-xs{font-size:13px}
.text-muted{color:var(--text-muted)}

@media(min-width:768px){
  h1{font-size:36px}
  h2{font-size:26px}
  h3{font-size:20px}
  h4{font-size:18px}
}

/* --- 4. LAYOUT CONTAINERS --- */
.narrow{max-width:720px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.content{max-width:800px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.wide{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.full{width:100%}
.full-inner{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* --- 5. IM HEADER v3 --- */
.im-header{position:sticky;top:0;z-index:1000;background:var(--im-header-bg);border-bottom:1px solid rgba(255,255,255,0.06);height:var(--im-height)}
.im-header-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}
.im-logo{text-decoration:none!important;display:flex;align-items:center;gap:8px;flex-shrink:0}
.im-logo-text{font-size:18px;font-weight:700;color:var(--im-text);letter-spacing:-0.02em}
.im-logo-accent{color:var(--im-accent)}
.im-nav{display:none;flex:1}
.im-nav-list{display:flex;list-style:none;margin:0;padding:0;gap:4px;align-items:center}
.im-nav-item{position:relative}
.im-nav-link{display:flex;align-items:center;gap:4px;padding:8px 14px;color:var(--im-text-muted);text-decoration:none;font-size:14px;font-weight:500;border-radius:8px;transition:color var(--tr),background var(--tr);border:none;background:none;cursor:pointer;white-space:nowrap}
.im-nav-link:hover,.im-nav-link:focus{color:var(--im-text);background:rgba(255,255,255,0.06);text-decoration:none}
.im-nav-link svg{width:12px;height:12px;transition:transform var(--tr);fill:currentColor}
.im-has-dropdown{position:relative}
.im-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:var(--im-dd-bg);border:1px solid var(--im-dd-border);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,0.12);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--tr);z-index:1001}
.im-has-dropdown:hover .im-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.im-has-dropdown:hover .im-nav-link svg{transform:rotate(180deg)}
.im-dropdown-link{display:block;padding:10px 14px;color:var(--im-dd-text);text-decoration:none;font-size:14px;border-radius:8px;transition:background var(--tr)}
.im-dropdown-link:hover{background:var(--im-dd-hover);text-decoration:none}
.im-dropdown-trigger{display:flex;align-items:center;gap:4px;padding:8px 14px;color:var(--im-text-muted);text-decoration:none;font-size:14px;font-weight:500;border-radius:8px;transition:color var(--tr),background var(--tr);border:none;background:none;cursor:pointer;white-space:nowrap}
.im-dropdown-trigger:hover{color:var(--im-text);background:rgba(255,255,255,0.06)}
.im-dropdown-trigger svg{width:12px;height:12px;transition:transform var(--tr);fill:currentColor}
.im-has-dropdown:hover .im-dropdown-trigger svg{transform:rotate(180deg)}

/* Header Actions */
.im-header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.im-lang-switch{display:none;gap:2px;background:rgba(255,255,255,0.06);border-radius:8px;padding:2px}
.im-lang{padding:4px 10px;font-size:13px;font-weight:500;color:var(--im-text-muted);text-decoration:none;border-radius:6px;transition:all var(--tr)}
.im-lang.active,.im-lang:hover{background:var(--im-accent);color:white;text-decoration:none}
.im-cta-header{display:none;align-items:center;padding:8px 18px;background:var(--im-accent);color:white!important;text-decoration:none!important;font-size:13px;font-weight:600;border-radius:8px;transition:background var(--tr);white-space:nowrap}
.im-cta-header:hover{background:var(--im-accent-hover)}

/* Hamburger */
.im-hamburger{display:flex;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer}
.im-hamburger span{display:block;width:22px;height:2px;background:var(--im-text);border-radius:2px;transition:all var(--tr)}
.im-hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.im-hamburger.active span:nth-child(2){opacity:0}
.im-hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile Overlay (both class names used) */
.im-mobile-overlay,.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:10000;opacity:0;visibility:hidden;transition:opacity .3s ease}
.im-mobile-overlay.active,.mobile-menu-overlay.active{opacity:1;visibility:visible}
body.menu-open{overflow:hidden}

/* Mobile Menu / Sidebar (both patterns used) */
.im-mobile-menu,.mobile-sidebar{position:fixed;top:0;right:-300px;width:280px;height:100vh;background:var(--im-header-bg);z-index:10001;padding:20px;transition:right var(--tr),transform var(--tr);overflow-y:auto}
.im-mobile-menu.active,.mobile-sidebar.active{right:0;transform:translateX(0);visibility:visible}
.im-mobile-menu-link{display:block;padding:14px 16px;color:var(--im-text);text-decoration:none;font-size:15px;border-bottom:1px solid rgba(255,255,255,0.06)}
.im-mobile-menu-link:hover{color:white;text-decoration:none}
.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--sp-md);border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:var(--sp-md)}
.sidebar-header .site-logo{text-decoration:none;display:flex;gap:4px}
.sidebar-header .logo-part1{color:var(--im-text);font-weight:700;font-size:16px}
.sidebar-header .logo-part2{color:var(--im-accent);font-weight:700;font-size:16px}
.close-btn,.mobile-menu-close{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--im-text);font-size:24px}
.sidebar-nav,.mobile-sidebar-nav{padding:var(--sp-sm) 0;list-style:none;margin:0}
.sidebar-nav a,.mobile-sidebar-nav a{display:block;padding:12px 16px;color:var(--im-text);text-decoration:none;font-size:15px;border-radius:8px;transition:background var(--tr)}
.sidebar-nav a:hover,.mobile-sidebar-nav a:hover{background:rgba(255,255,255,0.06);text-decoration:none}
.sidebar-footer{margin-top:auto;padding-top:var(--sp-md);border-top:1px solid rgba(255,255,255,0.1)}
.mobile-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,0.1)}

/* Mobile Lang Switcher */
.im-mobile-lang{display:none;padding:20px 16px;border-top:1px solid rgba(255,255,255,0.1);margin-top:auto}
.im-mobile-lang-label{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;font-weight:600}
.im-mobile-lang-btns{display:flex;gap:8px}
.im-mobile-lang-btn{flex:1;text-align:center;padding:12px 16px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;transition:all var(--tr);min-height:48px;display:flex;align-items:center;justify-content:center}
.im-mobile-lang-btn.active{background:var(--im-accent);color:white}
.im-mobile-lang-btn:not(.active){background:rgba(255,255,255,0.08);color:var(--im-text-muted)}
.im-mobile-lang-btn:not(.active):hover{background:rgba(255,255,255,0.12);color:var(--im-text)}
.im-mobile-lang-btn:hover{text-decoration:none}
@media(max-width:768px){.im-mobile-lang{display:block}}

/* Desktop */
@media(min-width:769px) and (max-width:1023px){
  .im-lang-switch{display:flex}
  .im-cta-header{display:inline-flex;padding:6px 14px;font-size:12px}
}
@media(min-width:1024px){
  .im-nav{display:flex}
  .im-hamburger{display:none}
  .im-lang-switch{display:flex}
  .im-cta-header{display:inline-flex}
}

/* --- 6. HERO --- */
.hero{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));color:white;padding:var(--sp-3xl) 20px;text-align:center;overflow:hidden}
.hero h1{color:white;font-size:28px;max-width:600px;margin:0 auto var(--sp-md)}
.hero .subtitle{font-size:16px;color:rgba(255,255,255,0.85);max-width:500px;margin:0 auto var(--sp-lg);line-height:1.6}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-xl)}
.hero-cta a{display:inline-flex;align-items:center;padding:12px 28px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;min-height:44px;transition:all var(--tr)}
.btn-primary{background:var(--highlight);color:var(--text-heading)}
.btn-primary:hover{background:#e5bd00;text-decoration:none;color:var(--text-heading)}
.btn-secondary{background:rgba(255,255,255,0.15);color:white;border:1px solid rgba(255,255,255,0.3)}
.btn-secondary:hover{background:rgba(255,255,255,0.25);text-decoration:none;color:white}
.hero-stats{display:flex;gap:var(--sp-xl);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-lg)}
.hero-stat-number{font-size:24px;font-weight:800;color:var(--highlight)}
.hero-stat-label{font-size:13px;color:rgba(255,255,255,0.7)}

@media(min-width:768px){
  .hero{padding:var(--sp-4xl) 20px}
  .hero h1{font-size:42px}
  .hero .subtitle{font-size:18px}
}

/* --- 7. CARDS & GRIDS --- */
.card-grid{display:grid;grid-template-columns:1fr;gap:20px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:var(--sp-lg);transition:box-shadow var(--tr),transform var(--tr)}
.card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.06);transform:translateY(-2px)}
.card-title{font-size:17px;font-weight:600;color:var(--text-heading);margin-bottom:var(--sp-sm)}
.card-title a{color:inherit;text-decoration:none}
.card-title a:hover{color:var(--accent)}
.card-body{padding:var(--sp-md)}
.card-meta{font-size:13px;color:var(--text-muted);margin-bottom:var(--sp-sm)}
.card-excerpt{font-size:15px;color:var(--text-primary);line-height:1.6}
.card-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--accent);margin-top:var(--sp-sm)}
.category-cards{display:grid;grid-template-columns:1fr;gap:16px}
.category-card{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text-primary);transition:all var(--tr)}
.category-card:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,0.06);text-decoration:none;transform:translateY(-1px)}
.category-icon{font-size:28px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--qa-bg);border-radius:10px}
.category-name{font-size:16px;font-weight:600;color:var(--text-heading)}
.category-count{font-size:13px;color:var(--text-muted)}

@media(min-width:640px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .category-cards{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .category-cards{grid-template-columns:repeat(3,1fr)}
}

/* --- 8. ARTICLE --- */
.article-layout{display:grid;grid-template-columns:1fr;gap:var(--sp-xl)}
@media(min-width:1024px){.article-layout{grid-template-columns:1fr 300px}}
.article{min-width:0}
.breadcrumbs{font-size:14px;color:var(--text-muted);padding:var(--sp-md) 0}
.breadcrumbs a{color:var(--text-muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--accent)}
.breadcrumbs span{margin:0 6px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:4px}
.article-header{margin-bottom:var(--sp-lg)}
.toc{background:var(--section-alt);border:1px solid var(--border);border-radius:10px;padding:var(--sp-md) var(--sp-lg);margin:var(--sp-lg) 0}
.toc h2{font-size:16px;margin:0 0 var(--sp-sm) 0;border:none;padding:0}
.toc ul{margin:0;padding-left:1.2em}
.toc li{margin-bottom:var(--sp-xs);font-size:14px}
.toc a{color:var(--text-primary);text-decoration:none}
.toc a:hover{color:var(--accent)}
.article-meta{display:flex;flex-wrap:wrap;gap:var(--sp-sm);font-size:14px;color:var(--text-muted);margin-top:var(--sp-sm)}
.article-content{line-height:1.7}
.article-content h2{margin-top:var(--sp-xl);margin-bottom:var(--sp-md);padding-bottom:var(--sp-sm);border-bottom:2px solid var(--border-light)}
.article-content h3{margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}
.article-content p{margin-bottom:var(--sp-md)}
.article-content ul,.article-content ol{margin-bottom:var(--sp-md)}
.article-content li{margin-bottom:var(--sp-xs)}
.article-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.article-content a:hover{color:var(--accent-hover)}
.article-content blockquote{margin:var(--sp-lg) 0;padding:var(--sp-md) var(--sp-lg);border-left:4px solid var(--accent);background:var(--qa-bg);border-radius:0 8px 8px 0;font-style:italic}
.article-content table{margin:var(--sp-lg) 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.article-content th{background:var(--section-alt);padding:12px 16px;text-align:left;font-weight:600;font-size:14px;border-bottom:2px solid var(--border)}
.article-content td{padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:15px}
.article-content tr:last-child td{border-bottom:none}
.article-content img{border-radius:8px;margin:var(--sp-lg) 0}

/* --- 9. QUICK ANSWER --- */
.quick-answer{max-width:780px;margin:var(--sp-md) auto var(--sp-lg);padding:var(--sp-md) 20px;background:var(--qa-bg);border:1px solid #bfdbfe;border-left:4px solid var(--qa-border);border-radius:0 10px 10px 0}
.quick-answer h3{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--qa-text);margin:0 0 var(--sp-sm) 0}
.quick-answer p{margin:0;font-size:15px;line-height:1.65;color:#334155}

/* --- 10. AUTHOR BOX --- */
.author-box{max-width:800px;margin:var(--sp-2xl) auto 0;padding:var(--sp-lg);border:1px solid var(--border);border-radius:12px;background:var(--surface);display:flex;gap:var(--sp-md);align-items:flex-start}
.author-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:white;font-size:22px;font-weight:700;flex-shrink:0}
.author-info{flex:1}
.author-name{font-size:18px;font-weight:700;color:var(--text-heading)}
.author-title{font-size:14px;color:var(--qa-text);margin-top:2px}
.author-bio{font-size:14px;color:var(--text-muted);margin-top:var(--sp-sm);line-height:1.6}
@media(max-width:639px){
  .author-box{flex-direction:column;align-items:center;text-align:center}
}

/* --- 11. RELATED ARTICLES --- */
.related-articles{max-width:800px;margin:var(--sp-2xl) auto 0}
.related-articles h2,.related-articles h3{font-size:20px;font-weight:700;margin-bottom:var(--sp-md);border:none;padding:0;margin-top:0}
.related-articles ul{display:grid;grid-template-columns:1fr;gap:12px;list-style:none;padding:0;margin:0}
.related-articles li{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:box-shadow var(--tr),transform var(--tr)}
.related-articles li:hover{box-shadow:0 2px 8px rgba(0,0,0,0.06);transform:translateY(-1px);border-color:var(--accent)}
.related-articles li a{display:block;padding:14px 16px;color:var(--text-primary);text-decoration:none;font-size:15px;font-weight:500;line-height:1.4}
.related-articles li a:hover{color:var(--accent)}
@media(min-width:640px){
  .related-articles ul{grid-template-columns:repeat(2,1fr)}
}

/* --- 12. CTA COMPONENTS --- */
.cta-box{max-width:800px;margin:var(--sp-xl) auto;padding:var(--sp-lg) var(--sp-xl);background:linear-gradient(135deg,var(--hero-start),var(--primary));border-radius:12px;text-align:center;color:white}
.cta-box h3,.cta-box h2{color:white;font-size:22px;margin-bottom:var(--sp-sm);margin-top:0}
.cta-box p{color:rgba(255,255,255,0.85);margin-bottom:var(--sp-md)}
.cta-box a{display:inline-flex;align-items:center;padding:12px 32px;background:var(--cta-success);color:white;border-radius:8px;font-weight:600;font-size:16px;text-decoration:none;min-height:44px;transition:all var(--tr)}
.cta-box a:hover{background:#16a34a;transform:translateY(-1px);text-decoration:none}

/* Old CTA variants (hidden — #ctaBar is the active one) */


#ctaBar{position:fixed;bottom:28px;left:0;right:0;z-index:999;background:linear-gradient(135deg,var(--hero-start),var(--accent));padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 -2px 10px rgba(0,0,0,0.15)}
#ctaBar span{color:white;font-size:14px;font-weight:600}
#ctaBar a{background:var(--cta-success);color:white;padding:8px 20px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
#ctaBar a:hover{background:#16a34a;text-decoration:none}
#ctaBar button{background:none;border:none;color:rgba(255,255,255,0.7);font-size:20px;cursor:pointer;padding:0 0 0 8px;line-height:1}
@media(max-width:640px){
  #ctaBar{flex-direction:column;gap:8px;padding:8px 16px;bottom:0}
  #ctaBar span{font-size:13px}
}

/* --- 13. FAQ --- */
.faq-section{padding:var(--sp-2xl) 0}
.faq-cards{display:grid;gap:var(--sp-md)}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.faq-question{width:100%;padding:var(--sp-md) var(--sp-lg);background:none;border:none;text-align:left;font-size:16px;font-weight:600;color:var(--text-heading);cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.faq-question::after{content:"+";font-size:20px;color:var(--text-muted);transition:transform var(--tr);flex-shrink:0}
.faq-item.active .faq-question::after{content:"\2212"}
.faq-answer{padding:0 var(--sp-lg) var(--sp-md);font-size:15px;line-height:1.7;color:var(--text-primary);display:none}
.faq-item.active .faq-answer{display:block}
.faq-list{margin:var(--sp-xl) 0}
.faq-list .faq-item{margin-bottom:var(--sp-sm)}

/* --- 14. DISCLOSURE --- */
.disclosure,.affiliate-disclosure{max-width:800px;margin:var(--sp-xl) auto 0;padding:var(--sp-md) 20px;background:var(--section-alt);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-muted);line-height:1.6}
.disclosure strong,.affiliate-disclosure strong{color:#475569}

/* --- 15. FOOTER --- */
.site-footer{width:100%;background:linear-gradient(135deg,var(--footer-start),var(--footer-end));color:#cbd5e1}
.footer-inner{max-width:1200px;margin:0 auto;padding:var(--sp-2xl) 20px var(--sp-xl)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-xl)}
.footer-brand p{font-size:14px;line-height:1.6;color:#94a3b8;margin-top:var(--sp-sm)}
.footer-column-heading{font-size:16px;font-weight:700;color:white;margin-bottom:var(--sp-md)}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:var(--sp-sm)}
.footer-links a{color:#94a3b8;text-decoration:none;font-size:14px;transition:color var(--tr)}
.footer-links a:hover{color:white}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:var(--sp-xl);padding-top:var(--sp-md);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-sm);font-size:13px;color:var(--text-light)}
.footer-bottom a{color:var(--text-light);text-decoration:none;margin:0 6px}
.footer-bottom a:hover{color:white}
.legal-footer-links{display:flex;flex-wrap:wrap;gap:4px}
.legal-footer-links a{color:var(--text-light);text-decoration:none;font-size:13px}
.legal-footer-links a:hover{color:white}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}

/* --- 16. COOKIE BANNER --- */
#im-cookie{position:fixed;bottom:0;left:0;right:0;z-index:998;background:var(--text-heading);color:white;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;box-shadow:0 -2px 8px rgba(0,0,0,0.2)}
#im-cookie a{color:var(--highlight);text-decoration:underline}
#im-cookie button{background:var(--accent);color:white;border:none;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;min-height:36px}
#im-cookie button:hover{background:var(--accent-hover)}
@media(max-width:640px){#im-cookie{flex-direction:column;gap:8px;text-align:center}}

/* --- 17. PROMO BOX (100 Ways) --- */
.promo-box-100ways{background:linear-gradient(135deg,#0F172A,#1e3a5f);border-radius:16px;padding:var(--sp-xl);color:white;text-align:center}
.promo-box-100ways h2,.promo-box-100ways h3{color:var(--highlight);font-size:22px;margin-bottom:var(--sp-sm);margin-top:0}
.promo-box-100ways p{color:rgba(255,255,255,0.85);margin-bottom:var(--sp-md)}
.promo-box-100ways a{display:inline-flex;align-items:center;padding:12px 28px;background:var(--cta-success);color:white;border-radius:8px;font-weight:600;text-decoration:none;min-height:44px}
.promo-box-100ways a:hover{background:#16a34a;text-decoration:none}
.promo-box-inner{max-width:700px;margin:0 auto}
.promo-box-content{margin-bottom:var(--sp-lg)}
.promo-stats{display:flex;justify-content:center;gap:var(--sp-xl);margin-top:var(--sp-lg);flex-wrap:wrap}
.promo-stat{text-align:center}
.promo-stat-number{font-size:24px;font-weight:800;color:var(--highlight)}
.promo-stat-label{font-size:13px;color:rgba(255,255,255,0.7)}

/* --- 18. SECTIONS --- */
.section{padding:var(--sp-2xl) 0}
.section-bg-secondary{background:var(--section-alt)}
.section-bg-dark{background:var(--text-heading);color:white}
.section h2:first-child{margin-top:0}

/* --- 19. SIDEBAR --- */
.sidebar-widget{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:var(--sp-lg);margin-bottom:var(--sp-lg)}
.sidebar-cta{background:linear-gradient(135deg,var(--hero-start),var(--primary));border-radius:12px;padding:var(--sp-lg);color:white;text-align:center}
.sidebar-cta a{display:inline-block;margin-top:var(--sp-sm);padding:10px 24px;background:var(--cta-success);color:white;border-radius:8px;font-weight:600;text-decoration:none}
.sidebar-cta a:hover{background:#16a34a;text-decoration:none}

/* --- 20. BADGES --- */
.badge,.category-badge,.tag-badge,.promo-badge,.hero-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;line-height:1.4}
.badge-primary{background:var(--qa-bg);color:var(--primary)}
.badge-success{background:#dcfce7;color:#15803d}
.badge-warning{background:#fef3c7;color:#92400e}
.category-badge{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}
.promo-badge,.hero-badge{background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.25)}

/* --- 21. UTILITIES --- */
.text-center{text-align:center}
.text-left{text-align:left}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-sm{gap:var(--sp-sm)}
.gap-md{gap:var(--sp-md)}
.gap-lg{gap:var(--sp-lg)}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.mb-md{margin-bottom:var(--sp-md)}
.mb-lg{margin-bottom:var(--sp-lg)}
.mb-xl{margin-bottom:var(--sp-xl)}
.hidden{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip-link{position:absolute;top:-9999px;left:-9999px;z-index:9999;background:var(--accent);color:white;padding:12px 24px;font-weight:600}
.skip-link:focus{top:0;left:0}

/* --- 22. PRINT --- */
@media print{
  .im-header,.site-footer,#ctaBar,#im-cookie,.im-mobile-overlay,.im-mobile-menu,.cta-box,.promo-box-100ways{display:none!important}
  body{font-size:12pt;color:#000;background:#fff;padding-bottom:0}
  a{color:#000;text-decoration:underline}
  .article-content{max-width:100%}
}

/* ================================================================
   POLISH ADDITIONS — v4.0 Senior Dev Overhaul
   ================================================================ */

/* --- Homepage Hero polish --- */
.hero-content{max-width:640px;margin:0 auto}
.hero-badge{display:inline-block;margin-bottom:var(--sp-md)}
.hero-title{color:white;font-size:28px;margin-bottom:var(--sp-md)}
.hero-title .gradient{background:linear-gradient(135deg,var(--highlight),#FFE066);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:16px;color:rgba(255,255,255,0.85);max-width:500px;margin:0 auto var(--sp-lg);line-height:1.6}
@media(min-width:768px){
  .hero-title{font-size:42px}
  .hero-subtitle{font-size:18px}
}

/* --- Section titles --- */
.section-title{font-size:22px;font-weight:700;color:var(--text-heading);margin-bottom:var(--sp-lg)}
@media(min-width:768px){.section-title{font-size:26px}}

/* --- Category cards layout polish --- */
.category-card{flex-direction:column;align-items:flex-start;text-align:left}
.category-card .card-icon{margin-bottom:var(--sp-xs)}
.category-card h3{font-size:16px;font-weight:600;color:var(--text-heading);margin:0 0 4px}
.category-card p{font-size:14px;color:var(--text-muted);margin:0 0 var(--sp-xs);line-height:1.5}
.category-card .card-count{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:0.5px}

/* --- CTA box subtext --- */
.cta-subtext{font-size:13px;color:rgba(255,255,255,0.6);margin-top:var(--sp-sm);margin-bottom:0}

/* --- Author box polish --- */
.author-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px;display:block;margin-bottom:2px}
.author-credentials{display:flex;flex-wrap:wrap;gap:var(--sp-md);margin-top:var(--sp-sm);font-size:14px;color:var(--text-muted)}

/* --- FAQ-CARD (homepage uses faq-card h3/p, not faq-item/faq-question/faq-answer) --- */
.faq{max-width:800px;margin:0 auto;padding:var(--sp-2xl) 20px}
.faq>h2{font-size:22px;font-weight:700;color:var(--text-heading);margin-bottom:var(--sp-lg);text-align:center;margin-top:0}
.faq-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color var(--tr)}
.faq-card:hover{border-color:var(--accent)}
.faq-card h3{width:100%;padding:var(--sp-md) var(--sp-lg);background:none;border:none;text-align:left;font-size:16px;font-weight:600;color:var(--text-heading);cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:0;line-height:1.4;gap:var(--sp-md)}
.faq-card h3::after{content:"+";font-size:22px;font-weight:400;color:var(--text-muted);transition:transform var(--tr);flex-shrink:0;width:24px;text-align:center}
.faq-card.active h3::after{content:"\2212"}
.faq-card p{padding:0 var(--sp-lg) var(--sp-md);font-size:15px;line-height:1.7;color:var(--text-primary);display:none;margin:0}
.faq-card.active p{display:block}

/* --- Promo box 100ways section spacing --- */
section.promo-box-100ways,.promo-box-100ways{max-width:800px;margin:0 auto var(--sp-3xl);padding:var(--sp-2xl) 20px}
.promo-box-100ways .promo-title{margin-top:0}
.promo-box-100ways .promo-cta{display:inline-flex;align-items:center;padding:12px 28px;background:var(--cta-success);color:white;border-radius:8px;font-weight:600;text-decoration:none;min-height:44px;transition:background var(--tr)}
.promo-box-100ways .promo-cta:hover{background:#16a34a;text-decoration:none}

/* --- Footer polish --- */
.footer-heading{font-size:15px;font-weight:700;color:white;margin-bottom:var(--sp-md);text-transform:uppercase;letter-spacing:0.5px;margin-top:0}
.footer-col{min-width:0}
.footer-logo{display:flex;gap:6px;margin-bottom:var(--sp-sm)}
.footer-logo .logo-part1{font-size:20px;font-weight:700;color:white}
.footer-logo .logo-part2{font-size:20px;font-weight:700;color:var(--highlight)}
.footer-desc{font-size:14px;line-height:1.6;color:#94a3b8;margin:0}
.footer-brand{padding-right:var(--sp-xl)}

/* Legal footer links — inside site-footer, outside container */
.legal-footer-links{max-width:1200px;margin:0 auto;padding:var(--sp-md) 20px var(--sp-lg);display:flex;flex-wrap:wrap;justify-content:center;gap:4px;font-size:13px}
.legal-footer-links a{color:#94a3b8;text-decoration:none;transition:color var(--tr)}
.legal-footer-links a:hover{color:white}

/* --- Mobile sidebar polish --- */
.mobile-sidebar{background:#0c1e36}
.sidebar-nav{display:flex;flex-direction:column;gap:2px}
.sidebar-nav a{display:block;padding:12px 16px;color:#e2e8f0;text-decoration:none;font-size:15px;font-weight:500;border-radius:8px;transition:background var(--tr)}
.sidebar-nav a:hover{background:rgba(255,255,255,0.08);text-decoration:none}
.sidebar-footer .sidebar-cta{display:block;padding:12px 16px;background:var(--cta-success);color:white;text-decoration:none;font-weight:600;font-size:14px;border-radius:8px;text-align:center;transition:background var(--tr);margin-bottom:var(--sp-md)}
.sidebar-footer .sidebar-cta:hover{background:#16a34a;text-decoration:none}
.sidebar-lang{display:flex;gap:8px}
.sidebar-lang a{flex:1;text-align:center;padding:8px;font-size:13px;font-weight:500;border-radius:6px;color:#94a3b8;text-decoration:none;background:rgba(255,255,255,0.06);transition:all var(--tr)}
.sidebar-lang a.active{background:var(--im-accent);color:white}
.sidebar-lang a:hover{text-decoration:none;color:white}

/* --- Bottom bars stacking fix --- */
#ctaBar{bottom:0}
body{padding-bottom:56px}
@media(max-width:640px){body{padding-bottom:80px}}

/* --- Category page main content --- */
.category-hero{padding:var(--sp-2xl) 0;text-align:center}
.category-hero h1{font-size:28px;font-weight:700;margin-bottom:var(--sp-sm)}
.category-hero p{font-size:16px;color:var(--text-muted);max-width:600px;margin:0 auto}

/* --- All Articles page polish --- */
.category-section{margin-bottom:var(--sp-2xl)}
.category-section h2{font-size:20px;font-weight:700;margin-bottom:var(--sp-md);padding-bottom:var(--sp-sm);border-bottom:2px solid var(--border-light)}

/* --- Sidebar CTA widget text visibility fix --- */
.sidebar-cta h4{color:white;font-size:18px;margin:0 0 var(--sp-sm);font-weight:700}
.sidebar-cta p{color:rgba(255,255,255,0.85);font-size:14px;margin-bottom:var(--sp-md)}

/* === TRABAHONGONLINE FIX v1 === */
/* CTA bar styling */
#im-cta{position:fixed;bottom:44px;left:0;right:0;z-index:997;background:#1a1a2e;color:#94a3b8;padding:8px 20px;font-size:13px;display:flex;align-items:center;gap:12px;box-shadow:0 -1px 3px rgba(0,0,0,.15);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;transition:bottom .3s ease}
#im-cta .im-cta-content{flex:1;display:flex;gap:8px;align-items:center;min-width:0;overflow:hidden}
#im-cta .im-cta-title{color:#e2e8f0;font-weight:600;white-space:nowrap}
#im-cta .im-cta-sub{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#im-cta .im-cta-btn{background:#059669;color:#fff;text-decoration:none;padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;transition:background .2s}
#im-cta .im-cta-btn:hover{background:#047857}
#im-cta .im-cta-close{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}
#im-cta .im-cta-close:hover{color:#94a3b8}
@media(max-width:640px){#im-cta .im-cta-sub{display:none}}

/* Cookie bar refinement */
#im-cookie{position:fixed;bottom:0;left:0;right:0;z-index:998;background:#111827;color:#94a3b8;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;box-shadow:0 -1px 4px rgba(0,0,0,.2);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}
#im-cookie a{color:#60a5fa;text-decoration:underline}
#im-cookie button{background:#334155;color:#e2e8f0;border:none;padding:4px 14px;border-radius:3px;cursor:pointer;font-size:12px;white-space:nowrap;margin-left:12px}
#im-cookie button:hover{background:#475569}
@media(max-width:640px){#im-cookie{flex-direction:column;gap:6px;text-align:center;padding:10px 16px}}

/* Remove legacy CTA bar if it somehow remains */
#ctaBar{display:none!important}

/* Related articles safety net */
.article-card .related-articles{display:none!important}

/* Ensure footer is consistent */
.site-footer .container{max-width:1200px;margin:0 auto;padding:0 20px}
