/*
Theme Name: Haltor Theme
Theme URI: https://haltor.de/
Author: WorkBuddy
Description: WordPress Theme for Haltor
Version: 1.0.0
License: GPL v2 or later
Text Domain: haltor
*/

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; }
body { font-family:'Inter',Arial,Helvetica,sans-serif; color:#1a1a2e; background:#f5f7fa; line-height:1.7; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }

/* ===== HEADER / TOPBAR ===== */
.topbar { background:#1a237e; padding:0 40px; position:sticky; top:0; z-index:100; box-shadow:0 2px 20px rgba(0,0,0,0.15); }
.topbar-inner { max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-size:1.6rem; font-weight:900; font-family:'Segoe UI',sans-serif; }
.logo a { color:#fff; }
.logo span { color:#ff6f00; font-weight:400; font-size:1.2rem; }
.top-nav { display:flex; gap:28px; align-items:center; }
.top-nav li { display:inline; }
.top-nav a { color:#e8eaf6; font-size:0.9rem; font-weight:600; padding:6px 0; }
.top-nav a:hover { color:#ff6f00; }

/* ===== HERO ===== */
.hero { background:linear-gradient(135deg, #1a237e 0%, #283593 50%, #3949ab 100%); padding:80px 40px 60px; text-align:center; }
.hero h1 { font-size:2.8rem; font-weight:900; font-family:'Segoe UI',sans-serif; line-height:1.2; color:#fff; margin-bottom:16px; }
.hero p { font-size:1.15rem; color:#fff; opacity:0.85; margin-bottom:32px; }
.hero-search { display:flex; max-width:600px; margin:0 auto; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,0.2); }
.hero-search input { flex:1; border:none; outline:none; padding:16px 20px; font-size:1rem; }
.hero-search button { background:#ff6f00; color:#ffffff; border:none; padding:0 28px; font-size:1rem; font-weight:700; cursor:pointer; }
.hero-search button:hover { opacity:0.9; }

/* ===== CATEGORY TAGS ===== */
.cat-tags { background:#f5f7fa; padding:20px 40px; border-bottom:1px solid #e8eaf0; }
.cat-tags-inner { max-width:1280px; margin:0 auto; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cat-tag { padding:8px 18px; border-radius:20px; font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.2s; }
.cat-tag.active { background:#1a237e; color:#fff; }
.cat-tag:not(.active) { background:#fff; color:#1a237e; border:1px solid #e0e0e0; }
.cat-tag:not(.active):hover { background:#1a237e; color:#fff; border-color:#1a237e; }

/* ===== MAIN LAYOUT ===== */
.main-wrap { max-width:1280px; margin:0 auto; display:flex; gap:32px; padding:40px; }
.content { flex:1; min-width:0; }
.sidebar { width:340px; flex-shrink:0; }

/* ===== SECTION TITLE ===== */
.section-title-wrap { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.section-title { font-size:1.4rem; font-weight:800; font-family:'Segoe UI',sans-serif; color:#1a237e; }
.section-subtitle { font-size:0.9rem; color:#1a1a2e; opacity:0.5; font-weight:500; }

/* ===== GUIDE CARDS (Aktuelle Ratgeber) ===== */
.guides-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-bottom:48px; }
.guide-card { background:#ffffff; border-radius:12px; overflow:hidden; transition:transform 0.2s, box-shadow 0.2s; box-shadow:0 2px 12px rgba(0,0,0,0.06); border:1px solid #e8eaf0; }
.guide-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,0.12); }
.guide-icon-wrap { height:140px; display:flex; align-items:center; justify-content:center; background:#f8f9fc; }
.guide-icon { font-size:3rem; }
.guide-body { padding:20px; }
.guide-cat { font-size:0.7rem; font-weight:700; color:#1a237e; text-transform:uppercase; letter-spacing:0.8px; margin-bottom:8px; }
.guide-title { font-size:1rem; font-weight:700; font-family:'Segoe UI',sans-serif; color:#1a1a2e; line-height:1.4; margin-bottom:10px; }
.guide-title a:hover { color:#1a237e; }
.guide-excerpt { font-size:0.85rem; color:#1a1a2e; opacity:0.65; line-height:1.6; margin-bottom:16px; }
.guide-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid #e8eaf0; }
.guide-date { font-size:0.8rem; color:#1a1a2e; opacity:0.4; }
.guide-readmore { font-size:0.85rem; font-weight:600; color:#1a237e; }
.guide-readmore:hover { color:#ff6f00; }

/* ===== COMPARISON TABLE ===== */
.compare-section { background:#ffffff; border-radius:12px; padding:32px; margin-bottom:48px; box-shadow:0 2px 12px rgba(0,0,0,0.06); border:1px solid #e8eaf0; }
.compare-section h2 { font-size:1.3rem; font-weight:800; font-family:'Segoe UI',sans-serif; color:#1a237e; margin-bottom:24px; }
.compare-table { width:100%; border-collapse:collapse; }
.compare-table th { text-align:left; padding:14px 16px; font-size:0.8rem; font-weight:700; color:#1a237e; text-transform:uppercase; letter-spacing:0.5px; background:#f5f7fa; border-bottom:2px solid #e8eaf0; }
.compare-table td { padding:16px; font-size:0.9rem; border-bottom:1px solid #e8eaf0; }
.compare-table tr:hover { background:#fafbfc; }
.compare-table .provider { font-weight:700; color:#1a1a2e; }
.compare-table .rating-good { color:#00a86b; font-weight:600; }
.compare-table .rating-ok { color:#ff9800; font-weight:600; }
.compare-table .rating-bad { color:#e53935; font-weight:600; }
.compare-table .cta-link { color:#1a237e; font-weight:600; font-size:0.85rem; }
.compare-table .cta-link:hover { color:#ff6f00; }

/* ===== LATEST ARTICLES + SIDEBAR COMBO ===== */
.combo-section { display:flex; gap:32px; margin-bottom:48px; }
.combo-left { flex:1; min-width:0; }
.combo-left h2 { font-size:1.4rem; font-weight:800; font-family:'Segoe UI',sans-serif; color:#1a237e; margin-bottom:24px; }
.combo-sidebar { width:320px; flex-shrink:0; }

.latest-list { display:flex; flex-direction:column; gap:20px; }
.latest-item { display:flex; gap:16px; padding-bottom:20px; border-bottom:1px solid #e8eaf0; }
.latest-item:last-child { border-bottom:none; }
.latest-thumb { width:100px; height:70px; object-fit:cover; border-radius:8px; background:#e8eaf0; flex-shrink:0; }
.latest-thumb-placeholder { width:100px; height:70px; border-radius:8px; background:#e8eaf0; flex-shrink:0; }
.latest-info { flex:1; min-width:0; }
.latest-cat { font-size:0.7rem; font-weight:700; color:#1a237e; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:4px; }
.latest-title { font-size:0.95rem; font-weight:700; font-family:'Segoe UI',sans-serif; color:#1a1a2e; line-height:1.4; margin-bottom:4px; }
.latest-title a:hover { color:#1a237e; }
.latest-meta { font-size:0.8rem; color:#1a1a2e; opacity:0.4; }

/* ===== SIDEBAR WIDGETS ===== */
.sb-widget { background:#ffffff; border-radius:12px; padding:24px; margin-bottom:24px; box-shadow:0 2px 12px rgba(0,0,0,0.06); border:1px solid #e8eaf0; }
.sb-widget h3 { font-size:1rem; font-weight:800; font-family:'Segoe UI',sans-serif; color:#1a237e; margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid #e8eaf0; }
.sb-link { display:block; padding:8px 0; font-size:0.9rem; color:#1a1a2e; border-bottom:1px solid #f0f0f0; }
.sb-link:hover { color:#1a237e; }
.sb-link:last-child { border-bottom:none; }
.sb-cat { display:flex; justify-content:space-between; padding:8px 0; font-size:0.9rem; color:#1a1a2e; border-bottom:1px solid #f0f0f0; }
.sb-cat:hover { color:#1a237e; }
.sb-cat-count { color:#1a1a2e; opacity:0.4; }

/* ===== SINGLE POST ===== */
.single-post { width:100%; padding:0; }
.single-post h1 { font-size:2.2rem; font-weight:900; font-family:'Segoe UI',sans-serif; color:#1a1a2e; line-height:1.3; margin-bottom:16px; }
.single-meta { display:flex; align-items:center; gap:16px; font-size:0.85rem; color:#1a1a2e; opacity:0.6; margin-bottom:32px; padding-bottom:20px; border-bottom:1px solid #e8eaf0; }
.single-body { font-size:1.05rem; line-height:1.85; color:#1a1a2e; }
.single-body p { margin-bottom:20px; }
.single-body h2 { font-size:1.5rem; font-weight:800; font-family:'Segoe UI',sans-serif; color:#1a237e; margin:40px 0 16px; }
.single-body h3 { font-size:1.2rem; font-weight:700; font-family:'Segoe UI',sans-serif; color:#3949ab; margin:28px 0 12px; }
.single-body ul, .single-body ol { margin:0 0 20px 20px; }
.single-body li { margin-bottom:8px; }
.single-body a { color:#ff6f00; text-decoration:underline; }
.single-body img { border-radius:8px; margin:24px 0; }

/* ===== PAGE ===== */
.page-wrap { max-width:800px; margin:40px auto; padding:0 24px; }
.page-wrap h1 { font-size:2rem; font-weight:900; font-family:'Segoe UI',sans-serif; color:#1a237e; margin-bottom:24px; }

/* ===== FOOTER ===== */
.footer { background:#1a237e; color:#e0e0e0; padding:60px 40px 30px; margin-top:80px; }
.footer-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(3, 1fr); gap:40px; }
.footer-col h4 { font-size:1rem; font-weight:700; color:#fff; margin-bottom:16px; }
.footer-col a { display:block; padding:4px 0; font-size:0.88rem; color:#bbb; }
.footer-col a:hover { color:#ff6f00; }
.footer-bottom { max-width:1280px; margin:40px auto 0; padding-top:20px; border-top:1px solid #3949ab; display:flex; justify-content:space-between; align-items:center; font-size:0.82rem; color:rgba(255,255,255,0.4); }
.footer-legal { display:flex; gap:20px; }
.footer-legal a { color:rgba(255,255,255,0.4); font-size:0.82rem; }
.footer-legal a:hover { color:#ff6f00; }

/* ===== ARCHIVE / SEARCH ===== */
.archive-header { max-width:1280px; margin:0 auto; padding:40px 40px 20px; }
.archive-header h1 { font-size:1.8rem; font-weight:900; font-family:'Segoe UI',sans-serif; color:#1a237e; }
.post-list { max-width:1280px; margin:0 auto; padding:0 40px 60px; }
.post-list-item { display:flex; gap:24px; padding:24px 0; border-bottom:1px solid #e8eaf0; }
.post-list-thumb { width:240px; height:150px; object-fit:cover; border-radius:8px; background:#e8eaf0; flex-shrink:0; }
.post-list-info { flex:1; }
.post-list-info h2 { font-size:1.2rem; font-weight:700; font-family:'Segoe UI',sans-serif; margin-bottom:8px; }
.post-list-info h2 a { color:#1a1a2e; }
.post-list-info h2 a:hover { color:#1a237e; }
.post-list-info p { font-size:0.9rem; color:#1a1a2e; opacity:0.7; line-height:1.6; }

/* ===== 404 ===== */
.err404 { text-align:center; padding:120px 24px; max-width:600px; margin:0 auto; }
.err404 h1 { font-size:6rem; font-weight:900; color:#ff6f00; margin-bottom:16px; }
.err404 h2 { font-size:1.5rem; font-weight:700; font-family:'Segoe UI',sans-serif; color:#1a237e; margin-bottom:16px; }
.err404 p { font-size:1rem; color:#1a1a2e; opacity:0.6; margin-bottom:32px; }
.err404 a { background:#ff6f00; color:#ffffff; padding:12px 32px; border-radius:8px; font-weight:700; display:inline-block; }

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .guides-grid { grid-template-columns:repeat(2, 1fr); }
  .combo-section { flex-direction:column; }
  .combo-sidebar { width:100%; }
}
@media(max-width:900px){
  .main-wrap{ flex-direction:column; }
  .sidebar{ width:100%; }
  .footer-inner{ grid-template-columns:1fr; }
  .guides-grid{ grid-template-columns:1fr; }
  .hero h1{ font-size:2rem; }
  .topbar{ padding:0 16px; }
  .main-wrap{ padding:24px 16px; }
  .cat-tags{ padding:16px; }
}
