/* =========================================================
   CEMEXICANO VOCES v0.4.4
   INVITADOS + TEMAS
   ========================================================= */

.cem-voces-taxonomy{
  --cem-blue:#213868;
  --cem-blue-dark:#0c244d;
  --cem-blue-deep:#071a39;
  --cem-red:#dd0b21;
  --cem-text:#17233b;
  --cem-muted:#68758b;
  --cem-border:#e0e6ee;
  width:100%;
  color:var(--cem-text);
  background:#fff;
}

.cem-voces-taxonomy *,
.cem-voces-taxonomy *::before,
.cem-voces-taxonomy *::after{
  box-sizing:border-box;
}

.cem-voces-taxonomy__container{
  width:min(1180px,88%);
  margin:0 auto;
}

/* =========================================================
   HERO
   ========================================================= */

.cem-voces-taxonomy__hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:92px 0 86px;
  color:#fff;
  background:
    radial-gradient(circle at 70% 45%,rgba(83,128,194,.12),transparent 38%),
    linear-gradient(125deg,var(--cem-blue-deep) 0%,#12315f 58%,#173b70 100%);
}

.cem-voces-taxonomy__hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:92px 100%;
}

.cem-voces-taxonomy__shape{
  position:absolute;
  z-index:0;
  top:-65%;
  height:250%;
  pointer-events:none;
  transform:skewX(-18deg) rotate(-2deg);
}

.cem-voces-taxonomy__shape--blue{
  right:22%;
  width:12%;
  background:linear-gradient(180deg,rgba(88,139,211,.01),rgba(88,139,211,.16),rgba(88,139,211,.01));
}

.cem-voces-taxonomy__shape--red{
  right:4%;
  width:17%;
  background:linear-gradient(180deg,rgba(221,11,33,.01),rgba(221,11,33,.20),rgba(221,11,33,.02));
}

.cem-voces-taxonomy__hero-inner{
  position:relative;
  z-index:2;
  max-width:1180px;
}

.cem-voces-taxonomy__eyebrow,
.cem-voces-taxonomy__section-label,
.cem-voces-taxonomy__cta-eyebrow{
  font-size:11px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:1.55px;
  text-transform:uppercase;
}

.cem-voces-taxonomy__eyebrow{
  margin-bottom:14px;
  color:rgba(255,255,255,.78);
}

.cem-voces-taxonomy__title{
  max-width:900px;
  margin:0 0 20px !important;
  padding:0 !important;
  color:#fff !important;
  font-size:clamp(42px,5vw,66px) !important;
  line-height:1.02 !important;
  font-weight:800 !important;
  letter-spacing:-1px;
}

.cem-voces-taxonomy__intro{
  max-width:760px;
  color:#dfe8f4;
  font-size:18px;
  line-height:1.7;
}

.cem-voces-taxonomy__intro p{
  margin:0 0 10px;
  color:inherit;
  font:inherit;
}

.cem-voces-taxonomy__intro strong{color:#fff}

.cem-voces-taxonomy__hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 24px;
  margin-top:30px;
}

.cem-voces-taxonomy__count{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.cem-voces-taxonomy__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff !important;
  font-size:13px;
  font-weight:800;
  text-decoration:none !important;
  transition:gap .2s ease,opacity .2s ease;
}

.cem-voces-taxonomy__back:hover{
  gap:12px;
  opacity:.82;
}

/* =========================================================
   EPISODIOS
   ========================================================= */

.cem-voces-taxonomy__episodes{
  padding:86px 0 100px;
  background:linear-gradient(180deg,#fff 0%,#f5f7fb 100%);
}

.cem-voces-taxonomy__section-head{
  max-width:800px;
  margin-bottom:32px;
}

.cem-voces-taxonomy__section-label{
  margin-bottom:10px;
  color:var(--cem-red);
}

.cem-voces-taxonomy__section-head h2{
  margin:0 !important;
  padding:0 !important;
  color:var(--cem-blue) !important;
  font-size:38px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-.45px;
}

.cem-voces-taxonomy__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.cem-voces-taxonomy__card{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--cem-border);
  border-radius:17px;
  box-shadow:0 11px 30px rgba(22,48,89,.045);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.cem-voces-taxonomy__card:hover{
  transform:translateY(-4px);
  border-color:rgba(33,56,104,.20);
  box-shadow:0 18px 40px rgba(22,48,89,.09);
}

.cem-voces-taxonomy__media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#0d2349;
  text-decoration:none !important;
}

.cem-voces-taxonomy__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .4s ease;
}

.cem-voces-taxonomy__card:hover .cem-voces-taxonomy__media img{
  transform:scale(1.035);
}

.cem-voces-taxonomy__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,22,47,.01),rgba(8,22,47,.34));
}

.cem-voces-taxonomy__play{
  position:absolute;
  top:50%;
  left:50%;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  background:#fff;
  border-radius:50%;
  box-shadow:0 9px 24px rgba(0,0,0,.22);
  transition:transform .2s ease;
}

.cem-voces-taxonomy__card:hover .cem-voces-taxonomy__play{
  transform:translate(-50%,-50%) scale(1.07);
}

.cem-voces-taxonomy__play > span{
  width:0;
  height:0;
  margin-left:4px;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid var(--cem-red);
}

.cem-voces-taxonomy__card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:20px 20px 22px;
}

.cem-voces-taxonomy__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}

.cem-voces-taxonomy__program{
  color:var(--cem-red);
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}

.cem-voces-taxonomy__date{
  color:#8792a3;
  font-size:11px;
}

.cem-voces-taxonomy__card h3{
  margin:0 !important;
  padding:0 !important;
  color:var(--cem-blue) !important;
  font-size:19px !important;
  line-height:1.28 !important;
  font-weight:800 !important;
}

.cem-voces-taxonomy__card h3 a{
  color:inherit !important;
  text-decoration:none !important;
}

.cem-voces-taxonomy__card h3 a:hover{color:var(--cem-red) !important}

.cem-voces-taxonomy__terms{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:17px;
}

.cem-voces-taxonomy__terms a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  color:var(--cem-blue) !important;
  background:#f4f7fb;
  border:1px solid #e1e7ef;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  text-decoration:none !important;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.cem-voces-taxonomy__terms a:hover{
  color:#fff !important;
  background:var(--cem-blue);
  border-color:var(--cem-blue);
}

/* =========================================================
   PAGINACION
   ========================================================= */

.cem-voces-taxonomy__pagination{
  margin-top:44px;
}

.cem-voces-taxonomy__pagination .page-numbers{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
}

.cem-voces-taxonomy__pagination .page-numbers li{margin:0;padding:0}

.cem-voces-taxonomy__pagination a,
.cem-voces-taxonomy__pagination span{
  min-width:42px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  color:var(--cem-blue) !important;
  background:#fff;
  border:1px solid var(--cem-border);
  border-radius:9px;
  font-size:12px;
  font-weight:800;
  text-decoration:none !important;
}

.cem-voces-taxonomy__pagination .current,
.cem-voces-taxonomy__pagination a:hover{
  color:#fff !important;
  background:var(--cem-blue);
  border-color:var(--cem-blue);
}

.cem-voces-taxonomy__empty{
  padding:42px;
  text-align:center;
  background:#fff;
  border:1px solid var(--cem-border);
  border-radius:18px;
}

.cem-voces-taxonomy__empty h3{
  margin:0 0 8px !important;
  color:var(--cem-blue) !important;
  font-size:22px !important;
  font-weight:800 !important;
}

.cem-voces-taxonomy__empty p{
  margin:0;
  color:var(--cem-muted);
  font-size:15px;
}

/* =========================================================
   CTA
   ========================================================= */

.cem-voces-taxonomy__cta{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#081d40 0%,#173767 100%);
}

.cem-voces-taxonomy__cta::after{
  content:"";
  position:absolute;
  top:-110%;
  right:7%;
  width:17%;
  height:320%;
  background:rgba(221,11,33,.13);
  transform:skewX(-18deg);
  pointer-events:none;
}

.cem-voces-taxonomy__cta-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:55px;
  align-items:center;
  padding:64px 0;
}

.cem-voces-taxonomy__cta-eyebrow{
  margin-bottom:9px;
  color:rgba(255,255,255,.72);
}

.cem-voces-taxonomy__cta h2{
  margin:0 0 10px !important;
  padding:0 !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
}

.cem-voces-taxonomy__cta p{
  max-width:680px;
  margin:0;
  color:#dce5f1;
  font-size:15px;
  line-height:1.65;
}

.cem-voces-taxonomy__cta-button{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:50px;
  padding:14px 20px;
  color:#fff !important;
  background:var(--cem-red);
  border-radius:8px;
  box-shadow:0 10px 25px rgba(221,11,33,.18);
  font-size:13px;
  font-weight:800;
  text-decoration:none !important;
  transition:transform .2s ease,gap .2s ease,background .2s ease;
}

.cem-voces-taxonomy__cta-button:hover{
  gap:13px;
  transform:translateY(-2px);
  background:#bd091d;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:980px){
  .cem-voces-taxonomy__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cem-voces-taxonomy__cta-inner{grid-template-columns:1fr;gap:24px}
  .cem-voces-taxonomy__cta-button{justify-self:start}
}

@media(max-width:650px){
  .cem-voces-taxonomy__hero{padding:70px 0 66px}
  .cem-voces-taxonomy__container{width:88%}
  .cem-voces-taxonomy__title{font-size:38px !important}
  .cem-voces-taxonomy__intro{font-size:17px}
  .cem-voces-taxonomy__shape--red{right:-15%;width:31%}
  .cem-voces-taxonomy__shape--blue{right:17%;width:22%}
  .cem-voces-taxonomy__episodes{padding:66px 0 76px}
  .cem-voces-taxonomy__section-head h2{font-size:31px !important}
  .cem-voces-taxonomy__grid{grid-template-columns:1fr}
  .cem-voces-taxonomy__cta-inner{padding:55px 0}
  .cem-voces-taxonomy__cta h2{font-size:28px !important}
  .cem-voces-taxonomy__cta-button{width:100%}
}
