body{
    margin:0;
    font-family:Arial, sans-serif;
}

/* =========================================================
   LOGIN
========================================================= */

.logo-login-mundial{
    width:220px;
    max-width:80%;
    height:auto;
    display:block;
    margin:0 auto 20px auto;
}

.login-mundial-box{
    max-width:460px;
    margin:40px auto;
    padding:36px 34px;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    border-radius:28px;
    box-shadow:0 10px 35px rgba(0,0,0,.10);
    border:1px solid rgba(29,111,255,.08);
}

.login-mundial-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.login-mundial-form label{
    font-size:14px;
    font-weight:700;
    color:#475569;
    text-align:left;
}

.login-mundial-input{
    width:100%;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid #dbe4f0;
    background:#fff;
    font-size:16px;
    box-sizing:border-box;
}

.login-mundial-btn{
    width:100%;
    padding:16px;
    border:none;
    border-radius:18px;
    background:linear-gradient(135deg,#2563eb,#1D6FFF);
    color:#fff;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(37,99,235,.20);
}

a{
    color:#2563eb;
    text-decoration:none;
    font-weight:600;
}

/* =========================================================
   PANEL FASE DE GRUPOS
========================================================= */

.apuestas-page{
    max-width:1100px;
    margin:35px auto;
    padding:0 18px 40px;
    font-family:Arial,sans-serif;
}

.apuestas-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    border:1px solid rgba(29,111,255,.08);
    border-radius:22px;
    padding:18px 20px;
    margin-bottom:24px;
    box-shadow:0 8px 24px rgba(2,11,36,.08);
}

.apuestas-user{
    font-size:18px;
    font-weight:900;
    color:#020B24;
}

.apuestas-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:120px;
    padding:12px 18px;
    border-radius:16px;
    font-weight:900;
    text-decoration:none;
    border:none;
    cursor:pointer;
    font-size:15px;
}

.apuestas-btn-main{
    background:linear-gradient(135deg,#2563eb,#1D6FFF);
    color:#fff;
    box-shadow:0 8px 20px rgba(37,99,235,.20);
}

.apuestas-btn-light{
    background:#eef2ff;
    color:#1D4ED8;
}

.apuestas-page .panel-status{
    max-width:760px;
    margin:0 auto 36px auto;
    padding:18px 22px;
    border-radius:20px;
    font-weight:800;
    text-align:center;
}

.apuestas-page .panel-status-open,
.apuestas-page .panel-status-closed{
    background:#eef2ff;
    color:#1D4ED8;
    border:1px solid rgba(29,78,216,.12);
}

.apuestas-page strong{
    display:block;
    max-width:900px;
    margin:34px auto 16px auto;
    padding-left:14px;
    border-left:5px solid #1D6FFF;
    font-size:24px;
    font-weight:900;
    color:#020B24;
}

.apuestas-page .tablaazul{
    width:100%;
    max-width:900px;
    margin:0 auto 34px auto;
    border-collapse:separate;
    border-spacing:0 10px;
    background:transparent;
}

.apuestas-page .tablaazul tr{
    display:grid;
    grid-template-columns:160px 1fr 170px;
    align-items:center;
    gap:12px;
    padding:14px 18px;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    border-radius:18px;
}

.apuestas-page .tablaazul td{
    padding:0;
    border:none;
    font-size:15px;
    vertical-align:middle;
}

.apuestas-page .tablaazul td:nth-child(1){
    color:#64748b;
    font-weight:700;
}

.apuestas-page .tablaazul td:nth-child(2){
    text-align:center;
    font-size:17px;
    font-weight:900;
    color:#020B24;
}

.apuestas-page .tablaazul td:nth-child(3){
    display:flex;
    justify-content:flex-end;
    align-items:center;
    font-size:24px;
    font-weight:900;
    color:#020B24;
}

.apuestas-page .tablaazul td:nth-child(3)::after{
    content:"-";
    margin:0 22px;
    color:#94a3b8;
    font-weight:900;
}

.apuestas-page .tablaazul td:nth-child(4){
    display:flex;
    justify-content:flex-start;
    align-items:center;
    font-size:24px;
    font-weight:900;
    color:#020B24;
}

.resultado-bloqueado{
    background:transparent !important;
    box-shadow:none !important;
    width:auto !important;
    min-width:24px !important;
    height:auto !important;
    padding:0 !important;
    font-size:24px !important;
    font-weight:900;
}

.partido-cerrado{
    opacity:.72;
}

.partido-lock{
    display:inline-block;
    margin-left:10px;
    padding:4px 9px;
    border-radius:999px;
    background:#eef2ff;
    color:#1D4ED8;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.apuestas-page input[type="number"]{
    width:58px !important;
    max-width:58px !important;
    height:46px;
    border-radius:14px;
    border:1px solid #dbe4f0;
    background:#fff;
    font-size:20px;
    font-weight:900;
    text-align:center;
    color:#020B24;
}

.apuestas-page input[type="submit"]{
    padding:14px 22px;
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg,#2563eb,#1D6FFF);
    color:#fff;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(37,99,235,.20);
}

/* =========================================================
   OTRAS APUESTAS
========================================================= */

.otras-page{
    max-width:1100px;
    margin:40px auto 80px auto;
    padding:0 18px;
    font-family:Arial,sans-serif;
}

.otras-card{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
    border-radius:28px;
    padding:28px;
    margin-bottom:28px;
    box-shadow:0 10px 30px rgba(2,11,36,.08);
    border:1px solid rgba(29,111,255,.08);
}

.otras-title{
    font-size:30px;
    font-weight:900;
    color:#020B24;
    margin-bottom:8px;
}

.otras-subtitle{
    color:#64748b;
    margin-bottom:24px;
}

.otras-section{
    margin-top:36px;
}

.otras-section h3{
    font-size:28px;
    font-weight:900;
    color:#020B24;
    margin-bottom:18px;
    padding-left:14px;
    border-left:5px solid #1D6FFF;
}

.otras-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.otras-select{
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid #dbe4f0;
    background:#fff;
    font-size:15px;
    font-weight:700;
}
/* ZZZZZ para marcar si no han selecionado */
/* Cuando la opción seleccionada es la 000 → rojo suave */
.otras-select:has(option[value="000"]:checked) {
    color: #b30000;
    background-color: #ffe5e5;
}

/* Cuando NO es la 000 → estilo normal */
.otras-select:not(:has(option[value="000"]:checked)) {
    color: inherit;
    background-color: #fff;
}


.otras-label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:800;
    color:#475569;
}

.otras-save{
    margin-top:32px;
    padding:16px 28px;
    border:none;
    border-radius:18px;
    background:linear-gradient(135deg,#2563eb,#1D6FFF);
    color:#fff;
    font-size:17px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(37,99,235,.20);
}

.otras-readonly{
    background:#eef2ff;
    color:#1D4ED8;
    padding:18px;
    border-radius:18px;
    font-weight:800;
    text-align:center;
    margin-bottom:24px;
}

/* =========================================================
   MÓVIL
========================================================= */

@media(max-width:768px){

    .login-mundial-box{
        margin:20px 14px;
        padding:26px 20px;
        border-radius:22px;
    }

    .apuestas-page{
        margin:22px auto;
        padding:0 12px 30px;
    }

    .apuestas-topbar{
        flex-direction:column;
        align-items:stretch;
        border-radius:18px;
    }

    .apuestas-btn{
        width:100%;
    }

    .apuestas-page strong{
        font-size:22px;
    }

    .apuestas-page .tablaazul,
    .apuestas-page .tablaazul tbody,
    .apuestas-page .tablaazul tr,
    .apuestas-page .tablaazul td{
        display:block;
        width:100%;
    }

    .apuestas-page .tablaazul tr{
        padding:14px;
        margin-bottom:14px;
        border-radius:18px;
        text-align:center;
    }

    .apuestas-page .tablaazul td{
        padding:7px 0;
    }

    .apuestas-page .tablaazul td:nth-child(2){
        font-size:18px;
    }

    .apuestas-page .tablaazul td:nth-child(3),
    .apuestas-page .tablaazul td:nth-child(4){
        display:inline-flex;
        width:auto;
        justify-content:center;
    }

    .apuestas-page .tablaazul td:nth-child(3)::after{
        content:"-";
        margin:0 14px;
    }
}

.apuestas-page .tablaazul tr{
    grid-template-columns:160px 1fr 190px !important;
}

.apuestas-page .tablaazul td:nth-child(3)::after{
    content:none !important;
}

.marcador-partido{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    font-size:24px !important;
    font-weight:900 !important;
}

.marcador-guion{
    color:#94a3b8;
    font-weight:900;
}

.marcador-partido input[type="number"]{
    width:58px !important;
    max-width:58px !important;
}

/* =========================================================
   OTROS PRONÓSTICOS - AYUDAS Y BLOQUES EXPLICATIVOS
========================================================= */

.otras-intro-card{
    margin-bottom:34px !important;
}

.otras-info-general{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important;
    gap:14px !important;
    margin-top:20px !important;
}

.otras-info-item{
    background:#eef4ff !important;
    border:1px solid #dbe6f7 !important;
    border-left:5px solid #2563eb !important;
    border-radius:18px !important;
    padding:15px 16px !important;
}

.otras-info-item strong{
    display:block !important;
    color:#1D4ED8 !important;
    font-size:15px !important;
    margin-bottom:6px !important;
}

.otras-info-item span{
    display:block !important;
    color:#334155 !important;
    font-size:14px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
}

.otras-help,
.otras-help-box{
    margin:0 0 20px 0 !important;
    padding:14px 16px !important;
    background:#eef4ff !important;
    border:1px solid #dbe6f7 !important;
    border-left:5px solid #2563eb !important;
    border-radius:16px !important;
    color:#35507c !important;
    font-weight:700 !important;
    line-height:1.45 !important;
}

.otras-checkbox-grid-modern{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
    margin-top:18px;
}

.otras-check{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    background:#f8fbff;
    border:1px solid #dbe6f7;
    border-radius:18px;
    padding:14px 16px;
    cursor:pointer;
    transition:.18s;
    font-weight:700;
}

.otras-check:hover{
    transform:translateY(-2px);
    border-color:#2563eb;
    box-shadow:0 8px 18px rgba(37,99,235,.10);
}

.otras-check input{
    width:18px;
    height:18px;
}

.otras-check span{
    color:#1e293b;
}

/* Clasificaciones de grupo dentro de Otros pronósticos */
.otras-mini-clasificacion{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:10px auto 24px auto !important;
    overflow-x:auto !important;
}

.otras-mini-clasificacion table,
.otras-mini-clasificacion .tablalistadorojo,
.otras-mini-clasificacion .tablaroja,
.otras-mini-clasificacion .tablalistado,
.otras-mini-clasificacion .tablaazul{
    width:100% !important;
    max-width:760px !important;
    min-width:0 !important;
    margin:0 auto !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border:1px solid #dbe6f7 !important;
    border-radius:16px !important;
    box-shadow:0 8px 22px rgba(2,11,36,.06) !important;
    font-family:Arial,sans-serif !important;
}

.otras-mini-clasificacion tr,
.otras-mini-clasificacion table tr,
.otras-mini-clasificacion .tablalistadorojo tr,
.otras-mini-clasificacion .tablaroja tr{
    background:#ffffff !important;
    background-color:#ffffff !important;
    color:#1e293b !important;
    border:none !important;
}

.otras-mini-clasificacion tr:nth-child(even),
.otras-mini-clasificacion table tr:nth-child(even){
    background:#f8fbff !important;
    background-color:#f8fbff !important;
}

.otras-mini-clasificacion th,
.otras-mini-clasificacion td,
.otras-mini-clasificacion table th,
.otras-mini-clasificacion table td,
.otras-mini-clasificacion .tablalistadorojo th,
.otras-mini-clasificacion .tablalistadorojo td,
.otras-mini-clasificacion .tablaroja th,
.otras-mini-clasificacion .tablaroja td{
    background:transparent !important;
    background-color:transparent !important;
    color:#1e293b !important;
    border:0 !important;
    border-bottom:1px solid #e8eef8 !important;
    padding:9px 12px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-align:center !important;
    box-shadow:none !important;
}

.otras-mini-clasificacion th:first-child,
.otras-mini-clasificacion td:first-child{
    text-align:left !important;
    font-weight:800 !important;
    color:#0f172a !important;
    padding-left:14px !important;
}

.otras-mini-clasificacion tr:first-child th,
.otras-mini-clasificacion tr:first-child td,
.otras-mini-clasificacion thead th{
    background:#eef4ff !important;
    background-color:#eef4ff !important;
    color:#1D4ED8 !important;
    font-weight:900 !important;
    border-bottom:1px solid #dbe6f7 !important;
}

.otras-mini-clasificacion tr:last-child td{
    border-bottom:0 !important;
}

.grupo-card h4{
    max-width:760px;
    margin:0 auto 12px auto !important;
    font-size:22px !important;
    color:#020B24 !important;
    font-weight:900 !important;
}

.grupo-card .otras-grid{
    max-width:760px !important;
    margin:0 auto !important;
}

/* =========================================================
   MENÚ MÓVIL SIN HAMBURGUESA
========================================================= */

@media (max-width:768px){

    /* Oculta la hamburguesa de Elementor */
    .elementor-menu-toggle{
        display:none !important;
    }

    /* Fuerza menú visible */
    .elementor-nav-menu--dropdown{
        display:block !important;
        position:static !important;
        width:100% !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        height:auto !important;
        overflow:visible !important;
        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
    }

    .elementor-nav-menu--dropdown .elementor-nav-menu{
        display:flex !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        gap:10px !important;
        padding:10px !important;
    }

    .elementor-nav-menu--dropdown .menu-item{
        display:inline-block !important;
    }

    .elementor-nav-menu--dropdown a{
        font-size:14px !important;
        padding:8px 10px !important;
        border-radius:10px;
    }
}

/* =========================================================
   FORZAR MENÚ NORMAL EN MÓVIL
========================================================= */

@media (max-width:768px){

    /* Oculta hamburguesa */
    .elementor-menu-toggle{
        display:none !important;
    }

    /* Muestra SIEMPRE el contenedor */
    .elementor-nav-menu--dropdown{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        position:relative !important;
        left:auto !important;
        top:auto !important;
        width:100% !important;
        height:auto !important;
        max-height:none !important;
        overflow:visible !important;
        transform:none !important;
    }

    /* El UL real */
    .elementor-nav-menu{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        justify-content:center !important;
        align-items:center !important;
        gap:8px !important;
    }

    .elementor-nav-menu li{
        display:inline-block !important;
        width:auto !important;
    }

    .elementor-nav-menu li a{
        display:block !important;
        padding:8px 10px !important;
        font-size:14px !important;
        line-height:1.2 !important;
    }
}

/* mostrar solo 4 elementos del menu */

@media (max-width:768px){

    .elementor-nav-menu li:nth-child(n+5){
        display:none !important;
    }

}

/* panel administrador para moviles*/

@media (max-width:768px){

    .admin-page,
    .admin-panel,
    .admin-wrap{
        padding:18px 14px !important;
        margin:12px auto !important;
        border-radius:22px !important;
    }

    .admin-page h1,
    .admin-panel h1{
        font-size:34px !important;
        line-height:1.05 !important;
        margin-bottom:8px !important;
    }

    .admin-stats{
        display:grid !important;
        grid-template-columns:repeat(3, 1fr) !important;
        gap:10px !important;
        margin:18px 0 !important;
    }

    .admin-stat-card{
        padding:14px 10px !important;
        border-radius:18px !important;
        min-height:auto !important;
    }

    .admin-stat-card strong,
    .admin-stat-number{
        font-size:30px !important;
        line-height:1 !important;
    }

    .admin-grid,
    .admin-cards{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:12px !important;
    }

    .admin-card{
        padding:16px 14px !important;
        border-radius:20px !important;
        min-height:120px !important;
    }

    .admin-card-icon{
        font-size:28px !important;
        margin-bottom:8px !important;
    }

    .admin-card-title{
        font-size:17px !important;
        line-height:1.15 !important;
    }

    .admin-card-text{
        font-size:13px !important;
        line-height:1.25 !important;
    }
}
