/**
 * assets/site.css
 * Gemeinsames Design-System für alle öffentlichen Seiten (index.php,
 * shop.php, shop_buy.php, login.php, register.php, forgot_password.php,
 * reset_password.php, verify_email.php, impressum.php, datenschutz.php,
 * agb.php) - eingeführt zusammen mit dem neuen index.php-Design (vormals
 * indexV3.php), damit der komplette öffentliche Auftritt einheitlich
 * aussieht statt einen Mix aus altem Tailwind-Look und neuem Design zu
 * zeigen. Bewusst EINE gemeinsame Datei statt eines <style>-Blocks pro
 * Seite, damit Design-Anpassungen (Farben, Radien, ...) an einer Stelle
 * gepflegt werden können.
 *
 * Der Kunden-/Plattform-Admin-Bereich (header.php/admin/header.php,
 * dashboard.php, ...) bleibt bewusst UNVERÄNDERT beim bisherigen
 * Tailwind-CDN-Look - diese Datei betrifft nur die öffentlichen,
 * nicht eingeloggten Marketing-/Auth-/Rechtsseiten.
 */

:root{
  --bg:#0B0F17;
  --bg-elevated:#0E1420;
  --surface:#141B2B;
  --surface-2:#1A2337;
  --border:#25304a;
  --border-soft:#1e2740;
  --accent:#2DD4BF;
  --accent-dim:#1a8f80;
  --accent-2:#F5A623;
  --text:#E8ECF3;
  --text-dim:#93A0B7;
  --text-faint:#5C6880;
  --radius:14px;
  --maxw:1320px;
  --sidebar-w:300px;
  --danger:#f87171;
  --danger-bg:rgba(248,113,113,0.1);
  --danger-border:rgba(248,113,113,0.3);
  --success:#34d399;
  --success-bg:rgba(52,211,153,0.1);
  --success-border:rgba(52,211,153,0.3);
  --warning:var(--accent-2);
  --warning-bg:rgba(245,166,35,0.1);
  --warning-border:rgba(245,166,35,0.3);
  --discord:#5865F2;
  --discord-hover:#4752c4;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  line-height:1.15;
  margin:0;
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.mono{font-family:'JetBrains Mono',monospace;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

/* ---------- HEADER / NAV (index.php, shop.php) ---------- */
header.site{
  position:sticky;top:0;z-index:100;
  background:rgba(11,15,23,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-weight:700;font-size:1.15rem;color:var(--text);}
.brand-mark{
  width:38px;height:38px;border-radius:9px;
  background:linear-gradient(155deg,var(--surface-2),var(--surface));
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
  flex-shrink:0;
}
.brand-mark::after{
  content:'';position:absolute;inset:0;border-radius:9px;
  box-shadow:inset 0 0 0 1px rgba(45,212,191,0.12);
}
.brand-mark svg{width:20px;height:20px;color:var(--accent);}
.brand-mark img{width:24px;height:auto;object-fit:contain;}
.brand small{display:block;font-family:'Inter';font-weight:500;font-size:.62rem;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;margin-top:1px;}

nav.main-nav{display:flex;align-items:center;gap:32px;}
nav.main-nav a{font-size:.92rem;color:var(--text-dim);font-weight:500;transition:color .15s;}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--text);}
.nav-lang-toggle{display:none;margin-top:4px;}

.header-actions{display:flex;align-items:center;gap:14px;}
.lang-toggle{display:flex;align-items:center;gap:2px;font-family:'JetBrains Mono';font-size:.72rem;color:var(--text-faint);border:1px solid var(--border);border-radius:20px;padding:2px;}
.lang-toggle a{padding:5px 10px;border-radius:16px;color:var(--text-faint);}
.lang-toggle a.active{background:var(--surface-2);color:var(--accent);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:9px;font-size:.9rem;font-weight:600;
  border:1px solid transparent;white-space:nowrap;transition:all .15s ease;
}
.btn-ghost{color:var(--text-dim);border-color:var(--border);}
.btn-ghost:hover{color:var(--text);border-color:var(--text-faint);}
.btn-accent{background:var(--accent);color:#062420;}
.btn-accent:hover{background:#54e0cd;transform:translateY(-1px);}
.btn-lg{padding:15px 26px;font-size:1rem;border-radius:10px;}
.btn-outline{border-color:var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-block{width:100%;}
.btn-sm{padding:8px 14px;font-size:.8rem;border-radius:8px;}
.btn-discord{background:var(--discord);color:#fff;}
.btn-discord:hover{background:var(--discord-hover);}
.btn[disabled]{opacity:.55;cursor:not-allowed;}

.nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface);align-items:center;justify-content:center;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:'';display:block;width:18px;height:2px;background:var(--text-dim);position:relative;transition:.2s;
}
.nav-toggle span::before{position:absolute;top:-6px;}
.nav-toggle span::after{position:absolute;top:6px;}

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:76px 0 90px;
  background:
    radial-gradient(ellipse 900px 500px at 85% -10%, rgba(45,212,191,0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 0% 20%, rgba(245,166,35,0.06), transparent 60%);
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'JetBrains Mono';font-size:.74rem;letter-spacing:.04em;
  color:var(--accent);background:rgba(45,212,191,0.08);
  border:1px solid rgba(45,212,191,0.25);
  padding:6px 12px;border-radius:20px;margin-bottom:22px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(45,212,191,.5);}50%{opacity:.6;box-shadow:0 0 0 5px rgba(45,212,191,0);}}

.hero h1{font-size:clamp(2.1rem,4.4vw,3.5rem);color:var(--text);max-width:640px;}
.hero h1 .hl{color:var(--accent);}
.hero p.lead{margin-top:22px;font-size:1.08rem;color:var(--text-dim);max-width:560px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.hero-note{margin-top:18px;font-size:.82rem;color:var(--text-faint);}
.trust-row{
  margin-top:38px;display:flex;flex-wrap:wrap;gap:22px 30px;
  padding-top:26px;border-top:1px solid var(--border-soft);
}
.trust-row span{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-dim);}
.trust-row svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;}

/* HUD panel — signature element */
.hud{
  background:linear-gradient(160deg,var(--surface),var(--bg-elevated));
  border:1px solid var(--border);
  border-radius:16px;
  padding:0;
  position:relative;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.hud::before,.hud::after{content:'';position:absolute;width:18px;height:18px;border-color:var(--accent);opacity:.55;}
.hud::before{top:-1px;left:-1px;border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-radius:16px 0 0 0;}
.hud::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent);border-radius:0 0 16px 0;}
.hud-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border-soft);
}
.hud-head .status{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono';font-size:.76rem;color:var(--accent);}
.hud-head .status .blip{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.6s infinite;}
.hud-head .server-name{font-family:'JetBrains Mono';font-size:.76rem;color:var(--text-faint);}
.hud-body{padding:20px;}
.hud-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
.hud-stat{
  background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;
  padding:12px 10px;text-align:left;
}
.hud-stat .num{font-family:'JetBrains Mono';font-weight:600;font-size:1.35rem;color:var(--text);}
.hud-stat .lbl{font-size:.68rem;color:var(--text-faint);margin-top:3px;letter-spacing:.02em;}
.hud-log{border-top:1px solid var(--border-soft);padding-top:14px;}
.hud-log .log-title{font-family:'JetBrains Mono';font-size:.66rem;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
.log-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:.82rem;color:var(--text-dim);border-bottom:1px dashed var(--border-soft);}
.log-row:last-child{border-bottom:none;}
.log-row .tag{font-family:'JetBrains Mono';font-size:.62rem;padding:2px 7px;border-radius:5px;flex-shrink:0;}
.tag-fine{background:rgba(245,166,35,.12);color:var(--accent-2);}
.tag-license{background:rgba(45,212,191,.12);color:var(--accent);}
.tag-vehicle{background:rgba(139,148,255,.12);color:#9aa4ff;}
.log-row .time{margin-left:auto;font-family:'JetBrains Mono';font-size:.68rem;color:var(--text-faint);}

/* ---------- AD SLOTS ---------- */
.ad-slot{
  border:1px dashed var(--border);
  border-radius:12px;
  background:var(--surface);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;color:var(--text-faint);
  padding:18px;
}
.ad-slot .ad-label{font-family:'JetBrains Mono';font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);padding:2px 8px;border-radius:20px;}
.ad-slot .ad-size{font-family:'JetBrains Mono';font-size:.74rem;color:var(--text-dim);}
.ad-slot.ad-rect{min-height:250px;}
.ad-slot.ad-skyscraper{min-height:600px;}
.ad-slot.ad-banner{min-height:100px;}

/* ---------- SECTIONS ---------- */
section{padding:96px 0;}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}
.section-head p{margin-top:14px;color:var(--text-dim);font-size:1.02rem;}

/* Features */
.features{background:var(--bg-elevated);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.feature-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:26px 24px;transition:border-color .2s, transform .2s;
}
.feature-card:hover{border-color:var(--accent-dim);transform:translateY(-3px);}
.feature-icon{
  width:42px;height:42px;border-radius:10px;background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  border:1px solid var(--border-soft);
}
.feature-icon svg{width:20px;height:20px;color:var(--accent);}
.feature-card h3{font-size:1.03rem;margin-bottom:8px;color:var(--text);}
.feature-card p{font-size:.9rem;color:var(--text-dim);}

/* Product grid */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{
  position:relative;display:block;
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:28px 26px 26px;transition:border-color .2s, transform .2s;
}
a.product-card.is-live:hover{border-color:var(--accent-dim);transform:translateY(-3px);}
.product-card.is-soon{opacity:.72;}
.product-status{
  display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono';font-size:.66rem;
  letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:18px;
}
.status-live{background:rgba(45,212,191,.12);color:var(--accent);border:1px solid rgba(45,212,191,.3);}
.status-soon{background:var(--surface-2);color:var(--text-faint);border:1px solid var(--border-soft);}
.product-card h3{font-size:1.1rem;margin-bottom:8px;color:var(--text);}
.product-card p{font-size:.9rem;color:var(--text-dim);margin-bottom:14px;}
.product-feats{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.product-feats li{
  display:flex;align-items:baseline;gap:8px;font-size:.82rem;color:var(--text-dim);
}
.product-feats li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0;transform:translateY(-2px);}
.product-card.is-soon .product-feats li::before{background:var(--text-faint);}
.product-link{font-family:'JetBrains Mono';font-size:.78rem;color:var(--accent);}
.product-link-muted{color:var(--text-faint);}

/* Shop banner (index.php) */
.shop-banner{
  background:linear-gradient(120deg,rgba(245,166,35,.10),rgba(45,212,191,.06));
  border:1px solid var(--border);
  border-radius:18px;
  padding:34px 38px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.shop-banner h3{font-size:1.25rem;margin-bottom:6px;}
.shop-banner p{color:var(--text-dim);font-size:.92rem;max-width:480px;}

/* Content + sidebar layout (pricing + faq) */
.with-rail{
  display:grid;grid-template-columns:1fr var(--sidebar-w);gap:48px;align-items:start;
}
.rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px;}
.rail-note{font-size:.72rem;color:var(--text-faint);text-align:center;}

/* Pricing */
.price-card{
  background:linear-gradient(165deg,var(--surface),var(--bg-elevated));
  border:1px solid var(--border);border-radius:20px;
  padding:44px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.price-figure{font-family:'JetBrains Mono';}
.price-figure .num{font-size:3rem;font-weight:600;color:var(--accent);}
.price-figure .unit{font-size:.95rem;color:var(--text-dim);display:block;margin-top:4px;}
.price-list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.price-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--text-dim);}
.price-list svg{width:17px;height:17px;color:var(--accent);flex-shrink:0;margin-top:2px;}
.price-side{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;}
.price-side .fine{font-size:.78rem;color:var(--text-faint);max-width:180px;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-q{
  width:100%;background:none;border:none;color:var(--text);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 4px;font-size:1rem;font-weight:600;font-family:'Space Grotesk';text-align:left;
}
.faq-q .plus{width:22px;height:22px;flex-shrink:0;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:'';position:absolute;background:var(--accent);border-radius:2px;transition:transform .2s;}
.faq-q .plus::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);}
.faq-q .plus::after{left:50%;top:0;width:2px;height:100%;transform:translateX(-50%);}
.faq-item.open .plus::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding:0 4px 22px;color:var(--text-dim);font-size:.92rem;max-width:640px;}

/* CTA band */
.cta-band{
  background:linear-gradient(120deg,var(--surface-2),var(--bg-elevated));
  border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);
  text-align:center;padding:90px 0;
}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem);max-width:600px;margin:0 auto 16px;}
.cta-band p{color:var(--text-dim);max-width:480px;margin:0 auto 32px;}

/* Footer (index.php - full footer with columns) */
footer.site-footer{padding:56px 0 40px;}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid var(--border-soft);}
.footer-links{display:flex;gap:32px;flex-wrap:wrap;}
.footer-col h4{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:14px;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:.88rem;color:var(--text-dim);}
.footer-col a:hover{color:var(--accent);}
.social-links{display:flex;gap:10px;}
.social-links a{
  width:36px;height:36px;border-radius:9px;border:1px solid var(--border-soft);
  background:var(--surface);display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);transition:color .15s, border-color .15s, transform .15s;
}
.social-links a svg{width:17px;height:17px;}
.social-links a:hover{color:var(--accent);border-color:var(--accent-dim);transform:translateY(-2px);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:.8rem;color:var(--text-faint);}

/* Simple footer (shop.php und andere schlanke Seiten) */
footer.site-footer-simple{border-top:1px solid var(--border-soft);padding:32px 0;}
.footer-simple-inner{display:flex;flex-direction:column;sm-flex-direction:row;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--text-faint);flex-wrap:wrap;}
.footer-simple-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.footer-simple-links a:hover{color:var(--text-dim);}

.mobile-ad{display:none;}

/* ---------- COOKIE BANNER ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:rgba(14,20,32,0.97);
  backdrop-filter:blur(12px);
  border-top:1px solid var(--border);
  box-shadow:0 -20px 50px -20px rgba(0,0,0,.6);
  transform:translateY(110%);
  transition:transform .35s ease;
}
.cookie-banner.show{transform:translateY(0);}
.cookie-inner{max-width:var(--maxw);margin:0 auto;padding:22px 24px;display:flex;flex-direction:column;gap:18px;}
.cookie-text h4{font-size:1rem;margin-bottom:6px;color:var(--text);}
.cookie-text p{font-size:.85rem;color:var(--text-dim);max-width:760px;}
.cookie-text a{color:var(--accent);text-decoration:underline;}
.cookie-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cookie-cat{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;
  padding:12px 14px;cursor:pointer;
}
.cookie-cat div{display:flex;flex-direction:column;gap:3px;}
.cookie-cat span{font-size:.85rem;font-weight:600;color:var(--text);}
.cookie-cat small{font-size:.72rem;color:var(--text-faint);}
.cookie-cat input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin-top:2px;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}

@media (max-width:860px){
  .cookie-cats{grid-template-columns:1fr;}
  .cookie-actions{justify-content:stretch;}
  .cookie-actions .btn{flex:1;}
}

/* ---------- AUTH CARD (login/register/forgot/reset/verify/shop_buy) ---------- */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;}
.auth-box{width:100%;max-width:380px;}
.auth-box.auth-box-md{max-width:460px;}
.auth-header{text-align:center;margin-bottom:32px;}
.auth-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;}
.auth-brand span{font-weight:600;font-family:'Space Grotesk';color:var(--text);}
.auth-subtitle{font-size:.88rem;color:var(--text-faint);}
.auth-lang{margin-top:14px;display:flex;align-items:center;justify-content:center;}
.auth-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:28px;box-shadow:0 24px 48px -24px rgba(0,0,0,.55);
}
.auth-foot{font-size:.88rem;color:var(--text-faint);text-align:center;margin-top:22px;}
.auth-foot a{color:var(--accent-2);font-weight:600;}
.auth-foot a:hover{text-decoration:underline;}
.auth-link{color:var(--accent-2);font-weight:600;font-size:.82rem;}
.auth-link:hover{text-decoration:underline;}

.field{margin-bottom:18px;}
.field:last-child{margin-bottom:0;}
.field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.field label{display:block;font-size:.76rem;font-weight:600;color:var(--text-dim);margin-bottom:6px;}
.field-row label{margin-bottom:0;}
.input{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;
  padding:11px 13px;color:var(--text);font-size:.9rem;font-family:inherit;
  transition:border-color .15s, box-shadow .15s;
}
.input:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px rgba(45,212,191,.15);}
.input.mono{font-family:'JetBrains Mono',monospace;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:480px){.grid-2{grid-template-columns:1fr;}}

.check-row{display:flex;align-items:flex-start;gap:9px;font-size:.78rem;color:var(--text-faint);cursor:pointer;line-height:1.5;}
.check-row input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--accent);}
.check-row a{color:var(--accent-2);text-decoration:underline;}

.divider-or{display:flex;align-items:center;gap:12px;margin:18px 0;}
.divider-or .line{flex:1;height:1px;background:var(--border-soft);}
.divider-or span{font-size:.72rem;color:var(--text-faint);}

.alert{border-radius:10px;padding:11px 14px;font-size:.85rem;margin-bottom:16px;border:1px solid transparent;}
.alert:last-child{margin-bottom:0;}
.alert-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger);}
.alert-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success);}
.alert-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning);}

/* ---------- LEGAL PAGES (impressum/datenschutz/agb) ---------- */
.legal-shell{max-width:720px;margin:0 auto;padding:64px 24px 90px;}
.legal-back{font-size:.85rem;color:var(--text-faint);}
.legal-back:hover{color:var(--text-dim);}
.legal-shell h1{font-size:1.6rem;margin-top:18px;margin-bottom:26px;color:var(--text);}
.legal-section{margin-bottom:22px;}
.legal-section:last-child{margin-bottom:0;}
.legal-section h2{font-size:.95rem;color:var(--text);margin-bottom:6px;}
.legal-section p{font-size:.88rem;color:var(--text-dim);line-height:1.7;}
.legal-section a{color:var(--accent);text-decoration:underline;}
.legal-body{display:flex;flex-direction:column;gap:22px;}

/* ---------- SHOP (shop.php) ---------- */
.shop-hero{max-width:640px;margin:0 auto;padding:64px 24px 40px;text-align:center;}
.shop-hero h1{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:14px;}
.shop-hero h1 .hl{color:var(--accent);}
.shop-hero p{color:var(--text-dim);font-size:1rem;max-width:520px;margin:0 auto;}
.license-banner{
  max-width:var(--maxw);margin:0 auto 32px;padding:0 24px;
}
.license-banner-inner{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:.88rem;color:var(--text-dim);
}
.license-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;margin-left:6px;}
.license-pill-ok{background:var(--surface-2);color:var(--text);}
.license-pill-bad{background:var(--danger-bg);color:var(--danger);}
.license-pill-muted{background:var(--surface-2);color:var(--text-faint);}
.plan-empty{
  max-width:520px;margin:0 auto;text-align:center;
  background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:48px 32px;
}
.plan-empty p{color:var(--text-dim);font-size:.92rem;margin-bottom:20px;}
.plan-grid{max-width:var(--maxw);margin:0 auto;padding:0 24px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.plan-card{
  position:relative;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);
  padding:26px;display:flex;flex-direction:column;transition:border-color .2s, transform .2s;
}
.plan-card:hover{border-color:var(--accent-dim);transform:translateY(-3px);}
.plan-card.has-badge{border-color:rgba(245,166,35,.4);}
.plan-badge{
  position:absolute;top:-12px;left:22px;background:var(--accent-2);color:#241300;
  font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:20px;
}
.plan-card h3{font-size:1.05rem;color:var(--text);margin-bottom:6px;}
.plan-card .plan-desc{font-size:.85rem;color:var(--text-dim);margin-bottom:16px;min-height:1px;}
.plan-price{font-family:'JetBrains Mono';font-size:1.7rem;font-weight:600;color:var(--text);}
.plan-price .old{font-size:.85rem;color:var(--text-faint);text-decoration:line-through;font-weight:400;display:block;margin-bottom:2px;}
.plan-meta{font-size:.74rem;color:var(--text-faint);margin-bottom:18px;}
.plan-foot-note{max-width:var(--maxw);margin:-64px auto 0;padding:0 24px 40px;text-align:center;font-size:.76rem;color:var(--text-faint);}
.coupon-feedback-ok{font-size:.76rem;color:var(--success);margin-top:6px;}
.coupon-feedback-bad{font-size:.76rem;color:var(--danger);margin-top:6px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1279px){
  .with-rail{grid-template-columns:1fr;}
  .rail{display:none;}
  .mobile-ad{display:flex;}
}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .hud{max-width:520px;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .plan-grid{grid-template-columns:repeat(2,1fr);}
  section{padding:72px 0;}
}
@media (max-width:860px){
  nav.main-nav{position:fixed;inset:72px 0 auto 0;background:var(--bg-elevated);border-bottom:1px solid var(--border-soft);
    flex-direction:column;align-items:flex-start;padding:20px 24px 26px;gap:18px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s;}
  nav.main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav-toggle{display:flex;}
  .header-actions .btn-ghost{display:none;}
  .price-card{grid-template-columns:1fr;text-align:left;}
  .price-side{align-items:flex-start;text-align:left;}
}
@media (max-width:640px){
  .header-inner{height:64px;padding:0 16px;gap:10px;}
  .header-actions{gap:8px;}
  .lang-toggle{display:none;}
  .nav-lang-toggle{display:inline-flex;}
  .header-actions .btn-accent{padding:9px 13px;font-size:.8rem;}
  .brand{font-size:1rem;gap:8px;}
  .brand-mark{width:32px;height:32px;}
  .brand-mark svg{width:17px;height:17px;}
  .brand small{font-size:.55rem;}
  .hero{padding:48px 0 56px;}
  .hero-cta{flex-direction:column;align-items:stretch;}
  .hero-cta .btn{width:100%;}
  .trust-row{gap:14px 20px;}
  .feature-grid{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:1fr;}
  .plan-grid{grid-template-columns:1fr;}
  .hud-stats{grid-template-columns:repeat(3,1fr);gap:8px;}
  .hud-stat{padding:10px 8px;}
  .hud-stat .num{font-size:1.1rem;}
  section{padding:56px 0;}
  .shop-banner{padding:26px;flex-direction:column;align-items:flex-start;}
  .price-card{padding:28px;}
  .price-figure .num{font-size:2.4rem;}
  .footer-links{gap:24px;}
  .footer-links{flex-direction:column;gap:28px;}
}
@media (max-width:380px){
  .header-actions .btn-accent{padding:8px 10px;font-size:.72rem;}
  .wrap{padding:0 16px;}
}
