:root {
  --azul: #0962ba;
  --azul-oscuro: #00257a;
  --azul-medio: #1a50c8;
  --azul-claro: #2d6be4;
  --azul-suave: #eaf0fb;
  --azul-suave2: #d4e2f8;
  --amarillo: #f5c400;
  --amarillo-b: #ffd740;
  --crema: #f2f4f9;
  --blanco: #ffffff;
  --gris-1: #f5f7fc;
  --gris-2: #e4eaf4;
  --gris-3: #97a3bc;
  --gris-4: #556080;
  --texto: #0b1838;
  --texto-suave: #2e3e6a;
  --coral: #d94030;
  --verde: #00966a;
  --naranja: #e8720a;
  --radio-card: 18px;
  --radio-sm: 12px;
  --sombra-card: 0 2px 16px rgba(0, 30, 100, 0.1);
  --sombra-hover: 0 10px 36px rgba(0, 30, 100, 0.2);
  --trans: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --nav-h: 80px;
  --cats-h: 52px;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: "Sora", sans-serif;
  background: var(--crema);
  color: var(--texto);
  min-height: 100vh;
  overflow-x: hidden;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 300;
  background: var(--blanco);
  border-bottom: 2px solid var(--gris-2);
  box-shadow: 0 1px 16px rgba(0, 40, 140, 0.07);
}
.nav-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 36px;
  display: flex;
  align-items: center;
  gap: 22px;
  height: 80px;
}
.nav-logo img {
  height: 45px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.22s ease;
  filter: drop-shadow(0 2px 6px rgba(0, 30, 100, 0.1));
}
.nav-logo:hover img {
  transform: scale(1.04);
  filter: drop-shadow(0 4px 12px rgba(0, 61, 165, 0.22));
}
.nav-nombre-sitio {
  font-size: 22px;
  font-weight: 800;
  color: var(--azul-oscuro);
  letter-spacing: -0.5px;
  text-decoration: none;
}
.nav-nombre-sitio em { font-style: normal; color: var(--amarillo); }

.ucb-hero {
  background: var(--azul-oscuro);
  padding: 48px 36px 48px;
  position: relative;
  overflow: hidden;
  min-height: 220px;
}
.ucb-hero-patron {
  position: absolute;
  inset: 0;
  background-size: 420px auto;
  background-repeat: repeat;
  background-position: center center;
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}
.ucb-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(0, 25, 90, 0.82) 0%,
      rgba(0, 37, 122, 0.68) 40%,
      rgba(0, 61, 165, 0.5) 70%,
      rgba(0, 80, 180, 0.3) 100%
    ),
    radial-gradient(
      ellipse 55% 70% at 90% 50%,
      rgba(245, 196, 0, 0.1) 0%,
      transparent 60%
    );
  pointer-events: none;
  z-index: 0;
}
.ucb-hero-inner {
  max-width: 1160px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(245, 196, 0, 0.12);
  border: 1px solid rgba(245, 196, 0, 0.3);
  border-radius: 100px;
  padding: 5px 15px;
  font-size: 11px;
  font-weight: 700;
  color: var(--amarillo-b);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.hero-badge-dot {
  width: 6px;
  height: 6px;
  background: var(--amarillo);
  border-radius: 50%;
  animation: parpadeo 2s ease-in-out infinite;
}
@keyframes parpadeo {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.55); }
}
.ucb-hero-titulo {
  font-size: clamp(36px, 5.5vw, 62px);
  font-weight: 800;
  color: var(--blanco);
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 14px;
  text-shadow: 0 2px 24px rgba(0,0,0,0.3);
}
.ucb-hero-titulo em { font-style: normal; color: var(--amarillo); }
.ucb-hero-sub {
  font-size: 15px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  max-width: 520px;
  margin-left: 10px
}

.ucb-cat-nav {
  background: var(--crema);
  position: sticky;
  top: var(--nav-h);
  z-index: 200;
  overflow: visible;
  border-bottom: 1.5px solid var(--gris-2);
}
.ucb-cat-nav-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 36px;
  display: flex;
  gap: 0;
  height: var(--cats-h);
  align-items: center;
  position: relative;
}
.ucb-cat-nav-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  flex: 1;
  min-width: 0;
  align-items: center;
  height: 100%;
}
.ucb-cat-nav-chips::-webkit-scrollbar { display: none; }
.ucb-cat-nav-inner::-webkit-scrollbar { display: none; }

.cat-chip {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
  border-radius: 10px;
  border: 1.5px solid var(--gris-2);
  background: var(--blanco);
  font-family: "Sora", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--gris-4);
  cursor: pointer;
  user-select: none;
  box-shadow: 0 1px 4px rgba(0, 30, 100, 0.05);
  padding: 0;
  height: 34px;
  text-decoration: none;
  transition:
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.cat-chip::before { display: none; }
.cat-chip-tab {
  width: 10px;
  height: 100%;
  flex-shrink: 0;
  background: var(--gris-3);
  align-self: stretch;
}
.cat-chip-label {
  padding: 0 14px 0 9px;
  display: flex;
  align-items: center;
  height: 100%;
  transition: color 0.18s ease;
}
.cat-chip:hover {
  border-color: var(--azul-medio);
  color: var(--azul);
  background: var(--azul-suave);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 61, 165, 0.13);
  text-decoration: none;
}
.cat-chip:active { transform: scale(0.96); }
.cat-chip.active {
  border-color: var(--cat-dot, var(--azul));
  color: var(--texto);
  background: var(--blanco);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
.cat-chip.active .cat-chip-label { color: var(--texto); font-weight: 700; }
.cat-chip--todos .cat-chip-tab   { background: #97A3BC; }

.cat-chip[href*="academico"]     .cat-chip-tab { background: #FFCD2D; }
.cat-chip[href*="formativo"]     .cat-chip-tab,
.cat-chip[href*="taller"]        .cat-chip-tab { background: #FF2939; }
.cat-chip[href*="cultural"]      .cat-chip-tab { background: #DF64FF; }
.cat-chip[href*="deportivo"]     .cat-chip-tab,
.cat-chip[href*="deporte"]       .cat-chip-tab { background: #E5760E; }
.cat-chip[href*="sociales"]      .cat-chip-tab,
.cat-chip[href*="social"]        .cat-chip-tab { background: #C5BE9F; }
.cat-chip[href*="institucional"] .cat-chip-tab { background: #0074FB; }
.cat-chip[href*="pastoral"]      .cat-chip-tab { background: #9CDF2F; }

.ucb-main { background: var(--crema); min-height: 100vh; }


.ucb-layout {
  max-width: 1160px;
  margin: 0 auto;
  padding: 36px 36px 80px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 32px;
  align-items: start;
}
.ucb-col-noticias { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.ucb-sidebar {
  position: sticky;
  top: calc(var(--nav-h) + var(--cats-h) + 16px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.seccion-titulo {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gris-3);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.seccion-titulo::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background: var(--azul);
  border-radius: 2px;
}
.ucb-destacada-cat {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 10px;
  background: var(--azul);
  color: var(--blanco);
}
.ucb-destacada-titulo {
  font-size: clamp(18px, 2.5vw, 32px);
  font-weight: 800;
  color: var(--blanco);
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin-bottom: 8px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.ucb-destacada-excerpt { font-size: 13px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; margin-bottom: 10px; }
.ucb-destacada-meta { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.45); display: flex; align-items: center; gap: 8px; }
.ucb-meta-sep { opacity: 0.4; }

.cat-academico .ucb-destacada-cat     { background: #FFCD2D; color: #0B1838; }
.cat-formativo .ucb-destacada-cat     { background: #FF2939; color: #ffffff; }
.cat-cultural .ucb-destacada-cat      { background: #DF64FF; color: #ffffff; }
.cat-deportivo .ucb-destacada-cat     { background: #E5760E; color: #ffffff; }
.cat-sociales .ucb-destacada-cat      { background: #C5BE9F; color: #0B1838; }
.cat-institucional .ucb-destacada-cat { background: #0074FB; color: #ffffff; }
.cat-pastoral .ucb-destacada-cat      { background: #9CDF2F; color: #0B1838; }

.ucb-grilla-wrap { display: flex; flex-direction: column; }
.ucb-grilla { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.ucb-card {
  background: var(--blanco);
  border-radius: var(--radio-card);
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--sombra-card);
  transition: box-shadow var(--trans), transform var(--trans);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--gris-2);
}
.ucb-card:hover { box-shadow: var(--sombra-hover); transform: translateY(-3px); }
.ucb-card-img { width: 100%; aspect-ratio: 16/9; overflow: hidden; flex-shrink: 0; }
.ucb-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.ucb-card:hover .ucb-card-img img { transform: scale(1.04); }
.ucb-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.ucb-card-cat {
  display: inline-block;
  width: 135px;
  text-align: center;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 7px;
  padding: 3px 10px;
  border-radius: 100px;
  background: var(--azul-suave);
  color: var(--azul);
}
.ucb-card-titulo { font-size: 15px; font-weight: 700; color: var(--texto); line-height: 1.35; letter-spacing: -0.2px; margin-bottom: 7px; flex: 1; }
.ucb-card-excerpt { font-size: 12px; color: var(--gris-4); line-height: 1.6; margin-bottom: 12px; }
.ucb-card-meta { font-size: 11px; font-weight: 600; color: var(--gris-3); display: flex; align-items: center; gap: 6px; margin-top: auto; }

.cat-academico .ucb-card-cat     { background: #FFF8DC; color: #7A6000; }
.cat-formativo .ucb-card-cat     { background: #FFE8EA; color: #C0001A; }
.cat-cultural .ucb-card-cat      { background: #F8E5FF; color: #9900CC; }
.cat-deportivo .ucb-card-cat     { background: #FFF0E0; color: #A84500; }
.cat-sociales .ucb-card-cat      { background: #F5F2EA; color: #5C5640; }
.cat-institucional .ucb-card-cat { background: #E0EEFF; color: #004BB3; }
.cat-pastoral .ucb-card-cat      { background: #EDFFD4; color: #3A7A00; }

.single #page, .single #content, .single #primary,
.single .site-content, .single .content-area, .single .site-main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
.single .inside-article,
.single .entry-content,
.single article:not(.single-article) {
  padding: 0 !important;
  max-width: 100% !important;
}

.single-hero {
  position: relative;
  width: 100%;
  display: flex;
  align-items: flex-end;
  background: var(--azul-oscuro);
  overflow: hidden;
  border-radius: 0 0 0 var(--radio-card);
  min-height: 320px;
}
.single-hero-img {
  position: absolute;
  inset: 0;
}
.single-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.single-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,25,90,0.97) 0%, rgba(0,37,122,0.75) 35%, rgba(0,61,165,0.2) 70%, transparent 100%);
}
.single-hero-content { position: relative; z-index: 2; padding: 36px 40px; }
.single-titulo {
  font-size: clamp(20px, 3vw, 40px);
  font-weight: 800;
  color: var(--blanco);
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 12px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.3);
  max-width: 740px;
}
.single-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: rgba(255,255,255,0.5); font-weight: 500; }
.single-autor { font-weight: 700; color: rgba(255,255,255,0.8); }
.single-contenido { font-size: 17px; line-height: 1.85; color: var(--texto-suave); }
.single-contenido p { margin-bottom: 22px; }
.single-contenido h2 { font-size: 22px; font-weight: 700; color: var(--texto); letter-spacing: -0.5px; margin: 32px 0 12px; }
.single-contenido h3 { font-size: 18px; font-weight: 700; color: var(--texto); margin: 24px 0 10px; }
.single-contenido img { width: 100%; border-radius: var(--radio-sm); margin: 22px 0; }
.single-contenido blockquote,
.single-contenido .wp-block-quote,
.single-contenido .wp-block-pullquote {
  position: relative;
  margin: 28px 0;
  padding: 14px 20px;
  background: rgba(0, 37, 122, 0.05);
  border: none;
  border-radius: var(--radio-card);
  overflow: hidden;
}
.single-contenido blockquote::before,
.single-contenido .wp-block-quote::before,
.single-contenido .wp-block-pullquote::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radio-card);
  padding: 2.5px;
  background: linear-gradient(135deg, var(--azul) 0%, var(--azul-claro) 50%, var(--amarillo) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.single-contenido blockquote::after,
.single-contenido .wp-block-quote::after,
.single-contenido .wp-block-pullquote::after { content: none; }
.single-contenido blockquote p,
.single-contenido .wp-block-quote p,
.single-contenido .wp-block-pullquote p {
  margin: 0;
  font-size: 15px;
  font-style: italic;
  font-weight: 500;
  color: var(--azul-oscuro);
  line-height: 1.6;
  letter-spacing: -0.1px;
}
.single-contenido blockquote cite,
.single-contenido blockquote footer,
.single-contenido .wp-block-quote cite,
.single-contenido .wp-block-pullquote cite {
  display: block;
  margin-top: 10px;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gris-3);
}
.single-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1.5px solid var(--gris-2);
}
.single-tags-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gris-3);
  margin-right: 4px;
}
.single-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 14px;
  border-radius: 100px;
  background: var(--blanco);
  border: 1.5px solid transparent;
  color: var(--gris-4);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: var(--trans);
}
.single-tag::before {
  content: '#';
  color: var(--azul-claro);
  font-weight: 700;
  font-size: 11px;
}
.single-tag:hover {
  background: var(--azul-suave);
  border-color: var(--azul-claro);
  color: var(--azul);
  transform: translateY(-1px);
}

.single-share {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1.5px solid var(--gris-2);
  flex-wrap: wrap;
}
.single-share-label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gris-3); }
.single-share-btn { display: inline-flex; align-items: center; padding: 7px 18px; border-radius: 100px; font-size: 12px; font-weight: 700; text-decoration: none; transition: var(--trans); }
.single-share-fb { background: #E7EEF8; color: #1877F2; }
.single-share-fb:hover { background: #1877F2; color: #fff; }
.single-share-tw { background: #E8F4FD; color: #1DA1F2; }
.single-share-tw:hover { background: #1DA1F2; color: #fff; }
.single-share-wa { background: #E8F8EF; color: #25D366; }
.single-share-wa:hover { background: #25D366; color: #fff; }
.single-related {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-decoration: none;
  background: var(--blanco);
  border-radius: var(--radio-sm);
  padding: 12px;
  border: 1px solid var(--gris-2);
  transition: var(--trans);
  box-shadow: var(--sombra-card);
}
.single-related:hover { box-shadow: var(--sombra-hover); transform: translateY(-2px); }
.single-related-img { width: 103px; height: 58px; flex-shrink: 0; border-radius: 8px; overflow: hidden; }
.single-related-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-related-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.single-related-titulo { font-size: 13px; font-weight: 700; color: var(--texto); line-height: 1.35; }
.single-related-fecha { font-size: 11px; color: var(--gris-3); font-weight: 500; }

.footer {
  background: var(--azul-oscuro);
  position: relative;
  overflow: hidden;
  margin-top: 0;
}
.footer-patron {
  position: absolute;
  inset: 0;
  background-size: 420px auto;
  background-repeat: repeat;
  background-position: center center;
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}
.footer-patron-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,25,90,0.88) 0%, rgba(0,37,122,0.75) 50%, rgba(0,61,165,0.6) 100%);
  pointer-events: none; z-index: 0;
}
.footer-inner {
  max-width: 1160px; margin: 0 auto; padding: 52px 36px 44px;
  position: relative; z-index: 2;
  display: flex; gap: 56px; align-items: flex-start; flex-wrap: wrap;
}
.footer-logo { 
  height: 100px; 
  width: auto; 
  display: block; 
  object-fit: contain; 
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,0.3)); 
  margin-bottom: 14px; 
}
.footer-tagline { font-size: 13px; font-weight: 300; color: rgba(255,255,255,0.5); line-height: 1.65; }
.footer-brand { flex: 1; min-width: 180px; }
.footer-links-group { display: flex; flex-direction: column; gap: 10px; min-width: 200px; }
.footer-group-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-group-label::before {
  content: ""; display: inline-block; width: 18px; height: 2px;
  background: var(--amarillo); border-radius: 2px; flex-shrink: 0;
}
.footer-links { display: flex; flex-direction: column; gap: 8px; }
.footer-link {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px 8px 10px;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.04);
  transition: var(--trans);
  width: 100%;
}
.footer-link:visited,
.footer-link:visited .footer-link-label { color: rgba(255,255,255,0.65); }
.footer-link:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); color: var(--blanco); transform: translateX(3px); }
.footer-link-icon {
  width: 30px; height: 30px; min-width: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: var(--trans);
  background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.8);
}
.footer-link:hover .footer-link-icon--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); color: #fff; }
.footer-link:hover .footer-link-icon--whatsapp { background: #25d366; color: #fff; }
.footer-link:hover .footer-link-icon--tiktok { background: #000; color: #fff; box-shadow: 0 0 0 1px rgba(255,255,255,0.15); }
.footer-link:hover .footer-link-icon--web { background: var(--azul); color: #fff; }
.footer-bottom { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,0.08); }
.footer-bottom-inner {
  max-width: 1160px; margin: 0 auto; padding: 16px 36px;
  display: flex; align-items: center; gap: 10px;
  font-size: 11.5px; color: rgba(255,255,255,0.3); flex-wrap: wrap;
}
.footer-bottom-sep { opacity: 0.4; }

@media (max-width: 1024px) {
  .ucb-layout { grid-template-columns: 1fr 300px; padding: 28px 24px 60px; }
}

@media (max-width: 860px) {
  .ucb-layout { grid-template-columns: 1fr; padding: 24px 20px 60px; }
  .ucb-sidebar { position: static; }
  .ucb-hero { padding: 36px 20px 40px; }
  .ucb-cat-nav-inner { padding: 0 20px; }
}

@media (max-width: 600px) {
  :root { --nav-h: 64px; --cats-h: 48px; }
  .nav-inner { padding: 0 16px; height: 64px; }
  .ucb-layout { padding: 16px 12px 60px; gap: 20px; }
  .ucb-cat-nav-inner { padding: 0 12px; }
  .ucb-hero { padding: 28px 16px 36px; }
  .ucb-destacada-wrap { width: 100%; }
.ucb-destacada { aspect-ratio: 16/9; width: 100%; }

  .ucb-destacada-excerpt {
  font-size: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}
.ucb-destacada-meta { font-size: 11px; }
.ucb-destacada-content {
  position: relative;
  z-index: 2;
  padding: 28px 32px;
  width: 100%;
}
  .ucb-destacada-titulo { font-size: clamp(15px, 4.5vw, 20px); letter-spacing: -0.3px; margin-bottom: 4px; }
  .ucb-destacada-cat { font-size: 9px; padding: 3px 9px; margin-bottom: 6px; }
  .ucb-grilla { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ucb-card-titulo { font-size: 13px; line-height: 1.3; }
  .ucb-card-excerpt { display: none; }
  .ucb-card-body { padding: 10px 12px 12px; }
  .ucb-card-cat { font-size: 9px; padding: 2px 8px; margin-bottom: 5px; }
  .ucb-card-meta { font-size: 10px; }
  .single-hero-content { padding: 20px 16px 22px; }
  .single-layout { padding: 20px 12px 60px; }
  .footer-inner { padding: 40px 20px 36px; gap: 36px; }
  .footer-brand { flex: unset; width: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .footer-logo { height: 80px; }
  .footer-links-group { width: calc(50% - 18px); min-width: unset; }
  .footer-bottom-inner { padding: 14px 20px; gap: 6px; font-size: 11px; }
}

@media (max-width: 480px) {
  .ucb-grilla { grid-template-columns: repeat(2, 1fr); }
  .footer-links-group { width: 100%; }
  .cat-chip { height: 30px; font-size: 12px; }
  .cat-chip-tab { width: 7px; }
  .cat-chip-label { padding: 0 10px 0 7px; }
}

.single-wrap { width: 100%; max-width: 100%; margin: 0; }

.single-fila1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto 1fr;
  width: 100%;
  align-items: start;
}
.single-fila1 > .single-col-main {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.single-fila2-inner {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 2fr 5fr;
  align-items: start;
}
.single-fila1 > .single-sidebar {
  grid-column: 2;
  grid-row: 1 / 3;
  position: sticky;
  top: calc(var(--nav-h) + 16px);
  padding: 28px 16px 28px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: calc(100vh - var(--nav-h) - 32px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--gris-2) transparent;
  background: var(--crema);
}
.single-sidebar-sep {
  margin-top: 8px !important;
  padding-top: 20px;
  border-top: 1.5px solid var(--gris-2);
}
.single-col-main .single-hero {
  width: 100%;
  aspect-ratio: 16/9;
  min-height: 320px;
  flex-shrink: 0;
  border-radius: 0 var(--radio-card) var(--radio-card) 0;
}
.single-eventos-card {
  position: sticky;
  top: calc(var(--nav-h) + 16px);
  background: var(--blanco);
  border-radius: var(--radio-card);
  border: 1px solid var(--gris-2);
  padding: 20px 18px;
  box-shadow: var(--sombra-card);
  margin: 24px 0px 24px 16px;
}
.single-eventos-cat {
  font-weight: 400;
  color: var(--azul-medio);
  text-transform: capitalize;
  font-size: 10px;
}
.single-eventos-iframe {
  border: none;
  border-radius: 10px;
  display: block;
  width: 100%;
  margin-top: 10px;
}
.single-fila2-inner .single-article {
  background: var(--blanco);
  border-radius: var(--radio-card);
  border: 1px solid var(--gris-2);
  box-shadow: var(--sombra-card);
  padding: 36px 40px 40px;
  margin: 24px 0px 24px 16px;
  min-width: 0;
}
.single #page,.single #content,.single #primary,
.single .site-content,.single .content-area,.single .site-main,
.single .inside-article,.single .entry-content,.single article.hentry {
  max-width:100%!important; width:100%!important;
  padding:0!important; margin:0!important; float:none!important;
}
.ucb-gp-phantom { display:none!important; height:0!important; overflow:hidden!important; }

@media (max-width: 1024px) {
  .single-fila1 { grid-template-columns: 3fr 2fr; }
  .single-fila2-inner { grid-template-columns: 1fr 3fr; }
}
@media (max-width: 860px) {
  .single-wrap { overflow-x: hidden; width: 100%; }

  .single-fila1 {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .single-fila2-inner {
    display: flex;
    flex-direction: column;
    order: 2;
    width: 100%;
  }

  .single-fila1 > .single-col-main         { order: 1; width: 100%; }
  .single-fila2-inner > .single-article     { order: 1; }
  .single-fila2-inner > .single-eventos-card { order: 2; }
  .single-fila1 > .single-sidebar           { order: 3; }
  .single-col-main .single-hero {
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: unset;
    border-radius: 0;
  }
  .single-fila2-inner .single-article {
    margin: 16px 16px 0;
    padding: 24px 20px 28px;
  }
  .single-eventos-card {
    position: static;
    margin: 16px 16px 0;
    width: calc(100% - 32px);
    box-sizing: border-box;
  }
  .single-eventos-iframe {
    width: 100%;
    max-width: 100%;
  }
  .single-fila1 > .single-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
    padding: 16px 16px 24px;
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 600px) {
  .single-fila2-inner .single-article {
    margin: 12px 12px 0;
    padding: 20px 16px 24px;
  }
  .single-fila1 > .single-sidebar { padding: 12px 12px 20px; }
  .single-eventos-card {
    margin: 12px 12px 0;
    width: calc(100% - 24px);
  }
  .single-contenido { font-size: 16px; }
  .single-contenido blockquote,
  .single-contenido .wp-block-quote,
  .single-contenido .wp-block-pullquote { margin: 20px 0; padding: 12px 14px; }
  .single-contenido blockquote p,
  .single-contenido .wp-block-quote p { font-size: 14px; }
}
.ucb-paginacion {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1.5px solid var(--gris-2);
}
.ucb-pag-btn {
  display: inline-flex;
  align-items: center;
  padding: 9px 22px;
  border-radius: 100px;
  background: var(--azul);
  color: var(--blanco);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: var(--trans);
  box-shadow: 0 2px 10px rgba(0,61,165,0.2);
}
.ucb-pag-btn:hover {
  background: var(--azul-medio);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,61,165,0.3);
}
.ucb-pag-info {
  font-size: 13px;
  font-weight: 600;
  color: var(--gris-3);
}
.ucb-vacio {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  text-align: center;
  background: var(--blanco);
  border-radius: var(--radio-card);
  border: 1px solid var(--gris-2);
}
.ucb-vacio-titulo {
  font-size: 20px;
  font-weight: 800;
  color: var(--texto);
  margin-bottom: 8px;
}
.ucb-vacio-sub {
  font-size: 14px;
  color: var(--gris-4);
  margin-bottom: 24px;
}
.ucb-vacio-btn {
  display: inline-flex;
  align-items: center;
  padding: 10px 24px;
  border-radius: 100px;
  background: var(--azul);
  color: var(--blanco);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: var(--trans);
}
.ucb-vacio-btn:hover { background: var(--azul-medio); transform: translateY(-1px); }
.ucb-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: auto;
  flex-shrink: 0;
  z-index: 20;
}
.ucb-search-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 14px;
  height: 36px;
  width: auto;
  min-width: max-content;
  border-radius: 100px;
  border: 1.5px solid var(--azul);
  background: var(--azul);
  color: var(--blanco);
  font-family: "Sora", sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--trans);
  flex-shrink: 0;
  outline: none;
}
.ucb-search-toggle:hover {
  background: var(--azul-medio);
  border-color: var(--azul-medio);
}
.ucb-search-icon { flex-shrink: 0; }
.ucb-search-label { white-space: nowrap; }

.ucb-search-box {
  position: fixed;
  top: var(--nav-h);
  right: 20px;
  width: 340px;
  background: var(--blanco);
  border-radius: var(--radio-card);
  border: 2px solid var(--azul);
  box-shadow: var(--sombra-hover);
  display: none;
  flex-direction: column;
  overflow: hidden;
  z-index: 9999;
  margin-top: 8px;
}
.ucb-search-box.open { display: flex; }

.ucb-search-input {
  width: 100%;
  padding: 12px 16px;
  border: none;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  font-family: "Sora", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--texto);
  background: var(--blanco);
  border-bottom: 2px solid var(--gris-2);
  transition: border-color var(--trans);
}
.ucb-search-input:focus,
.ucb-search-input:focus-visible,
.ucb-search-input:active {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  border-bottom-color: var(--amarillo);
}

.ucb-search-input::placeholder { color: var(--gris-3); }
.ucb-search-results {
  display: flex;
  flex-direction: column;
  max-height: 340px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--gris-2) transparent;
}
.ucb-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  text-decoration: none;
  border-bottom: 1px solid var(--gris-2);
  transition: background var(--trans);
}
.ucb-search-item:last-child { border-bottom: none; }
.ucb-search-item:hover { background: var(--azul-suave); }
.ucb-search-item-img {
  width: 52px;
  height: 36px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--gris-2);
}
.ucb-search-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ucb-search-item-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ucb-search-item-cat {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--azul);
}
.ucb-search-item-titulo {
  font-size: 12px;
  font-weight: 600;
  color: var(--texto);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ucb-search-empty, .ucb-search-loading {
  padding: 18px 16px;
  font-size: 13px;
  color: var(--gris-3);
  text-align: center;
}

@media (max-width: 600px) {
  .ucb-search-toggle {
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    border-radius: 50%;
    gap: 0;
  }
  .ucb-search-label { display: none; }
  .ucb-search-box {
    width: calc(100vw - 24px);
    right: 12px;
  }
}
.cat-chip[href*="importante"] { display: none; }
.ucb-destacada-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.ucb-destacada-tag-destacada {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
  background: var(--amarillo);
  color: var(--azul-oscuro);
}


.ucb-destacada-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: var(--radio-card);
  overflow: hidden;
  padding: 2.5px;
  background: linear-gradient(135deg, #f5c400 0%, #ffd740 25%, #003da5 60%, #00257a 100%);
  box-shadow: var(--sombra-card);
  transition: box-shadow var(--trans), transform var(--trans);
  cursor: pointer;
}
.cat-academico     .ucb-destacada-wrap,
article.cat-academico.ucb-destacada-wrap     { background: linear-gradient(180deg, #FFCD2D 0%, #00257a 100%); }
.cat-formativo     .ucb-destacada-wrap,
article.cat-formativo.ucb-destacada-wrap     { background: linear-gradient(180deg, #FF2939 0%, #00257a 100%); }
.cat-cultural      .ucb-destacada-wrap,
article.cat-cultural.ucb-destacada-wrap      { background: linear-gradient(180deg, #DF64FF 0%, #00257a 100%); }
.cat-deportivo     .ucb-destacada-wrap,
article.cat-deportivo.ucb-destacada-wrap     { background: linear-gradient(180deg, #E5760E 0%, #00257a 100%); }
.cat-sociales      .ucb-destacada-wrap,
article.cat-sociales.ucb-destacada-wrap      { background: linear-gradient(180deg, #C5BE9F 0%, #00257a 100%); }
.cat-institucional .ucb-destacada-wrap,
article.cat-institucional.ucb-destacada-wrap { background: linear-gradient(180deg, #0074FB 0%, #00257a 100%); }
.cat-pastoral      .ucb-destacada-wrap,
article.cat-pastoral.ucb-destacada-wrap      { background: linear-gradient(180deg, #9CDF2F 0%, #00257a 100%); }

.ucb-destacada-wrap:hover {
  box-shadow: var(--sombra-hover);
}
.ucb-destacada-franja {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: rgba(245,196,0,0.97);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--azul-oscuro);
  border-radius: calc(var(--radio-card) - 2px) calc(var(--radio-card) - 2px) 0 0;
}
.cat-academico     .ucb-destacada-franja { background: rgba(255,205,45,0.97);  color: #0B1838; }
.cat-formativo     .ucb-destacada-franja { background: rgba(255,41,57,0.97);   color: #ffffff; }
.cat-cultural      .ucb-destacada-franja { background: rgba(223,100,255,0.97); color: #ffffff; }
.cat-deportivo     .ucb-destacada-franja { background: rgba(229,118,14,0.97);  color: #ffffff; }
.cat-sociales      .ucb-destacada-franja { background: rgba(197,190,159,0.97); color: #0B1838; }
.cat-institucional .ucb-destacada-franja { background: rgba(0,116,251,0.97);   color: #ffffff; }
.cat-pastoral      .ucb-destacada-franja { background: rgba(156,223,47,0.97);  color: #0B1838; }
.cat-formativo     .ucb-destacada-franja-dot,
.cat-cultural      .ucb-destacada-franja-dot,
.cat-deportivo     .ucb-destacada-franja-dot,
.cat-institucional .ucb-destacada-franja-dot { background: #ffffff; }
.cat-academico     .ucb-destacada-franja-dot,
.cat-sociales      .ucb-destacada-franja-dot,
.cat-pastoral      .ucb-destacada-franja-dot { background: #0B1838; }
.ucb-destacada-franja-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--azul-oscuro);
  animation: parpadeo 2s ease-in-out infinite;
  flex-shrink: 0;
}
.ucb-destacada-franja-sep { opacity: 0.4; }
.ucb-destacada {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 16/9;
  width: 100%;
  display: flex;
  align-items: flex-end;
  background: var(--azul-oscuro);
  border-radius: 0 0 calc(var(--radio-card) - 2px) calc(var(--radio-card) - 2px);
}
.ucb-destacada-img { position: absolute; inset: 0; z-index: 0; }
.ucb-destacada-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ucb-destacada-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(0,10,40,0.96) 0%, rgba(0,20,70,0.8) 40%, rgba(0,40,120,0.3) 70%, transparent 100%);
}
.ucb-destacada-content {
  position: relative;
  z-index: 2;
  padding: 28px 32px;
  width: 100%;
}
.single-related-meta {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  flex-wrap: nowrap;
}

.single-related-meta .ucb-card-cat {
  flex-shrink: 0;
}

.single-related-meta .single-related-fecha {
  flex-shrink: 0;
  margin-left: auto;
}
.single-related-body {
  flex: 1;
}
.ucb-tags-en-destacada {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.ucb-tags-en-destacada-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.ucb-tags-en-destacada-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ucb-tag-dest-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 13px;
  border-radius: 100px;
  background: rgba(255,255,255,0.15);
  border: 1.5px solid rgba(255,255,255,0.25);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: var(--trans);
}
.ucb-tag-dest-chip:hover {
  background: rgba(255,255,255,0.3);
  border-color: rgba(255,255,255,0.5);
  color: #fff;
}
.ucb-tag-dest-count {
  background: rgba(255,255,255,0.2);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 100px;
}
.ucb-destacada-body {
  display: grid;
  grid-template-columns: 200px 1fr;
  align-items: stretch;
  border-radius: 0 0 calc(var(--radio-card) - 2px) calc(var(--radio-card) - 2px);
  overflow: hidden;
}
.ucb-destacada-body > .ucb-destacada {
  aspect-ratio: 16/9 !important;
  min-height: unset;
  height: auto;
  width: 100%;
  border-radius: 0 0 calc(var(--radio-card) - 2px) 0;
}
.ucb-tags-lateral {
  background: linear-gradient(180deg, #003DA5 0%, #00257a 100%);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px 20px;
  align-items: flex-start;
  justify-content: center;
}

.ucb-tags-lateral-titulo {
  font-size: 13px;
  font-weight: 800;
  color: #fff;
  line-height: 1.4;
  letter-spacing: -0.2px;
  margin: 0;
}

.ucb-tags-lateral-titulo span {
  color: var(--amarillo);
}

.ucb-tags-lateral-sublabel {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin: -8px 0 0 0;
}

.ucb-tags-lateral-chips {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.ucb-tags-lateral-chips .ucb-tag-dest-chip {
  width: 100%;
  justify-content: space-between;
  font-size: 12px;
  padding: 8px 14px;
}
@media (max-width: 640px) {
  .ucb-destacada-body {
    grid-template-columns: 1fr;
  }

  .ucb-destacada-body > .ucb-destacada {
    order: 1;
    aspect-ratio: 16/9 !important;
    min-height: unset;
    border-radius: 0 !important;
  }

  .ucb-tags-lateral {
    order: 2;
    padding: 16px 18px;
    border-radius: 0 0 calc(var(--radio-card) - 2px) calc(var(--radio-card) - 2px);
    gap: 12px;
  }

  .ucb-tags-lateral-chips {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .ucb-tags-lateral-chips .ucb-tag-dest-chip {
    width: auto;
    font-size: 11px;
    padding: 6px 12px;
  }
}
.ucb-404-wrap {
    background: var(--crema);
    min-height: 70vh;
    padding-bottom: 80px;
}
.ucb-404-inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 36px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.ucb-404-hero {
    position: relative;
    background: linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul) 100%);
    border-radius: var(--radio-card);
    overflow: hidden;
    padding: 72px 48px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-top: 36px;
}
.ucb-404-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 80% at 80% 50%, rgba(245,196,0,0.08) 0%, transparent 60%),
        radial-gradient(ellipse 40% 60% at 20% 80%, rgba(0,61,165,0.4) 0%, transparent 60%);
    pointer-events: none;
}
.ucb-404-hero-overlay {
    position: absolute;
    inset: 0;
    background: url("/wp-content/themes/generatepress-child/images/patron_01.jpg") repeat center center;
    background-size: 420px auto;
    opacity: 0.18;
    pointer-events: none;
}
.ucb-404-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.ucb-404-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245,196,0,0.15);
    border: 1px solid rgba(245,196,0,0.35);
    border-radius: 100px;
    padding: 5px 16px;
    font-size: 11px;
    font-weight: 700;
    color: var(--amarillo-b);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-family: "Sora", sans-serif;
}
.ucb-404-badge-dot {
    width: 6px;
    height: 6px;
    background: var(--amarillo);
    border-radius: 50%;
    animation: parpadeo 2s ease-in-out infinite;
    flex-shrink: 0;
}
.ucb-404-numero {
    font-size: clamp(100px, 18vw, 180px);
    font-weight: 800;
    color: rgba(255,255,255,0.20);
    line-height: 1;
    letter-spacing: -8px;
    font-family: "Sora", sans-serif;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
}
.ucb-404-titulo {
    font-size: clamp(28px, 5vw, 46px);
    font-weight: 800;
    color: var(--blanco);
    line-height: 1.1;
    letter-spacing: -1.5px;
    font-family: "Sora", sans-serif;
    text-shadow: 0 2px 20px rgba(0,0,0,0.25);
    margin: 0;
}
.ucb-404-sub {
    font-size: 15px;
    font-weight: 300;
    color: rgba(255,255,255,0.65);
    line-height: 1.6;
    max-width: 460px;
    font-family: "Sora", sans-serif;
}
.ucb-404-acciones {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}
.ucb-404-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 12px;
    background: var(--amarillo);
    color: var(--azul-oscuro);
    font-size: 14px;
    font-weight: 700;
    font-family: "Sora", sans-serif;
    text-decoration: none;
    transition: var(--trans);
    box-shadow: 0 4px 16px rgba(245,196,0,0.35);
}
.ucb-404-btn-primary:hover {
    background: var(--amarillo-b);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(245,196,0,0.45);
    color: var(--azul-oscuro);
    text-decoration: none;
}
.ucb-404-btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    border-radius: 12px;
    background: rgba(255,255,255,0.1);
    border: 1.5px solid rgba(255,255,255,0.25);
    color: rgba(255,255,255,0.9);
    font-size: 14px;
    font-weight: 600;
    font-family: "Sora", sans-serif;
    text-decoration: none;
    transition: var(--trans);
}
.ucb-404-btn-secondary:hover {
    background: rgba(255,255,255,0.18);
    border-color: rgba(255,255,255,0.45);
    color: #fff;
    text-decoration: none;
}
.ucb-404-sugerencias {
    padding: 0 4px;
}
.ucb-404-grilla {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.ucb-404-card {
    background: var(--blanco);
    border-radius: var(--radio-card);
    overflow: hidden;
    box-shadow: var(--sombra-card);
    transition: box-shadow var(--trans), transform var(--trans);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}
.ucb-404-card:hover {
    box-shadow: var(--sombra-hover);
    transform: translateY(-3px);
    text-decoration: none;
}
.ucb-404-card-img {
    aspect-ratio: 16/9;
    overflow: hidden;
}
.ucb-404-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.ucb-404-card:hover .ucb-404-card-img img {
    transform: scale(1.04);
}
.ucb-404-card-body {
    padding: 16px 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.ucb-404-card-titulo {
    font-size: 15px;
    font-weight: 700;
    color: var(--texto);
    line-height: 1.3;
    letter-spacing: -0.2px;
    font-family: "Sora", sans-serif;
    margin: 0;
}
@media (max-width: 768px) {
    .ucb-404-inner { padding: 0 16px; gap: 32px; }
    .ucb-404-hero { padding: 56px 24px 64px; }
    .ucb-404-grilla { grid-template-columns: 1fr; }
    .ucb-404-acciones { flex-direction: column; align-items: center; }
    .ucb-404-btn-primary { width: 100%; justify-content: center; }
}
@media (max-width: 540px) {
    .ucb-404-titulo { letter-spacing: -0.5px; }
}
.ucb-hero-logo-wrap {
  margin-bottom: 14px;
}
.ucb-hero-logo-img {
  height: clamp(56px, 10vw, 110px);
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 24px rgba(0,0,0,0.35));
}

.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) {
  background: linear-gradient(135deg, #f5c400 0%, #003da5 55%, #00257a 100%);
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-franja {
  background: linear-gradient(90deg, #f5c400 0%, #ffd740 60%, #ffe066 100%);
  color: #00257a;
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-franja-dot {
  background: #00257a;
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-overlay {
  background:
    linear-gradient(to top, rgba(0,25,90,0.97) 0%, rgba(0,37,122,0.82) 40%, rgba(0,61,165,0.3) 75%, transparent 100%),
    linear-gradient(135deg, rgba(245,196,0,0.18) 0%, transparent 50%);
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-cat {
  background: linear-gradient(90deg, #f5c400, #ffd740);
  color: #00257a;
}

.ucb-magazine {
  display: grid;
  grid-template-columns: 5fr 3fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
}
.ucb-mag-card--big {
  grid-column: 1;
  grid-row: 1 / 3;
}
.ucb-mag-card--small:nth-child(2) { grid-column: 2; grid-row: 1; }
.ucb-mag-card--small:nth-child(3) { grid-column: 2; grid-row: 2; }

.ucb-mag-card {
  background: var(--blanco);
  border-radius: var(--radio-card);
  overflow: hidden;
  cursor: pointer;
  box-shadow: var(--sombra-card);
  border: 1px solid var(--gris-2);
  transition: box-shadow var(--trans), transform var(--trans);
  display: flex;
  flex-direction: column;
}
.ucb-mag-card:hover {
  box-shadow: var(--sombra-hover);
  transform: translateY(-3px);
}
.ucb-mag-img {
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
}
.ucb-mag-card--big .ucb-mag-img {
  aspect-ratio: 16/9;
}
.ucb-mag-card--small .ucb-mag-img {
  aspect-ratio: 16/9;
}
.ucb-mag-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.ucb-mag-card:hover .ucb-mag-img img {
  transform: scale(1.04);
}
.ucb-mag-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.ucb-mag-card--big .ucb-mag-body {
  padding: 18px 22px 22px;
}
.ucb-mag-titulo {
  font-size: 13px;
  font-weight: 700;
  color: var(--texto);
  line-height: 1.35;
  letter-spacing: -0.2px;
  margin: 6px 0 8px;
  flex: 1;
}
.ucb-mag-card--big .ucb-mag-titulo {
  font-size: 19px;
  letter-spacing: -0.5px;
  margin-bottom: 10px;
}
.ucb-mag-card--small .ucb-card-meta { font-size: 10px; }
.ucb-mag-card--small .ucb-card-excerpt { display: none; }

@media (max-width: 860px) {
  .ucb-magazine {
    grid-template-columns: 1fr 1fr;
  }
  .ucb-mag-card--big {
    grid-column: 1 / 3;
    grid-row: 1;
    flex-direction: row;
  }
  .ucb-mag-card--big .ucb-mag-img {
    width: 45%;
    aspect-ratio: 4/3;
    flex: none;
  }
  .ucb-mag-card--big .ucb-mag-titulo { font-size: 16px; }
  .ucb-mag-card--small:nth-child(2) { grid-column: 1; grid-row: 2; }
  .ucb-mag-card--small:nth-child(3) { grid-column: 2; grid-row: 2; }
}

@media (max-width: 540px) {
  .ucb-magazine { grid-template-columns: 1fr; }
  .ucb-mag-card--big { flex-direction: column; }
  .ucb-mag-card--big .ucb-mag-img { width: 100%; aspect-ratio: 16/9; min-height: unset; }
  .ucb-mag-card--small:nth-child(n) { grid-column: 1; grid-row: auto; }
  .ucb-hero-logo-img { height: 60px; }
}

.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) {
  background: linear-gradient(135deg, #f5c400 0%, #ffd740 20%, #003da5 55%, #00257a 100%);
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-franja {
  background: linear-gradient(90deg, #f5c400 0%, #ffd740 70%, #ffe066 100%);
  color: #00257a;
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-franja-dot {
  background: #00257a;
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-overlay {
  background:
    linear-gradient(to top, rgba(0,25,90,0.97) 0%, rgba(0,37,122,0.82) 40%, rgba(0,61,165,0.3) 75%, transparent 100%),
    linear-gradient(135deg, rgba(245,196,0,0.14) 0%, transparent 50%);
}
.ucb-destacada-wrap:not(.cat-academico):not(.cat-formativo):not(.cat-cultural):not(.cat-deportivo):not(.cat-sociales):not(.cat-institucional):not(.cat-pastoral) .ucb-destacada-cat {
  background: linear-gradient(90deg, #f5c400, #ffd740);
  color: #00257a;
}


.ucb-videos-section { }

.ucb-player-wrap {
  display: flex;
  flex-direction: row;
  background: var(--blanco);
  border-radius: var(--radio-card);
  overflow: hidden;
  box-shadow: var(--sombra-card);
  border: 1.5px solid var(--gris-2);
  align-items: flex-start;
}

.ucb-player-wrap.ucb-queue-collapsed .ucb-player-queue {
  width: 0 !important;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  border-left: none;
}

.ucb-player-main {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.ucb-player-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
  flex-shrink: 0;
}

.ucb-player-cover {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  cursor: pointer;
}
.ucb-player-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.4s ease;
}
.ucb-player-cover:hover img {
  transform: scale(1.03);
  filter: brightness(0.85);
}
.ucb-player-cover-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(5,10,30,0.95) 0%, rgba(5,10,30,0.5) 40%, transparent 70%),
    linear-gradient(135deg, rgba(0,61,165,0.2) 0%, transparent 60%);
  z-index: 1;
}
.ucb-player-cover-info {
  position: relative;
  z-index: 2;
  padding: 20px 22px;
}
.ucb-player-now-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--amarillo);
  margin-bottom: 6px;
}
.ucb-player-now-label svg { fill: var(--amarillo); animation: parpadeo 2s ease-in-out infinite; }
.ucb-player-cover-titulo {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  letter-spacing: -0.3px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
  margin: 0;
  max-width: 480px;
}
.ucb-player-big-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.92);
  z-index: 3;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(9,98,186,0.85);
  border: 2.5px solid rgba(255,255,255,0.35);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.22s cubic-bezier(0.34,1.56,0.64,1), background 0.2s ease, border-color 0.2s ease;
  backdrop-filter: blur(4px);
}
.ucb-player-cover:hover .ucb-player-big-play {
  transform: translate(-50%, -50%) scale(1);
  background: var(--azul);
  border-color: rgba(255,255,255,0.6);
  box-shadow: 0 0 0 12px rgba(9,98,186,0.18);
}

.ucb-seek-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px 5px;
  background: var(--gris-1);
  border-top: 1px solid var(--gris-2);
  flex-shrink: 0;
}
.ucb-seek-wrap.hidden { display: none; }
.ucb-seek-time {
  font-size: 10px;
  font-weight: 600;
  color: var(--gris-4);
  white-space: nowrap;
  min-width: 32px;
  font-variant-numeric: tabular-nums;
}
.ucb-seek-slider {
  -webkit-appearance: none;
  appearance: none;
  flex: 1;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(to right, var(--azul) var(--seek, 0%), var(--gris-2) var(--seek, 0%));
  outline: none;
  cursor: pointer;
  transition: height 0.15s ease;
}
.ucb-seek-slider:hover { height: 5px; }
.ucb-seek-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--azul);
  cursor: pointer;
  box-shadow: 0 0 4px rgba(0,0,0,0.2);
  opacity: 0;
  transition: opacity 0.15s;
}
.ucb-seek-slider:hover::-webkit-slider-thumb { opacity: 1; }
.ucb-seek-slider::-moz-range-thumb {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--azul);
  border: none;
  cursor: pointer;
}

.ucb-player-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--gris-1);
  border-top: 1.5px solid var(--gris-2);
  min-height: 46px;
  flex-shrink: 0;
}
.ucb-ctrl-left  { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.ucb-ctrl-right { display: flex; align-items: center; gap: 4px; flex-shrink: 0; margin-left: auto; }
.ucb-ctrl-title {
  flex: 1;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--gris-4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 8px;
  min-width: 0;
}

.ucb-ctrl-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.18s ease;
  text-decoration: none !important;
  flex-shrink: 0;
  padding: 0 !important;
  box-shadow: none !important;
}
.ucb-ctrl-btn:hover { background: var(--azul-suave) !important; }
.ucb-ctrl-play { background: var(--azul-suave2) !important; }
.ucb-ctrl-play:hover { background: rgba(9,98,186,0.22) !important; }
.ucb-ctrl-btn svg { display: block; overflow: visible; }

#ucbCtrlPlay svg polygon,
#ucbIconPause rect,
#ucbIconVolOn polygon, #ucbIconVolOff polygon,
#ucbIconVolOn path,
#ucbCtrlPrev svg polygon, #ucbCtrlPrev svg rect,
#ucbCtrlNext svg polygon, #ucbCtrlNext svg rect,
#ucbCtrlFs svg path,
#ucbCtrlQueueToggle svg line,
#ucbIconExpand path, #ucbIconCompress path {
  fill: var(--azul) !important;
  stroke: var(--azul) !important;
}
#ucbIconVolOff line { stroke: var(--azul) !important; }
#ucbIconVolOff polygon { fill: var(--azul) !important; }
#ucbCtrlQueueToggle svg { stroke: var(--azul) !important; }
.ucb-ctrl-yt svg { fill: var(--azul) !important; }
.ucb-ctrl-yt:hover svg { fill: #FF0000 !important; }
.ucb-quality-label { color: var(--azul) !important; }

.ucb-ctrl-volwrap { display: flex; align-items: center; gap: 4px; }
.ucb-vol-slider-wrap { width: 0; overflow: hidden; transition: width 0.22s ease; }
.ucb-ctrl-volwrap:hover .ucb-vol-slider-wrap { width: 60px; }
.ucb-vol-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 60px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(to right, var(--azul-claro) var(--vol, 100%), var(--gris-2) var(--vol, 100%));
  outline: none;
  cursor: pointer;
}
.ucb-vol-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--azul);
  cursor: pointer;
}

.ucb-player-queue {
  width: 230px;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  border-left: 1.5px solid var(--gris-2);
  background: var(--gris-1);
  scrollbar-width: thin;
  scrollbar-color: var(--gris-2) transparent;
  transition: width 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.25s ease;
}

.ucb-ctrl-queue-toggle { display: flex !important; }
.ucb-ctrl-queue-toggle.active { background: var(--azul-suave2) !important; }

.ucb-queue-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  border-bottom: 1px solid var(--gris-2);
  transition: background 0.18s ease;
  position: relative;
  flex-shrink: 0;
}
.ucb-queue-item:hover { background: var(--azul-suave); }
.ucb-queue-item.active { background: var(--azul-suave2); }
.ucb-queue-active-bar { display: none !important; }
.ucb-queue-thumb {
  position: relative;
  width: 76px;
  height: 43px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--gris-2);
}
.ucb-queue-thumb img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: filter 0.2s;
}
.ucb-queue-item:hover .ucb-queue-thumb img { filter: brightness(0.82); }
.ucb-queue-item.active .ucb-queue-thumb {
  outline: 2.5px solid var(--azul);
  outline-offset: -1px;
}
.ucb-queue-item.active .ucb-queue-thumb img { filter: brightness(0.88); }
.ucb-queue-play-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.28);
  opacity: 0;
  transition: opacity 0.18s;
  color: #fff;
}
.ucb-queue-item:hover .ucb-queue-play-icon,
.ucb-queue-item.active .ucb-queue-play-icon { opacity: 1; }
.ucb-queue-titulo {
  font-size: 11px;
  font-weight: 600;
  color: var(--texto-suave);
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.18s;
}
.ucb-queue-item:hover .ucb-queue-titulo,
.ucb-queue-item.active .ucb-queue-titulo { color: var(--azul); }

.ucb-videos-mas-wrap { margin-top: 16px; }
.ucb-videos-mas-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 13px 20px;
  background: var(--blanco);
  border: 1.5px solid var(--gris-2);
  border-radius: var(--radio-card);
  font-family: "Sora", sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--texto);
  cursor: pointer;
  transition: border-color var(--trans), box-shadow var(--trans), background var(--trans);
}
.ucb-videos-mas-btn:hover {
  border-color: var(--azul);
  background: var(--azul-suave);
  box-shadow: 0 4px 16px rgba(0,61,165,0.1);
}
.ucb-videos-mas-count {
  margin-left: auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--azul);
  background: var(--azul-suave2);
  padding: 2px 9px;
  border-radius: 100px;
}
.ucb-mas-chevron {
  flex-shrink: 0;
  transition: transform 0.28s ease;
  color: var(--gris-3);
}
.ucb-videos-mas-btn.open .ucb-mas-chevron { transform: rotate(180deg); }

.ucb-videos-extra { margin-top: 14px; }
.ucb-videos-extra-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
}
.ucb-extra-card { display: flex; flex-direction: column; gap: 8px; }
.ucb-extra-thumb {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  background: var(--gris-2);
  box-shadow: var(--sombra-card);
  transition: box-shadow var(--trans), transform var(--trans);
}
.ucb-extra-thumb:hover { box-shadow: var(--sombra-hover); transform: translateY(-2px); }
.ucb-extra-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: filter 0.3s; }
.ucb-extra-thumb:hover img { filter: brightness(0.7); }
.ucb-extra-thumb:hover .ucb-queue-play-icon { opacity: 1; }
.ucb-extra-thumb .ucb-queue-play-icon { color: #fff; }
.ucb-queue-titulo { }

.ucb-videos-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 40px 20px;
  background: var(--blanco);
  border-radius: var(--radio-card);
  border: 1.5px dashed var(--gris-2);
  color: var(--gris-3);
  font-size: 14px;
  text-align: center;
}
.ucb-videos-empty a { color: var(--azul); font-weight: 600; }


#ucbFsOverlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #000;
  display: flex;
  flex-direction: row;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  font-family: "Sora", sans-serif;
}

#ucbFsOverlay .fs-main {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  background: #000;
  overflow: hidden;
}

#ucbFsOverlay .fs-screen {
  flex: 1 1 0;
  min-height: 0;
  position: relative;
  background: #000;
  overflow: hidden;
}
#ucbFsOverlay .fs-screen iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

#ucbFsOverlay .fs-seek {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 22px 3px;
  background: rgba(4,10,28,0.97);
  flex-shrink: 0;
}
#ucbFsOverlay .fs-seek-time {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
  white-space: nowrap;
  min-width: 36px;
  font-variant-numeric: tabular-nums;
  font-family: "Sora", sans-serif;
}
#ucbFsOverlay .fs-seek-slider {
  -webkit-appearance: none;
  appearance: none;
  flex: 1;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(to right, var(--amarillo) var(--seek,0%), rgba(255,255,255,0.18) var(--seek,0%));
  outline: none;
  cursor: pointer;
  transition: height 0.15s ease;
}
#ucbFsOverlay .fs-seek-slider:hover { height: 7px; }
#ucbFsOverlay .fs-seek-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--amarillo);
  cursor: pointer;
  box-shadow: 0 0 4px rgba(0,0,0,0.4);
}
#ucbFsOverlay .fs-seek-slider::-moz-range-thumb {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--amarillo);
  border: none;
  cursor: pointer;
}

#ucbFsOverlay .fs-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  height: 62px;
  flex-shrink: 0;
  background: rgba(4,10,28,0.97);
  border-top: none;
}
#ucbFsOverlay .fs-ctrl-left  { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
#ucbFsOverlay .fs-ctrl-right { display: flex; align-items: center; gap: 4px; flex-shrink: 0; margin-left: auto; }
#ucbFsOverlay .fs-ctrl-title {
  flex: 1;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.82);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 10px;
  min-width: 0;
}

#ucbFsOverlay .fs-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.18s ease;
  text-decoration: none;
  flex-shrink: 0;
  padding: 0;
}
#ucbFsOverlay .fs-btn:hover { background: rgba(245,196,0,0.15); }
#ucbFsOverlay .fs-btn svg { display: block; width: 20px; height: 20px; }

#ucbFsOverlay .fs-btn-play {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(245,196,0,0.18);
}
#ucbFsOverlay .fs-btn-play:hover { background: rgba(245,196,0,0.36); }
#ucbFsOverlay .fs-btn-play svg { width: 24px; height: 24px; }

#ucbFsOverlay .fs-btn-queue.active { background: rgba(245,196,0,0.18); }

#ucbFsOverlay .fs-volwrap { display: flex; align-items: center; gap: 4px; }
#ucbFsOverlay .fs-vol-track { width: 0; overflow: hidden; transition: width 0.22s ease; }
#ucbFsOverlay .fs-volwrap:hover .fs-vol-track { width: 80px; }
#ucbFsOverlay .fs-vol-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 80px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(to right, var(--amarillo) var(--vol,100%), rgba(255,255,255,0.2) var(--vol,100%));
  outline: none;
  cursor: pointer;
}
#ucbFsOverlay .fs-vol-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: var(--amarillo);
  cursor: pointer;
}

#ucbFsOverlay .fs-btn-yt:hover svg { fill: #FF0000 !important; }

#ucbFsOverlay .fs-queue {
  width: 264px;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  border-left: 1px solid rgba(255,255,255,0.09);
  background: rgba(4,10,28,0.97);
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.12) transparent;
  transition: width 0.28s cubic-bezier(0.4,0,0.2,1), opacity 0.22s ease;
}
#ucbFsOverlay .fs-queue.collapsed {
  width: 0;
  opacity: 0;
  overflow: hidden;
  border-left: none;
  pointer-events: none;
}

#ucbFsOverlay .fs-queue-header {
  padding: 14px 14px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0;
}

#ucbFsOverlay .fs-queue-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 13px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background 0.18s ease;
  flex-shrink: 0;
}
#ucbFsOverlay .fs-queue-item:hover { background: rgba(255,255,255,0.06); }
#ucbFsOverlay .fs-queue-item.active { background: rgba(9,98,186,0.42); }

#ucbFsOverlay .fs-queue-thumb {
  position: relative;
  width: 90px;
  height: 51px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: rgba(255,255,255,0.06);
}
#ucbFsOverlay .fs-queue-thumb img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: filter 0.2s;
}
#ucbFsOverlay .fs-queue-item:hover .fs-queue-thumb img { filter: brightness(0.75); }
#ucbFsOverlay .fs-queue-item.active .fs-queue-thumb {
  outline: 2px solid rgba(245,196,0,0.6);
  outline-offset: -1px;
}
#ucbFsOverlay .fs-queue-item.active .fs-queue-thumb img { filter: brightness(0.82); }

#ucbFsOverlay .fs-queue-play-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.3);
  opacity: 0;
  transition: opacity 0.18s;
  color: #fff;
}
#ucbFsOverlay .fs-queue-item:hover .fs-queue-play-icon,
#ucbFsOverlay .fs-queue-item.active .fs-queue-play-icon { opacity: 1; }

#ucbFsOverlay .fs-queue-titulo {
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  line-height: 1.35;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.18s;
  font-family: "Sora", sans-serif;
}
#ucbFsOverlay .fs-queue-item:hover .fs-queue-titulo,
#ucbFsOverlay .fs-queue-item.active .fs-queue-titulo { color: #fff; }

.ucb-quality-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.ucb-quality-menu {
  position: absolute;
  bottom: calc(100% + 8px);
  right: 0;
  background: #1a2540;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  overflow: hidden;
  display: none;
  flex-direction: column;
  min-width: 90px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  z-index: 999;
}
.ucb-quality-menu.open { display: flex; }
.ucb-quality-option {
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
  font-family: "Sora", sans-serif;
  border: none;
  background: transparent;
  text-align: left;
  width: 100%;
}
.ucb-quality-option:hover { background: rgba(255,255,255,0.08); color: #fff; }
.ucb-quality-option.active { color: var(--amarillo); background: rgba(245,196,0,0.1); }
.ucb-quality-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--azul);
  line-height: 1;
}
#ucbPlayerWrap:fullscreen .ucb-quality-option,
#ucbPlayerWrap:-webkit-full-screen .ucb-quality-option {
  padding: 11px 18px !important;
  font-size: 13px !important;
}
@media (max-width: 860px) {
  .ucb-player-wrap {
    flex-direction: column;
  }

  .ucb-player-queue {
    width: 100% !important;
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    border-left: none;
    border-top: 1.5px solid var(--gris-2);
    padding: 10px;
    gap: 10px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .ucb-queue-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 0;
    border-bottom: none;
    min-width: 130px;
    max-width: 150px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    scroll-snap-align: start;
  }
  .ucb-queue-thumb { width: 100%; height: auto; aspect-ratio: 16/9; }
  .ucb-queue-titulo { padding: 0 4px 6px; font-size: 10.5px; }

  .ucb-ctrl-btn {
    width: 38px !important;
    height: 38px !important;
  }
  .ucb-player-controls {
    padding: 8px 10px;
    gap: 4px;
  }

  .ucb-vol-slider-wrap {
    width: 52px !important;
  }

  .ucb-ctrl-title {
    font-size: 10px;
    padding: 0 4px;
  }

  .ucb-player-cover-titulo {
    font-size: 14px;
  }
  .ucb-player-cover-info {
    padding: 14px 16px;
  }
}

.ucb-agenda-iframe {
  border: none;
  border-radius: 18px;
  display: block;
  width: 100%;
  height: 420px;
  transition: height 0.35s ease;
}
.single-eventos-iframe {
  transition: height 0.35s ease;
}
a[href="#content"].screen-reader-text,
a[href="#primary"].screen-reader-text {
  display: none !important;
}