/*
Theme Name: UVAQ Child
Template: hello-elementor
*/

/* =========================================================
   Categoría Noticias (ID 6)
   Todos los selectores llevan el prefijo .news-page para que
   los estilos del tema padre y de Elementor no los pisen.
   Colores estimados de las capturas: ajusta aquí si no coinciden.
   ========================================================= */

.news-page {
    --news-blue:   #0039a6;
    --news-yellow: #f6c700;
    --news-text:   #54595f;
    --news-muted:  #9b9b9b;
    --news-body:   #7a7a7a;

    font-family: 'Roboto', sans-serif;
    color: var(--news-text);
}

/* Tipografía y limpieza de estilos heredados del tema */
.news-page h1,
.news-page h2,
.news-page h3,
.news-page p,
.news-page a,
.news-page time,
.news-page span,
.news-page input,
.news-page button {
    font-family: 'Roboto', sans-serif;
}
.news-page a { text-decoration: none; background-color: transparent; }
.news-page p { margin-block: 0; }

/* ---------- Contenedores y espaciados ---------- */
.news-page .news-wrap {
    max-width: 1920px;
    margin-inline: auto;
    padding-inline: clamp(1rem, 6vw, 7rem);
}
.news-page .news-wrap--inner {
    padding-inline: clamp(1rem, 7.5vw, 9rem);
}

/* Separación entre columnas (Bootstrap 5.3 usa --bs-gutter-x) */
.news-page .gx-news    { --bs-gutter-x: 1.5rem; }
.news-page .gx-news-sm { --bs-gutter-x: 2.25rem; }
@media (min-width: 992px) {
    .news-page .gx-news { --bs-gutter-x: 7rem; }
}

/* Proporciones de imagen */
.news-page a.ratio,
.news-page span.ratio { display: block; }
.news-page .ratio-3x2 { --bs-aspect-ratio: 66.6667%; }
.news-page .ratio-5x3 { --bs-aspect-ratio: 60%; }
.news-page .ratio > img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}
/* Marcador cuando la entrada no tiene imagen destacada */
.news-page .news-thumb--empty { background: #e9ecef; }

/* ---------- Destacada (card con sombra) ---------- */
.news-page .news-featured {
    border-radius: 0;
    box-shadow: 0 0 12px rgba(0, 0, 0, .15);
    overflow: hidden;
}
.news-page .news-featured .card-body {
    padding: 3rem 2.4rem 1.6rem;
}
.news-page .news-featured__title {
    margin: 0 0 1.6rem;
    font-size: 1.65rem;
    line-height: 1.22;
    font-weight: 500;
    color: var(--news-text);
}
.news-page .news-featured__title a,
.news-page .news-featured__title a:hover { color: var(--news-text); }
.news-page .news-featured__excerpt {
    margin: 0 0 2.5rem;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--news-body);
}
.news-page .news-featured__date {
    background: #fff;
    border-top: 1px solid #eee;
    padding: 1rem 2.4rem;
    font-size: .875rem;
    color: var(--news-muted);
}

/* ---------- Tarjeta estándar ---------- */
.news-page .news-item__title {
    margin: 1.6rem 0 .25rem;
    font-size: 1.4rem;
    line-height: 1.22;
    font-weight: 500;
    color: var(--news-text);
}
.news-page .news-item__title a { color: var(--news-text); }
.news-page .news-item__title a:hover { color: var(--news-blue); }
.news-page .news-item__date {
    display: block;
    font-size: .875rem;
    color: var(--news-muted);
}

/* "Leer más »" */
.news-page .news-readmore {
    display: inline-block;
    margin-top: 1.5rem;
    font-size: .875rem;
    font-weight: 500;
    color: var(--news-blue);
}
.news-page .news-readmore:hover {
    color: var(--news-blue);
    text-decoration: underline;
}
.news-page .news-readmore--upper {
    margin-top: 0;
    text-transform: uppercase;
}

/* ---------- Encabezado "MÁS NOTICIAS" ---------- */
.news-page .news-heading {
    display: flex;
    align-items: center;
    margin-bottom: 2.5rem;
}
.news-page .news-heading__icon {
    font-size: 3.2rem;
    line-height: 1;
    color: var(--news-blue);
    margin-right: 1.7rem;
}
.news-page .news-heading__icon img { height: 3.3rem; width: auto; }
.news-page .news-heading__title {
    margin: 0;
    padding-left: 1.3rem;
    border-left: 3px solid var(--news-yellow);
    font-size: 1.65rem;
    line-height: 3.3rem;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--news-blue);
}

/* ---------- Paginación en azul ---------- */
.news-page .pagination {
    --bs-pagination-color: var(--news-blue);
    --bs-pagination-hover-color: var(--news-blue);
    --bs-pagination-focus-color: var(--news-blue);
    --bs-pagination-active-bg: var(--news-blue);
    --bs-pagination-active-border-color: var(--news-blue);
}

/* ---------- Búsqueda de Noticias ---------- */
.news-page .news-search__box {
    display: flex;
    align-items: stretch;
}
.news-page .news-search__icon {
    display: flex;
    align-items: center;
    padding-right: 2.2rem;
    margin-right: 2rem;
    border-right: 3px solid var(--news-yellow);
    font-size: 5.5rem;
    color: var(--news-blue);
}
.news-page .news-search__icon img { height: 6rem; width: auto; }
.news-page .news-search__main {
    flex: 1;
    min-width: 0;
}
.news-page .news-search__title {
    margin: 0 0 1rem;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--news-blue);
}
.news-page .news-search__form {
    position: relative;
    display: flex;
    align-items: center;
    height: 4.4rem;
    padding: 0 1.2rem;
    background: #f5f5f5;
}
.news-page .news-search__glass {
    font-size: 1.7rem;
    color: var(--news-text);
    margin-right: 1.3rem;
}
/* Campo de texto: se anulan los estilos de input del tema */
.news-page .news-search__input,
.news-page .news-search__input:focus {
    -webkit-appearance: none;
    appearance: none;
    flex: 1;
    width: auto;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    font-size: 1.1rem;
    color: var(--news-text);
}
/* Se oculta la X nativa del navegador (ya tenemos la nuestra) */
.news-page .news-search__input::-webkit-search-cancel-button,
.news-page .news-search__input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

/* Botón X: se anulan los estilos de botón del tema */
.news-page .news-search__clear,
.news-page .news-search__clear:hover,
.news-page .news-search__clear:focus {
    margin: 0;
    padding: 0 .5rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 1.6rem;
    line-height: 1;
    color: #999;
    cursor: pointer;
}
.news-page .news-search__clear[hidden] { display: none; }

/* Resultados en vivo */
.news-page .news-search__results {
    position: absolute;
    top: calc(100% + .6rem);
    left: 0;
    right: 0;
    z-index: 50;
    padding: .8rem 3rem;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 2.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}
.news-page .news-search__results[hidden] { display: none; }
.news-page .news-search__item {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 1.2rem 0;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--news-blue);
}
.news-page .news-search__item:hover { color: var(--news-blue); }
.news-page .news-search__item img {
    flex: 0 0 auto;
    width: 8.8rem;
    height: 5.9rem;
    object-fit: cover;
    border-radius: 2rem;
}
.news-page .news-search__item:hover span { text-decoration: underline; }
.news-page .news-search__empty {
    margin: 0;
    padding: 1.2rem 0;
    color: var(--news-muted);
}

/* ---------- Móvil ---------- */
@media (max-width: 767.98px) {
    .news-page .news-featured .card-body { padding: 1.8rem 1.4rem 1.2rem; }
    .news-page .news-featured__date      { padding-inline: 1.4rem; }
    .news-page .news-featured__title     { font-size: 1.4rem; }

    .news-page .news-heading__title      { font-size: 1.3rem; }
    .news-page .news-heading__icon       { font-size: 2.4rem; margin-right: 1rem; }

    .news-page .news-search__icon        { font-size: 3rem; padding-right: 1rem; margin-right: 1rem; }
    .news-page .news-search__results     { padding: .5rem 1.2rem; border-radius: 1.5rem; }
    .news-page .news-search__item        { font-size: 1rem; gap: 1rem; }
    .news-page .news-search__item img    { width: 5.5rem; height: 3.8rem; border-radius: 1rem; }
}