.folder-card-link { display: block; }
.folder-card {
    position: relative;
    border-radius: 16px;
    padding-top: 14px;
    transition: transform .2s ease, filter .2s ease;
}
.folder-card:hover {
    transform: translateY(-4px);
}
.folder-tab {
    width: 84px;
    height: 16px;
    border-radius: 12px 12px 0 0;
    margin-left: 18px;
    box-shadow: 0 8px 14px rgba(0,0,0,.18);
}
.folder-body {
    border-radius: 14px;
    padding: 20px 18px;
    min-height: 220px;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 14px 26px rgba(0,0,0,.24);
}
.folder-icon {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.folder-clip-logo {
    max-width: 170px;
    width: 100%;
    height: auto;
    filter: none;
    mix-blend-mode: normal;
}
.folder-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-shadow: none;
}
.folder-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: .92rem;
}

.folder-card.folder-color-0 .folder-tab,
.folder-card.folder-color-0 .folder-body {
    background: var(--clip-verde);
}
.folder-card.folder-color-0 .folder-body {
    box-shadow: 0 18px 32px rgba(0,0,0,.28), 0 20px 36px -14px rgba(21, 144, 105, .7), 0 0 30px rgba(21, 144, 105, .28);
}
.folder-card.folder-color-1 .folder-tab,
.folder-card.folder-color-1 .folder-body {
    background: var(--clip-amarillo);
}
.folder-card.folder-color-1 .folder-body {
    box-shadow: 0 18px 32px rgba(0,0,0,.28), 0 20px 36px -14px rgba(247, 167, 51, .72), 0 0 30px rgba(247, 167, 51, .3);
}
.folder-card.folder-color-2 .folder-tab,
.folder-card.folder-color-2 .folder-body {
    background: var(--clip-azul);
}
.folder-card.folder-color-2 .folder-body {
    box-shadow: 0 18px 32px rgba(0,0,0,.28), 0 20px 36px -14px rgba(46, 90, 165, .72), 0 0 30px rgba(46, 90, 165, .3);
}
.folder-card.folder-color-3 .folder-tab,
.folder-card.folder-color-3 .folder-body {
    background: var(--clip-rojo);
}
.folder-card.folder-color-3 .folder-body {
    box-shadow: 0 18px 32px rgba(0,0,0,.28), 0 20px 36px -14px rgba(235, 98, 54, .72), 0 0 30px rgba(235, 98, 54, .3);
}

.folder-card.folder-color-0:hover .folder-body {
    box-shadow: 0 24px 40px rgba(0,0,0,.34), 0 28px 44px -16px rgba(21, 144, 105, .8), 0 0 38px rgba(21, 144, 105, .36);
}
.folder-card.folder-color-1:hover .folder-body {
    box-shadow: 0 24px 40px rgba(0,0,0,.34), 0 28px 44px -16px rgba(247, 167, 51, .82), 0 0 38px rgba(247, 167, 51, .38);
}
.folder-card.folder-color-2:hover .folder-body {
    box-shadow: 0 24px 40px rgba(0,0,0,.34), 0 28px 44px -16px rgba(46, 90, 165, .82), 0 0 38px rgba(46, 90, 165, .38);
}
.folder-card.folder-color-3:hover .folder-body {
    box-shadow: 0 24px 40px rgba(0,0,0,.34), 0 28px 44px -16px rgba(235, 98, 54, .82), 0 0 38px rgba(235, 98, 54, .38);
}

.card-escuela-fun {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: none;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14);
    transition: transform .22s ease, box-shadow .22s ease;
}
.card-escuela-fun:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 36px rgba(15, 23, 42, .18);
}
.fun-chip {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 4;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: .8rem;
    background: rgba(17,24,39,.82);
    color: #fff;
    font-weight: 600;
    backdrop-filter: blur(2px);
}
.card-escuela-media {
    aspect-ratio: 4 / 5;
    min-height: 320px;
    overflow: hidden;
    background: #ffffff;
    position: relative;
}
.card-escuela-media img,
.card-escuela-media iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.card-escuela-media video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: transparent;
    position: relative;
    z-index: 2;
}

.card-escuela-media .card-escuela-video-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.18);
    filter: blur(16px) saturate(115%);
    opacity: .7;
    z-index: 1;
    pointer-events: none;
}

.card-escuela-media .card-escuela-video-main {
    position: relative;
    z-index: 2;
    background: transparent;
}
.card-escuela-media iframe,
.card-escuela-media video {
    border: 0;
}

.card-escuela-media iframe {
    background: #0f172a;
}

.card-escuela-media-video::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 25%, rgba(46, 90, 165, .55), transparent 50%),
        radial-gradient(circle at 80% 75%, rgba(21, 144, 105, .5), transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(247, 167, 51, .35), transparent 58%),
        #0f172a;
    filter: blur(20px) saturate(110%);
    transform: scale(1.06);
    z-index: 1;
}

.card-escuela-media-vertical {
    aspect-ratio: 9 / 16;
    min-height: 360px;
}
.card-escuela-body {
    padding: 18px 18px 16px;
    background: #fff;
    color: #1f2937;
}
.card-escuela-body h5 {
    font-weight: 700;
    color: #0f172a;
}
.card-escuela-body p {
    font-size: .92rem;
    color: #475569;
    margin-bottom: .35rem;
}
.card-escuela-body .btn {
    border-radius: 999px;
    font-weight: 600;
    padding: .45rem .95rem;
    border: none;
    background: #eef4ff;
    color: #1f4e92;
}
.card-escuela-body .btn:hover {
    background: #dbe8ff;
}

.cards-escuela-header {
    padding: 20px 22px;
    border-radius: 18px;
    border: 1px solid #f2d4c6;
    background: linear-gradient(120deg, rgba(235, 98, 54, .12) 0%, rgba(46, 90, 165, .10) 50%, rgba(247, 167, 51, .18) 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .10);
}

.cards-escuela-kicker {
    display: inline-block;
    margin-bottom: .35rem;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a2d12;
    background: #fff1eb;
}

.cards-escuela-title {
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    font-weight: 900;
    line-height: 1.1;
    color: #0f172a;
    text-wrap: balance;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}

.cards-escuela-subtitle {
    font-size: 1rem;
    color: #334155;
    max-width: 56ch;
}
.detalle-meta-pill {
    display: inline-flex;
    align-items: center;
    padding: .34rem .62rem;
    border-radius: 999px;
    font-size: .86rem;
    font-weight: 600;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(15, 23, 42, .08);
}

.detalle-meta-pill-fecha {
    color: #1f4e92;
}

.detalle-meta-pill-escuela {
    color: #166534;
}

.detalle-meta-pill-publicado {
    color: #7c2d12;
}

.cards-escuela-counter {
    background: #111827;
    color: #fff;
}
.btn-cards-escuela-back {
    border-radius: 999px;
}

.escuelas-header-hero {
    padding: 20px 22px;
    border-radius: 18px;
    border: 1px solid #d6e4f8;
    background: linear-gradient(120deg, rgba(46, 90, 165, .10) 0%, rgba(21, 144, 105, .12) 45%, rgba(247, 167, 51, .16) 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .10);
}

.escuelas-header-kicker {
    display: inline-block;
    margin-bottom: .35rem;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #1f4e92;
    background: #eef4ff;
}

.escuelas-header-title {
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    font-weight: 900;
    line-height: 1.1;
    color: #0f172a;
    text-wrap: balance;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}

.escuelas-header-subtitle {
    font-size: 1rem;
    color: #334155;
    max-width: 56ch;
}

.escuelas-header-counter {
    background: #111827;
    color: #fff;
    border-radius: 999px;
    padding: .55rem .95rem;
    box-shadow: 0 6px 14px rgba(17, 24, 39, .22);
}

.row > div:nth-child(4n + 1) .card-escuela-fun {
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14), 0 18px 32px -16px rgba(21, 144, 105, .55), 0 0 24px rgba(21, 144, 105, .18);
    background-image: linear-gradient(180deg, #ffffff 0%, rgba(21, 144, 105, .06) 100%);
}
.row > div:nth-child(4n + 2) .card-escuela-fun {
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14), 0 18px 32px -16px rgba(247, 167, 51, .58), 0 0 24px rgba(247, 167, 51, .2);
    background-image: linear-gradient(180deg, #ffffff 0%, rgba(247, 167, 51, .08) 100%);
}
.row > div:nth-child(4n + 3) .card-escuela-fun {
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14), 0 18px 32px -16px rgba(46, 90, 165, .58), 0 0 24px rgba(46, 90, 165, .2);
    background-image: linear-gradient(180deg, #ffffff 0%, rgba(46, 90, 165, .08) 100%);
}
.row > div:nth-child(4n + 4) .card-escuela-fun {
    box-shadow: 0 12px 26px rgba(15, 23, 42, .14), 0 18px 32px -16px rgba(235, 98, 54, .58), 0 0 24px rgba(235, 98, 54, .2);
    background-image: linear-gradient(180deg, #ffffff 0%, rgba(235, 98, 54, .08) 100%);
}

.row > div:nth-child(4n + 1) .card-escuela-fun:hover {
    box-shadow: 0 22px 38px rgba(15, 23, 42, .2), 0 24px 40px -18px rgba(21, 144, 105, .62), 0 0 30px rgba(21, 144, 105, .24);
}
.row > div:nth-child(4n + 2) .card-escuela-fun:hover {
    box-shadow: 0 22px 38px rgba(15, 23, 42, .2), 0 24px 40px -18px rgba(247, 167, 51, .64), 0 0 30px rgba(247, 167, 51, .25);
}
.row > div:nth-child(4n + 3) .card-escuela-fun:hover {
    box-shadow: 0 22px 38px rgba(15, 23, 42, .2), 0 24px 40px -18px rgba(46, 90, 165, .64), 0 0 30px rgba(46, 90, 165, .25);
}
.row > div:nth-child(4n + 4) .card-escuela-fun:hover {
    box-shadow: 0 22px 38px rgba(15, 23, 42, .2), 0 24px 40px -18px rgba(235, 98, 54, .64), 0 0 30px rgba(235, 98, 54, .25);
}

.detalle-v2-page {
    margin: 0 auto;
}

.detalle-v2-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.detalle-v2-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    padding: 20px 22px;
    border-radius: 18px;
    border: 1px solid #d7e7fb;
    background: linear-gradient(120deg, rgba(46, 90, 165, .10) 0%, rgba(21, 144, 105, .10) 45%, rgba(247, 167, 51, .14) 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .10);
}

.detalle-v2-kicker {
    display: inline-block;
    margin-bottom: .35rem;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #1f4e92;
    background: #eef4ff;
}

.detalle-v2-header-main h2 {
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 900;
    line-height: 1.1;
    color: #0f172a;
    text-wrap: balance;
}

.detalle-v2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    color: #334155;
    font-size: .95rem;
}

.detalle-v2-meta span {
    padding: .32rem .58rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .65);
}

.detalle-v2-actions {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}

.detalle-btn {
    border-radius: 999px;
    font-weight: 600;
    padding: .45rem .95rem;
}

.detalle-v2-summary-grid {
    display: grid;
    gap: 1rem;
}

.detalle-v2-info-card {
    background: #fff;
    border: 1px solid #deebfb;
    border-radius: 16px;
    padding: 1rem;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.detalle-v2-section-title {
    color: #1f4e92;
    font-weight: 800;
    margin-bottom: .75rem;
}

.detalle-v2-portada {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
}

.detalle-v2-content-section {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #deebfb;
    padding: 18px;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.detalle-v2-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid #e2e8f0;
}

.detalle-v2-content-header h4 {
    font-weight: 800;
    color: #0f172a;
}

.detalle-v2-counter {
    background: #111827;
    color: #fff;
    border-radius: 999px;
    padding: .48rem .82rem;
}

.detalle-v2-item-card {
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    border: 2px solid transparent;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 14px 28px rgba(15, 23, 42, .13);
    transition: transform .2s ease, box-shadow .2s ease;
}

.detalle-v2-item-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 40px rgba(15, 23, 42, .18);
}

.detalle-v2-item-media-wrap {
    min-height: 260px;
    background: #fff;
}

.detalle-v2-item-media {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    border: 0;
}

.detalle-v2-item-body {
    padding: 14px 14px 12px;
}

.detalle-v2-autor {
    color: #334155;
    font-size: .92rem;
}

.detalle-delete-btn {
    border-radius: 999px;
    font-weight: 600;
}

.detalle-v2-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    padding: 1rem;
    background: #f8fafc;
}

.row > div:nth-child(4n + 1) .detalle-v2-item-card {
    border-color: var(--clip-verde);
}

.row > div:nth-child(4n + 2) .detalle-v2-item-card {
    border-color: var(--clip-amarillo);
}

.row > div:nth-child(4n + 3) .detalle-v2-item-card {
    border-color: var(--clip-azul);
}

.row > div:nth-child(4n + 4) .detalle-v2-item-card {
    border-color: var(--clip-rojo);
}

.detalle-item-pill {
    display: inline-flex;
    align-items: center;
    padding: .3rem .58rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.detalle-item-pill-imagen {
    color: #065f46;
    background: #d1fae5;
    border-color: #a7f3d0;
}

.detalle-item-pill-video {
    color: #1e3a8a;
    background: #dbeafe;
    border-color: #bfdbfe;
}

.detalle-item-pill-fecha {
    color: #334155;
    background: #f1f5f9;
    border-color: #cbd5e1;
}

