/*
Theme Name: UNIVERXIAL
Theme URI: https://univerxial.com
Author: UNIVERXIAL
Description: Tema oficial de UNIVERXIAL. Universidad online para cursos, certificaciones digitales y espacios para docentes.
Version: 2.2.0
Text Domain: univerxial
*/

:root{
    --ux-blue:#123f91;
    --ux-blue-2:#0c2f73;
    --ux-blue-3:#1f66e5;
    --ux-orange:#ff6b1a;
    --ux-orange-2:#ff8a2b;
    --ux-ink:#10203f;
    --ux-text:#36415a;
    --ux-muted:#6c768d;
    --ux-bg:#ffffff;
    --ux-soft:#f6f9fe;
    --ux-line:#e4ebf6;
    --ux-radius:22px;
    --ux-shadow:0 18px 50px rgba(25,55,110,.10);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ux-text);
    background:#fff;
    line-height:1.55;
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input{font:inherit}
.ux-container{width:min(1180px,calc(100% - 34px));margin:auto}

/* HEADER */
.ux-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(228,235,246,.9);
}
.ux-header-inner{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}
.ux-brand{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    line-height:0;
}
.ux-brand-logo{
    display:block;
    width:auto;
    height:48px;
    max-width:230px;
    object-fit:contain;
}
@media (max-width:900px){
    .ux-brand-logo{height:42px;max-width:200px}
}
@media (max-width:640px){
    .ux-brand-logo{height:36px;max-width:172px}
}
.ux-nav ul{list-style:none;display:flex;align-items:center;gap:26px}
.ux-nav a{font-size:.92rem;font-weight:700;color:#50607c;transition:.2s}
.ux-nav a:hover{color:var(--ux-blue-3)}
.ux-actions{display:flex;gap:10px;align-items:center}
.ux-btn{
    min-height:46px;
    padding:0 20px;
    border-radius:11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    border:1px solid transparent;
    transition:.2s ease;
    cursor:pointer;
}
.ux-btn:hover{transform:translateY(-1px)}
.ux-btn-primary{background:var(--ux-blue-3);color:#fff;box-shadow:0 10px 24px rgba(31,102,229,.22)}
.ux-btn-orange{background:var(--ux-orange);color:#fff;box-shadow:0 10px 24px rgba(255,107,26,.22)}
.ux-btn-outline-orange{background:#fff;color:var(--ux-orange);border-color:var(--ux-orange)}
.ux-btn-outline{background:#fff;color:var(--ux-blue);border-color:#d8e2f1}
.ux-btn-white{background:#fff;color:var(--ux-blue-2)}
.ux-btn-white-orange{background:#fff;color:var(--ux-orange)}

/* HERO */
.ux-hero{
    position:relative;
    overflow:hidden;
    padding:50px 0 24px;
    background:
        radial-gradient(circle at 15% 15%,rgba(31,102,229,.10),transparent 30%),
        radial-gradient(circle at 85% 20%,rgba(255,107,26,.07),transparent 28%),
        #fff;
}
.ux-hero-grid{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    min-height:510px;
    align-items:stretch;
    border-radius:26px;
    overflow:hidden;
    background:#fff;
}
.ux-hero-copy{
    padding:42px 28px 34px 8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.ux-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:8px 13px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dde6f2;
    box-shadow:0 8px 20px rgba(26,55,104,.07);
    color:var(--ux-blue);
    font-weight:800;
    font-size:.81rem;
    margin-bottom:18px;
}
.ux-kicker-dot{color:var(--ux-orange)}
.ux-hero h1{
    font-size:clamp(2.65rem,5vw,5.2rem);
    line-height:.98;
    letter-spacing:-.055em;
    color:var(--ux-ink);
    margin-bottom:20px;
}
.ux-hero h1 .ux-orange{color:var(--ux-orange)}
.ux-hero-copy>p{
    max-width:620px;
    font-size:1.04rem;
    color:#59647b;
    margin-bottom:24px;
}
.ux-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.ux-hero-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.ux-mini-feature{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:.82rem;
    color:#50607a;
    font-weight:650;
}
.ux-mini-icon{
    width:34px;height:34px;border-radius:11px;
    display:grid;place-items:center;
    background:#edf4ff;color:var(--ux-blue-3);
    flex:0 0 auto;font-size:1rem;
}
.ux-hero-media{
    min-height:510px;
    position:relative;
    overflow:hidden;
    border-radius:24px;
}
.ux-hero-media img{width:100%;height:100%;object-fit:cover}
.ux-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.24),transparent 27%,transparent 100%);
}
.ux-hero-note{
    position:absolute;
    right:18px;
    top:18px;
    width:185px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(18,63,145,.84);
    color:#fff;
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.24);
    box-shadow:var(--ux-shadow);
    font-size:.88rem;
}
.ux-hero-note strong{display:block;margin-bottom:5px;font-size:1rem}
.ux-hero-note span{color:#dceaff}

/* TEACHER BANNER */
.ux-teach-banner{
    margin:18px auto 0;
    border-radius:22px;
    overflow:hidden;
    display:grid;
    grid-template-columns:280px 1fr auto;
    align-items:center;
    background:linear-gradient(100deg,#ff8a2b 0%,#ff6b1a 55%,#f59c3a 100%);
    box-shadow:0 18px 42px rgba(255,107,26,.18);
    color:#10203f;
}
.ux-teach-photo{height:145px;overflow:hidden}
.ux-teach-photo img{width:100%;height:100%;object-fit:cover}
.ux-teach-copy{padding:20px 28px}
.ux-teach-copy h2{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.02;letter-spacing:-.035em;margin-bottom:8px;color:#10203f}
.ux-teach-copy p{max-width:600px;color:#243451;font-weight:600}
.ux-teach-action{padding:0 28px 0 10px}

/* SECTIONS */
.ux-section{padding:68px 0}
.ux-section-soft{background:linear-gradient(180deg,#f8fbff,#fff)}
.ux-section-head{
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:end;
    margin-bottom:26px;
}
.ux-section-title h2{
    color:var(--ux-ink);
    font-size:clamp(2rem,3.6vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.045em;
    margin-bottom:8px;
}
.ux-section-title p{color:var(--ux-muted);max-width:720px}
.ux-link-arrow{color:var(--ux-blue-3);font-weight:800;font-size:.92rem;white-space:nowrap}

/* COURSES */
.ux-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ux-course-card{
    border:1px solid var(--ux-line);
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 12px 30px rgba(29,61,115,.05);
    transition:.25s;
}
.ux-course-card:hover{transform:translateY(-4px);box-shadow:var(--ux-shadow)}
.ux-course-image{height:210px;overflow:hidden}
.ux-course-image img{width:100%;height:100%;object-fit:cover}
.ux-course-body{padding:18px}
.ux-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px}
.ux-tag{
    padding:5px 9px;border-radius:999px;background:#eef3f9;
    color:#5a6881;font-size:.7rem;font-weight:800;
}
.ux-tag-blue{background:#e8f1ff;color:var(--ux-blue)}
.ux-course-body h3{font-size:1.12rem;color:var(--ux-ink);line-height:1.2;margin-bottom:8px}
.ux-course-body p{font-size:.9rem;color:var(--ux-muted)}
.ux-course-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px}
.ux-course-meta{font-size:.78rem;color:#64718a;font-weight:700}
.ux-arrow-circle{
    width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
    border:1px solid #dce5f2;color:var(--ux-blue-3);font-weight:900
}

/* CERTIFICATIONS */
.ux-cert-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:center}
.ux-cert-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.ux-cert-benefit{
    padding:20px 16px;border:1px solid var(--ux-line);border-radius:17px;background:#fff
}
.ux-cert-benefit .ux-icon{
    width:42px;height:42px;border-radius:12px;background:#fff5ed;color:var(--ux-orange);
    display:grid;place-items:center;font-size:1.2rem;margin-bottom:12px
}
.ux-cert-benefit h3{font-size:.98rem;color:var(--ux-ink);margin-bottom:5px}
.ux-cert-benefit p{font-size:.82rem;color:var(--ux-muted)}
.ux-cert-photo{
    border-radius:24px;overflow:hidden;position:relative;min-height:430px;
    box-shadow:var(--ux-shadow)
}
.ux-cert-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ux-cert-badge{
    position:absolute;left:24px;bottom:24px;right:24px;
    border-radius:18px;background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);padding:16px 18px;
    display:flex;justify-content:space-between;gap:14px;align-items:center;
    box-shadow:0 12px 32px rgba(0,0,0,.12)
}
.ux-cert-badge strong{display:block;color:var(--ux-ink);margin-bottom:2px}
.ux-cert-badge span{font-size:.82rem;color:var(--ux-muted)}

/* AUDIENCE */
.ux-audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ux-audience{
    min-height:420px;border-radius:22px;overflow:hidden;position:relative;
    box-shadow:var(--ux-shadow)
}
.ux-audience img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ux-audience:before{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(90deg,rgba(9,34,82,.96) 0%,rgba(9,34,82,.76) 52%,rgba(9,34,82,.10) 100%);
}
.ux-audience.teacher:before{
    background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 56%,rgba(255,255,255,.05) 100%)
}
.ux-audience-content{
    position:relative;z-index:2;width:62%;padding:30px;color:#fff;height:100%;
    display:flex;flex-direction:column;justify-content:center
}
.ux-audience.teacher .ux-audience-content{color:var(--ux-ink)}
.ux-audience-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;margin-bottom:8px}
.ux-audience h3{font-size:2rem;line-height:1.03;letter-spacing:-.035em;margin-bottom:10px}
.ux-audience p{font-size:.92rem;margin-bottom:16px;color:rgba(255,255,255,.80)}
.ux-audience.teacher p{color:#5c687e}
.ux-list{display:grid;gap:8px;margin-bottom:18px}
.ux-list span{font-size:.86rem;font-weight:700;display:flex;gap:8px;align-items:center}
.ux-list span:before{content:"✓";color:var(--ux-orange);font-weight:900}

/* FINAL CTA */
.ux-final{
    margin-top:20px;
    padding:56px 0;
    background:
        radial-gradient(circle at 85% 40%,rgba(255,107,26,.24),transparent 24%),
        linear-gradient(120deg,#0b2a67,#123f91 55%,#0d4fbb);
    color:#fff;
}
.ux-final-inner{text-align:center;max-width:860px;margin:auto}
.ux-final h2{font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:-.045em;margin-bottom:12px}
.ux-final h2 span{color:var(--ux-orange)}
.ux-final p{color:#dbe8ff;margin-bottom:22px}
.ux-final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* FOOTER */
.ux-footer{
    padding:26px 0;border-top:1px solid var(--ux-line);color:#6e7890;font-size:.86rem
}
.ux-footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* AUTH */
.ux-auth{
    min-height:calc(100vh - 120px);
    padding:70px 0;
    display:grid;place-items:center;
    background:linear-gradient(180deg,#f6f9fe,#fff)
}
.ux-auth-card{
    width:min(740px,calc(100% - 28px));
    padding:34px;border:1px solid var(--ux-line);border-radius:24px;background:#fff;box-shadow:var(--ux-shadow)
}
.ux-auth-small{width:min(500px,calc(100% - 28px))}
.ux-auth-head{text-align:center;margin-bottom:24px}
.ux-auth-head h1{color:var(--ux-ink);font-size:2.25rem;margin-bottom:5px}
.ux-auth-head p{color:var(--ux-muted)}
.ux-role-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 24px}
.ux-role-option{position:relative}
.ux-role-option input{position:absolute;opacity:0}
.ux-role-label{
    display:block;height:100%;padding:18px;border:2px solid var(--ux-line);border-radius:16px;cursor:pointer
}
.ux-role-label strong{display:block;color:var(--ux-ink);margin-bottom:4px}
.ux-role-label span{font-size:.86rem;color:var(--ux-muted)}
.ux-role-option input:checked+.ux-role-label{border-color:var(--ux-blue-3);background:#f0f6ff}
.ux-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ux-field,.login-username,.login-password,.login-remember,.login-submit{margin-bottom:14px}
.ux-field label,.login-username label,.login-password label,.login-remember label{display:block;font-size:.86rem;font-weight:800;margin-bottom:6px;color:#42506a}
.ux-field input,.login-username input,.login-password input{
    width:100%;min-height:48px;padding:0 13px;border:1px solid #d9e2ef;border-radius:11px;outline:0
}
.ux-field input:focus,.login-username input:focus,.login-password input:focus{
    border-color:var(--ux-blue-3);box-shadow:0 0 0 3px rgba(31,102,229,.10)
}
.ux-form-actions .ux-btn,.login-submit input{
    width:100%;min-height:50px;border:0;border-radius:11px;background:var(--ux-blue-3);color:#fff;font-weight:800;cursor:pointer
}
.ux-auth-foot{text-align:center;font-size:.86rem;color:var(--ux-muted);margin-top:15px}
.ux-auth-foot a{color:var(--ux-blue-3);font-weight:800}
.ux-alert{padding:11px 13px;border-radius:10px;margin-bottom:15px;font-size:.88rem}
.ux-alert-error{background:#fff1f1;color:#a61b1b;border:1px solid #ffd0d0}
.ux-alert-success{background:#effcf4;color:#166534;border:1px solid #c8f1d6}

@media(max-width:980px){
    .ux-nav{display:none}
    .ux-hero-grid{grid-template-columns:1fr}
    .ux-hero-copy{padding:34px 0}
    .ux-hero-media{min-height:430px}
    .ux-teach-banner{grid-template-columns:220px 1fr}
    .ux-teach-action{grid-column:1/-1;padding:0 22px 22px}
    .ux-course-grid{grid-template-columns:1fr 1fr}
    .ux-cert-grid{grid-template-columns:1fr}
    .ux-audience-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
    .ux-container{width:min(100% - 22px,1180px)}
    .ux-actions .ux-btn-outline{display:none}
    .ux-hero{padding-top:30px}
    .ux-hero h1{font-size:3rem}
    .ux-hero-features{grid-template-columns:1fr}
    .ux-hero-media{min-height:360px}
    .ux-hero-note{width:160px;font-size:.77rem}
    .ux-teach-banner{grid-template-columns:1fr}
    .ux-teach-photo{height:180px}
    .ux-teach-copy{padding:22px}
    .ux-teach-action{padding:0 22px 22px}
    .ux-section{padding:52px 0}
    .ux-section-head{align-items:flex-start;flex-direction:column}
    .ux-course-grid{grid-template-columns:1fr}
    .ux-cert-benefits{grid-template-columns:1fr}
    .ux-audience{min-height:510px}
    .ux-audience-content{width:100%;padding:26px;background:linear-gradient(0deg,rgba(9,34,82,.94),rgba(9,34,82,.15))}
    .ux-audience.teacher .ux-audience-content{background:linear-gradient(0deg,rgba(255,255,255,.95),rgba(255,255,255,.28))}
    .ux-role-picker,.ux-form-grid{grid-template-columns:1fr}
}


/* =========================================================
   UNIVERXIAL v1.4 - DASHBOARD ALUMNO / PROFESOR
   ========================================================= */

.ux-account-page {
    min-height: calc(100vh - 74px);
    background: #f5f8fd;
}

.ux-account-shell {
    width: min(1440px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 255px 1fr;
    min-height: calc(100vh - 74px);
}

.ux-account-sidebar {
    background: #ffffff;
    border-right: 1px solid var(--ux-line);
    padding: 26px 18px;
    position: sticky;
    top: 74px;
    height: calc(100vh - 74px);
}

.ux-account-profile {
    padding: 12px 10px 24px;
    border-bottom: 1px solid var(--ux-line);
    margin-bottom: 18px;
}

.ux-account-avatar {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--ux-blue-3), var(--ux-blue));
    color: #fff;
    font-weight: 900;
    font-size: 1.1rem;
    margin-bottom: 12px;
}

.ux-account-profile strong {
    display: block;
    color: var(--ux-ink);
    line-height: 1.2;
}

.ux-account-profile span {
    color: var(--ux-muted);
    font-size: .82rem;
}

.ux-account-nav {
    display: grid;
    gap: 6px;
}

.ux-account-nav a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 12px;
    color: #516078;
    font-size: .9rem;
    font-weight: 750;
    transition: .18s ease;
}

.ux-account-nav a:hover,
.ux-account-nav a.is-active {
    background: #edf4ff;
    color: var(--ux-blue-3);
}

.ux-account-nav .ux-nav-icon {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    background: #f4f7fb;
    font-size: .84rem;
}

.ux-account-nav a.is-active .ux-nav-icon {
    background: var(--ux-blue-3);
    color: #fff;
}

.ux-account-sidebar-bottom {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 22px;
}

.ux-account-main {
    min-width: 0;
    padding: 34px 34px 70px;
}

.ux-account-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.ux-account-greeting .ux-small-label {
    display: block;
    color: var(--ux-orange);
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 4px;
}

.ux-account-greeting h1 {
    color: var(--ux-ink);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.ux-account-greeting p {
    color: var(--ux-muted);
    margin-top: 6px;
}

.ux-dashboard-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ux-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.ux-dashboard-stat {
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 26px rgba(25,55,110,.04);
}

.ux-dashboard-stat .ux-stat-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
}

.ux-dashboard-stat .ux-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: #edf4ff;
    color: var(--ux-blue-3);
    font-weight: 900;
}

.ux-dashboard-stat .ux-stat-icon.orange {
    background: #fff1e8;
    color: var(--ux-orange);
}

.ux-dashboard-stat strong {
    display: block;
    color: var(--ux-ink);
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: -.035em;
    margin-bottom: 6px;
}

.ux-dashboard-stat span {
    color: var(--ux-muted);
    font-size: .84rem;
}

.ux-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, .75fr);
    gap: 20px;
}

.ux-dashboard-panel {
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(25,55,110,.04);
    overflow: hidden;
}

.ux-dashboard-panel-head {
    padding: 20px 22px;
    border-bottom: 1px solid var(--ux-line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.ux-dashboard-panel-head h2 {
    color: var(--ux-ink);
    font-size: 1.12rem;
}

.ux-dashboard-panel-head a {
    color: var(--ux-blue-3);
    font-size: .82rem;
    font-weight: 800;
}

.ux-dashboard-panel-body {
    padding: 20px 22px;
}

.ux-dashboard-empty {
    min-height: 230px;
    border: 1px dashed #cfdbeb;
    border-radius: 16px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 28px;
    background: #fbfdff;
}

.ux-dashboard-empty .ux-empty-icon {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: #edf4ff;
    color: var(--ux-blue-3);
    font-size: 1.55rem;
    margin: 0 auto 14px;
}

.ux-dashboard-empty h3 {
    color: var(--ux-ink);
    margin-bottom: 6px;
}

.ux-dashboard-empty p {
    color: var(--ux-muted);
    font-size: .9rem;
    max-width: 440px;
    margin: 0 auto 14px;
}

.ux-quick-list {
    display: grid;
    gap: 10px;
}

.ux-quick-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: #f8fbff;
    border-radius: 14px;
}

.ux-quick-item .ux-quick-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--ux-blue-3);
    border: 1px solid var(--ux-line);
    flex: 0 0 auto;
}

.ux-quick-item strong {
    display: block;
    color: var(--ux-ink);
    font-size: .9rem;
}

.ux-quick-item span {
    display: block;
    color: var(--ux-muted);
    font-size: .77rem;
}

.ux-progress-card {
    padding: 16px;
    border: 1px solid var(--ux-line);
    border-radius: 15px;
    margin-bottom: 12px;
}

.ux-progress-card:last-child {
    margin-bottom: 0;
}

.ux-progress-card-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.ux-progress-card strong {
    color: var(--ux-ink);
    font-size: .9rem;
}

.ux-progress-card span {
    color: var(--ux-muted);
    font-size: .78rem;
}

.ux-progress-line {
    height: 8px;
    border-radius: 999px;
    background: #e8eef8;
    overflow: hidden;
}

.ux-progress-line > span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--ux-blue-3), var(--ux-orange));
    border-radius: inherit;
}

.ux-teacher-welcome {
    position: relative;
    overflow: hidden;
    padding: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 20%, rgba(255,107,26,.55), transparent 27%),
        linear-gradient(120deg, var(--ux-blue-2), var(--ux-blue-3));
    border-radius: 20px;
    margin-bottom: 20px;
}

.ux-teacher-welcome h2 {
    font-size: 1.8rem;
    line-height: 1.05;
    letter-spacing: -.035em;
    margin-bottom: 8px;
}

.ux-teacher-welcome p {
    color: #e6efff;
    max-width: 650px;
}

.ux-teacher-welcome .ux-btn {
    margin-top: 18px;
}

.ux-account-mobile-menu {
    display: none;
}

@media (max-width: 1100px) {
    .ux-dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .ux-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .ux-account-shell {
        grid-template-columns: 1fr;
    }

    .ux-account-sidebar {
        display: none;
    }

    .ux-account-main {
        padding: 24px 18px 60px;
    }

    .ux-account-mobile-menu {
        display: block;
        margin-bottom: 18px;
    }

    .ux-account-mobile-menu select {
        width: 100%;
        min-height: 46px;
        border: 1px solid var(--ux-line);
        border-radius: 12px;
        padding: 0 12px;
        background: #fff;
        color: var(--ux-ink);
    }

    .ux-account-top {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 540px) {
    .ux-dashboard-stats {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   UNIVERXIAL v1.5 - CREAR / EDITAR CURSOS
   ========================================================= */

.ux-course-form {
    display: grid;
    gap: 18px;
}

.ux-form-section {
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(25,55,110,.04);
    overflow: hidden;
}

.ux-form-section-head {
    padding: 18px 20px;
    border-bottom: 1px solid var(--ux-line);
}

.ux-form-section-head h2 {
    color: var(--ux-ink);
    font-size: 1.08rem;
    margin-bottom: 4px;
}

.ux-form-section-head p {
    color: var(--ux-muted);
    font-size: .84rem;
}

.ux-form-section-body {
    padding: 20px;
}

.ux-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ux-field textarea,
.ux-field select {
    width: 100%;
    border: 1px solid #d9e2ef;
    border-radius: 11px;
    background: #fff;
    padding: 12px 13px;
    color: var(--ux-text);
    outline: none;
}

.ux-field textarea {
    min-height: 130px;
    resize: vertical;
}

.ux-field select {
    min-height: 48px;
}

.ux-field textarea:focus,
.ux-field select:focus {
    border-color: var(--ux-blue-3);
    box-shadow: 0 0 0 3px rgba(31,102,229,.10);
}

.ux-help {
    display: block;
    color: var(--ux-muted);
    font-size: .76rem;
    margin-top: 6px;
}

.ux-check-row {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 13px 14px;
    background: #f8fbff;
    border: 1px solid var(--ux-line);
    border-radius: 12px;
}

.ux-check-row input {
    width: 18px;
    height: 18px;
}

.ux-image-preview {
    margin-top: 12px;
    width: min(380px, 100%);
    border: 1px solid var(--ux-line);
    border-radius: 14px;
    overflow: hidden;
    background: #f8fbff;
}

.ux-image-preview img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.ux-curriculum-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 14px;
}

.ux-curriculum-toolbar p {
    color: var(--ux-muted);
    font-size: .84rem;
}

.ux-module-list {
    display: grid;
    gap: 14px;
}

.ux-module-card {
    border: 1px solid #dfe7f3;
    border-radius: 16px;
    background: #fbfdff;
    overflow: hidden;
}

.ux-module-head {
    padding: 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #e5ecf6;
    background: #f5f9ff;
}

.ux-module-head input {
    min-height: 44px;
    width: 100%;
    border: 1px solid #d9e2ef;
    border-radius: 10px;
    padding: 0 12px;
    font-weight: 800;
    color: var(--ux-ink);
}

.ux-module-body {
    padding: 14px;
}

.ux-lessons-list {
    display: grid;
    gap: 10px;
}

.ux-lesson-row {
    display: grid;
    grid-template-columns: 1fr 130px auto;
    gap: 10px;
    align-items: center;
}

.ux-lesson-row input,
.ux-lesson-row select {
    min-height: 42px;
    border: 1px solid #d9e2ef;
    border-radius: 10px;
    padding: 0 11px;
    width: 100%;
    background: #fff;
}

.ux-small-btn {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 9px;
    border: 1px solid #d9e2ef;
    background: #fff;
    color: #53627b;
    font-weight: 800;
    cursor: pointer;
}

.ux-small-btn:hover {
    border-color: var(--ux-blue-3);
    color: var(--ux-blue-3);
}

.ux-small-btn.danger {
    color: #b42318;
}

.ux-add-lesson {
    margin-top: 12px;
}

.ux-course-form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    position: sticky;
    bottom: 15px;
    padding: 14px;
    border: 1px solid var(--ux-line);
    border-radius: 16px;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 32px rgba(25,55,110,.10);
    z-index: 20;
}

.ux-course-list {
    display: grid;
    gap: 14px;
}

.ux-my-course {
    display: grid;
    grid-template-columns: 160px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--ux-line);
    border-radius: 16px;
    background: #fff;
}

.ux-my-course-image {
    width: 160px;
    height: 100px;
    border-radius: 12px;
    overflow: hidden;
    background: #eef3f9;
    display: grid;
    place-items: center;
    color: #7c8aa2;
    font-weight: 800;
    font-size: .78rem;
}

.ux-my-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ux-my-course-info h3 {
    color: var(--ux-ink);
    font-size: 1.02rem;
    margin-bottom: 5px;
}

.ux-my-course-info p {
    color: var(--ux-muted);
    font-size: .84rem;
    margin-bottom: 8px;
}

.ux-course-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 900;
}

.ux-course-status.draft {
    background: #f1f4f8;
    color: #5d6879;
}

.ux-course-status.pending {
    background: #fff4db;
    color: #9a5c00;
}

.ux-course-status.publish {
    background: #eaf9ef;
    color: #17743a;
}

.ux-course-status.private {
    background: #eef0ff;
    color: #4e54a8;
}

.ux-course-price {
    font-weight: 900;
    color: var(--ux-blue-2);
}

.ux-message {
    padding: 12px 14px;
    border-radius: 11px;
    font-size: .86rem;
    margin-bottom: 16px;
}

.ux-message.success {
    background: #effcf4;
    color: #166534;
    border: 1px solid #c8f1d6;
}

.ux-message.error {
    background: #fff1f1;
    color: #a61b1b;
    border: 1px solid #ffd0d0;
}

/* PUBLIC COURSE PAGE */
.ux-course-hero {
    padding: 56px 0;
    background: linear-gradient(135deg, #0b2a67, #123f91);
    color: #fff;
}

.ux-course-hero-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 34px;
    align-items: center;
}

.ux-course-hero h1 {
    font-size: clamp(2.4rem, 4.8vw, 4.5rem);
    line-height: 1;
    letter-spacing: -.045em;
    margin-bottom: 14px;
}

.ux-course-hero p {
    color: #dce8ff;
    max-width: 720px;
}

.ux-public-course-card {
    background: #fff;
    color: var(--ux-text);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.20);
}

.ux-public-course-card img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.ux-public-course-card-body {
    padding: 20px;
}

.ux-public-course-price {
    font-size: 2rem;
    font-weight: 900;
    color: var(--ux-ink);
    margin-bottom: 12px;
}

.ux-course-details {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 28px;
    padding: 58px 0;
}

.ux-course-content-box {
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 18px;
    padding: 24px;
    margin-bottom: 18px;
}

.ux-course-content-box h2 {
    color: var(--ux-ink);
    margin-bottom: 14px;
}

.ux-curriculum-public {
    display: grid;
    gap: 12px;
}

.ux-public-module {
    border: 1px solid var(--ux-line);
    border-radius: 14px;
    overflow: hidden;
}

.ux-public-module h3 {
    padding: 13px 15px;
    background: #f5f9ff;
    color: var(--ux-ink);
    font-size: .95rem;
}

.ux-public-lessons {
    list-style: none;
    padding: 0;
}

.ux-public-lessons li {
    padding: 11px 15px;
    border-top: 1px solid var(--ux-line);
    color: #5d6880;
    font-size: .86rem;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 850px) {
    .ux-form-row,
    .ux-course-hero-grid,
    .ux-course-details {
        grid-template-columns: 1fr;
    }

    .ux-lesson-row {
        grid-template-columns: 1fr;
    }

    .ux-my-course {
        grid-template-columns: 1fr;
    }

    .ux-my-course-image {
        width: 100%;
        height: 180px;
    }
}


/* =========================================================
   UNIVERXIAL v1.6 - INSCRIPCIONES Y LECCIONES
   ========================================================= */

.ux-enroll-box {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.ux-lock-note {
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a4b0a;
    font-size: .84rem;
}

.ux-course-access-note {
    padding: 14px 16px;
    border-radius: 13px;
    background: #eef6ff;
    border: 1px solid #d6e8ff;
    color: #284a78;
    font-size: .86rem;
    margin-bottom: 16px;
}

.ux-lesson-detail {
    margin-top: 12px;
    border-top: 1px solid var(--ux-line);
    padding: 16px 15px;
    background: #fff;
}

.ux-lesson-detail h4 {
    color: var(--ux-ink);
    margin-bottom: 8px;
}

.ux-lesson-detail p {
    color: var(--ux-muted);
    font-size: .9rem;
}

.ux-lesson-video {
    margin-top: 14px;
    border-radius: 14px;
    overflow: hidden;
    background: #0f172a;
}

.ux-lesson-video iframe,
.ux-lesson-video video {
    width: 100%;
    aspect-ratio: 16/9;
    border: 0;
    display: block;
}

.ux-resource-link {
    margin-top: 12px;
    display: inline-flex;
}

.ux-lesson-editor {
    margin-top: 10px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #e0e8f3;
    background: #fff;
    display: grid;
    gap: 10px;
}

.ux-lesson-editor textarea {
    width: 100%;
    min-height: 90px;
    resize: vertical;
    padding: 10px 11px;
    border-radius: 9px;
    border: 1px solid #d9e2ef;
}

.ux-lesson-editor input[type="url"] {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border-radius: 9px;
    border: 1px solid #d9e2ef;
}

.ux-lesson-editor label {
    display: block;
    color: #4b5870;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.ux-student-course-list {
    display: grid;
    gap: 14px;
}

.ux-student-course {
    display: grid;
    grid-template-columns: 150px 1fr auto;
    gap: 16px;
    align-items: center;
    border: 1px solid var(--ux-line);
    border-radius: 16px;
    padding: 14px;
    background: #fff;
}

.ux-student-course-image {
    width: 150px;
    height: 96px;
    border-radius: 12px;
    overflow: hidden;
    background: #eef3f9;
}

.ux-student-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ux-student-course-info h3 {
    color: var(--ux-ink);
    margin-bottom: 5px;
    font-size: 1rem;
}

.ux-student-course-info p {
    color: var(--ux-muted);
    font-size: .82rem;
}

.ux-locked-lesson {
    opacity: .68;
}

@media (max-width: 750px) {
    .ux-student-course {
        grid-template-columns: 1fr;
    }

    .ux-student-course-image {
        width: 100%;
        height: 180px;
    }
}


/* =========================================================
   UNIVERXIAL v1.7 - PROGRESO Y CERTIFICADOS
   ========================================================= */
.ux-learning-progress{padding:16px;border:1px solid var(--ux-line);border-radius:15px;background:#f8fbff;margin-bottom:18px}
.ux-learning-progress-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.ux-learning-progress-top strong{color:var(--ux-ink)}
.ux-learning-progress-top span{color:var(--ux-blue-3);font-weight:900}
.ux-learning-bar{height:10px;background:#e7edf7;border-radius:999px;overflow:hidden}
.ux-learning-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--ux-blue-3),var(--ux-orange));border-radius:inherit}
.ux-complete-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--ux-line)}
.ux-completed-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#eaf9ef;color:#17743a;font-weight:900;font-size:.8rem}
.ux-lesson-done{color:#17743a;font-weight:900}
.ux-student-progress-row{margin-top:10px}
.ux-student-progress-row .ux-learning-progress{margin:0;padding:11px 12px}
.ux-student-progress-row .ux-learning-progress-top{margin-bottom:7px;font-size:.78rem}
.ux-certificate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ux-certificate-card{border:1px solid var(--ux-line);border-radius:18px;padding:20px;background:radial-gradient(circle at 90% 10%,rgba(255,107,26,.09),transparent 30%),#fff}
.ux-certificate-card .ux-cert-mini-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#fff3e9;color:var(--ux-orange);font-size:1.35rem;margin-bottom:14px}
.ux-certificate-card h3{color:var(--ux-ink);margin-bottom:6px}
.ux-certificate-card p{color:var(--ux-muted);font-size:.84rem;margin-bottom:14px}
.ux-certificate-page{min-height:100vh;padding:50px 20px;background:#eef3f9}
.ux-certificate-sheet{width:min(1120px,100%);margin:0 auto;position:relative;overflow:hidden;background:#fff;border:14px solid var(--ux-blue-2);padding:68px 72px;min-height:720px;box-shadow:0 28px 70px rgba(15,38,80,.16)}
.ux-certificate-sheet:before,.ux-certificate-sheet:after{content:"";position:absolute;border-radius:50%}
.ux-certificate-sheet:before{width:260px;height:260px;right:-100px;top:-100px;background:var(--ux-orange);opacity:.11}
.ux-certificate-sheet:after{width:310px;height:310px;left:-140px;bottom:-160px;background:var(--ux-blue-3);opacity:.08}
.ux-certificate-brand{position:relative;z-index:2;font-weight:900;font-size:1.35rem;letter-spacing:.08em;color:var(--ux-blue-2)}
.ux-certificate-brand span{color:var(--ux-orange)}
.ux-certificate-body{position:relative;z-index:2;text-align:center;padding:62px 20px 32px}
.ux-certificate-body .ux-cert-eyebrow{display:block;color:var(--ux-orange);font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;margin-bottom:18px}
.ux-certificate-body h1{color:var(--ux-ink);font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.04em;margin-bottom:18px}
.ux-certificate-body>p{color:var(--ux-muted);font-size:1rem;margin-bottom:18px}
.ux-certificate-student{display:inline-block;color:var(--ux-blue-2);font-family:Georgia,serif;font-size:clamp(2.2rem,4.5vw,4rem);border-bottom:2px solid #dbe3ef;padding:0 24px 8px;margin:10px 0 20px}
.ux-certificate-course{color:var(--ux-ink);font-size:1.65rem;font-weight:900;margin:10px 0 28px}
.ux-certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:800px;margin:42px auto 0}
.ux-certificate-meta div{border-top:1px solid #dce4ef;padding-top:10px}
.ux-certificate-meta strong{display:block;color:var(--ux-ink);font-size:.9rem}
.ux-certificate-meta span{color:var(--ux-muted);font-size:.8rem}
.ux-certificate-actions{width:min(1120px,100%);margin:20px auto 0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.ux-certificate-list{grid-template-columns:1fr}.ux-certificate-sheet{padding:38px 22px;border-width:8px;min-height:auto}.ux-certificate-body{padding:42px 0 20px}.ux-certificate-meta{grid-template-columns:1fr}}
@media print{body *{visibility:hidden!important}.ux-certificate-sheet,.ux-certificate-sheet *{visibility:visible!important}.ux-certificate-page{padding:0;background:#fff}.ux-certificate-sheet{position:absolute;left:0;top:0;width:100%;min-height:100vh;box-shadow:none;margin:0}.ux-certificate-actions,.ux-header,.ux-footer,#wpadminbar{display:none!important}}


/* =========================================================
   UNIVERXIAL v1.8 - PERFIL ÚNICO + AULA
   ========================================================= */

.ux-profile-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 22px;
    align-items: start;
}

.ux-profile-photo-card {
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 20px;
    padding: 20px;
    text-align: center;
}

.ux-profile-photo-large {
    width: 160px;
    height: 160px;
    border-radius: 28px;
    margin: 0 auto 14px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--ux-blue-3), var(--ux-blue-2));
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 900;
}

.ux-profile-photo-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ux-profile-photo-card p {
    color: var(--ux-muted);
    font-size: .8rem;
}

.ux-private-note {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f6f8fc;
    border: 1px solid var(--ux-line);
    color: #627087;
    font-size: .8rem;
    margin-bottom: 18px;
}

.ux-private-note strong {
    color: var(--ux-ink);
}

.ux-public-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.ux-public-chip {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: #edf4ff;
    color: var(--ux-blue-3);
    font-size: .72rem;
    font-weight: 800;
}

.ux-aula-card {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 90% 10%, rgba(255,107,26,.24), transparent 30%),
        linear-gradient(125deg, #0b2a67, #123f91);
    color: #fff;
    margin-bottom: 20px;
}

.ux-aula-card h2 {
    font-size: 2rem;
    line-height: 1.05;
    margin-bottom: 10px;
}

.ux-aula-card p {
    color: #dce9ff;
    max-width: 720px;
}

.ux-aula-price {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    margin: 22px 0 12px;
}

.ux-aula-price strong {
    font-size: 3rem;
    line-height: 1;
}

.ux-aula-price span {
    color: #cdddf7;
    font-weight: 700;
}

.ux-aula-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 18px 0;
}

.ux-aula-benefit {
    padding: 13px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    font-size: .84rem;
}

.ux-aula-smallprint {
    display: block;
    margin-top: 13px;
    color: #c9d8f2;
    font-size: .74rem;
}

.ux-aula-status {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 900;
    margin-bottom: 14px;
}

.ux-aula-status.active {
    background: #eaf9ef;
    color: #17743a;
}

.ux-aula-status.inactive {
    background: #fff3e9;
    color: #9a4b0a;
}

/* PUBLIC PROFILE */
.ux-public-profile-page {
    background: #f5f8fd;
    min-height: calc(100vh - 74px);
    padding: 54px 0 80px;
}

.ux-public-profile-card {
    width: min(820px, calc(100% - 26px));
    margin: auto;
    background: #fff;
    border: 1px solid var(--ux-line);
    border-radius: 26px;
    box-shadow: var(--ux-shadow);
    overflow: hidden;
}

.ux-public-profile-cover {
    height: 150px;
    background:
        radial-gradient(circle at 85% 20%, rgba(255,107,26,.35), transparent 28%),
        linear-gradient(120deg, var(--ux-blue-2), var(--ux-blue-3));
}

.ux-public-profile-content {
    padding: 0 34px 34px;
}

.ux-public-avatar {
    width: 142px;
    height: 142px;
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #fff;
    border: 6px solid #fff;
    box-shadow: 0 14px 34px rgba(20,47,94,.16);
    margin-top: -72px;
    margin-bottom: 18px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 900;
}

.ux-public-avatar.no-photo {
    background: linear-gradient(135deg, var(--ux-blue-3), var(--ux-blue-2));
}

.ux-public-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ux-public-profile-content h1 {
    color: var(--ux-ink);
    font-size: 2.35rem;
    line-height: 1.05;
    letter-spacing: -.04em;
    margin-bottom: 7px;
}

.ux-public-occupation {
    color: var(--ux-orange);
    font-weight: 900;
    margin-bottom: 18px;
}

.ux-public-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.ux-public-meta {
    padding: 15px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid var(--ux-line);
}

.ux-public-meta strong {
    display: block;
    color: var(--ux-ink);
    font-size: .78rem;
    margin-bottom: 3px;
}

.ux-public-meta span {
    color: var(--ux-muted);
    font-size: .88rem;
}

@media (max-width: 850px) {
    .ux-profile-layout {
        grid-template-columns: 1fr;
    }

    .ux-aula-benefits {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .ux-public-meta-grid {
        grid-template-columns: 1fr;
    }

    .ux-public-profile-content {
        padding-left: 22px;
        padding-right: 22px;
    }
}


/* =========================================================
   UNIVERXIAL v1.8.4 - MEJORA VISUAL MI AULA
   ========================================================= */

.ux-aula-card-upgraded {
    padding: 34px 34px 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.12), transparent 18%),
        radial-gradient(circle at 100% 0%, rgba(255,107,26,.22), transparent 24%),
        linear-gradient(125deg, #0c2a67 0%, #123a8b 52%, #344d97 100%);
    box-shadow: 0 26px 64px rgba(16, 37, 75, .18);
}

.ux-aula-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr);
    gap: 26px;
    align-items: center;
}

.ux-aula-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #d9e6ff;
    font-size: .78rem;
    font-weight: 800;
    margin-bottom: 16px;
}

.ux-aula-copy h2 {
    margin-bottom: 12px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.ux-aula-copy p {
    font-size: 1.02rem;
    max-width: 700px;
}

.ux-aula-price-box {
    margin: 22px 0 18px;
}

.ux-aula-mini-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.ux-aula-mini-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
    font-size: .78rem;
    font-weight: 800;
}

.ux-aula-benefits.upgraded {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin: 22px 0 22px;
}

.ux-aula-benefits.upgraded .ux-aula-benefit {
    min-height: 118px;
    padding: 18px 18px 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    backdrop-filter: blur(6px);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.ux-aula-benefit-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.14);
    font-size: 1.3rem;
    flex-shrink: 0;
}

.ux-aula-benefit strong {
    display: block;
    font-size: 1.02rem;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 6px;
}

.ux-aula-benefit small {
    display: block;
    color: #d8e4ff;
    font-size: .84rem;
    line-height: 1.45;
}

.ux-aula-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 6px;
    margin-bottom: 12px;
}

.ux-btn-outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 20px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    transition: .2s ease;
}

.ux-btn-outline-light:hover {
    background: rgba(255,255,255,.14);
    color: #fff;
}

.ux-aula-smallprint {
    display: block;
    margin-top: 8px;
    font-size: .82rem;
    color: #d6e3fb;
    max-width: 760px;
}

.ux-aula-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin: 24px 0 22px;
}

.ux-aula-stat {
    display: flex;
    gap: 12px;
    align-items: center;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    padding: 16px 18px;
}

.ux-aula-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.14);
    font-size: 1.2rem;
    flex-shrink: 0;
}

.ux-aula-stat strong {
    display: block;
    color: #fff;
    font-size: .96rem;
    line-height: 1.15;
    margin-bottom: 4px;
}

.ux-aula-stat small {
    display: block;
    color: #d6e3fb;
    font-size: .77rem;
}

.ux-aula-visual {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ux-aula-visual-card {
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
    color: #fff;
    min-height: 96px;
    justify-content: center;
}

.ux-aula-visual-card span {
    font-size: 1.45rem;
    line-height: 1;
}

.ux-aula-visual-card strong {
    font-size: 1rem;
    line-height: 1.15;
}

.ux-aula-visual-card small {
    color: #d9e6ff;
    font-size: .8rem;
    line-height: 1.3;
}

.ux-aula-visual-card.big {
    min-height: 168px;
    padding: 22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
}

.ux-aula-visual-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
}

@media (max-width: 1080px) {
    .ux-aula-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 880px) {
    .ux-aula-benefits.upgraded,
    .ux-aula-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .ux-aula-card-upgraded {
        padding: 24px 18px 22px;
        border-radius: 22px;
    }

    .ux-aula-visual-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ux-aula-actions {
        flex-direction: column;
    }

    .ux-btn-outline-light {
        width: 100%;
    }
}


/* =========================================================
   UNIVERXIAL v1.8.5 - RESPONSIVE / MOBILE-FIRST MI AULA
   ========================================================= */

.ux-aula-benefits.upgraded {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
}

.ux-aula-benefits.upgraded .ux-aula-benefit {
    min-width: 0;
    min-height: 170px;
    padding: 22px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.16);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-align: center;
    overflow: hidden;
}

.ux-aula-benefits.upgraded .ux-aula-benefit-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-size: 1.5rem;
    background: rgba(255,255,255,.14);
}

.ux-aula-benefits.upgraded .ux-aula-benefit strong {
    width: 100%;
    margin: 0;
    color: #fff;
    font-size: 1rem;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ux-aula-benefits.upgraded .ux-aula-benefit small {
    width: 100%;
    margin: 0;
    color: #dce7ff;
    font-size: .82rem;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ux-aula-actions .ux-btn,
.ux-aula-actions .ux-btn-outline-light {
    min-height: 50px;
    touch-action: manipulation;
}

@media (max-width: 980px) {
    .ux-aula-benefits.upgraded {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ux-aula-benefits.upgraded .ux-aula-benefit:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .ux-aula-card-upgraded {
        padding: 22px 16px 20px;
        border-radius: 20px;
    }

    .ux-aula-hero {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ux-aula-copy h2 {
        font-size: 2rem;
        line-height: 1.06;
    }

    .ux-aula-copy p {
        font-size: .95rem;
        line-height: 1.5;
    }

    .ux-aula-benefits.upgraded {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ux-aula-benefits.upgraded .ux-aula-benefit,
    .ux-aula-benefits.upgraded .ux-aula-benefit:last-child {
        grid-column: auto;
        min-height: 0;
        padding: 18px 16px;
        border-radius: 18px;
    }

    .ux-aula-benefits.upgraded .ux-aula-benefit-icon {
        width: 52px;
        height: 52px;
        border-radius: 16px;
    }

    .ux-aula-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ux-aula-actions .ux-btn,
    .ux-aula-actions .ux-btn-outline-light {
        width: 100%;
        min-height: 52px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .ux-aula-visual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media (max-width: 420px) {
    .ux-aula-card-upgraded {
        padding: 18px 14px;
    }

    .ux-aula-kicker {
        font-size: .7rem;
        padding: 7px 10px;
    }

    .ux-aula-copy h2 {
        font-size: 1.75rem;
    }

    .ux-aula-price strong {
        font-size: 2.35rem;
    }

    .ux-aula-price span {
        font-size: .8rem;
    }

    .ux-aula-mini-badges {
        gap: 7px;
    }

    .ux-aula-mini-badge {
        font-size: .7rem;
        padding: 7px 9px;
    }

    .ux-aula-visual-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   v1.9.0 - CHECKOUT + INGRESOS INTEGRADOS
   ========================================================= */

.ux-course-payment-note {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff7e8;
    border: 1px solid #f4d9a6;
    color: #86662d;
    font-size: .76rem;
    line-height: 1.45;
}

.ux-account-main .uxp-commerce-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ux-account-main .uxp-commerce-page .uxp-directory-head {
    margin-top: 0;
}

@media (max-width: 680px) {
    .ux-course-payment-note {
        font-size: .73rem;
    }
}
