
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

:root {
  --bg: hsl(226, 39%, 8%);
  --fg: hsl(210, 40%, 96%);
  --card: hsl(228, 34%, 14%);
  --card-fg: hsl(210, 40%, 96%);
  --primary: hsl(184, 100%, 52%);
  --primary-fg: hsl(230, 45%, 10%);
  --secondary: hsl(231, 25%, 20%);
  --secondary-fg: hsl(210, 30%, 90%);
  --muted: hsl(231, 24%, 18%);
  --muted-fg: hsl(222, 16%, 72%);
  --border: hsl(228, 28%, 24%);
  --destructive: hsl(0,84%,60%);
  --success: hsl(142,60%,45%);
  --warning: hsl(42, 100%, 62%);
  --gold-gradient: linear-gradient(135deg, hsl(184,100%,52%), hsl(261,100%,70%));
  --card-gradient: linear-gradient(145deg, hsl(229,34%,17%), hsl(232,38%,12%));
  --hero-gradient: radial-gradient(circle at top, hsla(184,100%,52%,0.14), transparent 28%), linear-gradient(180deg, hsl(230,45%,10%) 0%, hsl(226,39%,8%) 100%);
  --radius: 0.75rem;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--fg);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Playfair Display',serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

.container{max-width:1200px;margin:0 auto;padding:0 1rem;}
.text-gold{background:linear-gradient(135deg,hsl(184,100%,52%),hsl(261,100%,74%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.bg-gold{background:var(--gold-gradient);}
.bg-card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);}
.glow-gold{box-shadow:0 0 30px -5px hsla(184,100%,52%,0.28);}

/* Header */
.header{border-bottom:1px solid hsla(228,28%,24%,0.7);background:hsla(230,45%,10%,0.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,0.22);}
.header .inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;}
.header .logo{display:flex;align-items:center;gap:0.5rem;font-size:1.125rem;font-weight:700;}
.header .logo .dot{color:var(--primary);}
.header nav{display:flex;gap:1.5rem;font-size:0.875rem;color:var(--muted-fg);}
.header nav a:hover{color:var(--fg);}
.header .badge18{font-size:0.75rem;background:var(--secondary);padding:0.25rem 0.5rem;border-radius:6px;color:var(--muted-fg);font-weight:500;}
@media(max-width:768px){.header nav.mobile-scroll{display:flex;overflow-x:auto;gap:1rem;max-width:calc(100vw - 8rem);padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;}}

/* Hero */
.hero{padding:4rem 0;background:var(--hero-gradient);text-align:center;position:relative;overflow:hidden;}
.hero .ukgc-badge{display:inline-flex;align-items:center;gap:0.5rem;background:hsla(220,15%,20%,0.6);padding:0.5rem 1rem;border-radius:9999px;margin-bottom:1.5rem;font-size:0.875rem;color:var(--muted-fg);}
.hero .ukgc-badge .green{color:var(--success);}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:1rem;}
.hero p{font-size:1.125rem;color:var(--muted-fg);max-width:40rem;margin:0 auto 1.5rem;}
.hero .stars{display:flex;justify-content:center;gap:0.25rem;margin-bottom:1.5rem;align-items:center;}
.hero .stars .num{margin-left:0.5rem;font-size:1.5rem;font-weight:700;}
.hero .logo-img{height:5rem;width:5rem;border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,0.3);margin:0 auto 1.5rem;}
.btn-gold{display:inline-flex;align-items:center;gap:0.5rem;background:var(--gold-gradient);color:var(--primary-fg);font-weight:700;padding:0.8rem 2rem;border-radius:var(--radius);font-size:1rem;transition:transform 0.2s,opacity 0.2s;box-shadow:0 0 30px -5px hsla(184,100%,52%,0.28);}
.btn-gold:hover{opacity:0.96;transform:translateY(-1px);}
.hero .disclaimer{font-size:0.75rem;color:var(--muted-fg);margin-top:1rem;}

/* Stars SVG */
.star{width:1.5rem;height:1.5rem;fill:var(--primary);}
.star-half{width:1.5rem;height:1.5rem;fill:var(--primary);opacity:0.5;}

/* Sections */
section{padding:4rem 0;}
section.alt{background:hsla(220,15%,20%,0.3);}
.section-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;text-align:center;margin-bottom:3rem;}

/* Grid layouts */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:56rem;margin:0 auto;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:64rem;margin:0 auto;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:64rem;margin:0 auto;}
@media(max-width:1024px){.grid-4{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr;}.grid-4{grid-template-columns:1fr;}}

/* Cards */
.card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;}
.card.center{text-align:center;}
.card:hover{border-color:hsla(184,100%,52%,0.45);box-shadow:0 16px 32px rgba(0,0,0,0.18);}
.card h3{font-size:1.125rem;font-weight:600;margin-bottom:0.25rem;}
.card .count{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:0.5rem;}
.card p,.card li{font-size:0.875rem;color:var(--muted-fg);}
.card .icon{width:2.5rem;height:2.5rem;color:var(--primary);margin-bottom:1rem;}
.card .icon.center-icon{margin:0 auto 1rem;}
.card-flex{display:flex;gap:1rem;}
.card-flex .icon{flex-shrink:0;margin-bottom:0;}

/* Overview */
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:64rem;margin:0 auto;}
@media(max-width:768px){.overview-grid{grid-template-columns:1fr;}}
.key-facts dl{display:flex;flex-direction:column;gap:0.75rem;}
.key-facts .row{display:flex;justify-content:space-between;font-size:0.875rem;}
.key-facts dt{color:var(--muted-fg);}
.key-facts dd{color:var(--fg);font-weight:500;}
.pros li,.cons li{display:flex;gap:0.5rem;font-size:0.875rem;align-items:flex-start;}
.pros li{color:var(--fg);}.cons li{color:var(--fg);}
.check{color:var(--success);flex-shrink:0;width:1rem;margin-top:2px;}
.cross{color:var(--destructive);flex-shrink:0;width:1rem;margin-top:2px;}
ul{list-style:none;}
.logo-sm{height:2.5rem;width:2.5rem;border-radius:0.5rem;}
.flex-center{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;}

/* Bonus */
.bonus-main{max-width:48rem;margin:0 auto;}
.bonus-card{background:var(--card-gradient);border:1px solid hsla(42,80%,55%,0.3);border-radius:var(--radius);padding:2rem;box-shadow:0 0 30px -5px hsla(42,80%,55%,0.3);}
.bonus-card .inner{display:flex;gap:1rem;align-items:flex-start;}
.bonus-card .logo-md{height:3rem;width:3rem;border-radius:0.75rem;flex-shrink:0;}
.bonus-card h3{font-size:1.25rem;font-weight:700;margin-bottom:0.5rem;}
.bonus-card p{color:var(--muted-fg);margin-bottom:1rem;font-size:0.875rem;}
.tcs-box{background:hsla(220,15%,20%,0.5);border-radius:0.5rem;padding:1rem;display:flex;gap:0.75rem;align-items:flex-start;}
.tcs-box .warn-icon{color:var(--warning);width:1.25rem;flex-shrink:0;margin-top:2px;}
.tcs-box p.title{font-weight:600;color:var(--fg);margin-bottom:0.25rem;font-size:0.875rem;}
.tcs-box ul{list-style:disc;padding-left:1.25rem;}
.tcs-box li{font-size:0.875rem;color:var(--muted-fg);margin-bottom:0.25rem;}
.bonus-sub{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;max-width:48rem;margin-left:auto;margin-right:auto;}
@media(max-width:640px){.bonus-sub{grid-template-columns:1fr;}}

/* Regulators block */
.regulators{max-width:48rem;margin:0 auto;background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;}
.regulators h3{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;}
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:640px){.reg-grid{grid-template-columns:1fr;}}
.reg-link{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;border-radius:0.5rem;background:hsla(220,15%,20%,0.5);transition:background 0.2s;}
.reg-link:hover{background:var(--secondary);}
.reg-link .abbr{width:2.5rem;height:2.5rem;background:hsla(40,20%,90%,0.1);border-radius:0.25rem;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0;}
.reg-link .name{font-size:0.875rem;font-weight:500;}
.reg-link .url{font-size:0.75rem;color:var(--muted-fg);}

/* FAQ */
.faq{max-width:48rem;margin:0 auto;}
.faq-item{border:1px solid var(--border);border-radius:0.5rem;background:var(--card);margin-bottom:0.75rem;overflow:hidden;}
.faq-item summary{padding:1rem 1.25rem;cursor:pointer;font-weight:500;font-size:0.9375rem;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'＋';font-size:1.25rem;color:var(--muted-fg);transition:transform 0.2s;}
.faq-item[open] summary::after{content:'−';}
.faq-item .answer{padding:0 1.25rem 1rem;font-size:0.875rem;color:var(--muted-fg);line-height:1.7;}
.faq-header{display:flex;align-items:center;gap:0.75rem;justify-content:center;margin-bottom:2rem;}
.faq-header h2{margin-bottom:0;}

/* Footer */
.footer{border-top:1px solid var(--border);background:hsla(220,15%,20%,0.2);padding:3rem 0;}
.age-banner{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-bottom:2rem;padding:1rem;background:hsla(0,84%,60%,0.1);border:1px solid hsla(0,84%,60%,0.3);border-radius:var(--radius);}
.age-banner .circle18{font-size:1.25rem;font-weight:900;color:var(--destructive);border:2px solid var(--destructive);border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.age-banner p{font-size:0.875rem;color:var(--muted-fg);}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem;max-width:64rem;margin-left:auto;margin-right:auto;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;}}
.footer h4{font-size:0.875rem;font-weight:600;margin-bottom:0.75rem;}
.footer p,.footer li,.footer a{font-size:0.75rem;color:var(--muted-fg);}
.footer a:hover{color:var(--fg);}
.footer ul{display:flex;flex-direction:column;gap:0.5rem;}
.footer .contact{border-top:1px solid var(--border);padding-top:1.5rem;margin-bottom:1.5rem;text-align:center;}
.footer .contact .items{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;font-size:0.75rem;color:var(--muted-fg);margin-top:0.75rem;}
.footer .affiliate-box{background:hsla(42,70%,50%,0.3);border:1px solid var(--border);border-radius:0.5rem;padding:1rem;max-width:48rem;margin:0 auto 1.5rem;text-align:center;}
.footer .affiliate-box p{line-height:1.6;}
.footer .disclaimer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;text-align:center;max-width:48rem;margin:0 auto;}
.footer .disclaimer-bottom p{line-height:1.6;}
.footer .copyright{text-align:center;margin-top:1rem;font-size:0.75rem;color:var(--muted-fg);}
.text-primary{color:var(--primary);}
.text-primary:hover{text-decoration:underline;}

/* Cookie consent */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;padding:1rem;display:none;}
.cookie-bar.show{display:block;}
.cookie-inner{max-width:56rem;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:0 -4px 30px rgba(0,0,0,0.3);display:flex;flex-wrap:wrap;align-items:center;gap:1rem;}
.cookie-inner p{flex:1;font-size:0.875rem;color:var(--muted-fg);}
.cookie-inner .btns{display:flex;gap:0.5rem;flex-shrink:0;}
.btn-outline{padding:0.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--fg);font-size:0.875rem;cursor:pointer;font-family:inherit;}
.btn-outline:hover{background:var(--secondary);}
.btn-primary{padding:0.5rem 1rem;border:none;border-radius:var(--radius);background:var(--primary);color:var(--primary-fg);font-size:0.875rem;cursor:pointer;font-weight:500;font-family:inherit;}
.btn-primary:hover{opacity:0.9;}

/* Policy pages */
.policy{max-width:48rem;margin:0 auto;padding:4rem 1rem;}
.policy h1{font-size:1.875rem;font-weight:700;margin-bottom:2rem;}
.policy h2{font-size:1.125rem;font-weight:600;margin-bottom:0.5rem;color:var(--fg);}
.policy section{margin-bottom:1.5rem;}
.policy p{font-size:0.875rem;color:var(--muted-fg);line-height:1.7;margin-bottom:0.75rem;}
.policy ul{list-style:disc;padding-left:1.5rem;margin-bottom:0.75rem;}
.policy li{font-size:0.875rem;color:var(--muted-fg);margin-bottom:0.25rem;line-height:1.6;}
.policy strong{color:var(--fg);}

/* Brand logos */
.brand-logo-wrap{display:flex;align-items:center;min-height:2.75rem;margin-bottom:0.5rem;}
.brand-logo{max-height:2.5rem;width:auto;max-width:11rem;object-fit:contain;display:block;}
.casino-card .brand{margin-top:0;}
.cell-brand{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;}
.cell-brand img{max-height:2rem;width:auto;max-width:7.5rem;object-fit:contain;flex-shrink:0;}
.cell-brand .cell-brand-text{min-width:0;}
.review-logo-wrap{margin:0 0 1rem;}
.review-brand-logo{max-height:3rem;width:auto;max-width:14rem;object-fit:contain;display:block;}

/* Aggregator: affiliate + RG strips */
.affiliate-strip{font-size:0.75rem;color:var(--muted-fg);text-align:center;padding:0.4rem 0.75rem;background:hsla(184,100%,52%,0.10);border-bottom:1px solid var(--border);}
.rg-strip{font-size:0.75rem;color:var(--muted-fg);text-align:center;padding:0.35rem 0.75rem;background:hsla(0,84%,60%,0.08);border-bottom:1px solid hsla(0,84%,60%,0.2);}
.rg-strip strong{color:var(--fg);}
.header .inner{flex-wrap:wrap;}
.header .top-bar{width:100%;order:-1;}

/* Comparison table */
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 auto 2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);}
.compare-table{width:100%;border-collapse:collapse;font-size:0.8125rem;min-width:920px;}
.compare-table th,.compare-table td{padding:0.75rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;}
.compare-table th{background:hsla(220,15%,18%,0.8);color:var(--fg);font-weight:600;white-space:nowrap;}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table a.text-link{color:var(--primary);text-decoration:underline;}
.compare-table a.text-link:hover{opacity:0.9;}
.compare-table .muted{color:var(--muted-fg);font-size:0.75rem;}
.badge-tcs{display:inline-block;margin-top:0.25rem;font-size:0.7rem;color:var(--muted-fg);}
.note-inline{font-size:0.75rem;color:var(--muted-fg);margin-top:0.75rem;}

/* Filters + ranking cards */
.filter-bar{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:1.5rem;}
.filter-btn{font-size:0.8125rem;padding:0.45rem 0.9rem;border-radius:9999px;border:1px solid var(--border);background:var(--card);color:var(--fg);cursor:pointer;font-family:inherit;}
.filter-btn:hover,.filter-btn:focus-visible{border-color:var(--primary);outline:none;}
.filter-btn.active{background:hsla(184,100%,52%,0.16);border-color:var(--primary);color:var(--fg);}
.ranking-list{display:flex;flex-direction:column;gap:1rem;max-width:56rem;margin:0 auto;list-style:none;padding:0;}
.casino-card{background:var(--card-gradient);border:1px solid var(--border);border-radius:var(--radius);padding:0;display:flex;flex-direction:column;}
.casino-card.hidden{display:none;}
.casino-card-row{display:flex;align-items:center;gap:1rem 1.25rem;padding:1rem 1.25rem;flex-wrap:wrap;}
.casino-rank{flex-shrink:0;width:2.75rem;text-align:center;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1;font-family:'Playfair Display',serif;color:var(--muted-fg);opacity:0.5;font-variant-numeric:tabular-nums;}
.casino-card .brand-logo-wrap{margin-bottom:0;min-height:auto;align-items:center;justify-content:center;flex-shrink:0;width:8.5rem;}
.casino-card .brand-logo{max-height:2.25rem;max-width:8rem;}
.casino-card-main{flex:1;min-width:min(100%,14rem);display:flex;flex-direction:column;gap:0.35rem;}
.casino-card-aside{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:0.5rem;margin-left:auto;}
.casino-card-foot{padding:0.65rem 1.25rem 1rem;border-top:1px solid var(--border);}
.casino-card .brand{font-size:1.0625rem;font-weight:700;font-family:'Playfair Display',serif;margin:0;}
.casino-card .meta{font-size:0.8125rem;color:var(--muted-fg);line-height:1.45;}
.casino-card .score{font-size:0.875rem;color:var(--primary);font-weight:600;line-height:1.4;}
.casino-card .actions{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:flex-end;}
.casino-card .btn-sm{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1rem;border-radius:var(--radius);font-size:0.8125rem;font-weight:600;}
.casino-card .btn-outline-sm{border:1px solid var(--border);color:var(--fg);}
.casino-card .btn-outline-sm:hover{background:var(--secondary);}
.casino-card .btn-gold-sm{background:var(--gold-gradient);color:var(--primary-fg);}
.casino-card .badge-tcs{display:block;margin:0;font-size:0.7rem;color:var(--muted-fg);line-height:1.4;}
@media(max-width:640px){
  .casino-card-row{flex-direction:column;align-items:stretch;}
  .casino-rank{width:auto;text-align:left;opacity:0.4;font-size:1.5rem;}
  .casino-card .brand-logo-wrap{width:auto;justify-content:flex-start;}
  .casino-card-aside{margin-left:0;width:100%;}
  .casino-card .actions{justify-content:flex-start;}
}

/* Guides */
.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;max-width:56rem;margin:0 auto;}
.guide-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;background:var(--card-gradient);}
.guide-card h3{font-size:1.125rem;margin-bottom:0.5rem;}

/* Review pages */
.review-hero{padding:2.5rem 0 1rem;}
.review-article{max-width:46rem;margin:0 auto;padding:0 1rem 4rem;}
.review-article .lead{font-size:1.0625rem;color:var(--muted-fg);margin-bottom:1.5rem;line-height:1.75;}
.review-article h2{font-size:1.35rem;margin:2rem 0 0.75rem;}
.review-article h3{font-size:1.05rem;margin:1.25rem 0 0.5rem;}
.review-article p,.review-article li{font-size:0.9375rem;color:var(--muted-fg);line-height:1.8;margin-bottom:0.85rem;}
.review-article ul{list-style:disc;padding-left:1.35rem;}
.review-article .key-facts-mini{background:hsla(220,15%,20%,0.5);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin:1.5rem 0;}
.review-article .key-facts-mini dl{display:grid;gap:0.5rem;font-size:0.875rem;}
.review-article .key-facts-mini dt{color:var(--muted-fg);display:inline;}
.review-article .key-facts-mini dd{display:inline;color:var(--fg);font-weight:500;}
.review-article .key-facts-mini div{display:flex;flex-wrap:wrap;gap:0.25rem 1rem;justify-content:space-between;border-bottom:1px dashed var(--border);padding-bottom:0.35rem;}
.review-article .key-facts-mini div:last-child{border-bottom:none;}
.tcs-block{background:hsla(38,90%,50%,0.08);border:1px solid hsla(38,90%,50%,0.25);border-radius:var(--radius);padding:1rem;margin:1rem 0;font-size:0.875rem;}
.tcs-block strong{color:var(--fg);}

/* Mobile nav */
@media(max-width:768px){
  .header nav.mobile-scroll{display:flex;overflow-x:auto;gap:1rem;padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;max-width:100%;}
  .header nav.mobile-scroll a{white-space:nowrap;flex-shrink:0;}
}
@media(min-width:769px){
  .header nav.mobile-scroll{display:flex;}
}

.header .logo{letter-spacing:0.01em;}
.header .logo small{display:block;font-size:0.68rem;color:var(--muted-fg);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;}
.footer .contact .items{line-height:1.7;}
