/* guelphmapsguy.com — Canada casino guides. Dune / sunrise template.
   Oswald headings + Open Sans body. Warm sand palette, sunset accents. */
:root{
  --sand:#fbf6ee;--sand-2:#f4ead9;--card:#fffdf9;--ink:#241a12;--muted:#6b5c4c;
  --line:#e7dcc9;--line-2:#ece3d4;
  --y:#f5c63c;--o1:#f0ae34;--o2:#ef8f2a;--o3:#bc5010;--r:#e2451f;
  --sun:linear-gradient(90deg,#f5c63c,#f0ae34 28%,#ef8f2a 52%,#bc5010 76%,#e2451f);
  --link:#b94e19;--good:#1a8a4b;--bad:#c0392b;
  --head:"Oswald",Impact,"Arial Narrow",system-ui,sans-serif;
  --body:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1080px;--radius:14px;--shadow:0 10px 30px rgba(60,34,10,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--sand);line-height:1.68;font-size:17px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.15;color:var(--ink);letter-spacing:.2px}
h1{font-size:2.5rem;margin:.1em 0 .3em;text-transform:none}
h3{font-size:1.3rem;margin:1.3em 0 .4em}
h4{font-size:1.05rem;margin:0 0 .5em;text-transform:uppercase;letter-spacing:.6px}
p{margin:.75em 0}
b,strong{font-weight:600}
.body b,.body strong{font-weight:700}

/* ---------- header ---------- */
.mast{background:#1c130c;position:sticky;top:0;z-index:60}
.mast__in{display:flex;align-items:center;gap:16px;height:66px}
.mast__logo{display:flex;align-items:center}
.mast__logo img{height:42px;width:auto}
.mast__spacer{flex:1}
.nav{display:flex;align-items:center;gap:14px}
.nav__list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav__item{position:relative}
.nav__item>a{display:flex;align-items:center;gap:5px;font-family:var(--head);text-transform:uppercase;font-size:.85rem;letter-spacing:.7px;color:#f3e7d3;font-weight:500;padding:0 12px;line-height:66px}
.nav__item>a:hover{color:var(--y);text-decoration:none}
.nav__caret{opacity:.65;transition:transform .15s}
.nav__item:hover .nav__caret{transform:rotate(180deg)}
.nav__drop{position:absolute;top:100%;left:0;min-width:240px;background:#241812;border-top:3px solid var(--o2);
  box-shadow:0 16px 34px rgba(0,0,0,.42);list-style:none;margin:0;padding:6px 0;display:none;z-index:70;border-radius:0 0 10px 10px}
.nav__item.has-drop:hover>.nav__drop,.nav__item.has-drop:focus-within>.nav__drop{display:block}
.nav__drop li a{display:block;padding:10px 18px;color:#e7d6bd;font-size:.92rem;font-family:var(--body);white-space:nowrap}
.nav__drop li a:hover{background:#33221a;color:var(--y);text-decoration:none}
.claim{display:inline-flex;align-items:center;gap:7px;background:var(--sun);color:#2a1500;font-family:var(--head);
  text-transform:uppercase;letter-spacing:.6px;font-weight:600;padding:11px 18px;border-radius:9px;
  box-shadow:0 4px 14px rgba(226,69,31,.35);white-space:nowrap;transition:transform .06s ease,filter .15s}
.claim:hover{filter:brightness(1.06);text-decoration:none;transform:translateY(-1px)}
.claim svg{width:12px;height:12px;fill:currentColor}
.claim--nav{padding:9px 14px;font-size:.82rem}
.mast__burger{display:none;width:44px;height:40px;background:none;border:0;cursor:pointer;position:relative}
.mast__burger span,.mast__burger span::before,.mast__burger span::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:#f3e7d3;transition:.2s}
.mast__burger span{top:19px}.mast__burger span::before{top:-6px}.mast__burger span::after{top:6px}
.sunrule{height:5px;background:var(--sun)}

/* ---------- hero ---------- */
.hero{background:radial-gradient(120% 140% at 80% -10%,#2a1a0e 0%,#160f08 60%);color:#f6ecdb;padding:40px 0 34px;position:relative}
.hero__in{max-width:860px}
.hero h1{color:#fff}
.hero__lede{font-size:1.2rem;color:#e7cfa9;margin:.2em 0 1.1em;max-width:720px}
.byl{display:flex;align-items:center;gap:12px;margin:14px 0 10px}
.byl__pic{width:52px;height:52px;border-radius:50%;border:2px solid var(--o2);object-fit:cover}
.byl__name{font-family:var(--head);font-size:1.02rem;font-weight:600}
.byl__name a{color:#fff}
.byl__role{font-size:.82rem;color:#c9ad86}
.byl__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.82rem;color:#c9ad86;border-top:1px solid #3a2a1a;padding-top:10px;margin-top:6px}
.byl__meta span{position:relative}
.byl__meta time{color:#e7cfa9}
.jumpdown{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:var(--sun);color:#2a1500;
  font-family:var(--head);text-transform:uppercase;letter-spacing:.6px;font-weight:600;padding:12px 22px;border-radius:9px}
.jumpdown:hover{filter:brightness(1.06);text-decoration:none}
.jumpdown svg{width:12px;height:12px;fill:currentColor}

/* ---------- main ---------- */
main{padding:8px 0 20px}
.body{padding-top:26px}
.body>p,.body>ul,.body>ol,.body>div{max-width:100%}
.body ul,.body ol{padding-left:1.25em}
.body li{margin:.4em 0}

/* ---------- lozenge headings ---------- */
.lozenge{display:flex;align-items:flex-end;gap:14px;margin:2.2em 0 .7em;font-size:1.72rem;line-height:1.1;
  border:0;padding:0}
.lozenge--first{margin-top:1em}
.lozenge .sundisc{flex:0 0 auto;width:48px;height:28px}
.lozenge span{display:block;padding-bottom:2px}
.tl-lede{font-size:1.05rem;color:var(--muted);margin:.2em 0 1.1em;font-style:italic}

/* ---------- toplist / dunerow ---------- */
.toplist{list-style:none;counter-reset:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:13px}
.dunerow{display:grid;grid-template-columns:48px 148px minmax(150px,1fr) minmax(178px,220px) auto;
  grid-template-areas:"rank chip id bonus act" "rank chip tags bonus act";
  align-items:center;gap:8px 16px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:15px 18px;box-shadow:var(--shadow);position:relative}
.dunerow--top{border:2px solid var(--o2);box-shadow:0 12px 34px rgba(236,109,34,.20)}
.dunerow--top::before{content:"Top pick";position:absolute;top:-11px;left:16px;background:var(--sun);color:#2a1500;
  font-family:var(--head);text-transform:uppercase;letter-spacing:.6px;font-size:.7rem;font-weight:600;padding:2px 11px;border-radius:20px}
.dunerow__rank{grid-area:rank;font-family:var(--head);font-size:1.7rem;font-weight:700;color:var(--o3);text-align:center;line-height:1;display:flex;flex-direction:column;align-items:center}
.dunerow__rank small{font-family:var(--body);font-size:.56rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;margin-top:2px}
.dunerow__chip{grid-area:chip;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:10px;height:58px;padding:8px}
.dunerow__chip--dark{background:#fff}
.dunerow__chip img{max-height:40px;max-width:126px;object-fit:contain}
.dunerow__chip span,.rev__chip span{color:#1c130c!important;font-weight:700}
.dunerow__id{grid-area:id;min-width:0}
.dunerow__name{margin:0;font-size:1.14rem}
.dunerow__stars{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.stars{display:inline-flex;gap:1px}
.stars svg{width:14px;height:14px;fill:var(--o2)}
.stars svg.off{fill:#dccbb2}
.dunerow__stars b{font-size:.9rem}
.bestfor{font-size:.82rem;color:var(--muted);flex-basis:100%}
.dunerow__bonus{grid-area:bonus}
.dunerow__bonus .lbl{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700}
.dunerow__amt{display:block;font-family:var(--head);font-size:1.06rem;font-weight:600;color:var(--ink);line-height:1.2}
.dunerow__fine{font-size:.78rem;color:var(--muted);margin-top:2px}
.dunerow__code{display:inline-block;margin-top:2px}
.dunerow__code b{background:#fbe6cf;border:1px dashed var(--o2);border-radius:5px;padding:0 6px;font-family:monospace}
.dunerow__tags{grid-area:tags;display:flex;flex-wrap:wrap;gap:5px;align-self:start}
.tag{font-size:.7rem;background:var(--sand-2);border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:2px 9px;font-weight:600}
.dunerow__act{grid-area:act}
.dunerow__act .claim{padding:12px 16px}

/* ---------- in-depth reviews ---------- */
.rev{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  margin:18px 0;overflow:hidden}
.rev__top{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line-2);background:#fdf6ea}
.rev__chip{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:10px;height:56px;width:150px;flex:0 0 auto;padding:8px}
.rev__chip--dark{background:#fff}
.rev__chip img{max-height:42px;max-width:130px;object-fit:contain}
.rev__h{flex:1;min-width:0}
.rev__h h3{margin:0 0 3px;font-size:1.24rem}
.rev__h .dunerow__stars b{color:var(--muted)}
.rev__score{font-family:var(--head);font-size:1.9rem;font-weight:700;color:var(--o3);text-align:center;line-height:.9;display:flex;flex-direction:column;align-items:center}
.rev__score small{font-family:var(--body);font-size:.56rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;margin-top:3px}
.rev__body{padding:16px 20px}
.rev__body p:first-child{margin-top:0}
.dims{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px}
.dims li{display:grid;grid-template-columns:1fr 90px 30px;align-items:center;gap:8px;margin:0;font-size:.82rem}
.dims .bar{background:var(--sand-2);border-radius:6px;height:8px;overflow:hidden}
.dims .bar i{display:block;height:100%;background:var(--sun);border-radius:6px}
.dims .num{font-weight:700;text-align:right;font-size:.8rem}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0}
.pc h4{margin-bottom:6px}
.pc ul{list-style:none;padding:0;margin:0}
.pc li{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;margin:6px 0}
.pc li svg{width:14px;height:14px;flex:0 0 auto;margin-top:4px}
.pc li.yes svg{fill:var(--good)}
.pc li.no svg{fill:var(--bad)}
.claim--sm{padding:11px 16px;font-size:.82rem;margin-top:6px}

/* ---------- content furniture ---------- */
.tbl-wrap{overflow-x:auto;margin:18px 0}
table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
caption{caption-side:top;text-align:left;font-size:.82rem;color:var(--muted);margin-bottom:6px;font-style:italic}
th,td{border-bottom:1px solid var(--line-2);padding:10px 13px;text-align:left;vertical-align:top}
thead th{background:#2a1a0e;color:#f6ecdb;font-family:var(--head);font-weight:500;letter-spacing:.4px;border:0}
tbody tr:nth-child(even) td{background:#fdf7ed}
/* legacy .data tables reuse the same look */
table.data{}
.steps{counter-reset:step;list-style:none;padding:0;margin:16px 0}
.steps li{position:relative;padding:4px 0 14px 46px;margin:0}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:2px;width:32px;height:32px;
  background:var(--sun);color:#2a1500;font-family:var(--head);font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}
.facts{list-style:none;padding:0;margin:16px 0}
.facts li{padding:10px 14px;border-left:4px solid var(--o2);background:#fdf6ea;border-radius:0 8px 8px 0;margin:8px 0;font-size:.94rem}
.callout{border-left:4px solid var(--o2);background:#fdf6ea;padding:12px 16px;border-radius:0 10px 10px 0;margin:16px 0}
.callout.info{border-left-color:#2f7cc2;background:#eff6fd}
.callout.warn{border-left-color:var(--r);background:#fdefe8}
.toc{background:#fdf6ea;border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin:18px 0}
.toc strong{display:block;margin-bottom:6px;font-family:var(--head);text-transform:uppercase;letter-spacing:.6px;font-size:.9rem}
.toc ul{columns:2;margin:0;padding-left:1.1em}
.badge{display:inline-block;background:var(--sand-2);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:1px 7px;font-size:.74rem;font-weight:600;margin:2px 4px 0 0}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.pill{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:.84rem;font-weight:600;color:var(--o3)}
.pill:hover{border-color:var(--o2);text-decoration:none}
.updated{font-size:.82rem;color:var(--muted)}
.disclosure{background:#fdf6ea;border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-size:.86rem;color:var(--muted);margin:16px 0}

/* ---------- FAQ ---------- */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:9px 0;overflow:hidden}
.faq summary{cursor:pointer;padding:14px 16px;font-family:var(--head);font-weight:500;font-size:1.05rem;list-style:none;position:relative;padding-right:40px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:12px;color:var(--o3);font-size:1.3rem}
.faq details[open] summary::after{content:"\2013"}
.faq__a{padding:0 16px 14px}
.faq__a p{margin:.3em 0}

/* ---------- author box ---------- */
.abox{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;margin:28px 0;box-shadow:var(--shadow)}
.abox img{width:96px;height:96px;border-radius:50%;flex:0 0 auto;border:3px solid var(--o2);object-fit:cover}
.abox h3{margin:0 0 6px}
.author-role{color:var(--o3);font-family:var(--head);text-transform:uppercase;letter-spacing:.4px;font-size:.85rem;margin:0 0 8px}
.author-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}
.author-link svg{width:11px;height:11px;fill:currentColor}

/* ---------- footer ---------- */
.foot{background:#1c130c;color:#d8c6ad;margin-top:36px;padding:34px 0 22px;font-size:.9rem}
.foot__in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px}
.foot__mark img{height:44px;margin-bottom:10px}
.foot__mark p{color:#b49a78;font-size:.86rem;margin:0}
.foot h4{color:#fff;margin:0 0 10px}
.foot ul{list-style:none;padding:0;margin:0}
.foot li{margin:5px 0}
.foot a{color:#d8c6ad}.foot a:hover{color:var(--y)}
.foot__legal{border-top:1px solid #3a2a1a;margin-top:24px;padding-top:16px}
.disclose{font-size:.8rem;color:#b49a78;margin-bottom:12px}
.disclose b{color:var(--y)}
.rg-strip{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.82rem;color:#d8c6ad;padding:10px 0;border-top:1px solid #3a2a1a;border-bottom:1px solid #3a2a1a;margin-bottom:12px}
.rg-strip b{color:var(--y)}
.foot__legal>p{font-size:.78rem;color:#927d60;margin:0}

/* ---------- cookie banner ---------- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#160f08;color:#e7d6bd;z-index:200;box-shadow:0 -4px 20px rgba(0,0,0,.4);padding:14px 0;font-size:.9rem}
.cookie-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.cookie-banner p{margin:0;flex:1;min-width:260px}
.cookie-banner a{color:var(--y)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cta-ghost{background:transparent;color:#e7d6bd;border:1px solid #5a4426;box-shadow:none}
.cta-ghost:hover{background:#241a10;filter:none}

/* ---------- entry bonus popup ---------- */
.promo-overlay{position:fixed;inset:0;background:rgba(12,7,3,.74);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.promo-overlay.open{display:flex}
.promo{background:var(--card);border-radius:16px;max-width:410px;width:100%;overflow:hidden;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.55);animation:promoIn .26s ease}
@keyframes promoIn{from{transform:translateY(16px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.promo__close{position:absolute;top:9px;right:11px;width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(0,0,0,.28);color:#fff;font-size:1.2rem;line-height:1;z-index:2}
.promo__close:hover{background:rgba(0,0,0,.5)}
.promo__head{background:var(--sun);padding:20px 20px 16px;text-align:center}
.promo__eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:1.2px;font-size:.78rem;color:#2a1500;font-weight:600}
.promo__logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:8px 14px;margin-top:12px;height:56px}
.promo__logo img{max-height:40px;max-width:160px;object-fit:contain}
.promo__body{padding:20px;text-align:center}
.promo__brand{font-family:var(--head);text-transform:uppercase;letter-spacing:.4px;font-size:.9rem;color:var(--muted);margin:0 0 6px}
.promo__bonus{font-family:var(--head);font-size:1.75rem;line-height:1.12;color:var(--o3);margin:4px 0}
.promo__cta{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--sun);color:#2a1500;
  font-family:var(--head);text-transform:uppercase;letter-spacing:.6px;font-weight:600;padding:14px;border-radius:11px;margin-top:16px;font-size:1.05rem;
  box-shadow:0 8px 20px rgba(226,69,31,.32)}
.promo__cta:hover{filter:brightness(1.06);text-decoration:none}
.promo__cta svg{width:12px;height:12px;fill:currentColor}
.promo__decline{display:inline-block;margin-top:12px;background:none;border:0;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline}
.promo__rg{font-size:.72rem;color:var(--muted);margin:14px 0 0;line-height:1.5}
@media(max-width:420px){.promo__bonus{font-size:1.45rem}}
/* ---------- responsive ---------- */
@media(max-width:860px){
  h1,.hero h1{font-size:1.95rem}
  .lozenge{font-size:1.4rem}
  .nav{display:none;position:absolute;top:66px;left:0;right:0;background:#1c130c;flex-direction:column;align-items:stretch;padding:10px 20px 16px;gap:0;border-top:1px solid #3a2a1a;max-height:calc(100vh - 66px);overflow-y:auto}
  .nav--open{display:flex}
  .mast__burger{display:block}
  .nav__list{flex-direction:column;align-items:stretch;width:100%;gap:0}
  .nav__item{width:100%;border-bottom:1px solid #2a1a10}
  .nav__item>a{line-height:1;padding:13px 2px;justify-content:space-between}
  .nav__caret{display:none}
  .nav__drop{position:static;display:block;background:transparent;border-top:0;box-shadow:none;border-radius:0;padding:0 0 8px 14px;min-width:0}
  .nav__drop li a{padding:8px 2px;color:#c9b28f;white-space:normal}
  .claim--nav{margin-top:12px;justify-content:center}
  .dunerow{grid-template-columns:1fr;grid-template-areas:"rank" "chip" "id" "bonus" "tags" "act";gap:10px;justify-items:center;text-align:center}
  .dunerow__chip{width:auto;max-width:170px}
  .dunerow__id{width:100%}
  .dunerow__stars{justify-content:center}
  .dunerow__bonus{width:100%}
  .dunerow__tags{justify-content:center;width:100%}
  .dunerow__act{width:100%}
  .dunerow__act .claim{width:100%;justify-content:center}
  .dims,.pc{grid-template-columns:1fr}
  .rev__top{flex-wrap:wrap}
  .foot__in{grid-template-columns:1fr}
  .toc ul{columns:1}
}
