/*
Theme Name: Manizales News
Theme URI: https://manizalesnews.com
Author: Manizales News
Author URI: https://manizalesnews.com
Description: Tema oficial del portal de noticias Manizales News
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tiempodenoticias
Tags: news, magazine, blog
*/

/* =============================================
   VARIABLES Y RESET
   ============================================= */
:root {
  --tn-red:        #CC0000;
  --tn-red-dark:   #A30000;
  --tn-red-light:  #FF1A1A;
  --tn-black:      #111111;
  --tn-dark:       #222222;
  --tn-gray:       #555555;
  --tn-mid-gray:   #888888;
  --tn-light-gray: #F4F4F4;
  --tn-border:     #E2E2E2;
  --tn-white:      #FFFFFF;
  --tn-font-head:  'Oswald', sans-serif;
  --tn-font-body:  'IBM Plex Sans', sans-serif;
  --tn-font-ui:    'IBM Plex Sans', sans-serif;
  --tn-radius:     4px;
  --tn-shadow:     0 2px 8px rgba(0,0,0,0.10);
  --tn-shadow-lg:  0 4px 20px rgba(0,0,0,0.15);
  --tn-max-width:  1240px;
  --tn-transition: 0.22s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--tn-font-ui);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--tn-dark);
  background: var(--tn-white);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* =============================================
   TIPOGRAFÍA GLOBAL
   ============================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--tn-font-head);
  font-weight: 700;
  line-height: 1.2;
  color: var(--tn-black);
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

/* =============================================
   UTILIDADES
   ============================================= */
.container {
  max-width: var(--tn-max-width);
  margin: 0 auto;
  padding: 0 20px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

.tn-label {
  display: inline-block;
  background: var(--tn-red);
  color: var(--tn-white);
  font-family: var(--tn-font-ui);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 2px;
  line-height: 1.4;
}

.tn-label--dark {
  background: var(--tn-black);
}

.tn-label--outline {
  background: transparent;
  color: var(--tn-red);
  border: 1.5px solid var(--tn-red);
}

.section-title {
  font-family: var(--tn-font-head);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tn-black);
  padding-bottom: 10px;
  border-bottom: 3px solid var(--tn-red);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.section-title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1.2em;
  background: var(--tn-red);
  border-radius: 2px;
}

/* =============================================
   TOP BAR
   ============================================= */
.topbar {
  background: var(--tn-black);
  color: var(--tn-white);
  font-family: var(--tn-font-ui);
  font-size: 0.75rem;
  padding: 6px 0;
  border-bottom: 2px solid var(--tn-red);
}

.topbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.topbar__date {
  color: var(--tn-mid-gray);
  white-space: nowrap;
}

.topbar__breaking {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  overflow: hidden;
}

.topbar__breaking-label {
  background: var(--tn-red);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 2px;
  white-space: nowrap;
  flex-shrink: 0;
}

.topbar__ticker {
  overflow: hidden;
  flex: 1;
}

.topbar__ticker-inner {
  display: flex;
  gap: 40px;
  animation: ticker-scroll 30s linear infinite;
  white-space: nowrap;
}

.topbar__ticker-inner a {
  color: #ccc;
  transition: color var(--tn-transition);
}

.topbar__ticker-inner a:hover { color: #fff; }

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.topbar__social {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.topbar__social a {
  color: var(--tn-mid-gray);
  transition: color var(--tn-transition);
  display: flex;
  align-items: center;
}

.topbar__social a:hover { color: var(--tn-red); }

.topbar__social svg { width: 14px; height: 14px; }

/* =============================================
   HEADER
   ============================================= */
.site-header {
  background: var(--tn-white);
  padding: 16px 0;
  border-bottom: 1px solid var(--tn-border);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: var(--tn-shadow);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  position: relative;
}

.site-header__inner .nav-toggle {
  position: absolute;
  right: 0;
}

.site-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.site-logo img,
.site-logo .custom-logo,
.site-header .custom-logo {
  height: 80px !important;
  width: auto !important;
  max-height: 80px !important;
}

.site-logo__text {
  font-family: var(--tn-font-head);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--tn-black);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
}

.site-logo__text span { color: var(--tn-red); }

.header__search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.header__search-input {
  border: 1.5px solid var(--tn-border);
  border-radius: var(--tn-radius);
  padding: 7px 14px;
  font-family: var(--tn-font-ui);
  font-size: 0.85rem;
  width: 220px;
  transition: border-color var(--tn-transition);
  outline: none;
}

.header__search-input:focus {
  border-color: var(--tn-red);
}

.header__search-btn {
  background: var(--tn-red);
  border: none;
  border-radius: var(--tn-radius);
  color: #fff;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background var(--tn-transition);
}

.header__search-btn:hover { background: var(--tn-red-dark); }
.header__search-btn svg { width: 16px; height: 16px; }

/* =============================================
   NAVEGACIÓN PRINCIPAL
   ============================================= */
.main-nav {
  background: var(--tn-red);
}

.main-nav__list {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.main-nav__list::-webkit-scrollbar { display: none; }

.main-nav__item { position: relative; }

.main-nav__link {
  display: block;
  font-family: var(--tn-font-ui);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  padding: 12px 16px;
  white-space: nowrap;
  transition: background var(--tn-transition), color var(--tn-transition);
  border-right: 1px solid rgba(255,255,255,0.12);
}

.main-nav__link:hover,
.main-nav__item.current-menu-item .main-nav__link {
  background: var(--tn-red-dark);
  color: #fff;
}

/* Dropdown */
.main-nav__sub {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--tn-black);
  min-width: 200px;
  z-index: 500;
  box-shadow: var(--tn-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--tn-transition), transform var(--tn-transition), visibility var(--tn-transition);
}

.main-nav__item:hover .main-nav__sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-nav__sub a {
  display: block;
  font-family: var(--tn-font-ui);
  font-size: 0.8rem;
  color: #ccc;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: color var(--tn-transition), padding var(--tn-transition);
}

.main-nav__sub a:hover {
  color: #fff;
  padding-left: 22px;
}

/* Hamburger */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: #fff;
}

/* =============================================
   TARJETA DE NOTICIA
   ============================================= */
.news-card {
  display: flex;
  flex-direction: column;
  background: var(--tn-white);
  border-radius: var(--tn-radius);
  overflow: hidden;
  transition: box-shadow var(--tn-transition), transform var(--tn-transition);
}

.news-card:hover {
  box-shadow: var(--tn-shadow-lg);
  transform: translateY(-2px);
}

.news-card__thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--tn-light-gray);
}

.news-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.news-card:hover .news-card__thumb img {
  transform: scale(1.04);
}

.news-card__thumb .tn-label {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}

.news-card__body {
  padding: 14px 0 4px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.news-card__title {
  font-family: var(--tn-font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--tn-black);
  text-transform: uppercase;
  line-height: 1.25;
  transition: color var(--tn-transition);
}

.news-card:hover .news-card__title { color: var(--tn-red); }

.news-card__excerpt {
  font-family: var(--tn-font-ui);
  font-size: 0.82rem;
  color: var(--tn-gray);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--tn-font-ui);
  font-size: 0.72rem;
  color: var(--tn-mid-gray);
  margin-top: auto;
  padding-top: 8px;
}

.news-card__meta-dot { color: var(--tn-border); }

/* CARD HORIZONTAL */
.news-card--horizontal {
  flex-direction: row;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--tn-border);
  border-radius: 0;
}

.news-card--horizontal:hover {
  box-shadow: none;
  transform: none;
}

.news-card--horizontal .news-card__thumb {
  width: 110px;
  min-width: 110px;
  aspect-ratio: 4/3;
  border-radius: var(--tn-radius);
}

.news-card--horizontal .news-card__body {
  padding: 0;
}

.news-card--horizontal .news-card__title {
  font-size: 0.88rem;
}

/* CARD HERO (featured) */
.news-card--hero {
  position: relative;
  border-radius: var(--tn-radius);
  overflow: hidden;
}

.news-card--hero .news-card__thumb {
  aspect-ratio: unset;
  height: 100%;
  min-height: 380px;
}

.news-card--hero .news-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.5) 60%, transparent 100%);
  padding: 24px 20px 20px;
  color: #fff;
}

.news-card--hero .news-card__title {
  color: #fff;
  font-size: 1.5rem;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.news-card--hero:hover .news-card__title { color: #fff; }

.news-card--hero .news-card__excerpt { color: rgba(255,255,255,0.8); }
.news-card--hero .news-card__meta    { color: rgba(255,255,255,0.6); }

/* =============================================
   HOMEPAGE - SECCIÓN PRINCIPAL
   ============================================= */
.home-main {
  padding: 28px 0 20px;
}

.home-main__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px;
}

/* Hero ocupa 2 columnas, 2 filas */
.home-main__grid .hero-slot {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}
/* =============================================
   GUTENBERG HOME PAGE — BLOQUES QUERY LOOP
   ============================================= */

/* Reset global de listas en bloques */
.wp-block-post-template,
.wp-block-post-template li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ── Tarjeta base ── */
.wp-block-post-template > li,
.wp-block-post-template .wp-block-post {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 5px rgba(0,0,0,0.07);
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  font-family: var(--tn-font-ui) !important;
}

/* ── Imagen ── */
.wp-block-post-template .wp-block-post-featured-image,
.wp-block-post-template figure.wp-block-post-featured-image {
  margin: 0 !important;
  overflow: hidden;
}

.wp-block-post-template .wp-block-post-featured-image img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s;
}

.wp-block-post-template li:hover .wp-block-post-featured-image img {
  transform: scale(1.04);
}

/* ── Categoría badge ── */
.wp-block-post-template .wp-block-post-terms {
  display: block !important;
  list-style: none !important;
  padding: 8px 12px 0 !important;
  margin: 0 !important;
  font-family: var(--tn-font-ui) !important;
}

.wp-block-post-template .wp-block-post-terms a {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: var(--tn-red) !important;
  color: #fff !important;
  padding: 2px 7px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* ── Título ── */
.wp-block-post-template .wp-block-post-title {
  font-family: var(--tn-font-head) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  padding: 6px 12px 4px !important;
  margin: 0 !important;
  text-transform: uppercase;
}

.wp-block-post-template .wp-block-post-title a {
  color: var(--tn-black) !important;
  text-decoration: none !important;
}

.wp-block-post-template .wp-block-post-title a:hover {
  color: var(--tn-red) !important;
}

/* ── Excerpt ── */
.wp-block-post-template .wp-block-post-excerpt,
.wp-block-post-template .wp-block-post-excerpt p,
.wp-block-post-template .wp-block-post-excerpt__excerpt {
  font-family: var(--tn-font-ui) !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
  color: #666 !important;
  padding: 0 12px !important;
  margin: 0 0 4px !important;
}

/* Ocultar "Leer más" del excerpt */
.wp-block-post-excerpt__more-link {
  display: none !important;
}

/* ── Fecha ── */
.wp-block-post-template .wp-block-post-date,
.wp-block-post-template .wp-block-post-date a {
  font-family: var(--tn-font-ui) !important;
  font-size: 0.72rem !important;
  color: #aaa !important;
  padding: 4px 12px 12px !important;
  display: block !important;
  text-decoration: none !important;
}

/* ── Grid columnas ── */
.wp-block-post-template.is-layout-grid,
.wp-block-post-template.is-flex-container {
  display: grid !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wp-block-post-template.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
.wp-block-post-template.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
.wp-block-post-template.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }

/* ── Hero principal ── */
.tn-home-hero { margin-bottom: 0; }

.tn-hero-query ul,
.tn-hero-query ol { list-style: none; padding: 0; margin: 0; }

.tn-hero-img img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.tn-hero-title.wp-block-post-title {
  font-family: var(--tn-font-head) !important;
  font-size: 1.8rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin: 12px 0 8px !important;
  text-transform: uppercase;
  padding: 0 !important;
}

.tn-hero-title.wp-block-post-title a {
  color: var(--tn-black) !important;
  text-decoration: none !important;
}

.tn-hero-title.wp-block-post-title a:hover { color: var(--tn-red) !important; }

.tn-hero-excerpt p,
.tn-hero-excerpt .wp-block-post-excerpt__excerpt {
  font-size: 0.95rem !important;
  font-family: var(--tn-font-ui) !important;
  color: #555 !important;
  margin-bottom: 8px !important;
}

/* ── Sección títulos ── */
.tn-section-title {
  font-family: var(--tn-font-head) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--tn-white) !important;
  background: var(--tn-red) !important;
  padding: 6px 14px !important;
  margin: 0 0 20px 0 !important;
  display: inline-block !important;
}

/* ── Separador de secciones ── */
.tn-home-section {
  padding: 24px 0 4px !important;
  border-top: 3px solid var(--tn-red) !important;
  margin-bottom: 4px !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .wp-block-post-template.columns-3,
  .wp-block-post-template.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .tn-hero-img img { height: 280px; }
}

@media (max-width: 580px) {
  .wp-block-post-template.columns-2,
  .wp-block-post-template.columns-3,
  .wp-block-post-template.columns-4 {
    grid-template-columns: 1fr !important;
  }
  .tn-hero-img img { height: 220px; }
  .tn-hero-title.wp-block-post-title { font-size: 1.3rem !important; }
}


/* =============================================
   WIDGETS PERSONALIZADOS
============================================= */

/* Título de widget */
.widget-title {
    font-family: var(--tn-font-head);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--tn-black);
    padding-bottom: 10px;
    margin-bottom: 16px;
    border-bottom: 3px solid var(--tn-red);
    position: relative;
}

/* Contenedor del widget */
.widget {
    margin-bottom: 28px;
}

/* Widget: Categorías personalizadas */
.tn-cat-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.tn-cat-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--tn-border);
    font-family: var(--tn-font-ui);
    font-size: 0.88rem;
}
.tn-cat-list li:last-child {
    border-bottom: none;
}
.tn-cat-list li a {
    color: var(--tn-dark);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
.tn-cat-list li a:hover {
    color: var(--tn-red);
}
.tn-cat-count {
    background: var(--tn-light-gray);
    color: var(--tn-mid-gray);
    font-size: 0.72rem;
    padding: 2px 7px;
    border-radius: 10px;
    font-family: var(--tn-font-ui);
}

/* Widget: Publicidad */
.tn-ad-widget {
    background: var(--tn-light-gray);
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    border: 1px dashed var(--tn-border);
}
.tn-ad-label {
    font-family: var(--tn-font-ui);
    font-size: 0.72rem;
    color: var(--tn-mid-gray);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.tn-ad-placeholder {
    background: var(--tn-border);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
}
.tn-ad-placeholder span {
    font-family: var(--tn-font-ui);
    font-size: 0.8rem;
    color: var(--tn-mid-gray);
}

/* Entradas recientes nativas de WP - por si acaso */
.widget_recent_entries ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.widget_recent_entries ul li {
    padding: 8px 0;
    border-bottom: 1px solid var(--tn-border);
    font-family: var(--tn-font-ui);
    font-size: 0.85rem;
}
.widget_recent_entries ul li:last-child { border-bottom: none; }
.widget_recent_entries ul li a {
    color: var(--tn-dark);
    text-decoration: none;
    font-weight: 600;
    line-height: 1.3;
    transition: color 0.2s;
}
.widget_recent_entries ul li a:hover { color: var(--tn-red); }

/* Categorías nativas de WP */
.widget_categories ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.widget_categories ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--tn-border);
    font-family: var(--tn-font-ui);
    font-size: 0.88rem;
}
.widget_categories ul li:last-child { border-bottom: none; }
.widget_categories ul li a {
    color: var(--tn-dark);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
.widget_categories ul li a:hover { color: var(--tn-red); }

/* ── Layout: sidebar siempre a la derecha ── */
.content-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 320px !important;
  gap: 32px !important;
  align-items: start !important;
}

.content-area,
.content-wrapper > main {
  min-width: 0 !important;
  overflow: hidden !important;
}

.content-wrapper > aside.sidebar {
  min-width: 0 !important;
  width: 320px !important;
}

/* Bloques Gutenberg no desbordan su contenedor */
.content-area .wp-block-group__inner-container,
.content-area .is-layout-constrained,
.post-content .wp-block-group__inner-container {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Pies de foto (figcaption) ── */
figure.post-featured-img figcaption,
.wp-block-image figcaption,
.wp-element-caption,
figcaption {
  font-family: var(--tn-font-ui);
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--tn-mid-gray);
  padding: 6px 0;
  margin: 0;
  font-style: normal;
  text-align: center;
}

/* ── SVG iconos: tamaño fijo ── */
.footer-social svg { width: 15px !important; height: 15px !important; }
.topbar__social svg { width: 14px !important; height: 14px !important; }
.news-card__meta svg { width: 12px !important; height: 12px !important; }
.share-btn svg { width: 15px !important; height: 15px !important; }

/* Prevenir que WP block styles expandan SVGs */
.footer-social a svg,
.topbar__social a svg {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
}


/* =============================================
   RESPONSIVE MÓVIL
   ============================================= */

/* Footer móvil */
@media (max-width: 768px) {
  .footer-top {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 32px 0 24px !important;
  }

  .footer-brand__desc {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
  }

  .footer-col ul li a {
    font-size: 0.9rem !important;
    line-height: 1.8 !important;
  }

  .footer-col__title {
    font-size: 0.85rem !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }

  /* Cards en móvil: 1 columna */
  .wp-block-post-template.is-layout-grid.columns-3,
  .wp-block-post-template.is-layout-grid.columns-4,
  .wp-block-post-template.columns-3,
  .wp-block-post-template.columns-4 {
    grid-template-columns: 1fr !important;
  }

  /* Sidebar debajo en móvil */
  .content-wrapper {
    grid-template-columns: 1fr !important;
  }

  /* Hero más pequeño */
  .tn-hero-img, figure.tn-hero-img {
    height: 220px !important;
  }

  .tn-hero-title.wp-block-post-title {
    font-size: 1.2rem !important;
  }

  /* Nav menú */
  .site-header__inner {
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .footer-brand__desc {
    font-size: 1rem !important;
  }

  .footer-col ul li a {
    font-size: 1rem !important;
  }
}

/* Box sizing global */
* { box-sizing: border-box; }
body { overflow-x: hidden; }

/* Desktop: content-wrapper siempre grid 2 columnas */
@media (min-width: 821px) {
  .content-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 320px !important;
    gap: 32px !important;
    align-items: start !important;
  }
}