/* casinolasbet.mx — bespoke Vegas-marquee (restrained), palette del donor Lasbet */

:root{
  --bg-0:#1c1d21;      /* header/footer/deep */
  --bg-1:#2a2c32;      /* page background */
  --bg-2:#33363d;      /* card surface */
  --bg-3:#3b3e46;      /* border / elevated */
  --text-0:#f2f2f5;
  --text-1:#9fa2ae;    /* muted */
  --gold:#e7a83c;
  --gold-dim:#b9852f;
  --red:#ff4d5e;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --maxw:1160px;
  --shadow:0 12px 30px rgba(0,0,0,.35);
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;background:var(--bg-1);color:var(--text-0);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55;font-display:swap}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
ul{list-style:none;margin:0;padding:0}
.wordmark{display:block;height:20px;width:auto;flex-shrink:0}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg-0);border-bottom:1px solid var(--bg-3)}
.header-row{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;min-width:0}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;min-width:0;flex-shrink:0}
.desktop-nav{min-width:0}
.desktop-nav ul{display:flex;gap:22px}
.desktop-nav a{font-size:.95rem;color:var(--text-1);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a.is-active{color:var(--text-0);border-bottom-color:var(--gold)}
.header-actions{display:flex;gap:10px;flex-shrink:0}
.burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:38px;height:34px;background:transparent;border:1px solid var(--bg-3);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0}
.burger-bar{display:block;height:2px;width:18px;margin:0 auto;background:var(--text-0);border-radius:2px}

/* marquee light strip — restrained, single row of gold bulbs */
.marquee-lights{height:5px;background-image:radial-gradient(circle,var(--gold) 1.6px,transparent 1.8px);background-size:16px 5px;background-repeat:repeat-x;background-position:center;opacity:.85}
@media (prefers-reduced-motion:no-preference){
  .marquee-lights{animation:marquee-twinkle 3.2s ease-in-out infinite}
}
@keyframes marquee-twinkle{0%,100%{opacity:.55}50%{opacity:.95}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:999px;font-size:.92rem;font-weight:700;text-decoration:none;border:1px solid transparent;white-space:nowrap;cursor:pointer}
.btn-gold{background:linear-gradient(180deg,#f0bb5c,var(--gold));color:#241a06}
.btn-gold:hover{background:linear-gradient(180deg,#f5c979,#eeb44c)}
.btn-ghost{background:transparent;color:var(--text-0);border-color:var(--bg-3)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-lg{padding:13px 26px;font-size:1rem}
.btn-block{width:100%}

/* ---------- off-canvas mobile nav (fuera del header, evita bug de backdrop) ---------- */
.nav-scrim{position:fixed;inset:0;background:rgba(10,10,12,.55);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:60}
.nav-scrim.is-open{opacity:1;visibility:visible}
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--bg-0);border-left:1px solid var(--bg-3);transform:translateX(100%);transition:transform .28s ease;z-index:70;padding:18px 20px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.mobile-nav.is-open{transform:translateX(0)}
.mobile-nav__top{display:flex;align-items:center;justify-content:space-between}
.mobile-nav__close{background:transparent;border:1px solid var(--bg-3);color:var(--text-0);width:34px;height:34px;border-radius:var(--radius-sm);font-size:1.2rem;line-height:1;cursor:pointer}
.mobile-nav ul{display:flex;flex-direction:column;gap:2px}
.mobile-nav a{display:block;padding:12px 4px;color:var(--text-0);text-decoration:none;border-bottom:1px solid var(--bg-3);font-size:1.02rem}
.mobile-nav a.is-active{color:var(--gold)}
.mobile-nav__actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.mobile-nav__note{font-size:.82rem;color:var(--text-1);text-align:center;margin:0}

@media (max-width:860px){
  .desktop-nav,.header-actions{display:none}
  .burger{display:flex}
}

/* ---------- hero ---------- */
.hero{position:relative;border-bottom:1px solid var(--bg-3);background:
  radial-gradient(1200px 420px at 12% -10%, rgba(231,168,60,.10), transparent 60%),
  var(--bg-1)}
.hero--index{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:24px;max-width:var(--maxw);margin:0 auto;padding:44px 20px 40px}
.hero--internal{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:24px;max-width:var(--maxw);margin:0 auto;padding:34px 20px 30px}
.hero__inner{min-width:0}
.eyebrow{color:var(--text-1);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-weight:700}
.hero__title{margin:0 0 14px;font-weight:900;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.02;letter-spacing:.01em;color:var(--text-0);text-shadow:0 0 26px rgba(231,168,60,.28)}
.hero__title span{color:var(--gold)}
.hero__title--sm{font-size:clamp(1.6rem,3.6vw,2.3rem)}
.hero__sub{margin:0 0 22px;color:var(--text-1);font-size:1.02rem;max-width:52ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.hero__chips li{background:var(--bg-2);border:1px solid var(--bg-3);color:var(--text-1);font-size:.82rem;padding:7px 12px;border-radius:999px;white-space:nowrap}
.hero__art{min-width:0;display:flex;justify-content:center;position:relative}
.hero__art img{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.4))}
.hero__art--sm img{max-width:240px}

@media (max-width:760px){
  .hero--index,.hero--internal{grid-template-columns:1fr;padding-top:32px}
  .hero__art{order:-1;max-width:220px;margin:0 auto}
}

/* ---------- generic section ---------- */
.section{padding:40px 0}
.section__inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;min-width:0}
.section-eyebrow{color:var(--text-1);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-weight:700}
.section-title{margin:0 0 20px;font-weight:800;font-size:1.5rem;color:var(--text-0)}

/* quick nav cards */
.quick-section{padding-top:34px}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick-card{display:block;min-width:0;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:var(--radius-md);padding:20px;text-decoration:none;color:var(--text-0);transition:border-color .2s ease,transform .2s ease}
.quick-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.quick-card__title{margin:0 0 8px;font-weight:800;font-size:1.05rem}
.quick-card__teaser{margin:0 0 14px;color:var(--text-1);font-size:.92rem}
.quick-card__cta{color:var(--gold);font-weight:700;font-size:.88rem}

@media (max-width:760px){
  .quick-grid{grid-template-columns:1fr}
}

/* games showcase + chip filter */
.games-section{padding-top:12px}
.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:18px;scrollbar-width:thin}
.chip{flex:0 0 auto;background:var(--bg-2);border:1px solid var(--bg-3);color:var(--text-1);font-size:.85rem;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#241a06}
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.game-card{min-width:0;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:var(--radius-md);overflow:hidden}
.game-card.is-hidden{display:none}
.game-card__media{aspect-ratio:3/4;background:linear-gradient(150deg,var(--bg-3),var(--bg-2));display:flex;align-items:center;justify-content:center;overflow:hidden}
.game-card__media img{width:100%;height:100%;object-fit:cover}
.game-card__icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.game-card__icon svg{width:56%;height:56%;overflow:visible}
.game-card__icon .icon-ring{fill:none;stroke:var(--gold);stroke-width:2.5;opacity:.55}
.game-card__icon .icon-ring-flat{fill:var(--gold);opacity:.28}
.game-card__icon .icon-fill{fill:var(--gold);opacity:.55}
.game-card__icon .icon-swirl{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;opacity:.7}
.game-card__icon .icon-stroke{stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;opacity:.4}
.game-card__icon .icon-stroke-thin{stroke:var(--gold);stroke-width:2;stroke-linecap:round;opacity:.45}
.game-card__name{margin:0;padding:9px 10px;font-size:.82rem;font-weight:700;text-align:center;color:var(--text-0);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* trust / payment strip */
.trust-strip{border-top:1px solid var(--bg-3);border-bottom:1px solid var(--bg-3);background:var(--bg-0)}
.trust-strip__inner{max-width:var(--maxw);margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.trust-strip__pay{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.trust-strip__label{color:var(--text-1);font-size:.8rem}
.trust-strip__pay img{height:22px;width:auto;filter:grayscale(.15) opacity(.92)}
.trust-strip__rg{margin:0;color:var(--text-1);font-size:.82rem;max-width:46ch}

/* ---------- article / SEO block ---------- */
.article-section{padding-top:44px}
.section__inner--article{max-width:760px}
.article-content h1{font-size:clamp(1.6rem,3.6vw,2.15rem);line-height:1.2;margin:0 0 18px;color:var(--text-0)}
.article-content h2{font-size:1.3rem;margin:38px 0 14px;color:var(--text-0);padding-top:6px;border-top:1px solid var(--bg-3)}
.article-content h2:first-of-type{border-top:none;padding-top:0;margin-top:26px}
.article-content h3{font-size:1.05rem;margin:0;color:var(--text-0)}
.article-content p{margin:0 0 16px;color:#d8d9de}
.article-content a{color:var(--gold);text-decoration:underline}
.article-content strong{color:var(--text-0)}
.article-content ol,.article-content ul{list-style:decimal;padding-left:22px;margin:0 0 16px;color:#d8d9de}
.article-content ul{list-style:disc}
.article-content li{margin-bottom:6px}

/* tabla adaptativa */
.article-content .table-wrap{overflow-x:auto;margin:0 0 20px;border:1px solid var(--bg-3);border-radius:var(--radius-sm)}
.article-content table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:420px}
.article-content th,.article-content td{padding:10px 12px;border-bottom:1px solid var(--bg-3);text-align:left;font-size:.92rem;overflow-wrap:anywhere}
.article-content th{color:var(--text-1);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
@media (max-width:560px){
  .article-content th,.article-content td{padding:8px;font-size:.84rem}
}

/* FAQ accordion (details/summary nativo) */
.faq-item{border:1px solid var(--bg-3);border-radius:var(--radius-sm);margin-bottom:10px;background:var(--bg-2);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--gold);font-size:1.2rem;font-weight:700;flex-shrink:0}
.faq-item[open] summary::after{content:"\\2212"}
.faq-item h3{font-size:.98rem}
.faq-a{padding:0 16px 14px}
.faq-a p{margin:0;color:var(--text-1)}

/* operator identification card (reseña) */
.operator-card{display:flex;align-items:center;gap:14px;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:var(--radius-md);padding:14px 16px;margin:0 0 22px}
.operator-card img{flex-shrink:0}
.operator-card__note{margin:0;color:var(--text-1);font-size:.85rem}

/* ---------- footer ---------- */
.site-footer{background:var(--bg-0);border-top:1px solid var(--bg-3);margin-top:20px}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:38px 20px 24px;display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:28px}
.footer-tagline{color:var(--text-1);font-size:.88rem;margin:12px 0 14px;max-width:38ch}
.footer-pay{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.footer-pay img{height:20px;width:auto;opacity:.85}
.footer-col__title{margin:0 0 12px;font-weight:800;color:var(--text-0);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col a{color:var(--text-1);text-decoration:none;font-size:.92rem}
.footer-col a:hover{color:var(--gold)}
.footer-legal{color:var(--text-1);font-size:.84rem;margin:0}
.footer-bottom{border-top:1px solid var(--bg-3);padding:16px 20px 26px;max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--text-1);font-size:.8rem}
.footer-bottom p{margin:0}

@media (max-width:760px){
  .footer-inner{grid-template-columns:1fr;gap:24px}
}

/* ---------- breadcrumbs ---------- */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;max-width:var(--maxw);margin:16px auto 0;padding:0 20px;font-size:.82rem;color:var(--text-1);list-style:none}
.breadcrumbs li{display:flex;align-items:center;gap:6px}
.breadcrumbs li:not(:last-child)::after{content:"/";color:var(--bg-3);margin-left:6px}
.breadcrumbs a{color:var(--text-1);text-decoration:none}
.breadcrumbs a:hover{color:var(--gold)}

/* tabular numbers where relevant */
.tnum{font-variant-numeric:tabular-nums}

/* ---------- blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0}
.blog-card{display:flex;flex-direction:column;gap:8px;min-width:0;background:var(--bg-2);border:1px solid var(--bg-3);border-radius:var(--radius-md);padding:20px;text-decoration:none;color:var(--text-0);transition:border-color .2s ease,transform .2s ease}
.blog-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.blog-card .b-date{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-1)}
.blog-card .b-title{margin:0;font-size:1.1rem;font-weight:800;color:var(--text-0);line-height:1.32}
.blog-card .b-excerpt{margin:0;color:var(--text-1);font-size:.9rem;flex:1}
.blog-card .b-more{color:var(--gold);font-weight:700;font-size:.86rem}
.blog-crumb{margin:0 0 16px;font-size:.85rem;color:var(--text-1)}
.blog-crumb a{color:var(--gold);text-decoration:none}
.blog-crumb a:hover{text-decoration:underline}
.blog-meta{margin:-8px 0 20px;color:var(--text-1);font-size:.85rem}

@media (max-width:760px){
  .blog-grid{grid-template-columns:1fr}
}
