/*
Theme Name: IQCC
Theme URI: 
Author: Pedro Salguero & Jordi Gili
Author URI: 
Description: Descripción: Tema para IQCC
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2024.2 (2025.2)
Requires at least: 5.2
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: irdgroups

irdgroups WordPress Theme 2011-2024
irdgroups is distributed under the terms of the GNU GPL
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* 
*/
:root {
    --lila: #662383;
    --gris: #e9e9e9;
    --blanco: #ffffff;
    --negro: #000000;
    --hx-border: #404040;
    
  }
html {
	font-size:62.5%;
}
body {
    background-color: var(--gris);
    font: 14px "Open Sans", sans-serif;
    font-weight: 100;
    color: #3a3a3a;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}
/*** colors ***/
.lila {
    background-color: var(--lila)
}
/*** CONTAINER ***/
.grid {
    display: grid;
    grid-column-gap: 20px;
    grid-row-gap: 20px; 
    margin: 1rem 0
}
.g-2, .g-4, .g-5, .g-23, .g-34 { 
    grid-template-columns: 1fr;
}     
    @media only screen and (min-width:768px) {
        .g-2 { grid-template-columns: repeat(2, 1fr)} 
        .g-4 { grid-template-columns: repeat(2, 1fr)} 
        .g-5 { grid-template-columns: repeat(5, 1fr)} 
        .g-23 { grid-template-columns: 2fr 340px }
        .g-34 { grid-template-columns: 3fr 1fr }      
        }
    
    @media only screen and (min-width:1000px) {
        .g-4 { grid-template-columns: repeat(4, 1fr)} 
    }

/*** COMUNES ***/
.swiper {
    width: 100%;
  }
/* Envuelve tablas u otro contenido ancho para que puedan hacer scroll
   horizontal en pantallas pequeñas en lugar de romper el layout */
.table-responsive-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.people-featured-image {
    margin: 2rem 0;
    & img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        display: block;
    }
}
/** overlay */
& .image-overlay-link, 
& .image-overlay-zoom {
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 40;
    opacity: 0;
    background-color: #222;
    background: rgba(0, 0, 0, 0.5);
    background-repeat: no-repeat;
    background-position: 50%;
    cursor: pointer;
    font-family: "FontAwesome";
    font-size: 18px;
    transition: all .3 ease-in-out;           
    
    &::before, 
    &::before {
        border-radius: 50%;
        width: 55px;
        height: 55px;
        display: block;
        position: relative;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        content: "";
        top: 50%;
        left: 50%;
        margin-top: -27px;
        margin-left: -27px;
        text-align: center;
        vertical-align: middle;
    }
    &::after {
        content: "\f0c1";
    }
    &::after, 
    &::after {
        position: absolute;
        color: #fff;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-46%,-46%);
        -moz-transform: translate(-46%,-46%);
        -o-transform: translate(-46%,-46%);
        transform: translate(-46%,-46%);
    }
}
a:hover .image-overlay-link {
    opacity: 1;
    transition: all .3s ease-in-out;
}
h1, h2, h3, h4, h5, h6 {
	color: var(--hx-border);
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
}
h2 {
    font-size: 24px;
}
h3 {
    font-size: 18px;
}
h3#reply-title {
    color: var(--lila);
}
h5.title-description {
    padding: 15px 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: 1px solid #e9e9e9;
    & a {
        color: var(--negro)
    }
}
h1.entry-title {
        font-size: 24px;
        font-weight: 100;
        color: #404040;
        position: relative;
        line-height: 30px;
        top: 3px;
        & a {
            color: #404040;
        }
    }
a {
    color: var(--lila);
    text-decoration: none;;
}
ol {
    margin-left: 30px;
}
img {
    max-width: 100%;
   
    height: auto;
    object-fit: cover;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
.button {
    display: inline-block;
    border: 0px;
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    cursor: pointer;
    width: auto;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 0px 0px 0px 0px;
    &.post-entry {
        color: #fff;
        padding: 9px 17px;
        font-size: 14px;
        background-color: var(--lila);
        &:hover {
            background-color: #aaa;;
        }
    }
}
p {
	margin: 15px 0 15px 0;
	line-height: 24px;
    text-align: justify;
}
em {
    font-style: italic;
}
.aligncenter {
    margin: 0 auto;
    display: block;
    width: auto;
}
strong,
.strong {
    font-weight: 700;
}
.entry-content {
    padding: 0 0 20px;
    margin: 5px 0 5px;
}
input[type="submit"] {
    background-color: var(--lila);
    color: var(--blanco);
    padding: 7px 12px;
    font-weight: bold;
    cursor: pointer;
}
#wrapper {
    background: var(--blanco);
    margin: 0 auto;
    width: 100%;
}
@media only screen and (min-width:768px) {
    #wrapper { 
        margin: 5rem auto 0;
        width: 90%;
        max-width: 1300px;
    }
} 
.scroll-to-top a {
    width: 40px;
    height: 40px;
    background: var(--lila);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: color .3s ease-in;
    position: absolute;
    right: 50px;
    bottom: 50px;
    cursor: pointer;
    color: #fff;
}
.scroll-to-top a:hover {
    background-color: silver;
}

/*** HEADER ****/
#header {
    padding: 4.5rem 3rem 1.5rem;

    & #contenedor-header {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        align-items: flex-start;

        & #site-title {
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            flex-direction: column;
            @media only screen and (min-width:768px) {
                flex-direction: row;
                align-items: center;
            }
            
            & h1 {
                margin-top: 0;
            }

            & #tagline {
                margin-top: 10px;
                font-weight: 900;
                color: #000;
                border-left: 0;
                margin: 0;
                padding: .5rem 0 .5rem 0;  
            }
            @media only screen and (min-width:768px) {
                #tagline {
                    margin: 0px 0 0 2rem;
                    padding: .5rem 0 .5rem 2rem; 
                    border-left: 1px solid var(--gris); 
                }
            }
        }
        & .redes-sociales {
            margin-top: 2rem;
        
            & ul {
                display: flex;
                flex-direction: row;
                gap: .5rem;
                
            }
                & li a{
                    background-color: #f2f2f2 ;
                    height: 36px;
                    width: 36px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    transition: all .3s ease-in-out;
                    
                    & .enlace-social {
                        background-color: #f2f2f2; 
                        color: white; 
                        padding: 10px; /* Añadir algo de espacio alrededor del icono, opcional */
                        transition: background-color 0.3s ease; /* Suaviza el cambio de color */
                    }
                
                    & .enlace-social:hover {
                        background-color: inherit; /* Permite que el color se herede desde el atributo data-hover-color */
                    }
                    &.enlace-social:hover .dashicons {
                        color: #fff;
                    }
                    &.enlace-social:hover .fa-brands {
                        color: #fff;
                    }

                }
            & .dashicons {
                    font-size: 18px;
                    color: #888;
            }
            & i.fa-brands {
                color: #888;
            }
        }
    }
    
    & #contacto-header {

        & ul {
            display: flex;
            justify-content: flex-start;
            margin-top: 2rem;
            
        
            & li {
                padding: 0;
                
                @media only screen and (min-width:768px) {
                   li {
                        padding: 0 1remrem;
                    }
                }
                &:last-child {
                    border-left: 1px solid var(--gris);
                    padding-left: 1rem;
                }
                &:first-child {
                    padding-right: 1rem;
                }
                

                & span.dashicons.dashicons-phone {
                    font-size: 15px;
                    line-height: 20px;
                }
                & .fa.fa-phone {
                    font-size: 12px;
                    line-height: 20px;
                }

                & a {
                    color: #707070;
                    margin: 0 0 0 0.5rem;
                }
                
                & :hover {
                color: var(--negro);
                }
            }
        } 
    } 
    
    & nav#menu {
        margin-top: 1.5rem;
        width: 100%;
        background-color: #303030;

        & ul {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            min-height: 54px;
            
            & li a {
                color: #d1d1d1;
                text-decoration: none;
                font-weight: 600;
                padding: 17px 25px;
                
            }
          
        } 
        
    }
    @media (width >768px) {
        padding: 5rem 6rem 1.5rem;
        
        & #contenedor-header {
            flex-direction: row; 
            align-items: center;
            
            & .redes-sociales {
                margin-top: -2rem;
            }
        }
        & #contacto-header {

            & ul {
                justify-content: flex-end;
                margin-top: 1rem;
            }
        }
    }
}

#footer {
    background: var(--negro);
    color: #aaa;
    padding: 5rem 3rem 2.5rem;
    margin-bottom: 0;
    position: relative;

    @media ( width > 768px ) {
        padding: 5rem 6rem 2.5rem;
        margin: 0 auto 5rem;
    }
   
    & h4 {
        color: var(--blanco);
        margin-bottom: 1rem;
        font-size: 16px;
    }
    & a {
        color: #fff;
        &:hover {
            color: #d4d4d4;
        }
    }
        
    & .contenedor-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        font-weight: 300;
        @media (width < 768px) {
            grid-template-columns: 1fr;
        }
        
        & strong {font-weight: 300;}
        & .footer-excerpt {
            line-height: 24px;
        
            & a {
                color: #aaa;
                font-weight: 600;
                &:hover {
                    color: var(--blanco);
                }
            }
        }

        & .contenedor-contacto-footer {
            & .fa {
                padding-top: 5px;
            }

            & .contenido-mail a {
                display: block;
                font-weight: 300;
                color: #aaa;
                line-height: 25px;
                
                &:hover {
                    color: var(--blanco);
                }
            }
            
            & .contenido-contacto {
                display: flex;
                gap: 15px;
                
                & p {
                    margin: 0;
                }
            }
            & .contenido-mail {
                display: flex;
                gap: 10px;
            }
            & .dashicons {
                color:#aaa;
                line-height: 27px;
                font-size: 18px;
                
                &.dashicons-email {
                    line-height: 23px;
                }
            }
        }
    }
    & #copyright {
        margin-top: 25px;
        padding: 22px 0 0;
    }
  
}

#container {
    padding: 0 3rem 6rem;
    @media ( width > 768px ) {
        padding: 0 6rem 6rem;
    }
    

    & .header {
        border-bottom: 1px solid var(--gris);
        margin: 0 0 30px 0;
        overflow: hidden;
        position: relative;
        
        & #linea-title {
            text-indent: -9999px;
            height: 3px;
            width: 100px;
            display: block;
            background-color: var(--lila);
            position: absolute;
            bottom: -1px;
        }
        
        & h1.entry-title {
            padding: 30px 0 45px 0;
            font-size: 24px;
            line-height: 30px;
            font-weight: 300;
        } 
    }
}
/*** ABOUT ***/
.about,
.join-us {
    & .datos-contacto {
        background-color: #eaeaea;
        padding: 2rem;
        margin: 0 0 1rem 0;
        & p {
            margin-top: 0;
        }
        
        & .contenido-contacto span {
            margin-left: -3px
        }
        & .contenido-mail a {
            display: block;
        }
        & a:hover {
            opacity: .7;
        }
        & .redes-sociales ul {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            gap: 5px;
            margin-top: 2rem;
            
            & a {
                padding: 3px;
            }
            & .dashicons {
                font-size: 14px;
                color: #A0A0A0;
                vertical-align: middle;
            }
            & .fa-brands {
                font-size: 12px;
                color: #A0A0A0;
                vertical-align: middle;
                padding: 2px 4px
            }
            & a:hover .dashicons {
                color: #fff;
            }
            & a:hover .fa-brands {
                color: #fff;
            }
        }
    }
}
/*** WELCOME ***/
& .page-template-welcome {
    & #container ul li {
        margin-bottom: 5px;;
    }
    & #container ul li::before {
            content: "\f345";
            font-family: 'Dashicons';
            color: #fff;
            font-weight: 600;
            font-size: 11px;
            background-color: var(--lila);
            border-radius: 50%;
            height: 13px;
            width: 12px;
            position: relative;
            display: inline-block;
            margin-right: 7px;
            vertical-align: middle;
            line-height: 13px;
            text-align: center;
            margin-bottom: 3px;
            padding-left: 1px;
        }
    
    & .datos {
        padding: 1rem 0;
        border-bottom: 1px solid #ddd;
    
        & p { 
            margin: 0;
        }
    }
    & .info-redes {
        padding: 1.5rem 0;
        
        & div {
            display: flex;
            justify-content: flex-start;
            align-items: center;

            & a {
                margin-right: 8px;
                & .fa {
                    color: var(--negro);
                    font-size: 28px;
                    margin: 0 5px;
                }
            }
        }
        
        & img {
            width: 32px;
        }
        
        & *:hover  {
            opacity: .7;
        }
    }
}
/*** COMMITTEES ***/
.page-committees {
    & strong::before {
        content: "\f345";
            font-family: 'Dashicons';
            color: var(--negro);
            font-weight: 600;
            font-size: 17px;
            position: relative;
            display: inline-block;
            margin-right: 5px;
            vertical-align: middle;
        }
        & em {
            text-decoration: underline;
        }
        & strong { 
            margin-top: 1rem;
            display: block;
        }
}
/*** SCIENTIFIC ADVIDSOY BOARD ***/
#sab {

    border-top: 1px solid #ddd;
    padding: 2rem 0;
    
    & .member-item {
        margin-bottom: 10rem;
    }
    & h5 {
        border-bottom: 1px solid var(--gris);
        padding: 2rem 0 1rem;
    }
    & p {
        margin: 1rem 0 0;
        text-align: left;
        color: #707070;
    }
   
    & .members_country {
        padding: 0 1rem 0 0;
    }
}
/*** ANNUAL SCIENTIFIC REPORT ***/
.page-annual-scientific-report {

    & .contenedor-texto {
        padding: 3rem 0 1rem;
        border-bottom: 1px solid var(--gris);
    }     
    
    & .contenedor-image {
        max-width: 280px;
        position: relative;
        transition: all .3s ease-in-out;
        & img {
            display: block;
            vertical-align: bottom;
        }
        & a {
            display: block;
            transition: all 3s ease-in-out;
        }
     
        /*& a::after {
            content: '';
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5); 
            position: absolute;
            top: 0;
            left: 0;
            z-index: 9999;
            opacity: 0;
            transition: all .3s ease-in-out;
        }*/
        /*& a:hover::after {
            opacity: 1;
        }*/
    }
}

/*** PAGE INDUSTRY ***/
.page-industry {
    & .contenedor {
        margin-bottom: 10rem;;
    }
    h2 {
        font-size: 18px;
        font-weight: 600;
        padding: 4rem 0 2rem;
        margin-bottom: .5rem;
        border-bottom: 1px solid var(--gris);
    }
    & .grid {
        margin-top: 6rem;
    
            & .grid p {
            margin: 0;
            }
    }
    .macmon .grid {
            margin-top: 2rem;
            column-gap: 20px;
            row-gap: 46px;
            p {
                text-align: left;
                margin-top: 1rem
            }
        
        & a {
            position: relative;
            text-align: center;
        
        
            & img {
                width: 80%;
                text-align: center;
                vertical-align: middle;
            }
        }

        & span {
            font-weight: 600;
            color: #404040;
        }
    }
}

/*** Home ***/
.swiper {
    & .contenido-imagen {
        position: relative;
    }
    & .contenido-texto {
        position: absolute;
        width: 80%;
        height: 100%;
        top: 0;
        left: 0;
        padding: 2rem 2rem;
        background-color: rgba(102,35,131, .8);
        
        @media (width > 768px) {
            padding: 6rem 4rem;
            width: 40%;
        }
        & h2 {
            font-size: 20px;
            font-weight: 600;
            line-height: 28px;
            color: #fff;
            
            @media (width > 768px) {
                font-size: 45px;
                line-height: 48px;
            }
        }
        & p {
            color: #fff;
            text-align: left;
            @media (width < 768px) {
                font-size: 12px;
                line-height: 14px;
            }
        }

    }
}
.swiper {
    position: relative;
    & .contenido-imagen img {
        vertical-align: middle;
    }
  }
  .swiper-pagination {
    position: absolute;
    bottom: 10px; /* Ajusta según sea necesario */
    left: 10px; /* Ajusta según sea necesario */
    z-index: 10;
  }
  .swiper-button-next,
  .swiper-button-prev {
    position: absolute;
    bottom: 10px; 
    left: 92%; 
    top: 80%;
    z-index: 10;
  }
  @media only screen and (min-width:768px) {
    .swiper-button-next,
    .swiper-button-prev {
      position: absolute;
      bottom: 10px; 
      left: 95%; 
      top: 91%;
      z-index: 10;
    }
  }
  .swiper-button-next {
    right: 50px; 
  }
  .swiper-button-prev {
    left: 78%; 
  }
  @media only screen and (min-width:768px) {
    .swiper-button-prev {
        left: 91%; 
      }
  }
  .swiper-button-next:after, .swiper-rtl .swiper-button-next:after{
        content: 'next';
        color: #fff;
        background-color: #000;
        font-size: 18px;
        padding: 11px 17px;
        font-weight: 600;
} 
.swiper-button-prev:after, .swiper-rtl .swiper-button-prev:after {
        content: 'prev';
        color: #fff;
        background-color: #000;
        font-size: 18px;
        padding: 11px 17px;
        font-weight: 600;
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
    background-color: var(--lila);
}
/* Ocultar los controles de navegación y la paginación por defecto */
.swiper-button-next, 
.swiper-button-prev, 
.swiper-pagination {
  opacity: 0;
  pointer-events: none; 
  transition: opacity 0.3s ease; 
}

.swiper:hover .swiper-button-next, 
.swiper:hover .swiper-button-prev, 
.swiper:hover .swiper-pagination {
  opacity: 1; 
  pointer-events: auto; 
}

/* iconos */
.title-rayado {
    & h3 { 
            color: var(--lila);
            font-size: 18px;
            line-height: 34px;
            padding: 2rem 1rem 0rem 0;
            position: relative;
            display: block;
            width: fit-content;
            background-color: var(--blanco);
        }
    & hr {
        margin-top: -16px;
        border:0;
        height: 1px;
        background-color: var(--gris);
    }
    & .grid {
        margin-top: 4rem
    }
 }
 /* bloq items home */
 .grid.g-4.home {
    margin-top: 4rem;
    grid-column-gap: 13px;
  
    @media (width < 768px ) {
        margin-bottom: 4rem;
    }
    & .contenedor-grid-home {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: top;
        
        & .contenido-imagen {
            flex: 1 0 auto;
            margin-right: 10px;
        }
        & .contenido-texto {
            padding: 1rem 0 0;
            & h3 {
                font-size: 18px;
                color: var(--lila)
            }
            & p {
                text-align: left;
            }
            & a {
                font-weight: 600;
            }
        }
    }
}
/* news home */
.latest-post {
    @media ( width < 768px) {
        margin-bottom: 6rem;
    }
    a {
        position: relative;
    }
    
    & .post-thumbnail {
        width: 100%;
        height: 187px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        border: 1px solid #f1f1f1;
        margin-bottom: 1rem;
        position: relative;
        }
   
    & h5 {
        padding: 15px 0 10px;
        margin: 0 0 10px 0;
        border-bottom: 1px solid #e9e9e9;
    
        & a {
            color: var(--hx-border);
            
            &:hover {
                color: #707070;
            }
        }
    }
    & p {
        margin: 0;
    }
}
.funding-home {
    margin: 5rem 0 3rem;
    
    & img {
        margin: 0 auto;
    }
    @media (width < 768px) {    
        & .g-5 {
        grid-template-columns: 1fr 1fr;
        gap: 40px
        }
    }
}
 /*** Science slam ***/
 #science-slam {
    & .enlace-year-slam {
        margin-bottom: 20px;
        margin-top: -10px;
        & a {
            line-height: 24px;
            &:hover {
                opacity: .7;
            }
        }
    }
 }

 /*** Single ***/
 .blog , .entry-summary{
    article {
        border-bottom: 1px solid #e9e9e9;
        margin-bottom: 35px;
    }
    
    & h1.title {
        font-size: 24px;
        font-weight: 300;;
    }
 }
#comments {
    margin-top: 5rem;
    & label {
        display: block;
    }
    & textarea#comment {
        width: 90%;
        border: 1px solid #d8d8d8;
        height: 180px;
    }
}
 /*** Sidebar ***/
 #sidebar {
    & .title-rayado{
        margin-bottom: 30px;
    }
    & h4 {
        color: var(--hx-border);
        font-size:16px ;
        line-height: 34px;
        padding: 2rem 1rem 0rem 0;
        position: relative;
        display: block;
        width: fit-content;
        background-color: var(--blanco);
    }
    ul li {
        padding: 3px 0;
        
        &::before {
        content: "\f139";
        position: relative;
        font-family: "Dashicons";
        margin-left: 0;
        font-size: 15px;
        color: #ddd;
        margin-top: 3px;
        float: left;
        }
    }
    & a {
        color: #666;
        display: block;
        margin-left: 18px;
        &:hover {
            color: #888;
        }
    }
 }
/* Search form */

form#searchform {
    padding: 7px;
    border: 1px solid silver;
    background: url(images/search-ico-alt.png) no-repeat 5% 54%;
    
    #searchsubmit {
        background-color: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        font-size: 20px;
        padding-left: 30px;
        color: #888;
    }
    & .dashicons-search {
        font-size: 20px; 
        color: #333; 
    }
    & #searchsubmit:focus {
        outline: none;
    }
}
  
    & input {
        border: none
    }
    & input[type="text"] {
        padding-left: 10px;
        height: 30px;
        font-size: 14px;
        width: 84%;
        border: none;
        outline: none;
        color: #888;
        font-weight: 100;
        font-family: "Open Sans";
    }
   
/*** Research ***/
.research {
    & .title {
            text-transform: uppercase;
            margin-top: 50px;
            font-size: 17px;
    }
    & .contenedor {
        display: flex;
        margin-top: 2rem;
        gap: 2rem;
        flex-direction: row;
        @media ( width < 768px) {
            flex-direction: column;
        }
    
        & .descripcion {
            flex: 0 0 70%;
            text-align: justify;
            line-height: 24px;
            border-top: 1px solid #ddd;
            padding: 2rem 0
        }
        & span.ips {
            font-weight: 600;
        }
    }
}
/*** FAQS***/

.faqs {
    
    .faqs__content{
        margin: 0 auto;
        padding: 30px 0;
        list-style: none;
        display: grid;
        gap: 1rem;
    }
    
    .faqs__element{
        --color-titulo: var(--color-headings);
        --image-question: url("./images/icon-open.svg");
        --faqs-rows: 0fr;
        margin-bottom: 1rem;
        display: grid;
        grid-template-rows: max-content var(--faqs-rows);
        transition: grid-template-rows .3s;
    }
    
    .faqs__element:has(input:checked){
        --faqs-rows: 1fr;
        --image-question: url("./images/icon-close.svg");
    }
  
    .faqs__element:last-of-type{
        border-bottom: 0;
    }
    .faqs__element {
        & .faqs__label{
            color: var(--blanco);
            background-color: var(--negro);
            padding: 0 0 0 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 54px;
            overflow: hidden;
            font-size: clamp(14px, 2vw ,16px);
            cursor: pointer;
            position: relative;
            
            & p {
                margin: 0;
            }
            & h5 {
                color: #888;
                transition: all .3s ease-in-out;
            }
            &:hover h5 {
                color: var(--blanco);
            }
        }
        & input[type="radio"]:checked  + h3.faqs__question  h5 {
            color: var(--blanco);
        }
    }
    
    [id^="question"]{
        display: none;
    }
    
    .faqs__icon{
        display: block;
        width: 54px;
        height: 54px;
        background-size: cover;
        background-image: var(--image-question);
        background-color: var(--blanco);
        border: 1px solid silver;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 20px;
    
        transition: background-image .3s;
    }
    
    .faqs__answer{
        overflow: hidden;
        & ul {
            display: grid;
            flex-wrap: wrap;
            justify-content: flex-start;
            margin: 0;
            & li {
                flex: 0 0 calc(25% - 2rem);
                /*margin: 0 0 5rem;*/
                
            }
        }
        & ul.no-grid {
            display: block;
            margin: 0 ;
            & li {
               
                margin: 0;
                
            }
        }


        & h3 {
            color: var(--lila);
            margin-top: 1rem; 
            font-size: 18px;
            font-weight: 600;
        }
        & h2 {
            font-size: 24px;
            color: var(--hx-border);
        }
        & img {
            margin-top: 3rem;
            width: auto;
        }
        & table {
            width: 100%;
            margin-bottom: 30px;
            & th {
                padding: 10px 15px;
                text-align: left;
                vertical-align: top;
                font-size: 14px;
                font-weight: 800;
            }
            & td {
                padding: 10px 15px;
                border-style: solid;
               
                border: #e0e0e0 1px solid;
                border-width: 0 0 1px 0;
            }
        }
        & p:has(+ ol) {
            margin-bottom: 0;
            margin-top: 0;
          }
    }
    
    .faqs__answer::after, .faqs__answer::before{
        content: "";
        height: 1.5rem;
        display: block;
    }      
}
li.card {
    margin-bottom: 10rem;
    & .image-overlay-link {
        height: 212px;
    }
}
/* Ajustar el ancho de los colapsables anidados */
.faqs__answer .faqs {
    width: 100%;
    margin: 0;
    padding: 0;
}

.faqs__answer .faqs__content {
    padding: 20px 0;
    width: 100%;
}

.faqs__answer .faqs__element {
    width: 100%;
}

.faqs__answer .faqs__label {
    width: 100%;
}
.item-description {
    & h5 {
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    line-height: 16px;
    padding: 15px 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: 1px solid #e9e9e9;
    letter-spacing: 0;
    }
    & p {
        color: #707070;
        margin-bottom: 0;
    }
    & .teams-links {
        vertical-align: middle;
        & a:hover {
            opacity: .7
        }
    }
    & img.ico-web {
        margin-top: 1rem;
        width: 32px;
    }
    & a {
        color: #404040;
        transition: all .3 ease-in-out;
       
    }
    & i.fa.fa-envelope.mail {
        font-size: 3rem;
        margin-left: 3px;;
}
}
/*** Join us ***/
.join-us {
    & h2 {
        margin-top: 2rem;
    }
    & h2 + h2 {
        margin-top: 4rem;
    }
}

/*** People ***/
.page-people {
    & h3 {
        color: var(--lila);
        margin-bottom: 2rem;
        margin-top: 4rem;
    }
    & table, table.standard-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        border: none;
        margin-bottom: 15px;
        -webkit-box-shadow: 0px 1px 1px 0px rgba(180, 180, 180, 0.1);
        box-shadow: 0px 1px 1px 0px rgba(180, 180, 180, 0.1);
    }
    & th.col-name {
        width: 350px;
    }
    & th.col-research {
        width: 180px;
    }
    & th.col-email {
        width: 333px;
    }
    & th.col-room {
        width: 180px;
    }
    & table th, table.standard-table th {
        border: 1px solid #dddddd;
        border-right: none;
        background-color: #662383;
        text-align: left;
        padding: 10px 15px;
        color: #FAFAFA;
        vertical-align: top;
        font-size: 14px;
        font-weight: bold;
    }
    & table tr:nth-child(even) {
        background-color: #e5e5e0 !important; 
    }
    & table tr:hover {
        background-color: #fafafa !important;
    }
    & table td, table.standard-table td {
        padding: 10px 15px;
        border: #e0e0e0 1px solid;
        border-top: none;
        border-right: none;
        height: 60px;
    }
    & table td:last-child, table.standard-table td:last-child {
        border-right: 1px solid #ddd;
    }
    & span.phone-shorts {
        display: block;
        color: #7BA428;
    }

    /* Tablet (768–900px): columnas más estrechas, con scroll horizontal
       de respaldo dentro de .table-responsive-wrap si aún no caben */
    @media only screen and (min-width: 768px) and (max-width: 900px) {
        & th.col-name {
            width: 220px;
        }
        & th.col-research {
            width: 140px;
        }
        & th.col-email {
            width: 220px;
        }
        & th.col-room {
            width: 120px;
        }
    }

    /* Móvil (≤767px): la tabla deja de comportarse como tabla y cada fila
       pasa a ser una tarjeta, sin necesidad de scroll horizontal */
    @media only screen and (max-width: 767px) {
        & h3 {
            margin-top: 2.5rem;
            margin-bottom: 1rem;
        }
        & table, table.standard-table {
            display: block;
            width: 100%;
            border: none;
            box-shadow: none;
        }
        & thead {
            display: none;
        }
        & tbody {
            display: block;
            width: 100%;
        }
        & tr {
            display: block;
            width: 100%;
            margin-bottom: 1.5rem;
            border: 1px solid #ddd;
            border-radius: 4px;
            overflow: hidden;
        }
        & table td, table.standard-table td {
            display: block;
            width: 100%;
            height: auto;
            border: none;
            border-bottom: 1px solid #eee;
            padding: 10px 15px 10px calc(40% + 15px);
            position: relative;
            text-align: left;
        }
        & table td:last-child, table.standard-table td:last-child {
            border-bottom: none;
            border-right: none;
        }
        & table td[data-label]::before, table.standard-table td[data-label]::before {
            content: attr(data-label);
            position: absolute;
            left: 15px;
            top: 10px;
            width: calc(40% - 15px);
            font-weight: bold;
            font-size: 12px;
            color: var(--lila);
            white-space: normal;
        }
    }

}

/*** Single-irdgroups_teams **/
.single-irdgroups_teams {
    & .contact-team {
        grid-template-columns: 1fr;
        margin: 5rem 0 1rem;
        @media only screen and (min-width:768px) {
            grid-template-columns: 580px 44%;
        }
        & .lila * {
            color: var(--blanco);
        }
        & .lila {
            padding: 4rem 2rem;
            height: auto;
            & h2 {
                margin-bottom: 5px;
            }
            & p {
                margin: 0 0 5px 0;
                font-weight: bold;
            }
            & span {
                display: block;
                margin-bottom: 5px;
            }
            & a:hover {
                opacity: .8;
            } 
            
        }
        & img {
            height: 100%;
            width: 100%;
        }
      
        
    }
    .funding-projects-list.grid.g-2 { 
       
            gap: 8rem;
            & li {
                margin-bottom: 0;
                & p {
                    margin: 0px;
                }
            }
        } 
        
    & .gris {
        padding: 5px 20px;
        background-color: #eaeaea;
        margin-bottom: 4rem;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    } 

}
/*** Research teams ***/
.page-template-research-teams {
    & h3.research-group-title {
        color: var(--lila);
        margin-bottom: 2rem;
        margin-top: 4rem;
    }
}

/* Books Publication Styles */
.books-item {
    display: flex;
    margin-bottom: 20px;
    line-height: 1;
    gap: 20px;
    align-items: flex-start;
}

.books-content {
    flex: 1;
    padding-right: 20px;
    line-height: 1.4;
}

.books-title {
    font-weight: 300 !important;
}

.books-cover {
    width: 5%;
    flex-shrink: 0;
    margin-left: auto;
    text-align: right;
}

.books-cover img {
    margin-top: 0 !important;
    max-width: 100%;
    height: auto;
    cursor: pointer;
}

/* Ajustar el ancho de los colapsables anidados */
.faqs__answer .faqs {
    width: 100%;
    margin: 0;
    padding: 0;
}

.faqs__answer .faqs__content {
    padding: 20px 0;
    width: 100%;
}

.faqs__answer .faqs__element {
    width: 100%;
}

.faqs__answer .faqs__label {
    width: 100%;
}

/* Jobs Table Styles */
.jobs-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 20px 0;
}

.jobs-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.jobs-table thead {
    background-color: var(--lila);
    color: #fff;
}

.jobs-table th {
    padding: 15px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.jobs-table tbody tr {
    border-bottom: 1px solid #e0e0e0;
    transition: background-color 0.3s ease;
}

.jobs-table tbody tr:hover {
    background-color: #f5f5f5;
}

.jobs-table tbody tr:last-child {
    border-bottom: none;
}

.jobs-table td {
    padding: 15px;
    font-size: 14px;
    color: #333;
    vertical-align: top;
}

.jobs-table td[data-label="Brief description"] {
    max-width: 400px;
}

/* Estilos para el contenido HTML dentro de Brief Description */
.job-description-content {
    line-height: 1.6;
}

.job-description-content p {
    margin: 0 0 10px 0;
}

.job-description-content p:last-child {
    margin-bottom: 0;
}

.job-description-content ul,
.job-description-content ol {
    margin: 10px 0;
    padding-left: 20px;
}

.job-description-content li {
    margin-bottom: 5px;
}

.job-description-content strong,
.job-description-content b {
    font-weight: 600;
    color: #2c3e50;
}

.job-description-content em,
.job-description-content i {
    font-style: italic;
}

.job-description-content a {
    color: #3498db;
    text-decoration: underline;
}

.job-description-content a:hover {
    color: #2980b9;
}

.job-description-content h1,
.job-description-content h2,
.job-description-content h3,
.job-description-content h4,
.job-description-content h5,
.job-description-content h6 {
    margin: 10px 0 5px 0;
    font-weight: 600;
    color: #2c3e50;
}

.jobs-table a {
    color: #3498db;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.jobs-table a:hover {
    color: #2980b9;
    text-decoration: underline;
}

/* Responsive: Mobile view */
@media screen and (max-width: 768px) {
    .jobs-table thead {
        display: none;
    }
    
    .jobs-table tbody tr {
        display: block;
        margin-bottom: 20px;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    .jobs-table tbody tr:hover {
        background-color: #fff;
    }
    
    .jobs-table td {
        display: block;
        text-align: left;
        padding: 12px 15px;
        border-bottom: 1px solid #f0f0f0;
        position: relative;
        padding-left: 45%;
    }
    
    .jobs-table td:last-child {
        border-bottom: none;
    }
    
    .jobs-table td:before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        top: 12px;
        font-weight: 600;
        color: #2c3e50;
        text-transform: uppercase;
        font-size: 12px;
    }
    
    .jobs-table td[data-label="Brief description"] {
        max-width: 100%;
        padding-top: 35px;
        padding-left: 15px;
    }
    
    .jobs-table td[data-label="Brief description"]:before {
        top: 12px;
    }
}

@media screen and (max-width: 480px) {
    .jobs-table td {
        padding-left: 50%;
        font-size: 13px;
    }
    
    .jobs-table td[data-label="Brief description"] {
        padding-left: 15px;
    }
}

/* Keywords Table Styles */
.keywords-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin: 2rem 0;
}

.keyword-item {
    padding: 1.5rem;
    /*background: #f9f9f9;
    border: 1px solid #e0e0e0;*/
}

.keyword-item strong {
    font-size: 16px;
    color: #333;
}

.keyword-item hr {
    margin: 0.5rem 0;
    border: none;
    border-top: 1px solid #e0e0e0;
}

.keyword-item p {
    margin: 0.5rem 0 0;
    color: #707070;
    font-size: 14px;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 1024px) {
    .keywords-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .keywords-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    .keywords-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* Estilos específicos para alumni */
.alumni-collapsible-wrapper {
    margin: 30px 0;
}

.alumni-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.alumni-item {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e9e9e9;
}

.alumni-item:last-child {
    border-bottom: none;
}

.alumni-card {
    position: relative;
}

.alumni-name {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-bottom: 0.75rem;
}

.alumni-description {
    color: #707070;
    line-height: 1.6;
    font-size: 14px;
}

.no-alumni-message {
    text-align: center;
    padding: 3rem;
    color: #999;
    background: #f9f9f9;
    border-radius: 4px;
}

[id^="alumni-section-"] {
    display: none;
}

/* Asegurar compatibilidad con colapsable.css */
color: var(--blanco, #fff);
.faqs__element input[type="radio"]:checked + .faqs__label h5 {
}

/* Responsive */
@media (max-width: 768px) {
    .alumni-item {
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
    }
    
    .alumni-name {
        font-size: 15px;
    }
    
    .alumni-description {
        font-size: 13px;
    }
}

/* Industry Grid Styles */
.industry-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 20px;
    margin: 20px 0;
}

.industry-item {
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    text-align: center;
}

.industry-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.industry-item a {
    text-decoration: none;
    color: inherit;
    display: block;
}

.industry-logo {
    margin-bottom: 15px;
}

.industry-logo img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.industry-location {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.industry-location strong {
    color: #333;
    display: block;
    margin-bottom: 5px;
}

/* Industry Grid Responsive */
@media (max-width: 1400px) {
    .industry-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 1024px) {
    .industry-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .industry-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }
}

@media (max-width: 576px) {
    .industry-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .industry-item {
        padding: 10px;
    }
}

@media (max-width: 400px) {
    .industry-grid {
        grid-template-columns: 1fr;
    }
}

/* Thesis Item Styles */
.thesis-item {
    padding: 15px 0;
    line-height: 1.8;
}

.thesis-item strong {
    color: #333;
    font-weight: 600;
}

/* Ajustes específicos para thesis dentro de colapsables */
.faqs__answer .thesis-item {
    padding: 10px 0;
}

.faqs__answer hr {
    margin: 10px 0;
    border: none;
    border-top: 1px solid #e9e9e9;
}

.faqs__answer hr:last-child {
    display: none;
}

/* Scientific Advisory Board Styles */

/* Member item container */
#sab .member-item {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#sab .member-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Member photo */
.member-photo {
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 4px;
}

.member-photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.member-item:hover .member-photo img {
    transform: scale(1.05);
}

/* Member name */
.name_member h5 {
    font-size: 18px;
    font-weight: 600;
    color: #404040;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

/* Member details */
.members_country {
    font-size: 14px;
    color: #707070;
    line-height: 1.6;
}

.members_country p {
    margin: 0 0 10px 0;
    text-align: left;
}

.members_country p:last-child {
    margin-bottom: 0;
}

.members_country strong {
    color: #404040;
    font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #sab .member-item {
        padding: 15px;
    }
    
    .name_member h5 {
        font-size: 16px;
    }
    
    .members_country {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    #sab .member-item {
        padding: 12px;
    }
    
    .member-photo {
        margin-bottom: 12px;
    }
}

/* ========================================
   PÁGINA DE NOTICIAS - ESTILOS
   ======================================== */

/* Contenedor principal */
.news-page-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.news-content-wrapper {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
    align-items: start;
}

/* ========================================
   CONTENIDO PRINCIPAL
   ======================================== */

.news-main-content {
    width: 100%;
}

.page-header {
    margin-bottom: 30px;
}

.page-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px 0;
    border-bottom: 3px solid var(--lila);
    padding-bottom: 10px;
}

/* Filtro de categorías */
.category-filter {
    background: #f5f5f5;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 30px;
}

.category-selector {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.category-selector label {
    font-size: 16px;
    color: #333;
}

.category-selector select {
    flex: 1;
    min-width: 200px;
    padding: 10px 15px;
    font-size: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.category-selector select:hover,
.category-selector select:focus {
    border-color: var(--lila);
    outline: none;
}

/* Información de categoría actual */
.current-category-info {
    background: #e8f4f8;
    padding: 20px;
    border-left: 4px solid var(--lila);
    margin-bottom: 30px;
}

.current-category-info h2 {
    font-size: 22px;
    color: var(--lila);
    margin: 0 0 10px 0;
}

.category-description {
    color: #555;
    margin: 0;
    line-height: 1.6;
}

/* Contador de noticias */
.news-count {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #eee;
}

.news-count p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

/* ========================================
   LISTADO DE NOTICIAS
   ======================================== */

.news-items {
    display: grid;
    gap: 30px;
}

.news-item {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 25px;
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.news-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: var(--lila);
}

/* Miniatura */
.news-thumbnail {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #f5f5f5;
}

.news-thumbnail a {
    display: block;
    height: 100%;
    width: 100%;
}

.news-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* Aspect ratios específicos detectados automáticamente */
.news-thumbnail.ratio-4-3 {
    aspect-ratio: 4 / 3;
}

.news-thumbnail.ratio-16-9 {
    aspect-ratio: 16 / 9;
}

.news-thumbnail.ratio-3-2 {
    aspect-ratio: 3 / 2;
}

.news-thumbnail.ratio-1-1 {
    aspect-ratio: 1 / 1;
}

.news-thumbnail.ratio-3-4 {
    aspect-ratio: 3 / 4;
}

.news-item:hover .news-thumbnail img {
    transform: scale(1.05);
}

/* Contenido de la noticia */
.news-content {
    padding: 20px 20px 20px 0;
    display: flex;
    flex-direction: column;
}

.news-header {
    margin-bottom: 15px;
}

.news-title {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.news-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-title a:hover {
    color: var(--lila);
}

/* Meta información */
.news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

.news-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.news-meta i {
    color: var(--lila);
}

.news-meta a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-meta a:hover {
    color: var(--lila);
}

/* Extracto */
.news-excerpt {
    flex: 1;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.news-excerpt p {
    margin: 0;
}

/* Footer de la noticia */
.news-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

.read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--lila);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.read-more:hover {
    background: var(--lila);
    opacity: 0.85;
    gap: 12px;
}

.news-comments {
    font-size: 13px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Sin noticias */
.no-news-message {
    background: #f9f9f9;
    border: 2px dashed #ddd;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
}

.no-news-message p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

/* ========================================
   PAGINACIÓN
   ======================================== */

.news-pagination {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid #eee;
}

.news-pagination .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 5px;
    margin: 0;
}

.news-pagination .page-numbers li {
    display: inline-block;
}

.news-pagination a,
.news-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.news-pagination a:hover {
    background: var(--lila);
    color: white;
    border-color: var(--lila);
}

.news-pagination .current {
    background: var(--lila);
    color: white;
    border-color: var(--lila);
}

.news-pagination .dots {
    border: none;
    background: transparent;
}

/* ========================================
   SIDEBAR - WIDGETS
   ======================================== */

.news-sidebar {
    position: sticky;
    top: 20px;
}

.widget {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.widget:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.widget-title {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--lila);
}

/* Widget de búsqueda */
.search-form-wrapper {
    position: relative;
    display: flex;
}

.search-field {
    flex: 1;
    padding: 12px 50px 12px 15px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.search-field:focus {
    outline: none;
    border-color: var(--lila);
    box-shadow: 0 0 0 3px rgba(var(--lila-rgb, 115, 70, 165), 0.1);
}

.search-submit {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 45px;
    background: var(--lila);
    border: none;
    border-radius: 0 4px 4px 0;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.search-submit:hover {
    background: var(--lila);
    opacity: 0.85;
}

.screen-reader-text {
    position: absolute;
    left: -9999px;
}

/* Widget de últimas noticias */
.recent-posts-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recent-post-item {
    display: flex;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.recent-post-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.recent-post-item:first-child {
    padding-top: 0;
}

.recent-post-thumb {
    flex-shrink: 0;
    width: 80px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 4px;
    background: #f5f5f5;
}

.recent-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

/* Aspect ratios específicos para widgets */
.recent-post-thumb.ratio-4-3 {
    aspect-ratio: 4 / 3;
}

.recent-post-thumb.ratio-16-9 {
    aspect-ratio: 16 / 9;
}

.recent-post-thumb.ratio-3-2 {
    aspect-ratio: 3 / 2;
}

.recent-post-thumb.ratio-1-1 {
    aspect-ratio: 1 / 1;
}

.recent-post-thumb.ratio-3-4 {
    aspect-ratio: 3 / 4;
}

.recent-post-item:hover .recent-post-thumb img {
    transform: scale(1.1);
}

.recent-post-content {
    flex: 1;
}

.recent-post-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 5px 0;
    line-height: 1.4;
}

.recent-post-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.recent-post-title a:hover {
    color: var(--lila);
}

.recent-post-date {
    font-size: 12px;
    color: #999;
}

/* Widget de archivo */
.archive-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.archive-list li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.archive-list li:last-child {
    border-bottom: none;
}

.archive-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #555;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}

.archive-list a:hover {
    color: var(--lila);
    padding-left: 5px;
}

/* Widget de categorías */
.categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-item {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.category-item:last-child {
    border-bottom: none;
}

.category-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #555;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
}

.category-item a:hover {
    color: var(--lila);
    padding-left: 5px;
}

.category-count {
    color: #999;
    font-size: 12px;
}

/* Widget de tags */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-link {
    display: inline-block;
    padding: 6px 12px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #555;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.3s ease;
}

.tag-link:hover {
    background: var(--lila);
    color: white;
    border-color: var(--lila);
}

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

/* Tablets */
@media only screen and (max-width: 992px) {
    .news-content-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .news-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .news-item {
        grid-template-columns: 200px 1fr;
        gap: 20px;
    }
}

/* Móviles */
@media only screen and (max-width: 768px) {
    .news-page-container {
        padding: 20px 15px;
    }
    
    .page-title {
        font-size: 26px;
    }
    
    .category-selector {
        flex-direction: column;
        align-items: stretch;
    }
    
    .category-selector select {
        width: 100%;
    }
    
    .news-item {
        grid-template-columns: 1fr;
    }
    
    .news-thumbnail {
        width: 100%;
        aspect-ratio: 16 / 9;
    }
    
    .news-content {
        padding: 15px;
    }
    
    .news-title {
        font-size: 18px;
    }
    
    .news-meta {
        flex-direction: column;
        gap: 8px;
    }
    
    .news-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .news-sidebar {
        grid-template-columns: 1fr;
    }
    
    .widget {
        padding: 20px;
    }
}

@media only screen and (max-width: 480px) {
    .page-title {
        font-size: 22px;
    }
    
    .news-pagination a,
    .news-pagination span {
        min-width: 35px;
        height: 35px;
        font-size: 13px;
    }
}

/* ========================================
   CONFERENCES
   ======================================== */

.event-thumbnail-wrap img.event-thumbnail {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 1rem;
}

.event-item {
    margin-top: 3rem !important;
}

.event-item h3 {
    font-size: 20px !important;
}

/* ========================================
   IQCC CHALLENGES
   ======================================== */


.event-item__inner {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}
.event-item__info {
    flex: 1;
}
.event-item__info p {
    margin: 0 0 0.4rem;
}
.event-item__thumbnail {
    flex: 0 0 auto;
}
.event-item__thumbnail img {
    margin-top: 0 !important;
    width: 100%;
    height: auto;
    display: block;
}
@media (max-width: 600px) {
    .event-item__inner {
        flex-direction: column;
    }
    .event-item__thumbnail {
        width: 100%;
    }
}

/* ========================================
   COLLABORATORS ITEM (lista del mapa de afiliaciones)
   Variante de .thesis-item SIN paddings.
   Pegar en el style.css del tema.
   ======================================== */
 
.collaborators-item {
    margin: 0;
    padding: 0;
    line-height: 1.8;
}
 
.collaborators-item strong {
    color: #333;
    font-weight: 600;
}
 
/* Asegurar que dentro de los colapsables tampoco reciba padding */
.faqs__answer .collaborators-item {
    padding: 0;
}