/*
Theme Name: UCR WordPress V3.1 Lightweight
Author: UCR / versión optimizada
Description: Tema institucional ligero para la Universidad de Costa Rica. Compatible con Elementor, Gutenberg y WordPress.
Version: 3.2.0
License: GNU General Public License v2 or later
Text Domain: wordpressucr-v3
*/
:root{--ucr-blue:#005da4;--ucr-cyan:#00a9e0;--ucr-dark:#243746;--ucr-text:#34495e;--ucr-light:#f5f7f9;--ucr-max:1180px;--ucr-gap:24px}
@font-face{font-family:Trueno;src:url("fonts/TruenoRg.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Trueno;src:url("fonts/TruenoBd.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ucr-text);font-family:Trueno,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:var(--ucr-blue);text-decoration:none}a:hover,a:focus{text-decoration:underline;color:var(--ucr-cyan)}.container{width:min(calc(100% - 32px),var(--ucr-max));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{width:auto;height:auto;margin:5px;padding:10px 14px;clip:auto;z-index:99999;background:#fff;color:#111}
/* Header */
.ucr-header{background:var(--ucr-header-bg,#fff);border-bottom:1px solid #e5e9ed}.ucr-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:10px 0}.logo-ucr,.logo-site{min-width:0;flex:1}.logo-ucr img{display:block;max-width:100%;width:auto;height:auto;max-height:70px}.logo-site{text-align:right}.logo-site img{display:inline-block;max-width:100%;max-height:80px;width:auto;height:auto}.logo-site .custom-logo-link{display:inline-flex;align-items:center}.ucr-nav{background:var(--ucr-menu-bg,var(--ucr-cyan))}.ucr-nav ul{display:flex;flex-wrap:wrap;align-items:stretch;list-style:none;margin:0 auto;padding:0;width:min(calc(100% - 32px),var(--ucr-max))}.ucr-nav li{position:relative;margin:0;padding:0}.ucr-nav a{display:block;padding:11px 14px;color:var(--ucr-menu-text,#fff);font-size:15px;font-weight:700;line-height:1.3}.ucr-nav li:hover>a,.ucr-nav li:focus-within>a{background:var(--ucr-menu-hover,var(--ucr-blue));text-decoration:none}.ucr-nav ul ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#064c72;box-shadow:0 8px 20px rgba(0,0,0,.15);z-index:1001}.ucr-nav li:hover>ul,.ucr-nav li:focus-within>ul{display:block}.ucr-nav ul ul li{width:100%}
/* Content */
.site-main{min-width:0}.ucr-content-wrap{padding-top:36px;padding-bottom:48px;min-height:45vh}.entry-header{margin-bottom:24px}.entry-title{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;color:var(--ucr-blue);margin:0 0 12px}.entry-content{font-size:1rem}.entry-content img{max-width:100%;height:auto}.featured-image{margin:0 0 28px}.featured-image img{display:block;width:100%;height:auto}.entry-meta,.breadcrumbs{font-size:.9rem;color:#68737d;margin-bottom:14px}.ucr-post-list{display:grid;gap:24px}.ucr-card{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:24px;padding:0 0 24px;border-bottom:1px solid #e6e6e6}.ucr-card h2{margin:0 0 8px;font-size:1.45rem;line-height:1.3}.ucr-card-image img{display:block;width:100%;height:auto}.search-result{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #ddd}.search-result h2{margin:0 0 8px}.pagination{margin-top:30px}.pagination ul{display:flex;gap:8px;list-style:none;padding:0;flex-wrap:wrap}.pagination a,.pagination span{display:inline-block;padding:7px 12px;border:1px solid #ddd}.pagination .current{background:var(--ucr-blue);color:#fff;border-color:var(--ucr-blue)}.button{display:inline-block;background:var(--ucr-blue);color:#fff;padding:10px 16px}.button:hover,.button:focus{background:var(--ucr-cyan);color:#fff;text-decoration:none}.page-links{margin-top:24px}.aligncenter{display:block;margin-inline:auto}.alignleft{float:left;margin:0 1.5em 1em 0}.alignright{float:right;margin:0 0 1em 1.5em}.wp-block-image img,.elementor img{max-width:100%;height:auto}
/* Widgets / interest sites */
.widget-area{min-width:0}.widget{margin-bottom:24px}.widget-title,.widget h2{font-size:1.25rem;color:var(--ucr-blue)}.sitios-interes{padding:34px 0 42px;border-top:1px solid #d9dde1}.sitios-interes-title{text-align:center;color:#54b7e7;font-size:clamp(1.5rem,2.5vw,2rem);margin:0 0 28px}.sitios-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:center}.sitio-interes{display:flex;align-items:center;justify-content:center;min-height:130px;padding:12px}.sitio-interes img{display:block;max-width:100%;max-height:130px;width:auto;height:auto;object-fit:contain}.sitio-interes a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.sitio-interes a:hover img,.sitio-interes a:focus img{transform:scale(1.02)}.sitio-interes img{transition:transform .15s ease}
/* Footer */
/* =========================================================
   FOOTER - ESCUELA DE NUTRICIÓN UCR
   ========================================================= */

.ucr-footer {
    background: #111111;
    color: #ffffff;
    padding: 22px 30px 15px;
    width: 100%;
    box-sizing: border-box;
}

.ucr-footer > .container {
    width: 100%;
    max-width: 1350px;
    margin: 0 auto;
    padding: 0;
}


/* =========================================================
   FILA PRINCIPAL
   Logo | Contactos | Redes
   ========================================================= */

.ucr-footer-content {
    width: 100%;
    min-height: 145px;

    display: grid;
    grid-template-columns: 46% 42% 12%;

    align-items: center;
}


/* =========================================================
   LOGO UCR
   ========================================================= */

.ucr-footer-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    margin: 0;
    padding: 0;
}

.ucr-footer-logo img {
    display: block;

    width: 270px;
    max-width: 270px;
    height: auto;

    margin: 0;
}


/* =========================================================
   CONTACTOS
   ========================================================= */

.ucr-footer-contact {
    width: 100%;
    padding: 0 15px;
    margin: 0;
    box-sizing: border-box;

    text-align: left;
}

.ucr-footer-contact .footer-title {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;

    margin: 0 0 10px;
    padding: 0;
}

.ucr-footer-contact p {
    color: #ffffff;

    font-size: 14px;
    line-height: 1.55;

    margin: 4px 0;
    padding: 0;
}

.ucr-footer-contact .direccion {
    margin-bottom: 8px;
}

.ucr-footer-contact strong {
    color: #ffffff;
}

.ucr-footer-contact a {
    color: #ffffff;
    text-decoration: none;
}

.ucr-footer-contact a:hover,
.ucr-footer-contact a:focus {
    color: #ffffff;
    text-decoration: underline;
}


/* =========================================================
   REDES SOCIALES
   ========================================================= */

.ucr-footer-social {
    display: flex;

    flex-direction: row;
    align-items: center;
    justify-content: flex-end;

    gap: 15px;

    width: 100%;
    margin: 0;
    padding: 0;
}

.ucr-footer-social a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: #ffffff !important;

    font-size: 22px;
    line-height: 1;

    text-decoration: none !important;

    margin: 0;
    padding: 0;
}

.ucr-footer-social a:hover,
.ucr-footer-social a:focus {
    color: #ffffff !important;
    opacity: .7;
}


/* =========================================================
   PARTE INFERIOR
   ========================================================= */

.ucr-footer-bottom {
    width: 100%;

    margin-top: 18px;
    padding-top: 12px;

    border-top: 1px solid rgba(255,255,255,.25);

    text-align: center;

    color: #ffffff;
}


/* =========================================================
   ENLACES
   ========================================================= */

.ucr-footer-bottom .footer-links {
    display: flex;

    flex-direction: row;
    flex-wrap: wrap;

    justify-content: center;
    align-items: center;

    gap: 22px;

    margin: 0 0 8px;
    padding: 0;

    list-style: none;
}

.ucr-footer-bottom .footer-links a {
    color: #ffffff !important;

    font-size: 13px;

    text-decoration: none !important;
}

.ucr-footer-bottom .footer-links a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.ucr-footer .footer-copyright {
    color: #ffffff;

    font-size: 13px;

    margin: 3px 0;
}


/* =========================================================
   ACTUALIZACIÓN
   ========================================================= */

.ucr-footer .footer-update {
    color: #ffffff;

    font-size: 12px;

    margin-top: 5px;
}


/* =========================================================
   BOTÓN IR ARRIBA
   ========================================================= */

.ir-arriba {
    position: fixed;

    right: 20px;
    bottom: 20px;

    z-index: 1100;

    display: none;

    width: 38px;
    height: 38px;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--ucr-blue);

    box-shadow: 0 3px 12px rgba(0,0,0,.2);
}

.ir-arriba img {
    width: 22px;
    height: 22px;

    object-fit: contain;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .ucr-footer {
        padding: 25px 25px 15px;
    }

    .ucr-footer-content {
        grid-template-columns: 38% 47% 15%;
    }

    .ucr-footer-logo img {
        width: 230px;
        max-width: 230px;
    }

    .ucr-footer-contact p {
        font-size: 13px;
    }

    .ucr-footer-social {
        gap: 12px;
    }

}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 767px) {

    .ucr-footer {
        padding: 30px 20px 15px;
    }

    .ucr-footer-content {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 22px;

        min-height: auto;
    }

    .ucr-footer-logo {
        width: 100%;
    }

    .ucr-footer-logo img {
        width: 220px;
        max-width: 220px;
    }

    .ucr-footer-contact {
        width: 100%;
        padding: 0;
    }

    .ucr-footer-contact p {
        font-size: 14px;
    }

    .ucr-footer-social {
        width: 100%;

        justify-content: flex-start;

        gap: 20px;
    }

    .ucr-footer-social a {
        font-size: 23px;
    }

    .ucr-footer-bottom {
        margin-top: 20px;
    }

    .ucr-footer-bottom .footer-links {
        gap: 10px 20px;
    }

}


/* =========================================================
   CELULAR PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

    .ucr-footer-logo img {
        width: 200px;
        max-width: 200px;
    }

    .ucr-footer-contact p {
        font-size: 13px;
    }

    .ucr-footer-bottom .footer-links {
        flex-direction: column;
        gap: 7px;
    }

}
/* Elementor: do not constrain its canvas; let Elementor control its width */
.elementor-page .elementor,.elementor-page .elementor-section-wrap{width:100%}.elementor-page #content{width:100%}
@media(max-width:767px){.container{width:min(calc(100% - 24px),var(--ucr-max))}.ucr-header-inner{display:block;padding:8px 0}.logo-ucr,.logo-site{text-align:center;margin:5px 0}.logo-ucr img,.logo-site img{margin-inline:auto;max-height:62px}.ucr-nav ul{display:block;width:100%}.ucr-nav a{padding:12px 16px}.ucr-nav ul ul{position:static;width:100%;box-shadow:none}.ucr-nav ul ul a{padding-left:30px}.ucr-card{grid-template-columns:1fr}.footer-contact-grid{grid-template-columns:1fr;gap:26px}.sitios-grid{grid-template-columns:1fr 1fr;gap:18px}.sitio-interes{min-height:110px}.sitio-interes img{max-height:105px}.ucr-content-wrap{padding-top:26px;padding-bottom:36px}}
@media(max-width:420px){.sitios-grid{grid-template-columns:1fr}.sitio-interes{min-height:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sitio-interes img{transition:none}}

/* V3.2: active menu state */
.ucr-nav li.current-menu-item>a,.ucr-nav li.current-menu-ancestor>a,.ucr-nav li.current_page_item>a{background:var(--ucr-menu-active,var(--ucr-blue));}
