/* ==========================================================================
   1. VARIABLES GLOBALES Y TEMAS POR JUEGO
   ========================================================================== */
:root {
    --tema-primario: #3c4544;
    --tema-oscuro: #2c3332;
    --boton-primario: #009245;
    --boton-hover: #006e34;
    --light-gray-bg: #f8f9fa;
    --light-blue-text: #1a3b5c;
    --border-color: #e9ecef;
    --sombra-cabecera: 0 4px 6px -1px rgba(0,0,0,0.1);
}

.is-primitiva { --tema-primario: #009245; --tema-oscuro: #006e34; --boton-primario: #005a2b; --boton-hover: #003d1d; }
.is-bonoloto { --tema-primario: #6e851e; --tema-oscuro: #546617; --boton-primario: #6e851e; --boton-hover: #546617; }
.is-euromillones { --tema-primario: #0d2136; --tema-oscuro: #081524; --boton-primario: #0d2136; --boton-hover: #081524; }
.is-gordo { --tema-primario: #992c32; --tema-oscuro: #7a2328; --boton-primario: #db3f47; --boton-hover: #b8353c; }
.is-eurodreams { --tema-primario: #40265e; --tema-oscuro: #2e1b45; --boton-primario: #40265e; --boton-hover: #2e1b45; }

.is-quiniela { 
    --tema-primario: #981314; 
    --tema-oscuro: #7a0f10; 
    --boton-primario: #db3f47; 
    --boton-hover: #b8353c; 
    --sombra-cabecera: 0 6px 12px -2px rgba(219, 63, 71, 0.4); 
    /* Nuevas variables para arreglar el footer móvil flotante */
    --maxi-iframe-cta-primary-rgb: 152, 19, 20; /* Color primario: #981314 */
    --maxi-iframe-cta-accent-rgb: 202, 25, 27;  /* Color acento: #ca191b */
}


.is-quinigol { 
    --tema-primario: #45bbcf; 
    --tema-oscuro: #348c9b; 
    --boton-primario: #45bbcf; 
    --boton-hover: #348c9b; 
    --sombra-cabecera: 0 6px 12px -2px rgba(69, 187, 207, 0.4); 
}
/* ==========================================================================
   2. ENCAPSULACIÓN CRÍTICA (INTEGRACIÓN NATIVA CON GADMIN)
   ========================================================================== */
.page-container,
.page-container * {
    box-sizing: border-box;
}

body .page-container {
    width: 100%;
    max-width: 1510px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    background: transparent;
    color: #333;
    line-height: 1.5;
}

/* ==========================================================================
   3. ELEMENTOS COMUNES Y ANCHOS
   ========================================================================== */
body .page-container h1.page-title {
    width: calc(100% + 40px);
    max-width: none;
    margin: -20px -20px 0 -20px;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: var(--tema-primario);
    color: #fff;
    text-transform: uppercase;
    font-size: 32px;
    font-weight: 600;
    border-radius: 0;
    line-height: normal;
}

.card {
    background: #fff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    width: 100%;
}

body .page-container .card-iframe-host {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body .page-container .card:not(.card-iframe-host) {
    max-width: 1430px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

body .page-container .card h2 {
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--light-blue-text);
    margin: 0 0 20px 0;
    border-bottom: 2px solid var(--tema-primario);
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

body .page-container .card h3 {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    margin: 25px 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.card h3 .material-icons-outlined {
    color: var(--tema-primario);
    font-size: 1.5rem;
}

body .page-container p,
body .page-container li {
    font-size: 1.2rem;
    font-weight: 400;
    color: #333;
    line-height: 1.6;
    margin-bottom: 15px;
}

body .page-container p strong,
body .page-container li strong {
    font-weight: 600;
    color: var(--light-blue-text);
}

.card ul,
.card ol {
    padding-left: 20px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
}

.button.primary {
    background: var(--boton-primario);
    color: #fff;
    border: 2px solid var(--boton-primario);
}

.button.primary:hover {
    background: var(--boton-hover);
    border-color: var(--boton-hover);
}

.button-stack {
    text-align: center;
    margin-top: 25px;
}

.image-container {
    text-align: center;
    margin: 25px 0 15px 0;
}

.image-container img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    margin: 0 auto;
    background-color: transparent;
}

/* ==========================================================================
   4. TABLAS MAESTRAS MAXILOTO
   ========================================================================== */
.responsive-table {
    width: 100%;
    margin: 25px 0;
    overflow-x: hidden;
}

.maxi-table {
    border-collapse: collapse;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 0 1px var(--border-color);
}

.maxi-table th,
.maxi-table td {
    border: 1px solid var(--border-color);
    padding: 12px 15px;
    text-align: center;
    font-size: 1rem;
    color: #444;
}

.maxi-table th {
    background-color: var(--light-blue-text);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
}

.maxi-table tbody tr:nth-child(even) {
    background-color: var(--light-gray-bg);
}

.maxi-table tbody tr:hover {
    background-color: #f1f8f5;
}

.schedule-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    min-width: 600px;
}

.schedule-table th,
.schedule-table td {
    padding: 16px 20px;
    border: 1px solid var(--border-color);
    color: #555;
    font-size: 1.1rem;
}

.schedule-table th {
    background: var(--light-gray-bg);
    color: var(--light-blue-text);
    font-weight: bold;
}

.schedule-table td strong {
    color: var(--light-blue-text);
}

/* ==========================================================================
   5. COMPONENTES EXCLUSIVOS
   ========================================================================== */
.primitiva-container {
    width: 100%;
    max-width: 1510px;
    margin: 0 auto;
    padding: 0;
}

.primitiva-container iframe {
    width: 100%;
    height: 620px;
    min-height: 0;
    border: 0;
    display: block;
    background: transparent;
    transition: height .3s ease-out;
}

.experto-consejo {
    background: var(--light-gray-bg);
    border-left: 4px solid var(--tema-primario);
    padding: 20px 25px;
    border-radius: 0 8px 8px 0;
    margin: 25px 0;
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.experto-consejo .icon-container {
    color: var(--tema-primario);
    margin-top: 2px;
}

.experto-consejo .icon-container .material-icons-outlined {
    font-size: 2rem;
}

body .page-container .experto-consejo .content h3 {
    margin: 0 0 8px 0;
    color: var(--light-blue-text);
    font-size: 1.15rem;
    border: none;
    padding: 0;
    display: block;
}

.experto-consejo .content p {
    margin: 0;
    font-size: 1.05rem;
}

.filter-box {
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 22px;
    margin-bottom: 20px;
}

body .page-container .filter-box h3 {
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px dashed #cbd5e1;
}

.filter-box p:last-child,
.filter-box ul:last-child {
    margin-bottom: 0;
}

body .page-container .pros-cons-list {
    list-style: none;
    padding: 0;
}

.pros-cons-list li {
    padding-left: 35px;
    position: relative;
    margin-bottom: 15px;
}

.pros-cons-list li::before {
    position: absolute;
    left: 0;
    top: 0;
    font-family: 'Material Icons Outlined';
    font-size: 1.5rem;
    line-height: 1.2;
}

.pros-cons-list .ventaja::before { content: '\e876'; color: var(--tema-primario); }
.pros-cons-list .desventaja::before { content: '\e5c9'; color: #dc3545; }
.pros-cons-list .info-list::before { content: '\e88e'; color: var(--light-blue-text); }

.games-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.game-card {
    background-color: var(--light-gray-bg);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.game-card img {
    max-width: 80px;
    height: auto;
    margin: 0 auto 15px auto;
}

.game-card h4 {
    font-size: 1.3rem;
    margin-top: 0;
    margin-bottom: 10px;
    color: var(--light-blue-text);
    font-weight: bold;
}

.game-card p {
    font-size: 0.95rem;
    flex-grow: 1;
    margin-bottom: 15px;
}

.modality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.modality-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 25px 20px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    background: #fff;
}

.modality-card:hover {
    border-color: var(--tema-primario);
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transform: translateY(-5px);
}

.modality-card .material-icons-outlined {
    font-size: 2.8rem;
    color: var(--tema-primario);
    margin-bottom: 15px;
}

.modality-card h3 {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
    color: var(--light-blue-text);
}

.modality-card p {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #555;
    margin: 0 0 20px 0;
    flex-grow: 1;
}

/* ==========================================================================
   6. PREGUNTAS FRECUENTES (FAQ)
   ========================================================================== */
.faq-item details {
    border-bottom: 1px solid #e9ecef;
    padding: 15px 0;
}

.faq-item summary {
    font-weight: 500;
    font-size: 1.1rem;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: '+';
    font-size: 1.5rem;
    color: var(--tema-primario);
    transition: transform 0.3s ease-in-out;
}

.faq-item details[open] summary::after {
    transform: rotate(45deg);
}

.faq-item details[open] summary {
    color: var(--tema-primario);
}

.faq-item .faq-answer {
    padding: 15px 5px 0 5px;
}

/* ==========================================================================
   7. MEDIA QUERIES (RESPONSIVE)
   ========================================================================== */
@media (min-width: 606px) {
    body #maxi-iframe-mobile-cta,
    body .maxi-iframe-mobile-cta {
        display: none;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    body .page-container h1.page-title {
        padding: 15px 20px;
        font-size: 28px;
    }
}

@media (max-width: 900px) {
    .games-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    body .page-container {
        width: 100%;
        margin: 0;
        margin-bottom: auto;
        padding: 0;
        gap: 10px;
        background: transparent;
    }

    body .page-container h1.page-title {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        margin-top: 0 !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
        padding: 0 20px !important;
        background: var(--tema-primario) !important;
        color: #ffffff !important;
        font-size: 19px !important;
        line-height: 1 !important;
        font-weight: 800 !important;
        text-align: center !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        box-shadow: var(--sombra-cabecera) !important;
        z-index: 2 !important;
        border-radius: 0 !important;
    }

    body .page-container .card-iframe-host {
        position: relative !important;
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto 10px auto !important;
        padding: 0 !important;
        border-top: none !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    .card { padding: 25px 0; border-radius: 0; border-left: none; border-right: none; box-shadow: none; border-bottom: 1px solid var(--border-color); }
    
    /* Y añadimos esta pequeña regla para que el texto y las listas dentro de la tarjeta respiren un poco */
    .card p, .card li, .card h2, .card h3 { padding-left: 15px; padding-right: 15px; }

    .card-fullwidth {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .page-container .card h2 { font-size: 1.4rem; }
    body .page-container .card h3 { font-size: 1.2rem; }
    .game-card h4 { font-size: 1.2rem; }

    body .page-container p,
    body .page-container li {
        font-size: 1.15rem;
        font-weight: 400;
        color: #444;
    }

    .button {
        width: 100%;
        padding: 15px;
        font-size: 1.1rem;
        white-space: normal;
    }

    .maxi-table th,
    .maxi-table td {
        padding: 10px 4px;
        font-size: 0.85rem;
        word-wrap: break-word;
    }

    .maxi-table th {
        font-size: 0.8rem;
    }

    .experto-consejo {
        padding: 15px;
        margin: 20px -15px;
        gap: 12px;
    }

    .experto-consejo .icon-container .material-icons-outlined {
        font-size: 1.8rem;
    }

    body .page-container .experto-consejo .content h3 {
        font-size: 1.1rem;
    }

    .experto-consejo .content p {
        font-size: 1rem;
    }

    .filter-box {
        padding: 15px;
        margin-bottom: 15px;
    }

    body .page-container .filter-box h3 {
        font-size: 1.1rem;
    }

    .pros-cons-list li {
        padding-left: 32px;
        margin-bottom: 12px;
    }

    .pros-cons-list li::before {
        font-size: 1.4rem;
    }

    .schedule-table {
        table-layout: fixed;
        min-width: auto;
        overflow-x: auto;
    }

    .schedule-table th,
    .schedule-table td {
        padding: 10px 6px;
        font-size: 0.85rem;
        word-wrap: break-word;
        hyphens: auto;
        vertical-align: top;
    }

    .schedule-table th:nth-child(1),
    .schedule-table td:nth-child(1) {
        width: 28%;
    }

    .faq-item {
        padding-left: 5px;
        padding-right: 5px;
    }

    .faq-item summary {
        color: var(--light-blue-text);
    }
}

@media (max-width: 605px) {
    body.has-mobile-iframe-cta .page-container::after {
        content: '';
        display: block;
        width: 100%;
        height: calc(var(--maxi-iframe-cta-height) + 10px);
    }

    .maxi-iframe-mobile-cta {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        width: 100vw;
        max-width: 100vw;
        bottom: var(--maxi-iframe-bottom-offset);
        z-index: 950;
        margin: 0;
        padding: 0;
        opacity: 0;
        transform: translateY(12px);
        pointer-events: none;
        transition: opacity 0.18s ease, transform 0.18s ease;
    }

    .maxi-iframe-mobile-cta.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    .maxi-iframe-mobile-cta__inner {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
        margin: 0;
        padding: 10px;
        min-height: 60px;
        background: rgba(var(--maxi-iframe-cta-primary-rgb), 0.25);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border-top: 1px solid rgba(255,255,255,0.2);
        box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
        border-radius: 0;
        pointer-events: auto;
    }

    body .maxi-iframe-mobile-cta__btn {
        flex-grow: 1;
        flex-basis: 0;
        height: 40px;
        min-height: 40px;
        padding: 0 0.5rem;
        margin: 0;
        border-radius: 6px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        cursor: pointer;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 10px 15px -3px rgba(0,0,0,0.06);
        transition: transform 0.14s ease, opacity 0.14s ease, box-shadow 0.14s ease;
        -webkit-tap-highlight-color: transparent;
      
    }

    .maxi-iframe-mobile-cta__btn--calc {
        background: rgb(var(--maxi-iframe-cta-primary-rgb));
    }

    .maxi-iframe-mobile-cta__btn--validate {
        background: rgb(var(--maxi-iframe-cta-accent-rgb));
    }

    body .maxi-iframe-mobile-cta__btn .material-icons-outlined {
        display: none;
    }

    .maxi-iframe-mobile-cta__text-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        line-height: 1.1;
        text-align: center;
    }

    .maxi-iframe-mobile-cta__btn .label {
        font-weight: bold;
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        white-space: nowrap;
    }

    .maxi-iframe-mobile-cta__btn .price {
        font-size: 0.8rem;
        font-weight: bold;
        opacity: 0.9;
        margin-top: 2px;
        white-space: nowrap;
    }

    body .maxi-iframe-mobile-cta__btn:disabled {
        background: #d1d5db;
        color: #fff;
        opacity: 0.7;
        cursor: not-allowed;
        box-shadow: none;
    }

    .maxi-iframe-mobile-cta__btn:not(:disabled):active {
        transform: translateY(0) scale(0.98);
        box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
    }

    .maxi-iframe-mobile-cta__btn.is-loading {
        opacity: 0.78;
    }
}

@media (max-width: 500px) {
    .games-grid {
        grid-template-columns: 1fr;
    }
}
/* ==========================================================================
   GUÍAS DE FILTROS / TARJETAS TÉCNICAS
   Solo afecta a bloques que lleven estas clases extra
   ========================================================================== */
.modality-grid.modality-grid-filtros{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}
.modality-card.modality-card-filtro{
    align-items:stretch;
    text-align:left;
    padding:24px 20px;
}
.modality-card.modality-card-filtro>.material-icons-outlined{
    align-self:center;
    margin-bottom:12px;
}
.modality-card.modality-card-filtro>h3{
    width:100%;
    margin:0 0 10px 0;
    text-align:center;
    color:var(--light-blue-text);
}
.modality-card.modality-card-filtro>p{
    width:100%;
    margin:0 0 14px 0;
    font-size:1rem;
    line-height:1.55;
    text-align:left;
    color:#555;
    flex-grow:0;
}
.modality-card.modality-card-filtro .pros-cons-list.filter-guide-list{
    width:100%;
    margin-top:10px;
    padding:0;
}
.modality-card.modality-card-filtro .pros-cons-list.filter-guide-list li{
    text-align:left;
    margin-bottom:12px;
}
.modality-card.modality-card-filtro .pros-cons-list.filter-guide-list li:last-child{
    margin-bottom:0;
}
.modality-card.modality-card-filtro .pros-cons-list.filter-guide-list strong{
    color:var(--light-blue-text);
}
@media (max-width:767px){
    .modality-grid.modality-grid-filtros{
        grid-template-columns:1fr;
        gap:16px;
    }
    .modality-card.modality-card-filtro{
        padding:22px 16px;
    }
    .modality-card.modality-card-filtro>p{
        font-size:.98rem;
        line-height:1.5;
    }
}
/* ==========================================================================
   IFRAME ESTADÍSTICO QUINIELA · LANDING
   ========================================================================== */

body .page-container .maxiloto-stats-iframe-card {
    width: 100% !important;
    max-width: 1510px !important;
    margin: 0 auto 10px auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.maxiloto-stats-iframe-intro {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto 12px auto;
    padding: 18px 0 0 0;
    text-align: left; /* Cambiado para alinear a la izquierda como el resto de la web */
}

body .page-container .maxiloto-stats-iframe-intro h2 {
    justify-content: flex-start; /* Alinea el icono y el título a la izquierda */
    margin: 0 0 20px 0; /* Margen igualado al resto de tarjetas */
    padding: 0 0 10px 0;
    border-bottom: 2px solid var(--tema-primario);
    color: var(--light-blue-text);
    font-size: 1.6rem; /* Tamaño original de los H2 de tus tarjetas */
    font-weight: bold;
    line-height: 1.18;
}

body .page-container .maxiloto-stats-iframe-intro h2 .material-icons-outlined {
    color: var(--tema-primario);
    font-size: 1.5rem; /* Tamaño original de los iconos en H2 */
}

body .page-container .maxiloto-stats-iframe-intro p {
    max-width: 100%; /* Permitimos que ocupe todo el ancho */
    margin: 0 0 15px 0;
    padding: 0;
    /* Al eliminar el font-size y el color personalizados, hereda automáticamente el 1.2rem y #333 del resto de párrafos */
}

@media (max-width: 767px) {
    body .page-container .maxiloto-stats-iframe-card {
        margin: 0 auto 10px auto !important;
    }

    .maxiloto-stats-iframe-intro {
        padding: 12px 12px 0 12px;
        margin-bottom: 8px;
    }

    body .page-container .maxiloto-stats-iframe-intro h2 {
        font-size: 1.4rem; /* Mismo tamaño móvil que el resto de H2 */
        line-height: 1.18;
        text-align: left;
    }

    body .page-container .maxiloto-stats-iframe-intro h2 .material-icons-outlined {
        font-size: 1.5rem;
    }

    body .page-container .maxiloto-stats-iframe-intro p {
        text-align: left;
        padding: 0;
        /* Al quitar el font-size, hereda automáticamente el 1.15rem que usas en móvil */
    }

    #iframe-estadisticas-quiniela-landing {
        min-height: 320px; /* Mantenemos la corrección del espacio en blanco */
    }
}
/* ==========================================================================
   IFRAME ESTADÍSTICO QUINIELA · MISMO ANCHO QUE TARJETAS SEO
   ========================================================================== */

body .page-container #quiniela-stats-iframe-block.maxiloto-stats-iframe-card {
    width: 100% !important;
    max-width: 1430px !important;
    margin: 0 auto 18px auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

body .page-container .maxiloto-stats-iframe-intro {
    width: 100% !important;
    max-width: 1430px !important;
    margin: 0 auto 12px auto !important;
    padding: 18px 0 0 0 !important;
}

body .page-container .maxiloto-stats-iframe-wrap {
    width: 100% !important;
    max-width: 1430px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

body .page-container #iframe-estadisticas-quiniela-landing {
    display: block !important;
    width: 100% !important;
    max-width: 1430px !important;
    /* Reducimos el min-height a lo que necesita el iframe básico */
    min-height: 320px !important; 
    /* Eliminamos el height estático para que el JS haga su trabajo */
    border: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    body .page-container #quiniela-stats-iframe-block.maxiloto-stats-iframe-card,
    body .page-container .maxiloto-stats-iframe-wrap,
    body .page-container #iframe-estadisticas-quiniela-landing {
        max-width: 100% !important;
    }

    body .page-container #iframe-estadisticas-quiniela-landing {
        /* Reducimos también el min-height enorme en móviles */
        min-height: 320px !important; 
    }
}

/* Evita saltos de scroll al cambiar la altura del iframe estadístico */
body .page-container #quiniela-stats-iframe-block,
body .page-container #iframe-estadisticas-quiniela-landing {
    overflow-anchor: none;
}

@media (max-width: 767px) {
    body .page-container #iframe-estadisticas-quiniela-landing {
        transition: none !important;
    }
}/* ==========================================================================
   RESULTADOS SEO · LANDINGS DE COMPROBACIÓN
   Añadir al final de landing-maxi.css
   ========================================================================== */
.resultados-seo .results-kicker {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px 0;
    color: #667085;
    font-size: 0.98rem;
    font-weight: 600;
}

.resultados-seo .results-kicker .material-icons-outlined {
    color: var(--tema-primario);
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.resultados-seo .card-accent {
    border-left: 5px solid var(--tema-primario);
}

.resultados-seo .card-cta {
    background: var(--light-gray-bg);
    text-align: center;
}

.resultados-seo .results-actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.resultados-seo .button.secondary {
    background: var(--light-blue-text);
    color: #fff;
    border: 2px solid var(--light-blue-text);
    font-size: 1rem;
}

.resultados-seo .button.secondary:hover {
    background: var(--tema-oscuro);
    border-color: var(--tema-oscuro);
}

.resultados-seo .results-mini-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
    margin: 20px 0 5px 0;
}

.resultados-seo .results-mini-card {
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 18px;
}

body .page-container.resultados-seo .results-mini-card h3 {
    margin: 0 0 8px 0;
    color: var(--light-blue-text);
    font-size: 1.08rem;
}

.resultados-seo .results-mini-card p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

.resultados-seo .results-note {
    background: #fff;
    border: 1px dashed var(--tema-primario);
    border-radius: 10px;
    padding: 16px 18px;
    margin: 20px 0 0 0;
}

.resultados-seo .results-note p {
    margin: 0;
    font-size: 1.05rem;
}

@media (max-width: 767px) {
    .resultados-seo .results-kicker {
        padding-left: 15px;
        padding-right: 15px;
        align-items: flex-start;
        font-size: 0.94rem;
    }

    .resultados-seo .card-accent {
        border-left: none;
        border-top: 5px solid var(--tema-primario);
    }

    .resultados-seo .results-actions,
    .resultados-seo .button-stack {
        padding-left: 15px;
        padding-right: 15px;
    }

    .resultados-seo .results-actions .button {
        width: 100%;
    }

    .resultados-seo .results-mini-grid {
        grid-template-columns: 1fr;
        padding-left: 15px;
        padding-right: 15px;
    }

    .resultados-seo .results-mini-card p,
    .resultados-seo .results-mini-card h3 {
        padding-left: 0;
        padding-right: 0;
    }

    .resultados-seo .results-note {
        margin-left: 15px;
        margin-right: 15px;
    }

    .resultados-seo .results-note p {
        padding-left: 0;
        padding-right: 0;
    }
}
/* ==========================================================================
   FIXES · LANDINGS SEO DE RESULTADOS
   Corrige solape con línea vertical y contraste de botones
   ========================================================================== */

body .page-container.resultados-seo {
    clear: both;
    position: relative;
    z-index: 20;
    isolation: isolate;
}

/* Evita que el H1 use el truco de ancho expandido que aquí rompe el layout */
body .page-container.resultados-seo h1.page-title {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto;
    padding: 18px 24px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 3;
    border-radius: 0;
}

/* Asegura que las tarjetas queden por encima de elementos de layout de fondo */
body .page-container.resultados-seo .card {
    position: relative;
    z-index: 3;
}

/* Corrige botones para que siempre tengan contraste correcto */
.resultados-seo .button.primary,
.resultados-seo .button.primary:link,
.resultados-seo .button.primary:visited,
.resultados-seo .button.secondary,
.resultados-seo .button.secondary:link,
.resultados-seo .button.secondary:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.resultados-seo .button.primary .material-icons-outlined,
.resultados-seo .button.secondary .material-icons-outlined {
    color: #ffffff !important;
}

.resultados-seo .button.primary:hover,
.resultados-seo .button.secondary:hover {
    color: #ffffff !important;
}

.resultados-seo .button.secondary {
    background: var(--light-blue-text);
    border: 2px solid var(--light-blue-text);
    color: #ffffff !important;
}

.resultados-seo .button.secondary:hover {
    background: var(--tema-oscuro);
    border-color: var(--tema-oscuro);
    color: #ffffff !important;
}

/* Mejor alineación y lectura de grupos de botones */
.resultados-seo .results-actions,
.resultados-seo .button-stack {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* Tarjetas mini con texto más limpio */
.resultados-seo .results-mini-card {
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 18px;
}

/* Móvil */
@media (max-width: 767px) {
    body .page-container.resultados-seo h1.page-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 10px 0 !important;
        padding: 16px 15px !important;
        overflow: hidden;
    }

    .resultados-seo .results-actions,
    .resultados-seo .button-stack {
        padding-left: 15px;
        padding-right: 15px;
        flex-direction: column;
    }

    .resultados-seo .results-actions .button,
    .resultados-seo .button-stack .button {
        width: 100%;
        max-width: 350px;
    }
}
/* ==========================================================================
   FIX · CENTRADO DE BOTONES EN LANDINGS DE RESULTADOS
   ========================================================================== */

body .page-container.resultados-seo .button-stack,
body .page-container.resultados-seo .results-actions {
    justify-content: center;
    text-align: center;
}

body .page-container.resultados-seo .card-cta .button-stack {
    justify-content: center;
}

@media (max-width: 767px) {
    body .page-container.resultados-seo .button-stack,
    body .page-container.resultados-seo .results-actions {
        justify-content: center;
        align-items: center;
    }
}

/* ==========================================================================
   FIX FINAL · BOTONES EN LANDINGS SEO DE RESULTADOS
   Mantiene intactos los estilos generales y solo ajusta bloques .resultados-seo
   ========================================================================== */

body .page-container.resultados-seo .button-stack,
body .page-container.resultados-seo .results-actions {
    justify-content: center !important;
    text-align: center !important;
}

body .page-container.resultados-seo .card-cta .button-stack {
    justify-content: center !important;
}

body .page-container.resultados-seo .button.primary,
body .page-container.resultados-seo .button.primary:link,
body .page-container.resultados-seo .button.primary:visited,
body .page-container.resultados-seo .button.secondary,
body .page-container.resultados-seo .button.secondary:link,
body .page-container.resultados-seo .button.secondary:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

body .page-container.resultados-seo .button.primary .material-icons-outlined,
body .page-container.resultados-seo .button.secondary .material-icons-outlined {
    color: #ffffff !important;
}

body .page-container.resultados-seo .button.primary:hover,
body .page-container.resultados-seo .button.secondary:hover {
    color: #ffffff !important;
}

/* Los botones secundarios usan el color del juego, no azul genérico */
body .page-container.resultados-seo .button.secondary {
    background: var(--boton-primario) !important;
    border-color: var(--boton-primario) !important;
    color: #ffffff !important;
}

body .page-container.resultados-seo .button.secondary:hover {
    background: var(--boton-hover) !important;
    border-color: var(--boton-hover) !important;
    color: #ffffff !important;
}

@media (max-width: 767px) {
    body .page-container.resultados-seo .button-stack,
    body .page-container.resultados-seo .results-actions {
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }

    body .page-container.resultados-seo .results-actions .button,
    body .page-container.resultados-seo .button-stack .button {
        width: 100%;
        max-width: 350px;
    }
}

/* ==========================================================================
   FIX FINAL · H1 RESPONSIVE EN MÓVIL
   Evita que los títulos largos se corten cuando ocupan varias líneas.
   Se añade al final para no tocar reglas usadas por otras landings.
   ========================================================================== */

/* Tema que usan las nuevas landings de resultados de Lotería Nacional */
.is-loteria {
    --tema-primario: #1a3b5c;
    --tema-oscuro: #10263c;
    --boton-primario: #1a3b5c;
    --boton-hover: #10263c;
    --sombra-cabecera: 0 6px 12px -2px rgba(26, 59, 92, 0.35);
}

@media (max-width: 767px) {
    /*
       La regla móvil anterior fijaba height/min-height/max-height en 56px.
       Eso funciona con títulos de una sola línea, pero corta los H1 largos.
       Aquí mantenemos un mínimo elegante y dejamos que crezca según contenido.
    */
    body .page-container h1.page-title {
        height: auto !important;
        min-height: 56px !important;
        max-height: none !important;
        padding: 12px 18px !important;
        line-height: 1.18 !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
        text-wrap: balance;
        flex-wrap: wrap !important;
    }

    /*
       Las landings SEO de resultados usan un H1 integrado en el bloque central.
       Mantiene el ancho de la tarjeta y también crece en altura si hay 2, 3 o 4 líneas.
    */
    body .page-container.resultados-seo h1.page-title {
        width: 100% !important;
        max-width: 1430px !important;
        margin: 0 auto 10px auto !important;
        height: auto !important;
        min-height: 56px !important;
        max-height: none !important;
        padding: 14px 18px !important;
        line-height: 1.18 !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
        text-wrap: balance;
        flex-wrap: wrap !important;
    }
}

@media (max-width: 420px) {
    body .page-container h1.page-title,
    body .page-container.resultados-seo h1.page-title {
        font-size: 17px !important;
        letter-spacing: 0.35px !important;
    }
}

@media (max-width: 360px) {
    body .page-container h1.page-title,
    body .page-container.resultados-seo h1.page-title {
        font-size: 16px !important;
        letter-spacing: 0.25px !important;
    }
}


/* ==========================================================================
   FIX FINAL · TABLAS RESPONSIVE EN BLOGS Y CALENDARIOS
   Evita que las tablas se corten en móvil.
   Añadido al final para no alterar el HTML ni afectar a iframes.
   ========================================================================== */

body .page-container .responsive-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 25px 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 8px;
}

body .page-container .responsive-table table {
    max-width: none !important;
}

body .page-container .responsive-table .schedule-table {
    width: 100% !important;
    min-width: 760px !important;
    table-layout: auto !important;
}

body .page-container .responsive-table .maxi-table {
    table-layout: auto !important;
}

body .page-container .responsive-table .schedule-table th,
body .page-container .responsive-table .schedule-table td {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    vertical-align: top !important;
}

body .page-container .responsive-table .schedule-table th:nth-child(1),
body .page-container .responsive-table .schedule-table td:nth-child(1) {
    width: auto !important;
}

body .page-container .responsive-table .schedule-table th:nth-child(4),
body .page-container .responsive-table .schedule-table td:nth-child(4),
body .page-container .responsive-table .schedule-table th.competiciones,
body .page-container .responsive-table .schedule-table td.competiciones {
    min-width: 300px !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    body .page-container .responsive-table {
        margin: 18px 0 !important;
        padding: 0 0 8px 0 !important;
    }

    body .page-container .responsive-table .schedule-table {
        min-width: 720px !important;
    }

    body .page-container .responsive-table .maxi-table:not(.schedule-table) {
        min-width: 520px;
    }

    body .page-container .responsive-table .maxi-table th,
    body .page-container .responsive-table .maxi-table td,
    body .page-container .responsive-table .schedule-table th,
    body .page-container .responsive-table .schedule-table td {
        padding: 9px 8px !important;
        font-size: 0.84rem !important;
        line-height: 1.35 !important;
    }

    body .page-container .responsive-table .schedule-table th:nth-child(4),
    body .page-container .responsive-table .schedule-table td:nth-child(4),
    body .page-container .responsive-table .schedule-table th.competiciones,
    body .page-container .responsive-table .schedule-table td.competiciones {
        min-width: 280px !important;
    }
}

@media (max-width: 420px) {
    body .page-container .responsive-table .schedule-table {
        min-width: 680px !important;
    }

    body .page-container .responsive-table .maxi-table:not(.schedule-table) {
        min-width: 480px;
    }

    body .page-container .responsive-table .maxi-table th,
    body .page-container .responsive-table .maxi-table td,
    body .page-container .responsive-table .schedule-table th,
    body .page-container .responsive-table .schedule-table td {
        padding: 8px 7px !important;
        font-size: 0.8rem !important;
    }
}

/* ==========================================================================
   FIX · HERO QUINIELA / QUINIGOL · BOTONES COMPACTOS RESPONSIVE
   Corrige los botones del bloque comercial inicial para que en móvil no
   aparezcan como bloques rojos enormes apilados.
   Uso HTML recomendado:
   <div class="button-stack landing-hero-actions">
      <a class="button primary" ...>...</a>
      <a class="button secondary" ...>...</a>
   </div>
   ========================================================================== */

body .page-container .landing-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    max-width: 980px;
    margin: 24px auto 0 auto;
    padding: 0;
    text-align: center;
}

body .page-container .landing-hero-actions .button {
    flex: 1 1 210px;
    max-width: 260px;
    min-height: 48px;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 1rem;
    line-height: 1.15;
    white-space: normal;
    text-decoration: none !important;
}

body .page-container .landing-hero-actions .button.secondary,
body .page-container .landing-hero-actions .button.secondary:link,
body .page-container .landing-hero-actions .button.secondary:visited {
    background: #ffffff;
    color: var(--tema-primario) !important;
    border: 2px solid var(--tema-primario);
}

body .page-container .landing-hero-actions .button.secondary:hover {
    background: var(--tema-primario);
    color: #ffffff !important;
    border-color: var(--tema-primario);
}

body .page-container .landing-hero-actions .button.secondary .material-icons-outlined {
    color: inherit;
}

@media (max-width: 767px) {
    body .page-container .landing-hero-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        max-width: 100%;
        margin: 20px auto 0 auto;
        padding: 0 15px;
    }

    body .page-container .landing-hero-actions .button {
        width: 100% !important;
        max-width: none !important;
        min-height: 46px;
        padding: 10px 8px !important;
        border-radius: 12px;
        font-size: 0.95rem !important;
        line-height: 1.12 !important;
        letter-spacing: 0;
        white-space: normal !important;
    }
}

@media (max-width: 380px) {
    body .page-container .landing-hero-actions {
        gap: 8px;
        padding-left: 12px;
        padding-right: 12px;
    }

    body .page-container .landing-hero-actions .button {
        min-height: 44px;
        padding: 9px 6px !important;
        font-size: 0.88rem !important;
    }
}

/* ==========================================================================
   PASO 2 · LANDING QUINIELA · HERO IMAGEN + ELECCIÓN GUIADA
   Añadido al final para no tocar ni sustituir ninguna regla existente.
   Solo afecta a bloques que usen estas clases:
   .landing-hero-image, .landing-choice-card, .landing-choice-grid,
   .landing-decision-box
   ========================================================================== */

body .page-container .landing-hero-image {
    margin: 22px auto 10px auto;
    max-width: 640px;
}

body .page-container .landing-hero-image img {
    width: 100%;
    max-width: 640px;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

body .page-container .landing-choice-card {
    border-top: 4px solid var(--tema-primario);
}

body .page-container .landing-choice-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

body .page-container .landing-decision-box {
    margin-top: 24px;
    margin-bottom: 0;
}

body .page-container .landing-decision-box .content h3 {
    display: block;
}

@media (max-width: 767px) {
    body .page-container .landing-hero-image {
        margin: 18px 0 8px 0;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .landing-hero-image img {
        border-radius: 12px;
        box-shadow: 0 8px 22px rgba(0,0,0,0.10);
    }

    body .page-container .landing-choice-grid {
        grid-template-columns: 1fr;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .landing-choice-grid .modality-card h3,
    body .page-container .landing-choice-grid .modality-card p {
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .landing-decision-box {
        margin-left: 15px;
        margin-right: 15px;
    }

    body .page-container .landing-decision-box .content p,
    body .page-container .landing-decision-box .content h3 {
        padding-left: 0;
        padding-right: 0;
    }
}


/* ==========================================================================
   FIX FINAL · H1 SIN PALABRAS CORTADAS
   Evita cortes dentro de palabras en títulos largos. Las palabras pasan
   completas a la línea siguiente cuando no caben.
   ========================================================================== */

body .page-container h1.page-title,
body .page-container.resultados-seo h1.page-title {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}
/* ==========================================================================
   QUINIELA · RESUMEN SEO AUTOMÁTICO DE LA JORNADA
   Añadir al final de landing-maxi.css
   ========================================================================== */

body .page-container .seo-quiniela-auto-card {
    border-top: 4px solid var(--tema-primario);
}

body .page-container .seo-quiniela-auto-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 16px;
}

body .page-container .seo-quiniela-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 8px 0;
    padding: 0;
    color: var(--tema-primario);
    font-size: .95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}

body .page-container .seo-quiniela-kicker .material-icons-outlined {
    font-size: 1.2rem;
}

body .page-container .seo-quiniela-auto-card h2 {
    margin-bottom: 0;
}

body .page-container .seo-quiniela-risk {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 800;
    font-size: .92rem;
    color: var(--light-blue-text);
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    white-space: nowrap;
}

body .page-container .seo-quiniela-risk.is-high {
    color: #981314;
    background: rgba(152, 19, 20, .08);
    border-color: rgba(152, 19, 20, .22);
}

body .page-container .seo-quiniela-risk.is-medium {
    color: #9a5a00;
    background: #fff7e8;
    border-color: #f0d39a;
}

body .page-container .seo-quiniela-risk.is-low {
    color: #0d7a4a;
    background: #ecfdf5;
    border-color: #bdebd2;
}

body .page-container .seo-quiniela-meta-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px 0;
}

body .page-container .seo-quiniela-meta-grid span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 11px;
    border-radius: 999px;
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    color: #40516b;
    font-size: .95rem;
    line-height: 1.1;
}

body .page-container .seo-quiniela-meta-grid strong {
    color: var(--light-blue-text);
}

body .page-container .seo-quiniela-lists {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0 6px 0;
}

body .page-container .seo-quiniela-list-box {
    padding: 18px;
    border-radius: 12px;
    background: #fbfcfe;
    border: 1px solid var(--border-color);
}

body .page-container .seo-quiniela-list-box.is-warning {
    background: rgba(152, 19, 20, .035);
    border-color: rgba(152, 19, 20, .16);
}

body .page-container .seo-quiniela-list-box h3 {
    margin: 0 0 12px 0;
    color: var(--light-blue-text);
    font-size: 1.12rem;
}

body .page-container .seo-quiniela-list-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body .page-container .seo-quiniela-list-box li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px dashed #d9e0ea;
    font-size: 1rem;
}

body .page-container .seo-quiniela-list-box li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

body .page-container .seo-quiniela-list-box li strong {
    color: var(--light-blue-text);
}

body .page-container .seo-quiniela-list-box li span {
    flex: 0 0 auto;
    color: var(--tema-primario);
    font-weight: 800;
    white-space: nowrap;
}

body .page-container .seo-quiniela-cta-box {
    margin-top: 22px;
}

body .page-container .seo-quiniela-cta-box .content h3,
body .page-container .seo-quiniela-cta-box .content p {
    padding-left: 0;
    padding-right: 0;
}

body .page-container .seo-quiniela-actions {
    max-width: 900px;
    justify-content: flex-start;
    margin-left: 0;
}

body .page-container .seo-quiniela-note {
    margin: 16px 0 0 0;
    color: #69778d;
    font-size: .98rem;
    text-align: center;
}

@media (max-width: 767px) {
    body .page-container .seo-quiniela-auto-head {
        flex-direction: column;
        gap: 10px;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .seo-quiniela-kicker {
        font-size: .82rem;
        line-height: 1.2;
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .seo-quiniela-risk {
        align-self: flex-start;
        font-size: .88rem;
    }

    body .page-container .seo-quiniela-meta-grid {
        padding-left: 15px;
        padding-right: 15px;
        gap: 8px;
    }

    body .page-container .seo-quiniela-meta-grid span {
        font-size: .86rem;
        padding: 7px 9px;
    }

    body .page-container .seo-quiniela-lists {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .seo-quiniela-list-box {
        padding: 15px;
    }

    body .page-container .seo-quiniela-list-box h3,
    body .page-container .seo-quiniela-list-box li {
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .seo-quiniela-list-box li {
        display: block;
        font-size: .96rem;
    }

    body .page-container .seo-quiniela-list-box li span {
        display: block;
        margin-top: 4px;
    }

    body .page-container .seo-quiniela-cta-box {
        margin-left: 15px;
        margin-right: 15px;
    }

    body .page-container .seo-quiniela-actions {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .seo-quiniela-note {
        padding-left: 15px;
        padding-right: 15px;
        font-size: .9rem;
        text-align: left;
    }
}

/* ==========================================================================
   QUINIELA · RESUMEN SEO AUTOMÁTICO ÚTIL
   Añadir al final de landing-maxi.css si usas quiniela-seo-resumen-util.php.
   Sustituye al antiguo bloque compacto y añade lectura útil para el apostante.
   ========================================================================== */

body .page-container .seo-quiniela-useful-card {
    padding-top: 20px;
    padding-bottom: 20px;
}

body .page-container .seo-quiniela-useful-head {
    margin-bottom: 12px;
}

body .page-container .seo-quiniela-useful-meta {
    margin-bottom: 14px;
}

body .page-container .seo-quiniela-opening {
    margin-bottom: 14px;
}

body .page-container .seo-quiniela-useful-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0 16px 0;
}

body .page-container .seo-quiniela-useful-box {
    padding: 15px 16px;
    border-radius: 12px;
    background: #fbfcfe;
    border: 1px solid var(--border-color);
}

body .page-container .seo-quiniela-useful-box.is-fixed {
    border-left: 4px solid #0d7a4a;
}

body .page-container .seo-quiniela-useful-box.is-trap {
    border-left: 4px solid var(--tema-primario);
    background: rgba(152, 19, 20, .025);
}

body .page-container .seo-quiniela-useful-box h3 {
    margin: 0 0 10px 0;
    padding: 0;
    color: var(--light-blue-text);
    font-size: 1.05rem;
    border: 0;
}

body .page-container .seo-quiniela-useful-box p {
    margin: 0;
    padding: 0;
    font-size: .98rem;
}

body .page-container .seo-quiniela-chip-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body .page-container .seo-quiniela-chip {
    display: block;
    padding: 8px 10px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px dashed #d9e0ea;
    color: #40516b;
    font-size: .96rem;
    line-height: 1.25;
}

body .page-container .seo-quiniela-chip strong {
    color: var(--light-blue-text);
}

body .page-container .seo-quiniela-useful-advice {
    margin: 10px 0 16px 0;
    padding: 15px 16px;
    border-radius: 12px;
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
}

body .page-container .seo-quiniela-useful-advice h3 {
    margin: 0 0 6px 0;
    padding: 0;
    color: var(--light-blue-text);
    font-size: 1.05rem;
    border: 0;
}

body .page-container .seo-quiniela-useful-advice p {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.5;
}

body .page-container .seo-quiniela-useful-actions {
    margin-top: 12px;
}

body .page-container .seo-quiniela-useful-card .seo-quiniela-note {
    margin-top: 12px;
}

@media (max-width: 767px) {
    body .page-container .seo-quiniela-useful-card {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    body .page-container .seo-quiniela-opening {
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .seo-quiniela-useful-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .seo-quiniela-useful-box h3,
    body .page-container .seo-quiniela-useful-box p,
    body .page-container .seo-quiniela-chip {
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .seo-quiniela-chip {
        padding: 8px 10px;
    }

    body .page-container .seo-quiniela-useful-advice {
        margin-left: 15px;
        margin-right: 15px;
    }

    body .page-container .seo-quiniela-useful-advice h3,
    body .page-container .seo-quiniela-useful-advice p {
        padding-left: 0;
        padding-right: 0;
    }
}

/* ==========================================================================
   CALENDARIOS FUTBOLEROS · TABLA RESPONSIVE SIN SCROLL HORIZONTAL
   Convierte las tablas de calendario en tarjetas legibles en móvil.
   Uso recomendado:
   <div class="calendar-table-wrap">
      <table class="maxi-table calendar-smart-table">...</table>
   </div>
   ========================================================================== */

.is-quiniela { --calendar-accent-rgb: 152, 19, 20; }
.is-quinigol { --calendar-accent-rgb: 69, 187, 207; }

body .page-container .calendar-intro-card {
    border-top: 4px solid var(--tema-primario);
}

body .page-container .calendar-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
    color: var(--tema-primario);
    font-size: .95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

body .page-container .calendar-kicker .material-icons-outlined {
    font-size: 1.25rem;
}

body .page-container .calendar-football-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
    margin: 22px 0 4px 0;
}

body .page-container .calendar-football-card {
    padding: 18px;
    border-radius: 12px;
    background: var(--light-gray-bg);
    border: 1px solid var(--border-color);
    border-top: 3px solid var(--tema-primario);
}

body .page-container .calendar-football-card h3 {
    margin: 0 0 8px 0;
    color: var(--light-blue-text);
    font-size: 1.08rem;
}

body .page-container .calendar-football-card p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

body .page-container .calendar-table-wrap {
    width: 100%;
    margin: 24px 0 18px 0;
    overflow: visible !important;
}

body .page-container .calendar-smart-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

body .page-container .calendar-smart-table th,
body .page-container .calendar-smart-table td {
    vertical-align: middle;
}

body .page-container .calendar-smart-table .text-left {
    text-align: left;
}

body .page-container .calendar-smart-table .calendar-col-round { width: 9%; }
body .page-container .calendar-smart-table .calendar-col-date { width: 13%; }
body .page-container .calendar-smart-table .calendar-col-day { width: 13%; }
body .page-container .calendar-smart-table .calendar-col-code { width: 13%; }
body .page-container .calendar-smart-table .calendar-col-competition { width: 40%; }
body .page-container .calendar-smart-table .calendar-col-week { width: 12%; }

body .page-container .calendar-smart-table .calendar-stage {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--light-blue-text);
    background: #fff;
    border: 1px solid rgba(26, 59, 92, .16);
    font-weight: 700;
    font-size: .92rem;
    line-height: 1.15;
}

body .page-container .calendar-smart-table .calendar-stage.is-worldcup {
    color: #981314;
    background: rgba(152, 19, 20, .075);
    border-color: rgba(152, 19, 20, .18);
}

body .page-container .calendar-smart-table .calendar-stage.is-nordic {
    color: #0d7a4a;
    background: #ecfdf5;
    border-color: #bdebd2;
}

body .page-container .calendar-smart-table .calendar-stage.is-mixed {
    color: #9a5a00;
    background: #fff7e8;
    border-color: #f0d39a;
}

body .page-container .calendar-mobile-label {
    display: none;
}

body .page-container .calendar-cta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

body .page-container .calendar-cta-grid .modality-card {
    height: 100%;
}

body .page-container .calendar-final-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

body .page-container .calendar-final-actions .button.secondary {
    background: #ffffff;
    color: var(--tema-primario) !important;
    border: 2px solid var(--tema-primario);
}

body .page-container .calendar-final-actions .button.secondary:hover {
    background: var(--tema-primario);
    color: #ffffff !important;
}

@media (max-width: 767px) {
    body .page-container .calendar-kicker {
        padding-left: 15px;
        padding-right: 15px;
        font-size: .82rem;
        line-height: 1.2;
    }

    body .page-container .calendar-football-grid,
    body .page-container .calendar-cta-grid {
        grid-template-columns: 1fr;
        padding-left: 15px;
        padding-right: 15px;
    }

    body .page-container .calendar-football-card h3,
    body .page-container .calendar-football-card p,
    body .page-container .calendar-cta-grid .modality-card h3,
    body .page-container .calendar-cta-grid .modality-card p {
        padding-left: 0;
        padding-right: 0;
    }

    body .page-container .calendar-table-wrap {
        margin: 18px 0 18px 0 !important;
        padding: 0 15px !important;
        overflow: visible !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table,
    body .page-container .calendar-table-wrap .calendar-smart-table thead,
    body .page-container .calendar-table-wrap .calendar-smart-table tbody,
    body .page-container .calendar-table-wrap .calendar-smart-table tr,
    body .page-container .calendar-table-wrap .calendar-smart-table th,
    body .page-container .calendar-table-wrap .calendar-smart-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table thead {
        display: none !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table tr {
        margin: 0 0 12px 0 !important;
        padding: 13px 14px !important;
        border: 1px solid var(--border-color) !important;
        border-left: 4px solid var(--tema-primario) !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-shadow: 0 6px 18px rgba(15, 23, 42, .06) !important;
        overflow: hidden !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td {
        position: relative !important;
        min-height: 32px !important;
        padding: 7px 0 7px 42% !important;
        border: 0 !important;
        border-bottom: 1px dashed #dde4ee !important;
        text-align: left !important;
        font-size: .94rem !important;
        line-height: 1.35 !important;
        color: #333 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        top: 7px;
        width: 37%;
        color: var(--light-blue-text);
        font-size: .76rem;
        font-weight: 800;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: .02em;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td.calendar-round-cell {
        padding: 0 0 10px 0 !important;
        margin-bottom: 8px !important;
        color: var(--tema-primario) !important;
        font-size: 1.18rem !important;
        font-weight: 900 !important;
        border-bottom: 1px solid rgba(var(--calendar-accent-rgb, 152, 19, 20), .22) !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td.calendar-round-cell::before {
        display: none !important;
        content: '' !important;
    }

    body .page-container .calendar-mobile-label {
        display: inline;
    }

    body .page-container .calendar-smart-table .calendar-stage {
        justify-content: flex-start;
        width: 100%;
        white-space: normal;
        text-align: left;
    }

    body .page-container .calendar-final-actions {
        padding-left: 15px;
        padding-right: 15px;
        flex-direction: column;
    }

    body .page-container .calendar-final-actions .button {
        width: 100%;
        max-width: 350px;
    }
}

@media (max-width: 380px) {
    body .page-container .calendar-table-wrap .calendar-smart-table td {
        padding-left: 0 !important;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td::before {
        position: static;
        display: block;
        width: auto;
        margin-bottom: 3px;
    }

    body .page-container .calendar-table-wrap .calendar-smart-table td.calendar-round-cell::before {
        display: none !important;
    }
}


/* Ajuste opcional para tablas de fases con 3 columnas */
body .page-container .calendar-worldcup-table th:nth-child(1),
body .page-container .calendar-worldcup-table td:nth-child(1) {
    width: 24%;
}

body .page-container .calendar-worldcup-table th:nth-child(2),
body .page-container .calendar-worldcup-table td:nth-child(2) {
    width: 24%;
}

body .page-container .calendar-worldcup-table th:nth-child(3),
body .page-container .calendar-worldcup-table td:nth-child(3) {
    width: 52%;
}


/* ==========================================================================
   QUINIGOL · RUTAS DE JUEGO EN LANDING PRINCIPAL
   Solución robusta para gestores que cierran automáticamente enlaces <a>
   cuando contienen h3/p. Cada tarjeta es un DIV y el enlace va dentro como CTA.
   Así evitamos que el título y el texto salgan fuera de la caja.
   ========================================================================== */

body .page-container.is-quinigol .qg-route-choice-card {
    border-top: 4px solid var(--tema-primario);
    overflow: visible;
}

body .page-container.is-quinigol .qg-route-choice-card .qg-route-intro,
body .page-container.is-quinigol .qg-route-choice-card .qg-play-intro {
    max-width: 1120px;
    margin: 0 0 22px 0;
    padding: 0;
}

body .page-container.is-quinigol .qg-route-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 20px 0 0 0;
    padding: 0;
    align-items: stretch;
}

body .page-container.is-quinigol .qg-route-card {
    min-width: 0;
    min-height: 235px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 18px 16px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

body .page-container.is-quinigol .qg-route-card:hover {
    transform: translateY(-3px);
    border-color: var(--tema-primario);
    box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}

body .page-container.is-quinigol .qg-route-card.is-main,
body .page-container.is-quinigol .qg-route-card.is-stats {
    background: linear-gradient(180deg, rgba(69,187,207,0.11), #ffffff 64%);
}

body .page-container.is-quinigol .qg-route-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 14px 0;
}

body .page-container.is-quinigol .qg-route-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(69,187,207,0.13);
    color: var(--tema-primario);
    font-size: 1.65rem;
    line-height: 1;
}

body .page-container.is-quinigol .qg-route-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--light-gray-bg);
    color: #4b5d73;
    font-size: .74rem;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

body .page-container.is-quinigol .qg-route-card h3 {
    display: block !important;
    margin: 0 0 9px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--light-blue-text) !important;
    font-size: 1.06rem !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

body .page-container.is-quinigol .qg-route-card p {
    display: block !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    color: #526173 !important;
    font-size: .94rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
    flex: 1 1 auto;
}

body .page-container.is-quinigol .qg-route-link,
body .page-container.is-quinigol .qg-route-link:link,
body .page-container.is-quinigol .qg-route-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    margin-top: auto;
    padding: 9px 12px;
    border-radius: 9px;
    border: 2px solid var(--tema-primario);
    background: #ffffff;
    color: var(--tema-primario) !important;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

body .page-container.is-quinigol .qg-route-link:hover {
    background: var(--tema-primario);
    color: #ffffff !important;
    border-color: var(--tema-primario);
    transform: translateY(-1px);
}

@media (max-width: 1280px) {
    body .page-container.is-quinigol .qg-route-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body .page-container.is-quinigol .qg-route-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .page-container.is-quinigol .qg-route-card.is-stats {
        grid-column: 1 / -1;
        min-height: 190px;
    }
}

@media (max-width: 767px) {
    body .page-container.is-quinigol .qg-route-choice-card .qg-route-intro,
    body .page-container.is-quinigol .qg-route-choice-card .qg-play-intro {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-bottom: 14px;
    }

    body .page-container.is-quinigol .qg-route-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 14px;
    }

    body .page-container.is-quinigol .qg-route-card,
    body .page-container.is-quinigol .qg-route-card.is-stats {
        grid-column: auto;
        min-height: auto;
        padding: 15px 14px;
        border-radius: 12px;
    }

    body .page-container.is-quinigol .qg-route-head {
        margin-bottom: 10px;
    }

    body .page-container.is-quinigol .qg-route-icon {
        width: 38px;
        height: 38px;
        font-size: 1.46rem;
    }

    body .page-container.is-quinigol .qg-route-tag {
        padding: 5px 9px;
        font-size: .68rem;
    }

    body .page-container.is-quinigol .qg-route-card h3 {
        font-size: 1.02rem !important;
        line-height: 1.18 !important;
    }

    body .page-container.is-quinigol .qg-route-card p {
        font-size: .92rem !important;
        line-height: 1.38 !important;
        margin-bottom: 12px !important;
    }

    body .page-container.is-quinigol .qg-route-link {
        min-height: 40px;
        font-size: .9rem;
    }
}

@media (max-width: 380px) {
    body .page-container.is-quinigol .qg-route-grid {
        padding-left: 12px;
        padding-right: 12px;
        gap: 10px;
    }

    body .page-container.is-quinigol .qg-route-card {
        padding: 14px 12px;
    }

    body .page-container.is-quinigol .qg-route-card h3 {
        font-size: .98rem !important;
    }

    body .page-container.is-quinigol .qg-route-card p {
        font-size: .88rem !important;
    }
}

/* ==========================================================================
   TABLAS DE BLOG · SIN SCROLL HORIZONTAL EN MÓVIL
   Dos modos:
   - .mobile-fit-table mantiene formato tabla ajustado al ancho.
   - .mobile-card-table convierte la tabla en tarjetas verticales.
   No afecta a calendarios ni tablas antiguas si no usan estas clases.
   ========================================================================== */


/* MODO 1 · Tabla ajustada al ancho del móvil */
@media (max-width: 767px) {
    body .page-container .responsive-table.mobile-fit-table {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px 8px 15px !important;
        margin: 18px 0 !important;
        box-sizing: border-box !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table,
    body .page-container .responsive-table.mobile-fit-table .maxi-table:not(.schedule-table) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table th,
    body .page-container .responsive-table.mobile-fit-table .maxi-table td {
        padding: 8px 5px !important;
        font-size: 0.78rem !important;
        line-height: 1.28 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto !important;
        vertical-align: top !important;
        text-align: center !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table th {
        font-size: 0.72rem !important;
        line-height: 1.15 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        padding: 8px 4px !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table td strong,
    body .page-container .responsive-table.mobile-fit-table .maxi-table td a {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

@media (max-width: 420px) {
    body .page-container .responsive-table.mobile-fit-table {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table th,
    body .page-container .responsive-table.mobile-fit-table .maxi-table td {
        padding: 7px 4px !important;
        font-size: 0.74rem !important;
        line-height: 1.22 !important;
    }

    body .page-container .responsive-table.mobile-fit-table .maxi-table th {
        font-size: 0.68rem !important;
    }
}


/* MODO 2 · Tabla convertida en tarjetas verticales */
@media (max-width: 767px) {
    body .page-container .responsive-table.mobile-card-table {
        overflow-x: visible !important;
        overflow-y: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        margin: 18px 0 !important;
        box-sizing: border-box !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table,
    body .page-container .responsive-table.mobile-card-table .maxi-table:not(.schedule-table),
    body .page-container .responsive-table.mobile-card-table .maxi-table thead,
    body .page-container .responsive-table.mobile-card-table .maxi-table tbody,
    body .page-container .responsive-table.mobile-card-table .maxi-table tr,
    body .page-container .responsive-table.mobile-card-table .maxi-table th,
    body .page-container .responsive-table.mobile-card-table .maxi-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        table-layout: auto !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table thead {
        display: none !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table tr {
        margin: 0 0 14px 0 !important;
        padding: 14px 14px 12px 14px !important;
        border: 1px solid var(--border-color) !important;
        border-left: 4px solid var(--tema-primario) !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-shadow: 0 6px 18px rgba(15, 23, 42, .06) !important;
        overflow: hidden !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td {
        position: relative !important;
        min-height: 32px !important;
        padding: 8px 0 8px 42% !important;
        border: 0 !important;
        border-bottom: 1px dashed #dde4ee !important;
        text-align: left !important;
        font-size: .94rem !important;
        line-height: 1.35 !important;
        color: #333 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        top: 8px;
        width: 36%;
        color: var(--light-blue-text);
        font-size: .75rem;
        font-weight: 800;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: .02em;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td:first-child {
        padding: 0 0 10px 0 !important;
        margin-bottom: 8px !important;
        color: var(--tema-primario) !important;
        font-size: 1.08rem !important;
        font-weight: 900 !important;
        border-bottom: 1px solid rgba(26, 59, 92, .14) !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td:first-child::before {
        display: none !important;
        content: "" !important;
    }
}

@media (max-width: 380px) {
    body .page-container .responsive-table.mobile-card-table .maxi-table td {
        padding-left: 0 !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td::before {
        position: static !important;
        display: block !important;
        width: auto !important;
        margin-bottom: 3px !important;
    }

    body .page-container .responsive-table.mobile-card-table .maxi-table td:first-child::before {
        display: none !important;
    }
}
/* ==========================================================================
   TARJETAS DE MODALIDADES · BOTONES INTERNOS
   Evita que los gestores rompan tarjetas con enlaces envolviendo h3/p.
   ========================================================================== */

body .page-container .modality-card.modality-card-filtro .button {
    width: 100%;
    margin-top: auto;
    padding: 11px 14px;
    font-size: .95rem;
    line-height: 1.15;
    white-space: normal;
    text-decoration: none !important;
}

body .page-container .modality-card.modality-card-filtro .button.secondary,
body .page-container .modality-card.modality-card-filtro .button.secondary:link,
body .page-container .modality-card.modality-card-filtro .button.secondary:visited {
    background: #ffffff;
    color: var(--tema-primario) !important;
    border: 2px solid var(--tema-primario);
}

body .page-container .modality-card.modality-card-filtro .button.secondary:hover {
    background: var(--tema-primario);
    color: #ffffff !important;
    border-color: var(--tema-primario);
}

@media (max-width: 767px) {
    body .page-container .modality-card.modality-card-filtro .button {
        max-width: 100%;
        font-size: .95rem !important;
    }
}