/*
Theme Name: Beste Wettanbieter ohne OASIS
Theme URI: https://bestewettanbieterohneoasis.casino
Description: German crypto casino affiliate theme — dark purple/indigo + neon green
Version: 1.0
Author: bestewettanbieterohneoasis.casino
Text Domain: bestewettanbieterohneoasis
*/

/* ─── RESET & BASE ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#1a1330;
  --bg-alt:#211842;
  --bg-card:#2a1f52;
  --bg-card-alt:#31245e;
  --accent:#39ff14;
  --accent-dim:rgba(57,255,20,.2);
  --accent2:#b8ff57;
  --text:#e8e0f0;
  --text-muted:#9b8fb8;
  --text-heading:#f5f0ff;
  --border:rgba(57,255,20,.15);
  --radius:8px;
  --max-w:1280px;
  --font-body:'Inter',sans-serif;
  --font-heading:'Space Grotesk',sans-serif;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;font-size:16px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:opacity .2s}
a:hover{opacity:.8}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-heading);line-height:1.3;margin-bottom:.5em}
h1{font-size:2.4rem}h2{font-size:1.8rem}h3{font-size:1.35rem}
p{margin-bottom:1em}
strong{color:var(--text-heading)}

/* ─── LAYOUT ─── */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 24px}
.section-spacing{padding:60px 0}

/* ─── HEADER ─── */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(26,19,48,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:14px 0}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.site-logo{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--accent);white-space:nowrap}
.main-nav{display:flex;gap:28px;list-style:none}
.main-nav a{color:var(--text);font-size:.9rem;font-weight:500;transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:var(--accent)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;transition:all .3s}
.mobile-menu{display:none;position:fixed;inset:0;background:rgba(26,19,48,.98);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--text);font-size:1.3rem;font-weight:600}
.mobile-menu .close-btn{position:absolute;top:20px;right:24px;background:none;border:none;color:var(--text);font-size:2rem;cursor:pointer}

/* ─── HERO ─── */
.hero{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(170deg,#211842 0%,#1a1330 100%);padding:80px 24px 60px;position:relative}
.hero h1{font-size:clamp(1.7rem,4vw,2.8rem);margin-bottom:16px;max-width:900px}
.hero .subtitle{font-size:1.1rem;color:var(--text-muted);max-width:700px;margin:0 auto 20px}
.hero .meta-line{font-size:.88rem;color:var(--text-muted);margin-bottom:8px}
.hero .author-line{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.88rem;color:var(--text-muted);margin-bottom:24px}
.hero .author-line img{width:32px;height:32px;border-radius:50%;object-fit:contain}
.hero .cta-btn{display:inline-block;background:var(--accent);color:#1a1330;font-weight:700;padding:14px 36px;border-radius:var(--radius);font-size:1rem;transition:transform .2s,box-shadow .2s}
.hero .cta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(57,255,20,.3);opacity:1}
.inner-hero{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(170deg,#211842 0%,#1a1330 100%);padding:100px 24px 50px}
.inner-hero.tall{min-height:45vh}
.inner-hero h1{font-size:clamp(1.5rem,3.5vw,2.4rem);margin-bottom:20px}
.badge-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}
.badge{background:var(--bg-card);border:1px solid var(--border);padding:8px 18px;border-radius:var(--radius);font-size:.82rem;color:var(--accent2);font-weight:600}

/* ─── SECTION DIVIDER ─── */
.section-divider{text-align:center;padding:40px 0}
.section-divider::after{content:'';display:inline-block;width:200px;max-width:60%;height:1px;background:var(--accent);opacity:.2}

/* ─── TABLE OF CONTENTS ─── */
.toc-wrap{max-width:600px;margin:0 auto 40px;padding:0 24px}
.toc-box{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.toc-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--text-heading);user-select:none}
.toc-toggle .arrow{transition:transform .3s;color:var(--accent)}
.toc-list{display:none;padding:0 18px 14px;list-style:none}
.toc-list li{padding:5px 0}
.toc-list a{color:var(--text-muted);font-size:.82rem;transition:color .2s}
.toc-list a:hover{color:var(--accent)}
.toc-box.open .toc-list{display:block}
.toc-box.open .arrow{transform:rotate(180deg)}

/* ─── CASINO GRID ─── */
.casino-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 0 20px}
.casino-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.casino-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(57,255,20,.08)}
.card-badge{position:absolute;top:12px;right:12px;background:var(--accent);color:#1a1330;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:4px}
.card-header{position:relative;padding:20px 20px 12px;display:flex;align-items:center;gap:14px}
.card-logo{width:60px;height:60px;object-fit:contain;border-radius:var(--radius);background:rgba(255,255,255,.05);flex-shrink:0}
.card-title-area{flex:1;min-width:0}
.card-title-area h3{font-size:1.05rem;margin-bottom:2px}
.card-rank{font-size:.78rem;color:var(--accent2);font-weight:600}
.card-stars{color:var(--accent);font-size:.85rem;letter-spacing:1px}
.card-body{padding:0 20px 16px;flex:1}
.card-bonus{font-size:1rem;font-weight:700;color:var(--text-heading);margin-bottom:12px;line-height:1.4}
.card-info{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:.8rem;margin-bottom:14px}
.card-info .label{color:var(--text-muted)}
.card-info .value{color:var(--text-heading);font-weight:600}
.payment-icons{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.payment-icon{width:32px;height:20px;background:rgba(255,255,255,.08);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--text-muted);font-weight:700;letter-spacing:.5px}
.bonus-details-toggle{background:none;border:none;color:var(--accent);font-size:.78rem;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:4px;margin-bottom:12px}
.bonus-details-toggle .bd-arrow{transition:transform .3s;font-size:.65rem}
.bonus-details-content{display:none;font-size:.78rem;color:var(--text-muted);padding:8px 12px;background:var(--bg-alt);border-radius:4px;margin-bottom:12px;line-height:1.5}
.bonus-details-content.open{display:block}
.bonus-details-toggle.open .bd-arrow{transform:rotate(180deg)}
.card-footer{padding:0 20px 20px;margin-top:auto}
.card-cta{display:block;text-align:center;background:var(--accent);color:#1a1330;font-weight:700;padding:12px;border-radius:var(--radius);font-size:.95rem;transition:transform .2s,box-shadow .2s;text-transform:uppercase;letter-spacing:.5px}
.card-cta:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(57,255,20,.25);opacity:1}
.card-terms{font-size:.68rem;color:var(--text-muted);text-align:center;margin-top:8px;line-height:1.4}

/* ─── REVIEW BLOCKS ─── */
.review-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:40px;overflow:hidden}
.review-topbar{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--bg-card-alt);flex-wrap:wrap}
.review-topbar img{width:48px;height:48px;object-fit:contain;border-radius:var(--radius)}
.review-topbar h3{flex:1;font-size:1.15rem;margin:0}
.review-topbar .stars{color:var(--accent);font-size:.9rem;margin-right:auto}
.review-cta{background:var(--accent);color:#1a1330;font-weight:700;padding:10px 24px;border-radius:var(--radius);font-size:.85rem;white-space:nowrap}
.review-screenshots{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 24px}
.review-screenshots img{width:100%;height:auto;object-fit:contain;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);transition:opacity .2s}
.review-screenshots img:hover{opacity:.85}
.review-body{padding:20px 24px}
.review-body p{margin-bottom:1em}
.review-body h2,.review-body h3{margin-top:1.2em}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border)}
.pros-col,.cons-col{padding:20px 24px}
.pros-col{border-right:1px solid var(--border)}
.pros-col h4{color:#39ff14;margin-bottom:12px;font-size:.95rem}
.cons-col h4{color:#ff5252;margin-bottom:12px;font-size:.95rem}
.pros-col li,.cons-col li{font-size:.85rem;margin-bottom:8px;padding-left:18px;position:relative;list-style:none}
.pros-col li::before{content:'✓';position:absolute;left:0;color:#39ff14;font-weight:700}
.cons-col li::before{content:'✗';position:absolute;left:0;color:#ff5252;font-weight:700}

/* ─── CONTENT SECTIONS ─── */
.content-section{width:100%}
.content-section.alt-bg{background:var(--bg-alt)}
.content-section .section-inner{max-width:var(--max-w);margin:0 auto;padding:50px 24px}
.content-section h2{color:var(--accent);margin-bottom:16px}
.content-section h3{margin-top:1.5em;margin-bottom:.5em}
.content-section p{width:90%;max-width:100%}
.content-section table,.page-content table{width:100%;border-collapse:collapse;margin:1.2em 0}
.content-section th,.content-section td,.page-content th,.page-content td{padding:10px 14px;border:1px solid var(--border);font-size:.88rem;text-align:left}
.content-section th,.page-content th{background:var(--bg-card-alt);color:var(--accent2);font-weight:600}
.content-section td,.page-content td{background:var(--bg-card)}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2em 0}
.table-responsive table{margin:0;min-width:600px}

/* ─── FAQ ─── */
.faq-section{background:var(--bg-alt)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--text-heading);min-height:48px;user-select:none}
.faq-icon{color:var(--accent);font-size:1.3rem;flex-shrink:0;transition:transform .3s;margin-left:12px}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:.9rem;color:var(--text-muted);line-height:1.6}
.faq-answer-inner{padding:0 0 18px}
.faq-item.open .faq-icon{transform:rotate(45deg)}

/* ─── AUTHOR BOX ─── */
.author-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;gap:20px;align-items:flex-start;margin:40px auto;max-width:800px}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:contain;flex-shrink:0}
.author-box h4{font-size:1rem;margin-bottom:4px}
.author-box p{font-size:.85rem;color:var(--text-muted);margin:0}

/* ─── FOOTER ─── */
.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);padding:40px 0;text-align:center}
.site-footer .footer-name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:12px}
.site-footer p{font-size:.78rem;color:var(--text-muted);margin-bottom:8px;line-height:1.5;max-width:800px;margin-left:auto;margin-right:auto}
.site-footer a{color:var(--accent)}

/* ─── PAGE CONTENT ─── */
.page-content{max-width:var(--max-w);margin:0 auto;padding:50px 24px}
.page-content h2{color:var(--accent);margin-top:1.5em;margin-bottom:.5em}
.page-content h3{margin-top:1.2em;margin-bottom:.4em}
.page-content p{width:90%;max-width:100%}
.page-content img{border-radius:var(--radius);object-fit:contain}

/* ─── CONTACT FORM ─── */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.contact-form label{display:block;font-size:.85rem;font-weight:600;color:var(--text-heading);margin-bottom:6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:12px 14px;border-radius:var(--radius);font-size:.9rem;margin-bottom:16px;font-family:var(--font-body)}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form button{background:var(--accent);color:#1a1330;font-weight:700;padding:14px 32px;border:none;border-radius:var(--radius);cursor:pointer;font-size:.95rem;transition:transform .2s}
.contact-form button:hover{transform:translateY(-2px)}
.contact-info-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.contact-info-box h3{margin-bottom:12px;font-size:1rem}
.contact-info-box p{font-size:.85rem;color:var(--text-muted)}
.toast{position:fixed;bottom:30px;right:30px;background:var(--accent);color:#1a1330;padding:14px 28px;border-radius:var(--radius);font-weight:700;transform:translateY(120px);transition:transform .4s;z-index:9999}
.toast.show{transform:translateY(0)}

/* ─── LIGHTBOX ─── */
.lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:10000;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox-overlay.open{display:flex}
.lightbox-overlay img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:var(--radius)}

/* ─── ABOUT TEAM ─── */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}
.team-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center}
.team-card img{width:100px;height:100px;border-radius:50%;object-fit:contain;margin:0 auto 14px}
.team-card h3{font-size:1rem;margin-bottom:8px}
.team-card p{font-size:.82rem;color:var(--text-muted)}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .casino-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hamburger{display:block}
  .main-nav{display:none}
  .casino-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .review-screenshots{grid-template-columns:1fr}
  .pros-cons{grid-template-columns:1fr}
  .pros-col{border-right:none;border-bottom:1px solid var(--border)}
  .contact-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  h1{font-size:1.6rem}h2{font-size:1.4rem}
  .content-section p,.page-content p{width:100%}
  .table-responsive table{min-width:500px}
  .table-responsive td,.table-responsive th{font-size:13px;padding:8px 10px}
  .author-box{flex-direction:column;align-items:center;text-align:center}
  .review-topbar{flex-direction:column;text-align:center;gap:10px}
  .card-info{grid-template-columns:1fr}
}
@media(max-width:480px){
  .casino-grid{grid-template-columns:1fr 1fr;gap:10px}
  .card-header{flex-direction:column;text-align:center;align-items:center}
  .card-body{padding:0 14px 12px}
  .card-footer{padding:0 14px 14px}
}
