/* ==========================================================================
   nutriNews - correcciones responsive globales (revisión 2026-11-11)
   Se carga el último en todas las páginas (inc-seo-rendimiento.php,
   nn_sr_filtrar_html). Cada bloque indica la plantilla a la que afecta.
   ========================================================================== */

/* --- Base: nada debe ensanchar la página ------------------------------- */
img, video, iframe, embed, object { max-width: 100%; }

/* --- Portadas: carrusel de tablas en móvil (templates/global/tablas-home.php)
   Sin recorte, las diapositivas siguientes quedaban fuera de pantalla */
.my-swiper-container { overflow: hidden; }

/* --- Páginas genéricas (templates/global/page-page.php): política de cookies, revista...
   URLs largas cortadas; compartir partido en 3+2; anuncios al 50% en tablet */
#single-content .col-lg-7 { overflow-wrap: anywhere; }
#single-content .compartir { flex: 0 0 auto; }
#single-content .nn-compartir { flex-wrap: nowrap; }
@media (min-width: 576px) and (max-width: 991.98px) {
    #single-content .bg-anuncio { display: flex; flex-wrap: wrap; }
}

/* --- Sumario de revistas (sumario-revistas-*.php, single-edicion-revista.php):
   flecha encima de "Recibir en papel", botón partido, portadas de 70px */
@media (max-width: 991.98px) {
    #Revistas .col-12 > div.fs-4 { display: flex; flex-wrap: wrap; gap: .5rem; padding-left: 0 !important; }
    #Revistas .col-12 > div.fs-4 > h5 { flex: 0 0 100%; padding-left: 0 !important; margin: 0; }
    #Revistas .col-12 > div.fs-4 > a { margin-left: 0 !important; font-size: 1rem !important; padding: .5rem 1rem !important; }
    #Revistas .carousel { margin-top: 48px; }
}
@media (max-width: 480px) {
    #Revistas .carousel-cell { width: 46% !important; margin-right: .5rem !important; padding: .75rem !important; }
    #Revistas .flickity-viewport { height: 290px !important; }
}

/* --- nutriNews redes (templates/global/sumario/nutrinews-redes.php) */
@media (max-width: 575.98px) {
    .bottones { flex-wrap: wrap !important; padding-left: 12px; padding-right: 12px; }
    .bottones > a { flex: 1 1 calc(50% - .5rem); min-width: 0; padding-left: .5rem !important; padding-right: .5rem !important; }
    .bottones > a:last-child { flex-basis: 100%; }
}
section#articulos.flex-nowrap { margin-left: auto !important; margin-right: auto !important; }

/* --- Contacto nutribility (templates/nutribility/page-contacto-nutribility.php) */
@media (max-width: 560px) {
    #formContacto :is(input, textarea) { font-size: 16px; }
    #formContacto #check1 { width: 22px; height: 22px; }
    #formContacto #btnlegal { font-size: .875rem; }
    #SingleNutribility #Right { margin-left: 0; margin-right: 0; margin-bottom: 6rem; }
    #SingleNutribility header { width: auto; }
    #SingleNutribility header .col-3 { flex: 0 0 auto; width: 7rem; }
}

/* --- Contacto (template-contacto.php): etiquetas por debajo de 12px */
.ct-dato small { font-size: .75rem; }

/* --- Sectoriales (sumario-sectoriales*.php) y secciones de productos:
   .row con márgenes negativos sin compensar, miniaturas cortadas por la izquierda */
@media (max-width: 767.98px) {
    #resultadosSectoriales > .row { margin-left: 0 !important; margin-right: 0 !important; }
    #resultadosSectoriales .col-12.col-md-9 { padding-left: 12px !important; padding-right: 12px !important; }
}

/* --- Lanzamiento nutriNews International (template-launch-nutriNews-international.php):
   etiquetas del globo SVG cortadas */
@media (max-width: 575.98px) {
    #globe_1 { width: 68%; }
}

/* --- Productos (latam y es): foto apaisada recortada, logo de empresa de 19px */
@media (max-width: 575.98px) {
    #sumario-productos .grid img.img-fluid { aspect-ratio: 16 / 10; min-height: 0; }
    body#sumario-productos .grid-item .d-flex.justify-content-between { flex-wrap: wrap; justify-content: center !important; gap: .4rem; }
    body#sumario-productos .grid-item .nn-prod-empresa { width: 100%; max-width: none; justify-content: center; height: 36px; }
    body#sumario-productos .grid-item .nn-prod-empresa img { max-height: 36px !important; }
    body#sumario-productos .grid-item .verEmpresa { font-size: .8rem; }
}

/* --- Tablas (sumario-monograficos2/-latam, sumario-producto-tabla): botón Limpiar
   más alto que el filtro y montado sobre las tarjetas */
#clearFilters { margin: 0 !important; height: 100%; padding-top: 0 !important; padding-bottom: 0 !important; }
@media (min-width: 768px) {
    #dropdownMenuButton { padding-right: 170px !important; }
}
/* Menú inferior fijo de tablas (menu-top-tablas.php): etiquetas de 11px */
section.fixed-menu .menu-item h4 { font-size: 12px !important; }

/* --- Reportajes latam (sumario-reportajes-latam.php): título a 1-2 palabras por línea */
@media (max-width: 575.98px) {
    .bloqueReportaje { flex: 0 0 100%; max-width: 100%; }
    .bloqueReportaje h4 { width: 100% !important; }
    .bg-reportajes { min-height: 0; }
}

/* --- Producto-tabla (sumario-producto-tabla.php): imagen deformada y título en el borde */
#monograficos .imgMonografico { object-fit: cover; }
#monograficos .tabla-link > div { right: 16px; }
#monograficos .tabla-link h2 { overflow-wrap: anywhere; }

/* --- Puertos y mercados (CSS del plugin): textos de 10-11px en móvil */
@media (max-width: 575.98px) {
    .pm-hero__eyebrow, .pm-commodity-card__tendency, .pm-section-heading p { font-size: .75rem; }
}

/* --- Secciones de productos (sumario-secciones-produtos.php): fichas cortadas a la izquierda */
@media (max-width: 767.98px) {
    #resultadosSectoriales .row.p-2.py-4 { margin-left: 0; margin-right: 0; }
}

/* --- Monográfico (single-monografico.php) */
@media (max-width: 991.98px) {
    /* logo de 25vw con márgenes negativos encima del rótulo */
    #superior-monos .logo { width: min(25vw, 120px); margin: 0; top: 12px; left: 12px !important; }
}
@media (max-width: 767.98px) {
    #content-monos .col-md-8 > .row { margin-left: 0; margin-right: 0; }
}
@media (max-width: 575.98px) {
    /* títulos de artículos a 1-2 palabras por línea */
    #bloque5 .bgAjust2 p { font-size: 1rem !important; padding: .75rem !important; overflow-wrap: anywhere; hyphens: auto; }
}
/* carrusel de entrevistas vacío: dejaba ~650px en blanco */
#monograficos section:has(> .carousel:not(:has(.carousel-cell))) { display: none; }

/* --- 404 (templates/global/404.php): botón "Suscríbete" fuera de pantalla */
@media (max-width: 575.98px) {
    [id="404"] .btn { padding-left: .75rem !important; padding-right: .75rem !important; width: 100%; }
}

/* --- Capítulos nutribility (templates/nutribility/capitulo-principal.php) */
@media (max-width: 767.98px) {
    #CapituloAvibility #Right > .col > .row { margin-left: 0; margin-right: 0; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    #CapituloAvibility .position-absolute.bottom-0.end-50 { position: static !important; }
}
#Left img.logomain { height: auto; }

/* --- Búsqueda (search.php): paginación y tarjetas */
.search-pagination .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.search-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; margin: 2px; }
@media (max-width: 767px) {
    .search-result-item { align-items: stretch; }
    .search-result-item > a { display: block; }
    .post-type-badge { display: inline-block !important; align-self: flex-start; font-size: .75rem; }
    .search-result-meta { font-size: .75rem; }
}

/* --- Paginación de autor (single-autor.php): heredaba las viñetas de #single-content li */
.nn-paginacion-autor li { border-left: 0 !important; padding: 0 !important; }
.nn-paginacion-autor li::before { content: none !important; }

/* --- Bloque revista (bloque-revista.php): flecha anterior encima del rótulo, desborde en tablet */
@media (max-width: 991.98px) {
    #revista .flickity-prev-next-button.previous { left: auto !important; right: 56px !important; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    #revista > .row { margin-left: 0; margin-right: 0; }
}

/* --- "Otros contenidos destacados" (2024-home.php): el play tapaba el título */
@media (max-width: 575.98px) {
    .play-destacados .play-mini { aspect-ratio: 4 / 3; }
    .play-destacados .play-mini__icono,
    .play-destacados .play-mini:hover .play-mini__icono { top: 10px; left: 10px; width: 32px; height: 32px; transform: none; }
    .play-destacados .play-mini__txt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* --- Tarjeta de productos al 75% en especie, etiqueta y categoría */
@media (max-width: 991.98px) {
    .col-lg-4.px-5 > .row > .w-75 { width: 100% !important; }
}

/* --- Textos y enlaces pequeños en móvil */
@media (max-width: 575.98px) {
    .menuimg .fecha { font-size: .75rem !important; }
    .ed-autor__seguir a { display: inline-block; padding: .5rem; }
}

/* --- Artículos y noticias (single-articulos-tablas.php, single-noticias.php) */
@media (max-width: 575.98px) {
    /* tablas con width % en línea: quedaban en un hueco de 146px con 1 de 4 columnas */
    #single .single-texto table { width: 100% !important; max-width: 100%; height: auto !important; }
    #single .single-texto table td { width: auto !important; }
    /* carruseles de relacionados: tarjetas de 128px con 200px en blanco */
    #single .single-relacionados #bloqueRelacionados .carousel-cell { width: 78% !important; }
    #single .single-relacionados #bloqueRelacionados .flickity-viewport { height: 330px !important; }
    #single #bloqueRelacionados .flickity-prev-next-button { display: none; }
    /* fecha y tipo partidos ("26 / Oct", "Press / release") */
    #single .single-card__meta > span { white-space: nowrap; }
    #single .single-card__tipo { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
    /* justificado del editor en columna estrecha */
    #single .single-texto [style*="justify"] { text-align: left !important; }
}

/* --- Entrevistas y reportajes: la regla global "header a" de styles.css dejaba el botón PDF en 61x15 */
@media (max-width: 480px) {
    #single-entrevista .sx-cabecera .sx-btn,
    #single-reportaje .sx-cabecera .sx-btn { padding: .55rem 1.1rem !important; font-size: .92rem !important; min-height: 40px; }
}

/* --- Ficha nutribility (templates/nutribility/single.php): issuu de 810px y desborde */
.content .issuuembed { width: 100% !important; max-width: 810px; height: auto !important; aspect-ratio: 4 / 3; }
@media (max-width: 560px) {
    #SingleAvibility #Right { margin-left: 0; margin-right: 0; }
    #SingleAvibility header { width: auto; }
}

/* --- Ficha de tabla (single-tablas.php) */
@media (max-width: 767.98px) {
    #productos-relacionados { margin-left: 0; margin-right: 0; }
    #filtroEspecies { display: none; }
}
#content-monos .dropdown.d-md-none > .end-0 { right: 12px !important; }

/* --- Bloque revista: rótulo AUTORES y botón Suscríbete */
@media (max-width: 767.98px) {
    #revista .row.ps-3 > p { text-align: center; }
}
@media (max-width: 575.98px) {
    #revista .d-inline-flex.flex-nowrap a.d-block { letter-spacing: 0; }
}

/* --- Secciones patrocinadas (secciones-patrocinadas.php): etiquetas de 9px */
@media (max-width: 767.98px) {
    #bloque_monograficos .icones { flex-wrap: wrap; }
    #bloque_monograficos .icones > a { flex: 1 1 calc(50% - .3rem); }
    html body #bloque_monograficos .icones p { font-size: .7rem !important; }
}

/* ==========================================================================
   Cabecera global, portadas y landings
   ========================================================================== */

/* --- Menú hamburguesa en móvil/tablet (styles.css #menu, menu-hamburger.php):
   no hacía scroll, enlaces desde y=220px, X a media pantalla, submenús de 12px */
@media (max-width: 991.98px) {
    #menu.open { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
    #menu .main-nav { top: 0 !important; transform: none !important; height: auto !important; padding: 84px 0 3rem !important; }
    body button.toggle-menu.active { position: fixed !important; top: 12px !important; right: 16px !important; left: auto !important; transform: none !important; }
    #menu ul:hover a { opacity: 1; }
    #mobile-menu { margin-left: 0; width: 100%; padding: 0 24px; }
    #mobile-menu .submenu { padding-left: 1rem; }
    #mobile-menu .submenu li > a { display: block; padding: .45rem 0; font-size: 15px !important; }
}

/* --- Bloque revista de portadas (bloque-revista.php) */
@media (max-width: 575.98px) {
    /* tarjetas "Edición nutriNews" cortadas por la izquierda */
    #revista .bloqueArticulo { margin-left: 0 !important; margin-right: 0 !important; }
}
@media (max-width: 767.98px) {
    #revista .flickity-prev-next-button.next { right: 8px !important; }
    /* home-continente.php pone .carousel{display:flex}: viewport de 0px, autores vacíos */
    #revista .carousel { display: block; }
}

/* --- Portada Europa (2024-home.php): H1 partido en dos columnas */
@media (max-width: 575.98px) {
    #portada .home-intro h1 { display: block; }
    #portada .home-intro h1::before { display: inline-block; margin-right: .6rem; }
}

/* --- nutriNews Aqua (template-nutriaqua.php): la regla global "header a" aplastaba los botones del hero */
@media (max-width: 480px) {
    .naq-hero__ctas .naq-btn { padding-top: .8rem !important; padding-bottom: .8rem !important; font-size: .82rem !important; }
}

/* --- Empresas / productos (menu-top-empresa.php): pestañas partidas por un #nav-tab duplicado */
header #nav-tab #nav-tab { padding: 0; border-bottom: 0; flex-wrap: nowrap; }
header #nav-tab > span:empty { display: none; }

/* --- Portada continente /en/asia/ (home-continente.php) */
#tabla-section .swiper-button-prev { left: 4px !important; right: auto !important; }
#tabla-section .swiper-button-next { right: 4px !important; left: auto !important; }
#tabla-section .swiper-button-lock { display: none; }
#revista a.linkRevista { color: #fff !important; border-color: rgba(255, 255, 255, .35); }
@media (max-width: 991.98px) {
    #bloque1 > .row.col-12 { width: auto; flex: 1 1 auto; }
}
@media (max-width: 575.98px) {
    .robapagina-4tax.row { margin-left: 0; margin-right: 0; }
}

/* --- Autores (sumario-autores.php): la lupa tapaba el texto, fotos estiradas */
@media (max-width: 575.98px) {
    #buscadorAutores { padding-left: 3.25rem !important; background-position: 1rem 50%; background-size: 1.5rem; }
    #Autores > .row > .row.mb-5.mt-3 { margin-left: 0; margin-right: 0; }
}
#Autores .ratio-1x1 > img { object-fit: cover; }

/* --- Carrusel de commodities (plugin puertos-y-mercados): flechas encima de los precios */
@media (max-width: 767.98px) {
    .pm-sc-carousel { padding-bottom: 44px; }
    .pm-sc-carousel__btn { top: auto !important; bottom: 0; transform: none !important; width: 32px; height: 32px; }
    .pm-sc-carousel__btn--prev { left: calc(50% - 38px) !important; }
    .pm-sc-carousel__btn--next { right: calc(50% - 38px) !important; }
    .pm-sc-commodities .pm-commodity-card h3 { font-size: .8rem; }
    .pm-sc-commodities .pm-open-chart { font-size: .75rem; }
}
