/*!
Theme Name: Empresarios México
Theme URI: https://empresariosmexico.org/
Author: GT - Empresarios México
Author URI: https://empresariosmexico.org/
Description: Tema base de Empresarios México 1.0.0
Version: 1.0.0
License: NA
Text Domain: empresariosmexicotheme
*/
@import url('css/colors.css?t=7');
@import url('css/reset.css?t=6');

/*General*/
.center-block {
	max-width: 1280px;
	padding: 0px 10px;
	/*Lienzo máximo de 1280px*/
	margin: 0 auto;
}
.center-block-nopadding{
  padding: 0px !important;
}
.btn-blue-eyp{
	text-decoration: none;
	font-size: 0.9rem;
	background-color: var(--color-category-eyp);
	padding: 10px 45px;
	border-radius: 25px;
	text-transform: uppercase;
	font-weight: 600;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	border: 2px solid var(--color-category-eyp);
}
.btn-blue-eyp span{
	font-size: 0.9rem;
	color: var(--white-text-color);
}
.btn-blue-eyp:hover{
	transform: scale(1.2);
	background-color: var(--white-text-color) !important;
	border: 2px solid var(--color-category-eyp);
	color: var(--color-category-eyp) !important;
}
.btn-blue-eyp:hover span{
	color: var(--color-category-eyp) !important;
}
.btn-green-cde{
	text-decoration: none;
	font-size: 0.9rem;
	background-color: var(--color-category-cde);
	padding: 10px 45px;
	border-radius: 25px;
	text-transform: uppercase;
	font-weight: 600;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	border: 2px solid var(--color-category-cde);
}
.btn-green-cde span{
	font-size: 0.9rem;
	color: var(--white-text-color);
}
.btn-green-cde:hover{
	transform: scale(1.2);
	background-color: var(--white-text-color) !important;
	border: 2px solid var(--color-category-cde);
	color: var(--color-category-cde) !important;
}
.btn-green-cde:hover span{
	color: var(--color-category-cde) !important;
}
.btn-blue-ges{
	text-decoration: none;
	font-size: 0.9rem;
	background-color: var(--color-category-ges);
	padding: 10px 45px;
	border-radius: 25px;
	text-transform: uppercase;
	font-weight: 600;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	border: 2px solid var(--color-category-ges);
}
.btn-blue-ges span{
	font-size: 0.9rem;
	color: var(--white-text-color);
}
.btn-blue-ges:hover{
	transform: scale(1.2);
	background-color: var(--white-text-color) !important;
	border: 2px solid var(--color-category-ges);
	color: var(--color-category-ges) !important;
}
.btn-blue-ges:hover span{
	color: var(--color-category-ges) !important;
}
.btn-teal-gyh {
	text-decoration: none;
	font-size: 0.9rem;
	background-color: var(--color-category-gyh);
	padding: 10px 45px;
	border-radius: 25px;
	text-transform: uppercase;
	font-weight: 600;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	border: 2px solid var(--color-category-gyh);
}
.btn-teal-gyh span {
	font-size: 0.9rem;
	color: var(--white-text-color);
}
.btn-teal-gyh:hover {
	transform: scale(1.2);
	background-color: var(--white-text-color) !important;
	border: 2px solid var(--color-category-gyh);
	color: var(--color-category-gyh) !important;
}
.btn-teal-gyh:hover span {
	color: var(--color-category-gyh) !important;
}
.btn-dark-not {
	text-decoration: none;
	font-size: 0.9rem;
	background-color: var(--color-category-not);
	padding: 10px 45px;
	border-radius: 25px;
	text-transform: uppercase;
	font-weight: 600;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
	border: 2px solid var(--color-category-not);
}
.btn-dark-not span {
	font-size: 0.9rem;
	color: var(--white-text-color);
}
.btn-dark-not:hover {
	transform: scale(1.2);
	background-color: var(--white-text-color) !important;
	border: 2px solid var(--color-category-not);
	color: var(--color-category-not) !important;
}
.btn-dark-not:hover span {
	color: var(--color-category-not) !important;
}
/*General*/ 

/*Header*/
header {
	position: relative;
}

/* ── Barra azul superior ─────────────────────────────── */
header .top-promo-bar {
	background-color: var(--color-category-eyp); /* default */
	padding: 7px 0;
	transition: background-color 0.3s ease;
}
header .top-promo-bar--eyp { background-color: var(--color-category-eyp); }
header .top-promo-bar--cde { background-color: var(--color-category-cde); }
header .top-promo-bar--ges { background-color: var(--color-category-ges); }
header .top-promo-bar--gyh { background-color: var(--color-category-gyh); }
header .top-promo-bar--not { background-color: var(--color-category-not); }
header .top-promo-bar--rs  { background-color: var(--color-category-rs);  }
header .top-promo-bar .center-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .top-promo-bar .top-promo-left {
	display: flex;
	align-items: center;
	gap: 10px;
}
header .top-promo-bar .top-promo-left .top-promo-siguenos {
	color: var(--white-text-color);
	font-size: 0.85rem;
	font-weight: 600;
}
header .top-promo-bar .top-promo-left .top-promo-rs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 4px;
}
header .top-promo-bar .top-promo-left .top-promo-rs li a {
	display: flex;
	align-items: center;
	width: 26px;
	transform: scale(1);
	transition: transform 0.3s ease-in-out;
}
header .top-promo-bar .top-promo-left .top-promo-rs li a:hover {
	transform: scale(1.2);
}
header .top-promo-bar .top-promo-left .top-promo-rs li a img {
	width: 100%;
}
header .top-promo-bar .top-promo-right {
	display: flex;
	align-items: center;
	gap: 6px;
}
header .top-promo-bar .top-promo-right .top-promo-texto {
	color: var(--white-text-color);
	font-size: 0.85rem;
}
header .top-promo-bar .top-promo-right .top-promo-cta {
	color: var(--white-text-color);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: opacity 0.2s ease;
}
header .top-promo-bar .top-promo-right .top-promo-cta:hover {
	opacity: 0.8;
}

/* ── Barra negra: logo + nav + búsqueda ─────────────── */
header .top-bar-header {
	position: relative;
	background-color: var(--main-text-color);
	padding: 14px 0;
}
header .top-bar-header .center-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
header .top-bar-header .top-bar-logo {
	flex-shrink: 0;
	max-width: 200px;
}
header .top-bar-header .top-bar-logo a {
	display: block;
}
header .top-bar-header .top-bar-logo a img {
	width: 100%;
}

/* Nav */
header .top-bar-header .top-bar-nav {
	flex: 1;
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container {
	position: relative;
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li {
	display: block;
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li a {
	display: block;
	color: var(--white-text-color);
	text-transform: uppercase;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 6px 8px;
	border-bottom: 3px solid transparent;
	transition: border-color 0.2s ease;
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-45:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-45 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-45 a {
	border-bottom-color: var(--color-category-eyp);
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-361:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-361 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-361 a {
	border-bottom-color: var(--color-category-cde);
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-365:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-365 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-365 a {
	border-bottom-color: var(--color-category-ges);
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-362:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-362 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-362 a {
	border-bottom-color: var(--color-category-gyh);
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-363:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-363 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-363 a {
	border-bottom-color: var(--color-category-not);
}
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.menu-item-364:hover a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-item.menu-item-364 a,
header .top-bar-header .top-bar-nav .menu-menuprincipalempresarios-container ul li.current-menu-parent.menu-item-364 a {
	border-bottom-color: var(--color-category-rs);
}

/* Búsqueda expandible */
header .top-bar-header .top-bar-search {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	position: relative;
}
header .top-bar-header .top-bar-search .search-toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
}
header .top-bar-header .top-bar-search .search-toggle img {
	width: 22px;
	display: block;
}
header .top-bar-header .top-bar-search .search-expand {
	position: absolute;
	right: 34px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	overflow: hidden;
	transition: width 0.3s ease;
}
header .top-bar-header .top-bar-search .search-expand.is-open {
	width: 240px;
}
header .top-bar-header .top-bar-search .search-expand form {
	display: flex;
	align-items: center;
	position: relative;
}
header .top-bar-header .top-bar-search .search-expand form #search-input {
	width: 100%;
	padding: 8px 38px 8px 14px;
	border-radius: 25px;
	border: none;
	font-size: 0.9rem;
	outline: none;
}
header .top-bar-header .top-bar-search .search-expand form .submit-search {
	display: block;
	width: 18px;
	position: absolute;
	right: 10px;
	cursor: pointer;
}
/*End Header*/

/*Icon Mobile Nav*/
header .top-bar-header .hamb-mobile {
  display: none;
  position: relative;
  height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 20;
}
header .top-bar-header .hamb-mobile .hamb-container {
  display: inline-block;
  cursor: pointer;
}
header .top-bar-header .hamb-mobile .hamb-container .bar1,
header .top-bar-header .hamb-mobile .hamb-container .bar2,
header .top-bar-header .hamb-mobile .hamb-container .bar3 {
  width: 42px;
  height: 6px;
  background-color: var(--white-text-color);
  margin: 6px 0;
  transition: 0.4s;
  border-radius: 5px;
}
header .top-bar-header .hamb-mobile .hamb-container.change .bar1 {
  transform: translate(0, 12px) rotate(-45deg);
}
header .top-bar-header .hamb-mobile .hamb-container.change .bar2 { opacity: 0; }
header .top-bar-header .hamb-mobile .hamb-container.change .bar3 {
  transform: translate(0, -12px) rotate(45deg);
}
/*End Icon Mobile Nav*/

/*Drawer*/
#drawer { 
	display: none;
	position: fixed; 
	top: 0; 
	left: -100%; 
	height: 100%; 
	width: 100%; 
	background: var(--white-text-color); 
	overflow-x: hidden; 
	overflow-y: scroll; 
	padding: 30px 0px; 
	-webkit-overflow-scrolling: touch; 
	z-index: 200;
} 
#drawer .logo{
	text-align: center;
	padding-top: 50px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--gray-border-menu);
}
#drawer .logo .image-logo{
	width: calc(100% - 80px);
}
#drawer .logo .close-menu-mobile{
	width: 40px;
	display: block;
	cursor: pointer;
}
#drawer .logo .close-menu-mobile img{
	width: 100%;
}
#drawer .logo img{
	width: 200px;
}
#drawer .drawer-nav ul{
	list-style: none;
	width: 90%;
	max-width: 350px;
	margin: 0 auto;
}
#drawer .drawer-nav ul li{
	list-style: none;
}
#drawer .drawer-nav ul li a{
	display: block;
	padding: 25px 10px;
	text-decoration: none;
	text-align: left;
	font-size: 1rem;
	color: var(--main-text-color);
	border-bottom: 1px solid var(--gray-border-menu);
	font-weight: 600;
	text-transform: uppercase;
}
#drawer .drawer-nav ul li ul{
	display: none;
}
#drawer .drawer-nav ul li a span.arrow{
	color: #fff;
	display: none;	
}	
#drawer .drawer-nav ul li a:hover, #drawer .drawer-nav ul li.active a{
	background-color: #f2f2f2;
}
/*Drawer*/

/*Footer*/
footer {
    background-color: var(--main-text-color);
    padding: 40px 0 30px;
}

/* Fila 1: logo + CTA */
footer .footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 28px;
}
footer .footer-top-logo a {
    display: block;
}
footer .footer-top-logo img {
    max-width: 180px;
    display: block;
}
footer .footer-top-cta {
    display: flex;
    align-items: center;
    gap: 6px;
}
footer .footer-top-cta-texto {
    color: var(--white-text-color);
    font-size: 0.95rem;
}
footer .footer-top-cta-link {
    color: var(--color-category-eyp);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: opacity 0.2s ease;
}
footer .footer-top-cta-link:hover {
    opacity: 0.8;
}

/* Divisor */
footer .footer-divider {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin: 0;
}

/* Fila 2: columnas de nav */
footer .footer-nav {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    padding: 40px 0;
}
footer .footer-nav-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
footer .footer-nav-col:nth-child(2) {
    justify-self: center;
}
footer .footer-nav-col:nth-child(3) {
    justify-self: end;
}
footer .footer-nav-title {
    color: var(--white-text-color);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
    font-family: "Archivo", sans-serif;
}
footer .footer-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
footer .footer-nav-list li a {
    color: var(--white-text-color);
    font-size: 0.95rem;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
footer .footer-nav-list li a:hover {
    opacity: 0.7;
}

/* Bottom bar */
footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 28px;
}
footer .footer-bottom-copy {
    color: var(--white-text-color);
    font-size: 0.85rem;
    margin: 0;
}
footer .footer-bottom-terminos {
    color: var(--white-text-color);
    font-size: 0.85rem;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
footer .footer-bottom-terminos:hover {
    opacity: 0.7;
    text-decoration: underline;
}
/*End Footer*/

/*Hero Home Block*/
.hero-home-block {
  position: relative;
  width: 100%;
  min-height: 600px;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-home-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.63) 30%,
    rgba(59, 98, 250, 0.63) 100%
  );
}
.hero-home-content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 820px;
  padding: 80px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.hero-home-titulo {
  font-size: 3rem;
  font-weight: 700;
  color: var(--white-text-color);
  line-height: 1.15;
  font-family: "Archivo", sans-serif;
  margin: 0;
}
.hero-home-subtitulo {
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.88);
  margin: 0;
  font-weight: 400;
}
.hero-home-descripcion {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white-text-color);
  margin: 0;
  line-height: 1.5;
}
.hero-home-ctas {
  display: flex;
  gap: 16px;
  margin-top: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.hero-home-btn {
  display: inline-block;
  padding: 16px 36px;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}
.hero-home-btn:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}
.hero-home-btn--primary {
  background-color: var(--main-text-color);
  color: var(--white-text-color);
}
.hero-home-btn--secondary {
  background-color: var(--white-text-color);
  color: var(--main-text-color);
}
/*End Hero Home Block*/

/*Hero Block*/
.hero-block {
  padding: 24px 0 32px;
}
.hero-block .center-block {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  gap: 20px;
  align-items: stretch;
}

/*Featured*/
.hero-featured {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  min-height: 460px;
  display: block;
  cursor: pointer;
  transition: transform 0.25s ease;
}
.hero-featured:hover {
  transform: scale(1.01);
}
.hero-featured .featured-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-featured .featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.45) 45%,
    rgba(0, 0, 0, 0.00) 75%
  );
}
.hero-featured .featured-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 26px;
}
.hero-featured .featured-title {
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--white-text-color);
  line-height: 1.2;
  font-family: "Archivo", sans-serif;
}

/*Cat badge*/
.cat-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--white-text-color);
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.cat-eyp { background-color: var(--color-category-eyp); }
.cat-cde { background-color: var(--color-category-cde); }
.cat-ges { background-color: var(--color-category-ges); }
.cat-gyh { background-color: var(--color-category-gyh); }
.cat-not { background-color: var(--color-category-not); }
.cat-rs  { background-color: var(--color-category-rs);  }

/*Lo último*/
.hero-latest {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.section-label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.label-bar {
  width: 4px;
  height: 28px;
  border-radius: 2px;
  background-color: var(--color-category-eyp);
  flex-shrink: 0;
}
.section-label h2 {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--main-text-color);
  letter-spacing: 0.08em;
}

/*Latest cards*/
.latest-cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}
.latest-card {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  flex: 1;
  min-height: 250px;
  display: block;
  cursor: pointer;
  transition: transform 0.25s ease;
}
.latest-card:hover {
  transform: scale(1.01);
}
.latest-card .card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.latest-card .card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.40) 50%,
    rgba(0, 0, 0, 0.15) 100%
  );
}
.latest-card .card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 18px;
}
.latest-card .card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--white-text-color);
  line-height: 1.35;
  margin-top: 8px;
}
/*End Hero Block*/

/*Category Block*/
.category-block {
  padding: 36px 0 44px;
}

/*Header de sección*/
.cat-block-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.cat-block-header-text {
  flex: 1;
}
.cat-block-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.cat-block-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}
.cat-block-subtitle {
  font-size: 0.9rem;
  color: var(--main-text-color);
  line-height: 1.5;
}
.cat-block-btn {
  flex-shrink: 0;
  align-self: center;
  color: var(--white-text-color);
}

/*label-bar color por categoría*/
.cat-block-eyp .label-bar { background-color: var(--color-category-eyp); }
.cat-block-cde .label-bar { background-color: var(--color-category-cde); }
.cat-block-ges .label-bar { background-color: var(--color-category-ges); }
.cat-block-gyh .label-bar { background-color: var(--color-category-gyh); }
.cat-block-not .label-bar { background-color: var(--color-category-not); }
.cat-block-rs  .label-bar { background-color: var(--color-category-rs);  }

/*Divider*/
.cat-block-divider {
  height: 1px;
  background-color: var(--main-text-color);
  margin-bottom: 24px;
}

/*Grid contenido: 2 cards med + 3 cards small*/
.cat-block-content {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 30px;
  align-items: start;
}

/*Cards medianas*/
.cat-block-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.post-card-med {
  display: flex;
  flex-direction: column;
}
.post-card-med-img-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 14px;
}
.post-card-med-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}
.post-card-med-img-wrap:hover img {
  transform: scale(1.04);
}
.post-card-med-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.post-card-med-title {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}
.post-card-med-title a {
  text-decoration: none;
  color: var(--main-text-color);
  font-weight: 700;
}
.post-card-med-title a:hover {
  text-decoration: underline;
}
.post-card-med-excerpt {
  font-size: 0.88rem;
  color: #444;
  line-height: 1.55;
  margin-bottom: 12px;
  flex: 1;
}
.post-card-med-link {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  margin-bottom: 10px;
}
.post-card-med-date {
  font-size: 0.8rem;
  color: #888;
  border-top: 1px solid #e0e0e0;
  padding-top: 10px;
  display: block;
}

/*Cards pequeñas*/
.cat-block-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.post-card-small {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid #e0e0e0;
}
.post-card-small:first-child {
  border-top: none;
  padding-top: 0;
}
.post-card-small:last-child {
  border-bottom: none;
}
.post-card-small-img-wrap {
  display: block;
  width: 100px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 4px;
  flex-shrink: 0;
}
.post-card-small-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}
.post-card-small-img-wrap:hover img {
  transform: scale(1.04);
}
.post-card-small-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.post-card-small-date {
  font-size: 0.78rem;
  color: #888;
}
.post-card-small-title {
  font-family: "Archivo", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}
.post-card-small-title a {
  text-decoration: none;
  color: var(--main-text-color);
  font-weight: 700;
}
.post-card-small-title a:hover {
  text-decoration: underline;
}

/*Acentos por categoría — link "Continuar leyendo" + btn "Ver todo"*/
.cat-block-eyp .post-card-med-link,
.cat-block-eyp .cat-block-btn { color: var(--color-category-eyp); }
.cat-block-eyp .cat-block-btn { background-color: var(--color-category-eyp); border-color: var(--color-category-eyp); color: var(--white-text-color); }

.cat-block-cde .post-card-med-link,
.cat-block-cde .cat-block-btn { color: var(--color-category-cde); }
.cat-block-cde .cat-block-btn { background-color: var(--color-category-cde); border-color: var(--color-category-cde); color: var(--white-text-color); }

.cat-block-ges .post-card-med-link,
.cat-block-ges .cat-block-btn { color: var(--color-category-ges); }
.cat-block-ges .cat-block-btn { background-color: var(--color-category-ges); border-color: var(--color-category-ges); color: var(--white-text-color); }

.cat-block-gyh .post-card-med-link,
.cat-block-gyh .cat-block-btn { color: var(--color-category-gyh); }
.cat-block-gyh .cat-block-btn { background-color: var(--color-category-gyh); border-color: var(--color-category-gyh); color: var(--white-text-color); }

.cat-block-not .post-card-med-link,
.cat-block-not .cat-block-btn { color: var(--color-category-not); }
.cat-block-not .cat-block-btn { background-color: var(--color-category-not); border-color: var(--color-category-not); color: var(--white-text-color); }

.cat-block-rs .post-card-med-link,
.cat-block-rs .cat-block-btn { color: var(--color-category-rs); }
.cat-block-rs .cat-block-btn { background-color: var(--color-category-rs); border-color: var(--color-category-rs); color: var(--white-text-color); }
/*End Category Block*/

/*YouTube Block*/
.yt-block .center-block {
	width: calc(100% - 80px);
	padding: 44px 30px;
	background-color: var(--main-text-color);
	border-radius: 15px;
}

/*Header*/
.yt-block-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.yt-block-header-text {
  flex: 1;
}
.yt-block-title {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--white-text-color);
  line-height: 1.2;
  margin-bottom: 6px;
}
.yt-block-subtitle {
  font-size: 0.9rem;
  color: var(--white-text-color);
  line-height: 1.5;
}
.yt-block-btn {
  flex-shrink: 0;
  align-self: center;
  color: var(--white-text-color);
  text-transform: none;
}

/*Divider*/
.yt-block-divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.2);
  margin-bottom: 28px;
}

/*Grid: video featured + sidebar*/
.yt-block-content {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  gap: 30px;
  align-items: start;
}

/*Facade del video featured*/
.yt-facade {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  background: #000;
}
.yt-facade-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease-in-out;
}
.yt-facade:hover .yt-facade-thumb {
  transform: scale(1.02);
}

/*Botón play de YouTube*/
.yt-facade-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.yt-facade-play svg {
  width: 68px;
  height: 48px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
  transition: transform 0.2s ease;
}
.yt-facade-play:hover svg {
  transform: scale(1.1);
}
.yt-play-bg {
  fill: #ff0000;
}
.yt-play-icon {
  fill: #fff;
}

/*iframe que reemplaza al facade al hacer clic*/
.yt-facade iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 6px;
}

/*Sidebar*/
.yt-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.yt-sidebar-label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.yt-sidebar-label h3 {
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--white-text-color);
}

/*Lista de videos*/
.yt-sidebar-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 400px;
  overflow-y: scroll;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}
.yt-sidebar-list::-webkit-scrollbar {
  width: 4px;
}
.yt-sidebar-list::-webkit-scrollbar-track {
  background: transparent;
}
.yt-sidebar-list::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
}
.yt-video-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.yt-video-item:first-child {
  padding-top: 0;
}
.yt-video-item:last-child {
  border-bottom: none;
}
.yt-video-item:hover {
  opacity: 0.8;
}
.yt-video-item-thumb {
  position: relative;
  width: 120px;
  aspect-ratio: 16 / 9;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}
.yt-video-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.yt-video-item-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.yt-video-item-play svg {
  width: 28px;
  height: 28px;
}
.yt-video-item-title {
  font-family: "Archivo", sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--white-text-color);
  line-height: 1.35;
}
/*End YouTube Block*/

/*Guías y Herramientas Block*/
.gyh-block {
  padding: 36px 0 44px;
}

/*Header*/
.gyh-block-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.gyh-block-header-text {
  flex: 1;
}
.gyh-block-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.gyh-bar {
  background-color: var(--color-category-gyh);
}
.gyh-block-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}
.gyh-block-subtitle {
  font-size: 0.9rem;
  color: var(--main-text-color);
  line-height: 1.5;
}
.gyh-block-btn {
  flex-shrink: 0;
  align-self: center;
}

/*Divider*/
.gyh-block-divider {
  height: 1px;
  background-color: var(--main-text-color);
  margin-bottom: 24px;
}

/*Grid: lista izquierda + featured derecha*/
.gyh-block-content {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: 30px;
  align-items: stretch;
}

/*Lista de cards pequeñas*/
.gyh-block-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/*Featured derecha*/
.gyh-featured {
  position: relative;
  display: block;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.25s ease;
  min-height: 370px;
}
.gyh-featured:hover {
  transform: scale(1.01);
}
.gyh-featured-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gyh-featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.80) 0%,
    rgba(0, 0, 0, 0.20) 50%,
    rgba(0, 0, 0, 0.05) 100%
  );
}
.gyh-featured-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 22px;
}
.gyh-featured-badge {
	position: absolute;
	right: 20px;
	top: 20px;
}
.gyh-featured-badge span{
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--main-text-color);
  border: 2px solid var(--main-text-color);
  background-color: var(--gray-border-menu);
  padding: 8px 14px;
  border-radius: 15px;
  margin-bottom: 14px;
}
.gyh-featured-title {
  font-family: "Archivo", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--white-text-color);
  line-height: 1.25;
}
/*End Guías y Herramientas Block*/

/*Noticias Block*/
.not-block {
  padding: 36px 0 44px;
}

/*Header*/
.not-block-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.not-block-header-text {
  flex: 1;
}
.not-block-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.not-bar {
  background-color: var(--color-category-not);
}
.not-block-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}
.not-block-subtitle {
  font-size: 0.9rem;
  color: var(--main-text-color);
  line-height: 1.5;
}
.not-block-btn {
  flex-shrink: 0;
  align-self: center;
}

/*Divider*/
.not-block-divider {
  height: 1px;
  background-color: var(--main-text-color);
  margin-bottom: 24px;
}

/*Slider wrapper — oculta overflow horizontal*/
.not-slider-wrap {
  overflow: hidden;
}

/*Slider — flex con transición suave*/
.not-slider {
  display: flex;
  gap: 24px;
  transition: transform 0.4s ease-in-out;
  will-change: transform;
}

/*Card noticia*/
.not-card {
  flex: 0 0 calc((100% - 48px) / 3);
  display: flex;
  flex-direction: column;
}
.not-card-img-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 14px;
}
.not-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out;
}
.not-card-img-wrap:hover img {
  transform: scale(1.04);
}
.not-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.not-card-title {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
}
.not-card-title a {
  text-decoration: none;
  color: var(--main-text-color);
  font-weight: 600;
}
.not-card-title a:hover {
  text-decoration: underline;
}
.not-card-excerpt {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.55;
  margin-bottom: 12px;
  flex: 1;
}
.not-card-link {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: var(--color-category-not);
  margin-bottom: 10px;
}
.not-card-date {
  font-size: 0.8rem;
  color: #888;
  border-top: 1px solid #e0e0e0;
  padding-top: 10px;
  display: block;
}

/*Controles prev/next*/
.not-controls {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}
.not-btn-prev,
.not-btn-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.not-btn-prev {
  background-color: var(--gray-border-menu);
  color: var(--main-text-color);
}
.not-btn-next {
  background-color: var(--main-text-color);
  color: var(--white-text-color);
}
.not-btn-prev:hover {
  background-color: #999;
}
.not-btn-next:hover {
  background-color: #333;
}
.not-btn-prev svg,
.not-btn-next svg {
  width: 20px;
  height: 20px;
}
.not-btn-prev.is-disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}
/*End Noticias Block*/

/*Suscripción Block*/
.subs-block {
  padding: 36px 0 44px;
}
.subs-block .center-block {
  width: calc(100% - 80px);
}
.subs-inner {
  display: grid;
  grid-template-columns: 1fr 0.55fr;
  align-items: end;
  justify-content: stretch;
  background-color: var(--color-category-eyp);
  border-radius: 15px;
  padding: 50px 50px 0 50px;
  overflow: hidden;
  min-height: 280px;
}

/*Texto y form*/
.subs-content {
  padding-bottom: 50px;
}
.subs-title {
  font-family: "Archivo", sans-serif;
  font-size: 1.9rem;
  font-weight: 400;
  color: var(--white-text-color);
  line-height: 1.25;
  margin-bottom: 20px;
}
.subs-title em {
  font-family: "DM Serif Text", serif;
  font-style: normal;
  font-size: 2.2rem;
  color: var(--white-text-color);
}
.subs-desc {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.6;
  margin-bottom: 28px;
  max-width: 540px;
}

/*Form*/
.subs-form {
  display: flex;
  align-items: center;
  background-color: var(--gray-input-contact);
  border-radius: 50px;
  padding: 6px 6px 6px 22px;
  max-width: 480px;
}
.subs-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: "Archivo", sans-serif;
  font-size: 0.98rem;
  color: var(--main-text-color);
  padding: 8px 0;
}
.subs-input::placeholder {
  color: var(--color-category-cde);
}
.subs-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 52px;
  border-radius: 25px;
  background-color: var(--main-text-color);
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
}
.subs-btn:hover {
  background-color: #333;
}
.subs-btn img {
  width: 20px;
  height: 20px;
}

/*Imagen*/
.subs-image {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.subs-image img {
  display: block;
  width: 100%;
  max-width: 340px;
  object-fit: contain;
}
/*End Suscripción Block*/

/* ══════════════════════════════════════
   BREADCRUMB – CATEGORY
══════════════════════════════════════ */
.cat-breadcrumb {
  padding: 40px 0 15px;
}
.breadcrumb-nav {
  position: relative;
}
.breadcrumb-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.breadcrumb-item {
  display: flex;
  align-items: center;
}
.breadcrumb-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--main-text-color);
  transition: opacity 0.2s ease;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.breadcrumb-link:hover {
  opacity: 0.6;
}
.breadcrumb-home-icon {
  width: 18px;
  height: 18px;
}
.breadcrumb-separator {
  font-size: 0.85rem;
  color: var(--main-text-color);
  line-height: 1;
}
.breadcrumb-current span {
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cat-breadcrumb.eyp .breadcrumb-link {
  color: var(--color-category-eyp);
}
.cat-breadcrumb.eyp .breadcrumb-current span {
  color: var(--color-category-eyp);
}
.cat-breadcrumb.cde .breadcrumb-link {
  color: var(--color-category-cde);
}
.cat-breadcrumb.cde .breadcrumb-current span {
  color: var(--color-category-cde);
}
.cat-breadcrumb.ges .breadcrumb-link {
  color: var(--color-category-ges);
}
.cat-breadcrumb.ges .breadcrumb-current span {
  color: var(--color-category-ges);
}
.cat-breadcrumb.gyh .breadcrumb-link {
  color: var(--color-category-gyh);
}
.cat-breadcrumb.gyh .breadcrumb-current span {
  color: var(--color-category-gyh);
}
.cat-breadcrumb.not. breadcrumb-link {
  color: var(--color-category-not);
}
.cat-breadcrumb.not .breadcrumb-current span {
  color: var(--color-category-not);
}
.cat-breadcrumb.rs .breadcrumb-link {
  color: var(--color-category-rs);
}
.cat-breadcrumb.rs .breadcrumb-current span {
  color: var(--color-category-rs);
}
.single .breadcrumb-current span {
  color: var(--main-text-color) !important;
  font-weight: 500;
}
/* ══════════════════════════════════════
   HERO – CATEGORY
══════════════════════════════════════ */
.cat-hero-block {
  padding: 10px 0 32px;
}

/* Título de categoría */
.cat-hero-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.cat-hero-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}

/* Grid: featured izquierda + lista derecha */
.cat-hero-content {
  display: grid;
  grid-template-columns: 1fr 0.65fr;
  gap: 20px;
  align-items: stretch;
}

/* Featured – reutiliza .hero-featured del Home */
.cat-hero-featured {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  min-height: 460px;
  display: block;
  cursor: pointer;
  transition: transform 0.25s ease;
}
.cat-hero-featured .featured-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-hero-featured:hover {
  transform: scale(1.01);
}
.cat-hero-featured .featured-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.45) 45%, rgba(0, 0, 0, 0.00) 75%);
}
.cat-hero-featured .featured-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 26px;
}
.cat-hero-featured .featured-title {
    font-size: 1.7rem;
    font-weight: 400;
    color: var(--white-text-color);
    line-height: 1.2;
    font-family: "Archivo", sans-serif;
}

/* Lista derecha: distribuye el alto uniformemente */
.cat-hero-block .cat-block-sidebar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.cat-hero-block .post-card-small {
  flex: 1;
  padding: 14px 0;
  border-bottom: 1px solid #e0e0e0;
  align-items: center;
}
.cat-hero-block .post-card-small:first-child {
  padding-top: 0;
}
.cat-hero-block .post-card-small:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Barra de color por categoría en el hero */
.cat-hero-gyh .label-bar { background-color: var(--color-category-gyh); }
.cat-hero-eyp .label-bar { background-color: var(--color-category-eyp); }
.cat-hero-cde .label-bar { background-color: var(--color-category-cde); }
.cat-hero-ges .label-bar { background-color: var(--color-category-ges); }
.cat-hero-not .label-bar { background-color: var(--color-category-not); }
.cat-hero-rs  .label-bar { background-color: var(--color-category-rs);  }

/* ══════════════════════════════════════
   CONTENIDO PRINCIPAL + SIDEBAR
══════════════════════════════════════ */
.cat-main-section {
  padding: 36px 0 60px;
}

/* Layout: columna principal + sidebar */
.cat-main-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}

/* ── Columna principal ── */
.cat-main-header {
  margin-bottom: 10px;
}

/* Grid 2 cols de post-card-med */
.cat-main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 24px;
}

/* Color del link "Continuar leyendo" por categoría */
.cat-main-link-eyp { color: var(--color-category-eyp); }
.cat-main-link-cde { color: var(--color-category-cde); }
.cat-main-link-ges { color: var(--color-category-ges); }
.cat-main-link-gyh { color: var(--color-category-gyh); }
.cat-main-link-not { color: var(--color-category-not); }
.cat-main-link-rs  { color: var(--color-category-rs);  }

/* Sin posts */
.cat-no-posts {
  font-size: 1rem;
  color: #666;
  padding: 30px 0;
}

/* Paginación */
.cat-pagination {
  margin-top: 40px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.cat-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--main-text-color);
  border: 1px solid #e0e0e0;
  transition: background-color 0.2s ease, color 0.2s ease;
  background-color: var(--gray-paginate-bg);
}
.cat-pagination .page-numbers.current,
.cat-pagination .page-numbers:hover {
  background-color: var(--main-text-color);
  color: var(--white-text-color);
  border-color: var(--main-text-color);
}
.cat-pagination .page-numbers.dots {
  border: none;
  background: none;
  pointer-events: none;
}

/* ── Sidebar ── */
.cat-sidebar {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.cat-sidebar-widget-header {
  margin-bottom: 10px;
}

/* -- Más leídos -- */
.cat-sidebar-popular {
  display: flex;
  flex-direction: column;
}

/* Cards de "Más leídos" – featured con overlay */
.cat-popular-card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 10px;
  cursor: pointer;
  transition: transform 0.25s ease;
}
.cat-popular-card:last-child {
  margin-bottom: 0;
}
.cat-popular-card:hover {
  transform: scale(1.01);
}
.cat-popular-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-popular-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.80) 0%,
    rgba(0, 0, 0, 0.30) 55%,
    rgba(0, 0, 0, 0.00) 100%
  );
}
.cat-popular-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 16px;
}
.cat-popular-title {
  font-family: "Archivo", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--white-text-color);
  line-height: 1.3;
}

/* -- Últimos videos -- */
.cat-sidebar-videos-inner {
  background-color: var(--main-text-color);
  border-radius: 12px;
  padding: 24px 20px 20px;
}
.cat-sidebar-videos-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--white-text-color);
  line-height: 1.2;
  margin-bottom: 10px;
}
.cat-sidebar-videos-divider {
  height: 1px;
  background-color: rgba(255,255,255,0.2);
  margin-bottom: 16px;
}

/* Reutiliza .yt-video-item ya definido en style.css */
.cat-sidebar-videos-list {
  display: flex;
  flex-direction: column;
}

/* Botón "Ir al canal" */
.cat-sidebar-videos-footer {
  margin-top: 20px;
  text-align: center;
}
.cat-sidebar-canal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-category-eyp);
  color: var(--white-text-color);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  padding: 12px 28px;
  border-radius: 25px;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.cat-sidebar-canal-btn:hover {
  background-color: #2a4ed6;
  transform: scale(1.04);
}

/* ══════════════════════════════════════
   SINGLE – LAYOUT
══════════════════════════════════════ */
.single-section {
  padding: 16px 0 48px;
}
.single-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 24px;
  align-items: start;
}

/* ══════════════════════════════════════
   SINGLE – CONTENIDO PRINCIPAL
══════════════════════════════════════ */

/* Título */
.single-title {
  font-family: "Archivo", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
  margin-bottom: 16px;
}

/* Meta autor + fecha */
.single-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.single-meta-author,
.single-meta-date {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: var(--main-text-color);
}
.single-meta-author svg,
.single-meta-date svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: var(--main-text-color);
}

/* Blockquote excerpt destacado */
.single-excerpt {
  border-left: 4px solid var(--main-text-color);
  padding: 14px 20px;
  margin: 0 0 24px;
  background: none;
  font-size: 0.98rem;
  color: var(--main-text-color);
  line-height: 1.65;
  font-style: normal;
}
.single-excerpt.eyp { border-left: 4px solid var(--color-category-eyp); }
.single-excerpt.cde { border-left: 4px solid var(--color-category-cde); }
.single-excerpt.ges { border-left: 4px solid var(--color-category-ges); }
.single-excerpt.gyh { border-left: 4px solid var(--color-category-gyh); }
.single-excerpt.not { border-left: 4px solid var(--color-category-not); }
.single-excerpt.rs  { border-left: 4px solid var(--color-category-rs);  }

/* Imagen destacada */
.single-featured-img {
  width: 100%;
  margin-bottom: 24px;
  border-radius: 6px;
  overflow: hidden;
}
.single-thumb {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

/* Contenido del post */
.single-content {
  font-size: 1rem;
  color: var(--main-text-color);
  line-height: 1.75;
  margin-bottom: 36px;
}
.single-content p, .single-content strong, .single-content a{
  font-size: 1rem;
  line-height: 1.75;
}
.single-content p, .single-content strong{
  color: var(--single-text-color);
}
.single-content p {
  margin-bottom: 18px;
}
.single-content h2 {
  font-family: "Archivo", sans-serif;
  margin: 32px 0 14px;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}
.single-content h2 *{
  font-family: "Archivo", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}
.single-content h3 {
  font-family: "Archivo", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 24px 0 10px;
}
.single-content h3 *{
  font-family: "Archivo", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
}
.single-content a {
  color: var(--color-category-eyp);
  text-decoration: underline;
}
.single-content a:hover {
  opacity: 0.8;
}
.single-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
  margin: 20px 0;
}
.single-content ul,
.single-content ol {
  margin: 0 0 18px 24px;
  padding: 0;
}
.single-content ul li,
.single-content ol li {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 6px;
}
.single-content blockquote {
  border-left: 4px solid var(--gray-border-menu);
  padding: 12px 18px;
  margin: 20px 0;
  font-style: italic;
  font-size: 1rem;
  color: #555;
  max-width: 100%;
}

/* Rating de estrellas */
.single-rating {
  padding-top: 24px;
  border-top: 1px solid #e0e0e0;
}
.single-rating-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--main-text-color);
  margin-bottom: 10px;
}
.single-stars {
  display: flex;
  gap: 6px;
}
.single-star {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: transform 0.15s ease;
}
.single-star:hover {
  transform: scale(1.15);
}
.single-star svg {
  width: 28px;
  height: 28px;
  fill: var(--gray-border-menu);
  stroke: none;
  transition: fill 0.15s ease;
}
.single-star.is-active svg,
.single-star.is-hover svg {
  fill: #f5a623;
}

/* ══════════════════════════════════════
   SINGLE – SIDEBAR
══════════════════════════════════════ */
.single-sidebar {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Compartir */
.single-share-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--main-text-color);
  margin-bottom: 10px;
}
.single-share-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}
.single-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  transition: opacity 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}
.single-share-btn:hover {
  opacity: 0.85;
  transform: scale(1.08);
}
.single-share-btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--white-text-color);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.share-li { background-color: #0077B5; }
.share-fb { background-color: #1877F2; }
.share-x  { background-color: #000000; }
.share-wa { background-color: #25D366; }

/* Más artículos */
.single-sidebar-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.single-sidebar-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}
.single-sidebar-divider {
  height: 1px;
  background-color: var(--main-text-color);
  margin-bottom: 16px;
}

.single-more-card {
  display: block;
  text-decoration: none;
  margin-bottom: 16px;
  transition: opacity 0.2s ease;
}
.single-more-card:last-child {
  margin-bottom: 0;
}
.single-more-card:hover {
  opacity: 0.85;
}
.single-more-img-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 8px;
}
.single-more-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.single-more-card:hover .single-more-img-wrap img {
  transform: scale(1.04);
}
.single-more-title {
  font-family: "Archivo", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.35;
}

/* Suscripción compacta */
.single-subs-inner {
  position: relative;
  background-color: var(--color-category-eyp);
  border-radius: 12px;
  padding: 24px 20px 0 20px;
  overflow: hidden;
}
.single-subs-content {
  position: relative;
  z-index: 2;
  padding-bottom: 24px;
}
.single-subs-content form .wpcf7-submit{
  margin-top: 15px;
}
.single-subs-title {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--white-text-color);
  line-height: 1.5;
  margin-bottom: 18px;
}
.single-subs-title em {
  font-style: normal;
  font-family: "DM Serif Text", serif;
  font-size: 1.1rem;
  color: var(--white-text-color);
}
.single-subs-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.single-subs-input {
  width: 100%;
  padding: 12px 16px;
  border-radius: 25px;
  border: none;
  background-color: var(--gray-input-contact);
  font-family: "Archivo", sans-serif;
  font-size: 0.9rem;
  color: var(--main-text-color);
  outline: none;
  box-sizing: border-box;
}
.single-subs-input::placeholder {
  color: #888;
}
.single-subs-btn {
  width: 100%;
  padding: 13px;
  border-radius: 25px;
  border: none;
  background-color: var(--main-text-color);
  color: var(--white-text-color);
  font-family: "Archivo", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.single-subs-btn:hover {
  background-color: #333;
}
.single-subs-image {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin-top: 8px;
}
.single-subs-image img {
  display: block;
  width: 85%;
  max-width: 220px;
  object-fit: contain;
}

/* ══════════════════════════════════════
   SINGLE – ARTÍCULOS RELACIONADOS
══════════════════════════════════════ */
.single-related {
  padding: 0 0 56px;
}
.single-related-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.single-related-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
}
.single-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 24px;
  margin-top: 24px;
}
.single-related-card {
  display: flex;
  flex-direction: column;
}
.single-related-img-wrap {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 12px;
}
.single-related-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.single-related-img-wrap:hover img {
  transform: scale(1.04);
}
.single-related-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  margin-bottom: 0;
}
.single-related-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.single-related-card-title {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}
.single-related-card-title a {
  text-decoration: none;
  color: var(--main-text-color);
}
.single-related-card-title a:hover {
  text-decoration: underline;
}
.single-related-excerpt {
  font-size: 0.88rem;
  color: #444;
  line-height: 1.55;
}
/* ══════════════════════════════════════
   HERO – ANÚNCIATE  |  base 1280px+
══════════════════════════════════════ */

.hero-anunciate {
	display: block;
  margin-bottom: 30px;
}

.hero-anunciate__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* Lado izquierdo – texto */
.hero-anunciate__content {
	padding: 60px 25px 60px 25px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
  background-color: var(--color-category-eyp);
}

.hero-anunciate__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--white-text-color);
	line-height: 1.15;
	margin: 0;
  font-family: "Archivo", sans-serif;
}

.hero-anunciate__desc {
	font-size: 1rem;
	color: var(--white-text-color);
	line-height: 1.6;
	margin: 0;
}

.hero-anunciate__cta {
	align-self: flex-start;
	text-transform: none !important;
	font-size: 0.95rem !important;
	padding: 12px 28px !important;
  background-color: var(--main-text-color);
}
.hero-anunciate__cta:hover {
  transform: scale(1.1);
}

.hero-anunciate__cta span {
	font-size: 0.95rem !important;
}

/* Lado derecho – imagen */
.hero-anunciate__image {
	overflow: hidden;
}

.hero-anunciate__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* ══════════════════════════════════════
   BLOQUE ¿CÓMO PODEMOS AYUDARTE?  |  base 1280px+
══════════════════════════════════════ */

.anunciate-ayuda-block {
	padding: 30px 0 20px;
}

.anunciate-ayuda-block__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--main-text-color);
	margin: 0 0 12px 0;
  font-family: "Archivo", sans-serif;
}

.anunciate-ayuda-block__subtitle {
	font-size: 0.95rem;
	color: var(--main-text-color);
	margin: 0 0 32px 0;
}

/* Card contenedor */
.anunciate-ayuda-card {
	background-color: var(--background-menu);
	border-radius: 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	overflow: hidden;
}

/* Columna izquierda – texto */
.anunciate-ayuda-card__content {
	padding: 48px 50px;
	display: flex;
	flex-direction: column;
	gap: 20px;
  justify-content: center;
}

.anunciate-ayuda-card__heading {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
  font-family: "Archivo", sans-serif;
}

.anunciate-ayuda-card__intro {
	font-size: 0.9rem;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.6;
}

/* Lista de items */
.anunciate-ayuda-card__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.anunciate-ayuda-card__item {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	align-items: start;
}

.anunciate-ayuda-card__icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	margin-top: 2px;
}

.anunciate-ayuda-card__icon svg {
	width: 40px;
	height: 40px;
}

.anunciate-ayuda-card__item-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.anunciate-ayuda-card__item-title {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--color-category-eyp);
}

.anunciate-ayuda-card__item-desc {
	font-size: 0.9rem;
	color: var(--main-text-color);
	line-height: 1.6;
	margin: 0;
}

/* Columna derecha – imagen */
.anunciate-ayuda-card__image {
  display: flex;
	overflow: hidden;
	border-radius: 0 20px 20px 0;
  align-items: center;
  justify-content: center;
}

.anunciate-ayuda-card__image img {
	width: 80%;
	height: 80%;
	object-fit: cover;
	object-position: center top;
	display: block;
  border-radius: 20px;
}

/* ══════════════════════════════════════
   BLOQUE ¿POR QUÉ ELEGIRNOS?  |  base 1280px+
══════════════════════════════════════ */

.elegirnos-block {
	padding: 60px 0;
}

.elegirnos-block__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--main-text-color);
	text-align: center;
	margin: 0 0 40px 0;
	font-family: "Archivo", sans-serif;
}

/* Grid 3 columnas */
.elegirnos-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* Card base */
.elegirnos-card {
	background-color: var(--white-text-color);
	border-radius: 20px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 2px solid transparent;
}

.elegirnos-card--gray {
	border-color: var(--gray-border-menu);
}

.elegirnos-card--green {
	border-color: var(--color-category-cde);
}

.elegirnos-card--blue {
	border-color: var(--color-category-eyp);
}

.elegirnos-card__heading {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.2;
	font-family: "Archivo", sans-serif;
}

.elegirnos-card__desc {
	font-size: 0.9rem;
	color: var(--main-text-color);
	line-height: 1.65;
	margin: 0;
}

/* ══════════════════════════════════════
   BLOQUE COMIENZA HOY MISMO  |  base 1280px+
══════════════════════════════════════ */

.anunciate-cta-block {
	padding: 60px 0;
}

/* Card azul con border-radius */
.anunciate-cta-card {
	background-color: var(--color-category-eyp);
	border-radius: 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
	min-height: 560px;
}

/* Columna izquierda – texto + form */
.anunciate-cta-card__content {
	padding: 52px 52px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.anunciate-cta-card__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--white-text-color);
	margin: 0;
	line-height: 1.15;
	font-family: "Archivo", sans-serif;
}

.anunciate-cta-card__desc {
	font-size: 0.95rem;
	color: var(--white-text-color);
	line-height: 1.6;
	margin: 0;
}

/* Form */
.anunciate-cta-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.anunciate-cta-form__input,
.anunciate-cta-form__select,
.anunciate-cta-form__textarea {
	width: 100%;
	background-color: var(--white-text-color);
	border: none;
	outline: none;
	font-size: 0.9rem;
	color: var(--single-text-color);
	font-family: inherit;
	box-sizing: border-box;
}

/* Input y select – pill */
.anunciate-cta-form__input,
.anunciate-cta-form__select {
	border-radius: 25px;
	padding: 14px 22px;
	height: 52px;
}

.anunciate-cta-form__input::placeholder {
	color: var(--gray-border-menu);
}

/* Select wrapper para flecha custom */
.anunciate-cta-form__select-wrap {
	position: relative;
}

.anunciate-cta-form__select {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23363636' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	padding-right: 46px;
	color: var(--gray-border-menu);
}

.anunciate-cta-form__select:focus,
.anunciate-cta-form__select:valid {
	color: var(--single-text-color);
}

/* Textarea */
.anunciate-cta-form__textarea {
	border-radius: 16px;
	padding: 16px 22px;
	resize: none;
	line-height: 1.6;
}

.anunciate-cta-form__textarea::placeholder {
	color: var(--gray-border-menu);
}

/* Botón submit */
.anunciate-cta-form__btn {
	align-self: flex-start;
	background-color: var(--main-text-color);
	color: var(--white-text-color);
	border: 2px solid var(--main-text-color);
	border-radius: 25px;
	padding: 13px 28px;
	font-size: 0.95rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.anunciate-cta-form__btn:hover {
	transform: scale(1.05);
	background-color: var(--white-text-color);
	color: var(--main-text-color);
}

/* Columna derecha – imagen PNG sin fondo */
.anunciate-cta-card__image {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
}

.anunciate-cta-card__image img {
	width: 85%;
	height: auto;
	display: block;
	object-fit: contain;
	object-position: bottom center;
}

/* Nota al pie */
.anunciate-cta-note, .anunciate-cta-note * {
	font-size: 0.9rem;
	color: var(--single-text-color);
	margin: 20px 0 0 0;
	line-height: 1.6;
}

/* ══════════════════════════════════════
   PAGE CONTACTO  |  base 1280px+
══════════════════════════════════════ */

.contacto-block {
	padding: 60px 0 20px 0;
}

/* Grid 2 col: info + card */
.contacto-inner {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 60px;
	align-items: start;
}

/* ── Columna izquierda ── */
.contacto-info {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-top: 8px;
}

.contacto-info__title {
	font-size: 3rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.1;
	font-family: "Archivo", sans-serif;
}

.contacto-info__group {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.contacto-info__label {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--main-text-color);
	margin: 0;
}

.contacto-info__email {
	font-size: 0.95rem;
	color: var(--main-text-color);
	text-decoration: none;
}

.contacto-info__email:hover {
	text-decoration: underline;
}

/* ── Columna derecha – card ── */
.contacto-card {
	background-color: var(--background-menu);
	border-radius: 20px;
	padding: 40px 44px;
}

/* Form */
.contacto-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.contacto-form__input,
.contacto-form__textarea {
	width: 100%;
	background-color: var(--white-text-color);
	border: 1.5px solid var(--gray-input-contact);
	outline: none;
	font-size: 0.9rem;
	color: var(--single-text-color);
	font-family: inherit;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.contacto-form__input:focus,
.contacto-form__textarea:focus {
	border-color: var(--color-category-eyp);
}

/* Inputs – pill */
.contacto-form__input {
	border-radius: 25px;
	padding: 14px 22px;
	height: 52px;
}

.contacto-form__input::placeholder,
.contacto-form__textarea::placeholder {
	color: var(--gray-border-menu);
}

/* Textarea */
.contacto-form__textarea {
	border-radius: 16px;
	padding: 16px 22px;
	resize: none;
	line-height: 1.6;
}

/* Checkbox row */
.contacto-form__check-label {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	margin-top: 4px;
}

.contacto-form__checkbox {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 1.5px solid var(--gray-input-contact);
	border-radius: 4px;
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--white-text-color);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.contacto-form__checkbox:checked {
	background-color: var(--color-category-gyh);
	border-color: var(--color-category-gyh);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

.contacto-form__check-text, .contacto-form__check-text * {
	font-size: 0.9rem;
	color: var(--single-text-color);
}

.contacto-form__check-link {
	font-weight: 700;
	color: var(--color-category-gyh);
	text-decoration: none;
}

.contacto-form__check-link:hover {
	text-decoration: underline;
}

/* Botón submit */
.contacto-form__btn {
	align-self: flex-start;
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: var(--main-text-color);
	color: var(--white-text-color);
	border: 2px solid var(--main-text-color);
	border-radius: 25px;
	padding: 13px 28px;
	font-size: 0.95rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: transform 0.3s ease-in-out, background-color 0.2s ease;
	margin-top: 6px;
}

.contacto-form__btn:hover {
	transform: scale(1.05);
}

.contacto-form__btn-arrow {
	width: 18px;
	height: 18px;
	display: block;
	transition: transform 0.3s ease-in-out;
}

.contacto-form__btn:hover .contacto-form__btn-arrow {
	transform: translateX(4px);
}

/* ══════════════════════════════════════
   HERO QUIÉNES SOMOS  |  base 1280px+
══════════════════════════════════════ */

.qs-hero-block {
	padding: 30px 0;
}

/* Contenedor relativo para overlay + imagen + texto */
.qs-hero {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 3 / 1;
}

/* Imagen de fondo */
.qs-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* Overlay azul semitransparente */
.qs-hero__overlay {
	position: absolute;
	inset: 0;
	background-color: var(--color-category-eyp);
	opacity: 0.72;
	z-index: 1;
}

/* Contenido textual – alineado abajo izquierda */
.qs-hero__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 48px 52px;
	gap: 14px;
	max-width: 620px;
}

.qs-hero__title {
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--white-text-color);
	line-height: 1.15;
	margin: 0;
	font-family: "Archivo", sans-serif;
}

.qs-hero__desc {
	font-size: 1rem;
	color: var(--white-text-color);
	line-height: 1.6;
	margin: 0;
}

/* ══════════════════════════════════════
   BLOQUE NUESTRO PROPÓSITO  |  base 1280px+
══════════════════════════════════════ */

.qs-proposito-block {
	padding: 10px 0 20px;
}

.qs-proposito-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

/* ── Columna izquierda – texto ── */
.qs-proposito-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.qs-proposito-title, .qs-proposito-title * {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.15;
}

.qs-proposito-title__accent {
	color: var(--color-category-eyp);
}

.qs-proposito-text {
	font-size: 0.95rem;
	color: var(--main-text-color);
	line-height: 1.7;
	margin: 0;
}

.qs-proposito-text strong {
  font-size: 0.95rem;
	font-weight: 700;
	color: var(--main-text-color);
}

/* ── Columna derecha – imagen ── */
.qs-proposito-image {
	display: flex;
	align-items: center;
	justify-content: center;
}

.qs-proposito-image img {
	width: 100%;
	max-width: 420px;
	height: auto;
	display: block;
	object-fit: contain;
}

/* ══════════════════════════════════════
   BLOQUE NUESTRA PROPUESTA DE VALOR  |  base 1280px+
══════════════════════════════════════ */

.qs-valor-block {
	padding: 60px 0;
}

/* Header centrado */
.qs-valor-header {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 40px;
}

.qs-valor-title {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
	font-family: "Archivo", sans-serif;
}

.qs-valor-title__accent {
  font-size: 1.8rem;
  font-weight: 800;
	color: var(--color-category-eyp);
}

.qs-valor-subtitle {
	font-size: 0.95rem;
	color: var(--main-text-color);
	margin: 0;
}

/* Grid 3 columnas */
.qs-valor-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* Card base – texto centrado */
.qs-valor-card {
	background-color: var(--white-text-color);
	border-radius: 20px;
	padding: 36px 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	border: 2px solid transparent;
	text-align: center;
}

.qs-valor-card--blue {
	border-color: var(--color-category-eyp);
}

.qs-valor-card--green {
	border-color: var(--color-category-cde);
}

.qs-valor-card--lightblue {
	border-color: var(--color-category-ges);
}

.qs-valor-card__heading {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.2;
	font-family: "Archivo", sans-serif;
}

.qs-valor-card__desc {
	font-size: 0.9rem;
	color: var(--main-text-color);
	line-height: 1.65;
	margin: 0;
}

/* ══════════════════════════════════════
   BLOQUE ESCRIBIMOS PARA QUIENES  |  base 1280px+
══════════════════════════════════════ */

.qs-cta-block {
	padding: 30px 0 50px;
}

.qs-cta-card {
	background-color: var(--main-text-color);
	border-radius: 20px;
	padding: 70px 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.qs-cta-title {
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--white-text-color);
	margin: 0;
	line-height: 1.3;
}

.qs-cta-title__accent {
  font-size: 1.8rem;
	font-weight: 600;
	color: var(--color-category-eyp);
}

.qs-cta-desc {
	font-size: 0.95rem;
	color: var(--white-text-color);
	margin: 0;
	line-height: 1.6;
	opacity: 0.85;
}

/* ══════════════════════════════════════
   SEARCH RESULTS  |  base 1280px+
══════════════════════════════════════ */

.search-main-section {
	padding: 36px 0 80px 0;
}

/* ── Searchform inline ── */
.search-inline-form {
	margin-bottom: 36px;
}

/* Sobreescribe el form del header para que se vea pill y más ancho */
.search-inline-form form {
	display: flex;
	align-items: center;
	gap: 0;
	background-color: var(--white-text-color);
	border: 1.5px solid var(--gray-input-contact);
	border-radius: 25px;
	padding: 10px 20px;
	max-width: 480px;
}

.search-inline-form form #search-input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-size: 0.95rem;
	color: var(--main-text-color);
	font-family: inherit;
}

.search-inline-form form #search-input::placeholder {
	color: var(--gray-border-menu);
}

.search-inline-form form .submit-search {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	opacity: 0.6;
	transition: opacity 0.2s;
}

.search-inline-form form .submit-search:hover {
	opacity: 1;
}

/* ── Lista de resultados ── */
.search-results-list {
	display: flex;
	flex-direction: column;
}

.search-result-item {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 20px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid #e0e0e0;
}

.search-result-item:first-child {
	border-top: none;
}

.search-result-item__img-wrap {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
	flex-shrink: 0;
}

.search-result-item__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.search-result-item__img-wrap:hover img {
	transform: scale(1.04);
}

.search-result-item__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.search-result-item__body .cat-badge{
  width: fit-content;
}

.search-result-item__title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--main-text-color);
	margin: 0;
	line-height: 1.3;
	font-family: "Archivo", sans-serif;
}

.search-result-item__title a {
	text-decoration: none;
	color: var(--main-text-color);
}

.search-result-item__title a:hover {
	text-decoration: underline;
}

.search-result-item__excerpt {
	font-size: 0.88rem;
	color: #444;
	line-height: 1.55;
	margin: 0;
}

.search-result-item__date {
	font-size: 0.8rem;
	color: #888;
}

/* ── Sin resultados ── */
.search-empty {
	padding: 32px 0;
}

.search-empty__msg {
	font-size: 1rem;
	color: var(--single-text-color);
	line-height: 1.6;
	margin: 0;
}

/* ── Sidebar suscripción ── */
.search-sidebar-subs {
	background-color: var(--color-category-eyp);
	border-radius: 16px;
	padding: 28px 24px 0 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: hidden;
}
.search-sidebar-subs form .wpcf7-submit{
  margin-top: 15px;
}

.search-sidebar-subs__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--white-text-color);
	margin: 0;
	line-height: 1.5;
	font-family: "Archivo", sans-serif;
}

.search-sidebar-subs__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.search-sidebar-subs__input {
	width: 100%;
	border: none;
	outline: none;
	border-radius: 25px;
	padding: 12px 18px;
	font-size: 0.88rem;
	font-family: inherit;
	color: var(--main-text-color);
	box-sizing: border-box;
}

.search-sidebar-subs__input::placeholder {
	color: var(--gray-border-menu);
}

.search-sidebar-subs__btn {
	align-self: flex-start;
	background-color: var(--main-text-color);
	color: var(--white-text-color);
	border: none;
	border-radius: 25px;
	padding: 11px 24px;
	font-size: 0.9rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: transform 0.2s ease;
}

.search-sidebar-subs__btn:hover {
	transform: scale(1.05);
}

.search-sidebar-subs__image {
	display: flex;
	justify-content: center;
	margin-top: 4px;
}

.search-sidebar-subs__image img {
	width: 85%;
	height: auto;
	display: block;
}

/* ══════════════════════════════════════════════════════════════
   CF7 OVERRIDES – Empresarios México
   Neutraliza el markup que inyecta Contact Form 7
   y adapta cada contexto al diseño del tema.
══════════════════════════════════════════════════════════════ */

/* ── 1. Reset global de CF7 ──────────────────────────────── */
.wpcf7 form.wpcf7-form {
  margin: 0;
  padding: 0;
}

/* El <p> que CF7 mete alrededor de los campos */
.wpcf7 p {
  margin: 0;
  padding: 0;
}

/* Spinner oculto por defecto (se muestra solo al enviar) */
.wpcf7-spinner {
  display: none;
}

/* Mensaje de respuesta */
.wpcf7-response-output {
  margin: 8px 0 0 !important;
  padding: 6px 12px !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 0.85rem;
  font-family: "Archivo", sans-serif;
}

/* ── 2. Suscripción – pill horizontal (Home + Contacto) ──── */
.subs-form-wrap .wpcf7-form {
  margin: 0;
  padding: 0;
}

.subs-form-wrap .wpcf7-form p{
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  background-color: var(--gray-input-contact);
  border-radius: 50px;
  padding: 6px 6px 6px 22px;
  max-width: 480px;
  gap: 0;
  margin: 0;
}

/* Quitar el <br> que CF7 inserta entre input y botón */
.subs-form-wrap .wpcf7-form br {
  display: none !important;
}

/* Spinner oculto — no debe ocupar espacio en el flex */
.subs-form-wrap .wpcf7-spinner {
  display: none !important;
  width: 0 !important;
  margin: 0 !important;
}

/* El span wrapper del input ocupa todo el espacio disponible */
.subs-form-wrap .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
}

/* El input de email a ancho completo dentro del wrap */
.subs-form-wrap .subs-input {
  width: 100%;
  display: block;
}

/* Botón submit — oculta el texto y muestra la imagen SVG como background */
.subs-form-wrap .subs-btn {
  flex-shrink: 0;
  font-size: 0 !important;        /* oculta el "→" de texto */
  color: transparent !important;
  background-image: url("images/arrow-next-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
}

/* Mensaje de respuesta debajo de la pill */
.subs-form-wrap .wpcf7-response-output {
  width: 100%;
  max-width: 480px;
  margin-top: 8px !important;
}

/* ── 3. Suscripción – sidebar de search (vertical) ───────── */
.search-sidebar-subs__form-wrap .wpcf7-form,
.search-sidebar-subs__form-wrap .wpcf7-form p {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.search-sidebar-subs__form-wrap .wpcf7-form br {
  display: none;
}

.search-sidebar-subs__form-wrap .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* ── 4. Contacto – card form (vertical) ─────────────────── */
.contacto-card .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contacto-card .wpcf7-form p {
  margin: 0;
  padding: 0;
}

.contacto-card .wpcf7-form br {
  display: none;
}

.contacto-card .wpcf7-form-control-wrap {
  display: block;
}

/* Checkbox de privacidad */
.contacto-card .wpcf7-acceptance {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── 5. Anúnciate – CTA form (vertical) ─────────────────── */
.anunciate-cta-card__content .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.anunciate-cta-card__content .wpcf7-form p {
  margin: 0;
  padding: 0;
}

.anunciate-cta-card__content .wpcf7-form br {
  display: none;
}

.anunciate-cta-card__content .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* ── 6. Validación – colores de error/éxito ─────────────── */
.wpcf7-not-valid-tip {
  font-size: 0.78rem;
  color: #e53e3e;
  font-family: "Archivo", sans-serif;
  margin-top: 3px;
  display: block;
}

.wpcf7-form.invalid .wpcf7-response-output {
  background-color: #fff5f5;
  color: #e53e3e;
}

.wpcf7-form.sent .wpcf7-response-output {
  background-color: #f0fff4;
  color: #276749;
}

.wpcf7-form.failed .wpcf7-response-output {
  background-color: #fff5f5;
  color: #e53e3e;
}
/* End CF7 Overrides */

/* ══════════════════════════════════════════════════════════════
   PAGE.PHP – Contenido + Sidebar Anúnciate
══════════════════════════════════════════════════════════════ */

.page-main-section {
  padding: 48px 0 64px;
}

/* ── Contenido principal ── */
.page-content-wrap {
  padding-right: 24px;
}

.page-content-title {
  font-family: "Libre Baskerville", serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--main-text-color);
  margin: 0 0 24px;
  line-height: 1.25;
}

.page-content-body {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  color: var(--main-text-color);
  line-height: 1.75;
}

.page-content-body p {
  margin: 0 0 16px;
}

.page-content-body h2 {
  font-family: "Libre Baskerville", serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 32px 0 12px;
}

.page-content-body h3 {
  font-family: "Libre Baskerville", serif;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 24px 0 10px;
}

.page-content-body ul,
.page-content-body ol {
  padding-left: 20px;
  margin: 0 0 16px;
}

.page-content-body li {
  margin-bottom: 6px;
}

.page-content-body a {
  color: var(--color-category-eyp);
  text-decoration: underline;
}

/* ── Sidebar: widget Anúnciate ── */
.page-sidebar-anunciate {
  background-color: var(--main-text-color);
  border-radius: 16px;
  overflow: hidden;
}

.page-sidebar-anunciate__inner {
  padding: 28px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.page-sidebar-anunciate__text {
  font-family: "Archivo", sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--white-text-color);
  margin: 0;
  line-height: 1.5;
}

.page-sidebar-anunciate__btn {
  align-self: flex-start;
}

.page-sidebar-anunciate__image {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.page-sidebar-anunciate__image img {
  width: 85%;
  height: auto;
  display: block;
}
/* End page.php styles */


/* ══════════════════════════════════════════════════════════════
   404 – Empresarios México
══════════════════════════════════════════════════════════════ */

.error404-block {
  padding: 64px 0 80px;
}

.error404-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

/* ── Columna izquierda ── */
.error404-label {
  display: inline-block;
  font-family: "Archivo", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-category-eyp);
  margin-bottom: 16px;
}

.error404-title {
  font-family: "Libre Baskerville", serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: var(--main-text-color);
  line-height: 1.2;
  margin: 0 0 20px;
}

.error404-desc {
  font-family: "Archivo", sans-serif;
  font-size: 1rem;
  color: #555;
  line-height: 1.7;
  margin: 0 0 36px;
  max-width: 420px;
}

.error404-actions {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.error404-btn {
  white-space: nowrap;
}

.error404-search {
  width: 100%;
  max-width: 380px;
}

/* ── Columna derecha: sugeridos ── */
.error404-sugeridos-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.error404-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.error404-card:hover {
  opacity: 0.8;
}

.error404-card__img {
  width: 80px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.error404-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.error404-card__title {
  font-family: "Archivo", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--main-text-color);
  line-height: 1.4;
  margin: 0;
}

.error404-card__date {
  font-family: "Archivo", sans-serif;
  font-size: 0.78rem;
  color: #999;
}

/* ── Responsive ── */
@media ( max-width: 768px ) {
  .error404-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .error404-title {
    font-size: 2rem;
  }
}
/* End 404 styles */