:root{
  --color-primary:#2d3e50; /* azul institucional */
  --color-accent:#86bc42;  /* verde acento */
  --color-bg:#ffffff;
  --color-text:#222222;
  --color-muted:#696969;
  --color-surface:#f7f9fb;
  --radius-s:8px;
  --radius-m:12px;
  --shadow-1:0 6px 20px rgba(34,30,31,.08);
  --shadow-2:0 10px 30px rgba(34,30,31,.12);
  --transition:all .25s ease;
}

/* Reset y base moderna */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{color:var(--color-text);background:var(--color-bg);line-height:1.6}
img{display:block;max-width:100%;height:auto}
.container{max-width:1200px;width:100%;padding-left:16px;padding-right:16px}

/* Enlaces y foco accesible */
a{color:var(--color-primary);transition:var(--transition)}
a:hover{opacity:.9}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}

/* Header y menú más limpio */
.header-logo-menu.sticker{box-shadow:0 2px 12px rgba(0,0,0,.06)}
.header-logo-menu.sticker.stick{background:rgba(255,255,255,.9);backdrop-filter:saturate(120%) blur(6px)}

/* Menú superior mejorado */
.mainmenu ul#nav{display:flex;gap:4px}
.mainmenu ul#nav>li{position:relative}
.mainmenu ul#nav>li>a{padding:14px 16px;border-radius:var(--radius-s);position:relative;line-height:1;font-weight:600}
.mainmenu ul#nav>li>a:after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.mainmenu ul#nav>li:hover>a,.mainmenu ul#nav>li.current>a{color:var(--color-primary)}
.mainmenu ul#nav>li:hover>a:after,.mainmenu ul#nav>li.current>a:after{transform:scaleX(1)}
/* Caret para items con submenú */
.mainmenu ul#nav>li:has(> ul.sub-menu) > a{padding-right:26px}
.mainmenu ul#nav>li:has(> ul.sub-menu) > a:before{content:"\f2f9";font-family:'Material-Design-Iconic-Font';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--color-muted)}

/* Dropdown estilizado */
.mainmenu ul#nav li .sub-menu{position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease;z-index:1000}
.mainmenu ul#nav li:hover> .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mainmenu ul#nav li .sub-menu li a{display:block;padding:10px 16px;color:var(--color-text);font-weight:500;white-space:nowrap}
.mainmenu ul#nav li .sub-menu li a:hover{background:var(--color-surface);color:var(--color-primary)}

/* Botones modernos */
.button-default{background:var(--color-primary);border-radius:var(--radius-m);padding:12px 22px;box-shadow:var(--shadow-1);transition:var(--transition)}
.button-default:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}
.button-default.bg-blue{background:var(--color-primary)}

/* Tarjetas Carreras (unificado y moderno) */
.single-latest-item{background:#fff;border-radius:var(--radius-m);box-shadow:var(--shadow-1);overflow:hidden;margin-bottom:28px}
.single-latest-item:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.single-latest-item{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.single-latest-item .single-latest-image{position:relative;height:240px}
.single-latest-item .single-latest-image a{display:block;height:100%}
.single-latest-item .single-latest-image img{width:100%;height:100%;object-fit:cover}
.single-latest-item .single-latest-text{background:var(--color-surface);padding:24px;border-left:4px solid var(--color-accent);display:flex;flex-direction:column}
.single-latest-item .single-latest-text h3{margin-bottom:8px}
.single-latest-item .single-latest-text .single-item-comment-view{margin-bottom:6px;color:var(--color-muted)}
.single-latest-item .single-latest-text p{color:var(--color-text);margin-bottom:16px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}
.single-latest-item .single-latest-text .button-default{margin-top:auto}

/* Eventos */
.single-event-item{border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow-1)}
.single-event-item:hover{box-shadow:var(--shadow-2)}
.single-event-image img{width:100%;height:220px;object-fit:cover}

/* Placeholder styling for fallback images */
.img-fallback{object-fit:contain !important;filter:grayscale(80%) opacity(.85);}

/* Newsletter */
.newsletter-area{border-top:1px solid #e9eef3}
.subscribe-form>button{background:var(--color-primary);border-color:var(--color-primary)}
.newsletter-form .subscribe-form{display:flex;gap:8px;flex-wrap:wrap}
.newsletter-form .subscribe-form input[type="email"]{flex:1 1 260px;min-width:240px}
.footer-newsletter .captcha-inline{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.footer-newsletter .captcha-inline input[type="number"]{width:110px}

/* Footer */
.footer-widget-area,.footer-area{background:var(--color-primary)}
.social-icons a{border-radius:50%;}

/* Responsive */
@media (max-width:991px){
  .single-latest-item{grid-template-columns:1fr}
  .single-latest-item .single-latest-image{height:200px}
  /* Mobile menu: toques más cómodos */
  .mobile-menu #dropdown ul li a{padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.06)}
  .mobile-menu #dropdown ul li ul{padding-left:8px}
}

/* Slider estable (altura constante entre slides) */
.slider-two .preview-2{position:relative}
#nivoslider,
.slider-two .nivoSlider{position:relative;width:100%;height:clamp(260px,50vw,640px);overflow:hidden;background-color:#2d3e50}
/* Imagen principal que inyecta Nivo y las de cada slide */
.slider-two .nivoSlider img,
.slider-two .nivo-main-image{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
}
/* Ajuste de cajas/slices animadas de Nivo para coincidir con el alto fijo */
.slider-two .nivo-slice,
.slider-two .nivo-box{height:100% !important;background-repeat:no-repeat !important;background-size:cover !important;background-position:center center !important}
