/* ============================================
   WESTACE1.DE — RUBY RED + AMBER THEME
   Fonts: Playfair Display + Source Sans 3
   4-page site: home, login, bonus, auszahlung
   ============================================ */
:root {
  --ruby: #DC2626;
  --ruby-dark: #B91C1C;
  --ruby-glow: rgba(220, 38, 38, 0.12);
  --amber: #F59E0B;
  --amber-light: #FCD34D;
  --amber-glow: rgba(245, 158, 11, 0.1);
  --charcoal: #18181B;
  --carbon: #0F0F11;
  --graphite: #27272A;
  --zinc: #3F3F46;
  --stone: #71717A;
  --fog: #A1A1AA;
  --cloud: #D4D4D8;
  --snow: #FAFAFA;
  --panel: rgba(39, 39, 42, 0.5);
  --line: rgba(113, 113, 122, 0.15);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Source Sans 3',sans-serif;background:var(--charcoal);color:var(--fog);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}

/* === MASTHEAD === */
.masthead{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,15,17,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.mast-row{max-width:1060px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between}
.mark{text-decoration:none;display:flex;align-items:center;gap:7px}
.mark-badge{width:32px;height:32px;background:linear-gradient(135deg,var(--ruby),var(--amber));border-radius:7px;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:18px;color:var(--carbon);font-weight:800}
.mark-label{font-family:'Playfair Display',serif;font-size:20px;color:var(--snow);letter-spacing:.5px}
.site-nav{display:flex;gap:2px;list-style:none}
.site-nav a{color:var(--stone);text-decoration:none;font-size:13px;font-weight:500;padding:6px 11px;border-radius:5px;transition:.2s}
.site-nav a:hover,.site-nav a.current{color:var(--amber);background:var(--amber-glow)}
.mast-btns{display:flex;gap:8px;align-items:center}
.m-link{color:var(--ruby);font-size:12px;font-weight:600;text-decoration:none;padding:5px 12px;border:1px solid var(--ruby-glow);border-radius:5px;transition:.2s}
.m-link:hover{background:var(--ruby-glow)}
.m-cta{background:var(--ruby);color:var(--snow);font-size:12px;font-weight:700;text-decoration:none;padding:7px 16px;border-radius:5px;transition:.2s;text-transform:uppercase;letter-spacing:.3px}
.m-cta:hover{background:var(--ruby-dark);box-shadow:0 4px 16px rgba(220,38,38,.3)}
.m-toggle{display:none;background:none;border:none;color:var(--snow);font-size:20px;cursor:pointer}

/* === PAGE HERO === */
.pg-hero{padding:120px 20px 60px;text-align:center;position:relative}
.pg-hero::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(circle,var(--ruby-glow) 0%,var(--amber-glow) 35%,transparent 65%);pointer-events:none;opacity:.6}
.badge-line{display:inline-block;background:var(--ruby-glow);border:1px solid rgba(220,38,38,.2);border-radius:99px;padding:4px 13px;font-size:10px;font-weight:700;color:var(--ruby);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;position:relative;z-index:1}
.pg-h1{font-family:'Playfair Display',serif;font-size:clamp(28px,4.2vw,44px);color:var(--snow);line-height:1.15;margin-bottom:16px;position:relative;z-index:1}
.pg-h1 em{font-style:normal;color:var(--ruby)}
.pg-h1 b{font-weight:800;color:var(--amber)}
.pg-intro{font-size:17px;color:var(--fog);max-width:600px;margin:0 auto 28px;position:relative;z-index:1}
.offer-strip{display:inline-flex;flex-direction:column;align-items:center;gap:3px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 30px;margin-bottom:24px;position:relative;z-index:1}
.offer-strip .tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--stone)}
.offer-strip .big{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,36px);color:var(--snow);font-weight:700}
.offer-strip .big em{font-style:normal;color:var(--ruby)}
.offer-strip .note{font-size:11px;color:var(--stone)}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.btn-go{background:var(--ruby);color:var(--snow);font-size:14px;font-weight:700;text-decoration:none;padding:12px 28px;border-radius:8px;transition:.25s;text-transform:uppercase;letter-spacing:.4px}
.btn-go:hover{background:var(--ruby-dark);box-shadow:0 6px 24px rgba(220,38,38,.35);transform:translateY(-1px)}
.btn-alt{color:var(--cloud);font-size:14px;font-weight:500;text-decoration:none;padding:12px 28px;border-radius:8px;border:1px solid var(--line);transition:.2s}
.btn-alt:hover{border-color:var(--stone);background:rgba(113,113,122,.06)}

/* === CONTENT === */
.wrapper{max-width:780px;margin:0 auto;padding:0 20px}
.seg{padding:48px 0}
.seg+.seg{border-top:1px solid var(--line)}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(20px,2.8vw,28px);color:var(--snow);margin-bottom:20px;line-height:1.2}
.sec-title em{font-style:normal;color:var(--ruby)}
.sec-title b{font-weight:700;color:var(--amber)}
.sub-title{font-size:17px;font-weight:700;color:var(--snow);margin-top:24px;margin-bottom:6px;padding-left:10px;border-left:3px solid var(--ruby)}
p{margin-bottom:14px}

/* === INFO TILES === */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:20px 0}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}
.tile .k{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--stone);margin-bottom:3px}
.tile .v{font-size:14px;font-weight:600;color:var(--snow)}

/* === TABLES === */
.tbl-box{overflow-x:auto;margin:20px 0;border-radius:8px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{background:var(--graphite);color:var(--cloud);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:10px 12px;text-align:left}
tbody td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--fog)}
tbody tr:hover{background:rgba(220,38,38,.02)}
tbody td:first-child{color:var(--snow);font-weight:600}

/* === CTA CARD === */
.action-card{background:linear-gradient(135deg,var(--ruby-glow),var(--amber-glow));border:1px solid var(--line);border-radius:12px;padding:28px;text-align:center;margin:32px 0}
.action-card .sec-title{font-size:22px;margin-bottom:4px}
.action-card p{color:var(--stone);margin-bottom:16px}

/* === NUMBERED LIST === */
.num-list{counter-reset:steps;margin:20px 0}
.num-list .item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.num-list .item::before{counter-increment:steps;content:counter(steps);flex-shrink:0;width:28px;height:28px;background:linear-gradient(135deg,var(--ruby),var(--amber));border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--carbon)}
.num-list .item-content .label{font-weight:700;font-size:14px;color:var(--snow);margin-bottom:2px}
.num-list .item-content .desc{font-size:13px;color:var(--fog);margin:0}

/* === TOGGLE FAQ === */
.toggle-item{border-bottom:1px solid var(--line);padding:14px 0}
.toggle-q{font-weight:600;font-size:14px;color:var(--snow);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.toggle-q::after{content:'+';font-size:18px;color:var(--ruby);flex-shrink:0}
.toggle-item.active .toggle-q::after{content:'−'}
.toggle-a{max-height:0;overflow:hidden;transition:max-height .3s;font-size:13px;color:var(--fog);line-height:1.7}
.toggle-item.active .toggle-a{max-height:260px;padding-top:8px}

/* === VERDICT === */
.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.split-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}
.split-card.plus{border-top:3px solid #22C55E}
.split-card.minus{border-top:3px solid #EF4444}
.split-card h4{font-size:15px;color:var(--snow);margin-bottom:10px;font-weight:700}
.split-card ul{list-style:none;padding:0}
.split-card li{font-size:12px;padding:5px 0 5px 20px;position:relative;line-height:1.5}
.split-card.plus li::before{content:'✓';position:absolute;left:0;color:#22C55E;font-weight:800}
.split-card.minus li::before{content:'✗';position:absolute;left:0;color:#EF4444;font-weight:800}

/* === TESTIMONIALS === */
.voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:20px 0}
.voice{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}
.voice q{display:block;font-style:italic;font-size:13px;color:var(--cloud);margin-bottom:8px;line-height:1.5;quotes:none}
.voice .who{font-size:10px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.7px}

/* === GEO === */
.geo-row{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}
.geo-row a{font-size:10px;color:var(--stone);border:1px solid var(--line);border-radius:3px;padding:3px 8px;text-decoration:none;transition:.2s}
.geo-row a:hover{color:var(--amber);border-color:rgba(245,158,11,.2)}

/* === INTERNAL NAV CARDS === */
.page-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:24px 0}
.page-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;text-decoration:none;transition:.25s;display:block}
.page-card:hover{border-color:var(--ruby);transform:translateY(-2px);box-shadow:0 8px 24px rgba(220,38,38,.08)}
.page-card .pc-icon{font-size:24px;margin-bottom:8px}
.page-card .pc-title{font-family:'Playfair Display',serif;font-size:17px;color:var(--snow);margin-bottom:4px}
.page-card .pc-desc{font-size:12px;color:var(--stone);margin:0}

/* === BREADCRUMB === */
.crumbs{padding:80px 20px 0;max-width:780px;margin:0 auto}
.crumbs a,.crumbs span{font-size:12px;color:var(--stone);text-decoration:none}
.crumbs a:hover{color:var(--amber)}
.crumbs .sep{margin:0 6px;color:var(--zinc)}

/* === FOOTER === */
.ground{background:var(--carbon);border-top:1px solid var(--line);padding:36px 20px 16px;margin-top:28px}
.ground-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px}
.ground-grid h6{font-size:11px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.ground-grid p,.ground-grid a{font-size:11px;color:var(--stone);line-height:1.8;text-decoration:none}
.ground-grid a:hover{color:var(--amber)}
.ground-legal{max-width:1060px;margin:24px auto 0;padding-top:14px;border-top:1px solid var(--line);text-align:center;font-size:10px;color:var(--stone)}
.ground-legal strong{color:#EF4444}

/* === MOBILE === */
.mob-stick{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:rgba(15,15,17,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px 12px;text-align:center}
.mob-stick a{display:block;background:var(--ruby);color:var(--snow);font-weight:700;font-size:13px;padding:11px;border-radius:7px;text-decoration:none;text-transform:uppercase;letter-spacing:.3px}

@media(max-width:768px){
  .site-nav{display:none}.m-toggle{display:block}.mast-btns .m-link{display:none}
  .pg-hero{padding:100px 14px 44px}.mob-stick{display:block}.wrapper{padding:0 14px}
  .split{grid-template-columns:1fr}body{padding-bottom:60px}
}
@media(max-width:480px){.tiles{grid-template-columns:1fr}.voices{grid-template-columns:1fr}.page-cards{grid-template-columns:1fr}}

.entrance{opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s}
.entrance.vis{opacity:1;transform:none}
