/*
Theme Name:   Growdop Child for Divi
Description:  Divi Child Theme by Growdop
Author:       Growdop
Author URI:   https://www.growdop.com
Template:     Divi
*/

/* -- Inicio de Personalización -- */

/* -- Anti FOUC -- */
/* Override temprano de tipografía base */
html, body {
  font-family: 'Poppins', sans-serif !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Jost', sans-serif !important;
}

/* Botones above-the-fold (menú + hero) */
.et_pb_button,
.et_pb_button:link,
.et_pb_button:visited,
.et-menu a.et_pb_button,
.et_pb_menu .et_pb_button,
a.et_pb_button{
  border-radius: 10px !important;   /* o el radio real que uses */
  border-width: 0 !important;        /* mata el borde azul inicial */
  box-sizing: border-box;
}


/* -- MENÚ MOBILE CON SUBMENÚ -- */

/* Ajustar toggle del submenú */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 60px; /* Ancho del área de click */
	height: 100%; /* Altura del área de click */
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px; /* margen derecho del área de click */
	top: 0px;
	z-index: 999;
	background-color: transparent; /* color del área de click */
}

/* Acomodar submenú */
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative; /* Acomoda el área de click a los submenús correspondientes */
}

/* Remover el background color de los ítems del submenú */
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	font-weight: 300;
}
.et-db #et-boc .et-l .et_pb_module.et_pb_text_align_right {
    text-align: left;
}

/* Colapsar submenú por defecto */
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important; /* Con block se muestra abierto */
	visibility: hidden !important;
}

/* Mostrar submenú cuando el toggle esté abierto */
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

/* Ajustar estilos del toggle */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}

/* Ícono del toggle del submenú cuando esta cerrado */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\43';
	font-size: 30px;
	color: #ffffff;
	/*background: #ffffff;
	border-radius: 5px;*/
	padding: 0px;
}

/* Ícono del toggle del submenu cuando esta abierto */
ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\42';
}


/* Menú Móvil: Habilitar scroll */
.et_mobile_menu {   
    overflow-y: scroll !important;
    max-height: 76vh !important;
    -overflow-scrolling: touch !important;
    -webkit-overflow-scrolling: touch !important;
	max-width: 340px;
	right: 0;
	left: auto !important;	
}
/* FIN */


/* MENÚ CON THEME BUILDER Flechas de menú y submenú */

/* Cambiar ícono de flecha de menús que tengan submenús */
/*.et-menu .menu-item-has-children>a:first-child:after*/
.et-db #et-boc .et-l .et-menu .menu-item-has-children>a:first-child:after {
	content: "\43"; /* Flecha hacia abajo */
}
/* Cambiar ícono de flecha de submenús que tengan submenús */
.et-db #et-boc .et-l .et-menu li ul .menu-item-has-children>a:first-child:after {
	content: "\45"; /* Flecha hacia la derecha */
}
/* Margen entre columnas del menú */
.et_pb_column_0_tb_header {
        margin-right: 10px !important;
    }
.et_pb_menu .et-menu>li {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* FIN */


/* Cambiar el punto de interrupción del módulo menú hamburguesa */
@media (max-width: 1023px) {
	/* Oculta menú desktop */
	.et_pb_menu .et_pb_menu__menu {
		display: none !important;
	}
	/* Muestra menú mobile */
	.et_mobile_nav_menu {
		display: block !important;
	}
	/* Ajustar posición top menú móvil */
	.et_pb_menu .et_mobile_menu {
		top: 175% !important;
	}
	.et_pb_column_0_tb_header {
        margin-right: 30px !important;
    }
	/* Alineación iPad */
	.grow-menu .et_pb_menu__wrap {
		justify-content: flex-end !important;
		align-items: center;
	}
	/*.et_pb_module.et_pb_text_align_right {
		text-align: left;
	}*/
}


/* Estilos Botón CTA en mobile */
.et-db #et-boc .et-l .grow-menu a.btn-mobile {
  margin: 14px 10px 10px 10px;
}

/* Estilo SOLO para el item btn-mobile (gana a Divi) */
.et-db #et-boc .et-l .grow-menu ul.et-menu > li > a.btn-mobile{
  color: #111111 !important;
}

/* body #page-container .btn-mobile a */ 

.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu li.btn-mobile > a{
  color: #111111 !important;
  background: #ffffff !important;
  border-radius: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  margin: 20px 15% 30px;
  padding: 10px;
}

/* bullets sub menu divi */
.et_pb_menu .et_mobile_menu .entry-content ul {
	list-style-type: square;
}
.et_mobile_menu .sub-menu li {
	list-style-type: square !important;
	color: #FFFFFF;
	margin-left: 15%;
}

.et_pb_menu .et_mobile_menu {
	padding-block: 10px !important;
	padding-inline: 20px !important;
}



body .et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li:last-child a{
  margin-right: 0 !important;
}

/* Contenedor de submenús */
.et-db #et-boc .et-l .et_pb_menu .et-menu-nav>ul ul{
	padding: 15px 0 20px;
}
.et-db #et-boc .et-l .nav li li {
	padding: 3px 20px 3px 20px;
}
.et-db #et-boc .et-l .et-menu li li a {
    margin: 0 !important;
	padding: 3px 15px 3px 15px;
    width: 200px;
	border-radius: 5px;
}

.et-db #et-boc .et-l .nav li ul {
	width: auto;
}

/* Hover en submenú (solo desktop) */
.et-db #et-boc .et-l .et_pb_menu .et-menu-nav .sub-menu li a:hover,
.et-db #et-boc .et-l .et_pb_menu .et-menu-nav .sub-menu li a:focus,
.et-db #et-boc .et-l .et_pb_menu .et-menu-nav .sub-menu li a:focus-visible {
    background-color: #FFFFFF;
    opacity: 1 !important;
	color: #000000 !important;
}

/* Fondo de Submenú mobile */
.et-db #et-boc#et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu {
	background-color: rgba(34, 34, 34, 0.98) !important;
}

/* Fondo de Submenú submenú mobile */
.et-db #et-boc#et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu ul {
	background-color: rgba(34, 34, 34, 0.30) !important;
}
	

/* =========================================
   HERO HOME — imagen y gradiente por capas
========================================= */

.et_pb_section.home-section-hero{
  position: relative;
  overflow: hidden;
  /*min-height: calc(100vh - 90px);*/
  min-height: 100vh;
}


/* Imagen de fondo real (siempre cubre el alto) */
.et_pb_section.home-section-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  	/*background-image: url("/wp-content/uploads/Montaje-Auditorio.webp");*/
	/*background-image: url("/wp-content/uploads/hero-juan-pablo-ventosa-02.webp");*/
  	/*background-image: url("/wp-content/uploads/hero-final-v2-tamano-final-01.webp");*/
	/*background-image: url("/wp-content/uploads/hero-final-v2-tamano-final-02.webp");*/
	background-image: url("/wp-content/uploads/hero-juan-pablo-ventosa.webp");
  	background-repeat: no-repeat;
  	background-position: right top;
 	background-size: cover;
}

/* Gradiente encima de la imagen */
.et_pb_section.home-section-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;

  background: linear-gradient(
    90deg,
    rgba(0,0,0,.7) 0%,
    rgba(0,0,0,.4) 40%,
    rgba(0,0,0,0) 70%
  );

  pointer-events:none;
}

/* Contenido siempre por encima */
.et_pb_section.home-section-hero .et_pb_row,
.et_pb_section.home-section-hero .et_pb_module{
  position: relative;
  z-index: 2;
}

/* SECCIÓN 
	
.home-section-hero {
	padding-bottom: 0 !important;
}*/


/* Desde 1600 */
@media (min-width: 1600px){
	body #page-container .et_pb_section.home-section-hero .et_pb_row {
    margin-top: 170px !important;
	margin-left: 15% !important;
	width: 32.5%;
    }
}

/* Desde 1024 */
@media (min-width: 1024px){
/** Botón CTA mobile desde menú apariencias **/
	/* Ocultar Botón CTA en escritorio */
	.btn-mobile {
		display: none !important;
	}
	/* H1 de secciones  
	.leadership-hero-h1{
		padding-top: 20px !important;
	}*/
}

/* Hasta 1440px */
@media (max-width: 1440px) {
	/* Margen del menú */
	.et-db #et-boc .et-l .grow-menu .et_pb_row_0_tb_header.et_pb_row {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	/* Margen entre elementos del menú 
	.et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav li a {
		margin-right: 17px !important;
	}*/
	/* SOLO menú principal (top level). No afecta submenús */
body .et_pb_menu_0_tb_header.et_pb_menu .et-menu-nav > ul > li > a{
  margin-right: 17px !important;
}
}

/* Debajo de 1180px */
@media (min-width: 1024px) and (max-width: 1180px) {
	.et-db #et-boc .et-l .grow-menu .et_pb_row_0_tb_header.et_pb_row {
		padding-left: 3% !important;
		padding-right: 3% !important;
	}
	.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap {
		flex: 0 0 220px !important;  /* congela el ancho a 230px */
		max-width: 220px !important;
	}

	/* fuente de menú para archive */
	/*.grow-menu .et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size: 14px;
	}*/
	.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size:14px !important;
	}
	
/* =========================================
 HERO HOME — Imagen móvil + gradiente fijo
========================================= */

	.et_pb_section.home-section-hero{
		min-height: calc(100vh - 70px);
	}
	.et_pb_section.home-section-hero::after{
		background-position: right -80px top 10px;
	}

	
	
/* FILA */
	body #page-container .et_pb_section.home-section-hero .et_pb_row {
		margin-top: 80px !important;
		margin-left: 5% !important;
		width: 45%;
	}
	
	.et_pb_text_1 h1 {
    font-size: 35px !important;
	min-height: 40px !important;
	}

}

/* Debajo de 1023px */
@media (max-width: 1023px) {
	.et-db #et-boc .et-l .grow-menu .et_pb_row_0_tb_header.et_pb_row {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		padding-left: 8% !important;
		padding-right: 8% !important;
  }
	.et_pb_menu_0_tb_header {
		padding-top: 14px;
		padding-bottom: 14px;
	}
	
	.et_pb_section.home-section-hero{
		min-height: calc(100vh - 70px);
	}
	.et_pb_section.home-section-hero::after{
		background-position: right -80px top 10px;
	}
}

@media (max-width: 980px){
	.et_pb_menu .et_mobile_menu {
		top: 160% !important;
	}
	/*.et_pb_section.home-section-hero{
		min-height: calc(100vh - 70px);
	}*/
	.et_pb_section.home-section-hero::after{
		background-position: right -240px top 0px;
	}
	/* Corrige centrado de Divi en ícono */
	.et_pb_icon_0_tb_body{
		margin-left: auto !important;
		margin-right: 0 !important;
	}
}

/* Debajo de 767px */
@media (max-width: 767px) {
	.et_pb_menu .et_mobile_menu {
		top: 150% !important;
	}
	body #page-container .btn-mobile a {
		margin-inline: 25%;
}
	.et_pb_section.home-section-hero{
		min-height: calc(100vh - 105px);
	}
	.et_pb_section.home-section-hero::after{
		background-position: right -270px top 0px;
	}
}


/* Reemplazar en móvil el ícono de hamburguesa abierto por una X */
.mobile_nav.opened .mobile_menu_bar:before {
        content: '\4d' !important;
}

/* Padding en a de menú */
/* === NORMAL === */
/* Corrige altura del placeholder */
.header-placeholder {
    height: auto !important;
    /*display: none !important;*/
}

/* Reduce padding en estado normal */
.et_pb_menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
    transition: padding 0.3s ease;
}

/* === STICKY === */
.et_pb_sticky .et_pb_menu.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* MENÚ MÓVIL - NIVEL PRINCIPAL */
.et-db #et-boc .et-l .et_mobile_menu > li > a {
  padding: 8px 8%;
}

/* SUBMENÚ MÓVIL */
/*.et_mobile_menu .sub-menu li a {*/
.et-db #et-boc .et-l .et_mobile_menu .sub-menu li a {
  padding: 6px 0;
}


/* =========================================================
   Divi Plus — DP Logo Slider
   Gris por defecto | Color al hover
   + Manda el ALTO del logo (sin tocar Swiper)
========================================================= */

/* Variable de control del alto del logo */
.dipl_logo_slider{
  --logo-h: 50px; /* ajustá este valor */
}

/* 1) Estado base: todos en gris */
.dipl_logo_slider img,
.dipl_logo_slider .dipl_logo img,
.dipl_logo_slider .dipl_logo_image img{
  filter: grayscale(100%) !important;
  opacity: 0.85 !important;
  transition: filter .25s ease,
              opacity .25s ease,
              transform .2s ease !important;

  /* 🔑 Manda el ALTO */
  height: var(--logo-h) !important;
  max-height: var(--logo-h) !important;

  /* Mantener proporción (NO estirar) */
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;

  display: block !important;
}

/* 2) Al hover sobre TODO el slider: todos en color */
.dipl_logo_slider:hover img,
.dipl_logo_slider:hover .dipl_logo img,
.dipl_logo_slider:hover .dipl_logo_image img{
  filter: none !important;
  opacity: 1 !important;
}

/* 3) (Opcional) lift suave al pasar sobre un logo */
.dipl_logo_slider img:hover,
.dipl_logo_slider .dipl_logo img:hover,
.dipl_logo_slider .dipl_logo_image img:hover{
  transform: scale(1.04) !important;
}





/*** COUNTER ***/
/* Tamaño de fuente
.et_pb_number_counter_3 {
	font-size: 20px !important;
} */

/* Añadir signo + antes del número en el Contador de número */
.percent .percent-value::before {
    content: "+";
    margin-right: 4px;
    font-weight: inherit;
    font-size: inherit;
    display: inline-block;
}
/*** FIN COUNTER ***/




/*** CF7 + Divi Plus (solo este formulario con #responsive-form) ***/

/* =========================
   ESTRUCTURA Y LAYOUT
========================= */

#responsive-form .form-row{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
}

#responsive-form .column-half{
  flex: 1 1 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

#responsive-form .column-full{
  flex: 0 0 100% !important;
  width: 100% !important;
}

#responsive-form .wpcf7-form-control-wrap{
  display: block !important;
  width: 100% !important;
}

#responsive-form input,
#responsive-form select,
#responsive-form textarea{
  width: 100% !important;
  box-sizing: border-box !important;
}

#responsive-form textarea{
  /*resize: vertical;*/
  min-height: 6em; /* ~3 líneas */
}



/* =========================
   PRIVACIDAD (ACCEPTANCE)
========================= */

#responsive-form .wpcf7-acceptance label{
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

#responsive-form .wpcf7-acceptance label input[type="checkbox"]{
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}

#responsive-form .wpcf7-acceptance .wpcf7-list-item-label{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: block !important;
}

#responsive-form .wpcf7-acceptance .wpcf7-list-item{
  margin: 0 !important;
}


/* =========================
   SPINNER (EVITAR ESPACIO FANTASMA)
========================= */

#responsive-form .wpcf7-spinner{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}


/* =========================
   BOTÓN ENVIAR
========================= */

#responsive-form input.wpcf7-submit{
  width: auto !important;
  padding: 15px 30px !important;
  margin: 15px auto 0 !important;
  display: block !important;
}

/* =========================
    recaptcha-notice
========================= */

.recaptcha-notice{
  font-size: 12px;
  line-height: 1.4;
  color: #777;
  margin-top: 50px;
}

.recaptcha-notice a{
  color: inherit;
  text-decoration: underline;
}

/* reCAPTCHA badge: por encima de Divi builder / overlays */
.grecaptcha-badge{
  position: fixed !important;
  z-index: 9990 !important;
	bottom: 120px !important;
    /*right: 20px !important;*/

}


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

@media (max-width: 980px){
  #responsive-form .form-row{
    gap: 10px !important;
  }

  #responsive-form .column-half{
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}


/* =========================
   MENSAJE GLOBAL CF7 (ERROR / OK)
   OJO: está FUERA de #responsive-form, por eso va global
========================= */

.wpcf7 form .wpcf7-response-output{
  margin: 30px 0 0 !important;
  padding: 14px 18px !important;

  border: 0px solid rgba(217, 4, 41, 0.45) !important; /* para editar en el futuro */
  border-radius: 10px !important;

  background: rgba(0,0,0,0.04) !important;
  color: #d90429 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

/* Ocultar si está vacío */
.wpcf7 form .wpcf7-response-output:empty{
  display: none !important;
}


/* =========================
   CF7 ERRORES
========================= */

/* Mensaje de error por campo */
#responsive-form .wpcf7-not-valid-tip{
  color: #d90429 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  margin-top: 6px !important;
}

/* Campos en estado de error */
#responsive-form input.wpcf7-not-valid,
#responsive-form select.wpcf7-not-valid,
#responsive-form textarea.wpcf7-not-valid{
  /*border-color: #d90429 !important;*/ /* para editar en el futuro */
  /*box-shadow: 0 0 0 1px rgba(217, 4, 41, 0.25) !important;*/ /* para editar en el futuro */
}

/* Focus en campo con error */
#responsive-form input.wpcf7-not-valid:focus,
#responsive-form select.wpcf7-not-valid:focus,
#responsive-form textarea.wpcf7-not-valid:focus{
  outline: none !important;
  /*box-shadow: 0 0 0 2px rgba(217, 4, 41, 0.30) !important;*/ /* para editar en el futuro */
}


/* =====================================================
   DIVI — Testimoniales
   TABLET (vertical): 3 columnas en una fila
   Separación limpia SIN gap fantasma
===================================================== */

@media (max-width: 980px) and (min-width: 768px) {

  /* Fila en flex */
  .et_pb_row.row-testimoniales {
    display: flex !important;
    flex-wrap: nowrap !important;
  }

  /* Columnas */
  .et_pb_row.row-testimoniales > .et_pb_column {
    width: 33.333% !important;
    float: none !important;
    margin-right: 20px !important; /* separación real */
    margin-bottom: 0 !important;
  }

  /* Quitar separación a la última columna */
  .et_pb_row.row-testimoniales > .et_pb_column:last-child {
    margin-right: 0 !important;
  }

}

/*** Imagen para YouTube ***/

/* ===== Play overlay en SINGLE (igual al grid) ===== */

.video-poster a{
  position: relative;
  display: block;
}

/* Círculo */
.video-poster a::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 74px;
  height: 74px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(0,0,0,.7);
  opacity: .92;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events: none;
  z-index: 2;
}

/* Triángulo */
.video-poster a::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-42%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent rgba(255,255,255,.95);
  opacity: .98;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events: none;
  z-index: 3;
}

/* Hover */
.video-poster a:hover::before{
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
}
.video-poster a:hover::after{
  transform: translate(-42%, -50%) scale(1.06);
}

/* Mobile */
@media (max-width: 980px){
  .video-poster a::before{
    width: 62px;
    height: 62px;
  }
  .video-poster a::after{
    border-width: 12px 0 12px 19px;
  }
}


/* ===== Lightbox (MagnificPopup) estilos mínimos (SCOPEADO) ===== */
.mfp-bg{
  position: fixed; top:0; left:0; width:100%; height:100%;
  background:#000; opacity:.8; z-index:1042;
}

.mfp-wrap{
  position: fixed; top:0; left:0; width:100%; height:100%;
  z-index:1043; outline:none;
}

.mfp-wrap .mfp-container{
  position:absolute; width:100%; height:100%;
  padding:0 16px; box-sizing:border-box;
  text-align:center;
}

.mfp-wrap .mfp-container:before{
  content:""; display:inline-block; height:100%; vertical-align:middle;
}

.mfp-wrap .mfp-content{
  display:inline-block; vertical-align:middle;
  position:relative; text-align:left;
  width:min(1000px, 92vw);
}

.mfp-wrap .mfp-close{
  position:absolute; right:-10px; top:-44px;
  width:44px; height:44px;
  font-size:34px; line-height:44px;
  color:#fff !important; border:0; background:transparent;
  cursor:pointer; opacity:.9;
}

/* Iframe responsive 16:9 */
.mfp-wrap.mfp-iframe-holder .mfp-content{
  width:min(1000px, 92vw);
}

.mfp-wrap .mfp-iframe-scaler{
  position:relative;
  width:100%;
  padding-top:56.25%; /* 16:9 */
  background:#000;
}

.mfp-wrap .mfp-iframe-scaler iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
}

/* Magnific: necesario para inline popups */
.mfp-hide{
  display:none !important;
}




/* Ocultar URL YT */
.post-type-archive-entrevistas .df-cpt-custom-text.difl_cptitem_6_tb_body,
.post-type-archive-podcasts .df-cpt-custom-text.difl_cptitem_5_tb_body,
.post-type-archive-charlas-de-autor .df-cpt-custom-text.difl_cptitem_5_tb_body
{
  display: none !important;
}
/* Single de Libros */
.df-item-wrap.df-cpt-custom-text.difl_cptitem_5_tb_body {
  display: none !important;
}

/* ===== Play overlay SOLO en Entrevistas, Podcasts y Libros (Divi Flash CPT Grid) ===== */

/* Base: asegura contexto */
.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect,
.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect,
.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect,
.single-libros .df-cpt-image-wrap a.df-hover-effect{
  position: relative;
  display: block;
}

/* Círculo */
.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect::before,
.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect::before,
.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect::before,
.single-libros .df-cpt-image-wrap a.df-hover-effect::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(0,0,0,.7);
  opacity: .92;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events: none;
  z-index: 2;
}

/* Triángulo play */
.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect::after,
.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect::after,
.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect::after,
.single-libros .df-cpt-image-wrap a.df-hover-effect::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-42%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent rgba(255,255,255,.95);
  opacity: .98;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events: none;
  z-index: 3;
}

/* Hover */
.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect:hover::before,
.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect:hover::before,
.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect:hover::before,
.single-libros .df-cpt-image-wrap a.df-hover-effect:hover::before{
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.06);
}
.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect:hover::after,
.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect:hover::after,
.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect:hover::after,
.single-libros .df-cpt-image-wrap a.df-hover-effect:hover::after{
  transform: translate(-42%, -50%) scale(1.06);
}

/* Mobile */
@media (max-width: 980px){
	.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect::before,
	.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect::before,
	.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect::before,
	.single-libros .df-cpt-image-wrap a.df-hover-effect::before{
    width: 62px;
    height: 62px;
  }
	.post-type-archive-entrevistas .df-cpt-image-wrap a.df-hover-effect::after,
	.post-type-archive-podcasts .df-cpt-image-wrap a.df-hover-effect::after,
	.post-type-archive-charlas-de-autor .df-cpt-image-wrap a.df-hover-effect::after,
	.single-libros .df-cpt-image-wrap a.df-hover-effect::after{
    border-width: 12px 0 12px 19px;
  }
}


/* =========================================
   CPT Grid + CPT Carousel – Card + botón abajo
   (SOLO estos módulos, NO Filterable CPT)
========================================= */

.difl_cptgrid .df-cpt-outer-wrap,
.difl_cptcarousel .df-cpt-outer-wrap{
  overflow: hidden;
  background-color: #FFF;
}

/* La card completa como columna */
.difl_cptgrid .df-cpt-item .df-cpt-outer-wrap,
.difl_cptcarousel .df-cpt-item .df-cpt-outer-wrap{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* El contenido debe “estirarse” */
.difl_cptgrid .df-cpt-item .df-cpt-inner-wrap,
.difl_cptcarousel .df-cpt-item .df-cpt-inner-wrap{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
}

/* La imagen NO debe encogerse y debe quedar arriba */
.difl_cptgrid .df-cpt-item .df-cpt-image-wrap,
.difl_cptcarousel .df-cpt-item .df-cpt-image-wrap{
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}

/* Empujar el bloque del botón al fondo */
.difl_cptgrid .df-cpt-item .df-cpt-button-wrap,
.difl_cptcarousel .df-cpt-item .df-cpt-button-wrap{
  margin-top: auto;
  background: transparent !important;
  /*text-align: right;*/
}

/* ==============================
   BOTÓN (Read more / Ver video)
   Fondo en <a> + ancho al contenido
============================== */

/* El <a> es el botón real */
.difl_cptgrid .df-cpt-item .df-cpt-button-wrap a.df-cpt-read-more,
.difl_cptcarousel .df-cpt-item .df-cpt-button-wrap a.df-cpt-read-more,
.df-cpts-inner-wrap .df-cpt-button-wrap a.df-cpt-read-more{
  display: inline-flex;
  align-items: center;
  padding: 2px 0px 2px 10px;
  border-radius: 8px;
  background-color: #1D317A;
  color: #FFFFFF !important;
  text-decoration: none;
}

/* Hover */
.difl_cptgrid .df-cpt-item .df-cpt-button-wrap a.df-cpt-read-more:hover,
.difl_cptcarousel .df-cpt-item .df-cpt-button-wrap a.df-cpt-read-more:hover{
  background-color: #16275f;
  color: #FFFFFF !important;
}




/* =========================================
   Testimoniales – Clamp SOLO al Editor (Content)
========================================= */
.carousel-testimoniales .df-cpt-content-wrap.difl_cptitem_4 p, 
.carousel-prensa .df-cpt-content-wrap.difl_cptitem_4 p{
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}



/* =========================================
   MagnificPopup – Testimonio completo (inline)
========================================= */
#t-inline-testimonial{
  max-width: 860px;
  margin: 0 auto;
  background: #fff;
  border-radius: 14px;
  padding: 20px 20px 18px;
}

#t-inline-testimonial .t-inline-title{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
}

#t-inline-testimonial .t-inline-body{
  white-space: pre-wrap;
  line-height: 1.6;
  max-height: 70vh;
  overflow: auto;
}

/* En el modal, jamás aplicar clamp/recortes */
#t-inline-testimonial .t-inline-body,
#t-inline-testimonial .t-inline-body *{
  display: block;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

/* =========================================
   Divi Flash – Filterable CPT (Equal Height ON)
   Botón abajo SIN deformar (scopeado)
========================================= */

/* El <article> trae min-height inline; lo usamos como “alto de referencia” */
.df-cpts-inner-wrap article.df-cpt-item{
  display: flex;
}

/* Outer ocupa todo el alto del article */
.df-cpts-inner-wrap article.df-cpt-item > .df-cpt-outer-wrap{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: inherit; /* hereda el min-height inline del article */
}

/* Inner estira para que exista “espacio sobrante” */
.df-cpts-inner-wrap article.df-cpt-item .df-cpt-inner-wrap{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* Botón abajo */
.df-cpts-inner-wrap article.df-cpt-item .df-cpt-button-wrap{
  margin-top: auto;
}

/* =========================================
   Filterable CPT – Equal Height ON (sin aire)
   Botón anclado abajo + reserva de espacio mínima
========================================= */

/* La card como referencia del botón */
.df-cpts-inner-wrap article.df-cpt-item > .df-cpt-outer-wrap{
  position: relative;
}

/* Reservar solo lo necesario para que el botón no tape el texto */
.df-cpts-inner-wrap article.df-cpt-item .df-cpt-inner-wrap{
  padding-bottom: 40px; /* ajustable */
}

/* Anclar el botón al fondo de la card */
.df-cpts-inner-wrap article.df-cpt-item .df-cpt-button-wrap{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;        /* respeta tu padding visual */
  margin: 0 !important;
  background: transparent !important;
  /*text-align: center;*/
  z-index: 5;
}


/* =========================================
   SINGLE LIBROS: Filterable CPT sin loop de alturas (CSS Grid)
========================================= */

/* Contenedor: que no dependa de height inline del plugin */
.single-libros .df-cpts-inner-wrap{
  position: static !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}

/* Items: sacar absolute/left/top inline */
.single-libros .df-cpts-inner-wrap article.df-cpt-item{
  position: static !important;
  left: auto !important;
  top: auto !important;
  min-height: 0 !important;
  width: auto !important;
}

/* Para que la card use toda la altura disponible en su celda */
.single-libros .df-cpts-inner-wrap article.df-cpt-item > .df-cpt-outer-wrap{
  height: 100%;
}

/* Responsive */
@media (max-width: 980px){
  .single-libros .df-cpts-inner-wrap{
    grid-template-columns: 1fr;
  }
}

/* =========================================
   SINGLE LIBROS: frenar movimiento/animación del Filterable CPT
========================================= */
.single-libros .df-cpts-inner-wrap,
.single-libros .df-cpts-inner-wrap *{
  transition: none !important;
  animation: none !important;
}

.single-libros .df-cpts-inner-wrap article.df-cpt-item{
  transform: none !important;
  will-change: auto !important;
}


/* */
.single-libros [class*="difl_cptfilter_"] .df-cpt-item,
.single-libros .difl_cptfilter .df-cpt-item{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================================
   intl-tel-input (Divi + CF7) - FIX padding
========================================= */

.iti{
  width: 100%;
  display: block;
  position: relative;
}

.iti input[type="tel"]{
  width: 100%;
  box-sizing: border-box;
}

/* El inline style del plugin pone padding-left: 78px; acá lo sobrescribimos */
.iti input#cf7_phone{
  padding-left: var(--iti-padding-left, 78px) !important;
}

/* Asegura alineación vertical del selector */
.iti__country-container{
  height: 100%;
}

.iti__selected-country{
  height: 100%;
  display: flex;
  align-items: center;
}

/* =========================================
   intl-tel-input – área Buscar
========================================= */

/* Input de búsqueda del selector */
.iti__search-input{
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Opcional: un poco más de aire al contenedor */
.iti__search-input + .iti__country-list{
  margin-top: 4px;
}

/* =========================================
   intl-tel-input – divisor Top / Resto
========================================= 

.iti__divider{
  height: 0;
  margin-top: 6px;
  margin-right: 0;
  margin-bottom: 6px;
  margin-left: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(0,0,0,0.15);
}*/

/* =========================================
   intl-tel-input – divisor Top / Resto
========================================= */

.iti__divider{
  list-style: none;
  height: 0;
  margin-top: 6px;
  margin-right: 0;
  margin-bottom: 6px;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(0,0,0,0.15);
}

/* Elimina cualquier marker heredado (Safari / Chromium) */
.iti__divider::marker{
  content: "";
}

/* =========================================
   Modal Testimoniales – Autor / Cargo / Empresa
========================================= */

#t-inline-testimonial{
  max-width: 720px;
  padding: 28px 30px;
}

/* Header del testimonial */
#t-inline-testimonial .t-inline-head{
  margin-bottom: 20px;
}

/* Autor */
#t-inline-testimonial .t-inline-author{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 4px;
  color: #1d317a;
}

/* Cargo */
#t-inline-testimonial .t-inline-role{
  font-size: 15px;
  font-weight: 400;
  opacity: .85;
  margin-bottom: 2px;
  color: #1d317a;
}

/* Empresa */
#t-inline-testimonial .t-inline-company{
  font-size: 15px;
  font-weight: 400;
  opacity: .9;
}

/* Cuerpo del testimonio */
#t-inline-testimonial .t-inline-body{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.6;
}

/* Espacio entre párrafos del testimonio */
#t-inline-testimonial .t-inline-body p{
  margin-bottom: 14px;
}

#t-inline-testimonial .t-inline-body p:last-child{
  margin-bottom: 0;
}


/* Buscador en menú – forzado y acotado */
.et_pb_menu .et_pb_menu__search-form{
  text-align: right !important;
}

.et_pb_menu .et_pb_menu__search-input{
  width: 80% !important;
  height: 35px !important;
  border: 0 !important;
  padding-left: 10px !important;
  color: #333 !important;
  background: #FFF !important;
  border-radius: 10px !important;
}


.gd-type-label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.75;
  margin-bottom:6px;
  color: #E4003C;
}

/* Resultados */
.gwd-search-title{
  color:#fff;
  font-family: Jost, sans-serif;
  font-weight:600;
  font-size:40px;
  line-height:1.1;
  margin:0;
}
