.lh-gbh {
    max-width: 170% !important;
    margin-left: -45%;
    margin-top: -17%;
}

.btn-lic-sol {
    background: #0039C7 0% 0% no-repeat padding-box;
    border-radius: 32px;
    color: #FFFFFF !important;
}

.btn-lic-sol:hover {
    background: #0038c7c7 0% 0% no-repeat padding-box;
    border-radius: 32px;
    color: #FFFFFF !important;
}

.card-cat {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 10px;
    border: 0;
}

.card-cat-img-wrapper {
    background-color: #F6F9FF;
    padding: 8px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.card-cat img {
    transition: filter 0.3s ease;
}

.card-cat:hover {
    background: #1046C0 0% 0% no-repeat padding-box;
    color: white;
}

.card-cat:hover img {
    filter: brightness(10) invert(1);
}

#area-interes h2 {
    color: #22D3EE;
}

#area-interes p {
    color: #F5F7FD;
}

.card-area-interes {
    background: transparent linear-gradient(270deg, #0039C7 0%, #001D64 100%) 0% 0% no-repeat padding-box;
    border-radius: 34px;
}

#logros {
    margin-top: 100px;
}

.card-logros-l {
    background-color: #b3c6fc55;
    border: 0;
    border-radius: 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#logros h2 {
    color: #2563FF;
}

#oferta-cuatrimestral h2 {
    color: #0B2D5C;
}

#oferta-cuatrimestral h6 {
    color: #526070
}

#oferta-cuatrimestral .badge-blue,
#oferta-semestral .badge-blue {
    background: #2563FF 0% 0% no-repeat padding-box;
    border-radius: 51px;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 200 !important;
}

#oferta-cuatrimestral .badge-blueS,
#oferta-semestral .badge-blueS {
    background: #1046C0 0% 0% no-repeat padding-box;
    border-radius: 51px;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 200 !important;
}

.card-of {
    background-color: #FFFFFF;
    border-radius: 30px;
    border: 0;
}

.card-of:hover {
    box-shadow: 0px 3px 6px #00000029;
}

.titulo-oc {
    color: #1046C0;
}

.texto-of {
    color: #2B2F3A;
}

.quiero-of {
    color: #2563FF;
}

/* ══════════════════ PAGE HERO ══════════════════ */
#lic-header .lh-azul {
    width: 100%;
    height: 400px;
    background: transparent linear-gradient(111deg, #1046C0 0%, #082360 100%) 0% 0% no-repeat padding-box;
    margin-top: -68px;
}

#lic-header .lh-negro {
    width: 100%;
    height: 50px;
    background: #0B1026;
}

.badge-yellow {
    background-color: #FFF200;
    border-radius: 17px;
    color: #526070;
    font-size: medium;
}

#lh-card .card {
    background: #FFFFFF !important;
    border-radius: 36px !important;
    border: none !important;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-top: -300px;
    padding-bottom: -5% !important;
}

#lh-card h2 {
    color: #0F1E3A !important;
}

#lh-card p {
    color: #526070;
}

.btn-lh-empezar {
    background: #2563FF !important;
    border-radius: 32px;
    color: #FFFFFF !important;
}

.btn-lh-lic {
    border: 2px solid #103B73 !important;
    border-radius: 32px;
    color: #103B73 !important;
}

.lh-mujer {
    max-width: 235% !important;
    width: 235%;
    margin-left: -100%;
    margin-top: -8%;
}

/* ══════════════════ CARACTERÍSTICAS ══════════════════ */

#lc-modalidad .card-yellow {
    background-color: #FFF200;
    border-radius: 28px;
    border: 0;
}

#lc-modalidad .card-yellow h5 {
    color: #0F1E3A;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
}

#lc-modalidad .card-yellow p {
    color: #333a4d;
    font-size: 0.95rem;
}

@media (min-width: 768px) {
    #lc-modalidad .card-yellow .row>.lc-col:not(:first-child) {
        padding-left: 3rem;
    }

    #lc-modalidad .card-yellow .row>.lc-col:not(:last-child) {
        padding-right: 3rem;
        border-right: 2.5px solid #0F1E3A;
    }
}

/* ══════════════════ DE QUÉ TRATA ══════════════════ */

#acerca-lic h2 {
    color: #1F2A44;
}

.card-al {
    background: #0B1026 0% 0% no-repeat padding-box;
    border-radius: 28px;
    color: #FFFFFF;
    width: 100% !important;
}

#acerca-lic .card-al .align-items-start {
    align-items: center !important;
}

#acerca-lic .card-al .align-items-start p {
    margin-bottom: 0;
}

.card-al div {
    margin-left: -50px;
}

.card-blue-al {
    background-color: #2563FF;
    color: #F6F9FF;
    border-radius: 28px;
}

.lh-sombrero {
    position: absolute;
    top: -25%;
    right: -13%;
}

@media(max-width: 768px) {
    .card-al div {
        margin-left: -2rem;
    }
}

/* ══════════════════ CAMPO LABORAL ══════════════════ */
#p-trab h2 {
    color: #1F2A44;
}

.card-p-trab-light {
    background-color: #B3C7FC;
    border-radius: 26px;
    border: 0;
    color: #F8FAFC;
    height: 100%;
}

.card-p-trab-primary {
    background-color: #5A83FA;
    border-radius: 26px;
    border: 0;
    color: #F8FAFC;
    height: 100%;
}

.card-p-trab-blue {
    background-color: #2E5EF9;
    border-radius: 26px;
    border: 0;
    color: #F8FAFC;
    height: 100%;
}

.card-p-trab-dark {
    background-color: #2347C3;
    border-radius: 26px;
    border: 0;
    color: #F8FAFC;
    height: 100%;
}

/* ══════════════════ PERFIL ══════════════════ */
#perfil {
    margin-top: 100px;
}

.card-profile {
    background: transparent linear-gradient(204deg, #2347C3 0%, #122462 100%) 0% 0% no-repeat padding-box;
    border-radius: 28px;
    max-height: fit-content;
}

.perfil-flex {
    width: 90%;
    margin-top: -40%;
}

@media (min-width: 768px) {
    .card-profile .col-md-5 {
        position: relative;
    }

    .perfil-flex {
        position: absolute;
        top: -200px;
        left: 0;
        width: 270%;
        height: 270%;
        object-fit: contain;
        margin-top: 0;
    }
}

/* ══════════════════ ETAPAS ══════════════════ */
#etapas {
    margin-top: 130px;
    padding-bottom: 120px;
}

#etapas h2 {
    color: #0F1E3A;
    font-weight: 800;
}

#etapas p.text-muted {
    color: #526070 !important;
    font-size: 1.05rem;
}

/* Base Card Styles */
#etapas .card-etapas {
    width: 100% !important;
    height: 410px !important;
    border-radius: 28px !important;
    border: #BFD6F0 solid 2px !important;
    padding: 24px !important;
    background-color: #FFFFFF !important;
    box-shadow: 0 10px 30px rgba(46, 94, 249, 0.04) !important;
    margin-bottom: 30px !important;
    display: flex;
    flex-direction: column;
}

/* Card Header Pills */
.titulo-etapa-1,
.titulo-etapa-2,
.titulo-etapa-resultado {
    font-size: 2rem !important;
    font-weight: 800 !important;
    padding: 12px 20px !important;
    border-radius: 20px !important;
    margin-bottom: 24px !important;
    border: none !important;
}

.titulo-etapa-1 {
    background: #5A83FA !important;
}

.titulo-etapa-2 {
    background: #2563FF !important;
}

.titulo-etapa-resultado {
    background: #1046C0 !important;
}

/* Card Content Items */
.etapa-item {
    display: flex;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1.5px solid #BFD6F0;
}

.etapa-item.last-item {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.etapa-icon-container {
    width: 45px;
    height: 45px;
    margin-right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.etapa-icon-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.etapa-item-text {
    font-family: 'Lato', sans-serif;
    color: #333A4D;
    line-height: 1.4;
}

.etapa-bolder {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #0F1E3A !important;
}

.etapa-formacion {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

.etapa-profesional {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
}

.etapa-profesional strong {
    font-weight: 800;
    color: #0F1E3A;
}

.etapa-resultado-1 {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #333A4D !important;
}

/* Staircase & Arrows (Desktop only) */
@media (min-width: 992px) {
    #etapas .card-etapas {
        margin-bottom: 0 !important;
    }

    .etapa-col {
        position: relative;
    }

    .etapa-col-1 {
        margin-top: 0;
    }

    .etapa-col-2 {
        margin-top: 150px;
    }

    .etapa-col-3 {
        margin-top: 280px;
    }

    /* Arrows Positioning */
    .etapa-arrow {
        position: absolute;
        width: 85px;
        z-index: 10;
        pointer-events: none;
    }

    .arrow-1-to-2 {
        top: 260px;
        right: -15px;
    }

    .arrow-2-to-3 {
        top: 250px;
        right: -15px;
    }

    /* Bottom Banner Offset */
    .banner-row {
        margin-top: -150px;
        position: relative;
        z-index: 5;
    }
}

/* Bottom Banner Card */
.card-oferta-new {
    background-color: #E1F0FD !important;
    border-radius: 36px;
    border: none !important;
}

@media (max-width: 991px) {
    .banner-row {
        margin-top: 20px;
    }
}

/* ══════════════════ SOBRE LA CARRERA ══════════════════ */
#sobre-carrera {
    padding: 80px 0;
}

#sobre-carrera h4 {
    color: #0F1E3A;
    font-weight: 800;
}

/* Sidebar Table Style */
.tabla-carrera {
    background: transparent;
    margin-bottom: 30px;
}

.tabla-carrera-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1.5px solid #BFD6F0;
}

.tabla-carrera-row:last-of-type {
    border-bottom: none;
}

.tabla-carrera-key {
    font-weight: 600;
    color: #0F1E3A;
    font-size: 1.05rem;
}

.tabla-carrera-val {
    color: #526070;
    font-weight: 500;
    font-size: 1.05rem;
    text-align: right;
}

/* Sidebar Buttons */
.btn-sobre-carrera-outline {
    border: 2px solid #BFD6F0 !important;
    color: #526070 !important;
    background-color: transparent !important;
    border-radius: 30px !important;
    font-weight: 500 !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

.btn-sobre-carrera-outline:hover {
    background-color: #E1F0FD !important;
    border-color: #2563FF !important;
    color: #2563FF !important;
}

.btn-sobre-carrera-solid {
    background-color: #2563FF !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 30px !important;
    font-weight: 500 !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

.btn-sobre-carrera-solid:hover {
    background-color: #1046C0 !important;
    box-shadow: 0 4px 15px rgba(37, 99, 255, 0.3) !important;
    color: #FFFFFF !important;
}

/* Tabs Styling */
#sobre-carrera .nav-tabs {
    border-bottom: 2px solid #BFD6F0 !important;
    gap: 10px;
    margin-bottom: 30px;
}

#sobre-carrera .nav-tabs .nav-link {
    border: none !important;
    background: transparent !important;
    color: #526070 !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    padding: 12px 24px !important;
    transition: all 0.3s ease !important;
    margin-bottom: -2px;
}

#sobre-carrera .nav-tabs .nav-link.active {
    color: #0F1E3A !important;
    border: 2px solid #BFD6F0 !important;
    border-bottom-color: var(--bg) !important;
    border-top-left-radius: 16px !important;
    border-top-right-radius: 16px !important;
    background-color: var(--bg) !important;
}

#sobre-carrera .nav-tabs .nav-link:hover:not(.active) {
    color: #2563FF !important;
}

/* Accordion Styling */
#sobre-carrera .accordion-item {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid #BFD6F0 !important;
    border-radius: 0 !important;
}

#sobre-carrera .accordion-button {
    background-color: transparent !important;
    color: #0F1E3A !important;
    font-weight: 600 !important;
    font-size: 1.45rem !important;
    padding: 24px 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#sobre-carrera .accordion-button::after {
    display: none !important;
    /* Hide default icon */
}

#sobre-carrera .accordion-button .arrow-icon {
    font-size: 1.35rem;
    color: #2563FF;
    transition: transform 0.3s ease-in-out;
}

#sobre-carrera .accordion-button:not(.collapsed) .arrow-icon {
    transform: rotate(90deg);
}

#sobre-carrera .accordion-body {
    padding: 0 0 24px 0 !important;
    color: #333A4D !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
}

/* Sub-headings and inner structure */
.perfil-subtitle {
    color: #2563FF;
    font-weight: 600;
    font-size: 1.1rem;
    margin-top: 15px;
    margin-bottom: 10px;
}

.perfil-heading-main {
    color: #0F1E3A;
    font-weight: 500;
    font-size: 1.65rem;
    margin-top: 30px;
    margin-bottom: 20px;
}

.plan-semestre-title {
    color: #0F1E3A;
    font-weight: 600;
    font-size: 1.15rem;
    margin-top: 20px;
    margin-bottom: 12px;
}

.plan-list {
    list-style: none;
    padding-left: 0;
}

.plan-list li {
    padding: 6px 0;
    font-weight: 500;
    color: #333A4D;
}

/* Prevent height jump and ghost spacing during tab transitions by instantly hiding inactive panes */
#sobre-carrera .tab-pane:not(.show) {
    display: none !important;
}