/*
Theme Name: Non Gamstop Betting Sites
Theme URI: https://nongamstopbettingsites.org.uk
Author: nongamstopbettingsites.org.uk
Description: Casino affiliate theme for Non Gamstop Betting Sites
Version: 1.0.0
Text Domain: nokyc-theme
*/

/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary:#14B8A6;
  --secondary:#134E4A;
  --accent:#2DD4BF;
  --bg:#042F2E;
  --surface:#134E4A;
  --text:#F0FDFA;
  --text-muted:#99F6E4;
  --cta:#0D9488;
  --cta-hover:#14B8A6;
  --border:#115E59;
  --radius:0px;
  --max-w:1280px;
  --font-body:'Inter',sans-serif;
  --font-heading:'Space Grotesk',sans-serif;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:16px;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--primary)}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px;width:100%}
.section-spacing{padding:60px 0}

/* ===== HEADER ===== */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:var(--secondary);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.site-logo{
  font-family:var(--font-heading);font-size:18px;font-weight:700;
  color:var(--text);white-space:nowrap;
}
.site-logo:hover{color:var(--accent)}
.main-nav ul{display:flex;list-style:none;gap:28px}
.main-nav a{
  color:var(--text-muted);font-size:14px;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;
  width:32px;height:32px;position:relative;
}
.hamburger span{
  display:block;width:24px;height:2px;background:var(--text);
  position:absolute;left:4px;transition:all .3s;
}
.hamburger span:nth-child(1){top:8px}
.hamburger span:nth-child(2){top:15px}
.hamburger span:nth-child(3){top:22px}
.hamburger.active span:nth-child(1){transform:rotate(45deg);top:15px}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg);top:15px}
.mobile-nav{
  display:none;position:absolute;top:64px;left:0;right:0;
  background:var(--secondary);border-bottom:1px solid var(--border);
  padding:20px;
}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:16px}
.mobile-nav a{color:var(--text-muted);font-size:16px;font-weight:500}
.mobile-nav a:hover{color:var(--accent)}

/* ===== HERO ===== */
.hero{
  min-height:60vh;display:flex;align-items:center;justify-content:center;
  background:var(--secondary);text-align:center;padding:60px 20px;
}
.hero h1{font-size:clamp(28px,5vw,52px);margin-bottom:16px;color:var(--text)}
.hero p{font-size:clamp(16px,2vw,20px);color:var(--text-muted);margin-bottom:32px;max-width:700px;margin-left:auto;margin-right:auto}
.hero-inner{max-width:800px}
.inner-hero{
  min-height:40vh;display:flex;align-items:center;justify-content:center;
  background:var(--secondary);text-align:center;padding:60px 20px;
}
.inner-hero.tall{min-height:45vh}
.inner-hero h1{font-size:clamp(26px,4vw,44px);margin-bottom:20px;color:var(--text)}
.inner-hero p{font-size:clamp(15px,2vw,18px);color:var(--text-muted);margin-bottom:24px}
.badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
.badge{
  display:inline-block;padding:8px 20px;
  background:var(--cta);color:var(--text);
  font-size:14px;font-weight:600;
  border-radius:var(--radius);
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-block;padding:12px 28px;
  background:var(--cta);color:var(--text);
  font-weight:600;font-size:14px;
  border:none;cursor:pointer;
  border-radius:var(--radius);
  transition:background .2s;
  text-align:center;
}
.btn:hover{background:var(--cta-hover);color:var(--text)}
.btn-sm{padding:8px 18px;font-size:13px}
.btn-block{display:block;width:100%}

/* ===== CASINO GRID ===== */
.casino-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.casino-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;flex-direction:column;
}
.casino-card-header{
  padding:16px;display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--border);
}
.casino-card-logo{
  width:48px;height:48px;object-fit:contain;
  background:var(--bg);flex-shrink:0;
}
.casino-card-rank{
  position:absolute;top:8px;left:8px;
  background:var(--cta);color:var(--text);
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;
  border-radius:var(--radius);
}
.casino-card-header-info{flex:1;min-width:0}
.casino-card-header-info h3{font-size:15px;margin-bottom:2px;color:var(--text)}
.casino-card-stars{color:#FBBF24;font-size:13px}
.casino-card-badge{
  display:inline-block;padding:2px 8px;
  background:var(--cta);color:var(--text);
  font-size:11px;font-weight:600;margin-top:4px;
  border-radius:var(--radius);
}
.casino-card-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}
.casino-card-bonus{font-size:15px;font-weight:700;color:var(--accent)}
.casino-card-meta{font-size:13px;color:var(--text-muted);line-height:1.5}
.casino-card-meta span{display:block}
.casino-card-footer{padding:16px;border-top:1px solid var(--border)}
.casino-card-terms{font-size:11px;color:var(--text-muted);margin-top:8px}
.casino-card{position:relative}

/* ===== REVIEW BLOCKS ===== */
.review-block{margin-bottom:48px;border-bottom:1px solid var(--border);padding-bottom:48px}
.review-topbar{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-bottom:24px;padding:20px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);
}
.review-topbar-logo{width:56px;height:56px;object-fit:contain;background:var(--bg);flex-shrink:0}
.review-topbar-info{flex:1;min-width:0}
.review-topbar-info h3{font-size:20px;margin-bottom:4px}
.review-topbar-info .stars{color:#FBBF24;font-size:14px}
.review-topbar .btn{margin-left:auto;white-space:nowrap}
.review-screenshots{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  margin-bottom:24px;
}
.review-screenshots img{
  width:100%;height:200px;object-fit:cover;
  cursor:pointer;border:1px solid var(--border);
  border-radius:var(--radius);
}
.review-body{margin-bottom:24px;color:var(--text-muted);line-height:1.8}
.review-body h2,.review-body h3,.review-body h4{color:var(--text);margin:20px 0 10px}
.review-body p{margin-bottom:12px}
.review-body ul,.review-body ol{margin:0 0 12px 20px}
.pros-cons{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--border);margin-bottom:16px;
  border-radius:var(--radius);overflow:hidden;
}
.pros-col,.cons-col{padding:16px}
.pros-col{border-right:1px solid var(--border)}
.pros-col h4{color:#34D399;margin-bottom:12px;font-size:15px}
.cons-col h4{color:#F87171;margin-bottom:12px;font-size:15px}
.pros-col ul,.cons-col ul{list-style:none}
.pros-col li,.cons-col li{padding:4px 0;font-size:14px;color:var(--text-muted)}
.pros-col li::before{content:"✓ ";color:#34D399;font-weight:700}
.cons-col li::before{content:"✗ ";color:#F87171;font-weight:700}

/* ===== FAQ ===== */
.faq-item{margin-bottom:24px}
.faq-item h3{font-size:17px;margin-bottom:8px;color:var(--text)}
.faq-item p{color:var(--text-muted);font-size:15px}

/* ===== AUTHOR BOX ===== */
.author-box{
  display:flex;gap:20px;align-items:flex-start;
  padding:24px;background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.author-box img{
  width:80px;height:80px;object-fit:cover;
  border-radius:var(--radius);flex-shrink:0;
}
.author-box-info h4{font-size:16px;margin-bottom:4px}
.author-box-info p{font-size:14px;color:var(--text-muted)}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--secondary);
  border-top:1px solid var(--border);
  padding:32px 0;text-align:center;
}
.site-footer p{font-size:13px;color:var(--text-muted);margin-bottom:8px}
.site-footer .disclaimer{font-size:11px;color:var(--text-muted);opacity:.7;max-width:800px;margin:8px auto 0}

/* ===== LIGHTBOX ===== */
.lightbox-overlay{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,.9);z-index:2000;
  justify-content:center;align-items:center;cursor:pointer;
}
.lightbox-overlay.active{display:flex}
.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain}

/* ===== CONTACT FORM ===== */
.contact-form{
  background:var(--surface);border:1px solid var(--border);
  padding:32px;border-radius:var(--radius);margin-bottom:32px;
}
.contact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:12px;margin-bottom:16px;
  background:var(--bg);color:var(--text);
  border:1px solid var(--border);
  border-radius:var(--radius);
  font-family:var(--font-body);font-size:14px;
}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:none;border-color:var(--accent);
}
.contact-info-box{
  background:var(--surface);border:1px solid var(--border);
  padding:24px;border-radius:var(--radius);
}
.contact-info-box h3{font-size:18px;margin-bottom:12px}
.contact-info-box p{font-size:14px;color:var(--text-muted);margin-bottom:8px}
.toast{
  position:fixed;bottom:24px;right:24px;
  background:var(--cta);color:var(--text);
  padding:14px 24px;font-size:14px;font-weight:600;
  border-radius:var(--radius);z-index:3000;
  display:none;
}
.toast.show{display:block}

/* ===== CONTENT SECTION (plugin injected) ===== */
.content-section{background:var(--bg)}
.content-section .container{color:var(--text-muted);line-height:1.8}
.content-section h2,.content-section h3,.content-section h4{color:var(--text);margin:20px 0 10px}
.content-section p{margin-bottom:12px}
.content-section ul,.content-section ol{margin:0 0 12px 20px}

/* ===== PAGE CONTENT ===== */
.page-content{padding:60px 0}
.page-content .container{color:var(--text-muted);line-height:1.8}
.page-content h2,.page-content h3,.page-content h4{color:var(--text);margin:20px 0 10px}
.page-content p{margin-bottom:12px}
.page-content ul,.page-content ol{margin:0 0 12px 20px}

/* ===== ABOUT US ===== */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.team-member{
  background:var(--surface);border:1px solid var(--border);
  padding:24px;border-radius:var(--radius);text-align:center;
}
.team-member img{
  width:120px;height:120px;object-fit:cover;
  border-radius:var(--radius);margin:0 auto 16px;
}
.team-member h3{font-size:18px;margin-bottom:4px}
.team-member p{font-size:14px;color:var(--text-muted)}

/* ===== HOW WE RATE ===== */
.criteria-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;
}
.criteria-card{
  background:var(--surface);border:1px solid var(--border);
  padding:20px;border-radius:var(--radius);
}
.criteria-card h3{font-size:16px;margin-bottom:8px;color:var(--accent)}
.criteria-card p{font-size:14px;color:var(--text-muted)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .casino-grid{grid-template-columns:repeat(2,1fr)}
  .criteria-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .main-nav{display:none}
  .hamburger{display:block}
  .casino-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:50vh;padding:40px 20px}
  .inner-hero{min-height:35vh;padding:40px 20px}
  .review-topbar{flex-direction:column;align-items:flex-start}
  .review-topbar .btn{margin-left:0;margin-top:12px}
  .pros-cons{grid-template-columns:1fr}
  .pros-col{border-right:none;border-bottom:1px solid var(--border)}
  .team-grid{grid-template-columns:1fr}
  .criteria-grid{grid-template-columns:1fr}
  .section-spacing{padding:40px 0}
  .author-box{flex-direction:column}
  .review-screenshots img{height:160px}
}
@media(max-width:480px){
  .casino-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .casino-card-header{padding:10px;gap:8px}
  .casino-card-logo{width:36px;height:36px}
  .casino-card-header-info h3{font-size:13px}
  .casino-card-body{padding:10px}
  .casino-card-footer{padding:10px}
  .casino-card-bonus{font-size:13px}
  .casino-card-meta{font-size:12px}
}
