/*
Theme Name: Mostbet MX
Theme URI: https://mostbetcasino-mx.mx/
Description: Tema clásico personalizado para Mostbet Casino México. Refactor del mockup D — visual idéntico, contenido vía REST/Page.
Author: Mostbet MX
Version: 1.3
Text Domain: mostbet-mx
*/

:root{
  --bg1:#01122a;
  --bg2:#033C79;
  --cta:#FA4D00;
  --cta-2:#ff6a2b;
  --glow:#428CDC;
  --txt:#ffffff;
  --txt-2:#9db8d8;
  --card:rgba(255,255,255,.06);
  --card-solid:#06203f;          /* fallback cuando no hay backdrop-filter */
  --border:rgba(66,140,220,.35);
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --s-md:16px;
  --header-h:72px;
  --maxw:1200px;
  font-family:'Sora','Montserrat',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg1)}
html,body{overflow-x:hidden;width:100%}
body{
  background:
    radial-gradient(1100px 700px at 80% -10%, rgba(66,140,220,.28), transparent 60%),
    radial-gradient(900px 600px at -10% 10%, rgba(250,77,0,.14), transparent 55%),
    linear-gradient(160deg, var(--bg1) 0%, var(--bg2) 55%, var(--bg1) 100%);
  color:var(--txt);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
img,video,table{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em;font-weight:800}
p{color:var(--txt-2)}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--s-md)}
.word-safe{overflow-wrap:anywhere;word-break:break-word}

/* ---------- glassy helper ---------- */
.glass{
  background:var(--card-solid);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:0 12px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){
  .glass{
    background:var(--card);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
  }
}

/* ---------- CTA buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:.98rem;letter-spacing:.01em;
  padding:14px 26px;border-radius:999px;cursor:pointer;border:none;
  color:#fff;background:linear-gradient(135deg,var(--cta),var(--cta-2));
  box-shadow:0 6px 22px rgba(250,77,0,.45), 0 0 0 1px rgba(255,255,255,.08) inset;
  transition:transform .15s ease, box-shadow .2s ease;
  max-width:100%;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(250,77,0,.6)}
.btn-lg{padding:18px 40px;font-size:1.12rem}
.btn-ghost{
  background:transparent;border:1px solid var(--border);box-shadow:none;color:#fff;
}
.btn-ghost:hover{background:rgba(66,140,220,.14)}

/* ---------- HEADER ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--header-h);
  display:flex;align-items:center;
  background:transparent;
  transition:background .3s ease, box-shadow .3s ease, border-color .3s ease;
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(1,18,42,.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  box-shadow:0 6px 26px rgba(0,0,0,.4);
}
header .container{display:flex;align-items:center;justify-content:space-between;width:100%}
nav{display:flex;align-items:center;gap:12px}

/* logo */
.logo{display:flex;align-items:center;font-weight:800;font-size:1.45rem;letter-spacing:.02em;color:#fff}
.logo .o-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:1.05em;height:1.05em;border-radius:50%;
  background:var(--cta);color:#fff;font-size:.72em;margin:0 .02em;
  box-shadow:0 0 14px rgba(250,77,0,.7);
}

.nav-menu{display:flex;align-items:center;gap:24px;list-style:none}
.nav-menu a{color:#dfeafc;font-weight:500;font-size:.96rem;position:relative;padding:6px 0}
.nav-menu a:hover{color:#fff}
.nav-menu a:hover::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:linear-gradient(90deg,var(--cta),var(--glow));border-radius:2px;
}

.mobile-cta{display:none}
.burger{
  display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;
  background:rgba(1,18,42,.55);cursor:pointer;flex-direction:column;gap:5px;
  align-items:center;justify-content:center;
}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:.25s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- breadcrumbs ---------- */
.crumbs{padding:calc(var(--header-h) + 14px) 0 0;font-size:.85rem;color:var(--txt-2)}
.crumbs span{color:#fff}
.crumbs a{color:var(--txt-2)}
.crumbs a:hover{color:#fff}

/* ---------- HERO (centered single column) ---------- */
.hero{
  min-height:90vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  padding:60px 0 70px;
  position:relative;
}
.hero .container{display:flex;flex-direction:column;align-items:center;gap:22px;max-width:820px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--glow);padding:7px 16px;border-radius:999px;
  border:1px solid var(--border);background:rgba(66,140,220,.10);
}
.hero h1{font-size:clamp(2rem,5.4vw,3.5rem);max-width:14ch}
.hero h1 .accent{color:var(--cta)}
.hero .sub{font-size:clamp(1rem,2.2vw,1.2rem);max-width:54ch}
.rating{display:flex;align-items:center;gap:10px;font-weight:600;color:#fff}
.stars{color:#ffc107;letter-spacing:2px;font-size:1.15rem}
.rating .num{color:var(--txt-2);font-weight:500}
.bonus-pill{
  font-weight:800;font-size:clamp(1.05rem,2.6vw,1.4rem);
  padding:14px 26px;border-radius:var(--r-md);
  background:linear-gradient(135deg,rgba(250,77,0,.18),rgba(66,140,220,.12));
  border:1px solid var(--border);color:#fff;
}
.bonus-pill b{color:var(--cta)}
.trust-line{font-size:.86rem;color:var(--txt-2);display:flex;flex-wrap:wrap;gap:6px;justify-content:center}

/* ---------- generic section ---------- */
section{padding:60px 0}
.section-head{text-align:center;margin-bottom:34px}
.section-head h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}
.section-head p{margin-top:10px;max-width:60ch;margin-left:auto;margin-right:auto}

/* ---------- SCORE CARD (rating + sub-scores) [NEW in D] ---------- */
.score-card{
  max-width:820px;margin:0 auto;padding:32px;
  display:flex;flex-direction:column;gap:26px;
}
.score-head{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding-bottom:24px;border-bottom:1px solid rgba(66,140,220,.18);
}
.score-num{
  font-family:'Sora',sans-serif;font-weight:800;line-height:1;
  font-size:clamp(2.6rem,8vw,3.6rem);color:#fff;
}
.score-num span{font-size:.42em;font-weight:600;color:var(--txt-2);margin-left:2px}
.score-head-meta{display:flex;flex-direction:column;gap:6px}
.score-head-meta .stars{font-size:1.2rem}
.score-head-meta .score-cap{font-size:.85rem;color:var(--txt-2);font-weight:500;letter-spacing:.02em}
.score-rows{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px}
.score-row{display:flex;flex-direction:column;gap:8px}
.score-row .score-label{
  display:flex;align-items:center;justify-content:space-between;
  font-size:.9rem;font-weight:600;color:#eaf2ff;
}
.score-row .score-label b{color:var(--glow);font-weight:700}
.score-bar{
  width:100%;height:9px;border-radius:999px;
  background:rgba(255,255,255,.08);overflow:hidden;
}
.score-fill{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--cta),var(--glow));
  box-shadow:0 0 12px rgba(66,140,220,.45);
}

/* ---------- VEREDICTO plate [NEW in D] ---------- */
.verdict{
  padding:20px 24px;margin-bottom:24px;
  border-left:3px solid var(--cta);
  font-size:1rem;line-height:1.6;color:#eaf2ff;
}
.verdict b{color:var(--cta);font-weight:700}

/* ---------- CÓMO PROBAMOS / methodology [NEW in D] ---------- */
.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.method-item{padding:22px;display:flex;gap:14px;align-items:flex-start}
.method-item .method-ic{
  flex:0 0 40px;width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
  background:linear-gradient(135deg,rgba(250,77,0,.25),rgba(66,140,220,.2));
  border:1px solid var(--border);
}
.method-item .method-txt{font-size:.92rem;color:#dfeafc;line-height:1.5}

/* ---------- game tiles grid ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.tile{
  border-radius:var(--r-md);overflow:hidden;position:relative;
  aspect-ratio:3/4;display:flex;align-items:flex-end;
  border:1px solid var(--border);cursor:pointer;
  transition:transform .18s ease, box-shadow .2s ease;
}
.tile:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(66,140,220,.35)}
.tile .ph{position:absolute;inset:0;z-index:0}
.tile .lbl{
  position:relative;z-index:1;width:100%;padding:14px 12px;
  font-weight:700;font-size:.95rem;color:#fff;
  background:linear-gradient(to top,rgba(1,18,42,.92),transparent);
}
.tile .tag{
  position:absolute;top:8px;left:8px;z-index:1;font-size:.65rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;
  background:rgba(250,77,0,.9);color:#fff;
}
/* gradient placeholders */
.g1{background:linear-gradient(135deg,#FA4D00,#7a1f00)}
.g2{background:linear-gradient(135deg,#428CDC,#062a52)}
.g3{background:linear-gradient(135deg,#7b3ff2,#1a0d3d)}
.g4{background:linear-gradient(135deg,#11b486,#053e2f)}
.g5{background:linear-gradient(135deg,#ff3d8b,#3d0a26)}
.g6{background:linear-gradient(135deg,#ffc107,#5a4400)}
.g7{background:linear-gradient(135deg,#1fc8db,#062f36)}
.g8{background:linear-gradient(135deg,#FA4D00,#428CDC)}
.g9{background:linear-gradient(135deg,#9b5cff,#0a2150)}
.g10{background:linear-gradient(135deg,#22d36a,#05381f)}

/* ---------- trust bar pills ---------- */
.trust-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:999px;font-weight:600;font-size:.9rem;color:#eaf2ff;
}
.pill .dot{width:9px;height:9px;border-radius:50%;background:var(--glow);box-shadow:0 0 10px var(--glow)}

/* ---------- bonus block ---------- */
.bonus-card{
  padding:36px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  position:relative;overflow:hidden;
}
.bonus-card::before{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;
  right:-90px;top:-90px;background:radial-gradient(circle,rgba(250,77,0,.4),transparent 70%);
  pointer-events:none;
}
.bonus-card .big{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
.bonus-card .big span{color:var(--cta)}
.bonus-meta{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-size:.82rem;font-weight:600;color:#eaf2ff;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:rgba(66,140,220,.10)}

/* ---------- pros / contras ---------- */
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pc{padding:28px}
.pc h3{margin-bottom:16px;font-size:1.25rem}
.pc ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.pc li{display:flex;gap:10px;align-items:flex-start;color:#dfeafc;font-size:.95rem}
.pc .ic{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}
.pros .ic{background:rgba(34,211,106,.18);color:#22d36a}
.contras .ic{background:rgba(255,77,77,.18);color:#ff6b6b}

/* ---------- payment table ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border)}
table.pay{width:100%;border-collapse:collapse;min-width:560px}
table.pay thead th{
  text-align:left;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--glow);padding:16px 18px;background:rgba(66,140,220,.12);
  border-bottom:1px solid var(--border);white-space:nowrap;
}
table.pay td{padding:15px 18px;border-bottom:1px solid rgba(66,140,220,.16);color:#dfeafc;font-size:.92rem}
table.pay tbody tr:last-child td{border-bottom:none}
table.pay td:first-child{font-weight:700;color:#fff}
table.pay td.time{white-space:nowrap;color:var(--txt-2)}

/* ---------- section link cards ---------- */
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.link-card{padding:26px;display:flex;flex-direction:column;gap:10px;transition:transform .18s ease,box-shadow .2s ease}
.link-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(66,140,220,.3)}
.link-card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:linear-gradient(135deg,rgba(250,77,0,.25),rgba(66,140,220,.2));border:1px solid var(--border)}
.link-card h3{font-size:1.1rem}
.link-card .go{margin-top:auto;color:var(--glow);font-weight:600;font-size:.88rem}

/* ---------- responsible gaming ---------- */
.rg{padding:34px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.rg .badge18{
  flex:0 0 auto;width:84px;height:84px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;color:#fff;
  background:linear-gradient(135deg,#ff3d3d,#7a0000);border:2px solid #fff;
  box-shadow:0 0 20px rgba(255,61,61,.45);
}
.rg .rg-txt{flex:1;min-width:240px}
.rg .rg-txt strong{color:#fff}
.rg .phone{color:var(--cta);font-weight:700}

/* ---------- E-E-A-T ---------- */
.eeat{text-align:center;font-size:.9rem;color:var(--txt-2)}
.eeat .av{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;border:1px solid var(--border);background:rgba(66,140,220,.08);flex-wrap:wrap;justify-content:center}
.eeat .av .face{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--cta),var(--glow));flex:0 0 auto}

/* ---------- final CTA strip ---------- */
.cta-strip{
  text-align:center;padding:56px 32px;border-radius:var(--r-lg);position:relative;overflow:hidden;
  border:1px solid var(--border);
  background:linear-gradient(135deg,rgba(250,77,0,.16),rgba(66,140,220,.16));
  box-shadow:0 0 60px rgba(66,140,220,.3), inset 0 0 60px rgba(250,77,0,.08);
}
.cta-strip h2{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:10px}
.cta-strip p{margin-bottom:22px}

/* ---------- footer ---------- */
footer{margin-top:30px;border-top:1px solid var(--border);padding:48px 0 30px;background:rgba(1,18,42,.6)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
footer h4{font-size:.95rem;margin-bottom:14px;color:#fff;text-transform:uppercase;letter-spacing:.08em}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul a{color:var(--txt-2);font-size:.9rem}
footer ul a:hover{color:#fff}
.foot-about p{font-size:.88rem;line-height:1.6}
.disclosure{margin-top:26px;padding-top:20px;border-top:1px solid rgba(66,140,220,.18);font-size:.76rem;color:#6f8bb0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.badge-foot{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid #ff3d3d;color:#ff7a7a;font-weight:800;font-size:.82rem;flex:0 0 auto}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .burger{display:flex}
  .mobile-cta{display:inline-flex;padding:11px 18px;font-size:.9rem}
  .nav-menu{
    position:absolute;top:var(--header-h);left:0;right:0;z-index:999;
    flex-direction:column;align-items:stretch;gap:0;
    background:#01122a;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    box-shadow:0 18px 40px rgba(0,0,0,.5);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .nav-menu.open{max-height:70vh;padding:8px 0}
  .nav-menu li{width:100%}
  .nav-menu a{display:block;padding:14px 22px;border-bottom:1px solid rgba(66,140,220,.12)}
  .nav-menu a:hover::after{display:none}
  .pc-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .tiles{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:380px){
  .tiles{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr}
  .rg{flex-direction:column;text-align:center}
  .bonus-card{padding:24px}
  .score-card{padding:22px}
}
@media (max-width:320px){
  .tiles{grid-template-columns:1fr}
  .score-rows{grid-template-columns:1fr}
}

/* ===== Inner-page content typography (added v1.1) ===== */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:clamp(1.4rem,3.2vw,2rem);margin:2rem 0 .8rem;color:#fff}
.prose h3{font-size:1.15rem;margin:1.4rem 0 .5rem;color:#fff}
.prose p{color:var(--txt-2);margin:0 0 1rem;line-height:1.75}
.prose ul,.prose ol{color:var(--txt-2);margin:0 0 1.1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;line-height:1.6}
.prose li{color:var(--txt-2)}
.prose a,.container p a,.faq-item a,.prose li a{color:#5aa9f0;text-decoration:underline;text-underline-offset:2px}
.prose a:hover,.faq-item a:hover{color:#fff}
.prose strong{color:#fff}
.aff-note{font-size:.85rem;color:var(--txt-2);background:rgba(66,140,220,.08);border-left:3px solid var(--cta);padding:10px 14px;border-radius:8px;margin:1.1rem 0}
.content-img{display:block;max-width:800px;width:100%;height:auto;margin:1.5rem auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border)}
.faq{display:flex;flex-direction:column;margin-top:.5rem}
.faq-item{padding:16px 0;border-bottom:1px solid var(--border)}
.faq-item:last-child{border-bottom:none}
.faq-item h3{margin:0 0 .5rem;font-size:1.08rem;color:#fff}
.faq-item p{color:var(--txt-2);margin:0;line-height:1.65}

/* nav desktop CTA visible only >=900px (fix double Registro on mobile) v1.3 */
.nav-reg{display:inline-flex}
@media (max-width:900px){ .nav-reg{display:none} }
