/* General Body Styles */
body {
    font-family: 'Roboto', Arial, sans-serif; /* Clarín often uses Roboto or similar sans-serif fonts */
    line-height: 1.6;
    color: #0f0f0fff;
    background-color: #ffff;
; /* Light grey background */
    margin: 0;
    padding-top: 90px; /* Added to account for fixed header */
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Header Styles */
.header-clarin {
    background-color: #fff; /* White background for header */
    border-bottom: 1px solid #eee;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.header-clarin .top-bar {
    background-color: #f0f0f0; /* Light grey for top bar */
    padding: 8px 0;
    font-size: 0.85em;
    color: #666;
}

.header-clarin .top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-clarin .top-bar .date-info {
    font-weight: bold;
}

.header-clarin .top-bar .clock-weather-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-clarin .top-bar #time {
    font-weight: bold;
    color: #cc0000; /* Clarín red for time */
}

.header-clarin .top-bar #temperature {
    font-weight: bold;
    color: #007bff; /* Blue for temperature */
}

.header-clarin .main-header-content {
    padding: 15px 0;
}

.header-clarin .main-header-content .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-clarin .logo {
    font-size: 2em;
    font-weight: bold;
    color: #cc0000; /* Clarín's red */
    text-decoration: none;
}

.header-clarin .main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Make menu items horizontal */
    gap: 20px; /* Space between menu items */
}

.header-clarin .main-nav a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: color 0.3s ease;
    padding: 5px 0; /* Add some padding for click area */
}

.header-clarin .main-nav a:hover {
    color: #cc0000;
}

/* Main Content Layout */
.main-content-clarin .container {
    padding: 20px 0;
}

.article-container-clarin {
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

/* Article Header */
.article-header-clarin .article-title-clarin {
    font-family: 'Georgia', serif; /* Serif font for titles */
    font-size: 2.5em;
    line-height: 1.1;
    margin-bottom: 10px;
    color: #333;
}

.article-header-clarin .article-subtitle-clarin {
    font-size: 1.3em;
    color: #555;
    margin-bottom: 20px;
}

.article-header-clarin .article-meta-clarin {
    font-size: 0.9em;
    color: #777;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

/* Article Image */
.article-image-clarin img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto;
    border-radius: 4px;
}

/* Article Body */
.article-body-clarin p {
    font-size: 1.1em;
    line-height: 1.8;
    margin-bottom: 1em;
}

/* Related News Section & Most Read News Section */
.related-news-clarin, .most-read-news-clarin {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-top: 30px;
}

.related-news-clarin h3, .most-read-news-clarin h3 {
    font-size: 1.5em;
    color: #333;
    margin-bottom: 15px;
    border-bottom: 2px solid #cc0000;
    padding-bottom: 5px;
}

.news-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Responsive grid */
    gap: 20px;
}

.news-item-small {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.news-item-small:hover {
    background-color: #f9f9f9;
}

.news-item-small .news-thumb-small {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 3px;
}

.news-item-small a {
    flex-grow: 1;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 0.95em;
    line-height: 1.3;
}

.news-item-small a:hover {
    color: #cc0000;
}

/* Original Footer Styles (from initial ver-noticia.php) */
/* These styles are already defined in your original styles.css or inline, 
   but I'm including them here for clarity and to ensure they are applied. */
.footer.bg-dark {
    background-color: #343a40 !important; /* Dark background */
}



.footer.pt-5 {
    padding-top: 3rem !important;
}

.footer.pb-3 {
    padding-bottom: 1rem !important;
}

.footer .mb-3 {
    margin-bottom: 1rem !important;
}

.footer img {
    height: 48px;
}

.footer p {
    font-size: 1em;
}

.footer h5 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.footer ul {
    list-style: none;
    padding: 0;
}

.footer li {
    margin-bottom: 0.5rem;
}

.footer a {
    color: #fff;
    text-decoration: none;
}

.footer a:hover {
    text-decoration: underline;
}

.footer .footer-highlight {
    font-weight: bold;
    color: #ffc107; /* Example highlight color */
}

.footer .text-center {
    text-align: center !important;
}

.footer .mt-3 {
    margin-top: 1rem !important;
}

/* Weather Section Styles */
#weather-section {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    margin-top: 20px; /* Adjusted margin-top for new position */
    margin-bottom: 20px; /* Add margin-bottom to separate from article */
    text-align: center;
}

#weather-section h2 {
    font-size: 1.5em;
    color: #333;
    margin-bottom: 15px;
    border-bottom: 2px solid #cc0000;
    padding-bottom: 5px;
    display: inline-block; /* To make border-bottom only under text */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .header-clarin .main-header-content .container {
        flex-direction: column;
    }

    .header-clarin .main-nav ul {
        flex-direction: column;
        margin-top: 10px;
    }

    .header-clarin .main-nav li {
        margin: 5px 0;
    }

    /* Adjust footer columns for smaller screens if needed, based on original structure */
    .footer .row {
        flex-direction: column;
    }
    .footer .col-md-4 {
        width: 100%;
        margin-bottom: 1rem;
    }

    .news-list-grid {
        grid-template-columns: 1fr; /* Single column on small screens */
    }
}

.section-title {
    font-size: 1.8em; /* Adjust as needed, based on Clarín's visual */
    color: #333;
    margin-bottom: 15px;
    border-bottom: 2px solid #cc0000;
    padding-bottom: 5px;
    display: inline-block; /* To make border-bottom only under text */
}

.news-item-card {
    border: 1px solid #eee; /* Light border */
    border-radius: 5px;
    transition: all 0.3s ease;
    height: 100%; /* Ensure cards in a row have equal height */
    display: flex;
    flex-direction: column;
}

.news-item-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Subtle shadow on hover */
    transform: translateY(-2px); /* Slight lift effect */
}

.news-item-card .card-body {
    padding: 15px;
    flex-grow: 1;
}

.news-item-card .card-title {
    font-family: 'Lora', serif; /* Use Lora for titles as imported */
    font-size: 1.2em;
    line-height: 1.3;
    margin-bottom: 10px;
}

.news-item-card .card-title a {
    color: #333; /* Dark text for titles */
    text-decoration: none;
}

.news-item-card .card-title a:hover {
    color: #cc0000; /* Clarín red on hover */
}

.news-item-card .news-card-excerpt {
    font-size: 0.95em;
    color: #555;
    line-height: 1.6;
}

.news-item-card .btn-outline-danger {
    color: #cc0000;
    border-color: #cc0000;
}

.news-item-card .btn-outline-danger:hover {
    background-color: #cc0000;
    color: #fff;
}

.news-item-card .text-muted {
    font-size: 0.85em;
}

.news-item-card .news-media-wrapper img,
.news-item-card .news-media-wrapper video {
    width: 100%;
    height: 200px; /* Fixed height for consistency */
    object-fit: cover;
    border-radius: 5px 5px 0 0; /* Rounded top corners */
}

.news-item-card .card-footer {
    background-color: #f9f9f9;
    border-top: 1px solid #eee;
    padding: 10px 15px;
}
.news-scroll-overlay {
    width: 100%;
    height: 150px; /* Aumentar altura para visibilidad */
    overflow: hidden;
    z-index: 10; /* Ensure it's above the canvas */
    background-color: rgba(249, 249, 245, 0.8); /* Fondo amarillo brillante temporal */
    color: black; /* Texto negro para contraste */
    padding: 5px;
    box-sizing: border-box;
    border: 2px solid red; /* Borde rojo para destacar */
}

.news-scroll-overlay .news-item {
    white-space: nowrap;
    padding: 2px 0;
}

.news-scroll-overlay .news-item a {
    color: black; /* Cambiar a negro para contraste con fondo amarillo */
    text-decoration: none;
}

.news-scroll-overlay .news-item a:hover {
    text-decoration: underline;
}

/* Styling for "Noticias más vistas" section */
#leidas .top-news-link {
    font-family: 'Lora', serif;
    font-size: 1.1em;
    color: #333;
    text-decoration: none; /* Remove default underline */
    font-weight: bold;
    transition: color 0.3s ease;
}

#leidas .top-news-link:hover {
    color: #cc0000; /* Clarín red on hover */
    text-decoration: underline; /* Underline on hover for clarity */
}

/* Header Right Controls */
.header-right-controls {
    display: flex;
    align-items: center;
    gap: 15px;
}

.date-time-container {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9em;
    color: #666;
}

#time-display {
    font-weight: bold;
    color: #cc0000;
}

.search-container {
    position: relative;
}

.search-form {
    display: none; /* Hidden by default */
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 5px;
    width: 250px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 1000;
}

.search-container.active .search-form {
    display: block; /* Shown when active */
}

/* -- Custom Audio Player -- */
/* Estilos antiguos del reproductor removidos - ver combined-styles.css para estilos modernos */

/* Estilos para el título "TV en VIVO" */
.tv-vivo-title {
    font-family: 'Roboto', sans-serif;
    font-size: 1.5em; /* Tamaño de fuente más grande */
    font-weight: bold; /* Negrita */
    letter-spacing: 0.05em; /* Espaciado entre letras */
    color: #333; /* Color oscuro para contraste */
    text-transform: uppercase; /* Mayúsculas para un aspecto más impactante */
    margin-top: 10px; /* Ajuste de margen superior si es necesario */
    margin-bottom: 10px; /* Ajuste de margen inferior si es necesario */
}

/* Estilos para el contenedor del video en vivo */
.live-video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio (height / width = 9 / 16 = 0.5625) */
    height: 0;
    overflow: hidden;
    background-color: black; /* Fondo negro para el contenedor */
}

.live-video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain; /* Asegura que el video se ajuste dentro del contenedor */
}

.blinking-red {
    color: red;
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

/* --- Mobile Menu Fixes --- */
@media (max-width: 767.98px) { /* Small devices (phones, less than 768px) */
    .header-clarin.fixed-top {
        position: sticky; /* Change from fixed to sticky on small screens */
        top: 0;
        z-index: 1030; /* Bootstrap's navbar-fixed-top z-index is 1030 */
    }

    .mobile-menu-btn {
        position: relative; /* Allow z-index to work */
        z-index: 1040; /* Higher than the header */
    }

    #mobile-menu {
        position: fixed; /* Make mobile menu fixed when open */
        top: 0; /* Position it at the top */
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(255, 255, 255, 0.95); /* Semi-transparent background */
        z-index: 1050; /* Higher than the button */
        overflow-y: auto; /* Enable scrolling for long menus */
        padding-top: 70px; /* Adjust based on header height */
    }
}
