/* ========================================
   HowToHub Theme - Complete Stylesheet
   ======================================== */

:root {
    --primary: #6366f1;
    --primary-dark: #4f46e5;
    --primary-light: #818cf8;
    --secondary: #06b6d4;
    --accent: #f59e0b;
    
    --bg-primary: #ffffff;
    --bg-secondary: #f8fafc;
    --bg-tertiary: #f1f5f9;
    --bg-card: #ffffff;
    
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-tertiary: #94a3b8;
    --text-link: #6366f1;
    
    --border-color: #e2e8f0;
    --border-radius: 12px;
    --border-radius-sm: 8px;
    
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1);
    
    --font-heading: 'Inter', sans-serif;
    --font-body: 'Inter', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
    
    --container-width: 1200px;
    --header-height: 72px;
    --transition: 0.3s ease;
}

body.dark-mode {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #334155;
    --bg-card: #1e293b;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-tertiary: #64748b;
    --border-color: #334155;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}
a{color:var(--text-link);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto}
.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}

/* ===== HEADER ===== */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:1000;transition:all var(--transition)}
.site-header.scrolled{background:rgba(255,255,255,0.95);box-shadow:var(--shadow-md);backdrop-filter:blur(20px)}
body.dark-mode .site-header.scrolled{background:rgba(15,23,42,0.95)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}
.site-logo{font-size:24px;font-weight:800;color:var(--primary);letter-spacing:-0.5px;display:flex;align-items:center;gap:8px}
.site-logo span{color:var(--text-primary)}
.main-navigation{display:flex;align-items:center}
.main-navigation ul{display:flex;list-style:none;gap:4px;align-items:center;margin:0;padding:0}
.main-navigation li{list-style:none;position:relative}
.main-navigation a{padding:8px 16px;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-weight:500;font-size:14px;white-space:nowrap;transition:all var(--transition)}
.main-navigation a:hover,.main-navigation .current-menu-item a{background:var(--bg-tertiary);color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:8px}
.theme-toggle,.mobile-menu-toggle{background:var(--bg-tertiary);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;transition:all var(--transition)}
.theme-toggle:hover,.mobile-menu-toggle:hover{background:var(--primary);color:white}
.mobile-menu-toggle{display:none}

/* ===== HERO SLIDER ===== */
.hero-slider{position:relative;padding-top:var(--header-height);overflow:hidden}
.swiper{width:100%;height:500px}
.swiper-slide{display:flex;align-items:center;justify-content:space-between;padding:60px 80px;position:relative;overflow:hidden}
.swiper-slide::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.1}
.slide-linux{background:linear-gradient(135deg,#0c4a6e,#0ea5e9)}
.slide-programming{background:linear-gradient(135deg,#3b0764,#8b5cf6)}
.slide-devops{background:linear-gradient(135deg,#713f12,#f59e0b)}
.slide-webdev{background:linear-gradient(135deg,#064e3b,#10b981)}
.slide-networking{background:linear-gradient(135deg,#7f1d1d,#ef4444)}
.slide-content{position:relative;z-index:2;max-width:55%;color:white}
.slide-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:50px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;background:rgba(255,255,255,0.2);margin-bottom:20px}
.slide-title{font-size:42px;font-weight:800;line-height:1.1;margin-bottom:16px}
.slide-desc{font-size:18px;line-height:1.6;margin-bottom:32px;opacity:0.9}
.slide-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;background:white;color:#0f172a;border-radius:50px;font-weight:600;font-size:16px;transition:all var(--transition)}
.slide-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,0.3);color:#0f172a}
.slide-illustration{position:relative;z-index:2;font-size:160px;color:rgba(255,255,255,0.15);margin-right:40px}
.swiper-pagination{bottom:24px!important}
.swiper-pagination-bullet{width:12px;height:12px;background:rgba(255,255,255,0.5);opacity:1}
.swiper-pagination-bullet-active{background:white;width:32px;border-radius:6px}
.swiper-button-next,.swiper-button-prev{color:white!important;background:rgba(255,255,255,0.15);width:50px!important;height:50px!important;border-radius:50%;transition:all var(--transition)}
.swiper-button-next:hover,.swiper-button-prev:hover{background:rgba(255,255,255,0.3)}
.swiper-button-next::after,.swiper-button-prev::after{font-size:18px!important}

/* ===== SEARCH ===== */
.search-section{padding:60px 0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}
.search-wrapper{text-align:center;max-width:700px;margin:0 auto}
.search-title{font-size:28px;font-weight:700;margin-bottom:24px;color:var(--text-primary)}
.hero-search{position:relative;max-width:600px;margin:0 auto 20px}
.hero-search .search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:18px;z-index:2}
.hero-search input{width:100%;padding:16px 140px 16px 52px;border:2px solid var(--border-color);border-radius:50px;font-size:16px;background:var(--bg-card);color:var(--text-primary);outline:none;transition:all var(--transition)}
.hero-search input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(99,102,241,0.15)}
.hero-search button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--primary);color:white;border:none;padding:12px 28px;border-radius:50px;font-weight:600;cursor:pointer;transition:all var(--transition)}
.hero-search button:hover{background:var(--primary-dark)}
.trending-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:14px}
.tag-label{font-weight:600;color:var(--text-secondary);margin-right:8px}
.trending-tag{color:var(--text-tertiary)}
.trending-tag:hover{color:var(--primary)}

/* ===== STATS ===== */
.stats-section{padding:60px 0;background:var(--bg-primary)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-card{text-align:center;padding:32px 24px;border-radius:var(--border-radius);background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition)}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.stat-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;color:white}
.stat-number{font-size:36px;font-weight:800;color:var(--text-primary);margin-bottom:4px}
.stat-label{font-size:14px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:1px}

/* ===== CATEGORIES ===== */
.categories-section{padding:80px 0;background:var(--bg-secondary)}
.section-header{text-align:center;margin-bottom:48px}
.section-title{font-size:32px;font-weight:700;margin-bottom:12px}
.section-title i{color:var(--primary);margin-right:12px}
.section-subtitle{color:var(--text-secondary);font-size:16px}
.categories-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:8px 0}
.cat-card{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:50px;background:var(--bg-card);border:1px solid var(--border-color);font-size:14px;font-weight:500;color:var(--text-primary);transition:all var(--transition);white-space:nowrap;text-decoration:none}
.cat-card:hover{background:var(--primary);color:white;border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cat-card .cat-icon{font-size:16px;width:auto;height:auto}
.cat-card .cat-count{font-size:12px;background:var(--bg-tertiary);padding:2px 8px;border-radius:50px;margin:0}
.cat-card:hover .cat-count{background:rgba(255,255,255,0.2);color:white}
.categories-cta{display:flex;justify-content:center;margin-top:24px}
.categories-cta a{padding:12px 28px;border-radius:50px;background:var(--primary);color:white;font-weight:600;transition:all var(--transition)}
.categories-cta a:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}


/* ===== TUTORIALS ===== */
.tutorials-section{padding:80px 0;background:var(--bg-primary)}
.tutorial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px}
.tutorial-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;transition:all var(--transition);animation:fadeIn 0.5s ease forwards}
.tutorial-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}
.card-thumbnail{width:100%;height:200px;object-fit:cover}
.card-body{padding:24px}
.card-category{display:inline-block;padding:4px 14px;border-radius:50px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px}
.card-title{font-size:18px;font-weight:600;margin-bottom:8px;line-height:1.4}
.card-title a{color:var(--text-primary)}
.card-title a:hover{color:var(--primary)}
.card-excerpt{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:16px}
.card-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-tertiary);padding-top:16px;border-top:1px solid var(--border-color)}
.card-meta i{margin-right:6px}

/* ===== CTA ===== */
.cta-section{padding:80px 0;background:linear-gradient(135deg,var(--primary),var(--secondary));text-align:center}
.cta-content h2{font-size:36px;font-weight:800;color:white;margin-bottom:12px}
.cta-content p{font-size:18px;color:rgba(255,255,255,0.9);margin-bottom:32px}
.cta-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 40px;background:white;color:var(--primary);border-radius:50px;font-weight:700;font-size:18px;transition:all var(--transition)}
.cta-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,0.3);color:var(--primary-dark)}

/* ===== SINGLE POST ===== */
.single-tutorial{padding:120px 0 60px;max-width:800px;margin:0 auto}
.post-header{margin-bottom:40px}
.post-title{font-size:36px;font-weight:800;line-height:1.2;margin-bottom:16px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;color:var(--text-secondary);font-size:14px}
.post-meta i{margin-right:6px}
.post-thumbnail{width:100%;border-radius:var(--border-radius);margin-bottom:40px}
.post-content{font-size:17px;line-height:1.8}
.post-content h2{font-size:28px;font-weight:700;margin:40px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--primary)}
.post-content h3{font-size:22px;font-weight:600;margin:32px 0 12px}
.post-content p{margin-bottom:20px}
.post-content ul,.post-content ol{margin:16px 0;padding-left:24px}
.post-content li{margin-bottom:8px}
.post-content code{font-family:var(--font-mono);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px;font-size:14px}
.post-content pre{background:#1e293b;color:#e2e8f0;padding:20px;border-radius:var(--border-radius-sm);overflow-x:auto;margin:24px 0;font-family:var(--font-mono);font-size:14px;line-height:1.6;position:relative}
.post-content pre code{background:none;padding:0;color:inherit}
.post-content blockquote{border-left:4px solid var(--primary);padding:16px 24px;margin:24px 0;background:var(--bg-secondary);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;font-style:italic}
.post-content img{border-radius:var(--border-radius-sm);margin:24px 0}
.post-content table{width:100%;border-collapse:collapse;margin:24px 0}
.post-content th,.post-content td{padding:12px 16px;border:1px solid var(--border-color);text-align:left}
.post-content th{background:var(--bg-secondary);font-weight:600}

/* ===== TOC ===== */
.toc-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:24px;margin-bottom:40px}
.toc-title{font-size:18px;font-weight:600;margin-bottom:16px}
.toc-title i{color:var(--primary);margin-right:8px}
.toc-nav ul{list-style:none;padding:0;margin:0}
.toc-nav li{margin-bottom:8px}
.toc-nav a{display:block;padding:8px 12px;border-radius:var(--border-radius-sm);font-size:14px;transition:all var(--transition)}
.toc-nav a:hover{background:var(--bg-tertiary);color:var(--primary);padding-left:16px}

/* ===== COPY BTN ===== */
.copy-button{position:absolute;top:8px;right:8px;background:rgba(255,255,255,0.1);color:#94a3b8;border:1px solid rgba(255,255,255,0.1);padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all var(--transition)}
.copy-button:hover{background:var(--primary);color:white}

/* ===== PAGINATION ===== */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;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(--border-radius-sm);font-weight:500;transition:all var(--transition)}
.pagination a{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color)}
.pagination a:hover{background:var(--primary);color:white;border-color:var(--primary)}
.pagination .current{background:var(--primary);color:white}

/* ===== FOOTER ===== */
.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-col h4{font-size:16px;font-weight:600;margin-bottom:16px}
.footer-col p{color:var(--text-secondary);font-size:14px;line-height:1.7}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col li a{color:var(--text-secondary);font-size:14px}
.footer-col li a:hover{color:var(--primary)}
.footer-bottom{border-top:1px solid var(--border-color);padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--text-tertiary)}
.footer-social{display:flex;gap:10px;margin-top:12px}
.footer-social a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);transition:all var(--transition)}
.footer-social a:hover{background:var(--primary);color:white;transform:translateY(-3px)}

/* ===== SCROLL TOP ===== */
.scroll-top{position:fixed;bottom:30px;right:30px;width:44px;height:44px;border-radius:50%;background:var(--primary);color:white;border:none;cursor:pointer;font-size:18px;opacity:0;visibility:hidden;transition:all var(--transition);z-index:999;box-shadow:var(--shadow-lg)}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{background:var(--primary-dark);transform:translateY(-3px)}

/* ===== EMPTY STATE ===== */
.empty-state{text-align:center;padding:60px 0}
.empty-state i{font-size:64px;color:var(--text-tertiary);margin-bottom:24px}
.empty-state h3{margin-bottom:8px}
.empty-state p{color:var(--text-secondary)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .slide-title{font-size:34px}
    .swiper{height:420px}
    .swiper-slide{padding:40px 60px}
    .slide-illustration{font-size:120px}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    .swiper{height:auto;min-height:380px}
    .swiper-slide{flex-direction:column;padding:40px 30px;text-align:center}
    .slide-content{max-width:100%}
    .slide-title{font-size:28px}
    .slide-desc{font-size:16px}
    .slide-illustration{font-size:80px;margin-right:0;margin-top:20px}
    .tutorial-grid{grid-template-columns:1fr}
    .post-title{font-size:26px}
    .categories-grid{grid-template-columns:repeat(2,1fr)}
    .main-navigation{display:none!important;position:fixed!important;top:72px!important;left:0!important;right:0!important;width:100%!important;background:var(--bg-primary)!important;border-bottom:2px solid var(--border-color)!important;box-shadow:0 10px 30px rgba(0,0,0,0.2)!important;padding:20px 24px!important;z-index:9999!important;max-height:calc(100vh - 72px)!important;overflow-y:auto!important;opacity:0!important;transform:translateY(-10px)!important;transition:opacity 0.3s ease,transform 0.3s ease!important}
    .main-navigation.active{display:block!important;opacity:1!important;transform:translateY(0)!important}
    .main-navigation ul{flex-direction:column!important;gap:4px!important}
    .main-navigation li{margin:0!important;padding:0!important}
    .main-navigation a{display:block!important;padding:14px 20px!important;font-size:16px!important;border-radius:10px!important;border:1px solid transparent!important;text-align:center!important}
    .main-navigation a:hover,.main-navigation .current-menu-item a{background:var(--bg-tertiary)!important;border-color:var(--border-color)!important;color:var(--primary)!important}
    .mobile-menu-toggle{display:flex!important}
    .header-actions{gap:4px}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .footer-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
    .slide-title{font-size:24px}
    .hero-search input{padding:14px 52px 14px 44px;font-size:14px}
    .hero-search button{padding:10px 20px;font-size:13px}
    .categories-grid{grid-template-columns:1fr}
    .cta-content h2{font-size:26px}
}

/* ===== ANIMATIONS ===== */
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.tutorial-card:nth-child(2){animation-delay:0.1s}
.tutorial-card:nth-child(3){animation-delay:0.2s}
.tutorial-card:nth-child(4){animation-delay:0.3s}
.tutorial-card:nth-child(5){animation-delay:0.4s}
.tutorial-card:nth-child(6){animation-delay:0.5s}