/*
Theme Name: Concordia 24
Theme URI: https://concordia24.com.ar
Author: Concordia 24 Dev Team
Author URI: https://concordia24.com.ar
Description: Theme profesional para Concordia 24 — Diario Digital. Diseño responsive, SEO optimizado, con sistema de banners publicitarios administrable desde el panel de WordPress.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: concordia24
Tags: news, magazine, responsive, custom-menu, custom-logo, featured-images, theme-options
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
*/

/* ========== VARIABLES ========== */
:root {
  --navy: #0D1B2A;
  --navy-deep: #080f18;
  --azul-oscuro: #1B3A5C;
  --azul-medio: #2E6B9E;
  --celeste: #4AC0FF;
  --celeste-claro: #7AD4FF;
  --rojo: #D72638;
  --verde: #2ecc71;
  --blanco: #ffffff;
  --gris-100: #f4f5f7;
  --gris-200: #e2e4e8;
  --gris-300: #c8ccd4;
  --gris-500: #6b7280;
  --gris-700: #374151;
  --font-logo: 'Outfit', sans-serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;
}

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

body {
  font-family: var(--font-body);
  background: var(--gris-100);
  color: var(--gris-700);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a { text-decoration: none; color: inherit; transition: color 0.2s; }
img { max-width: 100%; height: auto; display: block; }

/* ========== HEADER ========== */
.site-header {
  background: linear-gradient(180deg, #0b1a3a 0%, #0d2d5e 100%);
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
  overflow: hidden;
}
.site-header::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 420px;
  height: 100%;
  background: radial-gradient(ellipse at center, rgba(74,192,255,0.1) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.hamburger {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  border-radius: 6px;
  transition: background 0.2s;
  min-width: 40px;
  z-index: 1;
  position: relative;
}
.hamburger:hover { background: rgba(255,255,255,0.08); }
.hamburger span {
  display: block;
  width: 22px;
  height: 2.5px;
  background: var(--blanco);
  border-radius: 2px;
  transition: all 0.3s;
}
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

.logo {
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 32px;
  letter-spacing: 2px;
  color: var(--blanco);
  display: flex;
  align-items: center;
  text-decoration: none;
  user-select: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.logo-text { color: var(--blanco); }
.logo-separator {
  width: 3px;
  height: 28px;
  margin: 0 10px;
  background: linear-gradient(180deg, var(--celeste), var(--azul-medio));
  border-radius: 2px;
}
.logo-24 { color: var(--celeste); font-weight: 900; }
.logo-subtitle {
  display: none;
  font-family: var(--font-body);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 4px;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.header-date {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
  text-align: right;
  min-width: 120px;
  line-height: 1.4;
  z-index: 1;
  position: relative;
  white-space: nowrap;	
	flex-shrink: 0;
}

/* ========== SIDE MENU ========== */
.side-menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.side-menu-overlay.active { opacity: 1; pointer-events: all; }

.side-menu {
  position: fixed;
  top: 0;
  left: -320px;
  width: 300px;
  height: 100vh;
  background: var(--navy);
  z-index: 300;
  transition: left 0.35s cubic-bezier(0.4,0,0.2,1);
  overflow-y: auto;
  padding: 24px 0;
}
.side-menu.active { left: 0; }

.side-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 8px;
}
.side-menu-logo {
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 22px;
  color: var(--blanco);
  display: flex;
  align-items: center;
}
.side-menu-logo .logo-separator { height: 20px; margin: 0 8px; }
.side-menu-logo .logo-24 { color: var(--celeste); }

.side-menu-close {
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 28px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.2s;
  line-height: 1;
}
.side-menu-close:hover { color: #fff; background: rgba(255,255,255,0.08); }

.side-menu-section {
  padding: 16px 24px 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--celeste);
  opacity: 0.6;
}
.side-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
  border-left: 3px solid transparent;
}
.side-menu a:hover {
  color: var(--blanco);
  background: rgba(255,255,255,0.04);
  border-left-color: var(--celeste);
}

/* ========== NAV BAR ========== */
.main-nav {
  background: var(--blanco);
  border-bottom: 1px solid var(--gris-200);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.main-nav::-webkit-scrollbar { display: none; }
.main-nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  padding: 0 24px;
  gap: 0;
  min-width: max-content;
}
.main-nav li a {
  display: block;
  padding: 13px 18px;
  color: var(--gris-500);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all 0.2s;
  white-space: nowrap;
  position: relative;
}
.main-nav li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: var(--azul-medio);
  transition: width 0.3s;
  border-radius: 1px;
}
.main-nav li a:hover { color: var(--navy); }
.main-nav li a:hover::after { width: 60%; }
.main-nav li.current-menu-item a,
.main-nav li.current-cat a { color: var(--navy); }
.main-nav li.current-menu-item a::after,
.main-nav li.current-cat a::after { width: 60%; }

/* ========== AD BANNER ========== */
.ad-banner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px;
}
.ad-slot {
  background: linear-gradient(135deg, var(--azul-oscuro), var(--navy));
  border-radius: 10px;
  padding: 20px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blanco);
  overflow: hidden;
  position: relative;
  min-height: 80px;
}
.ad-slot img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}
.ad-slot a { display: block; }

/* ========== MARQUEE ========== */
.marquee-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 16px;
}
.marquee-container {
  background: var(--gris-100);
  border: 1px solid var(--gris-200);
  border-radius: 8px;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  height: 44px;
}
.marquee-badge {
  background: transparent;
  color: var(--rojo);
  border: 2px solid var(--rojo);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  margin-left: 10px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  z-index: 2;
  position: relative;
  flex-shrink: 0;
}
.marquee-pulse {
  width: 7px;
  height: 7px;
  background: var(--rojo);
  border-radius: 50%;
  margin-right: 8px;
  animation: pulse 1.5s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}
.marquee-track {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
}
.marquee-track::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 100px;
  height: 100%;
  background: linear-gradient(90deg, transparent, var(--gris-100));
  z-index: 1;
  pointer-events: none;
}
.marquee-content {
  display: flex;
  align-items: center;
  height: 100%;
  animation: marquee-scroll 40s linear infinite;
  white-space: nowrap;
}
.marquee-content:hover { animation-play-state: paused; }
.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 32px;
  color: var(--azul-oscuro);
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}
.marquee-item::before {
  content: '»';
  color: var(--rojo);
  font-weight: 800;
  font-size: 16px;
}
.marquee-item a { color: inherit; }
.marquee-item a:hover { color: var(--azul-medio); }

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

/* ========== MAIN CONTENT ========== */
.main-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 40px;
}

/* ========== NEWS GRID (home featured) ========== */
.news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* ========== CARDS ========== */
.featured-article {
  border-radius: 12px;
  overflow: hidden;
  background: var(--blanco);
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
}
.featured-article:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.featured-article a { display: block; }
.featured-article img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.featured-body {
  padding: 20px 24px 24px;
}
.news-badge {
  display: inline-block;
  background: var(--azul-oscuro);
  color: var(--blanco);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 4px;
  margin-bottom: 12px;
}
.news-badge a { color: inherit; }
.featured-body h2 {
  font-family: var(--font-logo);
  font-size: 26px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.25;
  margin-bottom: 10px;
}
.featured-body h2 a { color: inherit; }
.featured-body h2 a:hover { color: var(--azul-medio); }
.featured-body p {
  font-size: 14px;
  color: var(--gris-500);
  line-height: 1.6;
  margin-bottom: 12px;
}
.article-meta {
  font-size: 12px;
  color: var(--gris-500);
  display: flex;
  align-items: center;
  gap: 6px;
}
.article-meta .dot { color: var(--celeste); }

.side-articles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
}

.side-card {
  background: var(--blanco);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.side-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.side-card a.card-link {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.side-card img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.side-card-body {
  padding: 14px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.side-card-body .news-badge { margin-bottom: 8px; font-size: 9px; padding: 3px 10px; }
.side-card-body h3 {
  font-family: var(--font-logo);
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  flex: 1;
}
.side-card-body h3 a { color: inherit; }
.side-card-body h3 a:hover { color: var(--azul-medio); }

/* ========== PLACEHOLDER (no thumbnail) ========== */
.placeholder-img {
  width: 100%;
  display: block;
  background: linear-gradient(135deg, var(--azul-oscuro), var(--azul-medio));
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.placeholder-img.side { aspect-ratio: 16/10; }
.placeholder-img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.15;
}

/* ========== SECTION HEADERS ========== */
.section-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.section-header h2 {
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 22px;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
}
.section-header .line {
  flex: 1;
  height: 3px;
  background: linear-gradient(90deg, var(--azul-medio), transparent);
  border-radius: 2px;
}
.section-header .ver-mas {
  font-size: 12px;
  font-weight: 700;
  color: var(--azul-medio);
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
}
.section-header .ver-mas:hover { color: var(--celeste); }

.section-block {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 36px;
}

.news-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.news-row .side-card-body h3 { font-size: 14px; }

/* ========== BANNER ADS ========== */
.banners-row {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.banner-slot {
  width: 350px;
  height: 250px;
  background: linear-gradient(135deg, #e8ecf2, #d5dbe5);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--gris-500);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  border: 1px dashed var(--gris-300);
}
.banner-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.banner-slot a { display: block; width: 100%; height: 100%; }
.banner-slot.has-image { border: none; }
.banner-slot .banner-size {
  font-size: 10px;
  color: var(--gris-300);
  margin-top: 4px;
  font-weight: 400;
}

/* ========== LIST CARDS (Provinciales) ========== */
.news-list-card {
  display: flex;
  gap: 16px;
  background: var(--blanco);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
}
.news-list-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.news-list-card .thumb-wrap {
  width: 180px;
  min-height: 120px;
  flex-shrink: 0;
  overflow: hidden;
}
.news-list-card .thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-list-card .card-text {
  padding: 14px 16px 14px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.news-list-card .card-text h3 {
  font-family: var(--font-logo);
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  margin-top: 6px;
}
.news-list-card .card-text h3 a { color: inherit; }
.news-list-card .card-text h3 a:hover { color: var(--azul-medio); }
.news-list-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

/* ========== POLICIALES ========== */
.policiales-section {
  background: linear-gradient(180deg, #0b1a3a 0%, #12243f 100%);
  padding: 36px 0;
}
.policiales-section .section-header h2 { color: var(--rojo); }
.policiales-section .section-header .line { background: linear-gradient(90deg, var(--rojo), transparent); }
.policiales-section .section-header .ver-mas { color: rgba(255,255,255,0.5); }
.policiales-section .section-header .ver-mas:hover { color: #fff; }

.policiales-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
}
.policial-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s;
  cursor: pointer;
}
.policial-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(215,38,56,0.3);
  transform: translateY(-2px);
}
.policial-card img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.policial-card .placeholder-img {
  background: linear-gradient(135deg, #1a1a2e, #16213e);
}
.policial-card .card-body { padding: 14px 16px 16px; }
.policial-card .news-badge { background: var(--rojo); }
.policial-card h3 {
  font-family: var(--font-logo);
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  line-height: 1.35;
}
.policial-card h3 a { color: inherit; }
.policial-card h3 a:hover { color: var(--celeste-claro); }
.policial-card .article-meta {
  color: rgba(255,255,255,0.4);
  margin-top: 8px;
}

/* Dark banner slots */
.banner-dark { border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.3); }
.banner-dark .banner-size { color: rgba(255,255,255,0.15); }
.banner-dark.has-image { border: none; background: transparent; }

/* ========== DEPORTES ========== */
.deportes-section {
  background: linear-gradient(135deg, #0d2d5e 0%, #0b1a3a 50%, #122a1e 100%);
  padding: 36px 0 48px;
}
.deportes-section .section-header h2 { color: var(--verde); }
.deportes-section .section-header .line { background: linear-gradient(90deg, var(--verde), transparent); }
.deportes-section .section-header .ver-mas { color: rgba(255,255,255,0.5); }
.deportes-section .section-header .ver-mas:hover { color: #fff; }

.deportes-featured {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
.deporte-main {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
}
.deporte-main:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(46,204,113,0.3);
  transform: translateY(-2px);
}
.deporte-main img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.deporte-main .placeholder-img { background: linear-gradient(135deg, #0a2e1a, #0d2d5e); }
.deporte-main .card-body { padding: 18px 20px 20px; }
.deporte-main .news-badge { background: var(--verde); color: #0b1a3a; }
.deporte-main h2 {
  font-family: var(--font-logo);
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  line-height: 1.3;
  margin-top: 4px;
}
.deporte-main h2 a { color: inherit; }
.deporte-main h2 a:hover { color: var(--verde); }
.deporte-main p { color: rgba(255,255,255,0.5); font-size: 13px; margin-top: 8px; line-height: 1.5; }

.deportes-side-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.deporte-list-item {
  display: flex;
  gap: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s;
  flex: 1;
}
.deporte-list-item:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(46,204,113,0.2);
}
.deporte-list-item .thumb-wrap {
  width: 110px;
  min-height: 80px;
  flex-shrink: 0;
  overflow: hidden;
}
.deporte-list-item .thumb-wrap img { width: 100%; height: 100%; object-fit: cover; }
.deporte-list-item .placeholder-img {
  width: 110px;
  min-height: 80px;
  aspect-ratio: auto;
  flex-shrink: 0;
  background: linear-gradient(135deg, #0a2e1a, #0d2d5e);
}
.deporte-list-item .item-text {
  padding: 12px 14px 12px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.deporte-list-item .news-badge { background: var(--verde); color: #0b1a3a; font-size: 8px; padding: 2px 8px; margin-bottom: 6px; align-self: flex-start; }
.deporte-list-item h4 {
  font-family: var(--font-logo);
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  line-height: 1.35;
}
.deporte-list-item h4 a { color: inherit; }
.deporte-list-item h4 a:hover { color: var(--verde); }

/* ========== INLINE AD ========== */
.inline-ad {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 24px 36px;
}
.inline-ad-slot {
  background: linear-gradient(135deg, #e8ecf2, #d5dbe5);
  border: 1px dashed var(--gris-300);
  border-radius: 10px;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gris-500);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  gap: 8px;
  overflow: hidden;
}
.inline-ad-slot img { max-width: 100%; height: auto; border-radius: 10px; }
.inline-ad-slot.has-image { border: none; background: transparent; min-height: auto; }

/* ========== SINGLE POST ========== */
.single-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 32px 24px 60px;
}
.single-header { margin-bottom: 24px; }
.single-header .news-badge { margin-bottom: 16px; }
.single-header h1 {
  font-family: var(--font-logo);
  font-size: 36px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 16px;
}
.single-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--gris-500);
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gris-200);
}
.single-thumb {
  margin-bottom: 24px;
  border-radius: 12px;
  overflow: hidden;
}
.single-thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.single-content {
  font-size: 17px;
  line-height: 1.8;
  color: var(--gris-700);
}
.single-content p { margin-bottom: 1.4em; }
.single-content h2, .single-content h3 {
  font-family: var(--font-logo);
  color: var(--navy);
  margin: 1.6em 0 0.6em;
}
.single-content h2 { font-size: 24px; }
.single-content h3 { font-size: 20px; }
.single-content img {
  border-radius: 8px;
  margin: 1.5em 0;
}
.single-content blockquote {
  border-left: 4px solid var(--celeste);
  padding: 16px 24px;
  margin: 1.5em 0;
  background: rgba(74,192,255,0.05);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--azul-oscuro);
}
.single-tags {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--gris-200);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-tags a {
  background: var(--gris-100);
  border: 1px solid var(--gris-200);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gris-500);
}
.single-tags a:hover { background: var(--azul-oscuro); color: var(--blanco); border-color: var(--azul-oscuro); }

.related-posts {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px 60px;
}
.related-posts .news-row { grid-template-columns: repeat(3, 1fr); }

/* ========== ARCHIVE ========== */
.archive-header {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 0;
}
.archive-header h1 {
  font-family: var(--font-logo);
  font-size: 32px;
  font-weight: 800;
  color: var(--navy);
  text-transform: uppercase;
}
.archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* ========== 404 ========== */
.error-404 {
  max-width: 600px;
  margin: 0 auto;
  padding: 80px 24px;
  text-align: center;
}
.error-404 h1 {
  font-family: var(--font-logo);
  font-size: 120px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1;
  opacity: 0.1;
}
.error-404 h2 {
  font-family: var(--font-logo);
  font-size: 28px;
  color: var(--navy);
  margin: 16px 0;
}
.error-404 p { color: var(--gris-500); margin-bottom: 24px; }
.error-404 a.btn {
  display: inline-block;
  background: var(--azul-oscuro);
  color: var(--blanco);
  padding: 12px 32px;
  border-radius: 8px;
  font-weight: 700;
}

/* ========== PAGINATION ========== */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 32px 0;
}
.pagination a, .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  background: var(--blanco);
  color: var(--gris-700);
  border: 1px solid var(--gris-200);
}
.pagination .current { background: var(--azul-oscuro); color: var(--blanco); border-color: var(--azul-oscuro); }
.pagination a:hover { background: var(--gris-200); }

/* ========== FOOTER ========== */
.site-footer {
  background: linear-gradient(180deg, #0b1a3a 0%, #060e1a 100%);
  text-align: center;
}
.footer-logo {
  font-family: var(--font-logo);
  font-weight: 800;
  font-size: 28px;
  color: var(--blanco);
  display: inline-flex;
  align-items: center;
  margin-bottom: 12px;
}
.footer-logo .logo-separator { width: 3px; height: 24px; margin: 0 8px; background: linear-gradient(180deg, var(--celeste), var(--azul-medio)); border-radius: 2px; }
.footer-logo .logo-24 { color: var(--celeste); font-weight: 900; }
.footer-copy {
  color: rgba(255,255,255,0.3);
  font-size: 12px;
  margin-top: 8px;
}

/* ========== COMMENTS ========== */
.comments-area { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--gris-200); }
.comments-area h2 { font-family: var(--font-logo); font-size: 22px; color: var(--navy); margin-bottom: 20px; }
.comment-list { list-style: none; }
.comment-body { padding: 16px 0; border-bottom: 1px solid var(--gris-200); }
.comment-author { font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.comment-content p { font-size: 14px; line-height: 1.6; }
.comment-respond { margin-top: 32px; }
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gris-200);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  margin-bottom: 12px;
}
.comment-respond textarea { min-height: 120px; resize: vertical; }
.comment-respond .submit {
  background: var(--azul-oscuro);
  color: var(--blanco);
  border: none;
  padding: 12px 32px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
}

/* ========== RESPONSIVE ========== */
@media (min-width: 768px) {
  .logo { font-size: 36px; }
  .logo-separator { height: 32px; }
  .logo-subtitle { display: block; }
  .site-header { height: 80px; padding: 0 32px; }
}
@media (min-width: 1024px) {
  .logo { font-size: 40px; }
  .logo-separator { height: 36px; margin: 0 12px; }
}
@media (max-width: 900px) {
  .news-grid { grid-template-columns: 1fr; }
  .side-articles { grid-template-columns: 1fr 1fr; }
  .news-row { grid-template-columns: 1fr 1fr; }
  .policiales-grid { grid-template-columns: 1fr 1fr; }
  .deportes-featured { grid-template-columns: 1fr; }
  .news-list-grid { grid-template-columns: 1fr; }
  .archive-grid { grid-template-columns: 1fr 1fr; }
  .related-posts .news-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .site-header { height: 60px; padding: 0 16px; }
  .logo { font-size: 24px; }
  .logo-separator { height: 22px; margin: 0 7px; width: 2.5px; }
  .header-date { font-size: 10px; min-width: 80px; }
  .main-nav ul { justify-content: flex-start; padding: 0 16px; }
  .main-nav li a { padding: 12px 14px; font-size: 12px; }
  .ad-banner { padding: 12px 16px; }
  .marquee-wrapper { padding: 0 16px 12px; }
  .main-content { padding: 0 16px 32px; }
  .side-articles { grid-template-columns: 1fr; }
  .featured-body h2 { font-size: 22px; }
  .featured-body { padding: 16px 18px 20px; }
  .side-card-body h3 { font-size: 14px; }
  .section-block { padding: 0 16px 28px; }
  .news-row { grid-template-columns: 1fr; }
  .banner-slot { width: 100%; max-width: 350px; }
  .policiales-grid { grid-template-columns: 1fr; }
  .policiales-section, .deportes-section { padding: 28px 0; }
  .deporte-main h2 { font-size: 18px; }
  .news-list-card .thumb-wrap { width: 120px; }
  .inline-ad { padding: 8px 16px 28px; }
  .single-header h1 { font-size: 26px; }
  .single-content { font-size: 16px; }
  .archive-grid { grid-template-columns: 1fr; }
  .related-posts .news-row { grid-template-columns: 1fr; }
}


.side-menu a svg,
.side-menu svg {
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  min-height: 18px;
  max-height: 18px;
  opacity: 0.5;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}




/* ==========================================================================
   SINGLE POST v2 — Layout con sidebar, avatar, share icons, Lo más leído
   Pegar este bloque al final de style.css
   ========================================================================== */

/* --- Layout dos columnas --- */
.single-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 60px;
  align-items: start;
}

/* --- Columna principal --- */
.single-main {
  min-width: 0;
}

/* Override del viejo .single-wrapper */
.single-wrapper {
  max-width: 100%;
  padding: 0;
}

/* --- Header de nota --- */
.single-header {
  margin-bottom: 28px;
}
.single-header .news-badge {
  margin-bottom: 14px;
  display: inline-block;
}
.single-header h1 {
  font-family: var(--font-logo);
  font-size: 34px;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.22;
  margin-bottom: 20px;
}

/* --- Author row --- */
.single-author-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gris-200);
}
.single-author-info {
  display: flex;
  align-items: center;
  gap: 12px;
}
.author-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid var(--gris-200);
}
.author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.author-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.author-name {
  font-size: 14px;
  color: var(--gris-700);
}
.author-name strong {
  color: var(--navy);
  font-weight: 700;
}
.author-date {
  font-size: 13px;
  color: var(--gris-500);
}

/* --- Share icons --- */
.single-share-icons {
  display: flex;
  align-items: center;
  gap: 6px;
}
.share-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--gris-300);
  color: var(--gris-400);
  transition: all 0.25s ease;
  text-decoration: none;
}
.share-icon:hover {
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(0,0,0,0.12);
}
.share-icon svg {
  display: block;
}

/* Hover colors por red social */
.share-facebook:hover {
  background: #1877F2;
  border-color: #1877F2;
  color: #fff;
}
.share-whatsapp:hover {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
}
.share-x:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}
.share-linkedin:hover {
  background: #0A66C2;
  border-color: #0A66C2;
  color: #fff;
}

/* --- Imagen destacada --- */
.single-thumb {
  margin-bottom: 24px;
  border-radius: 12px;
  overflow: hidden;
}
.single-thumb img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}

/* --- Contenido --- */
.single-content {
  font-size: 17px;
  line-height: 1.8;
  color: var(--gris-700);
}
.single-content p { margin-bottom: 1.4em; }
.single-content h2,
.single-content h3 {
  font-family: var(--font-logo);
  color: var(--navy);
  margin: 1.6em 0 0.6em;
}
.single-content h2 { font-size: 24px; }
.single-content h3 { font-size: 20px; }
.single-content img {
  border-radius: 8px;
  margin: 1.5em 0;
}
.single-content blockquote {
  border-left: 4px solid var(--celeste);
  padding: 16px 24px;
  margin: 1.5em 0;
  background: rgba(74,192,255,0.05);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--azul-oscuro);
}

/* --- Tags --- */
.single-tags {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--gris-200);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-tags a {
  background: var(--gris-100);
  border: 1px solid var(--gris-200);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gris-500);
  text-decoration: none;
}
.single-tags a:hover {
  background: var(--azul-oscuro);
  color: var(--blanco);
  border-color: var(--azul-oscuro);
}

/* ==============================================================
   SIDEBAR
   ============================================================== */
.single-sidebar {
  position: sticky;
  top: 24px;
}

/* --- Lo más leído --- */
.sidebar-mas-leido {
  background: var(--blanco);
  border: 1px solid var(--gris-200);
  border-radius: 12px;
  padding: 24px 20px;
  margin-bottom: 28px;
}
.sidebar-title {
  font-family: var(--font-logo);
  font-size: 18px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--celeste);
}

/* Cada item de lo más leído */
.mas-leido-item {
  display: grid;
  grid-template-columns: 28px 72px 1fr;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid var(--gris-100);
  transition: background 0.2s ease;
}
.mas-leido-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.mas-leido-item:first-child {
  padding-top: 0;
}
.mas-leido-item:hover {
  background: var(--gris-50, #fafafa);
}
.mas-leido-item:hover .mas-leido-title {
  color: var(--celeste);
}

/* Número ranking */
.mas-leido-rank {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  font-family: var(--font-logo);
  font-size: 15px;
  font-weight: 800;
  flex-shrink: 0;
}

/* Colores alternados para el ranking */
.mas-leido-item:nth-child(1) .mas-leido-rank,
.mas-leido-item:nth-child(2) .mas-leido-rank {
  background: var(--azul-oscuro, #0d2d5e);
  color: #fff;
}
.mas-leido-item:nth-child(3) .mas-leido-rank,
.mas-leido-item:nth-child(4) .mas-leido-rank,
.mas-leido-item:nth-child(5) .mas-leido-rank {
  background: var(--celeste);
  color: var(--navy);
}

/* Thumbnail en lo más leído */
.mas-leido-thumb {
  width: 72px;
  height: 54px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
}
.mas-leido-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mas-leido-no-thumb {
  width: 100%;
  height: 100%;
  background: var(--gris-200);
}

/* Título en lo más leído */
.mas-leido-title {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

/* --- Banners sidebar --- */
.sidebar-banners {
  text-align: center;
  margin-bottom: 24px;
}
.sidebar-pub-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--gris-400);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.sidebar-banners .banner-slot {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

/* --- Related posts --- */
.related-posts {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 60px;
}
.related-posts .section-header h2 {
  font-family: var(--font-logo);
  font-size: 20px;
  font-weight: 800;
  color: var(--navy);
}
.related-posts .news-row {
  grid-template-columns: repeat(3, 1fr);
}

/* ==============================================================
   RESPONSIVE — Single con sidebar
   ============================================================== */
@media (max-width: 960px) {
  .single-layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 24px 16px 40px;
  }
  .single-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .sidebar-mas-leido {
    grid-column: 1 / -1;
  }
}
@media (max-width: 700px) {
  .single-header h1 {
    font-size: 26px;
  }
  .single-author-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .single-share-icons {
    width: 100%;
    justify-content: flex-start;
  }
  .single-content {
    font-size: 16px;
  }
  .single-sidebar {
    grid-template-columns: 1fr;
  }
  .related-posts .news-row {
    grid-template-columns: 1fr;
  }
}




/* ================================================================
   CONCORDIA 24 — Cierre de Home
   POLICIALES (oscuro) → CULTURA (claro) → DEPORTES (medio)

   - Mobile-first, clamp() para fluid type
   - Paleta de marca únicamente (navy / celeste / blanco + acentos)
   - GPU-friendly (transform/opacity) · reduced-motion respetado
   - Thumbnails visibles en TODAS las noticias de las 3 secciones
   ================================================================ */

/* ---------- Variables locales (portables) ---------- */
.c24-section{
  --c24-navy-deep:#0b1a3a;
  --c24-navy:#0d2d5e;
  --c24-navy-mid:#164a8a;
  --c24-blue-mid:#1e5ea8;
  --c24-celeste:#4AC0FF;
  --c24-red:#E63946;
  --c24-red-bright:#EF4444;
  --c24-green:#22c55e;
  --c24-green-bright:#4ade80;

  position:relative;
  overflow:hidden;
  padding:clamp(40px,6vw,72px) 0;
  contain:layout paint;
}

/* ---------- Section header (común a las 3) ---------- */
.c24-section .section-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:clamp(20px,3vw,28px);
}
.c24-section .section-header h2{
  font-family:'Outfit',sans-serif;
  font-weight:800;
  font-size:clamp(18px,2.2vw,22px);
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.c24-section .section-header .sec-dot{
  width:10px;height:10px;
  border-radius:50%;
  display:inline-block;
  flex-shrink:0;
}
.c24-section .section-header .line{
  flex:1;
  height:2px;
  opacity:.4;
  min-width:20px;
}
.c24-section .section-header .ver-mas{
  font-family:'Outfit',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:gap .2s ease,color .2s ease,opacity .2s ease;
  white-space:nowrap;
}
.c24-section .section-header .ver-mas:hover{gap:10px;}

/* ---------- Badges base ---------- */
.c24-section .news-badge{
  display:inline-block;
  font-family:'Outfit',sans-serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  font-weight:700;
  padding:5px 12px;
  border-radius:4px;
  line-height:1;
  align-self:flex-start;
}
.c24-section .news-badge a{color:inherit;text-decoration:none;}

/* ---------- Banners row (común) ---------- */
.c24-section .banners-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

/* ================================================================
   1) POLICIALES — OSCURO · THUMB EN LAS 3 CARDS
   ================================================================ */
.c24-policiales{
  background:linear-gradient(180deg,var(--c24-navy-deep) 0%,var(--c24-navy) 100%);
  color:#fff;
}
.c24-policiales .section-header h2{color:#fff;}
.c24-policiales .section-header .sec-dot{
  background:var(--c24-red-bright);
  box-shadow:0 0 12px rgba(239,68,68,.6);
}
.c24-policiales .section-header .line{
  background:linear-gradient(90deg,var(--c24-red-bright) 0%,transparent 100%);
  opacity:.6;
}
.c24-policiales .section-header .ver-mas{color:#fff;opacity:.8;}
.c24-policiales .section-header .ver-mas:hover{opacity:1;}

.c24-policiales .policiales-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:20px;
  align-items:stretch;
}
.c24-policiales .policial-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .3s ease,border-color .3s ease;
  will-change:transform;
}
.c24-policiales .policial-card:hover{
  transform:translateY(-4px);
  border-color:rgba(239,68,68,.5);
}

/* Thumb visible en TODAS las cards */
.c24-policiales .policial-card__thumb{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:rgba(255,255,255,.03);
}
.c24-policiales .policial-card__thumb img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.c24-policiales .policial-card:hover .policial-card__thumb img{
  transform:scale(1.04);
}

.c24-policiales .policial-card .card-body{
  padding:18px 20px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}
.c24-policiales .policial-card .news-badge{
  background:var(--c24-red);
  color:#fff;
}
.c24-policiales .policial-card h3{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1.35;
  margin:0;
  flex:1;
}
.c24-policiales .policial-card h3 a{
  color:#fff;
  text-decoration:none;
  transition:color .2s ease;
}
.c24-policiales .policial-card h3 a:hover{color:var(--c24-red-bright);}
.c24-policiales .policial-card .article-meta{
  font-size:12px;
  color:rgba(255,255,255,.5);
}

/* ================================================================
   2) CULTURA — CLARO (celeste brand) · CON IMAGEN DESTACADA
   ================================================================ */
.c24-cultura{
  background:
    radial-gradient(ellipse at top right,rgba(74,192,255,.08) 0%,transparent 50%),
    radial-gradient(ellipse at bottom left,rgba(74,192,255,.06) 0%,transparent 50%),
    linear-gradient(180deg,#f5fafd 0%,#e8f2fa 100%);
  color:var(--c24-navy-deep);
}
.c24-cultura::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(74,192,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(74,192,255,.04) 1px,transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
  z-index:0;
}
.c24-cultura > .section-block{position:relative;z-index:1;}

.c24-cultura .section-header h2{color:var(--c24-navy-deep);}
.c24-cultura .section-header .sec-dot{
  background:var(--c24-celeste);
  box-shadow:0 0 12px rgba(74,192,255,.5);
}
.c24-cultura .section-header .line{
  background:linear-gradient(90deg,var(--c24-celeste) 0%,transparent 100%);
  opacity:.7;
}
.c24-cultura .section-header .ver-mas{color:var(--c24-navy);}
.c24-cultura .section-header .ver-mas:hover{color:var(--c24-blue-mid);}

.c24-cultura .cultura-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.c24-cultura .cultura-card{
  background:#fff;
  border:1px solid rgba(13,45,94,.08);
  border-radius:12px;
  padding:0;
  display:flex;
  flex-direction:column;
  box-shadow:0 4px 20px rgba(13,45,94,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  position:relative;
  overflow:hidden;
  will-change:transform;
}
.c24-cultura .cultura-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--c24-celeste) 0%,var(--c24-navy) 100%);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
  z-index:2;
}
.c24-cultura .cultura-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(13,45,94,.12);
  border-color:rgba(74,192,255,.3);
}
.c24-cultura .cultura-card:hover::before{transform:scaleX(1);}

.c24-cultura .cultura-card__thumb{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e8f2fa;
  position:relative;
}
.c24-cultura .cultura-card__thumb img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.c24-cultura .cultura-card:hover .cultura-card__thumb img{
  transform:scale(1.04);
}

.c24-cultura .cultura-card__body{
  padding:18px 20px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.c24-cultura .cultura-card .news-badge{
  background:linear-gradient(135deg,var(--c24-navy) 0%,var(--c24-blue-mid) 100%);
  color:#fff;
}
.c24-cultura .cultura-card h3{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:15px;
  line-height:1.4;
  margin:0;
  flex:1;
}
.c24-cultura .cultura-card h3 a{
  color:var(--c24-navy-deep);
  text-decoration:none;
  transition:color .2s ease;
}
.c24-cultura .cultura-card h3 a:hover{color:var(--c24-blue-mid);}
.c24-cultura .cultura-card .article-meta{
  font-size:12px;
  color:rgba(13,45,94,.55);
}

.c24-cultura .banners-row > *{
  background:rgba(74,192,255,.06);
  border:1px dashed rgba(13,45,94,.15);
  border-radius:10px;
}

/* ================================================================
   3) DEPORTES — MEDIO · THUMB EN HERO + EN LA LISTA LATERAL
   ================================================================ */
.c24-deportes{
  background:
    radial-gradient(ellipse at top left,rgba(74,192,255,.18) 0%,transparent 50%),
    linear-gradient(135deg,var(--c24-navy-mid) 0%,var(--c24-blue-mid) 60%,#2e7bd9 100%);
  color:#fff;
}
.c24-deportes::after{
  content:"";
  position:absolute;
  bottom:-200px;right:-200px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(74,192,255,.15) 0%,transparent 60%);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.c24-deportes > .section-block{position:relative;z-index:1;}

.c24-deportes .section-header h2{color:#fff;}
.c24-deportes .section-header .sec-dot{
  background:var(--c24-green-bright);
  box-shadow:0 0 14px rgba(74,222,128,.6);
}
.c24-deportes .section-header .line{
  background:linear-gradient(90deg,var(--c24-green-bright) 0%,transparent 100%);
  opacity:.7;
}
.c24-deportes .section-header .ver-mas{color:#fff;opacity:.9;}
.c24-deportes .section-header .ver-mas:hover{opacity:1;}

.c24-deportes .deportes-featured{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:20px;
}

.c24-deportes .deporte-main{
  background:rgba(11,26,58,.35);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  overflow:hidden;
  transition:transform .3s ease,border-color .3s ease;
  will-change:transform;
}
.c24-deportes .deporte-main:hover{
  transform:translateY(-4px);
  border-color:rgba(74,222,128,.4);
}
.c24-deportes .deporte-main > a{display:block;overflow:hidden;aspect-ratio:16/10;}
.c24-deportes .deporte-main img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.c24-deportes .deporte-main:hover img{transform:scale(1.04);}
.c24-deportes .deporte-main .card-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.c24-deportes .deporte-main h3{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:clamp(18px,2vw,22px);
  line-height:1.25;
  margin:0;
}
.c24-deportes .deporte-main h3 a{color:#fff;text-decoration:none;transition:color .2s ease;}
.c24-deportes .deporte-main h3 a:hover{color:var(--c24-green-bright);}
.c24-deportes .deporte-main p{
  font-size:14px;
  color:rgba(255,255,255,.75);
  line-height:1.5;
  margin:0;
}

.c24-deportes .news-badge{
  background:var(--c24-green);
  color:#0a2e13;
}

.c24-deportes .deportes-side-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* Lista lateral: layout horizontal thumb + texto */
.c24-deportes .deporte-list-item{
  background:rgba(11,26,58,.35);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:12px 14px;
  transition:transform .25s ease,border-color .3s ease,background .3s ease;
  flex:1;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  will-change:transform;
}
.c24-deportes .deporte-list-item:hover{
  transform:translateX(4px);
  border-color:rgba(74,222,128,.4);
  background:rgba(11,26,58,.55);
}

/* Thumb cuadrada compacta a la izquierda */
.c24-deportes .deporte-list-item .thumb-wrap{
  display:block;
  flex-shrink:0;
  width:90px;
  aspect-ratio:1;
  border-radius:8px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
  min-height:auto;
}
.c24-deportes .deporte-list-item .thumb-wrap a{
  display:block;
  width:100%;
  height:100%;
}
.c24-deportes .deporte-list-item .thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.c24-deportes .deporte-list-item:hover .thumb-wrap img{
  transform:scale(1.08);
}

/* Texto al lado del thumb */
.c24-deportes .deporte-list-item .item-text{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:0;
}
.c24-deportes .deporte-list-item .news-badge{
  font-size:10px;
  padding:3px 9px;
}
.c24-deportes .deporte-list-item h4{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:13.5px;
  line-height:1.35;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.c24-deportes .deporte-list-item h4 a{
  color:#fff;
  text-decoration:none;
  transition:color .2s ease;
}
.c24-deportes .deporte-list-item h4 a:hover{color:var(--c24-green-bright);}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width:1024px){
  .c24-policiales .policiales-grid{
    grid-template-columns:1fr 1fr;
  }
  .c24-policiales .policial-card:first-child{grid-column:1 / -1;}
  .c24-cultura .cultura-grid{grid-template-columns:repeat(2,1fr);}
  .c24-deportes .deportes-featured{grid-template-columns:1fr;}
  .c24-section .banners-row{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:720px){
  .c24-section{padding:40px 0;}
  .c24-section .section-header{flex-wrap:wrap;gap:10px;}
  .c24-section .section-header .line{display:none;}
  .c24-policiales .policiales-grid,
  .c24-cultura .cultura-grid,
  .c24-section .banners-row{
    grid-template-columns:1fr;
  }
  .c24-deportes .deporte-list-item .thumb-wrap{
    width:72px;
  }
}

/* Accesibilidad: reduced motion */
@media (prefers-reduced-motion:reduce){
  .c24-section *,
  .c24-section *::before,
  .c24-section *::after{
    transition:none !important;
    animation:none !important;
  }
  .c24-section .policial-card:hover,
  .c24-section .cultura-card:hover,
  .c24-section .deporte-main:hover,
  .c24-section .deporte-list-item:hover{
    transform:none;
  }
}

/* === Ocultar fecha en móvil (header) — Concordia 24 === */
@media (max-width: 782px) {
  .site-header .header-date,
  .site-header .current-date,
  .site-header .c24-date,
  .site-header time {
    display: none !important;
  }

  /* Reacomodamos el header: solo hamburguesa (izq) + logo (centro) */
  .site-header .header-inner {
    grid-template-columns: auto 1fr !important;
    justify-items: center;
  }
  .site-header .header-inner .menu-toggle {
    justify-self: start;
  }
  .site-header .site-branding {
    justify-self: center;
  }
}