/* === Critical CSS — Infoexperiencia (Newslight/MoreNews) ===
   Objetivo: estabilizar la cabecera, navegación, carrusel y estructura
   durante los primeros milisegundos para evitar FOUC/CLS, sin pisar
   el diseño final del tema cuando sus hojas carguen.
*/

/* Base muy conservadora */
html, body { margin:0; padding:0; background:#fff; color:#222; }
img { max-width:100%; height:auto; display:block; }
figure { margin:0; }

/* Contenedores principales (no forzamos anchos fijos) */
.site, .site-content, .container, #content, .wrapper {
  margin:0 auto; padding:0 16px; box-sizing:border-box;
}

/* HEADER estable */
.site-header, header.site-header, .top-header {
  display:flex; align-items:center; min-height:56px;
}
.site-branding img { max-height:44px; width:auto; height:auto; }

/* NAVEGACIÓN: sin viñetas ni salto vertical mientras carga el CSS del tema */
.main-navigation ul,
.main-navigation ul ul,
.menu, .menu ul {
  list-style:none; margin:0; padding:0;
}
.main-navigation ul { display:flex; flex-wrap:wrap; gap:.75rem; }
.main-navigation a { text-decoration:none; }

/* Breadcrumbs visibles pero discretos */
.breadcrumb, .breadcrumb-trail, .entry-breadcrumbs {
  margin:8px 0; font-size:.9rem;
}

/* Área destacada / carrusel: evita “brincos” y reflows iniciales */
.featured-section .post-thumb,
.slick-slide .post-thumb,
.post-thumbnail { overflow:hidden; }
.post-thumbnail img,
.featured-section img,
.slick-slide img { width:100%; height:auto; }

/* TITULARES y metadatos: espaciado mínimo para que no colapse */
.entry-title { margin:16px 0 8px; font-weight:700; line-height:1.2; }
.entry-meta, .posted-on, .byline { font-size:.9rem; opacity:.85; }

/* Grid de listados: coloca tarjetas en rejilla básica mientras llega el CSS largo */
@media (min-width:768px){
  .morenews-grid, .posts-grid, .archive-posts {
    display:grid; grid-template-columns:repeat(12,1fr); gap:16px;
  }
  .morenews-grid > article,
  .posts-grid > article,
  .archive-posts > article { grid-column:span 4; }
}

/* Buscador */
.search-form input[type="search"]{ line-height:1.2; padding:.5rem .75rem; }
.search-form input[type="submit"]{ padding:.5rem .75rem; }

/* Cookie banner: previene empujones cuando aparece */
body.has-cookie-banner { padding-bottom:64px !important; }
.cmplz-cookiebanner, .cky-consent-container, .cookie-notice, #cookie-law-info-bar {
  position:fixed !important; bottom:0 !important; left:0; right:0; width:100% !important; z-index:9999;
}

/* Fallback anti-preloader/overlays (por si algún plugin deja el markup):
   NO afecta anuncios; solo neutraliza pantallas de “cargando”. */
#preloader,.preloader,.page-loader,.pageloader,.site-loader,
.morenews-preloader,.newslight-preloader,#loftloader-wrapper,
#wp-smart-preloader,.royal-preloader-wrap,.pace,.loading-overlay{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
  display:none !important; transition:none !important;
}

/* Móvil: respiración */
@media (max-width:767px){
  .site, .site-content, .container, #content, .wrapper { padding:0 12px; }
  .main-navigation ul { gap:.5rem; }
}
