/*
Theme Name: Gamba Reviews
Theme URI: https://gambablog.com
Author: Gamba Blog
Author URI: https://gambablog.com
Description: A professional, trust-focused WordPress theme built for iGaming, sports & esports betting, crypto betting, and online casino review blogs. Includes a review scorecard system, colour-coded categories, Latest & Trending layouts, a newsletter block, and a built-in responsible-gambling notice. Fully editable from the WordPress Customizer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gamba-reviews
Tags: blog, news, two-columns, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =========================================================================
   GAMBA REVIEWS — DESIGN TOKENS
   Change these once and the whole theme updates. The two main brand colours
   (primary green + gold accent) can also be changed from Appearance >
   Customize > Brand Colours, which overrides --gr-primary / --gr-accent.
   ========================================================================= */
:root{
  /* Brand */
  --gr-primary:        #12a06a;   /* jade / felt green */
  --gr-primary-dark:   #0d7f53;
  --gr-accent:         #c9a24b;   /* champagne gold */
  --gr-accent-dark:    #ad8838;

  /* Surfaces */
  --gr-ink:            #0e1116;   /* near-black chrome (header/footer/hero) */
  --gr-ink-2:          #161c24;
  --gr-paper:          #faf9f6;   /* reading background */
  --gr-card:           #ffffff;
  --gr-border:         #e7e9e4;
  --gr-border-strong:  #d3d6cf;

  /* Text */
  --gr-text:           #1a1f26;
  --gr-muted:          #5c6573;
  --gr-on-dark:        #f3f4f1;
  --gr-on-dark-muted:  #9aa3af;

  /* Category accents */
  --gr-cat-igaming:    #12a06a;
  --gr-cat-casino:     #c9a24b;
  --gr-cat-crypto:     #2e9bd6;

  /* Type */
  --gr-font-display: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gr-font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gr-font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Layout */
  --gr-wrap:    1180px;
  --gr-narrow:  760px;
  --gr-radius:  14px;
  --gr-radius-sm: 8px;
  --gr-shadow:  0 1px 2px rgba(14,17,22,.04), 0 8px 24px rgba(14,17,22,.06);
  --gr-shadow-lg: 0 18px 50px rgba(14,17,22,.14);
}

/* =========================================================================
   RESET & BASE
   ========================================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--gr-font-body);
  font-size:17px;
  line-height:1.7;
  color:var(--gr-text);
  background:var(--gr-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--gr-primary-dark); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4,h5,h6{
  font-family:var(--gr-font-display);
  color:var(--gr-text);
  line-height:1.18;
  font-weight:700;
  margin:0 0 .5em;
  letter-spacing:-.015em;
}
h1{ font-size:clamp(2rem,4vw,2.9rem); font-weight:800; }
h2{ font-size:clamp(1.5rem,2.4vw,2rem); }
h3{ font-size:1.3rem; }
p{ margin:0 0 1.15em; }
ul,ol{ margin:0 0 1.15em; padding-left:1.25em; }
li{ margin:.3em 0; }
blockquote{
  margin:1.5em 0; padding:.4em 1.2em;
  border-left:4px solid var(--gr-accent);
  background:#fff; color:var(--gr-text); font-style:italic;
}
code,pre{ font-family:var(--gr-font-mono); font-size:.9em; }
hr{ border:0; border-top:1px solid var(--gr-border); margin:2.5rem 0; }
:focus-visible{ outline:3px solid var(--gr-primary); outline-offset:2px; }

.gr-wrap{ width:100%; max-width:var(--gr-wrap); margin:0 auto; padding:0 22px; }
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:1000;
  background:var(--gr-ink); color:#fff; padding:12px 18px; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

/* Eyebrow label — small mono kicker used across sections */
.gr-eyebrow{
  font-family:var(--gr-font-mono);
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gr-primary-dark);
  display:inline-flex; align-items:center; gap:.55em;
  margin:0 0 .9rem;
}
.gr-eyebrow::before{
  content:""; width:26px; height:2px; background:var(--gr-accent); display:inline-block;
}

/* =========================================================================
   BUTTONS
   ========================================================================= */
.gr-btn{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--gr-font-display); font-weight:700; font-size:.95rem;
  padding:.72em 1.4em; border-radius:999px; border:1px solid transparent;
  cursor:pointer; transition:transform .12s ease, background .15s ease, box-shadow .15s ease;
  text-decoration:none; line-height:1;
}
.gr-btn:hover{ text-decoration:none; transform:translateY(-1px); }
.gr-btn--primary{ background:var(--gr-primary); color:#fff; }
.gr-btn--primary:hover{ background:var(--gr-primary-dark); color:#fff; }
.gr-btn--gold{ background:var(--gr-accent); color:#1a1306; }
.gr-btn--gold:hover{ background:var(--gr-accent-dark); color:#1a1306; }
.gr-btn--ghost{ background:transparent; color:var(--gr-on-dark); border-color:rgba(255,255,255,.28); }
.gr-btn--ghost:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* =========================================================================
   SITE HEADER
   ========================================================================= */
.site-header{
  background:var(--gr-ink); color:var(--gr-on-dark);
  position:sticky; top:0; z-index:200;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.site-header__inner{
  display:flex; align-items:center; gap:24px;
  min-height:74px; padding-top:10px; padding-bottom:10px;
}
.site-branding{ display:flex; align-items:center; gap:12px; margin-right:auto; }
.site-branding a{ color:var(--gr-on-dark); text-decoration:none; display:flex; align-items:center; gap:12px; }
.site-logo-mark{
  width:40px; height:40px; border-radius:10px; flex:0 0 auto;
  background:linear-gradient(135deg,var(--gr-primary),var(--gr-primary-dark));
  display:grid; place-items:center;
  font-family:var(--gr-font-display); font-weight:800; font-size:1.2rem; color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.site-title{ font-family:var(--gr-font-display); font-weight:800; font-size:1.4rem; letter-spacing:-.02em; margin:0; line-height:1; }
.site-description{ font-size:.72rem; color:var(--gr-on-dark-muted); margin:3px 0 0; font-family:var(--gr-font-mono); letter-spacing:.04em; }
.custom-logo{ max-height:46px; width:auto; }

.main-navigation ul{ list-style:none; display:flex; align-items:center; gap:6px; margin:0; padding:0; }
.main-navigation a{
  color:var(--gr-on-dark); font-family:var(--gr-font-display); font-weight:600; font-size:.95rem;
  padding:9px 14px; border-radius:8px; display:block; text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a{ background:rgba(255,255,255,.08); color:#fff; }
.main-navigation ul ul{
  display:none; position:absolute; background:var(--gr-ink-2); flex-direction:column;
  padding:8px; border-radius:10px; box-shadow:var(--gr-shadow-lg); min-width:210px; gap:2px;
  border:1px solid rgba(255,255,255,.08);
}
.main-navigation li{ position:relative; }
.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul{ display:flex; }

.header-actions{ display:flex; align-items:center; gap:10px; }
.header-search-toggle{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:var(--gr-on-dark);
  width:42px; height:42px; border-radius:10px; cursor:pointer; display:grid; place-items:center;
}
.header-search-toggle:hover{ background:rgba(255,255,255,.12); }
.header-search-panel{
  display:none; background:var(--gr-ink-2); border-top:1px solid rgba(255,255,255,.07);
}
.header-search-panel.is-open{ display:block; }
.header-search-panel .gr-wrap{ padding-top:16px; padding-bottom:16px; }

.menu-toggle{
  display:none; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  color:var(--gr-on-dark); border-radius:10px; padding:9px 12px; cursor:pointer; font-family:var(--gr-font-display); font-weight:600;
}

/* Search form */
.search-form{ display:flex; gap:8px; width:100%; }
.search-form .search-field{
  flex:1; padding:.7em 1em; border-radius:10px; border:1px solid var(--gr-border-strong);
  font-family:var(--gr-font-body); font-size:1rem; background:#fff; color:var(--gr-text);
}
.header-search-panel .search-form .search-field{ background:rgba(255,255,255,.95); }
.search-form .search-submit{
  background:var(--gr-primary); color:#fff; border:0; border-radius:10px; padding:0 1.2em;
  font-family:var(--gr-font-display); font-weight:700; cursor:pointer;
}
.search-form .search-submit:hover{ background:var(--gr-primary-dark); }

/* =========================================================================
   CATEGORY PILLS (colour-coded by the three Gamba sections)
   ========================================================================= */
.gr-cats{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 12px; padding:0; list-style:none; }
.gr-cat-pill{
  font-family:var(--gr-font-mono); font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; text-decoration:none; line-height:1;
  background:rgba(18,160,106,.12); color:var(--gr-primary-dark);
  border:1px solid rgba(18,160,106,.25);
  display:inline-flex; align-items:center;
}
.gr-cat-pill:hover{ text-decoration:none; filter:brightness(.96); }
.gr-cat-pill.cat-color-casino{ background:rgba(201,162,75,.14); color:var(--gr-accent-dark); border-color:rgba(201,162,75,.32); }
.gr-cat-pill.cat-color-crypto{ background:rgba(46,155,214,.13); color:#1d6fa0; border-color:rgba(46,155,214,.3); }

/* =========================================================================
   HERO (front page)
   ========================================================================= */
.gr-hero{
  background:radial-gradient(120% 140% at 85% -20%, rgba(18,160,106,.28), transparent 55%),
             radial-gradient(110% 120% at 0% 120%, rgba(201,162,75,.16), transparent 50%),
             var(--gr-ink);
  color:var(--gr-on-dark); padding:64px 0 72px; position:relative; overflow:hidden;
}
.gr-hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.gr-hero h1{ color:#fff; font-size:clamp(2.2rem,4.4vw,3.4rem); margin-bottom:.35em; }
.gr-hero p{ color:var(--gr-on-dark-muted); font-size:1.12rem; max-width:46ch; }
.gr-hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.gr-hero__stats{ display:flex; gap:30px; margin-top:38px; flex-wrap:wrap; }
.gr-hero__stat .num{ font-family:var(--gr-font-mono); font-weight:700; font-size:1.7rem; color:var(--gr-accent); }
.gr-hero__stat .lbl{ font-size:.78rem; color:var(--gr-on-dark-muted); text-transform:uppercase; letter-spacing:.1em; font-family:var(--gr-font-mono); }

/* Featured hero card (latest post) */
.gr-hero__feature{
  background:var(--gr-ink-2); border:1px solid rgba(255,255,255,.08); border-radius:var(--gr-radius);
  overflow:hidden; box-shadow:var(--gr-shadow-lg);
}
.gr-hero__feature .thumb{ aspect-ratio:16/9; overflow:hidden; }
.gr-hero__feature .thumb img{ width:100%; height:100%; object-fit:cover; }
.gr-hero__feature .body{ padding:20px 22px 24px; }
.gr-hero__feature h3{ color:#fff; font-size:1.25rem; margin:.4em 0 0; }
.gr-hero__feature h3 a{ color:#fff; }
.gr-hero__feature .meta{ color:var(--gr-on-dark-muted); font-size:.85rem; margin-top:10px; font-family:var(--gr-font-mono); }

/* =========================================================================
   SECTIONS & CARD GRID
   ========================================================================= */
.gr-section{ padding:56px 0; }
.gr-section--tint{ background:#fff; border-top:1px solid var(--gr-border); border-bottom:1px solid var(--gr-border); }
.gr-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; flex-wrap:wrap; }
.gr-section__head h2{ margin:0; }
.gr-section__head .more-link{ font-family:var(--gr-font-display); font-weight:700; font-size:.92rem; white-space:nowrap; }

.gr-grid{ display:grid; gap:26px; grid-template-columns:repeat(3,1fr); }
.gr-grid--2{ grid-template-columns:repeat(2,1fr); }

.gr-card{
  background:var(--gr-card); border:1px solid var(--gr-border); border-radius:var(--gr-radius);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--gr-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.gr-card:hover{ transform:translateY(-3px); box-shadow:var(--gr-shadow-lg); border-color:var(--gr-border-strong); }
.gr-card__thumb{ aspect-ratio:16/9; overflow:hidden; background:var(--gr-ink-2); position:relative; }
.gr-card__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.gr-card:hover .gr-card__thumb img{ transform:scale(1.04); }
.gr-card__score{
  position:absolute; top:12px; right:12px;
  background:rgba(14,17,22,.86); color:var(--gr-accent); backdrop-filter:blur(4px);
  font-family:var(--gr-font-mono); font-weight:700; font-size:.95rem;
  padding:5px 10px; border-radius:8px; border:1px solid rgba(201,162,75,.4);
}
.gr-card__body{ padding:18px 20px 22px; display:flex; flex-direction:column; flex:1; }
.gr-card__title{ font-size:1.16rem; margin:0 0 auto; line-height:1.3; }
.gr-card__title a{ color:var(--gr-text); }
.gr-card__title a:hover{ color:var(--gr-primary-dark); text-decoration:none; }
.gr-card__meta{ display:flex; align-items:center; gap:10px; margin-top:16px; font-size:.84rem; color:var(--gr-muted); font-family:var(--gr-font-mono); }
.gr-card__meta .avatar{ width:24px; height:24px; border-radius:50%; object-fit:cover; }

/* =========================================================================
   MAIN CONTENT LAYOUT (archive / single / page)
   ========================================================================= */
.gr-layout{ display:grid; grid-template-columns:1fr 320px; gap:46px; padding:48px 0; align-items:start; }
.gr-layout--full{ grid-template-columns:1fr; }
@media(min-width:1000px){ .gr-sidebar{ position:sticky; top:96px; } }

/* Page / archive headers */
.gr-page-header{ background:var(--gr-ink); color:var(--gr-on-dark); padding:50px 0; }
.gr-page-header h1{ color:#fff; margin:0; }
.gr-page-header .desc{ color:var(--gr-on-dark-muted); margin-top:12px; max-width:62ch; font-size:1.05rem; }
.gr-page-header .gr-eyebrow{ color:var(--gr-accent); }
.gr-page-header .gr-eyebrow::before{ background:var(--gr-accent); }

/* =========================================================================
   SINGLE POST / ARTICLE
   ========================================================================= */
.gr-article{ background:#fff; border:1px solid var(--gr-border); border-radius:var(--gr-radius); padding:38px 44px 44px; box-shadow:var(--gr-shadow); }
.gr-article__header{ margin-bottom:26px; }
.gr-article__header h1{ margin:.25em 0 .35em; }
.gr-article__lead{ font-size:1.18rem; color:var(--gr-muted); line-height:1.6; }
.gr-article__byline{
  display:flex; align-items:center; gap:14px; margin:22px 0; padding:16px 0;
  border-top:1px solid var(--gr-border); border-bottom:1px solid var(--gr-border);
  font-family:var(--gr-font-mono); font-size:.85rem; color:var(--gr-muted);
  flex-wrap:wrap;
}
.gr-article__byline .avatar{ width:42px; height:42px; border-radius:50%; }
.gr-article__byline .author-name{ color:var(--gr-text); font-family:var(--gr-font-display); font-weight:700; font-size:.95rem; }
.gr-article__byline .dot{ opacity:.4; }
.gr-article__featured{ border-radius:var(--gr-radius); overflow:hidden; margin:0 0 30px; border:1px solid var(--gr-border); }

.gr-content{ font-size:1.06rem; }
.gr-content > h2{ margin-top:1.7em; padding-top:.2em; scroll-margin-top:96px; }
.gr-content > h2::before{
  content:""; display:block; width:40px; height:3px; background:var(--gr-accent);
  border-radius:2px; margin-bottom:.5em;
}
.gr-content > h3{ margin-top:1.4em; }
.gr-content img{ border-radius:var(--gr-radius-sm); margin:1.4em auto; }
.gr-content a{ text-decoration:underline; text-underline-offset:2px; }
.gr-content ul li::marker{ color:var(--gr-primary); }

/* Tags + share footer of article */
.gr-article__footer{ margin-top:34px; padding-top:24px; border-top:1px solid var(--gr-border); display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; }
.gr-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.gr-tag{ font-size:.82rem; background:var(--gr-paper); border:1px solid var(--gr-border); border-radius:999px; padding:5px 12px; color:var(--gr-muted); text-decoration:none; }
.gr-tag:hover{ border-color:var(--gr-primary); color:var(--gr-primary-dark); text-decoration:none; }
.gr-share{ display:flex; gap:8px; align-items:center; }
.gr-share a{ width:38px; height:38px; border-radius:9px; display:grid; place-items:center; background:var(--gr-ink); color:#fff; }
.gr-share a:hover{ background:var(--gr-primary); }

/* Author box */
.gr-authorbox{ display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--gr-border); border-radius:var(--gr-radius); padding:24px; margin-top:30px; }
.gr-authorbox .avatar{ width:64px; height:64px; border-radius:50%; flex:0 0 auto; }
.gr-authorbox h4{ margin:0 0 4px; }
.gr-authorbox p{ margin:0; color:var(--gr-muted); font-size:.95rem; }

/* =========================================================================
   REVIEW COMPONENTS (the theme's signature pieces)
   Output via the review meta box and/or shortcodes.
   ========================================================================= */

/* Scorecard */
.gr-scorecard{
  background:linear-gradient(180deg,#fff,#fbfbf8);
  border:1px solid var(--gr-border-strong); border-radius:var(--gr-radius);
  box-shadow:var(--gr-shadow); overflow:hidden; margin:0 0 30px;
}
.gr-scorecard__top{ display:grid; grid-template-columns:auto 1fr; gap:22px; padding:24px 26px; align-items:center; }
.gr-scorecard__score{
  width:112px; height:112px; border-radius:50%; flex:0 0 auto; position:relative;
  display:grid; place-items:center; background:conic-gradient(var(--gr-accent) var(--score-deg,0deg), #ece9df 0deg);
}
.gr-scorecard__score::after{ content:""; position:absolute; inset:9px; background:#fff; border-radius:50%; }
.gr-scorecard__score .val{ position:relative; z-index:1; font-family:var(--gr-font-mono); font-weight:700; font-size:1.9rem; color:var(--gr-text); line-height:1; }
.gr-scorecard__score .val small{ font-size:.85rem; color:var(--gr-muted); }
.gr-scorecard__meta .gr-eyebrow{ margin-bottom:.4rem; }
.gr-scorecard__name{ font-family:var(--gr-font-display); font-weight:800; font-size:1.5rem; margin:0 0 4px; }
.gr-scorecard__verdict{ color:var(--gr-muted); margin:0; font-size:1rem; }
.gr-scorecard__stars{ color:var(--gr-accent); letter-spacing:2px; font-size:1.1rem; margin-top:6px; }
.gr-scorecard__cta{ padding:0 26px 24px; }
.gr-scorecard__cta .gr-btn{ width:100%; justify-content:center; }
.gr-scorecard__disclaimer{ font-size:.72rem; color:var(--gr-muted); text-align:center; margin:10px 0 0; font-family:var(--gr-font-mono); }

/* Pros & cons */
.gr-proscons{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 30px; }
.gr-proscons__col{ border:1px solid var(--gr-border); border-radius:var(--gr-radius); padding:20px 22px; background:#fff; }
.gr-proscons__col h4{ display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:1.05rem; }
.gr-proscons__col.pros{ border-top:3px solid var(--gr-primary); }
.gr-proscons__col.cons{ border-top:3px solid #d65a4e; }
.gr-proscons__col ul{ list-style:none; padding:0; margin:0; }
.gr-proscons__col li{ position:relative; padding-left:26px; margin:.5em 0; font-size:.96rem; }
.gr-proscons__col.pros li::before{ content:"✓"; position:absolute; left:0; color:var(--gr-primary); font-weight:700; }
.gr-proscons__col.cons li::before{ content:"✕"; position:absolute; left:0; color:#d65a4e; font-weight:700; }

/* Key takeaways callout */
.gr-takeaways{
  background:rgba(18,160,106,.06); border:1px solid rgba(18,160,106,.22);
  border-left:4px solid var(--gr-primary); border-radius:var(--gr-radius);
  padding:22px 26px; margin:0 0 30px;
}
.gr-takeaways h4{ margin:0 0 10px; color:var(--gr-primary-dark); }
.gr-takeaways ul{ margin:0; padding-left:1.1em; }

/* Inline CTA banner */
.gr-cta-banner{
  background:var(--gr-ink);
  background-image:radial-gradient(120% 160% at 90% 0%, rgba(201,162,75,.22), transparent 55%);
  color:var(--gr-on-dark); border-radius:var(--gr-radius); padding:26px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin:1.6em 0;
}
.gr-cta-banner h4{ color:#fff; margin:0 0 4px; }
.gr-cta-banner p{ margin:0; color:var(--gr-on-dark-muted); font-size:.92rem; }

/* =========================================================================
   NEWSLETTER
   ========================================================================= */
.gr-newsletter{
  background:radial-gradient(120% 160% at 0% 0%, rgba(18,160,106,.30), transparent 55%), var(--gr-ink);
  color:var(--gr-on-dark); border-radius:var(--gr-radius); padding:44px 40px; text-align:center;
}
.gr-newsletter h2{ color:#fff; }
.gr-newsletter p{ color:var(--gr-on-dark-muted); max-width:50ch; margin:0 auto 22px; }
.gr-newsletter form{ display:flex; gap:10px; max-width:480px; margin:0 auto; flex-wrap:wrap; }
.gr-newsletter input[type=email]{ flex:1; min-width:200px; padding:.85em 1.1em; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.95); font-size:1rem; }

/* =========================================================================
   SIDEBAR & WIDGETS
   ========================================================================= */
.gr-widget{ background:#fff; border:1px solid var(--gr-border); border-radius:var(--gr-radius); padding:22px 24px; margin-bottom:24px; box-shadow:var(--gr-shadow); }
.gr-widget .widget-title,
.gr-widget h2, .gr-widget h3{ font-size:1.05rem; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--gr-border); }
.gr-widget ul{ list-style:none; padding:0; margin:0; }
.gr-widget li{ padding:8px 0; border-bottom:1px solid var(--gr-border); font-size:.95rem; }
.gr-widget li:last-child{ border-bottom:0; }
.gr-widget a{ color:var(--gr-text); }
.gr-widget a:hover{ color:var(--gr-primary-dark); }

/* =========================================================================
   COMMENTS & FORMS
   ========================================================================= */
.comments-area{ background:#fff; border:1px solid var(--gr-border); border-radius:var(--gr-radius); padding:30px 34px; margin-top:30px; box-shadow:var(--gr-shadow); }
.comment-list{ list-style:none; padding:0; margin:0; }
.comment-list .comment{ border-bottom:1px solid var(--gr-border); padding:18px 0; }
.comment-list .children{ list-style:none; padding-left:28px; }
.comment-author{ font-family:var(--gr-font-display); font-weight:700; }
.comment-metadata{ font-size:.8rem; color:var(--gr-muted); font-family:var(--gr-font-mono); }
.comment-respond input[type=text],
.comment-respond input[type=email],
.comment-respond input[type=url],
.comment-respond textarea{
  width:100%; padding:.7em 1em; border:1px solid var(--gr-border-strong); border-radius:10px;
  font-family:var(--gr-font-body); font-size:1rem; margin-bottom:12px; background:#fff;
}
.comment-respond textarea{ min-height:130px; }

/* =========================================================================
   PAGINATION & MISC
   ========================================================================= */
.gr-pagination{ display:flex; justify-content:center; gap:8px; margin-top:40px; flex-wrap:wrap; }
.gr-pagination .page-numbers{
  display:grid; place-items:center; min-width:44px; height:44px; padding:0 12px;
  border:1px solid var(--gr-border); border-radius:10px; background:#fff; color:var(--gr-text);
  font-family:var(--gr-font-display); font-weight:700; text-decoration:none;
}
.gr-pagination .page-numbers.current{ background:var(--gr-primary); color:#fff; border-color:var(--gr-primary); }
.gr-pagination .page-numbers:hover:not(.current){ border-color:var(--gr-primary); color:var(--gr-primary-dark); }

.gr-404{ text-align:center; padding:90px 0; }
.gr-404 .code{ font-family:var(--gr-font-mono); font-size:5rem; font-weight:700; color:var(--gr-primary); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer{ background:var(--gr-ink); color:var(--gr-on-dark-muted); margin-top:10px; }
.site-footer a{ color:var(--gr-on-dark); }
.site-footer a:hover{ color:#fff; }
.site-footer__top{ padding:54px 0 40px; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px; }
.site-footer__brand .site-logo-mark{ margin-bottom:14px; }
.site-footer__brand p{ font-size:.95rem; line-height:1.7; max-width:42ch; }
.site-footer h4{ color:#fff; font-size:1rem; margin:0 0 16px; }
.site-footer .footer-menu{ list-style:none; padding:0; margin:0; }
.site-footer .footer-menu li{ margin:.5em 0; }
.site-footer .footer-menu a{ font-size:.95rem; text-decoration:none; }

/* Responsible gambling notice */
.gr-responsible{
  border-top:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09);
  padding:22px 0; display:flex; gap:16px; align-items:center; flex-wrap:wrap;
}
.gr-responsible .badge{
  font-family:var(--gr-font-mono); font-weight:700; font-size:.85rem; letter-spacing:.05em;
  background:var(--gr-accent); color:#1a1306; padding:8px 12px; border-radius:8px; flex:0 0 auto;
}
.gr-responsible p{ margin:0; font-size:.85rem; color:var(--gr-on-dark-muted); }

.site-footer__bottom{ padding:20px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.82rem; font-family:var(--gr-font-mono); }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1000px){
  .gr-layout{ grid-template-columns:1fr; }
  .gr-hero__grid{ grid-template-columns:1fr; gap:34px; }
  .gr-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  body{ font-size:16px; }
  .menu-toggle{ display:block; }
  .main-navigation{
    display:none; position:absolute; left:0; right:0; top:100%;
    background:var(--gr-ink-2); border-top:1px solid rgba(255,255,255,.08); padding:12px 22px;
  }
  .main-navigation.is-open{ display:block; }
  .main-navigation ul{ flex-direction:column; align-items:stretch; gap:2px; }
  .main-navigation ul ul{ position:static; box-shadow:none; background:transparent; border:0; padding-left:14px; display:flex; }
  .gr-grid, .gr-grid--2{ grid-template-columns:1fr; }
  .site-footer__top{ grid-template-columns:1fr; gap:30px; }
  .gr-article{ padding:26px 22px 30px; }
  .gr-proscons{ grid-template-columns:1fr; }
  .gr-scorecard__top{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .site-footer__bottom{ flex-direction:column; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* WP core alignment helpers */
.alignleft{ float:left; margin:0 1.5em 1em 0; }
.alignright{ float:right; margin:0 0 1em 1.5em; }
.aligncenter{ margin-left:auto; margin-right:auto; }
.wp-caption-text{ font-size:.85rem; color:var(--gr-muted); text-align:center; }
.sticky, .gallery-caption, .bypostauthor{ display:block; }
