#wpcontent {
    padding-left: 0;
}

#wpbody-content {
    padding-bottom: 0;
}

#wpfooter {
    display: none;
}

body[class*="_page_fenix-academy"],
body[class*="_page_fenix-academy"] #wpwrap,
body[class*="_page_fenix-academy"] #wpcontent,
body[class*="_page_fenix-academy"] #wpbody,
body[class*="_page_fenix-academy"] #wpbody-content {
    background: #07070b;
}

body[class*="_page_fenix-academy"] #wpbody-content {
    min-height: calc(100vh - 32px);
}

.fenix-academy {
    --academy-bg: #07070b;
    --academy-panel: #111118;
    --academy-text: #f8fafc;
    --academy-muted: #9ca3af;
    --academy-accent: #8b5cf6;
    min-height: calc(100vh - 32px);
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 8%, rgba(124, 58, 237, .13), transparent 28%),
        var(--academy-bg);
    color: var(--academy-text);
    font-family: Inter, "Segoe UI", system-ui, sans-serif;
}

.fenix-academy *,
.fenix-academy *::before,
.fenix-academy *::after {
    box-sizing: border-box;
}

.fenix-academy-topbar {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 68px;
    padding: 0 clamp(24px, 4vw, 64px);
    background: linear-gradient(180deg, rgba(7, 7, 11, .96), rgba(7, 7, 11, .5), transparent);
}

.fenix-academy-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}

.fenix-academy-brand:hover,
.fenix-academy-brand:focus {
    color: #fff;
}

.fenix-academy-brand strong {
    color: #a78bfa;
}

.fenix-academy-brand-mark {
    display: grid;
    place-items: center;
    width: 33px;
    height: 33px;
    border-radius: 10px;
    background: linear-gradient(145deg, #7c3aed, #c026d3);
    box-shadow: 0 8px 26px rgba(124, 58, 237, .35);
    font-size: 17px;
    font-weight: 800;
}

.fenix-academy-topbar-copy {
    color: #71717a;
    font-size: 12px;
    letter-spacing: .02em;
}

.fenix-academy-hero {
    position: relative;
    min-height: 500px;
    margin-top: -68px;
    overflow: hidden;
    isolation: isolate;
}

.fenix-academy-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(90deg, #09090f 4%, rgba(9, 9, 15, .84) 36%, rgba(9, 9, 15, .12) 68%),
        radial-gradient(circle at 76% 44%, #7c3aed 0, #312e81 20%, #111827 46%, #07070b 72%);
}

.fenix-academy-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 42%;
    background: linear-gradient(0deg, var(--academy-bg), transparent);
}

.fenix-academy-hero-art {
    position: absolute;
    top: 50%;
    right: clamp(8%, 13vw, 18%);
    width: clamp(280px, 34vw, 520px);
    aspect-ratio: 1;
    transform: translateY(-45%);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background:
        radial-gradient(circle at 44% 38%, rgba(255,255,255,.25), transparent 3%),
        radial-gradient(circle, rgba(192,132,252,.5), rgba(91,33,182,.2) 35%, rgba(2,6,23,.1) 66%);
    box-shadow:
        inset 0 0 80px rgba(196, 181, 253, .12),
        0 0 100px rgba(124, 58, 237, .25);
}

.fenix-academy-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.fenix-academy-orbit {
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.fenix-academy-orbit::before {
    content: "";
    position: absolute;
    top: 9%;
    left: 18%;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #e9d5ff;
    box-shadow: 0 0 20px #c084fc;
}

.fenix-academy-orbit.orbit-two {
    inset: 27%;
    transform: rotate(125deg);
}

.fenix-academy-hero-play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    padding-left: 5px;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    box-shadow: 0 15px 60px rgba(0,0,0,.3);
    backdrop-filter: blur(14px);
    cursor: pointer;
    font-size: 25px;
    font-family: inherit;
    text-decoration: none;
    transition: transform .25s ease, background .25s ease;
}

.fenix-academy-hero-play:hover,
.fenix-academy-hero-play:focus {
    background: rgba(255,255,255,.2);
    transform: translate(-50%, -50%) scale(1.06);
}

.fenix-academy-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(180deg, rgba(0,0,0,.18), transparent 26%),
        linear-gradient(90deg, rgba(0,0,0,.16), transparent);
}

.fenix-academy-hero-content {
    position: relative;
    z-index: 2;
    width: min(590px, 48vw);
    padding: 152px 0 86px clamp(24px, 4vw, 64px);
}

.fenix-academy-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    color: #c4b5fd;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.fenix-academy-eyebrow span {
    width: 26px;
    height: 2px;
    background: linear-gradient(90deg, #8b5cf6, #d8b4fe);
}

.fenix-academy-hero h1 {
    max-width: 570px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(38px, 4.5vw, 66px);
    font-weight: 750;
    line-height: .98;
    letter-spacing: -.055em;
}

.fenix-academy-hero p {
    max-width: 510px;
    margin: 0 0 17px;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.65;
}

.fenix-academy-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 17px;
    margin-bottom: 23px;
    color: #94a3b8;
    font-size: 11px;
}

.fenix-academy-hero-meta span:not(:last-child)::after {
    content: "•";
    margin-left: 17px;
    color: #52525b;
}

.fenix-academy-accent-line {
    display: block;
    width: 46px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #8b5cf6, #d8b4fe);
    box-shadow: 0 0 16px rgba(139,92,246,.42);
}

.fenix-academy-shelf {
    position: relative;
    z-index: 2;
    margin-top: -22px;
    padding: 0 clamp(24px, 4vw, 64px) 70px;
}

.fenix-academy-shelf-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 17px;
}

.fenix-academy-kicker {
    color: #8b5cf6;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fenix-academy-shelf h2 {
    margin: 4px 0 0;
    color: #f8fafc;
    font-size: 21px;
    line-height: 1.2;
}

.fenix-academy-shelf-controls {
    display: flex;
    gap: 7px;
}

.fenix-academy-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0 0 3px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background: rgba(255,255,255,.045);
    color: #d4d4d8;
    cursor: pointer;
    font-size: 24px;
    transition: border-color .2s, background .2s;
}

.fenix-academy-arrow:hover {
    border-color: rgba(167,139,250,.55);
    background: rgba(139,92,246,.16);
}

.fenix-academy-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(245px, 23%);
    gap: 14px;
    overflow-x: auto;
    padding: 3px 2px 16px;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.fenix-academy-track::-webkit-scrollbar {
    display: none;
}

.fenix-academy-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 12px;
    background: #101017;
    scroll-snap-align: start;
    cursor: pointer;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    color: inherit;
    text-decoration: none;
}

.fenix-academy-card:hover,
.fenix-academy-card:focus {
    z-index: 3;
    border-color: rgba(167,139,250,.35);
    box-shadow: 0 18px 45px rgba(0,0,0,.3);
    transform: translateY(-4px);
    color: inherit;
}

.fenix-academy-card-art {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.fenix-academy-card-art::before,
.fenix-academy-card-art::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
}

.fenix-academy-card-art::before {
    width: 56%;
    aspect-ratio: 1;
    background: rgba(255,255,255,.12);
    box-shadow: 0 0 40px rgba(255,255,255,.08);
}

.fenix-academy-card-art::after {
    width: 82%;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.11);
}

.fenix-academy-card-art.has-image::before,
.fenix-academy-card-art.has-image::after {
    display: none;
}

.fenix-academy-card-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.art-violet { background: linear-gradient(135deg, #312e81, #7c3aed 56%, #18181b); }
.art-blue   { background: linear-gradient(135deg, #172554, #2563eb 56%, #111827); }
.art-pink   { background: linear-gradient(135deg, #831843, #db2777 56%, #27101f); }
.art-orange { background: linear-gradient(135deg, #7c2d12, #ea580c 56%, #27130a); }
.art-cyan   { background: linear-gradient(135deg, #164e63, #0891b2 56%, #082f49); }

.fenix-academy-card-grid {
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(135deg, #000, transparent 72%);
}

.fenix-academy-card-play {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding-left: 3px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: rgba(0,0,0,.24);
    backdrop-filter: blur(8px);
    font-size: 14px;
    transition: transform .25s ease, background .25s ease;
}

.fenix-academy-card-badge {
    position: absolute;
    top: 8px;
    left: 9px;
    z-index: 2;
    padding: 4px 7px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(9,9,15,.68);
    color: #f3e8ff;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.fenix-academy-card:hover .fenix-academy-card-play {
    background: rgba(255,255,255,.2);
    transform: scale(1.08);
}

.fenix-academy-duration {
    position: absolute;
    right: 9px;
    bottom: 8px;
    z-index: 2;
    padding: 3px 6px;
    border-radius: 5px;
    background: rgba(0,0,0,.58);
    color: #e5e7eb;
    font-size: 9px;
}

.fenix-academy-card-copy {
    min-height: 78px;
    padding: 12px 13px 14px;
}

.fenix-academy-card-copy > span {
    color: #8b5cf6;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fenix-academy-card h3 {
    margin: 5px 0 0;
    color: #e5e7eb;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

/* ─── Página cinematográfica de detalle del tutorial ─── */
.fenix-academy-detail {
    position: relative;
    min-height: 530px;
    padding: 54px clamp(24px, 4vw, 64px) 70px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(7,7,11,.22), var(--academy-bg)),
        radial-gradient(circle at 78% 42%, rgba(124,58,237,.22), transparent 36%);
}

.fenix-academy-detail::after {
    content: "";
    position: absolute;
    right: -8%;
    bottom: -60%;
    width: 52vw;
    aspect-ratio: 1;
    border: 1px solid rgba(139,92,246,.09);
    border-radius: 50%;
    box-shadow: 0 0 90px rgba(124,58,237,.08);
    pointer-events: none;
}

.fenix-academy-back {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    margin-bottom: 48px;
    color: #a1a1aa;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s, transform .2s;
}

.fenix-academy-back:hover,
.fenix-academy-back:focus {
    color: #e9d5ff;
    transform: translateX(-3px);
}

.fenix-academy-detail-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(320px, .86fr) minmax(440px, 1.14fr);
    align-items: center;
    gap: clamp(40px, 6vw, 96px);
    max-width: 1500px;
    margin: 0 auto;
}

.fenix-academy-detail-copy h1 {
    max-width: 640px;
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(40px, 4.4vw, 66px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.05em;
}

.fenix-academy-detail-copy > p {
    max-width: 610px;
    margin: 0 0 13px;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.7;
}

.fenix-academy-detail-copy .fenix-academy-detail-note {
    color: #8f95a3;
    font-size: 13px;
}

.fenix-academy-detail-copy .fenix-academy-hero-meta {
    margin-top: 21px;
}

.fenix-academy-detail-player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    background: #000;
    box-shadow:
        0 35px 90px rgba(0,0,0,.38),
        0 0 70px rgba(124,58,237,.12);
    scroll-margin-top: 28px;
}

.fenix-academy-detail-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.fenix-academy-related {
    margin-top: 0;
    padding-top: 24px;
    padding-bottom: 44px;
}

.fenix-academy-suggestions {
    margin-top: 0;
    padding-top: 0;
}

.fenix-academy-home-primary {
    padding-bottom: 44px;
}

.fenix-academy-home-secondary {
    margin-top: 0;
    padding-top: 0;
}

/* ─── Administración propia: listado y formulario de videos ─── */
.fenix-academy-admin {
    min-height: calc(100vh - 32px);
    padding: clamp(28px, 4vw, 58px);
    background:
        radial-gradient(circle at 92% 4%, rgba(124,58,237,.12), transparent 25%),
        #07070b;
    color: #f8fafc;
    font-family: Inter, "Segoe UI", system-ui, sans-serif;
}

.fenix-academy-admin *,
.fenix-academy-admin *::before,
.fenix-academy-admin *::after {
    box-sizing: border-box;
}

.fenix-academy-admin-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    max-width: 1500px;
    margin: 0 auto 30px;
}

.fenix-academy-admin-head.compact {
    align-items: start;
    margin-bottom: 24px;
}

.fenix-academy-admin-kicker {
    color: #8b5cf6;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.fenix-academy-admin h1 {
    margin: 5px 0 7px;
    color: #fff;
    font-size: clamp(32px, 4vw, 50px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.045em;
}

.fenix-academy-admin-head p {
    margin: 0;
    color: #8f95a3;
    font-size: 13px;
}

.fenix-academy-admin-primary,
.fenix-academy-form-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(135deg, #7c3aed, #9333ea);
    box-shadow: 0 10px 30px rgba(124,58,237,.22);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.fenix-academy-admin-primary:hover,
.fenix-academy-admin-primary:focus,
.fenix-academy-form-actions button:hover {
    color: #fff;
    box-shadow: 0 13px 36px rgba(124,58,237,.32);
    transform: translateY(-2px);
}

.fenix-academy-admin-notice {
    max-width: 1500px;
    margin: 0 auto 18px;
    padding: 11px 14px;
    border: 1px solid rgba(34,197,94,.25);
    border-radius: 9px;
    background: rgba(34,197,94,.08);
    color: #bbf7d0;
    font-size: 12px;
}

.fenix-academy-admin-notice.is-error {
    border-color: rgba(248,113,113,.28);
    background: rgba(248,113,113,.08);
    color: #fecaca;
}

.fenix-academy-table-shell {
    max-width: 1500px;
    margin: 0 auto;
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
    background: rgba(255,255,255,.025);
    box-shadow: 0 24px 70px rgba(0,0,0,.2);
}

.fenix-academy-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.fenix-academy-table th {
    padding: 13px 15px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: #71717a;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .1em;
    text-align: left;
    text-transform: uppercase;
}

.fenix-academy-table td {
    padding: 13px 15px;
    border-bottom: 1px solid rgba(255,255,255,.055);
    color: #a1a1aa;
    font-size: 12px;
    vertical-align: middle;
}

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

.fenix-academy-table tbody tr {
    transition: background .2s;
}

.fenix-academy-table tbody tr:hover {
    background: rgba(255,255,255,.022);
}

.fenix-academy-table th.actions,
.fenix-academy-table td.actions {
    text-align: right;
}

.fenix-academy-table-thumb {
    position: relative;
    display: grid;
    place-items: center;
    width: 76px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: linear-gradient(135deg, #312e81, #7c3aed);
    color: #e9d5ff;
}

.fenix-academy-table-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fenix-academy-table-play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    padding: 0 0 0 2px;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: rgba(4,4,10,.58);
    color: #fff;
    cursor: pointer;
    font-size: 10px;
    line-height: 1;
    opacity: .88;
    backdrop-filter: blur(7px);
    transition: transform .2s ease, background .2s ease, opacity .2s ease;
}

.fenix-academy-table-play:hover,
.fenix-academy-table-play:focus {
    background: rgba(124,58,237,.88);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
}

.fenix-academy-video-title,
.fenix-academy-video-description {
    display: block;
}

.fenix-academy-video-title {
    margin-bottom: 4px;
    color: #e5e7eb;
    font-size: 12px;
}

.fenix-academy-video-description {
    max-width: 390px;
    color: #71717a;
    font-size: 10px;
}

.fenix-academy-video-taxonomy {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 7px;
}

.fenix-academy-video-taxonomy span,
.fenix-academy-video-taxonomy strong {
    display: inline-flex;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
}

.fenix-academy-video-taxonomy span {
    background: rgba(99,102,241,.1);
    color: #a5b4fc;
}

.fenix-academy-video-taxonomy strong {
    background: rgba(168,85,247,.1);
    color: #d8b4fe;
}

.fenix-academy-pill,
.fenix-academy-featured {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 9px;
    font-weight: 700;
}

.fenix-academy-pill {
    background: rgba(99,102,241,.1);
    color: #a5b4fc;
}

.fenix-academy-featured {
    background: rgba(245,158,11,.1);
    color: #fcd34d;
}

.fenix-academy-muted {
    color: #52525b;
    font-size: 10px;
}

.fenix-academy-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: end;
    gap: 7px;
}

.fenix-academy-row-actions a,
.fenix-academy-row-actions button {
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px;
    background: rgba(255,255,255,.025);
    color: #a1a1aa;
    cursor: pointer;
    font-size: 10px;
    text-decoration: none;
}

.fenix-academy-row-actions button {
    color: #fca5a5;
}

.fenix-academy-row-actions a:hover {
    border-color: rgba(139,92,246,.4);
    color: #ddd6fe;
}

.fenix-academy-row-actions button:hover {
    border-color: rgba(248,113,113,.35);
    background: rgba(248,113,113,.08);
}

.fenix-academy-row-actions form {
    margin: 0;
}

.fenix-academy-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 70px 20px;
    text-align: center;
}

.fenix-academy-empty > span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 14px;
    padding-left: 4px;
    border: 1px solid rgba(167,139,250,.2);
    border-radius: 50%;
    background: rgba(124,58,237,.1);
    color: #c4b5fd;
}

.fenix-academy-empty strong {
    color: #e5e7eb;
    font-size: 15px;
}

.fenix-academy-empty p {
    margin: 6px 0 13px;
    color: #71717a;
    font-size: 11px;
}

.fenix-academy-empty a {
    color: #a78bfa;
    font-size: 11px;
    text-decoration: none;
}

.fenix-academy-admin-back {
    display: inline-flex;
    margin-bottom: 25px;
    color: #8f95a3;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
}

.fenix-academy-admin-back:hover {
    color: #ddd6fe;
}

.fenix-academy-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}

.fenix-academy-form-main,
.fenix-academy-form-preview {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
    background: rgba(255,255,255,.026);
}

.fenix-academy-form-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
    padding: 24px;
}

.fenix-academy-form-preview {
    align-self: start;
    padding: 20px;
}

.fenix-academy-field.full {
    grid-column: 1 / -1;
}

.fenix-academy-field label {
    display: block;
    margin-bottom: 7px;
    color: #cbd5e1;
    font-size: 11px;
    font-weight: 650;
}

.fenix-academy-field label span {
    color: #c084fc;
}

.fenix-academy-field input,
.fenix-academy-field textarea,
.fenix-academy-field select {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    outline: none;
    background: #0c0c13;
    color: #e5e7eb;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.4;
    box-shadow: none;
}

.fenix-academy-field input:focus,
.fenix-academy-field textarea:focus,
.fenix-academy-field select:focus {
    border-color: rgba(139,92,246,.65);
    box-shadow: 0 0 0 3px rgba(124,58,237,.1);
}

.fenix-academy-field textarea {
    resize: vertical;
}

.fenix-academy-field select {
    background-color: #0c0c13;
    color: #fff;
    color-scheme: dark;
}

.fenix-academy-field select:focus,
.fenix-academy-field select:active {
    color: #fff;
    background-color: #0c0c13;
}

.fenix-academy-field select option {
    background: #0c0c13;
    color: #fff;
}

.fenix-academy-field select option:checked {
    background: #312e81;
    color: #fff;
}

.fenix-academy-media-field {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    gap: 7px;
}

.fenix-academy-media-select,
.fenix-academy-media-remove {
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    background: rgba(255,255,255,.045);
    color: #cbd5e1;
    cursor: pointer;
    font-family: inherit;
    font-size: 10px;
    font-weight: 650;
    white-space: nowrap;
}

.fenix-academy-media-select:hover {
    border-color: rgba(139,92,246,.48);
    background: rgba(124,58,237,.1);
    color: #e9d5ff;
}

.fenix-academy-media-remove {
    color: #fca5a5;
}

.fenix-academy-media-remove[hidden] {
    display: none;
}

.fenix-academy-field small,
.fenix-academy-form-preview p,
.fenix-academy-check small {
    display: block;
    margin-top: 6px;
    color: #626270;
    font-size: 9px;
    line-height: 1.45;
}

.fenix-academy-check {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(245,158,11,.12);
    border-radius: 9px;
    background: rgba(245,158,11,.035);
    cursor: pointer;
}

.fenix-academy-check input {
    margin: 2px 0 0;
}

.fenix-academy-check strong {
    display: block;
    color: #e5e7eb;
    font-size: 11px;
}

.fenix-academy-check small {
    margin-top: 2px;
}

.fenix-academy-image-preview {
    display: grid;
    place-items: center;
    aspect-ratio: 16 / 9;
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: linear-gradient(135deg, #1e1b4b, #581c87);
}

.fenix-academy-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fenix-academy-image-preview > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: #c4b5fd;
}

.fenix-academy-image-preview > div span {
    font-size: 22px;
}

.fenix-academy-image-preview > div small {
    color: #8f95a3;
    font-size: 9px;
}

.fenix-academy-form-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 10px;
    padding-top: 3px;
}

.fenix-academy-form-actions a {
    padding: 9px 13px;
    color: #8f95a3;
    font-size: 11px;
    text-decoration: none;
}

.fenix-academy-coming-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 900px;
    min-height: 360px;
    margin: 40px auto 0;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 18px;
    background: rgba(255,255,255,.025);
    text-align: center;
}

.fenix-academy-coming-soon > span {
    margin-bottom: 15px;
    color: #a78bfa;
    font-size: 30px;
}

.fenix-academy-coming-soon strong {
    color: #e5e7eb;
    font-size: 17px;
}

.fenix-academy-coming-soon p {
    max-width: 480px;
    color: #71717a;
    font-size: 11px;
}

.fenix-academy-term-table-shell {
    max-width: 1050px;
}

.fenix-academy-term-table {
    min-width: 680px;
}

.fenix-academy-term-name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fenix-academy-term-name span {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border: 1px solid rgba(139,92,246,.16);
    border-radius: 8px;
    background: rgba(124,58,237,.075);
    color: #a78bfa;
    font-size: 11px;
}

.fenix-academy-term-name strong {
    color: #e5e7eb;
    font-size: 12px;
}

.fenix-academy-term-head,
.fenix-academy-term-notice,
.fenix-academy-term-form {
    max-width: 680px;
}

.fenix-academy-term-notice {
    margin-left: auto;
    margin-right: auto;
}

.fenix-academy-term-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 0 auto;
    padding: 25px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
    background:
        linear-gradient(145deg, rgba(124,58,237,.035), transparent 42%),
        rgba(255,255,255,.025);
}

.fenix-academy-term-form .fenix-academy-form-actions {
    grid-column: auto;
    padding-top: 2px;
}

/* ─── Vista previa del video sobre la tabla ─── */
.fenix-academy-admin-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 28px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}

.fenix-academy-admin-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.fenix-academy-admin-modal-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 42%, rgba(91,33,182,.18), transparent 38%),
        rgba(2,3,8,.91);
    backdrop-filter: blur(13px);
}

.fenix-academy-admin-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(1040px, 92vw);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: #09090f;
    box-shadow: 0 35px 110px rgba(0,0,0,.65);
    transform: translateY(16px) scale(.985);
    transition: transform .26s cubic-bezier(.2,.8,.2,1);
}

.fenix-academy-admin-modal.is-open .fenix-academy-admin-modal-dialog {
    transform: translateY(0) scale(1);
}

.fenix-academy-admin-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 10px 13px 10px 19px;
    background: linear-gradient(90deg, rgba(124,58,237,.11), transparent 50%);
}

.fenix-academy-admin-modal-head > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.fenix-academy-admin-modal-head span {
    color: #8b5cf6;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.fenix-academy-admin-modal-head strong {
    overflow: hidden;
    color: #f8fafc;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fenix-academy-admin-modal-head button {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    padding: 0 0 3px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    background: rgba(255,255,255,.055);
    color: #d4d4d8;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}

.fenix-academy-admin-player-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
}

.fenix-academy-admin-player-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

body.fenix-academy-preview-open {
    overflow: hidden;
}

@media (max-width: 900px) {
    .fenix-academy-form {
        grid-template-columns: 1fr;
    }

    .fenix-academy-form-preview {
        width: min(100%, 520px);
    }

    .fenix-academy-topbar-copy {
        display: none;
    }

    .fenix-academy-hero {
        min-height: 570px;
    }

    .fenix-academy-hero::before {
        background:
            linear-gradient(0deg, #09090f 4%, rgba(9, 9, 15, .78) 54%, rgba(9, 9, 15, .18)),
            radial-gradient(circle at 70% 30%, #7c3aed 0, #312e81 19%, #111827 44%, #07070b 74%);
    }

    .fenix-academy-hero-art {
        top: 39%;
        right: 6%;
        width: 330px;
    }

    .fenix-academy-hero-content {
        display: flex;
        flex-direction: column;
        justify-content: end;
        width: auto;
        min-height: 570px;
        padding: 190px 24px 68px;
    }

    .fenix-academy-hero h1 {
        max-width: 520px;
        font-size: clamp(38px, 8vw, 58px);
    }

    .fenix-academy-track {
        grid-auto-columns: minmax(235px, 58%);
    }

    .fenix-academy-detail {
        padding-top: 38px;
    }

    .fenix-academy-back {
        margin-bottom: 34px;
    }

    .fenix-academy-detail-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .fenix-academy-detail-copy {
        max-width: 680px;
    }

    .fenix-academy-detail-player {
        max-width: 760px;
    }
}

@media (max-width: 600px) {
    /*
     * El contenido ocupa todo el ancho en móvil y queda transparentemente
     * sobre el botón del hero. Como no contiene controles, dejamos pasar el
     * toque para que llegue al enlace de reproducción.
     */
    .fenix-academy-hero-content {
        pointer-events: none;
    }

    .fenix-academy-hero-play {
        pointer-events: auto;
    }

    .fenix-academy-admin-modal {
        padding: 10px;
    }

    .fenix-academy-admin-modal-dialog {
        width: 100%;
        border-radius: 13px;
    }

    .fenix-academy-admin {
        min-height: calc(100vh - 46px);
        padding: 24px 16px 42px;
    }

    .fenix-academy-admin-head {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 22px;
    }

    .fenix-academy-admin h1 {
        font-size: 36px;
    }

    .fenix-academy-form-main {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .fenix-academy-media-field {
        grid-template-columns: 1fr 1fr;
    }

    .fenix-academy-media-field input {
        grid-column: 1 / -1;
    }

    .fenix-academy-field.full,
    .fenix-academy-check {
        grid-column: auto;
    }

    .fenix-academy-form-actions {
        justify-content: stretch;
    }

    .fenix-academy-form-actions a,
    .fenix-academy-form-actions button {
        flex: 1;
        text-align: center;
    }

    .fenix-academy {
        min-height: calc(100vh - 46px);
    }

    .fenix-academy-topbar {
        height: 60px;
        padding-inline: 18px;
    }

    .fenix-academy-hero {
        min-height: 555px;
        margin-top: -60px;
    }

    .fenix-academy-hero-art {
        top: 34%;
        right: -15%;
        width: 320px;
        opacity: .78;
    }

    .fenix-academy-hero-content {
        min-height: 555px;
        padding: 205px 18px 58px;
    }

    .fenix-academy-hero h1 {
        font-size: 40px;
    }

    .fenix-academy-hero p {
        font-size: 13px;
    }

    .fenix-academy-shelf {
        padding: 0 18px 50px;
    }

    .fenix-academy-shelf-controls {
        display: none;
    }

    .fenix-academy-track {
        grid-auto-columns: 82%;
        gap: 11px;
        margin-right: -18px;
    }

    .fenix-academy-detail {
        padding: 28px 18px 54px;
    }

    .fenix-academy-back {
        margin-bottom: 30px;
    }

    .fenix-academy-detail-copy h1 {
        font-size: 40px;
    }

    .fenix-academy-detail-copy > p {
        font-size: 13px;
    }

    .fenix-academy-detail-player {
        border-radius: 13px;
    }
}
