/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada 
*/

@import url("blockgallery.min.css");

/* VARIABLES REUTILIZABLES  */

:root{
    --color-primario: #B9004E;
    --color-secundario: #ae004e;
    --color-enlace: #fbc210;
    --color-negro: #000000;
    --color-blanco: #ffffff;
    --color-gris: #fafafa;
    --radio-botones: .5rem;
}

.boton a{
    background-color: var(--color-primario) !important;
    color: var(--color-blanco) !important;
    border-radius: var(--radio-botones) !important;
    padding: 10px 20px !important;
    border: 0px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.texto a{
    color: var(--color-primario) !important;
    text-decoration: underline !important;
}

.politica {
    max-width: 700px;
    margin: auto;
    padding-top: 20px;
    padding-bottom: 20px;
}

.politica h3{
    font-size: 20px !important;
    margin-top: 10px !important;
}
/* HEADER */

header{
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 0px;
    background-color: var(--color-blanco) !important;
    transition: all 0.3s ease-in-out !important;
}

header.scrolled{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important; 
}

.fusion-logo img{
    width: 220px !important;
}

.fusion-header {
    padding: 20px 0px !important;
    position: relative !important;
    z-index: 99999 !important;
}

.fusion-header .fusion-row{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.fusion-header .fusion-row::after,
.fusion-header .fusion-row::before,
.fusion-header .fusion-clearfix{
    display: none !important;
}

.fusion-header .fusion-menu .sub-menu{
    border-radius: var(--radio-botones);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
}

.menu-text{
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
}

.boton-sede-electronica>a{
    border-radius: var(--radio-botones);
    padding: 0px 20px;
    color: var(--color-blanco) !important;
    background-color: var(--color-primario) !important;
}

.boton-sede-electronica>a:hover{
    background-color: var(--color-secundario) !important;
}

.fusion-header .fusion-dropdown-menu .fusion-caret{
    transition: all 0.3s ease-in-out !important;
}

.fusion-header .fusion-dropdown-menu:hover .fusion-caret{
    transform: rotate(180deg);
}

.adhoc-menu{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: right;
    gap: 10px;
}

/* CONTENEDOR GENERAL DEL MENÚ SECUNDARIO */
.bg-menu-secundario-adhoc {
    background-color: #f5f5f5;
    border-top: 1px solid #e4e4e4;
    border-bottom: 1px solid #e4e4e4;
    font-size: 14px;
    z-index: 20;
    position: relative;
    overflow: visible;
}

/* CONTENEDOR CON SCROLL HORIZONTAL */
.menu-secundario-shell {
    max-width: var(--site_width);
    margin: 0 auto;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    position: relative !important;
    scroll-behavior: smooth;
}

/* Indicador visual de que hay más contenido (degradado sutil) */
.bg-menu-secundario-adhoc.has-overflow::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60px;
    background: linear-gradient(to left, #f5f5f5, transparent);
    pointer-events: none;
    opacity: 0.8;
    z-index: 50;
}

.bg-menu-secundario-adhoc.has-overflow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 60px;
    background: linear-gradient(to right, #f5f5f5, transparent);
    pointer-events: none;
    opacity: 0.8;
    z-index: 50;
}

/* PISTA DESLIZABLE */
.menu-secundario-scroller {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    padding: 12px 0px;
}

/* ENLACES Y TRIGGERS */
.menu-secundario-scroller a,
.menu-secundario-scroller .item-trigger-sub {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    text-decoration: none;
    color: var(--color-primario);
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    line-height: 13px;
    transition: all 0.3s ease;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 4px;
    border: 1px solid rgba(185, 0, 78, 0.15);
}

.menu-secundario-scroller a:hover,
.menu-secundario-scroller .item-trigger-sub:hover,
.menu-secundario-scroller .item-trigger-sub:focus {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(185, 0, 78, 0.3);
    transform: translateY(-1px);
}

/* Indicador visual para items con submenú */
.menu-secundario-scroller .item-trigger-sub {
    background: rgba(185, 0, 78, 0.08);
    border: 1px solid rgba(185, 0, 78, 0.25);
    font-weight: 600;
}

.menu-secundario-scroller .item-trigger-sub:hover {
    background: rgba(185, 0, 78, 0.15);
}

/* Item activo del menú secundario */
.menu-secundario-scroller a.is-active,
.menu-secundario-scroller .item-trigger-sub.is-active {
    background-color: var(--color-primario);
    color: var(--color-blanco) !important;
    border-color: var(--color-primario);
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(185, 0, 78, 0.25);
}

/* ETIQUETA DEL TRIGGER (para poder meter iconito si quieres) */
.item-trigger-sub .trigger-label {
    margin: 0;
    line-height: 13px;
    font-size: 13px;
}

/* Estilo general del trigger */
.item-trigger-sub {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding-right: 24px; /* espacio para la flecha */
}

/* La flechita básica */
.item-trigger-sub::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    position: absolute;
    right: 8px;
    top: 50%;
    transform-origin: center;
    margin-top: -3px;
}

/* Cuando el dropdown está abierto, la flecha rota hacia arriba */
.item-trigger-sub.is-open::after {
    transform: rotate(-135deg);
    margin-top: 1px;
}

/* Flecha más visible cuando está activo */
.item-trigger-sub.is-active::after {
    border-color: var(--color-blanco);
}


/* CONTENEDOR DE OVERLAYS (fuera del shell para que no se corte con overflow) */
.menu-secundario-overlays {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    pointer-events: none;
}

/* PANEL DEL SUBMENÚ */
.submenu-panel {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 8px;
    min-width: 240px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    padding: 10px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 200;
}

/* LINKS DEL SUBMENÚ */
.submenu-panel a {
    display: block;
    padding: 8px 16px;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    white-space: normal;
    font-weight: 500;
    transition: all 0.2s ease;
    background: transparent;
    border: none;
}

.submenu-panel a:hover {
    background: var(--color-primario);
    color: var(--color-blanco);
    transform: translateX(4px);
}

/* ESTADO ABIERTO */
.submenu-panel.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* Barra de scroll personalizada - OCULTA POR DEFECTO EN PC */
.menu-secundario-shell::-webkit-scrollbar {
    height: 0px;
    display: none;
}
.menu-secundario-shell::-webkit-scrollbar-track {
    background: transparent;
}
.menu-secundario-shell::-webkit-scrollbar-thumb {
    background: transparent;
}
.menu-secundario-shell::-webkit-scrollbar-thumb:hover {
    background: transparent;
}

/* Scrollbar para Firefox - Oculta en PC */
.menu-secundario-shell {
    scrollbar-width: none;
}

/* FLECHA DEL SUBMENÚ */
.submenu-panel::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 20px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #ffffff;
    z-index: 2;
}

.submenu-panel::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 18px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid rgba(0,0,0,0.1);
    z-index: 1;
}


/* FLECHAS INTERNAS + FADE */
.menu-sec-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50px;
    border: none;
    padding: 0;
    display: none; /* Se activa con .is-visible */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: transparent;
    z-index: 40; /* Dentro del shell pero sobre los items */
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

/* Izquierda */
.menu-sec-arrow-left {
    left: 0;
    padding-left: 8px;
    background: linear-gradient(
        to right,
        rgba(245, 245, 245, 0.98) 0%,
        rgba(245, 245, 245, 0.85) 60%,
        transparent 100%
    );
}

/* Derecha */
.menu-sec-arrow-right {
    right: 0;
    padding-right: 8px;
    background: linear-gradient(
        to left,
        rgba(245, 245, 245, 0.98) 0%,
        rgba(245, 245, 245, 0.85) 60%,
        transparent 100%
    );
}

/* Icono interno */
.menu-sec-arrow-icon {
    font-size: 24px;
    color: var(--color-primario);
    pointer-events: none;
    font-weight: bold;
    text-shadow: 0 0 3px rgba(255,255,255,0.8);
}

.menu-sec-arrow:hover .menu-sec-arrow-icon {
    color: var(--color-secundario);
}

.menu-sec-arrow:active .menu-sec-arrow-icon {
    transform: scale(0.9);
}

/* Mostrar flechas */
.menu-sec-arrow.is-visible {
    display: flex;
}


/* BODY */

.intro-banner{
    background: radial-gradient(circle, #f6f6f6 10%, transparent 11%);
    background-size: 2em 2em;
    background-color: #ffffff;
    opacity: 1;
    padding: 60px 0px;
    position: relative;
}

.intro-banner .texto{
    position: relative;
    z-index: 2;
}

.intro-banner .texto h1{
    margin-bottom: 10px !important;
    font-size: 60px !important;
}

.intro-banner::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #FFFFFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    height: 30%;
    z-index: 1;
    pointer-events: none;
}

.intro-banner::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #FFFFFF;
    background: linear-gradient(0deg, #fafafa 0%, rgba(255, 255, 255, 0) 100%);
    height: 30%;
    z-index: 1;
    pointer-events: none;
}

.intro-banner .texto{
    width: 60% !important;
    margin: auto !important;
}

.carrusel-inicio .wpb_single_image{
  margin: 0px !important;
}

.carrusel-movil{
    display: none !important;
}

.grid-intro-cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    padding-top: 10px;
    padding-bottom: 80px;
}

.grid-grupos-de-trabajo{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 35px;
    padding-top: 10px;
    padding-bottom: 80px;
}

.grid-intro-cards::after, .grid-intro-cards::before,
.grid-el-colegio::after, .grid-el-colegio::before,
.grid-grupos-de-trabajo::after, .grid-grupos-de-trabajo::before{
    display: none !important;
}

.grid-intro-cards .wpb_column,
.grid-el-colegio .wpb_column,
.grid-grupos-de-trabajo .wpb_column{
    width: 100% !important;
}

.grid-intro-cards img,
.grid-grupos-de-trabajo img{
    width: 60px;
}

.grid-intro-cards .wpb_single_image,
.grid-grupos-de-trabajo .wpb_single_image{
    margin-bottom: 20px !important;
}

.grid-intro-cards h2,
.grid-grupos-de-trabajo h2{
    font-size: 25px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

.grid-intro-cards .vc_column-inner,
.grid-grupos-de-trabajo .vc_column-inner{
    background-color: var(--color-blanco) !important;
    padding: 20px;
	border: 1px solid var(--color-primario);
    border-radius: var(--radio-botones);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important; 
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
}

.grid-intro-cards .vc_column-inner:hover,
.grid-grupos-de-trabajo .vc_column-inner:hover{
    top: -5px !important;
}

.grid-accesos-rapidos{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.grid-accesos-rapidos a>div{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 30px 20px;
    background-color: var(--color-blanco);
    border-radius: var(--radio-botones);
    background-color: var(--color-secundario);
    transition: all 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
}

.grid-accesos-rapidos a>div img{
    width: 40px;
    background-color: var(--color-enlace);
    padding: 8px;
    position: absolute;
    top: 0;
    left: 0;
    border-bottom-right-radius: var(--radio-botones);
}

.grid-accesos-rapidos a>div p{
    color: var(--color-blanco) !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    letter-spacing: 3px;
	margin-bottom: 0px !important;
}

.grid-categorias-convenios.grid-accesos-rapidos {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}

.grid-categorias-convenios.grid-accesos-rapidos > a {
	width: 300px;
}

.grid-bannerconvenio {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}

.grid-bannerconvenio > .item-bannerconvenio {
	max-width: 650px;
	position: relative;
}

.grid-bannerconvenio > .item-bannerconvenio .titulointerior-bannerconvenio {
	position: absolute;
    top: 10%;
    left: 0%;
    padding: 20px;
    background: rgba(0, 0, 0, 0.75);
	border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    max-width: 80%;
	color: #fff !important;
}

.grid-bannerconvenio > .item-bannerconvenio img {
	max-height: 300px;
	object-fit: cover;
	object-position: center;
}

.banner-podcast{
    padding: 50px 0px;
    background-size: cover !important;
    background-position: center right !important;
}

.banner-podcast .texto h2, .banner-podcast .texto p{
    color: var(--color-blanco) !important;
}

.banner-podcast .texto{
    width: 50% !important;
    margin: auto !important;
    margin-bottom: 40px !important;
}

.banner-podcast .boton a{
    background-color: var(--color-blanco) !important;
    color: var(--color-primario) !important;
    padding: 10px 50px !important;
}

.fila-medicina-sevillana img{
    width: 90% !important;
}


.grid-el-colegio{
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important; 
    gap: 35px;
    padding-top: 10px !important;
    padding-bottom: 45px !important;
}


.grid-el-colegio .wpb_single_image{
    margin-bottom: 20px !important;
}

.grid-el-colegio h2{
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

.grid-el-colegio .vc_column-inner{
    background-color: var(--color-blanco) !important;
    padding: 20px;
	border: 1px solid var(--color-primario);
    border-radius: var(--radio-botones);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
}

.grid-el-colegio .vc_column-inner:hover{
    top: -5px !important;
}


.grid-el-colegio img{
    width: 60px !important;
}

.resena-historica{
    padding: 45px 0px !important;
}

.resena-sticky{
    position: sticky !important;
    top: 200px !important;
    left: 0px !important;
}

.timeline{
    padding-left: 20px;
}

.timeline-line {
    position: relative;
    display: flex;
    flex-direction: column;
    border-top: 0px solid #eee;
    border-left: 2px solid #eee;
    padding-top: 40px;
}

.timeline-event{
    padding-left: 20px;
    padding-bottom: 30px !important;
    position: relative;
}

.timeline-event .dot{
    width: 14px;
    height: 14px;
    background-color: var(--color-primario);
    border-radius: 50%;
    position: absolute;
    left: -7px;
    top: 5px;
}

.timeline-event .year{
    color: var(--color-secundario) !important;
}

.timeline .dot.current-dot{
    animation: pulse-dot 2s infinite !important;
}

.timeline-event h3{
    font-size: 20px !important;
    margin-bottom: 10px !important;
}


@keyframes pulse-dot {
    0% {
      box-shadow: 0 0 0 0 #ae004e76;
    }
    70% {
      box-shadow: 0 0 0 12px #ae004e00;
    }
    100% {
      box-shadow: 0 0 0 0 #ae004e00;
    }
  }
  

.timeline-event .year {
    font-weight: bold;
    text-align: left;
    margin-bottom: 10px;
}

.grid-equipo{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 25px !important; 
    padding-bottom: 25px !important;
}

.grid-cinco{
    grid-template-columns: repeat(5, 1fr) !important;
}

.grid-equipo .wpb_column{
    width: 100% !important;
}

.grid-equipo::after, .grid-equipo::before{
    display: none !important;
}

.grid-equipo .vc_column-inner{
    overflow: hidden !important;
    padding: 0px !important;
    background-color: var(--color-blanco) !important;
    border-radius: var(--radio-botones) !important;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
}

.grid-equipo figure, .grid-equipo figure>div{
    width: 100% !important;
}
.grid-equipo img{
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    object-position: top center !important;
}

.grid-equipo .wpb_single_image{
    margin-bottom: 0px !important;
}

.grid-equipo .texto{
    padding: 15px 20px !important;
    margin-bottom: 0px !important;
}

.grid-equipo .texto p:first-child{
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
    line-height: 1.2rem !important;
}

.grid-equipo .texto p:nth-child(2){
    font-size: 14px !important;
    color: var(--color-primario) !important;
    margin-bottom: 0px !important;
}

.grid-equipo em{
    padding-top: 5px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

.grid-comision{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 35px !important; 
    padding-top: 40px !important;
    padding-bottom: 25px !important;
}

.grid-comision .wpb_single_image img{
    width: 40px !important;
}

.grid-comision::after,
.grid-comision::before{
    display: none !important;
}

.grid-comision .vc_column-inner {
    background-color: var(--color-blanco) !important;
    border-radius: var(--radio-botones) !important;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
    padding: 20px !important;
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
    position: relative;
    top: 0px;
}

.grid-comision .wpb_single_image{
    position: absolute;
    top: -20px;
    left: -20px;
    background-color: var(--color-blanco) !important;
    padding: 20px !important;
    border-radius: 100px !important;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;

}

.grid-comision .wpb_column{
    width: 100% !important;
}

.grid-comision .texto{
    padding-top: 50px !important;
    padding-bottom: 15px !important;
    margin-bottom: 0px !important;
}

.grid-comision .texto p{
    font-size: 15px !important;
}

.grid-equipo-comision{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 25px !important;
    padding-bottom: 25px !important;
}

.grid-equipo-comision::after, .grid-equipo-comision::before{
    display: none !important;
}

.grid-equipo-comision .wpb_column{
    width: 100% !important;
}

.grid-equipo-comision .vc_column-inner{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
    border-radius: var(--radio-botones) !important;
    padding: 20px !important;
}

.grid-equipo-comision .vc_column-inner>.wpb_wrapper{
    display: grid !important;
    grid-template-columns: 1.2fr 2fr !important;
    align-items: center !important;
}

.grid-equipo-comision figure,
.grid-equipo-comision figure>div{
    width: fit-content !important;
}

.grid-equipo-comision .wpb_single_image{
    margin: 0px !important;
    width: fit-content !important;
}

.grid-equipo-comision img{
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 100px !important;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
}

.grid-equipo-comision .texto{
    margin: 0px !important;
}

.grid-equipo-comision .texto p:first-child{
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
    color: var(--color-primario) !important;
    line-height: 1.2rem !important;
}

.grid-equipo-comision .texto p:nth-child(2){
    font-size: 14px !important;
    margin-bottom: 10px !important;
}

.grid-equipo-comision .texto a {
    margin: 0px !important;
    font-size: 14px !important;
    color: var(--color-primario) !important;
    text-decoration: underline !important;
}

.grid-enlaces .wpb_column, .grid-enlaces .vc_column-inner{
    width: fit-content !important;
    height: fit-content !important;
}

.grid-enlaces-interiores{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.grid-enlaces-interiores a{
    background-color: var(--color-secundario);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: var(--radio-botones);
}

.grid-enlaces-interiores img{
    width: 20px;
}

.grid-enlaces-interiores p{
    color: var(--color-blanco) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    margin: 0px !important;
    letter-spacing: 3px !important;
    text-align: center !important;
}

/* Shortcode anuario */

.anuarios-listado{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 10px;
}

.anuarios-listado .anuario-item{
    overflow: hidden;
    border-radius: var(--radio-botones);
}

@media (max-width: 600px) {
	.anuarios-listado{ grid-template-columns: repeat(1, 1fr); }
}

/* Ciudadanos */


.grid-de-cuatro{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 35px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.grid-de-cuatro::after, .grid-de-cuatro::before{
    display: none !important;
}

.grid-de-cuatro .vc_column-inner{
    background-color: var(--color-blanco) !important;
    padding: 20px;
	border: 1px solid var(--color-primario);
    border-radius: var(--radio-botones);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important; 
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
}

.grid-de-cuatro .vc_column-inner:hover{
    top: -5px !important;
}

.grid-de-cuatro .wpb_column{
    width: 100% !important;
}

.grid-de-cuatro img{
    width: 60px;
}

.grid-de-cuatro h2{
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

.grid-de-cuatro p{
    line-height: 1.4 !important;
    font-size: 14px !important;
}

/* Boletín Digital */

.bd-wrap{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bd-icon {
    background-color: var(--color-secundario);
    border-radius: 5px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    padding: 10px;
    width: fit-content;
    display: flex;
}
.bd-icon img{
    width: 20px;
}

.bd-item a{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
    border-radius: 5px;
    user-select: none;
}
.bd-item h3{
    font-weight: 500 !important;
    font-size: 16px !important;
}

/* Galería videos grupo medicina privada */

.adhoc-video-playlist .main-video iframe {
    width: 100%;
    height: 500px;
}

.adhoc-video-playlist .video-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    overflow-x: auto;
}

.adhoc-video-playlist .thumb {
    cursor: pointer;
    flex: 0 0 auto;
}

.adhoc-video-playlist .thumb img {
    width: 160px;
    border-radius: 6px;
}

/* Search Bar */

.adhoc-search-icon-btn {
    left: 2rem !important;
}
/* Paginación CPT's */

.ricoms-paginacion {
  margin-top: 25px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ricoms-paginacion a,
.ricoms-paginacion span {
  padding: 8px 10px;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  background: #fff;
}

.ricoms-paginacion span.current {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* Shortcode de noticias */

.noticias-wrap{
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 30px;
}

.noticias-wrap-no-filtro{
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.noticias-filtros{
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
    padding:14px; 
    border-radius:10px; 
    height: fit-content;
    position: sticky;
    top: 150px;
    left: 0;
}

.noticias-filtros .fechas{
    display:grid; 
    grid-template-columns:1fr 1fr; 
    gap:10px;
}

.noticias-filtros .fila {
  display: grid;
  gap: 20px;
}

.noticias-filtros .fila>div{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.noticias-filtros input[type="text"],
.noticias-filtros input[type="date"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 10px;
}

.noticias-filtros .items-wrapper {
  max-height: 300px;
  overflow-y: auto;
  position: relative;
  margin-top: 10px;
}

/* Scrollbar personalizada más fina */
.noticias-filtros .items-wrapper::-webkit-scrollbar {
  width: 6px;
}

.noticias-filtros .items-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.noticias-filtros .items-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.noticias-filtros .items-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

/* Para Firefox */
.noticias-filtros .items-wrapper {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.noticias-filtros .items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Gradiente inferior para indicar más contenido */
.noticias-filtros .items-wrapper::after {
  content: "";
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background: linear-gradient(to bottom, transparent, #ffffff);
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s ease;
  display: block;
  margin-top: -50px;
}

/* Ocultar gradiente cuando se ha scrolleado hasta el final */
.noticias-filtros .items-wrapper.scrolled-to-bottom::after {
  opacity: 0;
}

.noticias-filtros label {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 14px !important;
  cursor: pointer;
  background-color: #fafafa;
  user-select: none;
  position: relative;
}

.noticias-filtros .nfcat-check{
  -webkit-appearance: none;
  appearance: none;
  margin: 0;

  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 2px solid rgba(0,0,0,.25);
  display: grid;
  place-content: center;

  transition: all .18s ease;
}

.noticias-filtros .nfcat-subbutton{
	position: absolute;
    right: 10px;
    width: 20px;
    text-align: center;
}

.noticias-filtros .nfcat-subbutton:after {
  content: "+";	
}

.noticias-filtros .nfcat-subbutton.nfcat-subbuttonabierto:after {
  content: "-";	
}

.noticias-filtros .nfcat-subcats {
	display: none;
	flex-direction: column;
	gap: 10px;
	padding-left: 20px;
}

/* Check visual */
.noticias-filtros .nfcat-check::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 3px;
  transform: scale(0);
  transition: transform .18s ease;
  background: currentColor;
}

/* Estado activo */
.noticias-filtros .nfcat-check:checked{
  border-color: currentColor;
}

.noticias-filtros .nfcat-check:checked::before{
  transform: scale(1);
}

/* Resaltar el label cuando está checked */
.noticias-filtros .items label:has(.nfcat-check:checked){
  border-color: rgba(0,0,0,.25);
  background: rgba(0,0,0,.03);
}

.noticias-filtros button {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #ddd;
  background: var(--color-secundario);
  color: var(--color-blanco) !important;
  cursor: pointer;
  font-size: 14px !important;
  text-align: center !important;
    line-height: 1.2;
}

.noticias-filtros .acciones {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

.noticias-filtros .reset {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.2;
}

.noticias-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.noticias-horizontal {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* ---- Modo reel (tarjetas verticales estilo Instagram Reels) ---- */
.noticias-reel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.noticia-card-reel {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: #111;
  aspect-ratio: 9 / 16;
  border: none;
}

.noticia-card-reel a {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  position: relative;
}

.noticia-reel-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.noticia-reel-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.noticia-card-reel:hover .noticia-reel-thumb img {
  transform: scale(1.05);
}

.noticia-reel-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 12px 12px;
    background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.53) 70%, transparent 100%);  display: flex;
  flex-direction: column;
  gap: 6px;
}

.noticia-reel-overlay .noticia-meta {
  font-size: 11px;
  opacity: .85;
  margin-bottom: 0;
  color: #fff !important;
}

.noticia-reel-title {
  font-weight: 700;
  margin: 0;
  font-size: 18px !important;
  color: #fff !important;
  line-height: 1.3;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

.noticia-reel-excerpt {
  margin: 0;
  font-size: 13px !important;
  color: rgba(255,255,255,.85) !important;
  line-height: 1.4;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}

.noticia-reel-overlay .noticia-btn {
  margin-top: 4px;
  font-size: 12px;
  background-color: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.6) !important;
  color: #fff !important;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}

.noticia-card-reel:hover .noticia-reel-overlay .noticia-btn {
  background-color: var(--color-secundario) !important;
  border-color: var(--color-secundario) !important;
  color: #fff !important;
}
/* ---- Fin modo reel ---- */

.noticia-card {
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.noticia-card a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.noticia-thumb {
  aspect-ratio: 16/9;
  background: #f6f6f6;
  background-image: url(/wp-content/uploads/2025/11/logo-ricoms.png);
	background-repeat: no-repeat;
    background-position: center center;
    background-size: 150px auto;
}

.noticias-horizontal .noticia-thumb{
    aspect-ratio: unset;
}

.noticia-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.noticia-body {
  padding: 14px;
}

.noticia-title-responsive{
    display: none !important;
}

.noticia-title,
.noticia-title-responsive{
  font-weight: 700;
  margin: 0 0 6px;
  font-size: 16px !important;
}

.noticia-excerpt {
  margin: 0;
  opacity: 0.8;
  line-height: 1.5;
  font-size: 14px !important;
  color: var(--color-negro) !important;
}

.noticia-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
}

@media only screen and (max-width: 440px){
	.noticia-row {
	  display: flex;
	  flex-direction: column;
	  gap: 0px;
	}
}

.noticia-meta{
  font-size: 13px;
  opacity: .75;
  margin-bottom: 6px;
  color: var(--color-negro) !important;
}

.noticia-btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 10px;
  margin-top: 10px;
  font-weight: 600;
  font-size: 14px;
  background-color: var(--color-blanco) !important;
  border: 1px solid var(--color-secundario) !important;
  color: var(--color-secundario) !important;
  transition: all 0.3s ease-in-out !important;
}

.noticia-card:hover .noticia-btn{
    background-color: var(--color-secundario) !important;
    color: var(--color-blanco) !important;
}


/* =========================================
   Panel filtros desde la izquierda (Nuevo)
========================================= */

.nf-toolbar {
    display: none ;
}

.nf-open-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  font-weight: 600;
  gap: 10px;
  color: var(--color-negro) !important;
}

.nf-open-btn img{
    width: 16px !important;
}


/* Overlay (por defecto oculto) */
.nf-overlay {
  display: none;
}

/* Panel: en desktop NO es flotante, se comporta normal */
.nf-panel {
  margin-bottom: 16px;
}

/* Header del panel */
.nf-panel-head {
  display: none; /* solo aparece en mobile */
}

.nf-close-btn {
  border: 0;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: var(--color-negro) !important;
}

@media only screen and (max-width: 1500px){
    .noticia-card-reel {
        aspect-ratio: 3 / 4 !important;
    }
}

@media (max-width: 1350px) {


    .noticias-filtros{
        padding: 0px !important; 
        box-shadow: unset !important;
    }
  /* Overlay visible solo en mobile cuando abres */
  .noticias-wrap .nf-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9996;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  /* Panel flotante desde la izquierda */
  .noticias-wrap .nf-panel {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: min(320px, 86vw);
    z-index: 999999;
    background: #fff;
    box-shadow: 10px 0 30px rgba(0,0,0,.18);
    transform: translateX(-105%);
    transition: transform .25s ease;
    overflow: auto;
    margin: 0;
    padding: 16px;
  }
.noticias-filtros .fechas{
    grid-template-columns:1fr !important;
  gap:10px !important;
}
  /* Mostrar cabecera en mobile */
  .noticias-wrap .nf-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 12px;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
  }

  /* Estado abierto */
  .noticias-wrap.nf-open .nf-panel {
    transform: translateX(0);
  }
  .noticias-wrap.nf-open .nf-overlay {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Single post */

/* =========================
   NEWS SINGLE — UX/UI
   ========================= */

.news-single {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 0px;
}

.news-body {
  display: grid;
  /*grid-template-columns: minmax(0, 1fr) 320px;*/
  grid-template-columns: 1fr;
  gap: 26px;
  align-items: start;
}


.news-content {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.news-content-body 

/* Featured image dentro del contenido */
.news-hero {
  margin: 0 0 18px;
  border-radius: 18px;
  overflow: hidden;
  background: #f4f4f4;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.news-hero img {
  width: 100%;
  height: 100%;
  max-height: 50dvh;
  object-fit: contain;
  display: block;
}

.news-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.news-meta .dot {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #bbb;
  display: inline-block;
}

.news-cat {
  display: inline-flex;
  align-items: center;
  padding: 5px 20px;
  border-radius: 999px;
  font-size: 13px !important;
  line-height: 1;
  color: var(--color-blanco) !important;
  background: var(--color-secundario);
}

.news-body .news-title {
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}

.news-body h2 {
  font-size: 23px !important;
}

.news-body h3 {
  font-size: 20px !important;
}

.news-body h4 {
  font-size: 18px !important;
}

.news-body p,
.news-body li{
  font-size: 14px !important;
}

.news-excerpt {
  font-size: 18px;
  line-height: 1.55;
  color: #444;
  max-width: 850px;
  margin: 0 0 18px;
}

.news-content :is(h2, h3, h4) {
  margin-top: 22px;
  line-height: 1.25;
}

.news-content p {
  line-height: 1.75;
  font-size: 16px;
  color: #222;
}

.news-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-word !important;
}

.news-content :is(ul, ol) {
  padding-left: 18px;
  line-height: 1.7;
}

.news-content blockquote {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid #111;
  background: #fafafa;
  border-radius: 10px;
}

.news-content .wp-block-file {
	flex-direction: column;
    gap: 10px;
}

.news-sidebar {
  position: sticky;
  top: 140px;
  display: grid;
  gap: 14px;
}

@media (max-width: 980px) {
  .news-sidebar {
    position: static;
  }
}

.news-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 25px;
  margin-top: 25px;
}

.news-card-title {
  font-size: 14px;
  color: #666;
  margin: 0 0 10px;
}

.news-share {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
}

.news-share img{
    width: 20px;
}
.news-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #eaeaea;
  text-decoration: none;
  font-size: 14px;
  color: #111;
  background: #fff;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
/* Relacionados (fuera del body) */
.news-related {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #eee;
}

.news-related h2 {
  font-size: 22px !important;
  margin: 0 0 14px;
}

.news-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 980px) {
  .news-related-grid {
    grid-template-columns: 1fr;
  }
}

.news-related-item {
  border: 1px solid #eee;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.news-latest-list{
    padding-left: 0px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.news-latest-list li a,
.news-latest-list li{
    line-height: 1.5 !important;
    font-size: 12px !important;
}

.news-latest-list a{
    display: flex;
    flex-direction: row;
    padding: 5px 10px !important;
    color: var(--color-primario) !important;
    text-decoration: underline;
    background-color: #fafafa;
    border-radius: 5px;
}

.news-related-thumb {
  background: #f3f3f3;
}

.news-related-thumb img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.news-related-body {
  padding: 12px 14px 14px;
  display: grid;
  gap: 8px;
}

.news-related-meta {
  font-size: 12px;
  color: #666;
}

.news-related-title {
  font-size: 16px;
  line-height: 1.35;
  margin: 0;
}

.news-related-excerpt {
  font-size: 14px;
  line-height: 1.55;
  color: #444;
  margin: 0;
}


/* 404 */

/* === RICOMS 404 (solo hero) === */
.ricoms-404__wrap { 
    min-height: 90dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.ricoms-404__content { 
    max-width: 980px; margin: 0 auto; 
    position: relative;
    top: -50px;
}

.ricoms-404__hero{
    border-radius: 18px;
    padding: 28px;
    background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(0,0,0,.01));
    border: 1px solid rgba(0,0,0,.08);
}

.ricoms-404__badge{
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}

.ricoms-404__code{
    font-size: 86px;
    line-height: 1;
    font-weight: 800;
    opacity: 0.2;
    letter-spacing: -1px;
}

.ricoms-404__tag{
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
    padding: 5px 20px;
    border-radius: 999px;
    background: var(--color-primario);
    color: var(--color-blanco) !important;
}

.ricoms-404__headline{
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 800;
}

.ricoms-404__text{
    margin: 0 0 18px;
    font-size: 16px;
    opacity: .9;
    max-width: 820px;
    line-height: 1.5;
}

.ricoms-404__actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}


.ricoms-404__actions a{
    padding: 5px 25px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    background-color: var(--color-secundario) !important;
    color: var(--color-blanco) !important;
    transition: all 0.3s ease-in-out !important;
}


/* GFORMS */

.gform_required_legend{
    display: none !important;
}

.ginput_container *{
    outline: none !important;
    resize: none !important;
    box-shadow: unset !important;
}

.gfield_label{
    font-size: 14px !important;
    color: var(--color-negro) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding-bottom: 5px !important;
}

.gform-body .gform_fields{
    gap: 20px !important;
}

.gform-footer .gform_button{
    background-color: var(--color-secundario) !important;
    color: var(--color-blanco) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    box-shadow: unset !important;
    border: 0px !important;
}

.ginput_container_consent a{
    text-decoration: underline !important;
    color: var(--color-primario) !important;
}
.ginput_container_consent input[type="checkbox"]{
    cursor: pointer !important;
}
.ginput_container_consent input[type="checkbox"]::before {
    color: var(--color-primario) !important;
}

.ginput_container_consent input[type="checkbox"]:focus{
    border-color: var(--color-primario) !important;
}

.gform_validation_errors{
    display: none !important;
}

.validation_message{
    color: #e74c3c !important;
    background-color: #f5bdb7!important;
    padding: 5px 10px;
    font-size: 12px !important;
    font-weight: 600 !important;
    width: fit-content !important;
    border-radius: var(--radio-botones);
}
/* TABS ACORDEON */

.vc_tta-panel-heading, .vc_tta-panel-body{
    background-color: #fafafa97 !important;
}

.vc_tta-title-text{
    font-size: 20px !important;
    color: var(--color-negro) !important;
    font-weight: 600 !important;
}

.tabs-descargables .tab-descargable .vc_column-inner>.wpb_wrapper{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.tabs-descargables .boton-descargable{
    margin: 0px !important;
    float: left !important;
}

.boton-descargable a{
    position: relative !important;
    padding-left: 55px !important;
    background-color: var(--color-blanco) !important;
    border: 2px solid #F15642 !important;
    color: #F15642 !important;
    border-radius: var(--radio-botones) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.boton-descargable a::after {
    content: "";
    background-image: url('/wp-content/uploads/2025/11/pdf.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    display: inline-block;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.tabs-protocolos h2{
    font-weight: 600 !important;
    font-size: 18px !important;
}

.tabs-protocolos img{
    border-radius: var(--radio-botones) !important;
}

.grid-anteagresiones .vc_column-inner{
    background-color: var(--color-blanco) !important;
	border: 1px solid var(--color-primario);
    border-radius: var(--radio-botones) !important;
    padding: 30px 40px !important;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
}

.grid-anteagresiones .texto{
    margin-bottom: 0px !important;
}

.grid-anteagresiones .texto h2{
    font-size: 25px !important;
    color: var(--color-primario) !important;
    text-decoration: underline !important;
}

.grid-anteagresiones .texto h3{
    font-size: 20px !important;
}

.grid-recursos-y-documentacion .boton,
.grid-recursos-y-documentacion .boton a{
    width: 100% !important;
    text-align: center !important;
}

.grid-agresiones{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    padding: 10px;
}

.grid-agresiones::after, .grid-agresiones::before{
    display: none !important;
}

.grid-agresiones .wpb_column{
    width: 100% !important;
}

.grid-agresiones .vc_column-inner{
    background-color: var(--color-blanco) !important;
    border-radius: var(--radio-botones) !important;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 0px 1px !important;
    padding: 20px !important;
    position: relative;
    top: 0px;
    transition: all 0.1s ease-in-out;
}

.grid-agresiones img{
    width: 60px;
}

.grid-agresiones h2{
    font-size: 20px !important;
}

#main .bg-contacto{
   background: #FFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(247, 247, 247, 1) 9%, rgba(247, 247, 247, 1) 91%, rgba(255, 255, 255, 1) 100%) !important;
}
.grid-contacto{
    max-width: 800px !important;
    margin: auto !important;
}

/* FOOTER */

.adhoc-footer{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.adhoc-footer hr{
    width: 100% !important;
    padding: 0px !important;
    border-radius: 0px !important;
    height: 1px;
    border: 0px !important;
    opacity: 0.7 !important;
    background-color: var(--color-primario) !important;
}

.fila-footer-uno{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.footer-col-uno>img{
    width: 180px;
}

.info-contacto-footer{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.info-contacto-footer>p,
.info-contacto-footer>a{
    color: var(--color-negro) !important;
    margin: 0px !important;
    line-height: 1.2rem !important;
}

.info-contacto-footer>p{
    font-size: 14px !important;
    width: 40%;
}

.info-contacto-footer>a{
    font-size: 14px;
    color: var(--color-primario) !important;
    font-weight: 600 !important;
}

.footer-col-uno {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.social-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.social-footer a>img{
    width: 25px;
}


.footer-col-dos{
    display: flex;
    flex-direction: column;
}

.footer-col-dos *, .footer-col-tres *{
    font-size: 14px !important;
}

.footer-col-dos p, .footer-col-tres p{
    color: var(--color-primario) !important;
    font-weight: 600 !important;
}

.footer-col-dos ul, .footer-col-tres ul{
    padding-left: 20px !important;
}

.footer-col-dos ul li, .footer-col-tres ul li{
    list-style-type: disc !important;
    color: var(--color-negro) !important;
}

.footer-col-dos ul li a, .footer-col-tres ul li a{
    color: var(--color-negro) !important;
}

.fila-footer-dos p{
    font-size: 14px !important;
    text-align: center !important;
    color: var(--color-negro) !important;
}

.fila-footer-dos p>a{
    color: var(--color-negro) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}


/* RESPONSIVE */

.adhoc-burger-wrap{
  display: none;
  justify-content: flex-end; 
}

.adhoc-burger-check{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.adhoc-burger{
  --w: 44px;
  --h: 34px;
  --th: 2px;     /* grosor línea */
  --gap: 10px;   /* separación */
  --radius: 999px;

  width: var(--w);
  height: var(--h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 12px;
  user-select: none;
  position: relative;
}

.adhoc-burger .line{
  position: absolute;
  width: calc(var(--w) - 14px);
  height: var(--th);
  border-radius: var(--radius);
  background: currentColor;
  transform-origin: center;
  transition: transform .35s ease, top .35s ease, opacity .2s ease, filter .35s ease;
  filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}


.adhoc-burger .line.top{
  top: calc(50% - (var(--gap) / 2));
}
.adhoc-burger .line.bottom{
  top: calc(50% + (var(--gap) / 2));
}

.adhoc-burger:hover .line{
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.12));
  transform: translateX(1px);
}

.adhoc-burger-check:checked + .adhoc-burger .line.top{
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.adhoc-burger-check:checked + .adhoc-burger .line.bottom{
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.adhoc-burger:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 14px;
}

/* ==========================================================
   OFFCANVAS LATERAL (COLEGIO DE MÉDICOS) - FULL CSS
   - Lateral IZQUIERDA
   - Submenús COLLAPSED + acordeón
   - Controlado con jQuery: body.adhoc-offcanvas-open
   ========================================================== */

/* Wrapper fijo full-screen */
.adhoc-offcanvas{
    display: none !important;
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
}

/* Backdrop */
.adhoc-offcanvas-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(10, 16, 24, .35);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
  z-index: 1;
}
body.adhoc-offcanvas-open .adhoc-offcanvas-backdrop{
  pointer-events: auto;
}

body.adhoc-offcanvas-open .adhoc-offcanvas{
    opacity: 1;
}

/* Panel lateral */
.adhoc-offcanvas-panel{
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  height: 100%;
  width: min(420px, 92vw);

  background: #fafafa;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border-right: 1px solid rgba(0,0,0,.08);
  box-shadow: 20px 0 60px rgba(0,0,0,.18);

  transform: translateX(-100%);
  transition: transform .35s cubic-bezier(.2,.9,.2,1);

  pointer-events: auto;
  display: flex;
  flex-direction: column;
  z-index: 2;
}

/* ======= ABIERTO ======= */
body.adhoc-offcanvas-open .adhoc-offcanvas{
  pointer-events: auto;
}
body.adhoc-offcanvas-open .adhoc-offcanvas-backdrop{
  opacity: 1;
  pointer-events: auto;
}
body.adhoc-offcanvas-open .adhoc-offcanvas-panel{
  transform: translateX(0);
}

/* ==========================================================
   TOP: logo + cerrar
   ========================================================== */
.adhoc-offcanvas-top{
  position: sticky;
  top: 0;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;

  padding: 18px 18px 12px 18px;
  border-bottom: 1px solid rgba(0,0,0,.08);

  background: rgba(255,255,255,.70);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.adhoc-offcanvas-logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.adhoc-offcanvas-logo img{
  height: 42px;
  width: auto;
  display: block;
}

/* Botón cerrar */
.adhoc-offcanvas-close{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;

  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.65);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.adhoc-offcanvas-close:hover{
  transform: scale(1.04);
  background: rgba(255,255,255,.95);
  border-color: rgba(0,0,0,.12);
}
.adhoc-offcanvas-close span{
  font-size: 26px;
  line-height: 1;
  color: rgba(11,27,43,.85);
}

/* ==========================================================
   NAV area
   ========================================================== */
.adhoc-offcanvas-nav{
  padding: 30px 20px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Scrollbar (opcional) */
.adhoc-offcanvas-nav::-webkit-scrollbar{ width: 10px; }
.adhoc-offcanvas-nav::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.12);
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,0);
  background-clip: padding-box;
}
.adhoc-offcanvas-nav::-webkit-scrollbar-track{ background: transparent; }

/* ==========================================================
   MENÚ wp_nav_menu
   ========================================================== */
.adhoc-offcanvas-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.adhoc-offcanvas-menu > li{
  margin: 0;
  padding: 0;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity .25s ease, transform .25s ease;
}
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li{
  opacity: 1;
  transform: translateX(0);
}

/* Delay escalonado */
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(1){ transition-delay: .04s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(2){ transition-delay: .07s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(3){ transition-delay: .10s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(4){ transition-delay: .13s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(5){ transition-delay: .16s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(6){ transition-delay: .19s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(7){ transition-delay: .22s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(8){ transition-delay: .25s; }
body.adhoc-offcanvas-open .adhoc-offcanvas-menu > li:nth-child(9){ transition-delay: .28s; }

/* Links principales */
.adhoc-offcanvas-menu > li > a{
    cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 15px;
  padding: 6px 14px;
  border-radius: 6px;

  text-decoration: none;
  font-weight: 650;
  letter-spacing: .2px;

  color: #0b1b2b;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);

  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.adhoc-offcanvas-menu > li > a:hover{
  background: rgba(255,255,255,.95);
  border-color: rgba(0,0,0,.10);
}

/* Activo */
.adhoc-offcanvas-menu li.current-menu-item > a,
.adhoc-offcanvas-menu li.current-menu-ancestor > a{
  color: var(--color-primario) !important;
}

/* Foco accesible */
.adhoc-offcanvas-menu a:focus-visible{
  outline: 2px solid rgba(12, 74, 110, .45);
  outline-offset: 3px;
  border-radius: 16px;
}

/* ==========================================================
   SUBMENÚS COLLAPSED (Accordion)
   ========================================================== */
.adhoc-offcanvas-menu li.menu-item-has-children{
  position: relative;
}

/* Espacio para el botón toggle */
.adhoc-offcanvas-menu li.menu-item-has-children > a{
  padding-right: 52px;
}

/* Toggle inyectado por jQuery */
.adhoc-subtoggle{
  position: absolute;
  top: 8px;              /* alineado con el padding del item */
  right: 12px;

  width: 25px;
  height: 25px;
  border-radius: 12px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  user-select: none;

  border: 1px solid rgba(0,0,0,.08);
  background: var(--color-blanco);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.adhoc-subtoggle{
  z-index: 3;
}

.adhoc-offcanvas-menu li.menu-item-has-children > a{
  position: relative;
  z-index: 2;
}


.adhoc-subtoggle:hover{
  background: rgba(255,255,255,.95);
  border-color: rgba(0,0,0,.12);
}

/* Flecha */
.adhoc-subtoggle::before{
  content: "›";
  font-size: 18px;
  opacity: .7;
  transform: rotate(90deg);
  transition: transform .25s ease;
}

/* Flecha al abrir */
.adhoc-offcanvas-menu li.is-open > .adhoc-subtoggle::before{
  transform: rotate(-90deg);
}

/* Submenú colapsado por defecto */
.adhoc-offcanvas-menu li.menu-item-has-children > ul{
  display: block;
  max-height: 0;
  overflow: hidden;

  margin: 0;
  padding: 0 0 0 10px;
  opacity: 0;

  transition: max-height .32s ease, opacity .22s ease, margin-top .22s ease;
}

/* Submenú abierto */
.adhoc-offcanvas-menu li.is-open > ul{
  max-height: 1200px;
  opacity: 1;
  margin-top: 8px;
}

/* Estilo links submenú */
.adhoc-offcanvas-menu li ul{
  list-style: none;
  display: grid !important;
  gap: 8px !important;
}

.adhoc-offcanvas-menu li ul a{
  display: block;
  padding: 10px 12px;
  font-size: 13px !important;
  border-radius: 6px;

  text-decoration: none;
  font-weight: 560;
  color: rgba(11,27,43,.86);

  background: rgba(255,255,255,.40);
  border: 1px solid rgba(0,0,0,.05);

  transition: background .12s ease, border-color .12s ease, transform .12s ease;
}
.adhoc-offcanvas-menu li ul a:hover{
  border-color: rgba(0,0,0,.08);
}

/* Nivel 3 */
.adhoc-offcanvas-menu li ul ul{
  padding-left: 12px;
  margin-top: 6px;
}

/* Pop Up Estilos */

.spu-content h2{
  color: var(--color-primario) !important;
  font-size: 22px !important;
}

.spu-content a{
  text-decoration: underline !important;
  color: var(--color-secundario) !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */
.adhoc-offcanvas-footer{
  margin-top: auto;
  padding: 14px 18px 18px 18px;
  border-top: 1px solid rgba(0,0,0,.08);

  background: rgba(255,255,255,.70);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.adhoc-offcanvas-meta{
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.adhoc-offcanvas-meta a{
    background-color: #fafafa !important;
    color: var(--color-negro) !important;
    font-size: 12px !important;
    padding: 2px 20px !important;
    border-radius: 100px !important;
    font-weight: 600 !important;
}

.adhoc-offcanvas-badge{
  display: inline-flex;
  align-items: center;
  width: fit-content;

  padding: 6px 10px;
  border-radius: 999px;

  font-size: 12px;
  font-weight: 700;

  border: 1px solid rgba(12, 74, 110, .18);
  background: rgba(12, 74, 110, .08);
  color: #0b1b2b;
}

.adhoc-offcanvas-small{
  font-size: 12px;
  color: rgba(11,27,43,.65);
}

/* Responsive */
@media (max-width: 520px){
  .adhoc-offcanvas-panel{
    width: min(300px, 92vw);
  }
  .adhoc-offcanvas-logo img{
    height: 38px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .adhoc-offcanvas-backdrop,
  .adhoc-offcanvas-panel,
  .adhoc-offcanvas-menu > li,
  .adhoc-offcanvas-menu a,
  .adhoc-offcanvas-menu li.menu-item-has-children > ul{
    transition: none !important;
  }
}


@media only screen and (max-width: 1350px){

    .carrusel-movil{
        display: block !important;
    }

    .carrusel-movil .owl-nav{
      width: 91% !important;
      margin: auto !important;
    }

    .carrusel-pc{
        display: none !important;
    }

    .nf-toolbar {
        display: flex !important;
        flex-direction: row;
        align-items: flex-start;
    }

    .noticias-wrap{
        display: grid !important;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 15px !important;
    }
    .adhoc-offcanvas{
        display: unset !important;
    }

    header .fusion-main-menu,
    header .fusion-mobile-nav-holder{
        display: none !important;
    }
    header .fusion-header{
        padding: 20px 30px !important;
    }

    .adhoc-menu{
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
    }

    .adhoc-burger-wrap{
        display: flex;
    }

    .intro-banner .texto h1{
        font-size: 50px !important;
    }
    .grid-el-colegio{
      grid-template-columns: repeat(3, 1fr) !important;
      gap: 15px !important;
    }
    .noticias-filtros{
        position: unset;
    }
}

@media only screen and (max-width: 1200px){
    .grid-accesos-rapidos{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 1000px){

    .noticia-reel-title {
        font-weight: 700;
        margin: 0;
        font-size: 15px !important;
        color: #fff !important;
        line-height: 1.3;
        text-shadow: 0 1px 4px rgba(0,0,0,.5);
    }

  /* Menú secundario responsive */
  .bg-menu-secundario-adhoc {
    padding: 0 15px;
  }

  .menu-secundario-shell {
    padding: 0 10px;
  }

  .menu-secundario-scroller {
    gap: 16px;
    padding: 10px 0;
  }

  /* Flechas más prominentes en tablet */
  .menu-sec-arrow {
    width: 45px;
  }

  .menu-sec-arrow-icon {
    font-size: 22px;
  }

  .resena-sticky{
    position: static !important;
  }

  .timeline{
    padding-left: 0px !important;
  }

  .timeline-event p{
    font-size: 14px !important;
  }
    .fusion-logo img{
        width: 200px !important;
    }

    .intro-banner .texto{
        width: 100% !important;
    }
    .grid-intro-cards{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }

    .banner-podcast .texto{
        width: 100% !important;
    }

    .fila-footer-uno{
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .info-contacto-footer>p{
        width: 90% !important;
    }

    .noticia-title-responsive{
        display: flex !important;
    }

    .noticia-title{
        display: none !important;
    }

    .grid-el-colegio,
    .grid-de-cuatro,
    .grid-grupos-de-trabajo,
    .grid-equipo,
    .grid-cinco{
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 15px !important;
    }

    .grid-agresiones{
      grid-template-columns: repeat(1, 1fr) !important;
      gap: 15px !important;
    }

    .grid-enlaces-interiores{
      display: grid;
      grid-template-columns: 1fr !important;
    }

    .grid-enlaces-interiores p{
      font-size: 12px !important;
    }

    .grid-enlaces-interiores img{
      width: 16px !important;
    }
    
    .grid-el-colegio .texto h2,
    .grid-agresiones .texto h2,
    .grid-de-cuatro .texto h2,
    .grid-grupos-de-trabajo .texto h2{
      font-size: 16px !important;
    }

    .grid-el-colegio .vc_column-inner,
    .grid-agresiones .vc_column-inner, 
    .grid-de-cuatro .vc_column-inner,
    .grid-grupos-de-trabajo .vc_column-inner{
      padding: 5px !important;
      padding-top: 25px !important;
    }

    .grid-el-colegio img, 
    .grid-agresiones img,
    .grid-de-cuatro img,
    .grid-grupos-de-trabajo img{
      width: 40px !important;
    }

    .boton a{
      font-size: 13px !important;
    }

    .grid-comision{
      grid-template-columns: repeat(2, 1fr) !important;
    }

    .grid-equipo-comision .vc_column-inner>.wpb_wrapper{
      display: flex !important;
      flex-direction: column !important;
      gap: 20px !important;
    }

    .grid-equipo-comision{
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 10px !important;
      padding-bottom: 10px !important;
    }

    .noticia-card-reel {
        aspect-ratio: 2 / 4 !important;
    }

}


@media (max-width: 980px) {
  .news-body {
    grid-template-columns: 1fr;
  }
  .news-content {
    min-width: 0;
    overflow: hidden;
  }
  .news-single {
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
  }
  .news-body .news-title{
    font-size: 22px !important;
  }

  .news-body h2{
    font-size: 20px !important;
  }

  .news-body h3{
    font-size: 18px !important;
  }

  .news-body h4{
    font-size: 16px !important;
  }

  .news-meta, .news-cat{
    font-size: 12px !important;
  }
}

@media only screen and (max-width: 620px) {
  /* El contenido del single-post no debe salirse del grid en móvil */
  .news-single {
    padding: 10px 0;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
  }

  .news-body {
    gap: 14px;
    min-width: 0;
  }

  .news-content {
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
  }

  .news-content-body {
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* Evitar que imágenes, tablas y bloques anchos rompan el layout */
  .news-content img,
  .news-content table,
  .news-content figure,
  .news-content pre,
  .news-content iframe {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  .news-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .news-hero {
    border-radius: 0;
    margin: 0 0 14px;
  }

  .news-body .news-title {
    font-size: 20px !important;
  }

  .news-card {
    border-radius: 12px;
  }

  .news-share img {
    width: 16px !important;
    height: 16px !important;
  }

  .news-share a {
    padding: 7px 9px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }

  .news-share {
    gap: 7px !important;
  }
}

@media only screen and (max-width: 800px){

  /* Menú secundario en móvil */
  .bg-menu-secundario-adhoc {
    padding: 0 10px;
  }

  .menu-secundario-shell {
    padding: 0 5px;
    /* Mostrar scroll bar en móvil para indicar que es scrolleable */
    scrollbar-width: thin;
  }

  .menu-secundario-shell::-webkit-scrollbar {
    height: 4px;
    display: block;
  }

  .menu-secundario-shell::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
  }

  .menu-secundario-shell::-webkit-scrollbar-thumb {
    background: var(--color-primario);
    border-radius: 3px;
  }

  .menu-secundario-scroller {
    gap: 12px;
    padding: 12px 0;
  }

  .menu-secundario-scroller a,
  .menu-secundario-scroller .item-trigger-sub {
    font-size: 11px;
    padding: 6px 10px;
  }

  .menu-secundario-scroller a:active,
  .menu-secundario-scroller .item-trigger-sub:active {
    background: rgba(255, 255, 255, 0.9);
    transform: scale(0.98);
  }

  /* Flechas más grandes y visibles en móvil */
  .menu-sec-arrow {
    width: 40px;
  }

  .menu-sec-arrow-icon {
    font-size: 26px;
  }

  .menu-sec-arrow-left {
    background: linear-gradient(
        to right, 
        rgba(245, 245, 245, 1) 0%, 
        rgba(245, 245, 245, 0.9) 70%, 
        transparent 100%
    );
  }

  .menu-sec-arrow-right {
    background: linear-gradient(
        to left, 
        rgba(245, 245, 245, 1) 0%, 
        rgba(245, 245, 245, 0.9) 70%, 
        transparent 100%
    );
  }

  /* Indicadores de overflow más visibles */
  .bg-menu-secundario-adhoc.has-overflow::after,
  .bg-menu-secundario-adhoc.has-overflow::before {
    width: 30px;
    opacity: 0.9;
  }

  .noticias-wrap .nf-panel{
    width: min(100%, 280px) !important;
  }
    .adhoc-offcanvas-menu > li > a, .nf-panel strong,
    .noticias-filtros button{
        font-size: 13px !important;
    }

    .adhoc-offcanvas-menu li ul a,
    .noticias-filtros input[type="text"], 
    .noticias-filtros input[type="date"],
    .noticias-filtros label{
        font-size: 12px !important;
    }

    
    .adhoc-subtoggle{
        top: 6px !important;
    }

    .intro-banner .texto h1{
        font-size: 35px !important;
    }

    .banner-podcast .texto h2{
        font-size: 22px !important;
    }

    .intro-banner .texto br{
        display: none !important;
    }

    .fusion-logo img{
        width: 160px !important;
    }

    .grid-intro-cards{
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
    }
    .grid-intro-cards img, .grid-grupos-de-trabajo img{
        width: 40px !important;
    }
    .grid-intro-cards h2, .grid-grupos-de-trabajo h2 {
        font-size: 22px !important;
        font-weight: 700 !important;
        margin-bottom: 10px !important;
    }

    .grid-intro-cards p, .grid-grupos-de-trabajo p {
        font-size: 15px !important;
    }

    .noticias-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .noticias-reel {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .texto h1{
        font-size: 35px !important;
    }

    .texto h2{
        font-size: 28px !important;
    }

    .texto h3{
        font-size: 22px !important;
    }

    .texto p, .texto li{
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .grid-accesos-rapidos{
        grid-template-columns: repeat(2, 1fr);
        gap: 15px !important;
    }

    .grid-accesos-rapidos a>div{
        height: 100% !important;
    }

    .grid-accesos-rapidos a>div p{
        font-size: 14px !important;
        text-align: center !important;
    }
    .grid-accesos-rapidos a>div img{
        width: 30px !important;
    }
    .grid-equipo img{
      height: 250px !important;
    }

    .grid-equipo .texto p:first-child{
      font-size: 16px !important;
    }
}

@media only screen and (max-width:600px){

  .grid-comision .wpb_single_image{
    padding: 10px !important;
  }

  .grid-comision{
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-comision img{
    width: 30px !important;
  }
  .grid-comision .texto p{
    font-size: 14px !important;
  }
  .grid-equipo .texto{
    padding: 10px !important;
  }

  .grid-comision .vc_column-inner{
    padding: 10px !important;
  }

    .grid-equipo .texto p:first-child{
      font-size: 15px !important;
    }

    .grid-equipo .texto p{
      line-height: 1.2 !important;
    }

      .grid-equipo .texto p em{
        font-size: 12px !important;
        line-height: 1.2 !important;
      }
    .grid-equipo .texto p:nth-child(2){
      font-size: 12px !important;
      line-height: 1.2 !important;
    }

    /* Menú secundario muy compacto en móviles pequeños */
    .menu-secundario-scroller {
        gap: 10px;
        padding: 10px 0;
    }

    .menu-secundario-scroller a,
    .menu-secundario-scroller .item-trigger-sub {
        font-size: 10px;
        padding: 5px 8px;
    }

    /* Submenús mejor adaptados */
    .submenu-panel {
        min-width: 180px;
        font-size: 11px;
    }

    .submenu-panel a {
        padding: 8px 12px;
        font-size: 11px;
    }

    .texto h1{
        font-size: 30px !important;
    }

    .texto h2{
        font-size: 24px !important;
    }

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

    .texto h4{
        font-size: 18px !important;
    }

    .vc_tta-title-text {
        font-size: 15px !important;
        color: var(--color-negro) !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }


    .noticia-meta{
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .noticia-title,
    .noticia-title-responsive {
        font-weight: 700;
        margin: 0 0 6px;
        font-size: 16px !important;
    }

    .noticia-excerpt{
        font-size: 12px !important;
    }

    .noticia-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 14px;
        border-radius: 10px;
        margin-top: 10px;
        font-weight: 600;
        font-size: 12px;
        background-color: var(--color-blanco) !important;
        border: 1px solid var(--color-secundario) !important;
        color: var(--color-secundario) !important;
        transition: all 0.3s ease-in-out !important;
    }

    .noticias-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .noticias-reel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media only screen and (max-width:500px){
    .grid-accesos-rapidos{
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 10px !important;
    }
}