/* =========================================================================
   Kentucky Online Casinos (mongrainglass.com) — "Mongrain gallery" theme
   Light gallery body · deep-forest-green chrome · lime (#ccff99) accent ·
   Georgia serif prose headings. Re-themed from casino.css; identical layout
   + selectors + responsive rules, recoloured to the legacy brand identity.
   Mobile-first. WCAG AA contrast targets.
   ========================================================================= */
:root{
  --green:#4e7d28; --green-deep:#3a5e1e; --green-bright:#6aa12f;
  --lime:#ccff99; --lime-cta:#bfe85f; --lime-cta-deep:#a3d23a;
  --ink:#18240f; --ink-2:#223618; --ink-line:#2f4422;
  --bg:#f6f7f2; --card:#ffffff; --card-2:#eef0e7; --line:#dde1d2;
  --text:#1f1f1f; --muted:#5a6150; --muted-2:#7c8473;
  --maxw:1180px; --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:"Lato",Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-bright)}
h1,h2,h3,h4,h5,h6{font-family:Georgia,"Times New Roman",serif;font-weight:700;
  letter-spacing:0;text-transform:none;line-height:1.18;margin:0 0 .5em;color:#16240d}
h1{font-size:clamp(28px,5vw,46px)}
h2{font-size:clamp(23px,3.4vw,34px);margin-top:1.6em}
h3{font-size:clamp(19px,2.4vw,24px);margin-top:1.3em}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---- skip link / a11y ---- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--green);color:#fff;
  padding:10px 16px;z-index:2000}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--green-bright);outline-offset:2px}

/* ---- 21+ compliance banner ---- */
.compliance-banner{background:var(--ink);border-bottom:2px solid var(--lime);color:#dfe7d2;
  font-size:13px;text-align:center;padding:7px 14px}
.compliance-banner strong{color:#fff}
.compliance-banner a{color:var(--lime)}

/* ---- sticky navbar (deep green chrome) ---- */
.navbar{position:sticky;top:0;z-index:1000;background:var(--ink);
  border-bottom:3px solid var(--lime);box-shadow:0 2px 14px rgba(20,30,10,.35)}
.navbar-inner{max-width:var(--maxw);margin:0 auto;padding:8px 20px;display:flex;
  align-items:center;justify-content:space-between;gap:20px}
.navbar .logo img{height:54px;width:auto}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-links a{display:block;color:#f1f5ea;font-family:"Oswald",sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;font-size:14.5px;padding:11px 12px;border-radius:4px;white-space:nowrap}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--green);color:#fff}
.nav-toggle{display:none;background:none;border:0;color:#fff;width:44px;height:44px;cursor:pointer}
.nav-toggle svg{width:26px;height:26px;fill:#f1f5ea}

/* dropdowns */
.has-dropdown{position:relative}
.dropdown-toggle{display:flex;align-items:center;gap:5px;background:none;border:0;color:#f1f5ea;
  font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
  font-size:14.5px;padding:11px 12px;border-radius:4px;cursor:pointer;line-height:1.2}
.dropdown-toggle:hover,.has-dropdown:hover .dropdown-toggle,.dropdown-toggle[aria-current="true"]{background:var(--green);color:#fff}
.dropdown-toggle .caret{font-size:11px;transition:transform .2s ease}
.has-dropdown:hover .caret,.has-dropdown.open .caret{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:0;min-width:248px;background:var(--ink-2);border:1px solid var(--ink-line);
  border-top:3px solid var(--lime);border-radius:0 0 9px 9px;box-shadow:0 12px 26px rgba(20,30,10,.4);
  list-style:none;margin:0;padding:6px;display:none;z-index:1001}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown,.has-dropdown.open .dropdown{display:block}
.dropdown li{margin:0}
.dropdown a{display:block;color:#f1f5ea;padding:9px 12px;border-radius:5px;font-size:14px;
  font-family:"Lato",sans-serif;text-transform:none;letter-spacing:0;white-space:nowrap}
.dropdown a:hover,.dropdown a[aria-current="page"]{background:var(--green);color:#fff}

/* ---- hero (light gallery gradient, dark text) ---- */
.hero{background:linear-gradient(180deg,#ffffff 0%,#eef1e6 100%);
  border-bottom:1px solid var(--line);padding:46px 0 38px}
.hero h1{margin-bottom:.35em}
.hero .sub{font-size:clamp(16px,2.2vw,20px);color:var(--muted);max-width:760px;margin:0 0 1.2em}
.hero-brand{display:inline-flex;background:#fff;border-radius:12px;padding:16px 26px;margin:0 0 16px;box-shadow:0 4px 18px rgba(20,30,10,.12)}
.hero-brand-logo{max-height:84px;width:auto;display:block}
.review-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:2px 0 18px}
.review-hero-cta .review-rating{background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:8px 14px;color:var(--green-deep);font-family:"Oswald",sans-serif;font-weight:700;font-size:18px}
.review-hero-cta .review-bonus{font-family:"Oswald",sans-serif;font-weight:700;font-size:21px;color:#16240d}
.review-hero-cta .review-hero-btn{font-size:17px;padding:14px 34px;margin-left:auto;
  animation:ctaGlow 1.8s ease-in-out infinite}
.hero .trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hero .trust-strip span{background:var(--card);border:1px solid var(--line);border-radius:999px;
  padding:6px 13px;font-size:13px;color:var(--muted)}
.updated{color:var(--muted-2);font-size:13px;margin:0 0 .8em}

/* ---- buttons / CTA (lime fill, dark text) ---- */
.btn{display:inline-block;font-family:"Oswald",sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;padding:13px 22px;border-radius:7px;cursor:pointer;border:0;text-align:center}
.btn-primary{background:linear-gradient(180deg,var(--green) 0%,var(--green-deep) 100%);color:#fff}
.btn-primary:hover{filter:brightness(1.08);color:#fff}
.btn-cta{background:linear-gradient(180deg,var(--lime-cta) 0%,var(--lime-cta-deep) 100%);color:#16240d;width:100%}
.btn-cta:hover{filter:brightness(1.05);color:#16240d}

/* ---- main content blocks ---- */
main{padding:8px 0 40px}
.content p,.content li{color:#2a2c26}
.content a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.content a:hover{color:var(--green-bright)}
.content a.btn,.content a.btn-cta,.content a.btn-primary{text-decoration:none}
.content a.btn-cta{color:#16240d}
.content ul,.content ol{margin:0 0 1.2em;padding-left:1.3em}
.content li{margin:.3em 0}
.lead{font-size:19px;color:#16240d}
.section{padding:8px 0}

/* ---- callout / disclaimer boxes ---- */
.callout{background:var(--card-2);border-left:4px solid var(--green);border-radius:8px;
  padding:16px 18px;margin:1.4em 0}
.callout.legal{border-left-color:#b8860b}
.callout.rg{border-left-color:var(--green)}
.callout h3{margin-top:0}
.quick-answer{background:#f3f8e6;border:1px solid var(--green);border-radius:10px;padding:18px 20px;margin:1.4em 0}
.quick-answer h2{margin-top:0}

/* ---- toplist table (desktop) -> mobile cards (<=768) ---- */
.toplist{width:100%;border-collapse:separate;border-spacing:0 10px;margin:1.2em 0}
.toplist th{display:none}
.toplist td{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 12px;vertical-align:middle}
.toplist tr td:first-child{border-left:1px solid var(--line);border-top-left-radius:10px;border-bottom-left-radius:10px;
  font-family:"Oswald";font-size:22px;color:var(--green);text-align:center;width:54px}
.toplist tr td:last-child{border-right:1px solid var(--line);border-top-right-radius:10px;border-bottom-right-radius:10px;width:190px}
.toplist .brand{display:block;font-family:"Oswald";font-size:19px;color:#16240d;text-transform:uppercase}
.toplist .descriptor{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.toplist .highlight{background:#eef6d8;border:1px solid #cfe39a;
  color:var(--green-deep);font-weight:700;border-radius:7px;padding:8px 10px;text-align:center;font-size:14px}
.toplist .logo-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;min-height:54px;min-width:84px}
.toplist .logo-box img{max-height:46px;width:auto}
.toplist .logo-ini{font-family:"Oswald",sans-serif;font-weight:700;color:#16240d;font-size:22px}
.toplist .rank-tag{display:block;font-family:"Oswald",sans-serif;font-size:10.5px;letter-spacing:.4px;
  color:var(--green);text-transform:uppercase;margin-bottom:2px;font-weight:600}
.toplist .rating{display:block;color:var(--green-deep);font-size:13px;font-weight:700;margin:2px 0}
.toplist td:first-child{line-height:1.1}

/* ---- comparison / data tables ---- */
.table-scroll{overflow-x:auto;margin:1.3em 0}
table.data{width:100%;border-collapse:collapse;font-size:15px}
table.data th,table.data td{border:1px solid var(--line);padding:10px 12px;text-align:left}
table.data th{background:var(--ink-2);color:#f1f5ea;font-family:"Oswald";text-transform:uppercase;font-size:14px;letter-spacing:.4px}
table.data tr:nth-child(even) td{background:var(--card-2)}
.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700}
.badge.no{background:#fbe3e0;color:#a4271c;border:1px solid #f0bdb6}
.badge.yes{background:#e6f4d4;color:#3a5e1e;border:1px solid #bcdd93}
.badge.maybe{background:#fdf2cf;color:#8a6d00;border:1px solid #ecd98f}

/* ---- availability matrix ---- */
.availability{margin:1.4em 0}
.availability .row{display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:8px 0}
.availability .label{font-family:"Oswald";text-transform:uppercase;font-size:15px;color:#16240d}

/* ---- pros / cons ---- */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1.4em 0}
.proscons .col{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.proscons .pros{border-top:3px solid var(--green)}
.proscons .cons{border-top:3px solid #c0392b}
.proscons ul{list-style:none;padding:0;margin:0}
.proscons li{padding:4px 0 4px 24px;position:relative}
.proscons .pros li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.proscons .cons li:before{content:"✕";position:absolute;left:0;color:#c0392b;font-weight:700}

/* ---- FAQ ---- */
.faq{margin:1.6em 0}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;margin:8px 0;padding:0 16px}
.faq summary{font-family:"Oswald";text-transform:uppercase;font-size:17px;cursor:pointer;padding:14px 0;list-style:none;color:#16240d}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";float:right;color:var(--green)}
.faq details[open] summary:after{content:"–"}
.faq details p{padding-bottom:14px;margin:0;color:#2a2c26}

/* ---- author / E-E-A-T stamp ---- */
.byline{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--card);
  border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:1.6em 0;font-size:14px}
.byline .who{display:flex;align-items:center;gap:10px}
.byline .avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Oswald";font-size:17px}
.byline .avatar-img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--green)}
.byline a{color:var(--green)}
.byline .meta{color:var(--muted-2)}
.editorial-note{font-size:13.5px;color:var(--muted);border-top:1px dashed var(--line);margin-top:1.4em;padding-top:12px}
.affiliate-disclosure{font-size:13px;color:var(--muted-2);background:var(--card-2);border:1px dashed var(--line);
  border-radius:8px;padding:10px 14px;margin:1.2em 0}

/* ---- breadcrumb ---- */
.breadcrumb{font-size:13px;color:var(--muted-2);padding:12px 0}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--green-bright)}

/* ---- footer (deep green chrome) ---- */
.site-footer{background:var(--ink);border-top:3px solid var(--lime);margin-top:30px;padding:34px 0 0}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.footer-cols h4{font-family:"Oswald";text-transform:uppercase;color:#fff;font-size:16px;margin:0 0 12px}
.footer-cols ul{list-style:none;margin:0;padding:0}
.footer-cols li{margin:6px 0}
.footer-cols a{color:#cfd8c4;font-size:14px}
.footer-cols a:hover{color:var(--lime)}
.footer-rg{background:var(--ink-2);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);
  margin-top:26px;padding:16px 0;text-align:center;color:#cfd8c4;font-size:14px}
.footer-rg strong{color:#fff}
.footer-rg .gambler{color:var(--lime);font-weight:700;white-space:nowrap}
.footer-legal{text-align:center;color:#9aa890;font-size:12.5px;padding:16px 0 26px}

/* sticky RG mini-link bottom-right */
.rg-sticky{position:fixed;right:12px;bottom:12px;z-index:1100;background:var(--green-deep);color:#fff;
  border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;box-shadow:0 4px 14px rgba(20,30,10,.35)}
.rg-sticky:hover{color:#fff;filter:brightness(1.1)}

/* ---- responsive ---- */
@media (max-width:860px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);background:var(--ink);
    flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:70px 16px 24px;transform:translateX(100%);
    transition:transform .25s ease;box-shadow:-8px 0 24px rgba(20,30,10,.45);overflow-y:auto}
  .nav-links.open{transform:translateX(0)}
  .nav-links > li > a{padding:14px 12px;border-bottom:1px solid var(--ink-line);font-size:16px}
  .has-dropdown{position:static}
  .dropdown-toggle{width:100%;justify-content:space-between;padding:14px 12px;
    border-bottom:1px solid var(--ink-line);font-size:16px;border-radius:0}
  .dropdown{position:static;display:none;min-width:0;border:0;border-radius:0;box-shadow:none;
    background:var(--ink-line);padding:0}
  .has-dropdown.open .dropdown{display:block}
  .has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{display:none}
  .has-dropdown.open .dropdown{display:block}
  .dropdown a{padding:12px 12px 12px 26px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(20,30,10,.5);z-index:999}
  .nav-overlay.show{display:block}
  .navbar .logo img{height:46px}
}
@media (max-width:768px){
  .hero{padding:10px 0 6px}
  .hero h1{font-size:clamp(19px,5.2vw,24px);margin-bottom:.2em;letter-spacing:.1px}
  .hero .sub{font-size:12.5px;line-height:1.4;margin:0 0 .45em}
  .updated{display:none}
  .byline{padding:7px 10px;gap:8px;margin:.45em 0;font-size:12px}
  .byline .avatar-img{width:30px;height:30px}
  .byline .who:nth-child(2){display:none}
  main{padding:4px 0 40px}
  .content h2{margin-top:.5em}
  main .content > .h2-desc-clamp + .see-more-btn{padding:2px 0 6px}
  .rg-sticky{display:none}
  .hero-brand{padding:12px 18px;margin-bottom:10px}
  .hero-brand-logo{max-height:62px}
  .review-hero-cta{gap:8px;margin:2px 0 12px}
  .review-hero-cta .review-hero-btn{width:100%;margin-left:0;font-size:16px;padding:14px}
  .review-hero-cta .review-rating,.review-hero-cta .review-bonus{font-size:16px}
  .toplist .logo-box{margin:0 auto 6px;max-width:140px;min-height:46px}
  .toplist .logo-box img{max-height:40px}
  .toplist tr{padding:12px 10px}
  .breadcrumb{display:none}
  /* keep the first toplist CTA above the mobile fold (affiliate-list-placement §3) */
  .toplist-block h2{margin-top:.2em;margin-bottom:.3em;font-size:clamp(19px,5vw,23px)}
  .toplist-block > p{margin-bottom:.5em}
  .h2-desc-clamp{position:relative;max-height:2.4em;overflow:hidden}
  .h2-desc-clamp.open{max-height:none}
  .see-more-btn{display:inline-block;background:none;border:0;color:var(--green);
    font-family:"Oswald",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
    font-size:13.5px;padding:4px 0 8px;cursor:pointer}
  .proscons{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr}
  /* responsive data tables — each row becomes a labeled card (no horizontal scroll) */
  .table-scroll{overflow-x:visible}
  table.data.resp{border:0;font-size:14px;width:100%}
  table.data.resp tr.thead-row{display:none}
  table.data.resp tr{display:block;border:1px solid var(--line);border-radius:8px;margin:0 0 12px;background:var(--card)}
  table.data.resp td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
    border:0;border-bottom:1px solid var(--line);padding:9px 12px;text-align:right}
  table.data.resp tr td:last-child{border-bottom:0}
  table.data.resp td::before{content:attr(data-label);font-family:"Oswald",sans-serif;
    text-transform:uppercase;font-size:11.5px;letter-spacing:.3px;color:var(--green-deep);
    font-weight:700;text-align:left;flex:0 0 44%}
  table.data.resp td:not([data-label])::before{content:none}
  table.data.resp tr:nth-child(even) td{background:var(--card)}
  .toplist,.toplist tbody,.toplist tr,.toplist td{display:block;width:auto}
  .toplist tr{background:var(--card);border:1px solid var(--line);border-radius:12px;
    margin:0 0 14px;padding:14px 12px;position:relative;text-align:center}
  .toplist td{background:none!important;border:0!important;padding:5px 4px}
  .toplist tr td:first-child{position:absolute;top:10px;left:12px;width:auto;font-size:18px;padding:0}
  .toplist .logo-box{margin:2px auto 8px;max-width:160px}
  .toplist .brand{font-size:20px}
  .toplist .highlight{font-size:20px;font-weight:800;padding:10px 12px;margin:6px auto 4px}
  .toplist tr td:last-child{width:auto}
  .toplist .btn-cta{width:100%;animation:ctaGlow 1.8s ease-in-out infinite}
}
@keyframes ctaGlow{
  0%,100%{box-shadow:0 0 6px rgba(163,210,58,.5)}
  50%{box-shadow:0 0 20px 2px rgba(163,210,58,.95)}
}
@media (max-width:480px){.footer-cols{grid-template-columns:1fr}}
