/*
 Theme Name:   Fundacion GrupoAzvi
 Description:  Simple Bootstrap Child Theme Fundacion GrupoAzvi
 Template:     simple-bootstrap
 Version:      1.0.1
 Text Domain:  fundacion
 Domain Path: /languages/
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready

*/
@import url("../simple-bootstrap/style.css");

/* -------------------------------------------------------------- */


#content-wrapper *{
    font-family: 'Lato', sans-serif;
}
body{
	background-color: #FFFFFF;
	color:#333333;
	font-size: 14px;
}
body p{
	text-align: justify;
}
body .container.page-container{
	font-size: 16px;
}
a:hover{
	text-decoration: none !important;
	cursor: pointer;
}
#content-wrapper h4{
    font-family: 'Lato', serif !important;
}
#content-wrapper h1,
#content-wrapper h2,
#content-wrapper h3,
#content-wrapper h4,
#content-wrapper h5{
	font-family: 'Lato', sans-serif !important;
}
.colorgreen{
	color: #4a9c2d;
}

/*CABECERA*/

.header-image{
	display: flex;
}
.header-image>.container{
	display: table;
}
.title_head{
	display: table-cell;
	vertical-align: middle;
	font-size: 7rem;
	color:#FFFFFF;
	padding: 80px 35% 0px 0%;
}

#content-wrapper>header{
	padding-top: 20px;
	width: 100%;
	background-color: #FFFFFF;
	z-index: 999;
}
.logo{
	padding-left: 80px;
}
.logo img{
	max-width: 200px;
}
.rrss_img img{
	max-width: 20px;
}

.single-productos .logo img,
.single-productos .rrss_img,
.single-productos .popup-img img,
.page-template-page-fullwidth-notitle .logo img,
.page-template-page-fullwidth-notitle .rrss_img,
.page-template-page-fullwidth-notitle .popup-img img{
	filter: none;
}

#content-wrapper>header .top_header{
	display: flex;
}
.bg-dark{
	background-color: transparent !important;
	border: none;
	width: 100%;
}
.top_header>div{
	padding-top: 20px;
}
.top_header>div:first-child{
	padding-top: 0px;
}
#navbarSupportedContent,
#navbarSupportedContent>div{
	width: 100%;
}
#menu-principal{
	padding-left: 0px;
}
#menu-principal > li{
	float: left;
	margin-right: 35px;
	list-style: none;
}
#menu-principal > li a{
	color:rgb(23, 74, 143);
  font-family: 'Almarai', sans-serif !important;
  font-size: 16px;
}
header .rrss{
	float: right;
	margin-left: 20px;
}
#menu-principal .sub-menu{
	background-color: #FFFFFF;
	list-style: none;
	padding-left: 0px;
	position: absolute;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.5s linear;
}
#menu-principal li:hover > .sub-menu,
#menu-principal a:active > .sub-menu {
	visibility: visible;
	opacity: 1;
}
#menu-principal .sub-menu li {
	margin-top: 3px;
	margin-bottom: 3px;
	border-top: 1px solid #746661;
	padding: 2px 40px 2px 10px;
}
#menu-principal .sub-menu li:first-child{
	margin-top:0px;
	border-top: none;
}
#menu-principal .sub-menu li a{
	color: #746661;
	opacity: 0.7;
}
.page-template-page-fullwidth-notitle #content-wrapper > header nav a {
  color: #062f6e;
}
.page-template-page-fullwidth-notitle #content-wrapper > header {
  position: relative;
  border-bottom: 1px solid #062f6e;
}
/*SUBMENU*/

#mega-menu-wrap-main_nav #mega-menu-main_nav > li.mega-menu-megamenu > ul.mega-sub-menu{
	position: fixed;
	padding:2%;
	background-color: #FFFFFF;
}
ul.mega-sub-menu > li:first-child > ul > li > ul.mega-sub-menu {
	width: 100% !important;
}
#mega-menu-wrap-main_nav #mega-menu-main_nav > li.mega-menu-megamenu > ul.mega-sub-menu ul ul>li{
	border-bottom: 1px solid #eee;
	color:rgb(0, 84, 151);
}
#mega-menu-wrap-main_nav #mega-menu-main_nav h4,
.mega-sub-menu .mega-sub-menu li a,
.mega-sub-menu .mega-sub-menu li{
	display: flex !important;
	align-items: center;
	gap: 1rem;
}
#mega-menu-wrap-main_nav #mega-menu-main_nav h4{
	font-size: 40px !important;
	gap: 2rem;
}
#mega-menu-wrap-main_nav #mega-menu-main_nav h4.mega-block-title::after {
  content: "→";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  font-size: 1.5rem;
  color: #000;
}
.mega-sub-menu .mega-sub-menu li a::before {
  content: "→";
  color: #163763;
  font-weight: bold;
  font-size: 1rem;
  transition: transform 0.3s ease;
}

#mega-menu-wrap-main_nav #mega-menu-main_nav * {
  color: #163763 !important;
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

/*FOOTER*/
#inner-footer{
	margin-top: 80px;
	background-color: #062f6e;
	padding-top: 0px;
}
#inner-footer > .container{
	max-width: 90%;
	padding-top: 20px;
	color:#FFFFFF;
}
#inner-footer > .container > .row {
	display: table;
	width: 100%;
}
#inner-footer > .container > .row > *{
	margin-top: 15px;
	display: table-cell;
	float: none;
}
#inner-footer > .container > .row .menu-pie{
	vertical-align: bottom;
}
#inner-footer > .container > .row .menu-pie ul{
	margin-bottom: 0px;
}
.logo_footer img{
	max-width: 180px;
}
#inner-footer ul{
	list-style: none;
	padding-left: 0px;
}
#inner-footer ul li{
	display: inline;
	margin-left: 20px;
}
#inner-footer ul li a{
	color: #FFFFFF;
}
/*GENERAL*/
.header-image-container{
	margin-bottom: 40px;
}
.n2_clear{
	margin-bottom: 40px;
}
#page-content > .container,
#content{
	max-width: 100%;
	padding: 0px;
	margin: 0px;
}
#main{
	padding: 0px;
}
#article-full > .entry-content > div > *{
	padding-left: 250px;
	padding-right: 250px;
}
#article-full > .entry-content > div > .alignfull{
	padding-left: 150px;
	padding-right: 150px;
}
#article-full > .entry-content > div > div{
	padding-top: 30px;
	padding-bottom: 30px;
}
.nopadding{
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

#article-full > .entry-content > div > figure{
	padding-left: 0px;
	padding-right: 0px;
}
.wp-block-image.alignfull.size-large{
	margin: 0px;
}
/*ESPECIFICOS*/

.col-carta {
  display: flex !important;
  align-items: stretch !important;
}

.col-carta > .wp-block-column{
  display: flex;              /* convierte la columna en flex */
  flex-direction: column;     /* mantiene flujo vertical del texto */
  justify-content: center;    /* centra verticalmente el contenido */
}

.col-carta > .wp-block-column figure img {
  width: 100%;                /* mantiene el ancho de la imagen */
  height: auto;               /* respeta proporción original */
  display: block;             /* elimina espacios inline */
}

/*PROGRAMAS*/
.programa .card-img-top {
  aspect-ratio: 16 / 9;       
  object-fit: cover;
  width: 100%;
  height: auto;
}
.programa .card-img-top {
  transition: transform 0.3s ease;
}

.programa .card:hover .card-img-top {
  transform: scale(1.03);
}
.programa .card-title a {
  text-transform: uppercase;   
  font-weight: 600;            
  letter-spacing: 0.5px;      
  text-align: left;
}
.programa .text-muted {
  text-transform: uppercase;   
  font-size: 0.85rem;          
  letter-spacing: 0.5px;
  text-align: left;
}
/* === Estilos del buscador de programas === */
.search-programas {
  gap: 10px; /* separación entre los campos */
}


.search-programas .search-select,
.search-programas .search-input {
  background-color: #fff;       /* fondo blanco */
  border-radius: 15px;           /* bordes redondeados */
  border: 1px solid #062f6e;
  height: 45px;
}
.search-programas .search-select{
	padding-left: 20px;
}

.search-programas .flex-grow-1{
	flex-grow: 0 !important;
}

/* Botón con lupa */
.search-programas .search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 25px;           /* bordes redondeados */
  height: 45px;
  width: 45px;
  padding: 0;
  background-color: transparent; /* fondo transparente */
  border: 1px solid #062f6e;    /* borde azul oscuro */
  color: #062f6e;               /* color del icono */
  transition: background-color 0.2s, color 0.2s;
}

/* Icono dentro del botón */
.search-programas .search-btn i {
  font-size: 1.2rem;
}

/* Espaciado responsive */
@media (max-width: 768px) {
  .search-programas {
    flex-direction: column;
    align-items: stretch;
  }

  .search-programas .search-btn {
    width: 100%;
  }
}

/* Transición suave para tarjetas */
.programa {
    transition: all 0.3s ease;
    opacity: 1;
    transform: scale(1);
}

/* Clase para ocultar */
.programa.hide {
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none; /* evita interacción mientras está oculto */
}


/*SEARCH PAGE*/
.page-result .block{
	box-shadow: none;
}
.page-result .block h1{
	color: #000000;
}
/*HOME*/
.home_trabajamos table td{
	border:none;
}



/*ACTUALIDAD*/
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  align-items: stretch;
}
.post-item.post-actualidad {
	display: flex;
	flex-direction: column;
  background: #fff;
  padding: 1rem;
  text-align: left;
  transition: transform 0.2s ease;
}
.post-item.post-actualidad:hover {
  transform: translateY(-5px);
}
.post-thumb {
  display: block;
  width: 100%;
  height: 220px; /* ajusta el alto que prefieras */
  overflow: hidden;
  margin-bottom: 15px;
}
.post-actualidad .post-title a{
	color: #062f6e;
}
.post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* mantiene proporción y recorta si es necesario */
  object-position: center; /* centra la imagen */
  display: block;
}
.post-subtitulo {
  font-size: 1.1rem;
  margin-top: 0px;
  color: #062f6e;
}
.post-excerpt {
  margin-top: 0.1rem;
  color: #0089a9;
}
.btn-seguir-leyendo {
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  border: 2px solid #062f6e;
  color: #062f6e;
  text-decoration: none;
  font-weight: bold;
  border-radius: 0; /* borde cuadrado */
  transition: all 0.2s ease;
  text-align: center;
}

.btn-seguir-leyendo:hover {
  background: #222;
  color: #fff;
}


/*SINGLE*/
.single-titulo,
.single-subtitulo{
	color: #062f6e;
	text-align: center;
}

/*CONTACTO*/

.contacto_2c {
    display: flex;
    gap: 2rem;
    margin-bottom: 1.5rem;
}
.contacto_2c label {
    flex: 1;
}

.contacto_2c input, 
.contacto_2c email, 
.contacto_1c input, 
.contacto_1c textarea {
    display: block;
    width: 100%;
    border: none !important;
    border-bottom: 1px solid #ccc !important; /* Línea fina */
    background: transparent !important;
    padding: 10px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.contacto_2c input::placeholder,
.contacto_1c textarea::placeholder {
    color: #000 !important;
    opacity: 1; 
}
.contacto_1c textarea {
    height: 60px !important; 
    min-height: 60px;
}

.contacto_2c label, 
.contacto_1c label {
    color: #999; /* Gris suave para el título del campo */
    font-size: 0.85rem;
    font-weight: normal;
}

.wpcf7-submit {
    border-radius: 50px !important; /* Forma redondeada */
    padding: 12px 60px !important;
    border: none !important;
    cursor: pointer;
    transition: opacity 0.3s;
    width: 100% !important;
    display: block !important;
    margin-top: 20px;
    border-radius: 50px !important;
    padding: 15px !important;
}
.wpcf7-submit:hover {
    opacity: 0.9;
}

@media (max-width: 600px) {
    .contacto_2c {
        flex-direction: column;
        gap: 1rem;
    }
}


/*POST TYPE MULTIMEDIA*/
.bloque-carrusel-completo {
    position: relative !important;
    margin: 40px 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.carrusel-scroll-horizontal {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* PROHIBIDO AMONTONAR */
    overflow-x: auto !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    gap: 20px !important;
    width: 100% !important;
    padding: 10px 0 !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.carrusel-scroll-horizontal::-webkit-scrollbar {
    display: none !important;
}
.carrusel-item-fix {
    /* Usamos flex-basis para asegurar que no se encojan ni crezcan */
    flex: 0 0 calc(33.333% - 14px) !important;
    width: calc(33.333% - 14px) !important;
    min-width: calc(33.333% - 14px) !important;
    max-width: calc(33.333% - 14px) !important;
    scroll-snap-align: start !important;
    display: block !important; /* Forzamos bloque dentro de la fila */
}

button.ctrl-flecha {
    all: unset !important; /* Resetea todo el estilo de botón del navegador */
    box-sizing: border-box !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 45px !important;
    height: 45px !important;
    background: #ffffff !important;
    border: 1px solid #1d2d4c !important;
    border-radius: 50% !important;
    color: #1d2d4c !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 999 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
    font-size: 20px !important;
}

button.ctrl-flecha:hover {
    background: #1d2d4c !important;
    color: #fff !important;
}

button.ctrl-flecha.prev { left: 15% !important; }
button.ctrl-flecha.next { right: 15% !important; }


/* Título */
.titulo-memoria {
    text-align: center;
    font-size: 14px;
    margin-top: 10px;
}

/* Correcciones movil*/
@media (max-width:766px ){

}

@media (max-width: 900px) {
  table.has-fixed-layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    border-collapse: collapse;
  }

  table.has-fixed-layout tbody {
    display: contents;
  }

  table.has-fixed-layout tr {
    display: contents;
  }

  /* Asegura que cada par imagen/texto se apilen correctamente */
  table.has-fixed-layout td {
    width: 100%;
    text-align: center;
    padding: 10px 0;
  }

  /* Orden intercalado: imagen 1, texto 1, imagen 2, texto 2, ... */
  table.has-fixed-layout tr:first-child td:nth-child(1) { order: 1; }
  table.has-fixed-layout tr:nth-child(2) td:nth-child(1) { order: 2; }
  table.has-fixed-layout tr:first-child td:nth-child(2) { order: 3; }
  table.has-fixed-layout tr:nth-child(2) td:nth-child(2) { order: 4; }
  table.has-fixed-layout tr:first-child td:nth-child(3) { order: 5; }
  table.has-fixed-layout tr:nth-child(2) td:nth-child(3) { order: 6; }
  table.has-fixed-layout tr:first-child td:nth-child(4) { order: 7; }
  table.has-fixed-layout tr:nth-child(2) td:nth-child(4) { order: 8; }
  table.has-fixed-layout tr:first-child td:nth-child(5) { order: 9; }
  table.has-fixed-layout tr:nth-child(2) td:nth-child(5) { order: 10; }

  /* Ajusta las imágenes */
  table.has-fixed-layout img {
    width: 100%;
    height: auto;
    max-width: 250px;
  }
}

/* --- RADIO --- */

/* Color azul oscuro corporativo (ajústalo si es necesario) */
:root {
    --radio-azul-oscuro: #062f6e;
    --radio-gris-claro: #f0f0f0; /* Para el hover del botón */
}


.card-radio-custom {
    background-color: var(--radio-azul-oscuro);
    color: #ffffff;
    padding: 30px; 
    height: 100%; 
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    border-radius: 4px; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.card-radio-custom .radio-title {
    color: #ffffff;
    font-size: 18px; 
    margin: 0 0 10px 0;
    line-height: 1.3;
    font-weight: 600;
}

.card-radio-custom .radio-date {
    color: #ffffff;
    font-size: 14px;
    display: block;
    margin-bottom: 25px;
}

.card-radio-custom .radio-btn-container {
    margin-top: auto; 
    text-align: right; 
}

.card-radio-custom .radio-btn-play {
    color: #ffffff;
    text-decoration: none !important;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 10px; 
    font-weight: 600;
    transition: all 0.3s ease;
    background: transparent;
    border: none;
}

.card-radio-custom .radio-icon {
    width: 35px;
    height: 35px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background-color 0.3s ease;
}

.card-radio-custom .radio-icon:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--radio-azul-oscuro);
    border-right: 2px solid var(--radio-azul-oscuro);
    transform: rotate(45deg);
    display: block;
    margin-left: -3px; 
}

.card-radio-custom .radio-btn-play:hover {
    color: var(--radio-gris-claro);
}

.card-radio-custom .radio-btn-play:hover .radio-icon {
    background-color: var(--radio-gris-claro);
}
/* El círculo blanco */
.radio-icon {
    width: 35px;
    height: 35px;
    background-color: #ffffff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

/* La flechita '>' dentro del círculo */
.radio-icon::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #1d2d4c; /* Tu azul */
    border-right: 2px solid #1d2d4c;
    transform: rotate(45deg);
    margin-left: -3px; /* Ajuste para centrar la punta */
    display: block;
}

/* Cambio visual cuando está sonando */
.radio-btn-play.is-playing .radio-icon::after {
    content: '';
    width: 3px;
    height: 10px;
    border-left: 2px solid #1d2d4c;
    border-right: 2px solid #1d2d4c;
    border-top: none;
    border-bottom: none;
    transform: none;
    margin-left: 0;
}

/*Cambios Finales*/
.columnas-imagen-completa{
    align-items: stretch;
}

.columnas-imagen-completa > .wp-block-column:last-child{
    display:flex;
}

.columnas-imagen-completa > .wp-block-column:last-child > .wp-block-cover{
    flex:1;
    min-height:100%;
}

.columnas-imagen-completa > .wp-block-column:last-child > .wp-block-cover .wp-block-cover__inner-container{
    display:none;
}
.columnas-imagen-completa .wp-block-cover__background.has-background-dim{
    background-color: transparent;
}
.trabajamos_por > div{
    padding: 15px;
}
.trabajamos_por_1{
    padding-bottom:0px !important;
}
.trabajamos_por_2{
    padding-top:0px !important;
}
.trabajamos_por > div > div{
    margin-bottom: 0px;
}
.trabajamos_por > div > div > div{
    padding-top: 20px;
}
.trabajamos_por > div figure{
    margin-bottom: 0px;
}
.trabajamos_por .t_numero p{
    padding: 10px;
    text-align: center;
}
.trabajamos_por .t_numero{
    padding-top: 0px;
}
.fondo-caja {
    margin-left: 200px;
    margin-right: 200px;
    padding: 30px;
    padding-left: 50px !important;
    padding-right: 50px !important;
    position: relative;
}
.fondo-caja::before {
    content: "";
    position: absolute;
    inset: 0 0 25% 0;  /* El fondo termina 100px antes del final */
    background: rgba(0,137,169,.1);
    z-index: -1;
}

.columnas_cartas>div{
    padding: 4% 4% 10% 4%;
}
.columnas_cartas>div h3{
    margin-bottom: 20px;
}

/*MANTENIMIENTO*/

