/* ================== THEME ================== */
:root{
    --bg:#0b0d10;
    --bg-2:#0a0a0f;
    --text:#e8eef3;
    --muted:#a7b3c0;
    --primary:#17d18b;
    --primary-2:#12b981;
    --accent:#22d3ee;
    --card:rgba(255,255,255,.06);
    --card-2:rgba(255,255,255,.08);
    --stroke:rgba(255,255,255,.10);
    --shadow:0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
    --radius:18px;
  }
  
  *{box-sizing:border-box}
  html,body{margin:0;padding:0;width:100%;overflow-x:hidden}
  body{
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    background:
      radial-gradient(1200px 600px at 10% -10%, #0f1320 0%, transparent 60%),
      radial-gradient(1200px 600px at 90% -10%, #0c1a1a 0%, transparent 60%),
      linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
    color:var(--text);
    min-height:100dvh;
  }
  img,svg,video{max-width:100%;height:auto}
  
  /* ================== NAV ================== */
  .nav{
    position:sticky; top:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding:12px 18px;
    background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35));
    backdrop-filter:saturate(140%) blur(8px);
    border-bottom:1px solid var(--stroke);
  }
  .nav .h{font-weight:800; letter-spacing:.4px}
  .nav a{
    color:var(--text); text-decoration:none; opacity:.9; margin-left:10px;
    transition:opacity .2s, color .2s
  }
  .nav a:hover{opacity:1; color:#fff}
  
  /* ================== TOPBAR ================== */
  .topbar{
    position:sticky; top:0; z-index:50;
    background:rgba(12,15,19,.85); backdrop-filter:blur(8px);
    display:flex; align-items:center; gap:12px; justify-content:space-between;
    padding:10px 14px; border-bottom:1px solid var(--stroke)
  }
  .brand{display:flex; align-items:center; gap:10px; font-weight:900}
  .brand .logo{width:34px; height:34px; border-radius:8px; background:linear-gradient(135deg,#f59e0b,#b45309)}
  
  .nav-actions{display:flex; align-items:center; gap:10px}
  .nav-search { display:flex; align-items:center; justify-content:center; }
  .input-compact{ padding:8px 10px; border-radius:10px; width:min(360px, 48vw) }
  .nav-link{ color:var(--text); text-decoration:none; opacity:.9; margin-left:4px }
  .nav-link:hover{ opacity:1 }
  
  /* ================== LAYOUT ================== */
  .container{max-width:1200px;margin:22px auto;padding:0 16px}
  .page{display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start}
  @media (max-width:760px){ .page{grid-template-columns:1fr} }
  
  /* ================== SIDEBAR ================== */
  .sidebar{position:sticky; top:62px; align-self:start}
  .side-group{margin-bottom:10px; display:grid; gap:8px}
  .side-item{
    display:flex; align-items:center; gap:10px; padding:10px 12px;
    border-radius:12px; border:1px solid var(--stroke); background:var(--card);
    text-decoration:none; color:var(--text)
  }
  .side-item .ico{
    width:28px; height:28px; border-radius:999px; display:grid; place-items:center;
    background:rgba(255,255,255,.06); border:1px solid var(--stroke)
  }
  .side-item:hover{border-color:rgba(255,255,255,.16)}
  .side-item.active{outline:2px solid rgba(255,255,255,.08)}
  
  /* ================== TITLES & TEXT ================== */
  .h{font-weight:800; font-size:20px}
  .note{color:var(--muted); font-size:13px}
  
  /* ================== BUTTONS ================== */
  .btn, .btn-outline{
    display:inline-flex; align-items:center; justify-content:center;
    gap:8px; padding:10px 14px; border-radius:12px; font-weight:700;
    text-decoration:none; cursor:pointer;
    transition:transform .12s ease, box-shadow .2s, background .2s, color .2s, border-color .2s;
    user-select:none;
  }
  .btn{
    background:linear-gradient(180deg, var(--primary) 0%, var(--primary-2) 100%);
    color:#04130c; border:1px solid rgba(0,0,0,.15);
    box-shadow:0 8px 25px rgba(23,209,139,.25), inset 0 1px 0 rgba(255,255,255,.25);
  }
  .btn:hover{transform:translateY(-1px); box-shadow:0 12px 30px rgba(23,209,139,.35), inset 0 1px 0 rgba(255,255,255,.35)}
  .btn:active{transform:translateY(0)}
  
  .btn-outline{
    background:rgba(255,255,255,.03);
    color:#cdebe0; border:1px solid var(--stroke);
  }
  .btn-outline:hover{border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.06)}
  
  .btn-compact{ padding:6px 10px; border-radius:10px; font-weight:700 }
  
  /* CTA degradé celeste->verde */
  .btn-cta{
    background:linear-gradient(180deg,var(--accent) 0%, var(--primary-2) 100%);
    color:#00130f !important; border:1px solid rgba(0,0,0,.25);
    box-shadow:0 10px 26px rgba(34,211,238,.24), inset 0 1px 0 rgba(255,255,255,.28);
    font-weight:900;
  }
  
  /* Pill balance + perfil */
  .balance-pill{
    display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px;
    background:rgba(255,255,255,.06); border:1px solid var(--stroke); font-weight:800; letter-spacing:.2px
  }
  .profile-pill{
    display:inline-flex; align-items:center; gap:8px; padding:6px 10px;
    border:1px solid var(--stroke); border-radius:999px; background:rgba(255,255,255,.04); text-decoration:none
  }
  .profile-pill:hover{ border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.06); }
  .pill-avatar{ width:24px; height:24px; border-radius:50%; object-fit:cover; border:1px solid rgba(255,255,255,.25) }
  .pill-fallback{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); font-size:12px; font-weight:800 }
  
  /* ================== FORMS ================== */
  .input{
    width:100%; padding:10px 12px; border-radius:12px;
    background:rgba(255,255,255,.03); color:var(--text);
    border:1px solid var(--stroke); outline:none; transition:border-color .2s, box-shadow .2s
  }
  .input:focus{border-color:rgba(255,255,255,.25); box-shadow:0 0 0 4px rgba(34,211,238,.12)}
  
  /* ================== CARDS / GRID ================== */
  .card{
    background:var(--card);
    border:1px solid var(--stroke);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
  }
  .card img{display:block;width:100%;height:auto}
  .p-3{padding:12px}
  
  .cards{
    display:grid; gap:16px;
    grid-template-columns: repeat(6, minmax(0,1fr));
  }
  @media (max-width:1200px){ .cards{grid-template-columns:repeat(5,minmax(0,1fr))} }
  @media (max-width:980px){ .cards{grid-template-columns:repeat(4,minmax(0,1fr))} }
  @media (max-width:760px){ .cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
  
  .card img.play{aspect-ratio: 3/2; object-fit:cover; transition:transform .35s ease}
  .card:hover{border-color:rgba(255,255,255,.16)}
  .card:hover img.play{transform:scale(1.02)}
  
  /* Tile meta */
  .tile .meta{padding:10px}
  .tile .title{font-weight:700;margin-bottom:4px}
  .tile .vendor{color:var(--muted);font-size:12px;margin-bottom:10px}
  
  /* ================== HERO (legacy) ================== */
  .hero{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--stroke);box-shadow:var(--shadow);background:#000}
  .hero-media{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;filter:saturate(1.05) brightness(.95)}
  .hero-glow{position:absolute;inset:0;background:
    radial-gradient(600px 200px at 15% 0%, rgba(23,209,139,.15), transparent 60%),
    radial-gradient(800px 260px at 85% 0%, rgba(34,211,238,.12), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.75) 100%);
    pointer-events:none}
  .hero-content{position:absolute;left:18px;bottom:18px}
  .hero-title{font-size:clamp(22px,3vw,30px);font-weight:900;margin:0 0 8px}
  .hero-sub{color:var(--muted);margin-bottom:10px}
  
  /* ================== HERO SLIDER (limpio) ================== */
  .heroS{
    position:relative; border-radius:18px; overflow:hidden;
    border:1px solid var(--stroke); box-shadow:var(--shadow);
    aspect-ratio:21/9; max-height:240px; min-height:130px;
    background:#000 !important;
  }
  @media (min-width:900px){
    .heroS{ aspect-ratio:16/7; max-height:360px; }
  }
  .heroS .slides{position:absolute; inset:0}
  .heroS .slide{position:absolute; inset:0; opacity:0; transition:opacity .5s ease; background:#000}
  .heroS .slide.is-active{opacity:1}
  
  /* imagen del banner sin filtros */
  .heroS img, .heroS video{
    width:100%; height:100%; object-fit:cover; display:block;
    filter:none !important; opacity:1 !important;
  }
  
  /* oculto overlays del banner */
  .heroC, .hero-glow, .kicker, .htitle, .hsub{ display:none !important; }
  
  /* flechas y dots */
  .heroS .ctrl{
    position:absolute; top:50%; transform:translateY(-50%);
    width:38px; height:38px; display:grid; place-items:center;
    background:rgba(0,0,0,.30); border:1px solid var(--stroke); border-radius:10px;
    color:#e8eef3; z-index:3; cursor:pointer;
  }
  .heroS .prev{ left:8px } .heroS .next{ right:8px }
  .heroS .dots{
    position:static !important; inset:auto !important;
    display:flex; justify-content:center; gap:6px; margin:8px 0 0;
  }
  .heroS .dot{ width:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.38); border:1px solid var(--stroke); }
  .heroS .dot.on{ background:#fff; }
  
  /* ================== CHIPS / TABS ================== */
  .chips{ display:flex; gap:8px; align-items:center }
  .chip{
    display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-weight:700;
    background:rgba(255,255,255,.04); border:1px solid var(--stroke); text-decoration:none; color:var(--text)
  }
  .chip:hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.2) }
  .chip-soft{ background:rgba(23,209,139,.12); border:1px solid rgba(23,209,139,.25); color:#c9ffea }
  .chip-active{ border-color:var(--primary); box-shadow:0 0 0 1px var(--primary) inset }
  
  /* ================== PROVEEDORES ================== */
  .providers{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:14px;overflow:auto;padding-bottom:4px}
  .prov{height:24px;display:grid;place-items:center;padding:0 10px;border-radius:999px;border:1px dashed var(--stroke);background:rgba(255,255,255,.03);white-space:nowrap;font-size:13px}
  
  /* ================== CATEGORÍAS ================== */
  .cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 6px}
  .cat{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px;text-decoration:none;color:var(--text)
  }
  .cat-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--stroke);font-size:22px}
  
  /* ================== FLASH ================== */
  .flash{
    padding:12px 14px; border:1px solid rgba(255,255,255,.15);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
    border-radius:12px; margin:10px 0; color:#dbeafe
  }
  
  /* ================== SHIMMER ================== */
  .shimmer{ position:relative; overflow:hidden; background:rgba(255,255,255,.06) }
  .shimmer::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.12) 20%, transparent 40%);
    transform:translateX(-100%); animation:shimmer 1.8s linear infinite;
  }
  @keyframes shimmer{to{transform:translateX(100%)}}
  
  /* ================== DROPDOWN ROLES ================== */
  .role-menu{ position:relative }
  .role-dd{
    position:absolute; right:0; top:110%; min-width:220px;
    background:var(--card); border:1px solid var(--stroke); border-radius:12px; box-shadow:var(--shadow);
    padding:6px; display:none; z-index:60
  }
  .role-dd.open{ display:block }
  .role-dd a{ display:block; padding:8px 10px; color:var(--text); text-decoration:none; border-radius:8px }
  .role-dd a:hover{ background:rgba(255,255,255,.06) }
  
  /* ================== PANEL BLOCKS / ASIDE ================== */
  .aside{
    background:var(--card);
    border:1px solid var(--stroke);
    border-radius:12px;
    padding:14px;
    box-shadow:var(--shadow);
  }
  .grid{ display:grid; gap:12px }
  
  /* ================== TABLAS ================== */
  table{ width:100%; border-collapse:collapse; font-size:14px }
  th, td{ padding:10px 8px; border-bottom:1px solid var(--stroke) }
  th{ text-align:left; color:#cfe9ff; font-weight:800; letter-spacing:.3px }
  tr:hover td{ background:rgba(255,255,255,.03) }
  table a{ color:#a5f3fc; text-decoration:none }
  table a:hover{ text-decoration:underline }
  
  /* ================== AVATAR ================== */
  .avatar{ width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg, #1ed69c, #22d3ee); box-shadow:0 0 0 2px rgba(255,255,255,.05) inset }
  .avatar-lg{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg, #1ed69c, #22d3ee) }
  
  /* ==== Select oscuro ==== */
  select, .select-dark{
    background: var(--card);
    color: var(--text);
    border: 1px solid var(--stroke);
    border-radius: 12px;
    padding: 10px 12px;
    outline: none;
  }
  select:focus { border-color: rgba(255,255,255,.25); }
  select option, select optgroup { background: #0e1217; color: #e6f2ff; }
  
  /* ==== Picker ==== */
  .picker-hidden { display:none !important; }
  .picker-field { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .picker-btn {
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.03);
    color:var(--text); border:1px solid var(--stroke); cursor:pointer; font-weight:700;
  }
  .picker-btn:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.22); }
  .picker-chip { font-size:12px; opacity:.85; border:1px solid var(--stroke); padding:2px 6px; border-radius:999px; background:rgba(255,255,255,.05); }
  .picker-overlay { position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,.6); backdrop-filter:blur(6px); display:none; align-items:center; justify-content:center; padding:16px; }
  .picker-overlay.open { display:flex; }
  .picker-panel { width:min(720px, 96vw); max-height:86vh; overflow:hidden; background:linear-gradient(180deg,#0e1116,#0a0d12); border:1px solid var(--stroke); border-radius:16px; box-shadow:var(--shadow); display:flex; flex-direction:column; }
  .picker-head { padding:12px; border-bottom:1px solid var(--stroke); display:flex; gap:8px; align-items:center }
  .picker-title { font-weight:800; }
  .picker-search { flex:1; padding:10px 12px; border-radius:10px; border:1px solid var(--stroke); background:rgba(255,255,255,.03); color:var(--text); }
  .picker-list { overflow:auto; padding:8px; display:grid; gap:6px; }
  .picker-item { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; border:1px solid var(--stroke); background:rgba(255,255,255,.03); cursor:pointer; }
  .picker-item:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.22); }
  .picker-foot { padding:10px 12px; border-top:1px solid var(--stroke); display:flex; justify-content:flex-end; gap:8px }
  .picker-close { padding:8px 12px; border-radius:10px; border:1px solid var(--stroke); background:rgba(255,255,255,.04); color:var(--text) }
  
  /* ================== POSTERS (3 por fila mobile) ================== */
  .mv-posters{ margin:14px 0 4px; }
  .posters{
    display:grid; gap:6px;
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  @media (max-width:360px){ .posters{ grid-template-columns: repeat(2, 1fr); } }
  @media (min-width:900px){ .posters{ grid-template-columns: repeat(5, minmax(0,1fr)); } }
  .poster-card{
    position:relative; border-radius:12px; overflow:hidden;
    border:1px solid var(--stroke); background:#0b0d10; box-shadow:var(--shadow);
  }
  .poster-card img{
    width:100%;
    aspect-ratio: 3 / 4;
    object-fit:cover; display:block;
    filter: saturate(1.05) contrast(1.02);
  }
  @media (max-width:400px){ .poster-card img{ aspect-ratio: 4 / 5; } }
  .poster-cta{
    position:absolute; left:8px; right:8px; bottom:8px;
    display:flex; justify-content:center;
  }
  .poster-cta .btn{ width:100%; padding:6px 8px; border-radius:10px; font-size:13px }
  
  /* ================== FEED (estabilizado) ================== */
  .feed{display:grid; gap:12px}
  .feed-card{
    display:grid; grid-template-columns:110px 1fr; gap:10px;
    background:var(--card); border:1px solid var(--stroke);
    border-radius:16px; overflow:hidden; align-items:center;
  }
  .feed-thumb{width:110px; height:110px; object-fit:cover; display:block; border-radius:10px}
  .feed-body{padding:10px 12px}
  .feed-title{font-weight:800; margin-bottom:4px}
  .feed-vendor{color:var(--muted); font-size:12px; margin-bottom:10px}
  .feed-actions{display:flex; gap:8px; flex-wrap:wrap}
  @media (min-width:900px){
    .feed{grid-template-columns:repeat(2, minmax(0,1fr))}
    .feed-card{grid-template-columns:150px 1fr}
    .feed-thumb{width:150px; height:150px}
  }
  
  /* Guardarrail de imágenes sueltas dentro de main */
  .main > img{
    width:100%; height:auto; display:block;
    border-radius:14px; border:1px solid var(--stroke);
    box-shadow:var(--shadow); margin:10px 0;
    max-height:60vh; object-fit:cover;
  }
  
  /* ================== DRAWER / BOTTOM NAV ================== */
  .only-mobile{ display:inline-flex; }
  @media (min-width:900px){ .only-mobile{ display:none !important; } }
  
  .mv-drawer{ position:fixed; inset:0; z-index:95; display:none; background:rgba(0,0,0,.45); }
  .mv-drawer.open{ display:block; }
  .mv-drawer-panel{
    position:absolute; top:0; bottom:0; left:0;
    width:min(86vw, 320px);
    background:linear-gradient(180deg,#0f1218,#0a0d12);
    border-right:1px solid var(--stroke);
    border-radius:0 16px 16px 0;
    padding:16px; transform:translateX(-100%); transition:transform .25s ease;
    display:flex; flex-direction:column; gap:8px;
  }
  .mv-drawer.open .mv-drawer-panel{ transform:translateX(0); }
  .drawer-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px }
  .drawer-title{ font-weight:900; }
  .drawer-close{
    appearance:none; background:rgba(255,255,255,.06); color:var(--text);
    border:1px solid var(--stroke); border-radius:10px; padding:6px 10px;
  }
  .drawer-item{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px; border-radius:12px; border:1px solid var(--stroke);
    background:rgba(255,255,255,.04); color:var(--text); text-decoration:none; font-weight:800;
  }
  .drawer-item:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2) }
  .drawer-sec{ margin-top:6px; display:grid; gap:8px }
  
  @media (max-width:900px){
    .sidebar{ display:none !important; }
    .container{ max-width:none; width:100%; padding:0; margin:0; }
    .page{ grid-template-columns:1fr !important; gap:0 !important; }
  
    .topbar{
      position: sticky; top:0; z-index:50;
      background: rgba(12,15,19,.85);
      backdrop-filter: blur(10px) saturate(140%);
      border-bottom: 1px solid var(--stroke);
    }
  
    main.main{ padding-bottom: calc(70px + env(safe-area-inset-bottom)) }
  
    /* Bottom nav fijo a pantalla completa */
    .mv-bottom{
      position: fixed; bottom:0; left:0; right:0; z-index:60;
      display:flex; justify-content:space-around; align-items:center;
      height:60px; padding-bottom: env(safe-area-inset-bottom);
      background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35));
      backdrop-filter: blur(8px) saturate(140%);
      border-top:1px solid var(--stroke);
    }
    .mv-bottom a{
      flex:1; text-align:center; text-decoration:none;
      color: var(--muted); font-size:12px;
      display:grid; place-items:center; gap:4px; padding-top:6px;
    }
    .mv-bottom a.is-active{ color: var(--text); font-weight:800 }
  
    .mv-bottom ~ .mobile-cta{ display:none !important; }
  
    .feed-card{ border-radius:14px; }
    .feed-thumb{ border-radius:10px; }
  
    body.mv-locked{ overflow:hidden; }
    .mv-game-modal[hidden]{ display:none; }
    .mv-game-modal{
      position: fixed; inset:0; z-index:100; background:#000;
      display:flex; flex-direction:column;
    }
    .mv-game-bar{
      height:50px; display:flex; align-items:center; gap:10px; padding:0 10px;
      background: rgba(0,0,0,.5); border-bottom:1px solid rgba(255,255,255,.08);
      color: var(--text);
    }
    .mv-game-bar .mv-back{
      appearance:none; background:#12172a;
      border:1px solid var(--stroke); color:var(--text);
      border-radius:10px; padding:6px 10px;
    }
    .mv-game-title{ font-weight:800; flex:1; }
    .mv-game-modal iframe{ flex:1; width:100%; border:0 }
  
    /* ===== Full-bleed real sin 100vw (evita overflow) ===== */
    .heroS{
      border:0 !important; border-radius:0 !important; margin:0 !important;
      width:100% !important; max-width:unset !important;
      /* expandimos a los bordes del viewport */
      margin-left: calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
    }
    .heroS .dots{ margin:8px 0 0 !important; }
  
    /* Secciones de abajo también full-bleed */
    .mv-posters,
    .feed,
    .cards,
    .posters{
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      padding-left: 12px;
      padding-right: 12px;
    }
  }
  
  /* ===== Extra: evita que cualquier hijo fuerce ancho mayor al viewport ===== */
  main, .container, .page, .feed, .posters, .cards{ max-width:100%; }
  
  /* ===== TOPBAR COMPACT ===== */
:root{
    --topbar-h: 52px;        /* altura header en móvil */
    --topbar-pad-x: 16px;    /* igual que .container */
    --topbar-max: 1200px;    /* igual que .container */
  }
  @media (min-width:900px){
    :root{ --topbar-h: 56px; }
  }
  
  .topbar.topbar--compact{
    padding:0; height:var(--topbar-h);
  }
  .topbar--compact .topbar-inner{
    height:var(--topbar-h);
    max-width:var(--topbar-max);
    margin:0 auto;
    padding:0 var(--topbar-pad-x);
    display:flex; align-items:center; justify-content:space-between; gap:8px;
  }
  
  /* tamaños más chicos en el header */
  .topbar--compact .brand .logo{ width:26px; height:26px; border-radius:6px; }
  .topbar--compact .brand div{ font-size:14px; line-height:1; font-weight:800; }
  .topbar--compact .btn-compact{ padding:6px 10px; font-size:13px; border-radius:10px; }
  .topbar--compact .nav-actions{ display:flex; gap:6px; }
  .topbar--compact .nav-search form{ gap:6px; }
  .topbar--compact .input-compact{
    padding:7px 10px; font-size:13px;
    width: clamp(150px, 38vw, 280px);
  }
  
  /* móvil: que el buscador se estire y no rompa el alto */
  @media (max-width:560px){
    .topbar--compact .nav-search{ flex:1; }
    .topbar--compact .input-compact{ width:100%; }
    /* si necesitás, ocultá items secundarios para que todo entre */
    .topbar--compact .nav-actions a:nth-child(n+3){ display:none; } /* deja Juegos + (Bonos en 2º lugar) */
  }
  
  /* Alineación visual: el contenido de abajo ya usa la misma max-width y padding, por lo que queda centrado igual */
  