/* ==========================================================================
   PALETA DE COLORES (REFINADA AL ESTILO PORTAL GAMING)
   #2B2D42 - Azul Oscuro / Fondo Principal Elementos Contenedores
   #8D99AE - Gris Azulado Claro / Textos Secundarios y Bordes
   #EDF2F4 - Blanco Azulado / Fondo General y Textos Claros
   #EF233C - Rojo Intenso / Color de Acento, Enlaces, Destacados
   #1A1A24 - Gris Ultra Oscuro / Fondo de página para secciones oscuras
   ========================================================================== */

/* Ajustes Globales y Reseteo */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Open Sans', sans-serif;
    background-color: #EDF2F4;
    color: #2B2D42;
    line-height: 1.6;
}

h1, h2, h3, h4 {
    color: #2B2D42;
    font-weight: 700;
}

h1 {
    font-size: 2.2rem;
    line-height: 1.2;
}

h2 {
    font-size: 1.8rem;
}

a {
    color: #EF233C;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #b71c1c;
}

ul {
    list-style: none;
}

/* Envoltura de Contenido */
.content-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Componentes Comunes (Badges y Botones) */
.badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 3px;
    color: #FFF;
    margin-bottom: 10px;
}

.badge-review { background-color: #EF233C; }
.badge-news { background-color: #8F2D53; }
.badge-rumor { background-color: #e67e22; }
.badge-article { background-color: #9b59b6; }
.badge-update { background-color: #2ecc71; }
.badge-hardware { background-color: #34495e; }

/* BARRA DE NAVEGACIÓN (STICKY NAV) */
.main-nav {
    background-color: #2B2D42;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-bottom: 3px solid #EF233C;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    height: 65px;
}

.logo-container {
    display: flex;
    align-items: center;
}

.nav-links {
    display: flex;
}

.nav-links li a {
    color: #8D99AE;
    padding: 20px 15px;
    display: block;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
}

.nav-links li a:hover,
.nav-links li a.active {
    color: #EDF2F4;
    background-color: rgba(239, 35, 60, 0.1);
    border-bottom: 2px solid #EF233C;
}

.nav-actions a {
    color: #EDF2F4;
    font-size: 18px;
}

.menu-toggle {
    display: none;
    color: #EDF2F4;
    font-size: 24px;
    cursor: pointer;
}

/* PORTADA HERO SECTION (GRID) */
.hero-section {
    margin-top: 65px;
    background-color: #1A1A24;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.hero-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

.main-featured {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

.placeholder-img {
    background-size: cover;
    background-position: center;
    height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
}

.featured-text h1 {
    color: #EDF2F4;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

.featured-text p {
    color: #EDF2F4;
    font-size: 15px;
    opacity: 0.9;
    margin-bottom: 15px;
    max-width: 800px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}

.meta-info {
    font-size: 12px;
    color: #8D99AE;
    display: flex;
    align-items: center;
    gap: 10px;
}

.score-pill {
    padding: 2px 8px;
    font-weight: 700;
    border-radius: 4px;
    color: #FFF;
}
.score-high { background-color: #2ecc71; }

/* TENDENCIAS LATERALES */
.side-trending {
    background-color: #2B2D42;
    padding: 25px;
    border-radius: 8px;
    color: #EDF2F4;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.section-title-sm {
    color: #EDF2F4;
    font-size: 1.2rem;
    border-left: 4px solid #EF233C;
    padding-left: 10px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.trending-item {
    display: flex;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(141, 153, 174, 0.2);
}

.trending-item:last-child {
    border-bottom: none;
}

.trending-number {
    font-family: 'Caveat', cursive;
    font-size: 2.5rem;
    color: #EF233C;
    line-height: 1;
    font-weight: 700;
}

.trending-content h3 {
    font-size: 14px;
    font-weight: 600;
}

.trending-content h3 a {
    color: #EDF2F4;
}

.trending-content h3 a:hover {
    color: #EF233C;
}

/* SECCIONES: HEADERS DE SECCIÓN */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid rgba(43, 45, 66, 0.1);
    margin-bottom: 25px;
    padding-bottom: 10px;
}

.main-section-title {
    font-size: 1.6rem;
    position: relative;
    padding-bottom: 10px;
}

.main-section-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: #EF233C;
}

.view-all {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

/* GRID DE NOTICIAS RECIENTES */
.section-news {
    background-color: #EDF2F4;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.news-card {
    background-color: #FFF;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px rgba(0,0,0,0.1);
}

.news-card .card-img {
    height: 180px;
    background-size: cover;
    background-position: center;
}

.card-body {
    padding: 20px;
}

.card-body h3 {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.card-body h3 a {
    color: #2B2D42;
}

.card-body h3 a:hover {
    color: #EF233C;
}

.card-body p {
    font-size: 13px;
    color: #555;
    margin-bottom: 15px;
}

.card-date {
    font-size: 11px;
    color: #8D99AE;
    display: block;
}

/* SECCIÓN DE ANALISIS (REVIEWS CON NOTAS EN FILA) */
.section-reviews {
    background-color: #FFF;
}

.reviews-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.review-row-card {
    display: flex;
    background-color: #EDF2F4;
    border-radius: 6px;
    overflow: hidden;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.03);
}

.review-img {
    width: 200px;
    height: 130px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    background-size: cover; /* Hace que la imagen cubra todo el espacio sin deformarse */
    background-position: center top; /* Centra la imagen priorizando la parte superior (ideal para portadas) */
    background-repeat: no-repeat; /* Evita que la imagen se duplique si es pequeña */
}

.review-info {
    padding: 20px 25px;
    flex-grow: 1;
    flex: 1; 
    min-width: 0; 
    overflow: hidden; /* Esto ayuda a contener el texto */
}

.platform-tag {
    display: inline-block;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 700;
    color: #FFF;
    border-radius: 3px;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.platform-tag.nintendo { background-color: #E60012; }
.platform-tag.playstation { background-color: #003087; }
.platform-tag.xbox { background-color: #107C10; }

.review-info h3 {
    font-size: 18px;
    margin-bottom: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0; /* Limpia márgenes extra que puedan empujar el diseño */
}

.review-info p {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0; /* Limpia márgenes extra que puedan empujar el diseño */
}

.review-score-box {
    width: 120px;
    height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #FFF;
    flex-shrink: 0;
    text-align: center;
}

.review-score-box .score-number {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
}

.review-score-box .score-label {
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 5px;
}

/* Colores de Cajas de Nota */
.masterwork { background-color: #fca311; }
.excellent { background-color: #2ecc71; }
.good { background-color: #2980b9; }
.acceptable { background-color: #9b59b6; }
.bad { background-color: #EF233C; }

/* SECCIÓN DE VIDEOS (OSCURA) */
.section-videos {
    background-color: #1A1A24;
}
.text-light { color: #EDF2F4 !important; }
.section-videos .main-section-title::after { background-color: #EF233C; }

.videos-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.video-card {
    background-color: #2B2D42;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.video-thumb {
    height: 250px;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.play-btn {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.85);
    transition: transform 0.3s ease, color 0.3s ease;
}

.video-card:hover .play-btn {
    transform: scale(1.1);
    color: #EF233C;
}

.video-meta {
    padding: 15px 20px;
}

.video-meta h4 {
    color: #EDF2F4;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 5px;
}

.video-duration {
    font-size: 12px;
    color: #8D99AE;
}

/* SECCIÓN MÁS INFO / COMUNIDAD (FORMULARIO) */
.section-info {
    background: linear-gradient(rgba(43, 45, 110, 0.9), rgba(43, 45, 66, 0.95)), url('https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=1200&q=80') no-repeat center center;
    background-size: cover;
    color: #EDF2F4;
}

.info-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.info-text h2 {
    color: #EDF2F4;
    margin-bottom: 10px;
}

.info-text p {
    color: #8D99AE;
    font-size: 15px;
}

.info-form {
    flex-shrink: 0;
    width: 400px;
}

.info-form form {
    display: flex;
    gap: 10px;
}

.info-form input[type="email"] {
    flex-grow: 1;
    padding: 12px 15px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
}

.btn-submit {
    background-color: #EF233C;
    color: #FFF;
    border: none;
    padding: 12px 20px;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s ease;
}

.btn-submit:hover {
    background-color: #b71c1c;
}

/* PIE DE PÁGINA (FOOTER REFORMADO) */
footer {
    background-color: #2B2D42;
    color: #8D99AE;
    font-size: 14px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    border-bottom: 1px solid rgba(141, 153, 174, 0.1);
    padding-bottom: 30px;
}

.footer-brand {
    max-width: 400px;
}

.footer-brand .logo-text {
    font-family: 'Open Sans', sans-serif;
    color: #EDF2F4;
    font-size: 24px;
    margin-bottom: 10px;
}

.footer-brand .logo-text span {
    color: #EF233C;
}

.footer-brand p {
    font-size: 13px;
    line-height: 1.5;
}

.footer-links-grid {
    display: flex;
    gap: 60px;
}

.footer-links-grid h4 {
    color: #EDF2F4;
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.footer-links-grid ul li {
    margin-bottom: 8px;
}

.footer-links-grid ul li a {
    color: #8D99AE;
    font-size: 13px;
}

.footer-links-grid ul li a:hover {
    color: #EF233C;
}

.footer-bottom {
    background-color: #1A1A24;
    padding: 20px 0;
}

.footer-bottom-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.footer-bottom p {
    font-size: 12px;
}

.contact-socials {
    display: flex;
    gap: 15px;
}

.contact-socials a {
    color: #8D99AE;
    font-size: 18px;
    transition: color 0.3s;
}

.contact-socials a:hover {
    color: #EF233C;
}

/* Diseño Oscuro Premium para el Artículo */
        body { background-color: #1A1A24; }
        .article-container { 
            max-width: 800px; 
            margin: 120px auto 60px; 
            background: #2B2D42; /* Fondo de tarjeta oscuro */
            padding: 50px; 
            border-radius: 12px; 
            box-shadow: 0 15px 40px rgba(0,0,0,0.6);
            border-top: 4px solid #EF233C;
        }
        .article-header h1 { font-size: 2.5rem; margin-bottom: 15px; color: #EDF2F4; line-height: 1.2; }
        .article-meta { color: #8D99AE; font-size: 14px; margin-bottom: 25px; border-bottom: 1px solid rgba(141, 153, 174, 0.2); padding-bottom: 15px; }
        .article-hero-img { width: 100%; height: 450px; object-fit: cover; border-radius: 8px; margin-bottom: 35px; box-shadow: 0 8px 20px rgba(0,0,0,0.4); }
        .article-body p { font-size: 17px; line-height: 1.9; color: #EDF2F4; opacity: 0.9; margin-bottom: 25px; text-align: justify;
        line-height: 1.6; /* Añadir un poco de espacio entre líneas hace que el texto justificado sea más fácil de leer */}
        .article-body h2 { margin: 40px 0 20px; font-size: 1.8rem; color: #EDF2F4; border-left: 4px solid #EF233C; padding-left: 15px; }
        
        /* Botón de volver */
        .btn-back { display: inline-block; color: #8D99AE; margin-bottom: 20px; font-weight: 600; font-size: 14px; transition: color 0.3s; }
        .btn-back:hover { color: #EF233C; }
        .btn-back i { margin-right: 8px; }

/* ==========================================================================
   MEDIA QUERIES (RESPONSIVIDAD TOTAL)
   ========================================================================== */
@media (max-width: 992px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }
    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .videos-grid {
        grid-template-columns: 1fr;
    }
    .info-container {
        flex-direction: column;
        text-align: center;
    }
    .info-form {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }
    .nav-links {
        display: none;
        position: absolute;
        top: 65px;
        left: 0;
        width: 200%;
        background-color: #2B2D42;
        flex-direction: column;
        border-bottom: 2px solid #EF233C;
    }
    .nav-links.active {
        display: flex;
    }
    .nav-links li a {
        padding: 25px 20px;
        border-bottom: 1px solid rgba(141, 153, 174, 0.1);
    }
    .news-grid {
        grid-template-columns: 1fr;
    }
    .review-row-card {
        flex-direction: column;
        text-align: center;
        display: flex;
        align-items: center;
        gap: 15px; /* Separación entre elementos */
        width: 100%;
    }
    .review-img {
        width: 100%;
        height: 180px;
    }
    .review-score-box {
        width: 100%;
        height: 60px;
        flex-direction: row;
        gap: 10px;
    }
    .footer-content {
        flex-direction: column;
        gap: 30px;
    }
    .footer-links-grid {
        justify-content: space-between;
        gap: 20px;
    }
    .footer-bottom-wrap {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
} /* <--- ESTA ES LA LLAVE QUE CIERRA EL MODO MÓVIL. LO NUEVO VA DEBAJO */

/* ==========================================================================
   EFECTOS PROFESIONALES Y ANIMACIONES (VISIBLE EN TODAS LAS PANTALLAS)
   ========================================================================== */

/* 1. Efectos Hover Profesionales para los videos */

.video-card iframe { width: 100%; height: 250px; border: none; display: block; }

/* 1. Efectos Hover para Videos, Noticias y Reviews */
.video-card, .news-card, .review-row-card {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
    border: 1px solid transparent;
}

.video-card:hover, .news-card:hover, .review-row-card:hover {
    transform: translateY(-8px) scale(1.02) !important; /* El !important fuerza a que este efecto gane siempre */
    box-shadow: 0 15px 30px rgba(239, 35, 60, 0.25) !important;
    border-color: rgba(239, 35, 60, 0.5) !important;
    z-index: 10;
}
/*.video-card, .news-card, .review-row-card {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
    border: 1px solid transparent;
} */

/*.video-card:hover, .news-card:hover, .review-row-card:hover{
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 30px rgba(239, 35, 60, 0.25); 
    border-color: rgba(239, 35, 60, 0.5);
    z-index: 10;
} */

/* Efecto hover elegante para las tendencias laterales */
.trending-item {
    transition: transform 0.3s ease, background-color 0.3s ease;
    border-left: 3px solid transparent;
}

.trending-item:hover {
    transform: translateX(8px);
    background-color: rgba(43, 45, 66, 0.5);
    border-left: 3px solid #EF233C;
    border-radius: 0 8px 8px 0;
    padding-left: 10px;
}
/* ==========================================================================
   ANIMACIONES FLUIDAS (CORRECCIÓN DE BLOQUEO HOVER)
   ========================================================================== */

/* Estado inicial oculto (sin bloquear el transform) */
.video-extra, .review-extra {
    display: none;
}

/* Al agregar la clase con JS, establecemos el estado final y lanzamos la animación */
.video-extra.mostrar-animado {
    display: block;
    opacity: 1;
    transform: translateY(0);
    animation: entrarSuave 0.6s ease-out;
}

.review-extra.mostrar-animado {
    display: flex; /* Mantiene el diseño horizontal intacto */
    opacity: 1;
    transform: translateY(0);
    animation: entrarSuave 0.6s ease-out;
}

/* La animación se reproduce de 0% a 100% y luego desaparece, 
   dejando que el CSS normal (y el :hover) retomen el control */
@keyframes entrarSuave {
    0% { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
}
/* 2. Animación fluida para los videos ocultos */
/*.video-extra { 
    display: none; 
    opacity: 0;
    transform: translateY(30px);
}

.video-extra.mostrar-animado {
    display: block;
    animation: fadeInUp 0.6s ease forwards;
}

@keyframes fadeInUp {
    to { opacity: 1; transform: translateY(0); }
} */

/* 3. Animación general para la página al hacer scroll */
.revelar-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.revelar-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Animación fluida específica para los Análisis ocultos (de 5 en 5) */
.review-extra { 
    display: none; 
    opacity: 0;
    transform: translateY(30px);
}

.review-extra.mostrar-animado {
    display: flex; /* Usamos flex en lugar de block para no romper el diseño horizontal */
    animation: fadeInUp 0.6s ease forwards;
}

/* ==========================================================================
   CARRUSEL DE ANÁLISIS (ADAPTADO A LA CUADRÍCULA HERO-GRID)
   ========================================================================== */
.carousel-wrapper {
    position: relative;
    width: 100%;
    height: 480px; /* Misma altura que las tendencias */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    background-color: #1A1A24;
}

.carousel-slide {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease-in-out, visibility 0.8s;
}

.carousel-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* Efecto de Zoom-Out Elegante */
.carousel-slide img {
    width: 100%; height: 100%; object-fit: cover;
    transform: scale(1.1);
    transition: transform 30s ease-out; /* Zoom lento mientras pasan los 30s */
}

.carousel-slide.active img {
    transform: scale(1);
}

.carousel-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(26, 26, 36, 0.95) 0%, rgba(26, 26, 36, 0.5) 65%, transparent 100%);
    z-index: 2;
}

.carousel-content {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    z-index: 3;
    max-width: 80%;
}

.carousel-content h1 {
    color: #EDF2F4;
    font-size: 2.2rem;
    margin: 15px 0;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.8);
    line-height: 1.2;
}

.carousel-content p {
    color: #8D99AE;
    font-size: 15px;
    margin-bottom: 20px;
    text-shadow: 1px 1px 5px rgba(0,0,0,0.9);
}

.score-pill-carousel {
    display: inline-flex; align-items: center; gap: 8px;
    background: #EF233C; color: #EDF2F4;
    padding: 6px 16px; border-radius: 20px;
    font-weight: 700; font-size: 14px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

/* Flechas de Control */
.carousel-btn {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    background: rgba(43, 45, 66, 0.6);
    color: #EDF2F4; border: none;
    width: 40px; height: 40px; border-radius: 50%;
    font-size: 1.2rem; cursor: pointer;
    z-index: 10; transition: all 0.3s ease;
    display: flex; align-items: center; justify-content: center;
}

.carousel-btn:hover { background: #EF233C; transform: translateY(-50%) scale(1.1); }
.carousel-btn.prev { left: 15px; }
.carousel-btn.next { right: 15px; }

/* Puntos de Paginación */
.carousel-dots {
    position: absolute;
    bottom: 20px; left: 50%; transform: translateX(-50%);
    z-index: 10; display: flex; gap: 8px;
}

.dot {
    width: 10px; height: 10px;
    background: rgba(237, 242, 244, 0.4);
    border-radius: 50%; cursor: pointer;
    transition: all 0.3s ease;
}

.dot.active { background: #EF233C; transform: scale(1.3); }

/* Ajustes Responsivos para el Carrusel */
@media (max-width: 992px) {
    .carousel-content h1 { font-size: 1.8rem; }
}

/* ==========================================================================
   ACTUALIZACIONES: NOTICIAS EXTRA, CONSOLAS Y MEDIDOR DE REVIEWS
   ========================================================================== */

/* 1. Noticias Ocultas (Animación de Cascada compartida) */
.news-extra {
    display: none;
}
.news-extra.mostrar-animado {
    display: block;
    opacity: 1;
    transform: translateY(0);
    animation: entrarSuave 0.6s ease-out;
}

/* 2. Secciones de Consolas (Fondos con gradientes de marca) */
.section-platform { padding: 60px 0; color: #EDF2F4; }
.section-platform .main-section-title { color: #EDF2F4; }
.section-platform .main-section-title::after { background-color: #FFF; }

.bg-playstation { background: linear-gradient(135deg, #003087 0%, #00153a 100%); }
.bg-xbox { background: linear-gradient(135deg, #107C10 0%, #063b06 100%); }
.bg-nintendo { background: linear-gradient(135deg, #E60012 0%, #7a0009 100%); }

/* 3. Mejoras al Formulario de Suscripción (Efecto Premium) */
.info-form input[type="email"]:focus {
    outline: none;
    box-shadow: 0 0 15px rgba(239, 35, 60, 0.6);
}
.btn-submit {
    box-shadow: 0 4px 15px rgba(239, 35, 60, 0.4);
}
.btn-submit:hover {
    box-shadow: 0 6px 20px rgba(239, 35, 60, 0.7);
    transform: translateY(-2px);
}

/* 4. Medidor de Puntuación (Para Plantilla de Análisis) */
/* ==========================================================================
   MEDIDOR DE PUNTUACIÓN PROFESIONAL (SEGMENTADO EN 10 CUADROS)
   ========================================================================== */
.rating-container {
    background-color: #1A1A24;
    padding: 40px;
    border-radius: 12px;
    margin-top: 50px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    border-left: 5px solid #EF233C;
    text-align: center;
}
.rating-header { margin-bottom: 20px; color: #EDF2F4; font-size: 1.5rem; }

/* Contenedor principal de la barra */
.meter-outer {
    position: relative;
    width: 100%;
    height: 35px;
    background-color: #0b0c10;
    border-radius: 6px;
    border: 2px solid #2B2D42;
    margin-bottom: 20px;
    overflow: hidden;
}

/* La barra de color que se llena con animación */
.meter-fill {
    height: 100%;
    width: 0%; /* JavaScript se encarga de cambiar este valor */
/*    background: linear-gradient(90deg, #fca311, #EF233C); */
    transition: width 1.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Clases de color dinámicas para el termómetro */
.meter-fill.masterwork { background: #fca311; }
.meter-fill.excellent { background: #2ecc71; }
.meter-fill.good { background: #2980b9; }
.meter-fill.acceptable { background: #9b59b6; }
.meter-fill.bad { background: #EF233C; }

/* La cuadrícula superpuesta que crea la ilusión de "cuadros" */
.meter-grid {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    z-index: 2;
}
.meter-grid span {
    flex: 1;
    border-right: 3px solid #1A1A24; /* Color oscuro para separar los bloques */
}
.meter-grid span:last-child {
    border-right: none; /* Quitamos el borde al último cuadro */
}

.rating-score {
    font-size: 4rem;
    font-weight: 900;
    color: #EDF2F4;
    line-height: 1;
    text-shadow: 0 4px 10px rgba(239, 35, 60, 0.4);
}
.rating-label { 
    font-size: 1.2rem; 
    color: #8D99AE; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    font-weight: 700; 
}
/* --- Sistema de Calificación --- */
.rating-system-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.rating-tier {
    background-color: #f8f9fa;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
    border-left: 5px solid transparent;
}

.rating-tier:hover {
    transform: translateY(-5px);
}

.tier-score {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Colores según el rango (Basado en tu paleta) */
.tier-masterwork { border-left-color: #fca311; }
.tier-masterwork .tier-score { color: #fca311; }

.tier-excellent { border-left-color: #2ecc71; }
.tier-excellent .tier-score { color: #2ecc71; }

.tier-good { border-left-color: #3498db; }
.tier-good .tier-score { color: #3498db; }

/* Nuevo color para el rango Aceptable (Morado) */
.tier-acceptable { border-left-color: #9b59b6; }
.tier-acceptable .tier-score { color: #9b59b6; }

.tier-bad { border-left-color: #EF233C; }
.tier-bad .tier-score { color: #EF233C; }

/* --- Más Info y Aviso Legal --- */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    color: #EDF2F4;
    padding: 40px 0;
}

.about-text {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 20px;
}

.founder-info p {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.founder-socials a {
    color: #EDF2F4;
    font-size: 1.5rem;
    margin-right: 15px;
    transition: color 0.3s;
}

.founder-socials a:hover {
    color: #EF233C;
}

.legal-content {
    background-color: rgba(0,0,0,0.2);
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #EF233C;
}

.legal-text {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #8D99AE;
    text-align: justify;
}

/* --- Ajuste para el artículo de video destacado --- */
.main-featured .video-info p,
.main-featured .article-body p {
    text-align: justify;
    line-height: 1.6;
    margin-bottom: 15px;
}

.main-featured {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px; /* Asegura que haya aire alrededor del texto */
}

/* --- Solución al solapamiento de secciones --- */
.section-videos {
    padding-bottom: 20px !important; /* Da un respiro enorme antes del footer o la siguiente sección */
    overflow: visible; 
}

.videos-grid {
    margin-bottom: 20px !important; 
    overflow: visible; 
}

/* Estado base de los videos ocultos */
.video-extra {
    display: none; 
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Estado cuando se activa el botón */
.video-extra.mostrar-animado {
    display: block; 
    opacity: 1;
    transform: translateY(0);
}

/* --- Formulario de Suscripción Profesional --- */
.pro-form .input-group {
    position: relative;
    margin-bottom: 15px;
}

.pro-form .input-group i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #8D99AE;
}

.pro-form input[type="text"],
.pro-form input[type="email"] {
    width: 100%;
    padding: 15px 15px 15px 45px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-family: 'Open Sans', sans-serif;
    outline: none;
}

.pro-form input:focus {
    border-color: #EF233C;
}

.checkbox-group {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    font-size: 0.9rem;
    color: #2B2D42;
}

.checkbox-group input {
    margin-right: 10px;
}

/* Media Query para móviles */
@media (max-width: 768px) {
    .about-grid {
        grid-template-columns: 1fr;
    }
}