/* =========================================================
   TragamonedasPro.com — Premium Casino Aggregator Stylesheet
   Neon Purple / Pink theme
========================================================= */

:root{
  --bg-deep:#0a0518;
  --bg-panel:#150a2e;
  --bg-panel-2:#1c0f3d;
  --neon-purple:#b24bf3;
  --neon-pink:#ff2fb0;
  --neon-cyan:#4bf3d9;
  --neon-gold:#ffd54b;
  --text-main:#f1e9ff;
  --text-dim:#b8a9d9;
  --border-glow: rgba(178,75,243,.45);
  --radius:18px;
  --font-head:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  background:var(--bg-deep);
  color:var(--text-main);
  line-height:1.6;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 15% 10%, rgba(178,75,243,.20), transparent 40%),
    radial-gradient(circle at 85% 20%, rgba(255,47,176,.18), transparent 45%),
    radial-gradient(circle at 50% 90%, rgba(75,243,217,.10), transparent 45%);
  background-attachment:fixed;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}

h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;letter-spacing:.3px;}

.neon-text{
  color:#fff;
  text-shadow:0 0 6px var(--neon-purple),0 0 18px var(--neon-purple),0 0 36px var(--neon-pink);
}
.neon-text-cyan{color:#fff;text-shadow:0 0 6px var(--neon-cyan),0 0 18px var(--neon-cyan);}
.neon-text-gold{color:#fff;text-shadow:0 0 6px var(--neon-gold),0 0 16px var(--neon-gold);}

.gradient-btn{
  display:inline-block;
  padding:14px 32px;
  border-radius:50px;
  font-weight:700;
  font-family:var(--font-head);
  font-size:.95rem;
  letter-spacing:.5px;
  background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));
  color:#fff;
  border:none;
  cursor:pointer;
  box-shadow:0 0 15px rgba(255,47,176,.55), 0 0 35px rgba(178,75,243,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.gradient-btn:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 0 25px rgba(255,47,176,.85), 0 0 55px rgba(178,75,243,.55);
}
.gradient-btn.outline{
  background:transparent;
  border:2px solid var(--neon-purple);
  box-shadow:0 0 12px rgba(178,75,243,.4);
}

/* ============ TOP AGE BAR ============ */
.age-topbar{
  background:#1a0b33;
  border-bottom:1px solid var(--border-glow);
  text-align:center;
  padding:8px 12px;
  font-size:.8rem;
  color:var(--neon-gold);
  font-weight:600;
  letter-spacing:.5px;
}
.age-topbar span{text-shadow:0 0 8px rgba(255,213,75,.6);}

/* ============ HEADER ============ */
header.site-header{
  position:sticky;top:0;z-index:900;
  background:rgba(10,5,24,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(178,75,243,.25);
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;
}
.logo{
  font-family:var(--font-head);
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
  text-shadow:0 0 10px var(--neon-purple), 0 0 22px var(--neon-pink);
}
.logo span{color:var(--neon-gold);text-shadow:0 0 10px var(--neon-gold);}
nav.main-nav ul{display:flex;gap:28px;}
nav.main-nav a{
  font-weight:600;font-size:.92rem;color:var(--text-dim);
  transition:color .2s;
  position:relative;
}
nav.main-nav a:hover, nav.main-nav a.active{color:#fff;text-shadow:0 0 8px var(--neon-purple);}
.burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;}

@media(max-width:900px){
  nav.main-nav{
    position:fixed;top:0;right:-100%;width:78%;height:100vh;
    background:linear-gradient(180deg,var(--bg-panel),var(--bg-deep));
    padding:90px 30px;transition:right .35s ease;
    border-left:1px solid var(--border-glow);
  }
  nav.main-nav.open{right:0;}
  nav.main-nav ul{flex-direction:column;gap:22px;}
  .burger{display:block;}
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:78vh;
  display:flex;align-items:center;
  background:linear-gradient(180deg, rgba(10,5,24,.55), rgba(10,5,24,.92)), url('../images/hero-bg.jpg') center/cover no-repeat;
}
.hero-content{max-width:680px;padding:60px 0;}
.hero-tag{
  display:inline-block;padding:6px 16px;border-radius:30px;
  border:1px solid var(--neon-pink);color:var(--neon-pink);
  font-size:.78rem;font-weight:700;letter-spacing:1px;margin-bottom:18px;
  text-shadow:0 0 8px rgba(255,47,176,.6);
}
.hero h1{font-size:2.9rem;line-height:1.15;margin-bottom:18px;}
.hero p{color:var(--text-dim);font-size:1.08rem;margin-bottom:30px;max-width:560px;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:34px;margin-top:44px;flex-wrap:wrap;}
.hero-stats div{text-align:left;}
.hero-stats strong{display:block;font-size:1.7rem;font-family:var(--font-head);color:#fff;text-shadow:0 0 10px var(--neon-purple);}
.hero-stats span{font-size:.8rem;color:var(--text-dim);}

/* ============ SECTION GENERIC ============ */
section{padding:80px 0;}
.section-title{text-align:center;max-width:700px;margin:0 auto 50px;}
.section-title .eyebrow{
  color:var(--neon-cyan);font-weight:700;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;
  text-shadow:0 0 8px rgba(75,243,217,.5);
}
.section-title h2{font-size:2.1rem;margin-top:10px;color:#fff;}
.section-title p{color:var(--text-dim);margin-top:12px;}

/* ============ PRODUCT / CASINO CARDS ============ */
.products-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
@media(max-width:900px){.products-grid{grid-template-columns:1fr;}}

.product-card{
  position:relative;
  background:linear-gradient(160deg,var(--bg-panel),var(--bg-panel-2));
  border:1px solid rgba(178,75,243,.3);
  border-radius:var(--radius);
  padding:30px 26px;
  text-align:center;
  transition:transform .3s, box-shadow .3s;
  overflow:hidden;
}
.product-card::before{
  content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:var(--radius);
  background:linear-gradient(120deg,var(--neon-purple),var(--neon-pink),var(--neon-cyan));
  opacity:0;z-index:-1;transition:opacity .3s;filter:blur(14px);
}
.product-card:hover{transform:translateY(-8px);box-shadow:0 10px 40px rgba(178,75,243,.35);}
.product-card:hover::before{opacity:.55;}
.rank-badge{
  position:absolute;top:16px;left:16px;
  background:linear-gradient(90deg,var(--neon-gold),#ffb347);
  color:#1a0b33;font-weight:800;font-size:.78rem;
  padding:4px 12px;border-radius:20px;
}
.product-logo-box{
  width:100%;height:90px;display:flex;align-items:center;justify-content:center;
  margin:20px 0 18px;background:rgba(255,255,255,.04);border-radius:12px;padding:10px;
}
.product-logo-box img{max-height:70px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(178,75,243,.5));}
.product-card h3{color:#fff;font-size:1.25rem;margin-bottom:8px;}
.stars{color:var(--neon-gold);font-size:.95rem;margin-bottom:10px;text-shadow:0 0 6px rgba(255,213,75,.6);}
.product-card p.desc{color:var(--text-dim);font-size:.88rem;margin-bottom:16px;min-height:60px;}
.perks{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;}
.perks span{
  background:rgba(75,243,217,.1);border:1px solid rgba(75,243,217,.35);
  color:var(--neon-cyan);font-size:.72rem;padding:4px 10px;border-radius:14px;
}
.product-card .gradient-btn{width:100%;}

/* ============ INFO / FEATURE BLOCKS ============ */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:900px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.features-grid{grid-template-columns:1fr;}}
.feature-box{
  background:rgba(255,255,255,.03);border:1px solid rgba(178,75,243,.2);
  border-radius:14px;padding:26px 20px;text-align:center;
}
.feature-box .icon{font-size:2rem;margin-bottom:14px;}
.feature-box h4{color:#fff;font-size:1.02rem;margin-bottom:8px;}
.feature-box p{color:var(--text-dim);font-size:.85rem;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
@media(max-width:860px){.split{grid-template-columns:1fr;}}
.split h2{font-size:1.9rem;color:#fff;margin-bottom:16px;}
.split p{color:var(--text-dim);margin-bottom:14px;}
.split ul{margin-top:18px;}
.split ul li{color:var(--text-dim);padding:8px 0;border-bottom:1px dashed rgba(178,75,243,.2);}
.split ul li strong{color:#fff;}
.split-visual{
  border-radius:var(--radius);overflow:hidden;border:1px solid rgba(178,75,243,.35);
  box-shadow:0 0 40px rgba(178,75,243,.25);
}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media(max-width:860px){.steps{grid-template-columns:1fr;}}
.step{position:relative;padding:28px 22px;background:rgba(255,255,255,.03);border-radius:16px;border:1px solid rgba(178,75,243,.2);}
.step-num{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--neon-purple),var(--neon-pink));
  display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-head);
  margin-bottom:14px;box-shadow:0 0 16px rgba(255,47,176,.5);
}
.step h4{color:#fff;margin-bottom:8px;}
.step p{color:var(--text-dim);font-size:.88rem;}

/* FAQ */
.faq-item{
  border-bottom:1px solid rgba(178,75,243,.2);padding:18px 0;cursor:pointer;
}
.faq-q{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:600;}
.faq-q span.plus{color:var(--neon-pink);font-size:1.3rem;transition:transform .25s;}
.faq-item.open .faq-q span.plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--text-dim);font-size:.9rem;}
.faq-item.open .faq-a{max-height:220px;padding-top:12px;}

/* ============ REGULATORS ============ */
.regulators-section{
  background:linear-gradient(180deg,rgba(21,10,46,.6),rgba(10,5,24,.9));
  border-top:1px solid rgba(178,75,243,.2);
  border-bottom:1px solid rgba(178,75,243,.2);
}
.regulators-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:22px;align-items:center;
}
@media(max-width:900px){.regulators-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.regulators-grid{grid-template-columns:repeat(2,1fr);}}
.regulator-badge{
  background:rgba(255,255,255,.05);border:1px solid rgba(178,75,243,.25);
  border-radius:12px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;
  transition:transform .25s, border-color .25s;
  text-align:center;min-height:120px;justify-content:center;
}
.regulator-badge:hover{transform:translateY(-4px);border-color:var(--neon-cyan);box-shadow:0 0 20px rgba(75,243,217,.3);}
.regulator-badge img{max-height:42px;max-width:120px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(255,255,255,.25));}
.regulator-badge img[src*="raig"],.regulator-badge img[src*="gambling-commission"],.regulator-badge img[src*="gambleaware"],.regulator-badge img[src*="gamstop"]{background:#fff;border-radius:6px;padding:6px 10px;filter:none;}
.regulator-badge span{font-size:.72rem;color:var(--text-dim);}

/* ============ 18+ DISCLAIMER BLOCK ============ */
.disclaimer-block{
  background:#050311;
  border-top:2px solid var(--neon-pink);
  padding:40px 0;
}
.disclaimer-inner{display:flex;gap:24px;align-items:flex-start;}
.disclaimer-inner .badge18{
  flex-shrink:0;width:66px;height:66px;border-radius:50%;
  background:linear-gradient(135deg,#ff2fb0,#b24bf3);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;color:#fff;
  box-shadow:0 0 22px rgba(255,47,176,.6);
}
.disclaimer-inner p{color:var(--text-dim);font-size:.85rem;}
@media(max-width:700px){.disclaimer-inner{flex-direction:column;align-items:center;text-align:center;}}

/* ============ FOOTER ============ */
footer.site-footer{background:#040210;padding:60px 0 0;border-top:1px solid rgba(178,75,243,.15);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:40px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h5{color:#fff;font-size:.95rem;margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px;}
.footer-grid ul li a{color:var(--text-dim);font-size:.87rem;transition:color .2s;}
.footer-grid ul li a:hover{color:var(--neon-cyan);}
.footer-about p{color:var(--text-dim);font-size:.87rem;margin-bottom:14px;}
.footer-bottom{
  border-top:1px solid rgba(178,75,243,.15);padding:22px 0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:.78rem;color:var(--text-dim);
}

/* ============ AGE GATE MODAL ============ */
.age-modal-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:rgba(4,2,10,.92);
  display:flex;align-items:center;justify-content:center;z-index:2000;
  backdrop-filter:blur(6px);
}
.age-modal{
  width:92%;max-width:440px;background:linear-gradient(160deg,var(--bg-panel),var(--bg-panel-2));
  border:1px solid var(--neon-purple);border-radius:20px;padding:40px 32px;text-align:center;
  box-shadow:0 0 60px rgba(178,75,243,.5);
}
.age-modal .big-emoji{font-size:3rem;margin-bottom:10px;}
.age-modal h3{color:#fff;font-size:1.4rem;margin-bottom:12px;}
.age-modal p{color:var(--text-dim);font-size:.88rem;margin-bottom:26px;}
.age-modal .age-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.age-modal .btn-no{
  padding:14px 28px;border-radius:50px;background:transparent;border:1px solid var(--text-dim);
  color:var(--text-dim);font-weight:600;cursor:pointer;
}
.age-modal .fine{font-size:.72rem;margin-top:20px;color:#7a6ba0;}

/* ============ COOKIE BANNER ============ */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1500;
  background:rgba(12,6,28,.97);border-top:1px solid var(--neon-purple);
  padding:18px 20px;display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;
  box-shadow:0 -6px 30px rgba(178,75,243,.3);
}
.cookie-banner p{color:var(--text-dim);font-size:.85rem;max-width:640px;}
.cookie-banner a{color:var(--neon-cyan);text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;}
.cookie-actions button{
  padding:10px 22px;border-radius:30px;font-weight:700;font-size:.8rem;cursor:pointer;border:none;
}
.cookie-actions .accept{background:linear-gradient(90deg,var(--neon-purple),var(--neon-pink));color:#fff;}
.cookie-actions .reject{background:transparent;border:1px solid var(--text-dim);color:var(--text-dim);}

/* ============ INNER PAGE HEADER ============ */
.page-hero{
  padding:70px 0 50px;text-align:center;
  background:linear-gradient(180deg, rgba(10,5,24,.4), rgba(10,5,24,.95)), url('../images/hero-bg.jpg') center/cover;
  border-bottom:1px solid rgba(178,75,243,.2);
}
.page-hero h1{font-size:2.3rem;color:#fff;}
.page-hero p{color:var(--text-dim);margin-top:12px;}

.legal-content{max-width:820px;margin:0 auto;padding:60px 20px;}
.legal-content h2{color:#fff;margin:34px 0 14px;font-size:1.4rem;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p, .legal-content li{color:var(--text-dim);margin-bottom:12px;font-size:.95rem;}
.legal-content ul{padding-left:22px;margin-bottom:14px;}
.legal-content ul li{list-style:disc;}
.legal-content strong{color:#fff;}
.legal-updated{color:var(--neon-cyan);font-size:.82rem;margin-bottom:30px;display:block;}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:rgba(255,255,255,.03);border:1px solid rgba(178,75,243,.25);border-radius:16px;padding:30px;}
.contact-card h3{color:#fff;margin-bottom:16px;}
.contact-line{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.contact-line .ic{font-size:1.3rem;}
.contact-line div span{display:block;color:var(--text-dim);font-size:.85rem;}
.contact-line div strong{color:#fff;}
.contact-form input, .contact-form textarea{
  width:100%;padding:13px 16px;margin-bottom:14px;border-radius:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(178,75,243,.3);color:#fff;font-family:var(--font-body);
}
.contact-form textarea{min-height:120px;resize:vertical;}
.contact-form input::placeholder, .contact-form textarea::placeholder{color:#7a6ba0;}
.office-note{display:flex;gap:12px;align-items:flex-start;border-radius:14px;border:1px solid rgba(178,75,243,.3);background:rgba(255,255,255,.04);padding:14px 16px;margin-top:20px;}
.office-note .ic{font-size:1.3rem;}
.office-note span{display:block;font-size:.75rem;color:var(--text-dim);margin-bottom:4px;}

/* About page */
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0;}
@media(max-width:700px){.about-stats{grid-template-columns:repeat(2,1fr);}}
.about-stats div{text-align:center;background:rgba(255,255,255,.03);padding:24px 10px;border-radius:14px;border:1px solid rgba(178,75,243,.2);}
.about-stats strong{display:block;font-size:1.8rem;color:#fff;text-shadow:0 0 10px var(--neon-purple);}
.about-stats span{color:var(--text-dim);font-size:.8rem;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
@media(max-width:800px){.team-grid{grid-template-columns:1fr;}}
.team-card{background:rgba(255,255,255,.03);border:1px solid rgba(178,75,243,.2);border-radius:16px;padding:24px;text-align:center;}
.team-avatar{
  width:70px;height:70px;border-radius:50%;margin:0 auto 14px;
  background:linear-gradient(135deg,var(--neon-purple),var(--neon-cyan));
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;color:#fff;
}
.team-card h4{color:#fff;margin-bottom:4px;}
.team-card span{color:var(--neon-cyan);font-size:.78rem;}
.team-card p{color:var(--text-dim);font-size:.82rem;margin-top:10px;}

/* Responsible gaming page */
.rg-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:800px){.rg-tools{grid-template-columns:1fr;}}
.self-test{background:rgba(255,255,255,.03);border:1px solid rgba(178,75,243,.25);border-radius:16px;padding:30px;margin-top:30px;}
.self-test ul{padding-left:22px;}
.self-test li{color:var(--text-dim);margin-bottom:10px;}

.helpline-box{
  background:linear-gradient(135deg,rgba(178,75,243,.15),rgba(255,47,176,.1));
  border:1px solid var(--neon-purple);border-radius:16px;padding:26px;margin-top:30px;text-align:center;
}
.helpline-box strong{font-size:1.3rem;color:#fff;display:block;margin-bottom:6px;text-shadow:0 0 10px var(--neon-purple);}

/* Table for comparison-style content (used site-wide where needed) */
.compare-table{width:100%;border-collapse:collapse;margin-top:20px;}
.compare-table th,.compare-table td{padding:14px;text-align:left;border-bottom:1px solid rgba(178,75,243,.2);color:var(--text-dim);font-size:.88rem;}
.compare-table th{color:#fff;font-family:var(--font-head);}

.fade-in{animation:fadeIn .8s ease both;}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
