:root {
    --orange: #ff5733;
    --yellow: #ffc300;
    --brown: #ff751f;
	--brown2: #ff927b;
    --salmon: #ff937b;
	--almost-black: #2e2e2e;
    --rd-grey-dark: #646464;
    --rd-grey: #9d9d9d;
    --rd-light-grey: #c4c4c4;
    --rd-white: #fff;
	--base:8px;
}
.hero-under-header {
  margin-top: -160px;
  padding-top: 160px!important;
}
/* Utility Classes */
.mb-s {
	 margin-bottom:var(--base);
}
.mb-m {
	 margin-bottom:calc(var(--base) * 2);
}
.mb-l {
	 margin-bottom:calc(var(--base) * 3);
}
.mb-xl {
	 margin-bottom:calc(var(--base) * 4);
}
.pb-0 {
	padding-bottom:0;
}
.line {
	position:relative;
}
.line::before {
	content:'';
	width:300px;
	position:absolute;
	bottom:0;
}
.line-orange::before {	
	border-bottom:1px solid var(--orange);
}
.line-yellow::before {	
	border-bottom:1px solid var(--yellow);
}
.line-brown::before {	
	border-bottom:1px solid var(--brown);
}
.line-left::before {
	transform:translate(calc(-100% - 10px),-10px);
}
.line-right::before {
	right:0;
	transform:translate(calc(100% + 10px),10px);
}
/* HIDE RECAPTCHA v3 BADGE */
.grecaptcha-badge { visibility: hidden!important; }
/* Text and elements colors */
.orange-txt {
	color:var(--orange);
}
.a-black-txt {
	color:var(--almost-black);
}
.grey-txt {
	color:var(--rd-grey);
}
.brown-txt {
	color:var(--brown);
}
.brown2-txt {
	color:var(--brown2);
}
.yellow-txt {
	color:var(--yellow);
}
.salmon-txt {
	color:var(--salmon);
}
.long-text {
	overflow-wrap: break-word;
	hyphens:manual;
}
.pfs {
	color:var(--orange);
	font-size:calc(1em + 2px);
	font-weight:700;
}
/* Menú nav - enlaces activos de color */
/* Página actual: menú principal y submenús, escritorio y móvil */
.et-l--header .et_pb_menu li.current-menu-item > a,
.et-l--header .et_pb_menu li.current_page_item > a {
    color: var(--orange) !important;
}
/* Página activa dentro de un submenú */
.et-l--header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-item > a,
.et-l--header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current_page_item > a {
    color: var(--orange) !important;
}
.et-l--header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-ancestor > a {
    color: var(--orange) !important;
}
/* Separación chevron Gobierno corporativo */
.item-gc>a:first-child:after {
    position: static !important;
    display: inline-block;
    vertical-align: middle;
	padding-left:6px;
}
/* EFECTO DE MARCADO EN COLOR DEL TEXTO */
.marked {
	color:#fff;	
	position:relative;
}
.marked::before {
	content:'';
	width:104%;
	height:100%;
	position:absolute;
	left:-2%;
	top:0;
	transform:skewx(-30deg);
	z-index:-1;
}
.m-orange::before {
	background-color:var(--orange);
}
.m-yellow::before {
	background-color:var(--yellow);
}
.m-brown::before {
	background-color:var(--brown);
}
.m-brown2::before {
	background-color:var(--brown2);
}
.m-salmon::before {
	background-color:var(--salmon);
}
.breadcrumb-icon.et-pb-icon {
	font-size:14px;
    color: var(--gcid-87be7ql7cu);
}
/* Linea pequeña bajo encabezados */
.line-decoration:after {
	content: '';
    display: block;
    width: 26px;
    border-bottom: 2px solid var(--yellow);
    margin: 20px 0 10px 0;
}
.pfs-lottie {
    width: 100%;
    /*max-width: 400px;*/
}

.pfs-lottie svg {
    display: block;
    width: 100%;
    height: 100%;
}
/* etiquetas fondo crema */
.sc-label {
    background-color: rgba(248, 187, 33, 0.1);
    border-radius: 8px;
    display: inline-block;
    padding: 6px 8px;
    margin-right: 4px;
    margin-bottom: 10px;
}
.sc-label__off {
	background-color: rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    display: inline-block;
    padding: 6px 8px;
    margin-right: 4px;
    margin-bottom: 10px;
}
/* material multimedia */
.mm-image {
	border-radius:16px;
}
.mm-texto_titulo {
	font-size:14px!important;
	color:#323433;
	line-height:1.42em;
	padding-bottom:4px;
}
.mm-texto_desc {
	font-size:10px!important;
	color:#646464;
	line-height:1.68em;
}
.mm-texto_meta {
	margin-top:16px;
	margin-bottom:16px;
}
.mm-texto_meta p {
	padding-bottom:0;
	font-size:12px;
}
.mm-texto_meta strong {
	color:#9d9d9d;
}
.mm-link {
	display:inline-block;
	border:1px solid var(--orange);
	border-radius:50px;
	padding:8px 16px;
}
/* BREADCRUMB ADJUSTMENTS */
.bc-active {
	color:var(--rd-grey-dark);
}
.breadcrumbs a:hover {
	color:var(--orange);
}
/***************************************/
/***************************************/ 
/** TABS & ACCORDION - CASOS DE ÉXITO **/
/***************************************/
/***************************************/
.sc-tabs-container {
	margin-bottom: 3em;
}
.sc-tabs {
	margin: 0!important;
	padding: 0!important;
	list-style-type: none!important;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
}
.sc-tab {
	cursor: pointer;
	padding: 15px;
}
.sc-tab_active {
	color: var(--orange);
	font-weight: 700;
}
.sc-panel {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.sc-panel-column {
	width:47.5%;
	display: flex;
	flex-flow: column nowrap;
	align-items: flex-start;
	/*height: 350px;*/
}
.sc-item {
	width: 100%;
	padding:16px;
	border-radius: 16px;
	box-shadow: 0 4px 16px 4px rgba(0,0,0,.063);
	margin-bottom: 16px;
}
.sc-item_header {
	display: flex;
	flex-flow: column nowrap;
	/*height:75px;*/
	justify-content: space-between;
	cursor:pointer;
}
.sc-item_header h4, .sc-item_header h5, .sc-item_header p {
	margin:0;
	padding:0;
}
.sc-item_title {
	margin-bottom:16px;
}
.sc-item_title, .sc-item_cat {
	display: flex;
	flex-flow: row nowrap;;
	justify-content: space-between;
}
.sc-item_title h4 {
	font-size:16px;
	line-height:1.5em;
	font-weight:700;
}
.sc-item_cat {
	align-items: center;
	white-space: nowrap;
}
.sc-item_cat h5 {
	text-align: right;
}
.sc-item_cat p {
	font-size:12px;
}
.sc-item_title p {
	font-size: 14px;
	font-weight: 400;
}
.sc-item_catname {
	color:var(--brown);
	font-size:12px;
}
.sc-item_content {
	border-top: 1px solid #DEDDDD;
	margin-top: 16px;
	display:none;
}
.sc-item_content p, .sc-item_content li {
	color:#646464;
	font-size:12px;
}
.sc-item_content h4 {
	font-size:16px;
	margin-top: 16px;
	font-weight:bold;
}
.sc-content_ico {
	width:18px;
	height:auto;
	margin-right:4px;
	vertical-align:-3px;
}
.sc-panel:not(:first-child) {
	display: none;
}
/* Administrators cards */
.consejeros_row {
	display:flex;
	flex-flow: row wrap;
	justify-content:space-between;
	align-items:flex-start;
}
.consejero_item, .consejero_item-y {
	width:24.5%;
	text-align:center;
}
.consejero_item-y {
	margin-bottom:30px;
}
.consejero_foto {
	display:block;
	max-width:150px;
	margin:0 auto 20px auto;
}
.consejero_nombre {
	padding-bottom:10px;
	border-bottom:1px solid var(--rd-light-grey);
	font-size:16px;
	color:#323433;
}
.consejero_cargo {
	padding-top:10px;
	font-size:10px;
	line-height:1.4em;
	color:var(--rd-grey-dark);
}
.asesor-icon span {
	font-size:24px;
}
/* notas de prensa */
.ndp-link {
	display:flex;
	width:39px;
	height:39px;
	justify-content:center;
	align-items:center;	
	border:1px solid #323433;
	border-radius:25px;
	margin:0 0 0 auto;
	color:#323433;
	font-size:24px;
	font-weight:100;
	transition:all 350ms;
}
.ndp-link:hover {
	color:var(--orange);
	transform:rotate(1turn);
	border-color:var(--orange);
}
.ndp-fecha {
	font-size:12px;
	color:#9d9d9d;
	font-weight:700;
}
.ndp-fecha i {
	margin-right:8px;
	vertical-align:middle;
}
.ndp-texto {
	font-size:14px;
	line-height:1.42em;
	color:#323433;
}
/* ==========================================================================
   PFS Legal — menú móvil (off-canvas + acordeón)
   Cargar en el tema hijo, solo se aplica por debajo del breakpoint tablet.
   Ajusta las custom properties a la identidad de marca real.
   ========================================================================== */

  :root {
  --pfs-mmenu-bg: #ffffff;
  --pfs-mmenu-text: #2e2e2e;
  --pfs-mmenu-muted: #75797d;
  --pfs-mmenu-accent: #ff5733;      
  --pfs-mmenu-border: #ececec;
  --pfs-mmenu-header-h: 77px;       /* alto real de la cabecera móvil en Divi */
  --pfs-mmenu-speed: .28s;
  --pfs-mmenu-ease: cubic-bezier(.4, 0, .2, 1);
}

/* Botón cerrar (X), dentro del propio panel ------------------------------ */
.pfs-mmenu__close {
  position: fixed;
  top: calc((var(--pfs-mmenu-header-h) - 40px) / 2);
  right: 12px;
  z-index: 9999;
  width: 40px;
  height: 40px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--pfs-mmenu-text);
  cursor: pointer;
}

.pfs-mmenu__close svg {
  width: 20px;
  height: 20px;
}

body.pfs-mmenu-open .pfs-mmenu__close {
  display: flex;
}

.pfs-mmenu__close:focus-visible,
.pfs-mmenu__toggle:focus-visible,
.pfs-mmenu__link:focus-visible {
  outline: 2px solid var(--pfs-mmenu-accent);
  outline-offset: 2px;
}

/* Panel off-canvas -----------------------------------------------------------
   .pfs-mmenu vive ahora en la FILA de Divi (Avanzado > CSS ID/Class = pfs-mmenu),
   no en un elemento propio. Las filas de Divi traen su propio position/width/
   max-width/padding (a veces hasta inline), así que forzamos con !important
   para que nuestro off-canvas gane siempre a los valores por defecto de Divi. */
.pfs-mmenu {
  position: fixed !important;
  top: var(--pfs-mmenu-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9998 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 env(safe-area-inset-bottom, 0) 0 !important;
  background: var(--pfs-mmenu-bg);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: opacity var(--pfs-mmenu-speed) var(--pfs-mmenu-ease),
              transform var(--pfs-mmenu-speed) var(--pfs-mmenu-ease),
              visibility 0s linear var(--pfs-mmenu-speed);
}
.pfs-mmenu nav {
  padding-top: 60px;
}

body.pfs-mmenu-open .pfs-mmenu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  transition: opacity var(--pfs-mmenu-speed) var(--pfs-mmenu-ease),
              transform var(--pfs-mmenu-speed) var(--pfs-mmenu-ease),
              visibility 0s linear 0s;
}

body.pfs-mmenu-open {
  overflow: hidden;
}

/* Prefijadas con #pfs-mmenu: Divi aplica ".et-l--header ul { list-style-type:
   disc; padding: ...; }" en la cabecera del Theme Builder, con más
   especificidad que una sola clase, y ganaba a estas reglas. */
#pfs-mmenu .pfs-mmenu__list {
  list-style: none;
  margin: 0;
  padding: 8px 0 24px;
}

.pfs-mmenu__item {
  border-bottom: 1px solid var(--pfs-mmenu-border);
}

.pfs-mmenu__item--disabled {
  display: none;
}

.pfs-mmenu__link {
  padding: 14px 20px;
  min-height: 48px;
  display: flex;
  align-items: center;
  color: var(--pfs-mmenu-text);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.3;
  transition: color .15s ease, background-color .15s ease;
}

.pfs-mmenu__link:hover,
.pfs-mmenu__link:active {
  color: var(--pfs-mmenu-accent);
  background: rgba(0, 0, 0, .02);
}

/* Botones de acordeón ------------------------------------------------------ */
.pfs-mmenu__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 20px;
  min-height: 48px;
  border: 0;
  background: transparent;
  color: var(--pfs-mmenu-text);
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.pfs-mmenu__toggle-label {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pfs-mmenu__chevron {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  color: var(--pfs-mmenu-muted);
  transition: transform var(--pfs-mmenu-speed) var(--pfs-mmenu-ease);
}

.pfs-mmenu__toggle[aria-expanded="true"] .pfs-mmenu__chevron {
  transform: rotate(180deg);
  color: var(--pfs-mmenu-accent);
}

.pfs-mmenu__toggle[aria-expanded="true"] {
  color: var(--pfs-mmenu-accent);
}

/* Contenedor animado del submenú (max-height calculado en JS: es la técnica
   más robusta entre navegadores para acordeones con anidamiento) --------- */
.pfs-mmenu__collapse {
  overflow: hidden;
  max-height: 0;
  transition: max-height var(--pfs-mmenu-speed) var(--pfs-mmenu-ease);
}

#pfs-mmenu .pfs-mmenu__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #ffffff;
}

.pfs-mmenu__submenu .pfs-mmenu__link {
  padding-left: 36px;
  font-size: 14px;
  font-weight: 400;
  color: var(--pfs-mmenu-text);
}

.pfs-mmenu__submenu .pfs-mmenu__link:hover {
  color: var(--pfs-mmenu-accent);
}

/* Acordeón anidado (Gobierno corporativo, RSC) ----------------------------- */
.pfs-mmenu__toggle--nested {
  padding-left: 36px;
  font-size: 15px;
  color: var(--pfs-mmenu-muted);
}

.pfs-mmenu__submenu--nested .pfs-mmenu__link {
  padding-left: 52px;
}

/* Ocultar por completo en escritorio --------------------------------------- */
@media (min-width: 981px) {
  .pfs-mmenu,
  .pfs-mmenu__close {
    display: none !important;
  }
}

/* Respeta preferencia de movimiento reducido -------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .pfs-mmenu,
  .pfs-mmenu__chevron,
  .pfs-mmenu__collapse {
    transition-duration: .001s !important;
  }
}
/* RESPONSIVE */

/********************/
/* TABLET AND BELOW */
/********************/
@media all and (max-width: 980px) {
	.hero-under-header {
	  margin-top: 0;
	  padding-top: 0!important;
	}
	/* Casos de éxito - paneles del acordeón */
	.sc-panel {
		flex-flow: column nowrap;
	}
	.sc-panel-column {
		width:100%;
	}
	/* Consejeros - consejo de administración */
	.consejeros_row {
		display:flex;
		flex-flow: column nowrap;
		justify-content:flex-start;
		align-items:center;
	}
	.consejero_item, .consejero_item-y {
		margin-bottom:30px;
		width:80%;
	}
	.consejero_foto {
		display:block;
		max-width:200px;
		margin:0 auto 12px auto;
	}
}
