:root {
    --fuenteHeading: "Pridi", serif;
    --fuenteParrafos: "PT Sans", sans-serif;

    --primario: #e4007d;
    --azul: #1A1A40;
    --azul-secundario: #007AFF;
    --blanco: #ffffff;
    --negro: #000000;
}
html {
    box-sizing: border-box;
    font-size: 62.5%; /* 1 rem = 10px */    
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    font-family: var(--fuenteParrafos);
    font-size: 1.6rem;
    line-height: 2;
}

/** Globales **/
.contenedor {
    width: min(90%, 120rem);
    margin: 0 auto;
}
a {
    text-decoration: none;
}
h1, h2, h3, h4 {
    font-family: var(--fuenteHeading);
    line-height: 1.2;
}
h1 {
    font-size: 4.8rem;
}
h2 {
    font-size: 4rem;
}
h3 {
    font-size: 3.2rem;
}
h4 {
    font-size: 2.8rem;
}
img {
    max-width: 100%;
}
/** Utilidades **/
.no-margin {
    margin: 0;
}
.no-padding {
    padding: 0;
}
.centrar-texto {
    text-align: center;
}

/** Header **/
.webp .header {
    background-image: url(../img/banner.webp);
}
.no-webp .header {
    background-image: url(../img/banner.jpg);
}

.header {
    background-color: var(--azul);
}
.header a img{
    width: 45%;
}
.header__texto {
   text-align: center;
   color: var(--blanco);
   margin-top: 5rem;
}
.cover{
    height: 60vh;
    position: relative;
}
.cover img{
    width: 100%;
    height: 58vh;
    object-fit: cover;
    margin: 1.8rem 0;
}
@media (min-width: 768px) {
    .header__texto {
        margin-top: 15rem;
    }
}

.barra {
    display: flex;
    padding: 1rem 0;
    flex-direction: column;
}
.barra a{
    text-align: center;
}
.barra-noticias{
    background-color: var(--azul-secundario);
    padding: 1rem 0;
}

@media (min-width: 768px) {
    .barra { 
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .barra a{
        text-align: left;
    }
    .barra-noticias {
        position: sticky;
        top: 0;
        z-index: 1;
    }
    .nav-noticias{
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
}

.logo {
    color: var(--blanco); 
}
.logo__nombre {
    font-weight: 400;
}
.logo__bold {
    font-weight: 700;
}
@media (min-width: 768px) {
    .navegacion {
        display: flex;
        gap: 2rem;
    }
}
.navegacion__enlace {
    display: block;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: var(--blanco);
}

@media (min-width: 768px) {
    /*
      El layout en 2 columnas SOLO aplica cuando realmente existe sidebar
      (página principal). En categorías y páginas estáticas usamos 1 columna.
    */
    .contenido-principal.contenido-principal--with-aside {
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 4rem;
    }
    .contenido-principal.contenido-principal--no-aside {
        display: block;
    }
}

.entrada {
    border-bottom: 1px solid var(--gris);
    margin-bottom: 2rem;
}
.entrada:last-of-type {
    border: none;
    margin-bottom: 0;
}
.boton {
    display: block;
    font-family: var(--fuenteHeading);
    color: var(--blanco);
    text-align: center;
    padding: 1rem 3rem;
    font-size: 1.8rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 2rem;
    border: none;
}

@media (min-width: 768px) {
    .boton {
        display: inline-block;

    }
}
.boton:hover {
    cursor: pointer;
}
.boton--primario {
    background-color: var(--negro);
}
.boton--secundario {
    background-color: var(--primario);
}

.cursos {
    list-style: none;
}

.widget-curso {
    border-bottom: 1px solid var(--gris);
    margin-bottom: 2rem;
}
.widget-curso:last-of-type {
    border: none;
    margin-bottom: 0;
}
.widget-curso__label {
    font-family: var(--fuenteHeading);
    font-weight: bold;
}
.widget-curso__info {
    font-weight: normal;
}
.widget-curso__label,
.widget-curso__info {
    font-size: 2rem;
}

.footer {
    background-color: var(--negro);
    padding-bottom: 3rem;
    margin-top: 4rem;
}
.footer img{
    width: 45%;
}
.footer p{
    color: #ffffff;
    text-align: center;
}

/** Sobre Nosotros **/
@media (min-width: 768px) {
    .sobre-nosotros {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2rem;
    }
}

/** Cursos **/
.curso {
    padding: 3rem 0;
    border-bottom: 1px solid var(--gris);
}
@media (min-width: 768px) {
    .curso {
        display: grid;
        grid-template-columns: 1fr 2fr;
        column-gap: 2rem;
    }
}
.curso:last-of-type {
   border: none;
}
.curso__label {
    font-family: var(--fuenteHeading);
    font-weight: bold;
}
.curso__info {
    font-weight: normal;
}
.curso__label,
.curso__info {
    font-size: 2rem;
}

/** Contacto **/
.contacto-bg {
    background-image: url(../img/cover\ suscribete.jpg);
    height: 40rem;
    background-size: cover;
    background-repeat: no-repeat;
}

.formulario {
    background-color: #FFD4E8;
    margin: -5rem auto 0 auto;
    width: 95%;
    padding: 5rem;
}
.campo {
    display: flex;
    margin-bottom: 2rem;
}
.campo__label {
    flex: 0 0 9rem;
    text-align: right;
    padding-right: 2rem;
}
.campo__field {
    flex: 1;
    border: 1px solid var(--gris);
}
.campo__field--textarea {
    height: 20rem;
}
/* === Sticky + centrado categorías y ocultar duplicados === */
.nav-noticias--sticky { position: sticky; top: 0; z-index: 1000; }

/* =============================
   HERO CAROUSEL (Home)
   ============================= */
.hero-carousel-wrap{
    grid-column: 1 / -1; /* dentro del grid del layout, que abarque ambas columnas */
    margin: 2rem 0 3rem 0;
}
.hero-carousel{
    position: relative;
    width: 100%;
    height: 46rem;
    overflow: hidden;
    border-radius: 1.2rem;
}
.hero-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .6s ease;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Asegura que el overlay y el video se apilen correctamente */
    overflow: hidden;
}
.hero-slide.is-active{ opacity: 1; }
.hero-slide::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.25));
    pointer-events: none;
    z-index: 2;
}
.hero-video{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 1;
}

@media (max-width: 768px){
    .hero-carousel{ height: 32rem; }
}
.nav-noticias { background: #0d6efd; }
.nav-noticias .contenedor { display: flex; justify-content: center; }
.nav-noticias .navegacion { display:flex; justify-content:center; align-items:center; gap:2rem; flex-wrap:wrap; }
.nav-noticias .navegacion__enlace { color:#fff; }
.nav-noticias .navegacion__enlace:hover,
.nav-noticias .navegacion__enlace.navega--activo { border-bottom:3px solid #fff; filter:none; }
/* Oculta headers/navbars embebidos dentro del contenido de páginas */
.blog header, .blog .header, .blog footer, .blog .footer,
.blog .barra, .blog .logo, .blog .navegacion, .blog .nav-noticias { display:none!important; }


/* Ensure centered container */
.contenedor{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
}
/* Latest news grid and preview card */
.ultimas-noticias .grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  gap:1rem;
}
.card.preview{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}
.card.preview .cover img{width:100%;display:block;height:180px;object-fit:cover}
.card.preview .body{padding:0.75rem}
.btn{display:inline-block;padding:0.5rem 0.75rem;border-radius:8px;border:1px solid #111;text-decoration:none}


/* Centered container */
.contenedor{max-width:1100px;margin:0 auto;padding:0 1rem}
.ultimas-noticias .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.card.preview{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}
.card.preview .cover img{width:100%;display:block;height:180px;object-fit:cover}
.card.preview .body{padding:.75rem}
.btn{display:inline-block;padding:.5rem .75rem;border-radius:8px;border:1px solid #111;text-decoration:none}

/* === Home/Main meta date + sidebar links === */
.meta-fecha{font-size:1.4rem;color:#666;margin:.5rem 0 1rem 0}
.sidebar .widget-curso h4 a{color:var(--negro);text-decoration:none}
.sidebar .widget-curso h4 a:hover{text-decoration:underline}
.btn-sidebar{display:inline-block;margin:.25rem 0 1rem 0;font-size:1.4rem;text-decoration:none;border:1px solid var(--gris);padding:.4rem .8rem;border-radius:.6rem;color:var(--negro)}

/* === Sidebar: Últimas noticias (Opción B) === */
.latest{padding: 0;}
.latest__title{margin:0 0 1.2rem 0;font-size:2.6rem;}

.latest-top{
  position:relative;
  height: 220px;
  border-radius: 1.2rem;
  overflow:hidden;
  background:#cfe2ff; /* placeholder */
  background-image: var(--latest-bg);
  background-size: cover;
  background-position: center;
}
.latest-top__link{display:block;width:100%;height:100%;text-decoration:none;color:#fff;}
.latest-top__link::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.18);
  pointer-events:none;
}
.latest-top__overlay{
  position:absolute;
  left:0;right:0;bottom:0;
  padding: 1.2rem;
  background: rgba(10, 88, 202, 0.58);
  backdrop-filter: blur(1px);
}
.latest-top__cat{display:inline-block;font-size:1.3rem;letter-spacing:.04em;text-transform:capitalize;margin:0 0 .4rem 0;}
.latest-top__title{margin:0;font-size:2.0rem;line-height:1.15;}
.latest-top__date{display:block;margin-top:.6rem;font-size:1.6rem;opacity:.95;}

.latest-list{list-style:none;margin:1.2rem 0 0 0;padding:0;display:flex;flex-direction:column;gap:1rem;}
.latest-item{margin:0;padding:0;}
.latest-item__link{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:center;text-decoration:none;color:var(--negro);}
.latest-item__thumb{
  width:72px;height:72px;border-radius:1.0rem;
  background:#cfe2ff;
  background-image: var(--thumb-bg);
  background-size: cover;
  background-position:center;
}
.latest-item__meta{display:flex;flex-direction:column;gap:.2rem;min-width:0;}
.latest-item__cat{display:inline-block;font-size:1.2rem;color:#0a58ca;font-weight:700;text-transform:capitalize;}
.latest-item__headline{font-size:1.6rem;line-height:1.2;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.latest-item__date{font-size:1.3rem;color:#666;}
.latest__more{display:block;margin-top:1.4rem;text-align:center;text-decoration:none;border:1px solid var(--gris);padding:.8rem 1rem;border-radius:1rem;color:var(--negro);font-weight:700;}
.latest__more:hover{text-decoration:underline;}

/* === Layout: páginas sin sidebar === */
/*
  Nota: la regla base usa grid en .contenido-principal (>=768px).
  En páginas estáticas (Nosotros / Suscríbete) quitamos el aside y
  forzamos una sola columna con mayor especificidad.
*/
.contenido-principal.contenido-principal--no-aside{
  display:block !important;
}
@media (min-width: 768px) {
  .contenido-principal.contenido-principal--no-aside{
    display:block !important;
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
  }
}

/* === News preview (imagen de fondo + overlay) === */
.news-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 2rem;
}

.news-tile{
  position:relative;
  border-radius: 0;
  overflow:hidden;
  background:#cfe2ff; /* placeholder azul tenue */
  height: 260px;     /* tamaño predeterminado */
  background-image: var(--tile-bg);
  background-size: cover;
  background-position: center;
}

@media (min-width: 768px){
  .news-tile{ height: 280px; }
}

.news-tile__link{
  display:block;
  width:100%;
  height:100%;
  color:#fff;
  text-decoration:none;
}

/* Oscurecer levemente la imagen para legibilidad */
.news-tile__link::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.18);
  pointer-events:none;
}

.news-tile__overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding: 1.2rem 1.2rem 1.4rem 1.2rem;
  background: rgba(10, 88, 202, 0.58); /* azul con opacidad */
  backdrop-filter: blur(1px);
}

.news-tile__cat{
  display:inline-block;
  font-size: 1.4rem;
  letter-spacing: .04em;
  text-transform: capitalize;
  margin: 0 0 .4rem 0;
}

.news-tile__title{
  margin: 0;
  font-size: 2.4rem;
  line-height: 1.1;
}

.news-tile__date{
  display:block;
  margin-top: .8rem;
  font-size: 1.8rem;
  opacity: .95;
}

/* === Páginas estáticas (Nosotros / Suscríbete) === */
.page-static{
  max-width: 900px;
}
.static-title{
  color:#E4007D;
  font-size: 3.2rem;
  margin: 2rem 0;
}
.static-section h3{
  color:#1A1A40;
  margin-top: 3rem;
}
.static-section p,
.static-section li{
  font-size: 1.8rem;
  line-height: 1.6;
}
