﻿/* =========================================================
   portal-utils.css — Reemplaza atributos style="" inline
   Generado automáticamente para eliminar unsafe-inline CSP
   ========================================================= */

/* === Colores de texto === */
.txt-azul        { color: var(--azul-1); }
.txt-naranja     { color: var(--naranja-1); }
.txt-negro       { color: #333; }
.txt-gris        { color: #444; }
.txt-blanco      { color: white !important; }
.txt-negro-puro  { color: black; }

/* === Tamaños de fuente === */
.fs-14   { font-size: 14px; }
.fs-sm   { font-size: small; }
.fw-bold-center { font-weight: bold; text-align: center; }

/* === Alineación de texto === */
.txt-justify     { text-align: justify; }
.txt-center      { text-align: center; }
.txt-justify-lh  { text-align: justify; line-height: 1.7; }
.txt-justify-lh-pb { text-align: justify; line-height: 1.7; padding-bottom: 20px; }

/* === Combinaciones frecuentes azul === */
.txt-azul-14     { color: var(--azul-1); font-size: 14px; word-break: break-all; }
.txt-center-azul { text-align: center; color: var(--azul-1); }
.txt-azul-justify { text-align: justify; line-height: 1.7; }

/* === Fondos === */
.bg-azul-white   { background-color: var(--azul-1); color: white; }

/* === Dimensiones === */
.w-250  { width: 250px; }
.w-200  { width: 200px; }
.mw-350 { max-width: 350px; }
.img-cover-400 { max-height: 400px; object-fit: cover; }

/* === Listas === */
.list-disc-25 { margin-left: 25px; list-style-type: disc; }

/* === Padding/Margin === */
.pt-05r  { padding-top: 0.5rem; }
.mt-5px  { margin-top: 5px; }
.fs-14-mt5 { font-size: 14px; margin-top: 5px; }

/* === Links blancos (menu nav) === */
.link-blanco {
    color: white !important;
    text-decoration: none !important;
    display: block;
    padding: 10px;
}

/* === Cintilla/banner con imagen de fondo === */
.cintilla-bg { background-size: cover; background-position: center; }
/* === Segunda ronda de utilidades === */
.h-380          { height: 380px; }
.h-220-cover    { height: 220px; object-fit: cover; }
.mh-400-cover   { max-height: 400px; object-fit: cover; }
.bg-azul-imp    { background: var(--azul-1) !important; }
.bg-naranja     { background-color: var(--naranja-1); }
.bg-naranja-imp { background: var(--naranja-1) !important; }
.bg-white       { background-color: white; }
.list-disc-pl   { list-style-type: disc; padding-left: 2rem; }
.list-none-pl   { list-style: none !important; padding-left: 15px !important; }
.card-footer-azul {
    height: 55px; color: white !important;
    font-weight: bold; font-size: 1.2rem;
}
.txt-white-imp  { color: white !important; }
.w-full         { width: 100%; }
.w-50p          { width: 50%; }
.w-45-center    { width: 45%; margin: auto; display: block; }
.w-240          { width: 240px; }
.w-25p          { width: 25%; }
.txt-azul-mb20  { color: var(--azul-1); margin-bottom: 20px; }
.txt-naranja2-mb0 { color: var(--naranja-2); margin-bottom: 0; }
.mt-20          { margin-top: 20px; }
.fs-12          { font-size: 12px; }
.fs-20          { font-size: 20px; }
.fw-600         { font-weight: 600; }
.txt-justify-lh-pb40 { text-align: justify; line-height: 1.7; padding-bottom: 40px; }
.lh1-pt2        { line-height: 1; padding-top: 2px !important; }
.border-azul    { border: 4px solid var(--azul-1); }
.border-azul-r  { border: 4px solid var(--azul-1); border-radius: 8px; }
.border-r8      { border-radius: 8px; }
.txt-verde      { color: rgba(32, 110, 74); }
.cursor-p       { cursor: pointer; }
.txt-azul-no-dec { color: var(--azul-1); text-decoration: none; }
.txt-azul-14-bold { color: var(--azul-1); word-break: break-all; font-size: 14px; font-weight: bold; }
.txt-gris-fw6-mb15 { color: #444; font-weight: 600; margin-bottom: 15px; }
.bg-azul-center-bold {
    background-color: var(--azul-1); color: white;
    text-align: center; font-weight: bold;
}
.bg-naranja-rtop {
    background-color: var(--naranja-1);
    border-top-left-radius: 8px; border-top-right-radius: 8px;
}
.bg-azul-rtop {
    background-color: var(--azul-1);
    border-top-left-radius: 8px; border-top-right-radius: 8px;
}
.bg-azul-badge {
    background-color: var(--azul-1); padding: 5px;
    border-radius: 10px; color: white; text-align: center; display: inline-block;
}
.link-blanco-border {
    color: white !important; text-decoration: none !important;
    display: block; padding: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
.link-blanco-flex {
    color: white !important; text-decoration: none !important;
    display: flex; justify-content: space-between; padding: 10px;
}
/* === Cintilla (banner superior de página) - sin inline styles === */
#cintilla {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* === Galería thumbnails (homepage) - sin inline styles === */
.img-1, .img-2 {
    background-size: cover;
    background-position: center center;
    float: left;
}
/* === Layout Utility Classes (Reemplazando inline styles) === */
.list-none-pl0 { list-style: none !important; padding-left: 0 !important; }
.link-white-block-border { color: white !important; text-decoration: none !important; display: block; padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.link-white-flex-border { color: white !important; text-decoration: none !important; display: flex; justify-content: space-between; padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.txt-white-imp { color: white !important; }
.list-none-pl15 { list-style: none !important; padding-left: 15px !important; }
.h-35 { height: 35px; }
.p-custom-4-15-6-15 { padding: 4px 15px 6px 15px; }
.h-25 { height: 25px; }
.fs-25 { font-size: 25px; }
.lh1-pt2 { line-height: 1; padding-top: 2px !important; }
.fixed-btn-menu { position: fixed; top: 20px; left: 20px; z-index: 1050; margin: 0 !important; padding: 0 !important; }
.btn-menu-circle { border-radius: 50%; border: 0; width: 75px; height: 75px; font-size: 32px; line-height: 1; display: flex; justify-content: center; align-items: center; color: white; background-color: var(--azul-1); }
.h-90 { height: 90px; }
.w-210-h-70 { width: 210px; height: 70px; }
.bg-azul-1 { background-color: var(--azul-1); }
.txt-white-11pt-lh13 { color: #fff !important; font-size: 11pt !important; line-height: 1.3; }
.txt-azul4-bold-upper { font-weight: bold; color: var(--azul-4); text-transform: uppercase; }
.txt-white-bold-16pt { color: #fff; font-weight: bold; font-size: 16pt; }
.fs-20 { font-size: 20px; }

/* === Remaining View Utility Classes === */
.bg-azul-imp { background: var(--azul-1) !important; }
.bg-white { background-color: white; }
.txt-white-imp { color: white !important; }
.w-full { width: 100%; }
.w-50p { width: 50%; }
.w-45-center { width: 45%; margin: auto; display: block; }
.txt-azul-mb20 { color: var(--azul-1); margin-bottom: 20px; }
.txt-naranja2-mb0 { color: var(--naranja-2); margin-bottom: 0; }
.mt-20 { margin-top: 20px; }
.fs-12 { font-size: 12px; }
.fs-20 { font-size: 20px; }
.fw-600 { font-weight: 600; }
.list-disc-pl { list-style-type: disc; padding-left: 2rem; }
.list-none-pl { list-style: none !important; padding-left: 15px !important; }
.lh1-pt2 { line-height: 1; padding-top: 2px !important; }
.mh-400-cover { max-height: 400px; object-fit: cover; }
.h-380 { height: 380px; }
.txt-justify-lh-pb40 { text-align: justify; line-height: 1.7; padding-bottom: 40px; }
.txt-azul-14-bold { color: var(--azul-1); word-break: break-all; font-size: 14px; font-weight: bold; }
.bg-naranja-rtop { background-color: var(--naranja-1); border-top-left-radius: 8px; border-top-right-radius: 8px; }
.bg-azul-rtop { background-color: var(--azul-1); border-top-left-radius: 8px; border-top-right-radius: 8px; }
.bg-azul-center-bold { background-color: var(--azul-1); color: white; text-align: center; font-weight: bold; }
.link-blanco-flex { color: white !important; text-decoration: none !important; display: flex; justify-content: space-between; padding: 10px; }
.link-blanco-border { color: white !important; text-decoration: none !important; display: block; padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.2); }

/* Galeria CSP fixes */
.txt-shadow-dark { text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.cintilla-bg { background-size: cover; background-position: center; }
.bg-galeria-0 { background: var(--azul-1) !important; border-radius: 4px 4px 0 0; }
.bg-galeria-1 { background: var(--naranja-1) !important; border-radius: 4px 4px 0 0; }
.bg-galeria-2 { background: #004a87 !important; border-radius: 4px 4px 0 0; }
.bg-galeria-3 { background: #6c757d !important; border-radius: 4px 4px 0 0; }
.bg-galeria-4 { background: #198754 !important; border-radius: 4px 4px 0 0; }
.bg-galeria-5 { background: #d1612e !important; border-radius: 4px 4px 0 0; }

/* Plan de Estudios LTI Image Fix */
.img-malla-curricular { max-width: 800px; width: 100%; cursor: pointer; border-radius: 6px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }


