/*
Theme Name: GerätetreiberInfo
Theme URI: https://geraetetreiberinfo.de
Author: GerätetreiberInfo Team
Author URI: https://geraetetreiberinfo.de
Description: Individuelles WordPress-Theme für GerätetreiberInfo.de – Treiber-Downloads und Ratgeber-Artikel in Deutsch.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: geraetetreiberinfo
*/

  :root{
    --bg: #FAFAF7;
    --bg-warm: #F3F0E8;
    --ink: #1B2430;
    --ink-soft: #4A5568;
    --line: #E1DDD3;
    --blue: #2E6F9E;
    --blue-deep: #204E72;
    --amber: #E8A33D;
    --amber-deep: #C9862A;
    --mint: #3F9C7A;
    --white: #FFFFFF;
    --radius: 14px;
    --shadow: 0 4px 20px rgba(27,36,48,0.06);
    --shadow-hover: 0 10px 30px rgba(27,36,48,0.10);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{
    font-family:'Fira Sans', sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fira Sans Condensed', sans-serif;
    font-weight:800;
    letter-spacing:0.2px;
    color:var(--ink);
  }
  .mono{font-family:'Fira Mono', monospace;}
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

  /* ---------- status dot signature ---------- */
  .dot{
    display:inline-block;width:8px;height:8px;border-radius:50%;
    flex-shrink:0;
  }
  .dot--blue{background:var(--blue);}
  .dot--amber{background:var(--amber);}
  .dot--mint{background:var(--mint);}
  .dot--pulse{
    box-shadow:0 0 0 0 rgba(63,156,122,0.5);
    animation:pulse 2.2s infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(63,156,122,0.45);}
    70%{box-shadow:0 0 0 8px rgba(63,156,122,0);}
    100%{box-shadow:0 0 0 0 rgba(63,156,122,0);}
  }

  /* ---------- header ---------- */
  .site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,250,247,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .header-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 28px;max-width:1180px;margin:0 auto;
  }
  .logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Fira Sans Condensed',sans-serif;font-weight:800;font-size:1.3rem;
  }
  .logo-mark{
    width:34px;height:34px;border-radius:9px;
    background:var(--blue);
    display:flex;align-items:center;justify-content:center;
  }
  .logo-mark svg{width:18px;height:18px;}
  .logo b{color:var(--blue-deep);}
  nav.main-nav{display:flex;gap:32px;align-items:center;}
  nav.main-nav a{
    font-size:0.95rem;font-weight:600;color:var(--ink-soft);
    transition:color 0.15s;
  }
  nav.main-nav a:hover{color:var(--blue-deep);}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:11px 22px;border-radius:999px;
    font-weight:700;font-size:0.92rem;
    border:none;cursor:pointer;transition:transform 0.15s, box-shadow 0.15s;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn:focus-visible{outline:3px solid var(--blue); outline-offset:2px;}
  .btn--amber{
    background:var(--amber);color:#3A2A0A;
    box-shadow:0 4px 14px rgba(232,163,61,0.35);
  }
  .btn--amber:hover{box-shadow:0 8px 20px rgba(232,163,61,0.45);}
  .btn--outline{
    background:transparent;border:1.5px solid var(--line);color:var(--ink);
  }
  .btn--outline:hover{border-color:var(--blue);}
  .header-cta{display:flex;gap:12px;align-items:center;}

  /* ---------- hero ---------- */
  .hero{
    padding:72px 0 56px;
    background:
      radial-gradient(600px 300px at 85% -10%, rgba(46,111,158,0.08), transparent),
      var(--bg);
  }
  .hero-inner{max-width:760px;margin:0 auto;text-align:center;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--white);border:1px solid var(--line);
    border-radius:999px;padding:7px 16px;
    font-size:0.85rem;font-weight:600;color:var(--ink-soft);
    margin-bottom:22px;box-shadow:var(--shadow);
  }
  .hero h1{
    font-size:clamp(2.1rem, 4.2vw, 3.2rem);
    line-height:1.12;margin-bottom:16px;
  }
  .hero h1 span{color:var(--blue-deep);}
  .hero p.lead{
    font-size:1.1rem;color:var(--ink-soft);max-width:560px;
    margin:0 auto 34px;
  }
  .search-box{
    display:flex;gap:10px;background:var(--white);
    border:1.5px solid var(--line);border-radius:16px;
    padding:8px 8px 8px 20px;box-shadow:var(--shadow);
    max-width:600px;margin:0 auto;transition:box-shadow 0.2s, border-color 0.2s;
  }
  .search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,111,158,0.12);}
  .search-box input{
    flex:1;border:none;outline:none;font-family:inherit;
    font-size:1rem;background:transparent;color:var(--ink);
  }
  .search-box input::placeholder{color:#9AA3AE;}
  .search-box button{
    background:var(--blue);color:#fff;border:none;border-radius:12px;
    padding:12px 22px;font-weight:700;font-size:0.95rem;cursor:pointer;
    transition:background 0.15s;
  }
  .search-box button:hover{background:var(--blue-deep);}

  .chip-row{
    display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
    margin-top:24px;
  }
  .chip{
    display:flex;align-items:center;gap:7px;
    background:var(--white);border:1px solid var(--line);
    border-radius:999px;padding:8px 16px;font-size:0.88rem;font-weight:600;
    color:var(--ink-soft);cursor:pointer;transition:all 0.15s;
  }
  .chip:hover{border-color:var(--blue);color:var(--blue-deep);background:#F0F6FA;}
  .chip svg{width:15px;height:15px;flex-shrink:0;}

  .live-status{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin-top:30px;font-size:0.86rem;color:var(--ink-soft);
  }

  /* ---------- section shell ---------- */
  section{padding:64px 0;}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    margin-bottom:36px;gap:20px;flex-wrap:wrap;
  }
  .section-head .kicker{
    font-size:0.82rem;font-weight:700;letter-spacing:0.06em;
    text-transform:uppercase;color:var(--blue-deep);margin-bottom:8px;display:block;
  }
  .section-head h2{font-size:clamp(1.6rem,3vw,2.1rem);}
  .section-head p{color:var(--ink-soft);max-width:460px;}
  .link-more{font-weight:700;font-size:0.92rem;color:var(--blue-deep);white-space:nowrap;}
  .link-more:hover{text-decoration:underline;}

  /* ---------- how it works ---------- */
  .how{background:var(--bg-warm);}
  .steps{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .step{
    background:var(--white);border-radius:var(--radius);
    padding:28px 26px;border:1px solid var(--line);
  }
  .step-num{
    font-family:'Fira Sans Condensed',sans-serif;font-weight:800;
    font-size:0.95rem;color:var(--white);background:var(--blue);
    width:34px;height:34px;border-radius:9px;
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .step h3{font-size:1.15rem;margin-bottom:8px;}
  .step p{color:var(--ink-soft);font-size:0.94rem;}

  /* ---------- driver cards ---------- */
  .driver-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  }
  .driver-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;box-shadow:var(--shadow);transition:box-shadow 0.2s, transform 0.2s;
  }
  .driver-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
  .driver-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;}
  .driver-icon{
    width:44px;height:44px;border-radius:10px;background:var(--bg-warm);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .driver-icon svg{width:22px;height:22px;color:var(--blue-deep);}
  .status-pill{
    display:flex;align-items:center;gap:6px;font-size:0.78rem;font-weight:700;
    padding:4px 10px;border-radius:999px;
  }
  .status-pill--ok{background:#E7F4EE;color:var(--mint);}
  .status-pill--update{background:#FCF0DE;color:var(--amber-deep);}
  .driver-card h3{font-size:1.02rem;margin-bottom:4px;line-height:1.3;}
  .driver-cat{font-size:0.83rem;color:var(--ink-soft);margin-bottom:14px;}
  .driver-meta{
    display:flex;gap:14px;font-size:0.78rem;color:var(--ink-soft);
    padding-top:14px;border-top:1px solid var(--line);margin-bottom:16px;
    flex-wrap:wrap;
  }
  .driver-meta span{display:flex;align-items:center;gap:5px;}
  .driver-card .btn{width:100%;justify-content:center;}
  .btn--ghost-blue{
    background:#EEF4F9;color:var(--blue-deep);
  }
  .btn--ghost-blue:hover{background:#DCEAF3;}

  /* ---------- guides ---------- */
  .guides-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  }
  .guide-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;transition:box-shadow 0.2s, transform 0.2s;
  }
  .guide-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
  .guide-thumb{
    height:120px;
    display:flex;align-items:center;justify-content:center;
  }
  .guide-thumb svg{width:40px;height:40px;opacity:0.9;}
  .guide-thumb--1{background:linear-gradient(135deg,#2E6F9E,#3E8AC0);}
  .guide-thumb--2{background:linear-gradient(135deg,#E8A33D,#F0BC6C);}
  .guide-thumb--3{background:linear-gradient(135deg,#3F9C7A,#5EBF9C);}
  .guide-thumb svg{color:#fff;}
  .guide-body{padding:20px 22px 22px;}
  .guide-tag{
    font-size:0.76rem;font-weight:700;color:var(--blue-deep);
    text-transform:uppercase;letter-spacing:0.04em;margin-bottom:10px;display:block;
  }
  .guide-card h3{font-size:1.08rem;line-height:1.35;margin-bottom:10px;}
  .guide-meta{font-size:0.82rem;color:var(--ink-soft);}

  /* ---------- trust ---------- */
  .trust{background:var(--bg-warm);}
  .trust-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  }
  .trust-item{text-align:left;}
  .trust-icon{
    width:46px;height:46px;border-radius:12px;background:var(--white);
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  }
  .trust-icon svg{width:22px;height:22px;color:var(--mint);}
  .trust-item h3{font-size:1rem;margin-bottom:6px;}
  .trust-item p{font-size:0.88rem;color:var(--ink-soft);}

  /* ---------- newsletter ---------- */
  .cta-band{
    background:var(--blue-deep);
    border-radius:20px;
    padding:48px 44px;
    display:flex;align-items:center;justify-content:space-between;
    gap:30px;flex-wrap:wrap;
  }
  .cta-band h2{color:#fff;font-size:1.6rem;margin-bottom:8px;}
  .cta-band p{color:#C9DCE9;font-size:0.95rem;}
  .cta-form{display:flex;gap:10px;flex-wrap:wrap;}
  .cta-form input{
    padding:13px 18px;border-radius:10px;border:none;min-width:240px;
    font-family:inherit;font-size:0.95rem;outline:none;
  }
  .cta-form input:focus-visible{outline:3px solid var(--amber);}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:#B8C2CC;padding:56px 0 28px;}
  .footer-grid{
    display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;
    margin-bottom:40px;
  }
  .footer-brand .logo{color:#fff;}
  .footer-brand .logo-mark{background:var(--amber);}
  .footer-brand p{margin-top:14px;font-size:0.88rem;line-height:1.6;max-width:280px;color:#8B96A1;}
  footer h4{color:#fff;font-size:0.88rem;font-weight:700;margin-bottom:16px;letter-spacing:0.03em;}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
  footer a{font-size:0.88rem;color:#B8C2CC;transition:color 0.15s;}
  footer a:hover{color:#fff;}
  .footer-bottom{
    border-top:1px solid #2E3A47;padding-top:24px;
    display:flex;justify-content:space-between;align-items:center;
    font-size:0.82rem;color:#7A8592;flex-wrap:wrap;gap:12px;
  }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    nav.main-nav{display:none;}
    .steps,.driver-grid,.guides-grid{grid-template-columns:repeat(2,1fr);}
    .trust-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:600px){
    .steps,.driver-grid,.guides-grid,.trust-grid{grid-template-columns:1fr;}
    .search-box{flex-direction:column;padding:14px;}
    .search-box button{width:100%;justify-content:center;display:flex;}
    .cta-band{flex-direction:column;text-align:center;padding:36px 26px;}
    .cta-form{justify-content:center;width:100%;}
    .cta-form input{flex:1;}
    .footer-grid{grid-template-columns:1fr;gap:28px;}
    .header-cta .btn--outline{display:none;}
  }

  @media (prefers-reduced-motion: reduce){
    .dot--pulse{animation:none;}
    *{transition:none !important;}
  }

  /* ---------- pagination (the_posts_pagination) ---------- */
  .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
  .nav-links .page-numbers{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:38px;height:38px;padding:0 10px;border-radius:10px;
    background:var(--white);border:1px solid var(--line);
    font-weight:600;font-size:0.9rem;color:var(--ink-soft);
  }
  .nav-links .page-numbers.current{background:var(--blue);color:#fff;border-color:var(--blue);}
  .nav-links .page-numbers:hover{border-color:var(--blue);color:var(--blue-deep);}

  /* ---------- wp_nav_menu output ---------- */
  ul.main-nav-list{
    display:flex;gap:32px;align-items:center;list-style:none;margin:0;padding:0;
  }
  ul.main-nav-list li{list-style:none;}
  ul.main-nav-list a{
    font-size:0.95rem;font-weight:600;color:var(--ink-soft);transition:color 0.15s;
  }
  ul.main-nav-list a:hover{color:var(--blue-deep);}
