/* ===============================
   Sección News (fondo blanco + imagen completa + fade-in)
   =============================== */
.news {
  --bg: #ffffff;       /* Fondo blanco */
  --fg: #0f172a;       /* Texto principal oscuro */
  --muted: #334155;    /* Texto secundario */
  --card: #f8fafc;     /* Tarjeta clara */
  --accent: #22c55e;   /* Verde fútbol */
  --accent-2: #38bdf8; /* Resalte secundario */
  --radius: 18px;
  --shadow: 0 10px 30px rgba(0,0,0,.10);
  --maxw: 1200px;

  background: var(--bg);
  color: var(--fg);
  padding: clamp(2rem, 2.5vw + 1rem, 4rem) 1rem;
}

/* Título sección */
.news .news-section-title {
  max-width: var(--maxw);
  margin: 0 auto clamp(1.25rem, 2vw, 2rem);
  font-size: clamp(1.4rem, 1.2rem + 2vw, 2.2rem);
  line-height: 1.15;
  letter-spacing: .2px;
  text-wrap: balance;
  color: var(--fg);
  position: relative;
}
.news .news-section-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: .6rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

/* Grid de contenido */
.news .news-about-content {
  max-width: var(--maxw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
}

/* Tarjeta de texto con animación fade-in desde la izquierda */
@keyframes fadeInLeft-news {
  from { opacity: 0; transform: translateX(-16px); }
  to   { opacity: 1; transform: translateX(0); }
}
.news .news-about-text {
  background: linear-gradient(180deg, rgba(15,23,42,.03), rgba(15,23,42,.015));
  border: 1px solid rgba(100,116,139,.20);
  border-radius: var(--radius);
  padding: clamp(1rem, 2vw, 2rem);
  box-shadow: var(--shadow);
  backdrop-filter: blur(4px);

  /* Animación de entrada */
  opacity: 0;
  transform: translateX(-16px);
  animation: fadeInLeft-news .7s ease .05s both;
}

.news .news-about-text p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(.98rem, .9rem + .35vw, 1.08rem);
  line-height: 1.6;
  transition: color .25s ease;
}

/* Hover: el párrafo pasa a color principal */
.news .news-about-text:hover p,
.news .news-about-content:hover .news-about-text p {
  color: var(--fg);
}

/* CTA opcional */
.news .news-about-text .cta-btn {
  display: inline-block;
  margin-top: 1rem;
  padding: .8rem 1.1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  color: #0b1224;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: 0 8px 18px rgba(56,189,248,.25);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.news .news-about-text .cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(56,189,248,.33);
  opacity: .95;
}
.news .news-about-text .cta-btn:focus-visible {
  outline: 3px solid var(--accent-2);
  outline-offset: 2px;
}

/* Imagen: mostrar completa (sin recorte) */
.news .news-about-image {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;              /* mantiene esquinas redondeadas */
  box-shadow: var(--shadow);
  isolation: isolate;
  background: #fff;              /* fondo blanco detrás de la imagen */
}

/* Altura mayor y object-fit: contain para evitar recorte */
.news .news-about-image img {
  width: 100%;
  height: 460px;                 /* ↑ altura para que se vea completa en desktop */
  display: block;
  object-fit: contain;           /* muestra toda la imagen SIN recortarla */
  background: #fff;              /* “letterbox” blanco si sobra espacio */
  transform: none;               /* sin zoom para no recortar */
  transition: opacity .4s ease;  /* micro-efecto */
}

/* Glow suave opcional */
.news .news-about-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(120% 60% at 20% 10%, rgba(34,197,94,.18), transparent 50%),
              radial-gradient(100% 50% at 80% 90%, rgba(56,189,248,.12), transparent 50%);
}

/* Accesibilidad: respeta preferencias de movimiento */
@media (prefers-reduced-motion: reduce) {
  .news .news-about-image img,
  .news .news-about-text .cta-btn,
  .news .news-about-text {
    transition: none !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important;
  }
}

/* ===============================
   Responsive refinado
   =============================== */

/* Laptops/monitores medianos */
@media (max-width: 1200px) {
  .news .news-about-content {
    grid-template-columns: 1fr 1fr;
    gap: clamp(.8rem, 1.5vw, 1.5rem);
  }
  .news { 
    padding: clamp(1.5rem, 2vw + .75rem, 3rem) 1rem;
  }
  .news .news-about-image img { height: 420px; }  /* ↓ un poco en 1200px */
}

/* Tablets apaisado ~992px */
@media (max-width: 992px) {
  .news .news-about-content { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .news .news-section-title { margin-bottom: 1rem; }
  .news .news-about-image img { height: 380px; }
}

/* Tablets vertical / móviles grandes ~768px */
@media (max-width: 768px) {
  .news .news-about-content { grid-template-columns: 1fr; gap: 1rem; }
  .news .news-about-image { order: -1; }                /* Imagen primero */
  .news .news-section-title { text-align: center; max-width: 28ch; }
  .news .news-about-text { text-align: center; padding: 1.1rem 1rem; border-radius: 14px; }
  .news .news-about-text p { margin-left: auto; margin-right: auto; max-width: 48ch; }
  .news .news-about-text .cta-btn { display: inline-block; margin-left: auto; margin-right: auto; }
  .news .news-about-image img { height: 340px; }
}

/* Móviles medianos ~600px */
@media (max-width: 600px) {
  .news { padding-left: .9rem; padding-right: .9rem; }
  .news .news-section-title::after { width: 48px; }
  .news .news-about-text { padding: 1rem; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
  .news .news-about-image img { height: 300px; }
}

/* Móviles chicos ~480px */
@media (max-width: 480px) {
  .news { padding: 1.25rem .85rem; }
  .news .news-about-text { border-radius: 12px; }
  .news .news-about-image img { height: 260px; }       /* aún visible sin recorte */
  .news .news-section-title { font-size: clamp(1.25rem, 1rem + 3vw, 1.7rem); }
}

/* Extra-chico ~360px */
@media (max-width: 360px) {
  .news { padding: 1rem .75rem; }
  .news .news-about-text p { font-size: .95rem; }
  .news .news-about-image img { height: 220px; }
}
