/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

/* Circular Std Font */
@font-face {
  font-family: "Circular Std";
  src: url("fonts/circular-std-medium-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Override global - baja especificidad */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
li,
td,
th,
label,
input,
textarea,
select,
button,
.nectar-dropcap,
blockquote,
.wpb_text_column,
.wpb_content_element,
#footer-outer,
#header-outer,
.sf-menu a {
  font-family: "Circular Std", sans-serif !important;
}

/* Override fuentes puestas desde el editor (Open Sans, Montserrat, Hind) */
.heading-line h3,
h2,
h3,
h4,
.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content h2,
.nectar-slider-wrap[data-full-width="true"] .swiper-slide .content p,
.team-member .position,
.title2,
.wpcf7 label {
  font-family: "Circular Std", sans-serif !important;
}

/* Override inline styles del editor WPBakery */
[style*="font-family"] {
  font-family: "Circular Std", sans-serif !important;
}

/* ========================================
   COLORES DE MARCA - Variables CSS
   ======================================== */
:root {
  /* Colores principales */
  --brand-blue: #0081b5; /* P. 307C - azul principal */
  --brand-dark: #0d2e45; /* Azul oscuro - fondos */
  --brand-text: #494949; /* Texto general */
  --brand-gray: #b3b3b3; /* Negro 30% */
  --brand-orange: #d58500; /* Acento naranjo */
  --brand-white: #ffffff;
  --brand-bg: #f9f9f9; /* Fondo general */
  --nectar-page-text-color: #494949 !important;

  /* Colores secundarios por programa (claro / oscuro) */
  --prog-primeros-pasos: #0090d7;
  --prog-primeros-pasos-dark: #006daa;
  --prog-primeras-conversaciones: #00a19a;
  --prog-primeras-conversaciones-dark: #038077;
  --prog-primeras-letras: #fab334;
  --prog-primeras-letras-dark: #d68e1a;
  --prog-primeras-decisiones: #0d2e45;
  --prog-primeras-decisiones-dark: #0d2e45;
  --prog-preadolescentes: #c06926;
  --prog-preadolescentes-dark: #7a3911;
  --prog-adolescentes: #dc2a7d;
  --prog-adolescentes-dark: #a41b5c;
  --prog-amor-matrimonial: #b02828;
  --prog-amor-matrimonial-dark: #7b1812;
  --prog-abuelos: #83378d;
  --prog-abuelos-dark: #652682;
  --prog-proyecto-personal: #008e39;
  --prog-proyecto-personal-dark: #056734;
}
body,
body.material {
  --nectar-page-text-color: #494949 !important;
}

/* ========================================
   CLASES DE FONDO - Colores de marca
   ======================================== */
/* Principales */
.bg-brand-blue {
  background-color: var(--brand-blue);
}
.bg-brand-dark {
  background-color: var(--brand-dark);
}
.bg-brand-text {
  background-color: var(--brand-text);
}
.bg-brand-gray {
  background-color: var(--brand-gray);
}
.bg-brand-orange {
  background-color: var(--brand-orange);
}
.bg-brand-white {
  background-color: var(--brand-white);
}
.bg-brand-bg {
  background-color: var(--brand-bg);
}

/* Programas - claro */
.bg-prog-primeros-pasos {
  background-color: var(--prog-primeros-pasos);
}
.bg-prog-primeras-conversaciones {
  background-color: var(--prog-primeras-conversaciones);
}
.bg-prog-primeras-letras {
  background-color: var(--prog-primeras-letras);
}
.bg-prog-primeras-decisiones {
  background-color: var(--prog-primeras-decisiones);
}
.bg-prog-preadolescentes {
  background-color: var(--prog-preadolescentes);
}
.bg-prog-adolescentes {
  background-color: var(--prog-adolescentes);
}
.bg-prog-amor-matrimonial {
  background-color: var(--prog-amor-matrimonial);
}
.bg-prog-abuelos {
  background-color: var(--prog-abuelos);
}
.bg-prog-proyecto-personal {
  background-color: var(--prog-proyecto-personal);
}

/* Programas - oscuro */
.bg-prog-primeros-pasos-dark {
  background-color: var(--prog-primeros-pasos-dark);
}
.bg-prog-primeras-conversaciones-dark {
  background-color: var(--prog-primeras-conversaciones-dark);
}
.bg-prog-primeras-letras-dark {
  background-color: var(--prog-primeras-letras-dark);
}
.bg-prog-primeras-decisiones-dark {
  background-color: var(--prog-primeras-decisiones-dark);
}
.bg-prog-preadolescentes-dark {
  background-color: var(--prog-preadolescentes-dark);
}
.bg-prog-adolescentes-dark {
  background-color: var(--prog-adolescentes-dark);
}
.bg-prog-amor-matrimonial-dark {
  background-color: var(--prog-amor-matrimonial-dark);
}
.bg-prog-abuelos-dark {
  background-color: var(--prog-abuelos-dark);
}
.bg-prog-proyecto-personal-dark {
  background-color: var(--prog-proyecto-personal-dark);
}

/* ========================================
   OVERRIDE COLORES - Azules a marca
   ======================================== */

/* Override #003e7b (accent color del tema) -> azul marca */
body .nectar-button.regular-button[style*="003e7b"],
[style*="color: #003e7b"],
[style*="color:#003e7b"],
[style*="background-color: #003e7b"],
[style*="background-color:#003e7b"],
[style*="background: #003e7b"],
[style*="background:#003e7b"] {
  color: var(--brand-blue) !important;
}
[style*="background-color: #003e7b"],
[style*="background-color:#003e7b"],
[style*="background: #003e7b"],
[style*="background:#003e7b"] {
  background-color: var(--brand-blue) !important;
  background: var(--brand-blue) !important;
}

/* Override #008a97 (teal) -> azul marca */
[style*="color: #008a97"],
[style*="color:#008a97"] {
  color: var(--brand-blue) !important;
}
[style*="background-color: #008a97"],
[style*="background-color:#008a97"],
[style*="background: #008a97"],
[style*="background:#008a97"] {
  background-color: var(--brand-blue) !important;
  background: var(--brand-blue) !important;
}

/* Override #1379af -> azul marca */
[style*="color: #1379af"],
[style*="color:#1379af"] {
  color: var(--brand-blue) !important;
}
[style*="background-color: #1379af"],
[style*="background-color:#1379af"],
[style*="background: #1379af"],
[style*="background:#1379af"] {
  background-color: var(--brand-blue) !important;
  background: var(--brand-blue) !important;
}

/* Override #7d8ab4 y #b0b5d2 (extra colors) -> azul marca */
[style*="color: #7d8ab4"],
[style*="color:#7d8ab4"],
[style*="color: #b0b5d2"],
[style*="color:#b0b5d2"] {
  color: var(--brand-blue) !important;
}
[style*="background-color: #7d8ab4"],
[style*="background-color:#7d8ab4"],
[style*="background: #7d8ab4"],
[style*="background:#7d8ab4"],
[style*="background-color: #b0b5d2"],
[style*="background-color:#b0b5d2"],
[style*="background: #b0b5d2"],
[style*="background:#b0b5d2"] {
  background-color: var(--brand-blue) !important;
  background: var(--brand-blue) !important;
}

/* ========================================
   OVERRIDE COLORES - Textos oscuros a #494949
   ======================================== */
body,
p,
li,
td,
th,
label,
span,
a {
  color: var(--brand-text);
}

[style*="color: #000000"],
[style*="color:#000000"],
[style*="color: #000"],
[style*="color:#000"],
[style*="color: #313131"],
[style*="color:#313131"],
[style*="color: #444444"],
[style*="color:#444444"],
[style*="color: #444"],
[style*="color:#444"] {
  color: var(--brand-text) !important;
}

/* ========================================
   OVERRIDE COLORES - Elementos del tema Salient
   ======================================== */

/* Links y accent color */
a,
a:hover,
.main-content a,
body .accent-color,
body [class*="color_accent"] {
  color: var(--brand-blue);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.heading-line h3,
.nectar-recent-posts-single_featured .content .title,
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3 {
  color: var(--brand-text);
}

/* Charlas IFFD: títulos en azul principal */
.page-id-6460 h1,
.page-id-6460 h2,
.page-id-6460 h3,
.page-id-6460 h4,
.page-id-6460 h5,
.page-id-6460 h6,
.page-id-6460 h1 span,
.page-id-6460 h2 span,
.page-id-6460 h3 span,
.page-id-6460 h4 span,
.page-id-6460 h5 span,
.page-id-6460 h6 span {
  color: var(--brand-dark) !important;
}

/* Botones */
.nectar-button[data-color-override="default"],
.nectar-button.regular-button,
input[type="submit"],
button[type="submit"] {
  background-color: var(--brand-blue) !important;
}

/* Texto blanco en botones oscuros */
.nectar-button.accent-color span,
.nectar-button.accent-color i,
.nectar-button.regular-button.accent-color span,
.nectar-button.regular-button.accent-color i,
.nectar-button[data-color-override="false"] span,
.nectar-button[data-color-override="false"] i,
.nectar-button.extra-color-1 span,
.nectar-button.extra-color-1 i,
.nectar-button.extra-color-2 span,
.nectar-button.extra-color-2 i,
.nectar-button.extra-color-3 span,
.nectar-button.extra-color-3 i {
  color: #ffffff !important;
}

/* Top bar secundario: alinear redes sociales */
#header-secondary-outer nav > ul {
  display: flex !important;
  align-items: center;
  height: 50px;
}
#header-secondary-outer nav > ul > li {
  float: none !important;
  display: flex;
  align-items: center;
  height: 100%;
}
#header-secondary-outer nav > ul > li > a {
  display: flex;
  align-items: center;
  height: 36px;
}
#header-secondary-outer i[class*="fa-"],
#header-secondary-outer span[class*="fa-"] {
  display: inline-block;
  word-spacing: 1px;
  position: relative;
  text-align: center;
  vertical-align: middle;
  max-width: 100%;
  font-size: 1.5rem !important;
}
#header-secondary-outer i[class*="fa-"]::after,
#header-secondary-outer span[class*="fa-"]::after {
  display: none !important;
}

/* Buscador inyectado via PHP en menú principal */
#buscador {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
#buscador .search-form {
  display: flex !important;
  align-items: stretch;
  height: 32px;
  border: 1px solid #ddd;
  border-radius: 0;
}
#buscador .search-field {
  height: 32px;
  border: none;
  padding: 0 12px;
  font-size: 0.875rem;
  outline: none;
  box-sizing: border-box;
  width: 160px;
}
#buscador .search-widget-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-dark) !important;
  border: none;
  height: 32px;
  width: 36px;
  cursor: pointer;
}
#buscador .search-widget-btn .icon-salient-search {
  color: #ffffff !important;
}
/* Ocultar buscador original del tema si existe */
.astm-search-menu {
  display: none !important;
}

/* Fix: no marcar item de menú como activo por current_page_parent en categorías */
.category
  #header-outer
  .sf-menu
  > li.current_page_parent:not(.current-menu-item)
  > a,
.category
  #header-outer
  .sf-menu
  > li.current_page_ancestor:not(.current-menu-item)
  > a {
  border-bottom: none !important;
  color: var(--brand-text) !important;
  opacity: 0.85;
  opacity: 0.85;
}

/* Header y navegacion */
#header-outer .sf-menu > li > a {
  color: var(--brand-text) !important;
}

/* Dropdown submenu - fondo blanco original */
#header-outer .sf-menu ul {
  background-color: #ffffff !important;
}
#header-outer .sf-menu ul li a {
  color: var(--brand-text) !important;
}
body #header-outer .sf-menu ul li a:hover,
body #header-outer .sf-menu ul li.sfHover > a,
body #header-outer .sf-menu ul li.current-menu-item > a,
body #header-outer .sf-menu ul li a:hover span,
body #header-outer .sf-menu ul li.sfHover > a span,
body #header-outer .sf-menu ul li.current-menu-item > a span {
  background-color: var(--brand-dark) !important;
  color: #ffffff !important;
}

/* Footer */
#footer-outer {
  background-color: var(--brand-dark) !important;
}

#footer-outer,
#footer-outer a,
#footer-outer p,
#footer-outer li,
#footer-outer span,
#footer-outer .widget h4 {
  color: var(--brand-white) !important;
}

/* Secciones con fondo oscuro */
.row-bg-wrap [style*="background-color: #003e7b"],
.row-bg-wrap [style*="background-color:#003e7b"] {
  background-color: var(--brand-blue) !important;
}

/* Separadores y bordes decorativos */
.heading-line,
.divider-small-border,
.divider-border {
  border-color: var(--brand-blue) !important;
}

/* ========================================
   ESCALA TIPOGRAFICA - rem
   Base: 16px = 1rem
   h1: 2.5rem (40px)
   h2: 2rem   (32px)
   h3: 1.5rem (24px)
   h4: 1.25rem (20px)
   h5: 1.125rem (18px)
   h6: 1rem   (16px)
   p:  1rem   (16px)
   ======================================== */
:root {
  --fs-h1: clamp(2.25rem, 1.7rem + 1.5vw, 3.25rem); /* 36px → 52px */
  --fs-h2: clamp(1.5rem, 1.25rem + 0.75vw, 1.875rem); /* 24px → 30px */
  --fs-h3: clamp(1.375rem, 1.15rem + 0.7vw, 1.875rem); /* 22px → 30px */
  --fs-h4: clamp(1.1875rem, 1.05rem + 0.45vw, 1.5rem); /* 19px → 24px */
  --fs-h5: clamp(1.0625rem, 0.95rem + 0.3vw, 1.3125rem); /* 17px → 21px */
  --fs-h6: clamp(1rem, 0.925rem + 0.25vw, 1.1875rem); /* 16px → 19px */
  --fs-body: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem); /* 14px → 18px */
  --lh-heading: 1.3;
  --lh-body: 1.6;
}

h1,
.category h1,
.wpb_text_column h1,
[style*="font-size"] h1 {
  font-size: var(--fs-h1) !important;
  line-height: var(--lh-heading) !important;
}

h2,
.cursosTitles h2,
.heading-line h2,
.wpb_text_column h2,
[style*="font-size"] h2 {
  font-size: var(--fs-h2) !important;
  line-height: var(--lh-heading) !important;
}

h3,
.heading-line h3,
#centros h3,
#comite h3,
.title2 h3,
.cursosTitles h3,
.wpb_text_column h3,
[style*="font-size"] h3 {
  font-size: var(--fs-h3) !important;
  line-height: var(--lh-heading) !important;
}
body .cursosTitles h3 {
  font-size: 1.3rem !important;
  line-height: 1.3 !important;
  font-weight: 300 !important;
  color: var(--brand-text) !important;
  margin-bottom: 0.625rem !important;
}

.bioEquipo h4,
.wpb_text_column h4,
[style*="font-size"] h4 {
  font-size: var(--fs-h4) !important;
  line-height: var(--lh-heading) !important;
}
body .team-member h4.light {
  font-size: 14px !important;
  line-height: 16px !important;
  margin-left: 0;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.title1,
.title1 h1,
.title1 h2,
.title1 h3 {
  color: var(--brand-dark) !important;
  font-weight: 300 !important;
}

h5,
.wpb_text_column h5,
[style*="font-size"] h5 {
  font-size: var(--fs-h5) !important;
  line-height: var(--lh-heading) !important;
}

h6,
.wpb_text_column h6,
[style*="font-size"] h6 {
  font-size: var(--fs-h6) !important;
  line-height: var(--lh-heading) !important;
}

p,
li,
td,
th,
label,
p[style*="font-size"],
li[style*="font-size"],
span[style*="font-size"],
.wpb_text_column p,
.wpb_content_element p {
  font-size: var(--fs-body) !important;
  line-height: var(--lh-body) !important;
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-size: inherit;
  line-height: inherit;
}

/* Colapsar párrafos vacíos generados por WPBakery */
.wpb_text_column p:empty,
.wpb_content_element p:empty {
  display: none;
}

/* Override inline font-size del editor WPBakery en headings */
h1[style*="font-size"],
h2[style*="font-size"],
h3[style*="font-size"],
h4[style*="font-size"],
h5[style*="font-size"],
h6[style*="font-size"] {
  font-size: inherit !important;
}

/* Etiqueta de categoría en cards de noticias */
.recent-post-container .inner-wrap .strong a,
.recent-post-container .inner-wrap .strong a span,
.nectar-recent-post-slide .strong a,
.nectar-recent-post-slide .strong a span {
  background-color: var(--brand-text) !important;
  color: #ffffff !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  font-size: 0.75rem !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Plantilla entrada (single post) */
.single-post .bottom-meta,
.single-post .comments-section {
  display: none !important;
}
.single-post .row,
.single-post #post-area > article .content-inner {
  padding-bottom: 0px !important;
}
.single-post ul,
.single-post ol {
  margin-left: 0px;
}
.bajadaT {
  font-weight: bold !important;
}
.single-post li {
  font-size: 14px !important;
}
.bajadaArticulos p,
.bajadaArticulos h1,
.bajadaArticulos h2,
.bajadaArticulos h3,
.bajadaArticulos {
  font-weight: bold;
  text-transform: uppercase;
}

/* ========================================
   SLIDER PRINCIPAL - Gradiente azul derecho
   ======================================== */
.nectar-slider-wrap .swiper-slide::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: linear-gradient(
    to right,
    rgba(0, 129, 181, 0.95) 30%,
    rgba(0, 129, 181, 0.4) 70%,
    transparent 80%
  );
  z-index: 2;
  pointer-events: none;
}

/* Fondo semi-opaco del header */
#top {
  background: rgba(255, 255, 255, 0.96);
  padding: 10px 0;
}

/* ========================================
   CARDS DE CURSOS - Estilo con gradiente y hoja
   ======================================== */

/* Card base: esquinas redondeadas y overflow */
.nectar-post-grid .nectar-post-grid-item .inner {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Ocultar el overlay azul original */
.nectar-post-grid .nectar-post-grid-item .bg-overlay {
  display: none !important;
}

/* Gradiente inferior con color del programa */
.nectar-post-grid .nectar-post-grid-item .inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  border-radius: 0 0 20px 20px;
  z-index: 1;
  pointer-events: none;
}

/* Colores de gradiente por programa (por clase asignada via JS) */
.curso-primeros-pasos .inner::after {
  background: linear-gradient(to top, #0090d7 0%, transparent 100%) !important;
}
.curso-primeras-conversaciones .inner::after {
  background: linear-gradient(to top, #00a19a 0%, transparent 100%) !important;
}
.curso-primeras-letras .inner::after {
  background: linear-gradient(to top, #fab334 0%, transparent 100%) !important;
}
.curso-primeras-decisiones .inner::after {
  background: linear-gradient(to top, #0d2e45 0%, transparent 100%) !important;
}
.curso-preadolescentes .inner::after {
  background: linear-gradient(to top, #c06926 0%, transparent 100%) !important;
}
.curso-adolescentes .inner::after {
  background: linear-gradient(to top, #dc2a7d 0%, transparent 100%) !important;
}
.curso-proyecto-personal .inner::after {
  background: linear-gradient(to top, #008e39 0%, transparent 100%) !important;
}
.curso-amor-matrimonial .inner::after {
  background: linear-gradient(to top, #b02828 0%, transparent 100%) !important;
}
.curso-abuelos .inner::after {
  background: linear-gradient(to top, #83378d 0%, transparent 100%) !important;
}

/* Contenido: alinear abajo a la izquierda */
.nectar-post-grid .nectar-post-grid-item .content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  padding: 24px !important;
  z-index: 2 !important;
}
.nectar-post-grid .nectar-post-grid-item .item-main {
  z-index: 2;
}

/* Título blanco, abajo a la izquierda */
.nectar-post-grid .nectar-post-grid-item .post-heading,
.nectar-post-grid .nectar-post-grid-item .post-heading span {
  color: #ffffff !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  text-align: left !important;
  line-height: 1.3 !important;
}

/* Ícono de hoja antes del título */
.nectar-post-grid .nectar-post-grid-item .item-main::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("img/leaf.png") no-repeat center / contain;
  margin-bottom: 8px;
  filter: brightness(0) invert(1);
  z-index: 2;
  position: relative;
}

/* Ocultar el círculo VIEW del hover */
.nectar-post-grid .nectar-post-grid-item .default-link,
.nectar-post-grid .nectar-post-grid-item .work-info {
  display: none !important;
}

/* Fix altura botón buscador en resoluciones grandes */
@media (min-width: 1401px) and (max-width: 1600px) {
  #buscador .search-widget-btn {
    height: 50px !important;
    max-height: 50px !important;
  }
}

/* Fix altura top bar en resoluciones grandes */
@media (min-width: 1401px) and (max-width: 1600px) {
  #header-secondary-outer,
  #header-secondary-outer .search-form {
    min-height: 52px !important;
  }
}

/* ---- Custom IFFD Chile (migrado desde WordPress) ---- */
body .page-submenu li a {
  opacity: 0.9 !important;
}
.img-fluid {
  width: 100%;
}
.text-white,
.text-white h3,
.text-white p {
  color: #fff;
}
/* Equipo: línea azul lateral continua */
.team-member h4 {
  padding-left: 12px;
  border-left: 3px solid var(--brand-dark);
  margin-bottom: 0 !important;
  padding-bottom: 2px;
}
.team-member .position {
  padding-left: 12px;
  border-left: 3px solid var(--brand-dark);
  margin-top: 0 !important;
  padding-top: 2px;
}

/* Equipo: fotos en escala de grises y altura uniforme */
.team-member img {
  filter: grayscale(100%);
  object-fit: cover;
  width: 100%;
  height: 280px !important;
}
.team-member:hover img {
  filter: grayscale(0%);
  transition: filter 0.3s ease;
}
body .team-member .position {
  font-family: "Circular Std", sans-serif;
  font-size: 14px;
  text-transform: none !important;
}

/* Equipo: bio expandible */
.bioEquipo,
.bioEquipo p,
.bioEquipo span,
.bioEquipo li {
  color: #ffffff !important;
}
/* Equipo: ocultar bio inline (se muestra en modal) */
.bioEquipo {
  display: none !important;
}

/* Modal de bio */
.bio-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.bio-modal {
  background: #ffffff;
  border-radius: 12px;
  max-width: 560px;
  width: 100%;
  max-height: 85vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.bio-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  background: none;
  border: none;
  z-index: 1;
  line-height: 1;
}
.bio-modal-close:hover {
  color: #333;
}
.bio-modal-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 24px 16px;
  border-bottom: 1px solid #eee;
}
.bio-modal-header img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  filter: grayscale(100%);
  flex-shrink: 0;
}
.bio-modal-header h4 {
  font-size: 1.25rem !important;
  margin: 0 !important;
  text-transform: capitalize !important;
  color: var(--brand-dark) !important;
}
.bio-modal-header .bio-modal-position {
  font-size: 0.875rem;
  color: var(--brand-blue);
  margin-top: 4px;
}
.bio-modal-body {
  padding: 20px 24px 24px;
  color: var(--brand-text);
  line-height: 1.6;
}
.bio-modal-body p,
.bio-modal-body h4 {
  color: var(--brand-text) !important;
}
.bio-modal-body h4 {
  text-transform: capitalize !important;
  font-size: 1.1rem !important;
  margin-bottom: 8px !important;
}

/* Botón + en team members con bio */
.team-member::after {
  content: "+" !important;
  font-family: "Circular Std", sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background-color: var(--brand-blue) !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  line-height: 1;
}
.team-member.no-bio::after {
  display: none !important;
}
.team-member.no-bio {
  cursor: default !important;
}
.content-hide {
  display: none;
}
.content-show {
  display: block;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.sub h2,
.sub2 h2 {
  display: inline;
  position: relative;
}
.sub2 h2 {
  font-size: 26px;
  margin-bottom: 20px !important;
  display: block;
}
.sub h2:after,
.sub2 h2:after {
  content: "";
  display: block;
  height: 5px;
  position: absolute;
  width: 40px;
  background: #d58500;
  bottom: 0;
  left: 0;
}
.sub h3 {
  display: block;
  position: relative;
  font-size: 18px !important;
  font-weight: bold !important;
  color: #d58500;
  margin-top: 15px;
}
.sub h3:before {
  content: "\f054";
  font-family: FontAwesome;
  color: #d58500;
  font-size: 14px;
  margin-right: 5px;
}

/* Carousel de noticias: reducir altura y contenido abajo */
.nectar-recent-post-slide {
  padding-top: 22% !important;
  min-height: 280px !important;
}
.nectar-recent-post-slide .recent-post-container {
  position: absolute !important;
  top: 0 !important;
  bottom: 20px !important;
  left: 0 !important;
  right: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
}
.nectar-recent-post-slide .recent-post-container .inner-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  width: 100% !important;
}
.nectar-recent-post-slide .recent-post-container .nectar-button {
  width: auto !important;
  display: inline-block !important;
}
.recent-post-container h3,
.recent-post-container h3 a {
  font-size: 1.3rem !important;
}
.nectar-milestone .subject {
  font-size: 1.3rem !important;
}

/* Tipografía global: Light (300) */
body,
p,
a,
span,
li,
td,
th,
label,
#header-outer .sf-menu > li > a,
#header-outer .sf-menu ul li a,
.wpb_text_column,
.wpb_content_element {
  font-weight: 300 !important;
}

/* Reemplazar header-space por margin-top global */
#header-space {
  display: none !important;
}
#ajax-content-wrap {
  margin-top: 150px !important;
}
/* Quitar margin extra en category (el tema ya agrega margin) */
.category #ajax-content-wrap {
  margin-top: 0 !important;
}

/* Contacto: degradado de fondo (azul oscuro a gris claro) */
.page-id-25 .container-wrap {
  background: linear-gradient(to bottom, #0d2e45 0%, #5a7a8a 30%, #c0c8cc 60%, #e8e8e8 100%) !important;
}
.page-id-25 .vc_row [class*="vc_custom"],
.page-id-25 .vc_row .row-bg {
  background-color: transparent !important;
  background: transparent !important;
}

/* Portfolio single: quitar fondo azul de WPBakery en fila de "Próximamente" */
.single-portfolio .vc_row:has(h3 span[style*="color: #ffffff"]),
.single-portfolio .vc_row:has(h3 span[style*="color:#ffffff"]),
.single-portfolio
  .vc_row:has(h3 span[style*="color: #ffffff"])
  [class*="vc_custom"],
.single-portfolio
  .vc_row:has(h3 span[style*="color:#ffffff"])
  [class*="vc_custom"],
.single-portfolio
  .vc_row:has(h3 span[style*="color: #ffffff"])
  .vc_column-inner,
.single-portfolio .vc_row:has(h3 span[style*="color:#ffffff"]) .vc_column-inner,
.single-portfolio .vc_row:has(h3 span[style*="color: #ffffff"]) .wpb_column,
.single-portfolio .vc_row:has(h3 span[style*="color:#ffffff"]) .wpb_column,
.single-portfolio .vc_row:has(h3 span[style*="color: #ffffff"]) .row-bg,
.single-portfolio .vc_row:has(h3 span[style*="color:#ffffff"]) .row-bg {
  background-color: transparent !important;
  background: transparent !important;
}

/* Portfolio single: contenedor de "Próximamente" sin padding */
.single-portfolio .wpb_text_column:has(h3 span[style*="color: #ffffff"]),
.single-portfolio .wpb_text_column:has(h3 span[style*="color:#ffffff"]) {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

/* Portfolio single: barra de título con fondo (ej. "Próximamente") */
.single-portfolio .wpb_text_column h3:has(span[style*="color: #ffffff"]),
.single-portfolio .wpb_text_column h3:has(span[style*="color:#ffffff"]) {
  background-color: var(--brand-dark) !important;
  color: #ffffff !important;
  padding: 10px !important;
  border-radius: 0 !important;
  border: none !important;
  font-size: 1.5rem !important;
}

/* ========================================
   MIGRADO DESDE Simple Custom CSS and JS
   ======================================== */

/* Page header: no uppercase */
body #page-header-bg h1,
html body .row .col.section-title h1 {
  text-transform: none !important;
}

/* Botón outline */
#lineButton {
  background-color: #ffffff !important;
  visibility: visible;
  border: 1px solid #777777;
  width: auto;
  color: #777;
  border-radius: 0px !important;
}

/* Ocultar page-header en páginas específicas */
.page-id-6670 #page-header-wrap,
.page-id-19 #page-header-wrap,
.page-id-6555 #page-header-wrap,
.page-id-6622 #page-header-wrap,
.page-id-6633 #page-header-wrap {
  display: none;
}

/* Historia */
.historia h3 {
  text-align: center;
  color: var(--brand-dark);
  margin: 20px auto;
  display: block;
}

/* Objetivo */
.objetivo h4 {
  color: #fff;
}

/* Directorio y administración */
#directorio h2,
#administracion h2,
#cof h2,
#colaboradores h2 {
  color: var(--brand-dark);
  font-weight: 400;
}
#moderadores h2 {
  color: #008a97;
  font-weight: 400;
}
#directorio img,
#administracion img,
#moderadores img {
  border: 2px solid transparent;
}
#moderadores img:hover,
#directorio img:hover {
  border: 2px solid #777;
  cursor: pointer;
}
#directorio .vc_column-inner,
#administracion .vc_column-inner,
#moderadores .vc_column-inner {
  padding: 0px;
}

/* leftLine - versión posicionada */
.page-id-6555 .leftLine {
  height: 20px;
}
.page-id-6622 .leftLine,
.page-id-6633 .leftLine {
  height: 20px;
  background: #008a97;
}

/* Centros */
#centros ul,
#comite ul {
  margin: 0px;
}
#centros ul li,
#comite ul li {
  list-style: none;
  padding: 0px;
}
#centros li:before,
#comite li:before {
  content: "\f054";
  color: var(--brand-dark);
  font-family: FontAwesome;
  font-size: 12px;
  margin-right: 5px;
}
#centros .borderC .vc_column-inner {
  position: relative;
  border: 1px solid #777;
  background: #fff;
  padding: 15px 10px;
  min-height: 120px;
  line-height: 20px;
  font-size: 14px;
}
#comite .borderC2 .vc_column-inner {
  position: relative;
  border: 1px solid #777;
  background: #fff;
  padding: 15px 10px;
  min-height: 120px;
  line-height: 20px;
  font-size: 14px;
}

/* Bio equipo - expandible legacy */
.moderadores-content .light,
.directorio-content .light {
  cursor: pointer;
}
#directorio .bioEquipo {
  background-color: var(--brand-dark);
}

/* Flechas equipo */
#moderadores .team-member:after {
  content: "\f078";
  color: #008a97;
  font-family: FontAwesome;
  font-size: 20px;
  position: absolute;
  top: 60%;
  right: 5px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #008a97;
  text-align: center;
  line-height: 23px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
#directorio .team-member:after {
  content: "\f078";
  color: var(--brand-dark);
  font-family: FontAwesome;
  font-size: 20px;
  position: absolute;
  top: 60%;
  right: 5px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid var(--brand-dark);
  text-align: center;
  line-height: 23px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
#moderadores .content-show:after {
  content: "\f077";
  color: #008a97;
  font-family: FontAwesome;
  font-size: 20px;
  position: absolute;
  bottom: 5%;
  right: 5px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #008a97;
  text-align: center;
  line-height: 23px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
#directorio .content-show:after {
  content: "\f077";
  color: var(--brand-dark);
  font-family: FontAwesome;
  font-size: 20px;
  position: absolute;
  bottom: 5%;
  right: 5px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid var(--brand-dark);
  text-align: center;
  line-height: 23px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

/* Lista portafolio */
.listaPortafolio .content {
  padding: 10px !important;
}
.listaPortafolio .item-main h3 {
  display: inline;
}
.listaPortafolio .item-main a {
  display: block;
  font-size: 22px;
  line-height: 20px;
  font-weight: 400;
}

/* Ocultar filtros de grilla */
.nectar-post-grid-filters {
  display: none !important;
}

/* Portfolio template */
.portfolio-template-default #page-header-wrap {
  display: none;
}
.portfolio-template-default p,
.portfolio-template-default li,
.portfolio-template-default ol,
.portfolio-template-default ul {
  line-height: 28px !important;
  font-size: 14px !important;
  padding-bottom: 0px;
}
.portfolio-template-default ol,
.portfolio-template-default ul {
  margin-left: 15px;
}
.bottom_controls #portfolio-nav .controls li a i:after {
  height: 3px !important;
  top: 16px !important;
}
.bottom_controls #portfolio-nav ul:first-child #all-items a {
  pointer-events: none;
}

/* Formularios: submit sin padding ni radius */
body[data-button-style="rounded"].ascend .container-wrap input[type="submit"],
body[data-button-style="rounded"].ascend .container-wrap button[type="submit"] {
  padding: 0px !important;
  border-radius: 0px !important;
}

/* Utilidades de espaciado */
.mr-1 { margin-right: 5px; }
.mr-2 { margin-right: 10px; }
.mt-1 { margin-top: 5px; }
.mt-2 { margin-top: 10px; }
.mb-1 { margin-bottom: 5px; }
.mb-2 { margin-bottom: 10px; }
.clear-fix { clear: both; display: block; }

/* Footer */
#footer-outer .row {
  padding: 30px 0px;
  margin-bottom: 0;
  line-height: 14px;
  font-size: 14px;
}
#footer-outer .col {
  z-index: 10;
  min-height: 1px;
  padding-left: 5%;
}
#footer-widgets .sub-menu {
  display: none;
}
#footer-widgets #custom_html-2 {
  line-height: 21px;
}

/* Hacemos (overlay en imágenes) */
.hacemos {
  background: #ededed;
  position: absolute;
  bottom: 0px;
  top: 70%;
  width: 80%;
  left: 10%;
  height: 30%;
  padding: 10px;
}
.hacemos h3 {
  font-size: 18px !important;
  font-weight: bold !important;
  margin: 0px;
  padding: 0px;
  line-height: 18px !important;
}
.hacemos a { font-size: 14px; }
.hacemos p { line-height: 18px; }
.hacemos .fas { margin-left: 5px; font-size: 18px; }

/* Slider home */
.nectar-button.has-icon,
.nectar-button.tilt.has-icon {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.nectar-recent-posts-slider_multiple_visible h3 a {
  color: #fff;
  font-weight: bold;
  font-size: 21px !important;
  line-height: 21px !important;
}
.nectar-recent-posts-slider_multiple_visible .recent-post-container.container {
  max-width: 90% !important;
  left: 5% !important;
}

/* Responsive equipo */
@media only screen and (max-width: 690px) {
  .content-hide {
    display: block !important;
    pointer-events: none;
  }
  .content-show {
    display: block;
    pointer-events: none;
  }
  #moderadores .team-member:after,
  #directorio .team-member:after {
    display: none;
  }
  .content-show:after {
    display: none;
  }
}

/* Lista charlas */
.listaCharlas h3,
.listaCharlas h3 strong {
  font-size: 21px !important;
  margin: 0px;
}

/* Sidebar */
#sidebar > div {
  margin-bottom: 5px !important;
}

/* Menú lateral slide-out */
#slide-out-widget-area .inner > div:first-of-type {
  margin-top: 25px !important;
}

/* Botón scroll to top */
#to-top i {
  font-size: 2.5rem !important;
}
