:root {
    --ciscf-navy: #061a33;
    --ciscf-navy-soft: #103b66;
    --ciscf-gold: #c9a447;
    --ciscf-gold-light: #e5ca78;
    --ciscf-white: #ffffff;
    --ciscf-background: #f4f7fb;
    --ciscf-text: #17243a;
    --ciscf-muted: #667085;
    --ciscf-border: #e1e7ef;
    --ciscf-success: #087443;
    --ciscf-danger: #b42318;
    --ciscf-shadow: 0 18px 50px rgba(6, 26, 51, .10);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ciscf-text);
    background: var(--ciscf-background);
    font-family: Inter, Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.ciscf-container {
    width: min(1380px, calc(100% - 48px));
    margin-inline: auto;
}

.ciscf-topbar {
    min-height: 43px;
    display: flex;
    align-items: center;
    color: var(--ciscf-navy);
    background: linear-gradient(90deg, #b98d2e, #e4c66f);
    font-size: 13px;
    font-weight: 800;
}

.ciscf-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ciscf-topbar-contact,
.ciscf-socials {
    display: flex;
    align-items: center;
    gap: 22px;
}

.ciscf-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(225, 231, 239, .9);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 30px rgba(6, 26, 51, .05);
}

.ciscf-header-inner {
    min-height: 106px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.ciscf-brand {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ciscf-brand img {
    width: 86px;
    height: 86px;
    object-fit: contain;
    filter: drop-shadow(0 7px 12px rgba(6, 26, 51, .14));
}

.ciscf-brand-name {
    max-width: 380px;
    color: var(--ciscf-navy);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.18;
}

.ciscf-brand-name small {
    display: block;
    margin-top: 7px;
    color: #967120;
    font-size: 10px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ciscf-nav {
    display: flex;
    align-items: center;
    gap: 25px;
}

.ciscf-nav a {
    color: #27364b;
    font-size: 14px;
    font-weight: 800;
    transition: .2s ease;
}

.ciscf-nav a:hover,
.ciscf-nav a.is-active {
    color: #92701f;
}

.ciscf-campus-button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    padding: 0 19px;
    border-radius: 9px;
    color: white !important;
    background: linear-gradient(135deg, #123e6b, var(--ciscf-navy));
    box-shadow: 0 10px 24px rgba(6, 26, 51, .18);
}

.ciscf-hero {
    position: relative;
    overflow: hidden;
    padding: 88px 0 100px;
    color: white;
    background:
        radial-gradient(circle at 82% 20%, rgba(201, 164, 71, .28), transparent 24%),
        radial-gradient(circle at 5% 90%, rgba(31, 95, 151, .30), transparent 27%),
        linear-gradient(120deg, #041326, #0a2c50 58%, #164f7d);
}

.ciscf-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -260px;
    bottom: -350px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.ciscf-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 75px;
    align-items: center;
}

.ciscf-eyebrow {
    color: var(--ciscf-gold-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ciscf-hero h1 {
    max-width: 830px;
    margin: 15px 0 22px;
    font-size: clamp(45px, 5vw, 72px);
    line-height: 1.02;
    letter-spacing: -2.8px;
}

.ciscf-hero p {
    max-width: 760px;
    margin: 0;
    color: #d6e2ef;
    font-size: 18px;
    line-height: 1.72;
}

.ciscf-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.ciscf-button {
    min-height: 53px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 23px;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 900;
}

.ciscf-button-primary {
    color: var(--ciscf-navy);
    background: linear-gradient(135deg, var(--ciscf-gold-light), var(--ciscf-gold));
}

.ciscf-button-secondary {
    border: 1px solid rgba(255, 255, 255, .25);
    color: white;
    background: rgba(255, 255, 255, .08);
}

.ciscf-hero-card {
    padding: 31px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(14px);
    box-shadow: 0 25px 70px rgba(0, 0, 0, .18);
}

.ciscf-hero-card img {
    width: 155px;
    height: 155px;
    display: block;
    margin: 0 auto 20px;
    object-fit: contain;
}

.ciscf-hero-card h2 {
    margin: 0 0 10px;
    text-align: center;
    font-size: 23px;
}

.ciscf-hero-card p {
    font-size: 14px;
    text-align: center;
}

.ciscf-section {
    padding: 85px 0;
}

.ciscf-section-white {
    background: white;
}

.ciscf-section-heading {
    max-width: 760px;
    margin-bottom: 37px;
}

.ciscf-section-heading span {
    color: #977323;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.ciscf-section-heading h2 {
    margin: 10px 0;
    color: var(--ciscf-navy);
    font-size: clamp(32px, 4vw, 47px);
    letter-spacing: -1.4px;
}

.ciscf-section-heading p {
    margin: 0;
    color: var(--ciscf-muted);
    font-size: 16px;
    line-height: 1.7;
}

.ciscf-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.ciscf-card {
    padding: 28px;
    border: 1px solid var(--ciscf-border);
    border-radius: 18px;
    background: white;
    box-shadow: var(--ciscf-shadow);
    transition: .25s ease;
}

.ciscf-card:hover {
    border-color: rgba(201, 164, 71, .65);
    transform: translateY(-6px);
}

.ciscf-card-icon {
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ciscf-gold-light);
    background: var(--ciscf-navy);
    font-size: 23px;
    font-weight: 900;
}

.ciscf-card h3 {
    margin: 18px 0 9px;
    color: var(--ciscf-navy);
    font-size: 21px;
}

.ciscf-card p {
    margin: 0;
    color: var(--ciscf-muted);
    font-size: 14px;
    line-height: 1.65;
}

.ciscf-footer {
    padding: 42px 0;
    color: #b9c7d7;
    background: #041326;
    font-size: 13px;
}

.ciscf-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.ciscf-whatsapp {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 200;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: white;
    background: #20c767;
    box-shadow: 0 16px 35px rgba(0, 0, 0, .24);
    font-size: 25px;
    font-weight: 900;
}

@media (max-width: 1100px) {
    .ciscf-nav {
        gap: 14px;
    }

    .ciscf-nav a {
        font-size: 12px;
    }

    .ciscf-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 850px) {
    .ciscf-topbar {
        display: none;
    }

    .ciscf-brand-name {
        display: none;
    }

    .ciscf-header-inner {
        min-height: 88px;
    }

    .ciscf-brand img {
        width: 67px;
        height: 67px;
    }

    .ciscf-nav a:not(.ciscf-campus-button) {
        display: none;
    }

    .ciscf-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 620px) {
    .ciscf-container {
        width: min(100% - 28px, 1380px);
    }

    .ciscf-hero {
        padding: 65px 0 72px;
    }

    .ciscf-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .ciscf-card-grid {
        grid-template-columns: 1fr;
    }

    .ciscf-footer-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   ACCESO INSTITUCIONAL
========================================================= */

.auth-page {
    min-height: calc(100vh - 149px);
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    background: #fff;
}

.auth-visual {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 70px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(201,164,71,.25), transparent 25%),
        radial-gradient(circle at 85% 80%, rgba(32,92,145,.30), transparent 28%),
        linear-gradient(145deg, #031326 0%, #082746 55%, #0d3a64 100%);
}

.auth-visual::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    right: -320px;
    top: -320px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.auth-visual-content {
    position: relative;
    z-index: 2;
    max-width: 650px;
}

.auth-logo {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 35px;
    filter: drop-shadow(0 12px 24px rgba(0,0,0,.20));
}

.auth-visual .auth-label {
    color: #e4c66f;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.auth-visual h1 {
    margin: 14px 0 22px;
    font-size: clamp(42px,5vw,68px);
    line-height: 1.02;
    letter-spacing: -2.5px;
}

.auth-visual p {
    max-width: 590px;
    margin: 0;
    color: #cbd9e8;
    font-size: 17px;
    line-height: 1.7;
}

.auth-features {
    display: grid;
    gap: 13px;
    margin-top: 35px;
}

.auth-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #e6edf5;
    font-size: 14px;
    font-weight: 700;
}

.auth-feature-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    flex: 0 0 29px;
    border-radius: 50%;
    color: #071b34;
    background: #d7b65a;
    font-size: 12px;
    font-weight: 900;
}

.auth-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px;
    background:
        radial-gradient(circle at 90% 5%, #f4ead0, transparent 24%),
        #fff;
}

.auth-box {
    width: min(100%, 510px);
}

.auth-back {
    display: inline-flex;
    margin-bottom: 38px;
    color: #718096;
    font-size: 13px;
    font-weight: 800;
}

.auth-back:hover {
    color: #9a7422;
}

.auth-heading-small {
    color: #a07824;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.auth-box h2 {
    margin: 10px 0 10px;
    color: #061a33;
    font-size: 38px;
    letter-spacing: -1.3px;
}

.auth-description {
    margin: 0 0 31px;
    color: #6b778a;
    font-size: 15px;
    line-height: 1.65;
}

.form-group {
    margin-bottom: 19px;
}

.form-label {
    display: block;
    margin-bottom: 8px;
    color: #24364d;
    font-size: 13px;
    font-weight: 900;
}

.form-control {
    width: 100%;
    height: 55px;
    padding: 0 16px;
    outline: none;
    border: 1px solid #d8e0e9;
    border-radius: 11px;
    color: #17243a;
    background: #fbfcfe;
    transition: .2s ease;
}

.form-control:focus {
    border-color: #b48c32;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(201,164,71,.12);
}

.auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 8px 0 25px;
}

.auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #5e6c80;
    font-size: 13px;
}

.auth-link {
    color: #9a7422;
    font-size: 13px;
    font-weight: 900;
}

.auth-submit {
    width: 100%;
    min-height: 56px;
    border: 0;
    border-radius: 11px;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg,#123e6b,#061a33);
    box-shadow: 0 14px 30px rgba(6,26,51,.18);
    font-weight: 900;
    transition: .2s ease;
}

.auth-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 17px 35px rgba(6,26,51,.24);
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 29px 0;
    color: #98a2b3;
    font-size: 12px;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e5eaf0;
}

.auth-register {
    padding: 19px;
    border: 1px solid #e1e7ef;
    border-radius: 12px;
    text-align: center;
    color: #667085;
    background: #f8fafc;
    font-size: 14px;
}

.auth-register a {
    color: #8d691b;
    font-weight: 900;
}

.auth-error {
    margin-bottom: 24px;
    padding: 14px 16px;
    border: 1px solid #f0c8c4;
    border-radius: 10px;
    color: #a62c22;
    background: #fff4f3;
    font-size: 13px;
}

.field-error {
    margin-top: 7px;
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 950px) {
    .auth-page {
        grid-template-columns: 1fr;
    }

    .auth-visual {
        min-height: auto;
        padding: 55px 30px;
    }

    .auth-visual h1 {
        font-size: 43px;
    }

    .auth-panel {
        padding: 55px 28px;
    }
}

@media (max-width: 520px) {
    .auth-visual {
        display: none;
    }

    .auth-panel {
        min-height: 100vh;
        padding: 35px 20px;
    }

    .auth-box h2 {
        font-size: 32px;
    }
}

/* =========================================================
   ÁREAS INTERNAS: ADMINISTRACIÓN Y CAMPUS
========================================================= */

.internal-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    background: #f3f6fa;
}

.internal-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 24px 18px;
    overflow-y: auto;
    color: #fff;
    background:
        radial-gradient(circle at 90% 7%, rgba(201,164,71,.22), transparent 23%),
        linear-gradient(180deg, #041326, #092847 58%, #0d355b);
}

.internal-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 8px 23px;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.internal-brand img {
    width: 67px;
    height: 67px;
    flex: 0 0 67px;
    object-fit: contain;
}

.internal-brand strong {
    display: block;
    font-size: 13px;
    line-height: 1.3;
}

.internal-brand small {
    display: block;
    margin-top: 5px;
    color: #e4c66f;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.internal-menu-label {
    margin: 26px 13px 9px;
    color: #8fa5bc;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.internal-menu {
    display: grid;
    gap: 5px;
}

.internal-menu-link {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    border-radius: 10px;
    color: #d5e0ec;
    font-size: 13px;
    font-weight: 800;
    transition: .2s ease;
}

.internal-menu-link:hover,
.internal-menu-link.is-active {
    color: #fff;
    background: rgba(255,255,255,.10);
}

.internal-menu-icon {
    width: 27px;
    color: #e2c36b;
    text-align: center;
    font-size: 16px;
    font-weight: 900;
}

.internal-sidebar-footer {
    margin-top: auto;
    padding-top: 19px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.internal-sidebar-footer a {
    display: block;
    padding: 8px 7px;
    color: #bac9d9;
    font-size: 12px;
    font-weight: 700;
}

.internal-logout {
    width: 100%;
    min-height: 43px;
    margin-top: 9px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 9px;
    color: #fff;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-weight: 800;
}

.internal-main {
    min-width: 0;
}

.internal-topbar {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 15px 35px;
    border-bottom: 1px solid #e2e7ee;
    background: #fff;
}

.internal-topbar-title small {
    display: block;
    color: #7b8797;
    font-size: 12px;
}

.internal-topbar-title strong {
    display: block;
    margin-top: 4px;
    color: #061a33;
    font-size: 20px;
}

.internal-profile {
    display: flex;
    align-items: center;
    gap: 12px;
}

.internal-avatar {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #e4c66f;
    background: #061a33;
    font-weight: 900;
}

.internal-profile strong {
    display: block;
    color: #17243a;
    font-size: 13px;
}

.internal-profile small {
    display: block;
    margin-top: 3px;
    color: #7b8797;
    font-size: 11px;
}

.internal-content {
    width: min(1520px, 100%);
    margin: auto;
    padding: 34px;
}

.dashboard-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 35px;
    align-items: center;
    padding: 37px;
    border-radius: 21px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 18%, rgba(201,164,71,.30), transparent 25%),
        linear-gradient(120deg, #061a33, #0c3158 58%, #15517f);
    box-shadow: 0 20px 55px rgba(6,26,51,.15);
}

.dashboard-hero-label {
    color: #e4c66f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.9px;
    text-transform: uppercase;
}

.dashboard-hero h1 {
    margin: 10px 0 13px;
    font-size: clamp(30px, 4vw, 47px);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.dashboard-hero p {
    max-width: 750px;
    margin: 0;
    color: #d5e1ed;
    font-size: 15px;
    line-height: 1.68;
}

.dashboard-hero img {
    width: min(210px, 75%);
    display: block;
    margin: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 30px rgba(0,0,0,.25));
}

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 17px;
    margin-top: 23px;
}

.dashboard-stat {
    padding: 22px;
    border: 1px solid #e1e7ef;
    border-radius: 15px;
    background: #fff;
}

.dashboard-stat span {
    color: #6b7788;
    font-size: 11px;
    font-weight: 800;
}

.dashboard-stat strong {
    display: block;
    margin-top: 9px;
    color: #061a33;
    font-size: 27px;
}

.dashboard-stat small {
    display: block;
    margin-top: 5px;
    color: #98a2b3;
    font-size: 11px;
}

.dashboard-section {
    margin-top: 30px;
}

.dashboard-section-heading {
    margin-bottom: 17px;
}

.dashboard-section-heading h2 {
    margin: 0;
    color: #061a33;
    font-size: 24px;
}

.dashboard-section-heading p {
    margin: 6px 0 0;
    color: #6b7788;
    font-size: 13px;
}

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

.dashboard-module {
    padding: 23px;
    border: 1px solid #e1e7ef;
    border-radius: 16px;
    background: #fff;
    transition: .22s ease;
}

.dashboard-module:hover {
    border-color: rgba(201,164,71,.65);
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(6,26,51,.09);
}

.dashboard-module-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #e4c66f;
    background: #061a33;
    font-size: 19px;
    font-weight: 900;
}

.dashboard-module h3 {
    margin: 16px 0 8px;
    color: #061a33;
    font-size: 18px;
}

.dashboard-module p {
    min-height: 61px;
    margin: 0;
    color: #6b7788;
    font-size: 13px;
    line-height: 1.58;
}

.dashboard-module span {
    display: block;
    margin-top: 16px;
    color: #987323;
    font-size: 12px;
    font-weight: 900;
}

@media (max-width: 1150px) {
    .internal-layout {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .internal-brand {
        justify-content: center;
    }

    .internal-brand div,
    .internal-menu-label,
    .internal-menu-link span:last-child,
    .internal-sidebar-footer a {
        display: none;
    }

    .internal-menu-link {
        justify-content: center;
    }

    .internal-menu-icon {
        width: auto;
    }

    .internal-logout {
        padding: 0;
        text-align: center;
        font-size: 0;
    }

    .internal-logout::after {
        content: "Salir";
        font-size: 12px;
    }

    .dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-modules {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .internal-layout {
        display: block;
    }

    .internal-sidebar {
        position: static;
        height: auto;
        padding: 13px;
    }

    .internal-brand {
        justify-content: flex-start;
        padding-bottom: 12px;
    }

    .internal-brand div {
        display: block;
    }

    .internal-brand img {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }

    .internal-menu-label,
    .internal-sidebar-footer {
        display: none;
    }

    .internal-menu {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 13px;
    }

    .internal-menu-link {
        min-height: 43px;
        padding: 7px;
    }

    .internal-topbar {
        padding: 14px 18px;
    }

    .internal-profile > div:last-child {
        display: none;
    }

    .internal-content {
        padding: 21px 14px;
    }

    .dashboard-hero {
        grid-template-columns: 1fr;
        padding: 27px 22px;
    }

    .dashboard-hero img {
        width: 135px;
    }

    .dashboard-stats,
    .dashboard-modules {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   CISCF_TITULACION_NATIVE_CSS_V2
   ========================================================== */

.tit-wrap {
    max-width: 1500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.tit-card {
    background: #fff;
    border: 1px solid #dfe5ec;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 4px 18px rgba(15,23,42,.05);
}

.tit-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.tit-eyebrow {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.tit-title {
    margin: 7px 0 0;
    color: #0f172a;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 900;
}

.tit-subtitle {
    margin: 10px 0 0;
    color: #64748b;
    font-size: 15px;
}

.tit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 0;
    border-radius: 9px;
    padding: 10px 16px;
    background: #071b34;
    color: #fff !important;
    text-decoration: none !important;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    appearance: none;
}

.tit-button:hover {
    opacity: .9;
}

.tit-button-green {
    background: #15803d;
}

.tit-button-light {
    background: #f8fafc;
    color: #0f172a !important;
    border: 1px solid #cbd5e1;
}

.tit-button-red {
    background: #b91c1c;
}

.tit-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 16px;
}

.tit-stat {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 3px 12px rgba(15,23,42,.04);
}

.tit-stat-label {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tit-stat-value {
    margin-top: 7px;
    color: #0f172a;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 900;
}

.tit-section-title {
    margin: 0;
    color: #0f172a;
    font-size: 20px;
    font-weight: 900;
}

.tit-section-help {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 14px;
}

.tit-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.tit-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.tit-table th {
    background: #f8fafc;
    color: #475569;
    padding: 12px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-bottom: 1px solid #e2e8f0;
}

.tit-table td {
    padding: 13px 14px;
    color: #334155;
    border-bottom: 1px solid #edf2f7;
    vertical-align: middle;
}

.tit-table tbody tr:last-child td {
    border-bottom: 0;
}

.tit-table tbody tr:hover {
    background: #fafcff;
}

.tit-strong {
    color: #0f172a;
    font-weight: 800;
}

.tit-open {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #047857;
    font-weight: 900;
}

.tit-open::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
}

.tit-closed {
    color: #64748b;
    font-weight: 700;
}

.tit-subjects {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    margin-top: 18px;
}

.tit-subject {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}

.tit-subject-number {
    color: #a5780c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

.tit-subject-name {
    margin-top: 5px;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 900;
}

.tit-subject-desc {
    margin-top: 5px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.tit-search {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.tit-input,
.tit-select {
    min-height: 42px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #fff;
    color: #0f172a;
    padding: 9px 12px;
    font-family: inherit;
    font-size: 14px;
}

.tit-input {
    flex: 1;
    min-width: 220px;
}

.tit-select {
    min-width: 190px;
}

.tit-input:focus,
.tit-select:focus {
    outline: none;
    border-color: #64748b;
    box-shadow: 0 0 0 3px rgba(100,116,139,.12);
}

.tit-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px;
    margin-top: 10px;
}

.tit-result-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tit-muted {
    color: #64748b;
    font-size: 13px;
}

.tit-empty {
    margin-top: 16px;
    padding: 18px;
    background: #f8fafc;
    border-radius: 10px;
    color: #64748b;
    text-align: center;
}

.tit-alert {
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 800;
}

.tit-success {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.tit-grid4 {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
    margin-top: 20px;
}

.tit-detail-label {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tit-detail-value {
    margin-top: 5px;
    color: #0f172a;
    font-weight: 900;
}

.tit-back {
    display: inline-flex;
    color: #475569 !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}

@media (max-width:1000px) {
    .tit-stats,
    .tit-grid4 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .tit-subjects {
        grid-template-columns: 1fr;
    }
}

@media (max-width:650px) {
    .tit-card {
        padding: 18px;
    }

    .tit-hero,
    .tit-result,
    .tit-search,
    .tit-result-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tit-stats,
    .tit-grid4 {
        grid-template-columns: 1fr;
    }

    .tit-title {
        font-size: 24px;
    }

    .tit-select {
        width: 100%;
        min-width: 0;
    }
}

/* FIN CISCF_TITULACION_NATIVE_CSS_V2 */

/* CISCF-V367E-BEGIN
   Constancia individual — estado cancelado
   Presentación únicamente
*/

.c34-document-workspace .cs12-style-2 {
    display: none !important;
}

.c367-cancelled-card {
    overflow: hidden !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(15,23,42,.07) !important;
}

.c367-cancelled-header {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 25px 27px !important;
    border-bottom: 1px solid #f2dddd !important;
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #fff7f7 100%
    ) !important;
}

.c367-cancelled-symbol {
    display: flex !important;
    width: 48px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    color: #b42318 !important;
    background: #fee4e2 !important;
    font-size: 23px !important;
    font-weight: 900 !important;
}

.c367-cancelled-title > span {
    display: block !important;
    margin-bottom: 5px !important;
    color: #b42318 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 1.2px !important;
}

.c367-cancelled-title h3 {
    margin: 0 !important;
    color: #10233c !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.c367-cancelled-title p {
    margin: 7px 0 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.c367-cancelled-badge {
    display: inline-flex !important;
    min-height: 31px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid #fecdca !important;
    border-radius: 999px !important;
    color: #b42318 !important;
    background: #fef3f2 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.c367-cancelled-info {
    display: grid !important;
    grid-template-columns: minmax(210px,.38fr) 1fr !important;
    gap: 14px !important;
    padding: 22px 27px !important;
}

.c367-info-item {
    padding: 16px 17px !important;
    border: 1px solid #e4e9ef !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

.c367-info-item > span {
    display: block !important;
    margin-bottom: 7px !important;
    color: #7b8798 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
}

.c367-info-item > strong {
    display: block !important;
    color: #182230 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
}

.c367-reissue {
    display: flex !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 27px 27px !important;
    padding: 19px 21px !important;
    border: 1px solid #d8e4ed !important;
    border-radius: 14px !important;
    background: #f7fafc !important;
}

.c367-reissue-text strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.c367-reissue-text p {
    margin: 5px 0 0 !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

.c367-reissue-btn {
    display: inline-flex !important;
    width: auto !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 19px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: #082c4b !important;
    box-shadow: 0 5px 14px rgba(8,44,75,.18) !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .15px !important;
}

.c367-reissue-btn:hover {
    background: #0b416c !important;
    transform: translateY(-1px);
}

.c367-reissue-btn span {
    font-size: 17px !important;
    line-height: 1 !important;
}

@media (max-width: 800px) {

    .c367-cancelled-header {
        grid-template-columns: 48px 1fr !important;
    }

    .c367-cancelled-badge {
        grid-column: 2 !important;
        justify-self: start !important;
    }

    .c367-cancelled-info {
        grid-template-columns: 1fr !important;
    }

    .c367-reissue {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .c367-reissue form,
    .c367-reissue-btn {
        width: 100% !important;
    }
}

/* CISCF-V367E-END */


/* =========================================================
   CISCF_MOBILE_NAV_ADMIN_V381D_BEGIN
   Navegación Campus para teléfonos
   No modifica escritorio
========================================================= */

.internal-mobile-admin-link {
    display: none;
}

@media (max-width: 720px) {

    /*
     * En móvil la versión anterior ocultaba el texto
     * y dejaba únicamente símbolos.
     */
    .internal-menu-link span:last-child {
        display: inline !important;
    }

    /*
     * Menú legible y táctil.
     */
    .internal-menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .internal-menu-link {
        min-width: 0 !important;
        min-height: 64px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        padding: 10px 12px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .internal-menu-icon {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 17px !important;
    }

    /*
     * Acceso administrativo visible únicamente
     * cuando Blade autoriza el permiso.
     */
    .internal-mobile-admin-link {
        display: flex !important;
        grid-column: 1 / -1 !important;
        min-height: 56px !important;
        color: #061a33 !important;
        background: linear-gradient(
            135deg,
            #e5ca78,
            #c9a447
        ) !important;
        font-weight: 900 !important;
    }

    /*
     * La marca conserva tamaño razonable
     * para no ocupar media pantalla.
     */
    .internal-brand {
        margin-bottom: 14px !important;
    }

    /*
     * Evita que textos largos desborden.
     */
    .internal-menu-link span:last-child {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }
}

/* CISCF_MOBILE_NAV_ADMIN_V381D_END */
/* =========================================================
   CISCF_PUBLIC_COURSE_CARD_CLICKABLE_V382B_R1_CSS
========================================================= */

.ciscf-course-image-link {
    display: block;
    cursor: pointer;
    overflow: hidden;
}

.ciscf-course-image-link img {
    transition:
        transform .22s ease,
        filter .22s ease;
}

.ciscf-course-image-link:hover img {
    transform: scale(1.018);
    filter: brightness(.96);
}

.ciscf-course-title-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.ciscf-course-title-link:hover {
    color: #0b5687;
}

/* FIN CISCF_PUBLIC_COURSE_CARD_CLICKABLE_V382B_R1_CSS */


/* ==========================================================
   CISCF_V386C6_ATTENTION_IMMERSIVE
   Centro de Atención como aplicación tipo WhatsApp Web.
   Solo afecta rutas admin.attention-center.*
   ========================================================== */

body.ciscf-attention-immersive{
    overflow:hidden;
}

body.ciscf-attention-immersive .internal-layout{
    height:100vh;
    min-height:100vh;
    overflow:hidden;
}

body.ciscf-attention-immersive .internal-sidebar{
    height:100vh;
}

body.ciscf-attention-immersive .internal-main{
    height:100vh;
    min-height:0;
    overflow:hidden;
}

/* En esta pantalla no necesitamos la cabecera administrativa */
body.ciscf-attention-immersive .internal-topbar{
    display:none !important;
}

/* El Centro de Atención usa absolutamente todo el espacio */
body.ciscf-attention-immersive .internal-content{
    width:100% !important;
    max-width:none !important;
    height:100vh !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;
}

/* Contenedor real del Centro de Atención */
body.ciscf-attention-immersive .cw-chat-page{
    width:100% !important;
    max-width:none !important;

    height:100vh !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;
}

/* Aplicación WhatsApp */
body.ciscf-attention-immersive .cw-app{
    width:100% !important;
    max-width:none !important;

    height:100vh !important;
    min-height:0 !important;

    margin:0 !important;

    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* Bandeja */
body.ciscf-attention-immersive .cw-inbox{
    height:100% !important;
    min-height:0 !important;

    border-radius:0 !important;
}

/* Zona derecha vacía */
body.ciscf-attention-immersive .cw-empty-panel{
    height:100% !important;
    min-height:0 !important;
}

/* Chat abierto */
body.ciscf-attention-immersive .cw-chat{
    height:100% !important;
    min-height:0 !important;
}

/* Panel de datos */
body.ciscf-attention-immersive .cw-details{
    height:100% !important;
    min-height:0 !important;
}

/* El área de mensajes es la que hace scroll */
body.ciscf-attention-immersive .cw-thread{
    min-height:0 !important;
    overflow-y:auto !important;
}

/* Desktop: proporciones tipo WhatsApp Web */
@media (min-width:1281px){

    body.ciscf-attention-immersive
    .cw-app:has(.cw-empty-panel){
        grid-template-columns:
            410px
            minmax(0,1fr) !important;
    }

    body.ciscf-attention-immersive
    .cw-app:has(.cw-chat){
        grid-template-columns:
            380px
            minmax(0,1fr)
            300px !important;
    }
}

/* Laptop */
@media (max-width:1280px) and (min-width:761px){

    body.ciscf-attention-immersive
    .cw-app:has(.cw-empty-panel){
        grid-template-columns:
            370px
            minmax(0,1fr) !important;
    }

    body.ciscf-attention-immersive
    .cw-app:has(.cw-chat){
        grid-template-columns:
            330px
            minmax(0,1fr) !important;
    }

    body.ciscf-attention-immersive .cw-details{
        display:none !important;
    }
}

/* Móvil */
@media (max-width:760px){

    body.ciscf-attention-immersive{
        overflow:auto;
    }

    body.ciscf-attention-immersive .internal-layout,
    body.ciscf-attention-immersive .internal-main,
    body.ciscf-attention-immersive .internal-content,
    body.ciscf-attention-immersive .cw-chat-page,
    body.ciscf-attention-immersive .cw-app{
        height:auto !important;
        min-height:100vh !important;
    }

    body.ciscf-attention-immersive .cw-app{
        grid-template-columns:1fr !important;
    }
}



/* === CISCF CONGRESS PREMIUM ADMIN BEGIN === */
:root {
        --cg-navy: #061a33;
        --cg-navy-2: #0b2c50;
        --cg-gold: #d8a436;
        --cg-gold-soft: #f7ecd0;
        --cg-text: #172033;
        --cg-muted: #667085;
        --cg-line: #e7ebf0;
        --cg-soft: #f7f9fc;
        --cg-white: #ffffff;
        --cg-green: #067647;
        --cg-red: #b42318;
    }

    .congress-wrap {
        max-width: 1280px;
        margin: 0 auto;
        padding: 6px 0 60px;
    }

    .congress-header {
        position: relative;
        overflow: hidden;
        margin-bottom: 26px;
        padding: 34px;
        border-radius: 26px;
        color: #fff;
        background:
            radial-gradient(
                circle at 88% 8%,
                rgba(216,164,54,.30),
                transparent 27%
            ),
            linear-gradient(
                135deg,
                #061a33 0%,
                #0b2c50 62%,
                #07172b 100%
            );
        box-shadow: 0 24px 60px rgba(6,26,51,.16);
    }

    .congress-header::after {
        content: "";
        position: absolute;
        right: -60px;
        bottom: -90px;
        width: 250px;
        height: 250px;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 50%;
        box-shadow:
            0 0 0 35px rgba(255,255,255,.025),
            0 0 0 70px rgba(255,255,255,.018);
        pointer-events: none;
    }

    .congress-header::before {
        content: "CISCF · CONGRESOS";
        display: inline-flex;
        position: relative;
        z-index: 1;
        margin-bottom: 14px;
        padding: 7px 11px;
        border: 1px solid rgba(216,164,54,.45);
        border-radius: 999px;
        background: rgba(216,164,54,.12);
        color: #f4cf7c;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .14em;
    }

    .congress-header h1 {
        position: relative;
        z-index: 1;
        margin: 0 0 8px;
        font-size: clamp(27px, 4vw, 42px);
        line-height: 1.05;
        letter-spacing: -.035em;
    }

    .congress-header h2 {
        position: relative;
        z-index: 1;
        max-width: 900px;
        margin: 0;
        color: rgba(255,255,255,.72);
        font-size: 15px;
        font-weight: 500;
        line-height: 1.6;
    }

    .congress-card {
        position: relative;
        overflow: hidden;
        margin-bottom: 22px;
        padding: 25px;
        border: 1px solid var(--cg-line);
        border-radius: 22px;
        background: var(--cg-white);
        box-shadow: 0 10px 34px rgba(16,24,40,.055);
    }

    .congress-card h3 {
        margin: 0 0 20px;
        color: var(--cg-navy);
        font-size: 18px;
        letter-spacing: -.015em;
    }

    .congress-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .congress-field {
        margin-bottom: 18px;
    }

    .congress-field label {
        display: block;
        margin-bottom: 7px;
        color: #344054;
        font-size: 12px;
        font-weight: 800;
    }

    .congress-field input,
    .congress-field textarea,
    .congress-field select {
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
        padding: 12px 14px;
        border: 1px solid #d8dee8;
        border-radius: 12px;
        outline: none;
        background: #fbfcfe;
        color: var(--cg-text);
        font: inherit;
        font-size: 14px;
        transition:
            border-color .18s ease,
            box-shadow .18s ease,
            background .18s ease;
    }

    .congress-field input:focus,
    .congress-field textarea:focus,
    .congress-field select:focus {
        border-color: var(--cg-gold);
        background: #fff;
        box-shadow: 0 0 0 4px rgba(216,164,54,.12);
    }

    .congress-field textarea {
        min-height: 120px;
        resize: vertical;
        line-height: 1.6;
    }

    .congress-field input[type="file"] {
        min-height: 56px;
        padding: 9px;
        border-style: dashed;
        background: var(--cg-soft);
    }

    .congress-field input[type="file"]::file-selector-button {
        margin-right: 12px;
        padding: 9px 13px;
        border: 0;
        border-radius: 8px;
        background: var(--cg-navy);
        color: #fff;
        font-weight: 800;
        cursor: pointer;
    }

    .congress-field small {
        display: block;
        margin-top: 7px;
        color: var(--cg-muted);
        font-size: 11px;
        line-height: 1.5;
    }

    .congress-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 0 18px;
        border: 0;
        border-radius: 11px;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .035em;
        cursor: pointer;
        text-decoration: none;
        transition:
            transform .18s ease,
            box-shadow .18s ease,
            opacity .18s ease;
    }

    .congress-button:hover {
        transform: translateY(-1px);
    }

    .congress-primary {
        background: var(--cg-navy);
        color: #fff;
        box-shadow: 0 8px 20px rgba(6,26,51,.15);
    }

    .congress-success {
        background: var(--cg-gold);
        color: var(--cg-navy);
        box-shadow: 0 8px 20px rgba(216,164,54,.18);
    }

    .congress-danger {
        background: #fff1f0;
        color: var(--cg-red);
        border: 1px solid #fecdca;
    }

    .congress-secondary {
        background: #eef2f6;
        color: var(--cg-navy);
    }

    .congress-alert {
        margin-bottom: 20px;
        padding: 15px 17px;
        border-radius: 13px;
        font-size: 13px;
        font-weight: 700;
    }

    .congress-alert-success {
        border: 1px solid #abefc6;
        background: #ecfdf3;
        color: #067647;
    }

    .congress-alert-error {
        border: 1px solid #fecdca;
        background: #fef3f2;
        color: #b42318;
    }

    .congress-conference {
        border-top: 4px solid var(--cg-navy);
    }

    .congress-conference::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 110px;
        height: 4px;
        background: var(--cg-gold);
    }

    .congress-conference-title {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 22px;
        padding-bottom: 18px;
        border-bottom: 1px solid #edf0f4;
    }

    .congress-position {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0 11px;
        border-radius: 999px;
        background: var(--cg-navy);
        color: #f2c86d;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .08em;
    }

    .congress-conference-title strong {
        padding: 7px 10px;
        border-radius: 999px;
        background: #ecfdf3;
        color: var(--cg-green);
        font-size: 9px;
        letter-spacing: .08em;
    }

    .congress-files {
        margin-top: 22px;
        padding: 18px;
        border: 1px solid var(--cg-line);
        border-radius: 15px;
        background: var(--cg-soft);
    }

    .congress-files > strong {
        display: block;
        margin-bottom: 9px;
        color: var(--cg-navy);
        font-size: 12px;
    }

    .congress-file {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-width: 0;
        padding: 11px 0;
        border-bottom: 1px solid #e7ebf0;
        color: #344054;
        font-size: 12px;
        font-weight: 700;
    }

    .congress-file:last-child {
        border-bottom: 0;
    }

    .congress-file span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .congress-file form {
        flex: 0 0 auto;
        margin: 0;
    }

    .congress-file button {
        padding: 7px 9px;
        border: 0;
        border-radius: 7px;
        background: #fee4e2;
        color: var(--cg-red);
        font-size: 9px;
        font-weight: 900;
        cursor: pointer;
    }

    .congress-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid #edf0f4;
    }

    .congress-empty {
        padding: 48px 24px;
        border: 1px dashed #cfd6df;
        background:
            linear-gradient(180deg, #fff, #fafbfc);
        color: var(--cg-muted);
        text-align: center;
    }

    .congress-empty h3 {
        margin-bottom: 7px;
    }

    .congress-empty p {
        margin: 0;
        font-size: 13px;
    }

    .congress-wrap > h2 {
        margin: 30px 0 15px;
        color: var(--cg-navy);
        font-size: 21px;
        letter-spacing: -.02em;
    }

    @media (hover:hover) {
        .congress-card {
            transition:
                border-color .2s ease,
                box-shadow .2s ease;
        }

        .congress-conference:hover {
            border-color: #d8dee8;
            box-shadow: 0 16px 42px rgba(16,24,40,.08);
        }
    }

    @media (max-width: 800px) {
        .congress-wrap {
            padding-bottom: 35px;
        }

        .congress-header {
            padding: 27px 21px;
            border-radius: 20px;
        }

        .congress-card {
            padding: 19px;
            border-radius: 17px;
        }

        .congress-grid {
            grid-template-columns: 1fr;
            gap: 0;
        }

        .congress-conference-title {
            flex-direction: column;
        }

        .congress-button {
            width: 100%;
        }

        .congress-actions form {
            width: 100%;
        }

        .congress-file {
            align-items: flex-start;
            flex-direction: column;
        }
    }
/* === CISCF CONGRESS PREMIUM ADMIN END === */


/* ============================================================
   CISCF CONGRESS STUDENT PREMIUM V3
   ============================================================ */

.ciscf-congress-student{
    --congress-navy:#071d36;
    --congress-blue:#0b4773;
    --congress-gold:#d6a934;
    --congress-text:#10213a;
    --congress-muted:#6d7d94;
    --congress-line:#dce4ee;
    --congress-soft:#f5f8fc;
    max-width:1220px;
    margin:0 auto;
    padding:8px 0 50px;
    color:var(--congress-text);
}

.ciscf-congress-back{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 20px;
    color:#8b6816;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}

.ciscf-congress-back:hover{
    transform:translateX(-3px);
}

.ciscf-congress-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    justify-content:space-between;
    gap:40px;
    padding:42px 46px;
    border-radius:25px;
    background:
        radial-gradient(
            circle at 90% 15%,
            rgba(41,139,198,.32),
            transparent 32%
        ),
        linear-gradient(
            120deg,
            #061a32 0%,
            #082b4e 55%,
            #0a5685 100%
        );
    box-shadow:0 22px 55px rgba(7,29,54,.18);
}

.ciscf-congress-hero:before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-130px;
    bottom:-190px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
}

.ciscf-congress-hero-content{
    position:relative;
    z-index:2;
    max-width:870px;
}

.ciscf-congress-eyebrow{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    color:#f1ce68;
    font-size:11px;
    font-weight:900;
    letter-spacing:2.3px;
    text-transform:uppercase;
}

.ciscf-congress-eyebrow-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#f1c650;
    box-shadow:0 0 0 5px rgba(241,198,80,.12);
}

.ciscf-congress-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(30px,3.2vw,48px);
    line-height:1.08;
    letter-spacing:-1.4px;
    font-weight:850;
}

.ciscf-congress-subtitle{
    margin:18px 0 0;
    color:#d5e3f0;
    font-size:17px;
    line-height:1.6;
}

.ciscf-congress-stats{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:30px;
}

.ciscf-congress-stat{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:185px;
    padding:12px 15px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:13px;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(10px);
}

.ciscf-congress-stat-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:10px;
    color:#f1c85b;
    background:rgba(241,200,91,.12);
    font-size:17px;
}

.ciscf-congress-stat strong,
.ciscf-congress-stat span{
    display:block;
}

.ciscf-congress-stat strong{
    color:#fff;
    font-size:13px;
}

.ciscf-congress-stat div > span{
    margin-top:2px;
    color:#9fb5ca;
    font-size:10px;
}

.ciscf-congress-hero-mark{
    position:relative;
    z-index:2;
    min-width:145px;
    align-self:center;
    text-align:center;
}

.ciscf-congress-hero-number{
    color:#fff;
    font-size:74px;
    line-height:.9;
    font-weight:900;
    letter-spacing:-5px;
}

.ciscf-congress-hero-mark > span{
    display:block;
    margin-top:9px;
    color:#e6c35e;
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}

.ciscf-congress-recording{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:22px;
    margin-top:24px;
    padding:24px 27px;
    border:1px solid #dce5ef;
    border-radius:19px;
    background:#fff;
    box-shadow:0 9px 30px rgba(21,48,79,.06);
}

.ciscf-congress-recording-icon{
    display:grid;
    place-items:center;
    width:60px;
    height:60px;
    border-radius:17px;
    color:#fff;
    background:linear-gradient(145deg,#0b345a,#0871a7);
    box-shadow:0 10px 24px rgba(8,77,119,.22);
    font-size:20px;
}

.ciscf-congress-section-kicker{
    display:block;
    margin-bottom:5px;
    color:#a47a13;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.7px;
    text-transform:uppercase;
}

.ciscf-congress-recording h2,
.ciscf-congress-program-head h2{
    margin:0;
    color:#10213a;
    font-size:22px;
    line-height:1.25;
}

.ciscf-congress-recording p{
    margin:7px 0 0;
    color:#738198;
    font-size:13px;
    line-height:1.55;
}

.ciscf-congress-watch{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:13px 18px;
    border-radius:11px;
    color:#fff;
    background:#0a5484;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}

.ciscf-congress-pending{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    color:#846313;
    background:#fff8df;
    border:1px solid #f0dda1;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}

.ciscf-congress-pending > span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d7a727;
}

.ciscf-congress-program-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin:42px 0 18px;
}

.ciscf-congress-program-head p{
    max-width:700px;
    margin:8px 0 0;
    color:#75839a;
    font-size:13px;
    line-height:1.55;
}

.ciscf-congress-program-count{
    display:flex;
    align-items:center;
    gap:10px;
}

.ciscf-congress-program-count strong{
    color:#0a416c;
    font-size:34px;
    line-height:1;
}

.ciscf-congress-program-count span{
    color:#7a879a;
    font-size:10px;
    line-height:1.25;
    text-transform:uppercase;
    letter-spacing:.6px;
}

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

.ciscf-congress-talk{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    border:1px solid #dce4ee;
    border-radius:19px;
    background:#fff;
    box-shadow:0 7px 25px rgba(17,44,75,.055);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.ciscf-congress-talk:hover{
    transform:translateY(-3px);
    border-color:#c7d5e4;
    box-shadow:0 15px 35px rgba(17,44,75,.1);
}

.ciscf-congress-talk:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(
        90deg,
        #d3a22b,
        #efd16d,
        #0a5888
    );
}

.ciscf-congress-talk-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 22px 0;
}

.ciscf-congress-talk-number{
    color:#0a4c79;
    font-size:28px;
    line-height:1;
    font-weight:900;
    letter-spacing:-1px;
}

.ciscf-congress-talk-label{
    padding:6px 9px;
    border-radius:7px;
    color:#886515;
    background:#fff8e4;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.ciscf-congress-talk-body{
    flex:1;
    padding:16px 22px 20px;
}

.ciscf-congress-talk h3{
    margin:0;
    color:#10213a;
    font-size:20px;
    line-height:1.25;
    letter-spacing:-.25px;
}

.ciscf-congress-speaker{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:15px;
    padding:11px 12px;
    border-radius:11px;
    background:#f5f8fb;
}

.ciscf-congress-speaker-icon{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    flex:0 0 31px;
    border-radius:9px;
    background:#e8eef5;
    font-size:14px;
}

.ciscf-congress-speaker span,
.ciscf-congress-speaker strong{
    display:block;
}

.ciscf-congress-speaker span{
    margin-bottom:2px;
    color:#8a96a8;
    font-size:8px;
    font-weight:850;
    letter-spacing:1px;
    text-transform:uppercase;
}

.ciscf-congress-speaker strong{
    color:#263952;
    font-size:12px;
    line-height:1.4;
}

.ciscf-congress-description{
    margin:15px 0 0;
    color:#66758a;
    font-size:12px;
    line-height:1.65;
}

.ciscf-congress-materials{
    padding:15px 22px 20px;
    border-top:1px solid #e7ecf2;
    background:#fbfcfe;
}

.ciscf-congress-materials-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.ciscf-congress-materials-head > div{
    display:flex;
    align-items:center;
    gap:8px;
}

.ciscf-congress-materials-head strong{
    color:#33465e;
    font-size:11px;
}

.ciscf-congress-material-icon{
    color:#ad831c;
    font-size:16px;
}

.ciscf-congress-material-count{
    color:#8a96a8;
    font-size:9px;
    font-weight:750;
}

.ciscf-congress-no-material{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:12px;
    padding:11px 12px;
    border:1px dashed #d6dee8;
    border-radius:10px;
    background:#fff;
}

.ciscf-congress-no-material > span{
    color:#c19a38;
}

.ciscf-congress-no-material strong{
    display:block;
    color:#647287;
    font-size:10px;
}

.ciscf-congress-no-material p{
    margin:2px 0 0;
    color:#99a3b2;
    font-size:9px;
    line-height:1.4;
}

.ciscf-congress-files{
    display:grid;
    gap:8px;
    margin-top:12px;
}

.ciscf-congress-file{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:10px;
    border:1px solid #e0e7ef;
    border-radius:10px;
    background:#fff;
}

.ciscf-congress-file-info{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.ciscf-congress-file-type{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:8px;
    color:#9d2626;
    background:#fff0f0;
    font-size:8px;
    font-weight:900;
}

.ciscf-congress-file-info strong,
.ciscf-congress-file-info div > span{
    display:block;
}

.ciscf-congress-file-info strong{
    overflow:hidden;
    color:#2a3d55;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ciscf-congress-file-info div > span{
    margin-top:2px;
    color:#9aa5b4;
    font-size:8px;
}

.ciscf-congress-download{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:8px;
    color:#0a4c79;
    background:#eaf4fa;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
}

.ciscf-congress-security{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:24px;
    padding:17px 19px;
    border:1px solid #e2e7ed;
    border-radius:14px;
    background:#f8fafc;
}

.ciscf-congress-security-icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:50%;
    color:#9c7415;
    background:#fff4d6;
}

.ciscf-congress-security strong{
    display:block;
    color:#314259;
    font-size:11px;
}

.ciscf-congress-security p{
    margin:3px 0 0;
    color:#8793a3;
    font-size:9px;
    line-height:1.5;
}

.ciscf-congress-empty{
    grid-column:1/-1;
    padding:45px;
    border:1px dashed #ccd7e3;
    border-radius:17px;
    background:#fff;
    text-align:center;
}

.ciscf-congress-empty strong{
    color:#213650;
}

.ciscf-congress-empty p{
    color:#8290a3;
}


/* TABLET */

@media (max-width:1000px){

    .ciscf-congress-grid{
        grid-template-columns:1fr;
    }

    .ciscf-congress-hero-mark{
        display:none;
    }

}


/* MOBILE */

@media (max-width:700px){

    .ciscf-congress-student{
        padding-bottom:30px;
    }

    .ciscf-congress-hero{
        padding:28px 23px;
        border-radius:18px;
    }

    .ciscf-congress-hero h1{
        font-size:30px;
    }

    .ciscf-congress-subtitle{
        font-size:14px;
    }

    .ciscf-congress-stats{
        display:grid;
        grid-template-columns:1fr;
    }

    .ciscf-congress-stat{
        width:100%;
    }

    .ciscf-congress-recording{
        grid-template-columns:auto 1fr;
        padding:20px;
    }

    .ciscf-congress-recording-action{
        grid-column:1/-1;
    }

    .ciscf-congress-pending,
    .ciscf-congress-watch{
        width:100%;
        justify-content:center;
    }

    .ciscf-congress-program-head{
        align-items:flex-start;
    }

    .ciscf-congress-program-count{
        display:none;
    }

    .ciscf-congress-talk-top{
        padding:18px 18px 0;
    }

    .ciscf-congress-talk-body{
        padding:14px 18px 18px;
    }

    .ciscf-congress-materials{
        padding:14px 18px 18px;
    }

    .ciscf-congress-file{
        align-items:flex-start;
        flex-direction:column;
    }

    .ciscf-congress-download{
        width:100%;
        justify-content:center;
    }

}


/* =========================================================
   CISCF CONGRESO VIDEO + MULTIFILE V1
   ========================================================= */

.ciscf-congress-video-shell{
    width:100%;
    margin-top:22px;
}

.ciscf-congress-video{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:18px;
    background:#020617;
    box-shadow:0 18px 45px rgba(2,6,23,.18);
}

.ciscf-congress-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.ciscf-congress-video-security{
    margin-top:10px;
    padding:10px 14px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
    color:#64748b;
    font-size:11px;
    font-weight:700;
}

.ciscf-congress-selected-files{
    margin-top:10px;
    padding:12px 14px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    line-height:1.7;
}

.ciscf-congress-selected-files strong{
    color:#061a33;
    font-weight:900;
}


/* ================================================================
   CISCF CONGRESS PROTECTED PLAYER V1
   ================================================================ */

.ciscf-congress-protected-video{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#000;
}

.ciscf-congress-protected-video iframe{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%;
    border:0;
}

.ciscf-congress-watermark{
    position:absolute;
    z-index:50;
    top:7%;
    left:5%;
    max-width:64%;
    padding:7px 11px;
    border-radius:5px;
    color:rgba(255,255,255,.66);
    background:rgba(0,0,0,.18);
    pointer-events:none;
    user-select:none;
    text-shadow:0 1px 3px rgba(0,0,0,.9);
    transition:
        top 1.2s ease,
        left 1.2s ease,
        right 1.2s ease,
        bottom 1.2s ease;
}

.ciscf-congress-watermark-main{
    font-size:11px;
    font-weight:800;
    line-height:1.35;
}

.ciscf-congress-watermark-student{
    margin-top:3px;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}

.ciscf-congress-watermark-datetime{
    margin-top:2px;
    font-size:9px;
    font-weight:700;
}

.ciscf-congress-player-controls{
    display:flex;
    width:100%;
    box-sizing:border-box;
    padding:11px 14px;
    align-items:center;
    gap:10px;
    color:#fff;
    background:#050505;
}

.ciscf-congress-player-controls button{
    border:0;
    color:#fff;
    background:transparent;
    cursor:pointer;
}

.ciscf-congress-control-main{
    width:35px;
    height:35px;
    font-size:17px;
}

.ciscf-congress-control{
    width:34px;
    height:34px;
    font-size:17px;
}

.ciscf-congress-player-time{
    display:flex;
    min-width:95px;
    gap:4px;
    color:#fff;
    font-size:10px;
    font-variant-numeric:tabular-nums;
}

.ciscf-congress-progress-control{
    flex:1;
    min-width:80px;
    accent-color:#d2ad57;
    cursor:pointer;
}

.ciscf-congress-speed-control{
    min-height:30px;
    padding:0 6px;
    border:1px solid #343434;
    border-radius:5px;
    color:#fff;
    background:#111;
    cursor:pointer;
    font-size:9px;
}

@media(max-width:650px){

    .ciscf-congress-watermark{
        max-width:78%;
        padding:5px 7px;
    }

    .ciscf-congress-watermark-main,
    .ciscf-congress-watermark-student{
        font-size:8px;
    }

    .ciscf-congress-player-controls{
        gap:5px;
        padding:8px;
    }

    .ciscf-congress-player-time{
        min-width:70px;
        font-size:8px;
    }

    .ciscf-congress-speed-control{
        display:none;
    }
}

/* ================================================================
   CISCF ADMIN ENROLLMENTS PAGINATION V1
   ================================================================ */

.ciscf-enroll-pagination{
    display:flex;
    width:100%;
    margin:24px 0 10px;
    padding:14px 16px;
    box-sizing:border-box;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 18px rgba(15,23,42,.04);
}

.ciscf-enroll-pagination-info{
    color:#64748b;
    font-size:12px;
    white-space:nowrap;
}

.ciscf-enroll-pagination-info strong{
    color:#0b2745;
    font-weight:800;
}

.ciscf-enroll-pagination-buttons{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}

.ciscf-enroll-page-numbers{
    display:flex;
    align-items:center;
    gap:5px;
}

.ciscf-enroll-page-button,
.ciscf-enroll-page-number{
    display:inline-flex;
    min-height:36px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    border:1px solid #dce3eb;
    border-radius:9px;
    color:#26384d;
    background:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.ciscf-enroll-page-button{
    padding:0 13px;
}

.ciscf-enroll-page-number{
    width:36px;
    padding:0;
}

a.ciscf-enroll-page-button:hover,
a.ciscf-enroll-page-number:hover{
    border-color:#0b3458;
    color:#fff;
    background:#0b3458;
    transform:translateY(-1px);
}

.ciscf-enroll-page-number.is-active{
    border-color:#0b3458;
    color:#fff;
    background:#0b3458;
    box-shadow:0 5px 12px rgba(11,52,88,.18);
}

.ciscf-enroll-page-button.is-disabled{
    color:#a8b2bf;
    background:#f6f8fa;
    cursor:not-allowed;
}

.ciscf-enroll-page-dots{
    display:inline-flex;
    width:25px;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:13px;
}

@media(max-width:760px){

    .ciscf-enroll-pagination{
        flex-direction:column;
        align-items:stretch;
    }

    .ciscf-enroll-pagination-info{
        text-align:center;
        white-space:normal;
    }

    .ciscf-enroll-pagination-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }
}


/* ================================================================
   CISCF CONGRESS LAYOUT V4
   TITULO COMPACTO + VIDEO GRANDE
   ================================================================ */


/* ------------------------------------------------
   TITULO PRINCIPAL
   ------------------------------------------------ */

.ciscf-congress-hero h1{
    width:100%;
    max-width:920px;

    margin-top:14px;
    margin-bottom:16px;

    font-size:clamp(32px, 3vw, 48px) !important;
    line-height:1.08 !important;
    letter-spacing:-1.4px;

    font-weight:800;

    text-wrap:balance;
}


/*
|--------------------------------------------------------------------------
| GRABACION GENERAL
|--------------------------------------------------------------------------
|
| Antes el texto y el video competían por el ancho.
| Ahora la tarjeta trabaja verticalmente:
|
| encabezado
| video grande
| seguridad
|
*/

.ciscf-congress-recording{
    display:block !important;
    width:100%;
    padding:28px !important;
    box-sizing:border-box;
}

.ciscf-congress-recording-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
}

.ciscf-congress-recording-copy h2{
    margin:5px 0 7px;
    font-size:26px;
    line-height:1.15;
}

.ciscf-congress-recording-copy p{
    max-width:850px;
    margin:0;
}


/* ------------------------------------------------
   CONTENEDOR DEL REPRODUCTOR
   ------------------------------------------------ */

.ciscf-congress-video-shell{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
}


/*
|--------------------------------------------------------------------------
| VIDEO 16:9
|--------------------------------------------------------------------------
*/

.ciscf-congress-protected-video{
    position:relative;

    width:100% !important;
    max-width:none !important;

    aspect-ratio:16 / 9;

    margin:0 auto;

    overflow:hidden;

    border-radius:14px 14px 0 0;

    background:#000;

    box-shadow:
        0 18px 45px rgba(4,24,44,.16);
}

.ciscf-congress-protected-video iframe{
    position:absolute !important;

    top:0;
    right:0;
    bottom:0;
    left:0;

    width:100% !important;
    height:100% !important;

    border:0;
}


/* ------------------------------------------------
   CONTROLES
   ------------------------------------------------ */

.ciscf-congress-player-controls{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;

    box-sizing:border-box;

    border-radius:0 0 12px 12px;
}


/* ------------------------------------------------
   AVISO DE SEGURIDAD
   ------------------------------------------------ */

.ciscf-congress-video-security{
    width:100% !important;

    margin-top:10px !important;

    box-sizing:border-box;
}


/* ------------------------------------------------
   ESCRITORIO GRANDE
   ------------------------------------------------ */

@media(min-width:1200px){

    .ciscf-congress-recording{
        padding:32px !important;
    }

    .ciscf-congress-protected-video{
        min-height:560px;
    }

}


/* ------------------------------------------------
   TABLET
   ------------------------------------------------ */

@media(max-width:900px){

    .ciscf-congress-hero h1{
        max-width:100%;

        font-size:clamp(
            30px,
            5vw,
            40px
        ) !important;

        letter-spacing:-1px;
    }

    .ciscf-congress-recording{
        padding:20px !important;
    }

    .ciscf-congress-recording-copy h2{
        font-size:23px;
    }

    .ciscf-congress-protected-video{
        min-height:0;
    }

}


/* ------------------------------------------------
   MOVIL
   ------------------------------------------------ */

@media(max-width:600px){

    .ciscf-congress-hero h1{
        font-size:28px !important;
        line-height:1.1 !important;
        letter-spacing:-.6px;
    }

    .ciscf-congress-recording{
        padding:14px !important;
    }

    .ciscf-congress-recording-copy{
        margin-bottom:14px !important;
    }

    .ciscf-congress-recording-copy h2{
        font-size:20px;
    }

    .ciscf-congress-protected-video{
        border-radius:10px 10px 0 0;
    }

}



/* ================================================================
   CISCF CONGRESS TITLE V5
   ================================================================ */

.ciscf-congress-hero
.ciscf-congress-main-title{
    width:100% !important;
    max-width:1050px !important;

    margin:16px 0 18px !important;

    font-size:clamp(
        34px,
        2.55vw,
        44px
    ) !important;

    line-height:1.08 !important;

    letter-spacing:-1.15px !important;

    font-weight:800 !important;
}

.ciscf-congress-main-title > span{
    display:block;
    width:100%;
}

/*
 * Segunda línea ligeramente más compacta para
 * equilibrar visualmente ambas líneas.
 */
.ciscf-congress-main-title > span:nth-child(2){
    margin-top:4px;
    font-size:.91em;
    letter-spacing:-1px;
}


/* Pantallas grandes */

@media(min-width:1500px){

    .ciscf-congress-hero
    .ciscf-congress-main-title{
        max-width:1100px !important;
        font-size:44px !important;
    }

}


/* Laptop */

@media(max-width:1250px){

    .ciscf-congress-hero
    .ciscf-congress-main-title{
        max-width:900px !important;
        font-size:36px !important;
    }

}


/* Tablet */

@media(max-width:850px){

    .ciscf-congress-hero
    .ciscf-congress-main-title{
        max-width:100% !important;

        font-size:31px !important;

        line-height:1.1 !important;
    }

}


/* Móvil:
   permitimos adaptación natural para evitar
   desbordamiento en pantallas pequeñas.
*/

@media(max-width:600px){

    .ciscf-congress-hero
    .ciscf-congress-main-title{
        font-size:27px !important;
        letter-spacing:-.6px !important;
    }

    .ciscf-congress-main-title > span{
        display:inline;
    }

    .ciscf-congress-main-title > span:nth-child(2){
        margin-left:4px;
        font-size:1em;
    }

}


/* ================================================================
   CISCF CONGRESS TITLE V6
   SEGUNDA LINEA MAS PEQUEÑA
   ================================================================ */

.ciscf-congress-main-title > span:nth-child(2){
    margin-top:8px !important;
    font-size:.68em !important;
    line-height:1.15 !important;
    letter-spacing:-.5px !important;
    font-weight:700 !important;
}

@media(max-width:850px){

    .ciscf-congress-main-title > span:nth-child(2){
        font-size:.72em !important;
    }

}

@media(max-width:600px){

    .ciscf-congress-main-title > span:nth-child(2){
        font-size:.78em !important;
    }

}

