:root{--bg:#f4efe8;--paper:#fffaf2;--ink:#1b1720;--muted:#6e6573;--night:#100d18;--night2:#1a1425;--purple:#7b4dc4;--purple2:#aa7df0;--gold:#d7a447;--line:rgba(27,23,32,.12);--shadow:0 26px 70px rgba(18,12,30,.14);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}.no-scroll{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:var(--purple)}h1,h2,h3,.footer-brand,.brand strong{font-family:Cinzel,Georgia,serif}h1,h2,h3,p{margin-top:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:999px;font-weight:800;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,var(--purple),#56328c);color:#fff;box-shadow:0 14px 30px rgba(90,49,145,.28)}.button-dark{background:#1c1724;color:#fff}.button-ghost{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.button-light{background:#fff;color:#21162b}.button-full{width:100%}.text-link{font-weight:800;color:var(--purple)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(16,13,24,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-shell{min-height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff;min-width:245px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d8bcff,var(--purple));box-shadow:0 0 28px rgba(156,103,224,.55)}.brand strong{display:block;font-size:1.02rem;line-height:1.1}.brand small{display:block;color:#bdb3c8;font-size:.72rem;margin-top:3px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.main-nav a{color:#d9d1df;font-size:.9rem;font-weight:700}.main-nav a:hover{color:#fff}.cart-button{display:flex;align-items:center;gap:10px;background:#fff;color:#20162a;border:0;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.cart-button b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--purple);color:#fff;font-size:.78rem}.menu-toggle{display:none;margin-left:auto;background:transparent;color:#fff;border:0;font-size:1.5rem}
.hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:#0a0810}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,7,15,.9) 0%,rgba(10,7,15,.72) 38%,rgba(10,7,15,.18) 72%),linear-gradient(0deg,rgba(10,7,15,.42),transparent 45%)}.hero-content{position:relative;z-index:2;color:#fff;padding-block:100px}.hero-eyebrow{color:#ddc9ff}.hero h1{font-size:clamp(3.2rem,6.7vw,6.8rem);line-height:.98;max-width:850px;margin:18px 0 24px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:#d8bcff}.hero p{max-width:650px;font-size:1.16rem;color:#ddd5e2}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0}.hero-points{display:flex;flex-wrap:wrap;gap:22px;color:#c9c0cf;font-size:.9rem;font-weight:700}.intro-strip{background:#17111f;color:#fff}.intro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.intro-grid div{display:flex;align-items:center;gap:14px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.08)}.intro-grid div:last-child{border-right:0}.intro-grid strong{color:#b48ae9;font-size:.8rem}.intro-grid span{font-weight:700;font-size:.88rem}
.section{padding:110px 0}.section-heading{margin-bottom:44px}.split-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px}.section-heading h2,.creator-copy h2,.elementals-copy h2{font-size:clamp(2.3rem,4vw,4.2rem);line-height:1.05;margin:8px 0 0;letter-spacing:-.035em}.section-heading p{margin:0;color:var(--muted);font-size:1.03rem}.centered-heading{text-align:center;max-width:760px;margin-inline:auto}.centered-heading p{margin-top:18px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:var(--paper);border:1px solid rgba(28,20,34,.08);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.product-media{aspect-ratio:4/3;overflow:hidden;background:#191321}.product-media.tall{aspect-ratio:4/5}.product-media img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.product-card:hover .product-media img{transform:scale(1.035)}.product-body{padding:26px}.product-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--purple)}.product-body h3{font-size:1.65rem;margin:6px 0 8px}.product-body p{color:var(--muted);min-height:76px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.product-bottom strong{font-size:1.25rem}
.section-dark{background:radial-gradient(circle at top left,#2b1d3c 0,#16101f 42%,#0f0c15 100%);color:#fff}.section-dark .section-heading p{color:#beb4c6}.catalog-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,360px);gap:20px}.catalog-card{position:relative;overflow:hidden;border-radius:28px;background:#21192c}.catalog-wide{grid-row:1/3}.catalog-card img{width:100%;height:100%;object-fit:cover}.catalog-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,6,12,.88),transparent 62%)}.catalog-copy{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2}.catalog-copy span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#d3b8f5;font-weight:800}.catalog-copy h3{font-size:2rem;margin:5px 0}.catalog-copy p{color:#d3cbd8;margin-bottom:10px}.catalog-copy a{font-weight:800}
.elementals-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.elementals-copy .lead,.creator-copy .lead{font-size:1.2rem;color:#342b3d}.elementals-copy p{color:var(--muted)}.elemental-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.elemental-tags span{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-weight:800}.elementals-visual{position:relative}.elementals-visual>img{width:100%;height:620px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.floating-note{position:absolute;left:-38px;bottom:36px;background:#fff;padding:18px 20px;border-radius:18px;box-shadow:var(--shadow);max-width:290px}.floating-note strong,.floating-note span{display:block}.floating-note span{font-size:.82rem;color:var(--muted);margin-top:3px}
.creator-section{background:#fff}.creator-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.creator-photo-wrap{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:#eee}.creator-photo-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}.creator-copy p{color:var(--muted)}
.courses-section{background:#eae1f3}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course-card{position:relative;background:#fff;padding:32px;border-radius:28px;border:1px solid rgba(31,22,39,.08);box-shadow:0 18px 50px rgba(42,27,56,.08)}.featured-course{background:#18111f;color:#fff;transform:translateY(-12px)}.course-number{font-family:Cinzel,serif;color:#a987d1;font-weight:800}.course-card h3{font-size:1.65rem;margin:14px 0 10px}.course-card p{color:#6e6573}.featured-course p,.featured-course li{color:#c9c0cf}.course-card ul{padding-left:20px;color:#59505f;min-height:92px}.course-badge{position:absolute;right:22px;top:22px;background:#d8bcff;color:#2d1f3e;padding:7px 10px;border-radius:999px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.course-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.course-footer strong{font-size:1.2rem}.final-cta{background:linear-gradient(135deg,#5c368d,#24172f);color:#fff}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta h2{font-size:clamp(2rem,4vw,3.9rem);max-width:760px;line-height:1.05;margin:8px 0 12px}.final-cta p{color:#ddd0ea;max-width:770px;margin:0}
.site-footer{background:#0e0b13;color:#d9d1df;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-grid h3{font-family:Inter,sans-serif;color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em}.footer-grid a,.footer-grid span{display:block;color:#ada3b5;margin:7px 0}.footer-brand{color:#fff;font-size:1.6rem}.footer-grid p{color:#ada3b5}.footer-cart{background:transparent;border:0;padding:0;color:#ada3b5;cursor:pointer}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.09);margin-top:52px;padding-top:24px;font-size:.78rem;color:#8c8294}
.cart-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.cart-drawer.is-open{pointer-events:auto}.cart-backdrop{position:absolute;inset:0;background:rgba(9,6,12,.58);opacity:0;transition:.25s}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(470px,100%);background:#fffaf3;padding:28px;transform:translateX(100%);transition:.28s;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25)}.cart-drawer.is-open .cart-backdrop{opacity:1}.cart-drawer.is-open .cart-panel{transform:none}.cart-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.cart-head h2{margin:4px 0 0;font-size:2rem}.icon-button{border:0;background:#eee5f4;width:42px;height:42px;border-radius:50%;font-size:1.5rem;cursor:pointer}.cart-items{overflow:auto;flex:1}.cart-row{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-row img{width:86px;height:98px;object-fit:cover;border-radius:14px}.cart-row-copy strong,.cart-row-copy span{display:block}.cart-row-copy span{color:var(--muted);font-size:.9rem}.qty-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.qty-controls button{border:1px solid var(--line);background:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer}.qty-controls .remove-link{width:auto;border:0;color:#8a3153;background:transparent;margin-left:auto}.cart-empty{text-align:center;margin:auto;padding:40px 20px}.cart-empty[hidden]{display:none}.empty-orb{font-size:3rem;color:var(--purple)}.cart-empty p{color:var(--muted)}.cart-summary{border-top:1px solid var(--line);padding-top:20px}.cart-summary>div{display:flex;justify-content:space-between;font-size:1.2rem}.cart-summary small{display:block;color:var(--muted);margin:8px 0 18px}.toast{position:fixed;left:50%;bottom:28px;z-index:120;transform:translate(-50%,20px);background:#17111f;color:#fff;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.22s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}
.checkout-page{padding:90px 0 120px}.checkout-shell{display:grid;grid-template-columns:1.3fr .7fr;gap:46px;align-items:start}.checkout-main h1{font-size:clamp(2.8rem,5vw,4.8rem);margin:8px 0 14px}.checkout-lead{color:var(--muted);max-width:720px}.checkout-form{background:#fff;padding:28px;border-radius:26px;box-shadow:var(--shadow);margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkout-form label{display:grid;gap:8px;font-weight:800;font-size:.9rem;margin-bottom:18px}.checkout-form input,.checkout-form textarea{width:100%;border:1px solid #d9cfdd;border-radius:14px;padding:13px 14px;background:#fff;font-weight:500;outline:none}.checkout-form input:focus,.checkout-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(123,77,196,.1)}.checkout-summary{position:sticky;top:105px;background:#17111f;color:#fff;padding:26px;border-radius:26px}.checkout-item{display:grid;grid-template-columns:65px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.checkout-item img{width:65px;height:72px;object-fit:cover;border-radius:12px}.checkout-item span{display:block;color:#bfb4c8;font-size:.86rem}.checkout-total{display:flex;justify-content:space-between;font-size:1.2rem;padding:20px 0}.checkout-summary .text-link{color:#d7bbff}.order-result{margin-top:22px;background:#e4f6ea;border:1px solid #aedabb;border-radius:16px;padding:18px}.muted{color:#bfb4c8}
@media(max-width:980px){.main-nav{display:none;position:absolute;left:20px;right:20px;top:76px;background:#18111f;padding:18px;border-radius:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.menu-toggle{display:block}.cart-button span{display:none}.brand{min-width:0}.intro-grid{grid-template-columns:1fr 1fr}.product-grid,.course-grid{grid-template-columns:1fr 1fr}.course-grid .course-card:last-child{grid-column:1/-1}.catalog-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,430px)}.catalog-wide{grid-row:auto}.elementals-grid,.creator-grid,.checkout-shell{grid-template-columns:1fr}.elementals-visual>img{height:520px}.floating-note{left:20px}.footer-grid{grid-template-columns:1fr 1fr}.checkout-summary{position:static}.split-heading{grid-template-columns:1fr;gap:18px}}
@media(max-width:680px){.shell{width:min(100% - 28px,1180px)}.site-header{position:sticky}.nav-shell{min-height:68px}.brand small{display:none}.brand strong{font-size:.9rem}.cart-button{padding:8px}.hero{min-height:690px}.hero-overlay{background:linear-gradient(0deg,rgba(9,6,14,.92),rgba(9,6,14,.35) 70%),linear-gradient(90deg,rgba(9,6,14,.6),transparent)}.hero-content{padding-block:80px}.hero h1{font-size:3.2rem}.hero p{font-size:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-points{gap:10px;display:grid}.intro-grid,.product-grid,.course-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.intro-grid div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.section{padding:78px 0}.section-heading h2,.creator-copy h2,.elementals-copy h2{font-size:2.5rem}.product-body p{min-height:auto}.catalog-grid{grid-template-rows:repeat(3,420px)}.elementals-visual>img{height:460px}.creator-photo-wrap img{aspect-ratio:4/5}.course-grid .course-card:last-child{grid-column:auto}.featured-course{transform:none}.final-cta-inner{display:grid}.footer-bottom{display:grid}.cart-panel{padding:22px}.checkout-page{padding:60px 0 90px}}

/* ==========================================================
   CATALOGO NUEVO
   ========================================================== */

.category-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    max-width:1120px;
    margin:0 auto;
}

.category-card{
    display:block;
    background:#17111f;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    overflow:hidden;
    transition:.25s ease;
    box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.category-card:hover{
    transform:translateY(-5px);
    border-color:rgba(190,150,255,.35);
}

.category-image{
    width:100%;
    height:280px;
    overflow:hidden;
    background:#0d0a12;
}

.category-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:.4s ease;
}

.category-card:hover .category-image img{
    transform:scale(1.03);
}

.category-info{
    padding:24px;
}

.category-info h3{
    color:#fff;
    font-size:1.55rem;
    margin:0 0 10px;
}

.category-info p{
    color:#bdb3c8;
    font-size:.92rem;
    line-height:1.55;
    min-height:58px;
    margin:0 0 18px;
}

.category-info span{
    color:#d8bcff;
    font-weight:800;
    font-size:.9rem;
}

.catalog-empty{
    text-align:center;
    color:#c9c0cf;
}

.empty-products{
    text-align:center;
    padding:45px 20px 15px;
}

.empty-products h3{
    font-size:1.6rem;
    margin-bottom:10px;
}

.empty-products p{
    color:var(--muted);
}

/* ==========================================================
   DROPDOWN MENU
   ========================================================== */

.nav-dropdown{
    position:relative;
}

.nav-dropdown-button{
    display:flex;
    align-items:center;
    gap:6px;
    border:0;
    background:transparent;
    color:#d9d1df;
    font-size:.9rem;
    font-weight:700;
    cursor:pointer;
    padding:8px 0;
}

.nav-dropdown-button:hover{
    color:#fff;
}

.nav-dropdown-menu{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%) translateY(8px);
    min-width:245px;
    background:#17111f;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    padding:10px;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

.nav-dropdown-menu a{
    display:block;
    padding:11px 13px;
    border-radius:10px;
    color:#d9d1df;
}

.nav-dropdown-menu a:hover{
    background:#2b1d3c;
    color:#fff;
}

/* ==========================================================
   ELEMENTALES
   ========================================================== */

.elementals-visual>img{
    height:560px;
    object-fit:cover;
    object-position:center;
}

/* Oculta definitivamente la tarjeta flotante anterior */
.floating-note{
    display:none !important;
}

@media(max-width:980px){

    .category-grid{
        grid-template-columns:1fr 1fr;
    }

    .nav-dropdown{
        width:100%;
    }

    .nav-dropdown-button{
        width:100%;
        justify-content:space-between;
    }

    .nav-dropdown-menu{
        position:static;
        transform:none;
        min-width:0;
        background:#21172c;
        margin-top:5px;
        display:none;
        opacity:1;
        visibility:visible;
        box-shadow:none;
    }

    .nav-dropdown:hover .nav-dropdown-menu,
    .nav-dropdown:focus-within .nav-dropdown-menu{
        display:block;
        transform:none;
    }
}

@media(max-width:680px){

    .category-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .category-image{
        height:250px;
    }

    .category-info p{
        min-height:auto;
    }
}


/* =========================================================
   AJUSTE FINAL PAGINAS DE CATALOGO
   ========================================================= */

.category-page-hero{
    min-height:340px !important;
    height:340px !important;
    position:relative !important;
    overflow:hidden !important;
    background:#100c17 !important;
}

.category-page-background{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
}

.category-page-background img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 38% !important;
}

.category-page-overlay{
    position:absolute !important;
    inset:0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(10,7,15,.93) 0%,
            rgba(10,7,15,.70) 38%,
            rgba(10,7,15,.18) 75%
        ) !important;
}

.category-page-heading{
    position:relative !important;
    z-index:5 !important;
    height:340px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.category-page-heading h1{
    font-size:clamp(2.7rem,5vw,4.6rem) !important;
    margin:8px 0 12px !important;
    max-width:750px !important;
}

.category-page-heading p{
    font-size:1rem !important;
    max-width:620px !important;
    margin:0 !important;
}

@media(max-width:680px){

    .category-page-hero{
        min-height:290px !important;
        height:290px !important;
    }

    .category-page-heading{
        height:290px !important;
    }

    .category-page-heading h1{
        font-size:2.5rem !important;
    }
}

/* =========================================================
   PANEL DE CATEGORIAS - ELI
   ========================================================= */

.admin-page{
    min-height:100vh;
    padding:80px 0 120px;
    background:#f4efe8;
}

.admin-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:35px;
}

.admin-title h1{
    font-size:clamp(2.6rem,5vw,4.8rem);
    line-height:1.05;
    margin:8px 0 12px;
}

.admin-title p{
    max-width:680px;
    margin:0;
    color:var(--muted);
}

.admin-message{
    padding:16px 18px;
    margin-bottom:25px;
    border:1px solid #ccb0ed;
    border-radius:16px;
    background:#eee2fb;
    color:#3a2552;
    font-weight:800;
}

.admin-create-card{
    background:#fff;
    padding:30px;
    margin-bottom:32px;
    border-radius:26px;
    box-shadow:var(--shadow);
}

.admin-card-heading{
    margin-bottom:22px;
}

.admin-card-heading h2{
    font-size:2rem;
    margin:6px 0 0;
}

.admin-form-grid{
    display:grid;
    grid-template-columns:1fr 180px;
    gap:18px;
}

.admin-form-grid label{
    display:grid;
    gap:8px;
    color:#342d39;
    font-size:.88rem;
    font-weight:800;
}

.admin-form-grid input,
.admin-form-grid textarea{
    width:100%;
    border:1px solid #d7cedb;
    border-radius:13px;
    padding:12px 14px;
    background:#fff;
    outline:none;
}

.admin-form-grid input:focus,
.admin-form-grid textarea:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(123,77,196,.10);
}

.admin-form-grid small{
    color:var(--muted);
    font-weight:500;
}

.admin-wide{
    grid-column:1/-1;
}

.admin-form-footer{
    margin-top:22px;
}

.admin-category-list{
    display:grid;
    gap:26px;
}

.admin-category-card{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:30px;
    padding:24px;
    background:#fff;
    border-radius:28px;
    box-shadow:var(--shadow);
}

.admin-category-preview{
    width:280px;
    height:330px;
    border-radius:20px;
    overflow:hidden;
    background:#17111f;
}

.admin-category-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.admin-no-image{
    height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    gap:10px;
    color:#c8bfd0;
}

.admin-no-image span{
    font-size:3rem;
}

.admin-category-content{
    min-width:0;
}

.admin-category-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.admin-category-top h2{
    font-size:2rem;
    margin:5px 0 0;
}

.admin-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border-radius:999px;
    font-size:.76rem;
    font-weight:900;
}

.admin-status.active{
    background:#dcf4e5;
    color:#22683c;
}

.admin-status.inactive{
    background:#eee9ef;
    color:#756b79;
}

.admin-check{
    display:flex !important;
    flex-direction:row;
    align-items:center;
    gap:10px !important;
}

.admin-check input{
    width:auto;
}

.admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.admin-delete{
    margin-top:16px;
    padding:0;
    border:0;
    background:transparent;
    color:#a52f4c;
    font-weight:800;
    cursor:pointer;
}

.admin-delete:hover{
    text-decoration:underline;
}

@media(max-width:850px){

    .admin-title{
        display:grid;
    }

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

    .admin-category-preview{
        width:100%;
        height:320px;
    }
}

@media(max-width:600px){

    .admin-page{
        padding:55px 0 90px;
    }

    .admin-form-grid{
        grid-template-columns:1fr;
    }

    .admin-wide{
        grid-column:auto;
    }

    .admin-category-card{
        padding:18px;
    }

    .admin-category-preview{
        height:280px;
    }

    .admin-category-top{
        display:grid;
    }
}

/* =========================================================
   PANEL DE ELI - AJUSTE VISUAL FINAL
   ========================================================= */

.admin-page{
    min-height:100vh;
    padding:56px 0 100px;
    background:
        radial-gradient(circle at top left, rgba(123,77,196,.08), transparent 35%),
        #f4efe8;
}

.admin-page .shell{
    width:min(1180px,calc(100% - 40px));
}

.admin-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    margin-bottom:28px;
    padding:28px 32px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    border-radius:24px;
    box-shadow:0 16px 42px rgba(28,19,36,.08);
}

.admin-title h1{
    font-size:clamp(2.2rem,4vw,3.7rem);
    line-height:1.05;
    margin:6px 0 10px;
}

.admin-title p{
    margin:0;
    max-width:760px;
    color:var(--muted);
    font-size:1rem;
}

.admin-message{
    margin:0 0 24px;
    padding:15px 18px;
    border:1px solid #ccb8e8;
    border-radius:14px;
    background:#eee5f8;
    color:#432b60;
    font-weight:800;
}

.admin-create-card{
    margin-bottom:28px;
    padding:30px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    border-radius:24px;
    box-shadow:0 16px 42px rgba(28,19,36,.08);
}

.admin-card-heading{
    margin-bottom:24px;
}

.admin-card-heading h2{
    margin:5px 0 0;
    font-size:1.9rem;
}

.admin-form-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:18px 20px;
    align-items:start;
}

.admin-form-grid label{
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:.84rem;
    font-weight:800;
    color:#342c39;
}

.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select{
    width:100%;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #d8cedd;
    border-radius:12px;
    background:#fff;
    color:#1c1724;
    outline:none;
}

.admin-form-grid textarea{
    min-height:100px;
    resize:vertical;
}

.admin-form-grid input[type="file"]{
    padding:10px;
    background:#faf8fb;
}

.admin-form-grid input:focus,
.admin-form-grid textarea:focus,
.admin-form-grid select:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(123,77,196,.10);
}

.admin-form-grid small{
    color:var(--muted);
    font-size:.76rem;
    font-weight:500;
}

.admin-wide{
    grid-column:1/-1;
}

.admin-form-footer{
    display:flex;
    justify-content:flex-end;
    margin-top:22px;
}

.admin-category-list{
    display:grid;
    gap:24px;
}

.admin-category-card{
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    gap:26px;
    padding:24px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    border-radius:24px;
    box-shadow:0 16px 42px rgba(28,19,36,.08);
}

.admin-category-preview{
    width:230px;
    height:230px;
    border-radius:18px;
    overflow:hidden;
    background:#17111f;
}

.admin-category-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.admin-category-content{
    min-width:0;
}

.admin-category-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.admin-category-top h2{
    margin:4px 0 0;
    font-size:1.8rem;
}

.admin-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:80px;
    padding:7px 11px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:900;
}

.admin-status.active{
    background:#dff4e6;
    color:#22643a;
}

.admin-status.inactive{
    background:#ece7ef;
    color:#6d6472;
}

.admin-check{
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    gap:10px !important;
    padding:10px 0;
}

.admin-check input{
    width:auto !important;
    min-height:auto !important;
}

.admin-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

.admin-delete{
    margin-top:14px;
    padding:0;
    border:0;
    background:transparent;
    color:#9c2f4a;
    font-size:.86rem;
    font-weight:800;
    cursor:pointer;
}

.admin-delete:hover{
    text-decoration:underline;
}

.admin-no-image{
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#bdb3c8;
}

.admin-no-image span{
    font-size:2.4rem;
}

@media(max-width:900px){

    .admin-title{
        display:grid;
        align-items:start;
    }

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

    .admin-category-preview{
        width:100%;
        height:300px;
    }
}

@media(max-width:680px){

    .admin-page{
        padding:35px 0 70px;
    }

    .admin-page .shell{
        width:min(100% - 24px,1180px);
    }

    .admin-title,
    .admin-create-card,
    .admin-category-card{
        padding:20px;
        border-radius:18px;
    }

    .admin-title h1{
        font-size:2.2rem;
    }

    .admin-form-grid{
        grid-template-columns:1fr;
    }

    .admin-wide{
        grid-column:auto;
    }

    .admin-form-footer{
        justify-content:stretch;
    }

    .admin-form-footer .button{
        width:100%;
    }

    .admin-category-preview{
        height:250px;
    }

    .admin-category-top{
        display:grid;
    }

    .admin-actions{
        display:grid;
    }

    .admin-actions .button{
        width:100%;
    }
}/* =========================================================
   PANEL PRODUCTOS
   ========================================================= */

.admin-product-form-grid{
    display:grid;
    grid-template-columns:1fr 1.4fr 180px 130px;
    gap:18px;
    align-items:start;
}

.admin-product-form-grid label{
    display:flex;
    flex-direction:column;
    gap:8px;
    color:#342c39;
    font-size:.84rem;
    font-weight:800;
}

.admin-product-form-grid input,
.admin-product-form-grid textarea,
.admin-product-form-grid select{
    width:100%;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #d8cedd;
    border-radius:12px;
    background:#fff;
    color:#1c1724;
    outline:none;
}

.admin-product-form-grid textarea{
    min-height:100px;
    resize:vertical;
}

.admin-product-form-grid input[type="file"]{
    padding:10px;
    background:#faf8fb;
}

.admin-product-form-grid input:focus,
.admin-product-form-grid textarea:focus,
.admin-product-form-grid select:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(123,77,196,.10);
}

.admin-product-form-grid small{
    color:var(--muted);
    font-size:.76rem;
    font-weight:500;
}

.admin-product-category{
    margin:6px 0 0;
    color:var(--muted);
    font-weight:700;
}

.admin-product-summary{
    display:flex;
    gap:14px;
    margin-top:20px;
}

.admin-product-summary div{
    min-width:150px;
    padding:12px 15px;
    border:1px solid #e1d8e5;
    border-radius:14px;
    background:#faf8fb;
}

.admin-product-summary span,
.admin-product-summary strong{
    display:block;
}

.admin-product-summary span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:700;
}

.admin-product-summary strong{
    margin-top:3px;
    font-size:1.05rem;
}

@media(max-width:1000px){

    .admin-product-form-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:680px){

    .admin-product-form-grid{
        grid-template-columns:1fr;
    }

    .admin-product-summary{
        display:grid;
    }
}
/* =========================================================
   AJUSTE FINAL - CATEGORIA + PRODUCTOS
   ========================================================= */

/* CABECERA DE CATEGORIA MAS BAJA Y LEGIBLE */

.category-page-hero{
    min-height:260px !important;
    height:260px !important;
    display:flex !important;
    align-items:center !important;
    overflow:hidden !important;
}

.category-page-background{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
}

.category-page-background img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 42% !important;
}

.category-page-overlay{
    background:
        linear-gradient(
            90deg,
            rgba(10,7,15,.88) 0%,
            rgba(10,7,15,.64) 40%,
            rgba(10,7,15,.18) 78%
        ) !important;
}

.category-page-heading{
    height:auto !important;
    padding:34px 0 !important;
    justify-content:center !important;
}

.category-page-heading h1{
    font-size:clamp(2.3rem,4vw,3.8rem) !important;
    margin:6px 0 10px !important;
    color:#fff !important;
}

.category-page-heading p{
    max-width:620px !important;
    font-size:1rem !important;
    line-height:1.5 !important;
    color:#e4dce8 !important;
}


/* PRODUCTOS - TARJETAS MAS COMPACTAS */

.product-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:26px !important;
    align-items:start !important;
}

.product-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    overflow:hidden !important;
    border-radius:24px !important;
}

.product-media,
.product-media.tall{
    width:100% !important;
    height:330px !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    background:#17111f !important;
}

.product-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
}

.product-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
    padding:24px !important;
}

.product-body h3{
    font-size:1.55rem !important;
    line-height:1.2 !important;
    margin:6px 0 10px !important;
}

.product-body p{
    min-height:auto !important;
    margin-bottom:18px !important;
    line-height:1.55 !important;
}

.product-bottom{
    margin-top:auto !important;
    padding-top:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
}

.product-bottom strong{
    font-size:1.3rem !important;
    white-space:nowrap !important;
}


/* ESPACIADO DE LA PAGINA DE CATEGORIA */

.category-page-hero + .section{
    padding-top:70px !important;
}


/* TABLET */

@media(max-width:980px){

    .product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .product-media,
    .product-media.tall{
        height:310px !important;
    }
}


/* CELULAR */

@media(max-width:680px){

    .category-page-hero{
        min-height:220px !important;
        height:220px !important;
    }

    .category-page-heading{
        padding:25px 0 !important;
    }

    .category-page-heading h1{
        font-size:2.2rem !important;
    }

    .category-page-heading p{
        font-size:.92rem !important;
    }

    .product-grid{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }

    .product-card{
        max-width:430px !important;
        width:100% !important;
        margin:0 auto !important;
    }

    .product-media,
    .product-media.tall{
        height:300px !important;
    }

    .product-body{
        padding:20px !important;
    }

    .product-bottom{
        align-items:center !important;
    }
}/* =========================================================
   CATALOGO - CABECERA COMPACTA DEFINITIVA
   ========================================================= */

.category-page-hero{
    min-height:170px !important;
    height:170px !important;
}

.category-page-heading{
    min-height:170px !important;
    height:170px !important;
    padding:20px 0 !important;
}

.category-page-heading h1{
    font-size:2.6rem !important;
    line-height:1 !important;
    margin:8px 0 12px !important;
}

.category-page-heading p{
    font-size:1rem !important;
    line-height:1.4 !important;
    margin:0 !important;
}

.category-page-background img{
    height:170px !important;
    object-fit:cover !important;
    object-position:center 42% !important;
}

/* Acercamos los productos a la cabecera */
.category-page-hero + .section{
    padding-top:48px !important;
    padding-bottom:70px !important;
}

/* Las tarjetas NO se achican aunque haya muchos productos */
.product-grid{
    grid-template-columns:repeat(3, minmax(280px, 1fr)) !important;
    gap:28px !important;
}

/* Foto de producto más compacta */
.product-media,
.product-media.tall{
    height:280px !important;
}

@media(max-width:980px){
    .product-grid{
        grid-template-columns:repeat(2, minmax(260px,1fr)) !important;
    }
}

@media(max-width:650px){
    .category-page-hero,
    .category-page-heading{
        min-height:150px !important;
        height:150px !important;
    }

    .category-page-background img{
        height:150px !important;
    }

    .category-page-heading h1{
        font-size:2rem !important;
    }

    .product-grid{
        grid-template-columns:1fr !important;
    }

    .product-media,
    .product-media.tall{
        height:270px !important;
    }
}
/* =========================================================
   CATALOGO - CABECERA COMPACTA DEFINITIVA
   ========================================================= */

.category-page-hero{
    min-height:170px !important;
    height:170px !important;
}

.category-page-heading{
    min-height:170px !important;
    height:170px !important;
    padding:20px 0 !important;
}

.category-page-heading h1{
    font-size:2.6rem !important;
    line-height:1 !important;
    margin:8px 0 12px !important;
}

.category-page-heading p{
    font-size:1rem !important;
    line-height:1.4 !important;
    margin:0 !important;
}

.category-page-background img{
    height:170px !important;
    object-fit:cover !important;
    object-position:center 42% !important;
}

/* Acercamos los productos a la cabecera */
.category-page-hero + .section{
    padding-top:48px !important;
    padding-bottom:70px !important;
}

/* Las tarjetas NO se achican aunque haya muchos productos */
.product-grid{
    grid-template-columns:repeat(3, minmax(280px, 1fr)) !important;
    gap:28px !important;
}

/* Foto de producto más compacta */
.product-media,
.product-media.tall{
    height:280px !important;
}

@media(max-width:980px){
    .product-grid{
        grid-template-columns:repeat(2, minmax(260px,1fr)) !important;
    }
}

@media(max-width:650px){
    .category-page-hero,
    .category-page-heading{
        min-height:150px !important;
        height:150px !important;
    }

    .category-page-background img{
        height:150px !important;
    }

    .category-page-heading h1{
        font-size:2rem !important;
    }

    .product-grid{
        grid-template-columns:1fr !important;
    }

    .product-media,
    .product-media.tall{
        height:270px !important;
    }
}

/* =========================================================
   PANEL PRINCIPAL DE ELI
   ========================================================= */

.eli-admin{
    min-height:100vh;
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    background:#f4efe8;
}

.eli-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    display:flex;
    flex-direction:column;
    background:#130f1b;
    color:#fff;
    border-right:1px solid rgba(255,255,255,.07);
}

.eli-sidebar-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:26px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.eli-sidebar-logo{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:50%;
    background:linear-gradient(135deg,#b984ff,#6540a1);
    box-shadow:0 0 28px rgba(156,103,224,.45);
}

.eli-sidebar-brand strong,
.eli-sidebar-brand small{
    display:block;
}

.eli-sidebar-brand strong{
    font-family:Cinzel,Georgia,serif;
    font-size:.9rem;
}

.eli-sidebar-brand small{
    color:#a99fb2;
    font-size:.72rem;
    margin-top:2px;
}

.eli-sidebar-nav{
    padding:20px 14px;
    display:grid;
    gap:5px;
}

.eli-sidebar-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:12px;
    color:#c9c1cf;
    font-size:.9rem;
    font-weight:700;
    transition:.2s ease;
}

.eli-sidebar-nav a:hover,
.eli-sidebar-nav a.active{
    background:#2b1d3c;
    color:#fff;
}

.eli-sidebar-nav a span{
    width:22px;
    text-align:center;
    color:#caa6f5;
}

.eli-nav-separator{
    height:1px;
    margin:10px 8px;
    background:rgba(255,255,255,.08);
}

.eli-sidebar-bottom{
    margin-top:auto;
    padding:18px 20px;
    border-top:1px solid rgba(255,255,255,.08);
}

.eli-sidebar-bottom a{
    color:#c8becf;
    font-weight:700;
}

.eli-admin-main{
    min-width:0;
    padding:48px;
}

.eli-admin-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:32px;
}

.eli-admin-header h1{
    margin:6px 0 10px;
    font-size:clamp(2.8rem,5vw,4.6rem);
    line-height:1;
}

.eli-admin-header p{
    margin:0;
    color:var(--muted);
    max-width:650px;
}

.eli-kpi-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-bottom:38px;
}

.eli-kpi{
    min-height:140px;
    padding:22px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    border-radius:20px;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.eli-kpi span,
.eli-kpi strong,
.eli-kpi small{
    display:block;
}

.eli-kpi span{
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.eli-kpi strong{
    margin:8px 0 3px;
    font-family:Cinzel,Georgia,serif;
    font-size:2.1rem;
}

.eli-kpi small{
    color:#897f8e;
}

.eli-admin-section{
    margin-top:34px;
}

.eli-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:20px;
    margin-bottom:20px;
}

.eli-section-heading h2{
    margin:5px 0 0;
    font-size:2rem;
}

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

.eli-action-card{
    display:grid;
    grid-template-columns:50px 1fr auto;
    align-items:center;
    gap:16px;
    min-height:130px;
    padding:22px;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    box-shadow:0 14px 36px rgba(28,19,36,.06);
    transition:.2s ease;
}

.eli-action-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 42px rgba(28,19,36,.11);
}

.eli-action-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#eee3fa;
    color:#6d40a8;
    font-size:1.3rem;
}

.eli-action-card h3{
    margin:0 0 5px;
    font-size:1.15rem;
}

.eli-action-card p{
    margin:0;
    color:var(--muted);
    font-size:.87rem;
}

.eli-action-card b{
    color:#7550a0;
    font-size:1.3rem;
}

.eli-status-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.eli-status-card{
    padding:20px;
    border-radius:18px;
    background:#17111f;
    color:#fff;
}

.eli-status-card span,
.eli-status-card strong{
    display:block;
}

.eli-status-card span{
    color:#bcb2c4;
    font-size:.8rem;
}

.eli-status-card strong{
    margin-top:6px;
    font-size:1.7rem;
    font-family:Cinzel,Georgia,serif;
}

@media(max-width:1050px){

    .eli-admin{
        grid-template-columns:220px minmax(0,1fr);
    }

    .eli-admin-main{
        padding:32px;
    }

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

@media(max-width:760px){

    .eli-admin{
        display:block;
    }

    .eli-sidebar{
        position:relative;
        height:auto;
    }

    .eli-sidebar-nav{
        grid-template-columns:1fr 1fr;
    }

    .eli-sidebar-bottom{
        margin-top:0;
    }

    .eli-admin-main{
        padding:24px;
    }

    .eli-admin-header{
        display:grid;
    }

    .eli-kpi-grid,
    .eli-action-grid,
    .eli-status-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   LOGIN PRIVADO ELI
   ========================================================= */

.eli-login-page{
    min-height:calc(100vh - 78px);
    display:grid;
    place-items:center;
    padding:55px 20px;
    background:
        radial-gradient(circle at 20% 15%,rgba(123,77,196,.20),transparent 35%),
        linear-gradient(135deg,#17101f,#0d0a12);
}

.eli-login-card{
    width:min(470px,100%);
    padding:38px;
    background:#fff;
    border-radius:28px;
    box-shadow:0 30px 90px rgba(0,0,0,.35);
}

.eli-login-brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:30px;
}

.eli-login-brand>span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,#bc8cff,#693ea6);
    color:#fff;
    font-size:1.3rem;
}

.eli-login-brand strong,
.eli-login-brand small{
    display:block;
}

.eli-login-brand strong{
    font-family:Cinzel,Georgia,serif;
}

.eli-login-brand small{
    color:var(--muted);
}

.eli-login-card h1{
    font-size:2.5rem;
    margin:7px 0 10px;
}

.eli-login-card>p{
    color:var(--muted);
    margin-bottom:26px;
}

.eli-login-card form{
    display:grid;
    gap:18px;
}

.eli-login-card label{
    display:grid;
    gap:8px;
    font-weight:800;
    font-size:.88rem;
}

.eli-login-card input{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid #d8cedd;
    border-radius:13px;
    outline:none;
}

.eli-login-card input:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(123,77,196,.11);
}

.eli-login-error{
    padding:13px 15px;
    margin-bottom:20px;
    border-radius:13px;
    background:#fde8ec;
    color:#9d2d47;
    font-weight:800;
}

.eli-login-back{
    display:block;
    margin-top:22px;
    text-align:center;
    color:var(--muted);
    font-weight:700;
}


.eli-reset-code{
    margin:22px 0;
    padding:22px;
    text-align:center;
    border:1px solid #d9c7ee;
    border-radius:16px;
    background:#f4ecfc;
}

.eli-reset-code small,
.eli-reset-code strong,
.eli-reset-code span{
    display:block;
}

.eli-reset-code strong{
    margin:8px 0;
    font-size:2.2rem;
    letter-spacing:.18em;
    color:#613696;
}

.eli-reset-code span{
    color:var(--muted);
    font-size:.8rem;
}


.eli-forgot-password{
    display:block;
    margin:-4px 0 2px;
    text-align:right;
    color:#7441b1;
    font-size:.84rem;
    font-weight:800;
}

.eli-forgot-password:hover{
    text-decoration:underline;
}


/* =========================================================
   PEDIDOS - PANEL DE ELI
   ========================================================= */

.pedidos-admin-list{
    display:grid;
    gap:22px;
}

.pedido-admin-card{
    padding:26px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    border-radius:24px;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.pedido-admin-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:25px;
    padding-bottom:18px;
    border-bottom:1px solid #eee7f0;
}

.pedido-admin-head h2{
    margin:6px 0 5px;
    font-size:1.8rem;
}

.pedido-admin-head p{
    margin:0;
    color:var(--muted);
}

.pedido-admin-total{
    text-align:right;
}

.pedido-admin-total span,
.pedido-admin-total strong{
    display:block;
}

.pedido-admin-total span{
    color:var(--muted);
    font-size:.78rem;
    font-weight:800;
}

.pedido-admin-total strong{
    margin-top:5px;
    font-size:1.6rem;
}

.pedido-admin-status{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:18px 0;
}

.pedido-admin-status span{
    padding:8px 12px;
    border-radius:999px;
    background:#eee5f8;
    color:#573779;
    font-size:.82rem;
}

.pedido-admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:18px;
    background:#faf8fb;
    border-radius:16px;
}

.pedido-admin-grid div{
    min-width:0;
}

.pedido-admin-grid small,
.pedido-admin-grid strong{
    display:block;
}

.pedido-admin-grid small{
    margin-bottom:4px;
    color:var(--muted);
    font-size:.75rem;
}

.pedido-admin-grid strong{
    overflow-wrap:anywhere;
}

.pedido-admin-wide{
    grid-column:1/-1;
}

.pedido-admin-productos{
    margin-top:20px;
}

.pedido-admin-productos h3{
    margin:0 0 10px;
}

.pedido-admin-item{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:10px 0;
    border-bottom:1px solid #eee7f0;
}

.pedido-admin-notas{
    margin-top:18px;
    padding:15px;
    border-radius:14px;
    background:#fff9e8;
}

.pedido-admin-notas small{
    font-weight:800;
}

.pedido-admin-notas p{
    margin:5px 0 0;
}

@media(max-width:650px){

    .pedido-admin-head{
        display:grid;
    }

    .pedido-admin-total{
        text-align:left;
    }

    .pedido-admin-grid{
        grid-template-columns:1fr;
    }

    .pedido-admin-wide{
        grid-column:auto;
    }
}


/* =========================================================
   CUENTA DE ALUMNOS
   ========================================================= */

.account-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin:30px 0;
}

.account-card{
    padding:24px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.account-card span,
.account-card strong{
    display:block;
}

.account-card span{
    color:var(--muted);
    font-size:.8rem;
    font-weight:800;
}

.account-card strong{
    margin-top:7px;
    font-size:1.25rem;
}

.account-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.account-empty{
    margin-top:35px;
    padding:40px;
    text-align:center;
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.course-account-grid{
    display:grid;
    gap:22px;
    margin-top:30px;
}

.course-account-card{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:25px;
    padding:22px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.course-account-card img{
    width:240px;
    height:200px;
    object-fit:cover;
    border-radius:16px;
}

@media(max-width:680px){

    .account-grid{
        grid-template-columns:1fr;
    }

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

    .course-account-card img{
        width:100%;
        height:230px;
    }
}


/* =========================================================
   CURSOS - PANEL DE ELI
   ========================================================= */

.curso-admin-form{
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:18px 20px;
}

.curso-admin-form label{
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:.84rem;
    font-weight:800;
    color:#342c39;
}

.curso-admin-form input,
.curso-admin-form textarea{
    width:100%;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #d8cedd;
    border-radius:12px;
    background:#fff;
    color:#1c1724;
    outline:none;
}

.curso-admin-form textarea{
    min-height:120px;
    resize:vertical;
}

.curso-admin-form input[type="file"]{
    padding:10px;
    background:#faf8fb;
}

.curso-admin-form input:focus,
.curso-admin-form textarea:focus{
    border-color:var(--purple);
    box-shadow:0 0 0 3px rgba(123,77,196,.10);
}

.curso-admin-form small{
    color:var(--muted);
    font-size:.76rem;
    font-weight:500;
}

.curso-admin-wide{
    grid-column:1/-1;
}

.curso-admin-list{
    display:grid;
    gap:24px;
}

.curso-admin-card{
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:28px;
    padding:24px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(27,23,32,.08);
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.curso-admin-preview{
    width:260px;
    height:260px;
    overflow:hidden;
    border-radius:18px;
    background:#17111f;
}

.curso-admin-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.curso-admin-content{
    min-width:0;
}

.curso-video-ok,
.curso-video-falta{
    display:inline-flex;
    padding:8px 12px;
    margin-bottom:20px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
}

.curso-video-ok{
    background:#def4e5;
    color:#22643a;
}

.curso-video-falta{
    background:#fff0d8;
    color:#8a5a17;
}

@media(max-width:850px){

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

    .curso-admin-preview{
        width:100%;
        height:300px;
    }
}

@media(max-width:650px){

    .curso-admin-form{
        grid-template-columns:1fr;
    }

    .curso-admin-wide{
        grid-column:auto;
    }
}


/* =========================================================
   CURSOS PUBLICOS + DETALLE + PLAYER
   ========================================================= */

.public-course-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    margin-top:35px;
}

.public-course-card{
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 36px rgba(28,19,36,.07);
}

.public-course-image{
    height:260px;
    overflow:hidden;
    background:#17111f;
}

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

.public-course-body{
    padding:22px;
}

.public-course-body h2{
    margin:7px 0 10px;
}

.public-course-body p{
    color:var(--muted);
}

.public-course-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-top:20px;
}

.public-course-bottom strong{
    font-size:1.35rem;
}

.course-detail-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center;
}

.course-detail-image{
    overflow:hidden;
    min-height:460px;
    border-radius:26px;
    background:#17111f;
}

.course-detail-image img{
    width:100%;
    height:100%;
    min-height:460px;
    object-fit:cover;
}

.course-detail-copy h1{
    margin:8px 0 18px;
}

.course-detail-copy p{
    color:var(--muted);
}

.course-detail-price{
    display:block;
    margin:25px 0 14px;
    font-size:2rem;
}

.course-detail-note{
    padding:15px;
    border-radius:14px;
    background:#f3e9fc;
}

.course-video-player{
    margin:30px 0;
    padding:18px;
    border-radius:24px;
    background:#120d19;
}

.course-video-player video{
    display:block;
    width:100%;
    max-height:720px;
    border-radius:16px;
    background:#000;
}

@media(max-width:950px){

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

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

@media(max-width:650px){

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

    .public-course-bottom{
        align-items:flex-start;
        flex-direction:column;
    }

    .course-detail-image,
    .course-detail-image img{
        min-height:300px;
    }
}


/* =========================================================
   AJUSTE COMPACTO CURSOS PUBLICOS
   ========================================================= */

.public-course-grid{
    grid-template-columns:repeat(3, minmax(240px, 300px)) !important;
    gap:22px !important;
    align-items:start;
}

.public-course-card{
    max-width:300px !important;
}

.public-course-image{
    height:190px !important;
}

.public-course-body{
    padding:18px !important;
}

.public-course-body h2{
    font-size:1.35rem !important;
    line-height:1.25 !important;
    margin:6px 0 8px !important;
}

.public-course-body p{
    font-size:.9rem !important;
    line-height:1.45 !important;
}

.public-course-bottom{
    margin-top:16px !important;
}

.public-course-bottom strong{
    font-size:1.2rem !important;
}

.public-course-bottom .button{
    padding:10px 16px !important;
    font-size:.88rem !important;
}

/* DETALLE DEL CURSO MAS COMPACTO */

.course-detail-grid{
    grid-template-columns:420px minmax(0, 1fr) !important;
    gap:38px !important;
    align-items:center !important;
}

.course-detail-image{
    min-height:360px !important;
    max-height:420px !important;
}

.course-detail-image img{
    min-height:360px !important;
    max-height:420px !important;
    object-fit:cover !important;
}

.course-detail-copy h1{
    font-size:2.4rem !important;
    line-height:1.15 !important;
    margin:8px 0 14px !important;
}

.course-detail-copy p{
    font-size:.95rem !important;
}

.course-detail-price{
    font-size:1.7rem !important;
    margin:18px 0 12px !important;
}

.course-detail-note{
    padding:13px 14px !important;
    font-size:.9rem !important;
}

@media(max-width:950px){

    .public-course-grid{
        grid-template-columns:repeat(2, minmax(240px, 300px)) !important;
    }

    .course-detail-grid{
        grid-template-columns:1fr !important;
    }

    .course-detail-image{
        max-width:520px;
    }
}

@media(max-width:650px){

    .public-course-grid{
        grid-template-columns:1fr !important;
    }

    .public-course-card{
        max-width:100% !important;
    }

    .public-course-image{
        height:220px !important;
    }

    .course-detail-copy h1{
        font-size:2rem !important;
    }
}


/* =========================================================
   CURSOS DINAMICOS EN INICIO
   ========================================================= */

.course-grid a.course-card{
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease;
}

.course-grid a.course-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 34px rgba(28,19,36,.12);
}

.course-home-link{
    display:inline-block;
    margin-top:18px;
    color:#7b4dc4;
    font-weight:800;
    font-size:.88rem;
}

.featured-course .course-home-link{
    color:#d6b5ff;
}


/* =========================================================
   CURSOS DEL INICIO CON PORTADA
   ========================================================= */

.course-home-real{
    overflow:hidden;
    padding:0 !important;
}

.course-home-image{
    width:100%;
    height:180px;
    overflow:hidden;
    background:#17111f;
}

.course-home-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.course-home-content{
    padding:24px 28px 28px;
}

.course-home-content h3{
    margin-top:14px;
}

.course-home-content p{
    min-height:54px;
}

.featured-course .course-home-image{
    opacity:.92;
}


/* =========================================================
   PORTADA CURSO MAS CHICA EN EL INICIO
   ========================================================= */

.course-home-real{
    max-width:300px !important;
}

.course-home-image{
    height:145px !important;
}

.course-home-content{
    padding:20px 22px 22px !important;
}

.course-home-content h3{
    font-size:1.55rem !important;
    line-height:1.3 !important;
}

.course-home-content p{
    font-size:.9rem !important;
    line-height:1.5 !important;
    min-height:auto !important;
}

@media(max-width:650px){

    .course-home-real{
        max-width:100% !important;
    }

    .course-home-image{
        height:170px !important;
    }
}


/* =========================================================
   PEDIDOS ADMIN MAS COMPACTOS
   ========================================================= */

.pedido-admin-card{
    padding:20px !important;
}

.pedido-admin-head h2{
    font-size:1.35rem !important;
    line-height:1.2 !important;
}

.pedido-admin-head p{
    font-size:.82rem !important;
}

.pedido-admin-total strong{
    font-size:1.35rem !important;
}

.pedido-admin-status{
    margin:14px 0 !important;
}

.pedido-admin-status span{
    padding:6px 10px !important;
    font-size:.76rem !important;
}

.pedido-admin-productos h3{
    font-size:1.15rem !important;
}

.pedido-admin-item{
    font-size:.9rem !important;
    padding:8px 0 !important;
}

.pedido-admin-item strong{
    font-size:.95rem !important;
}

.pedido-admin-grid{
    font-size:.86rem !important;
    padding:14px !important;
}

.pedido-admin-grid small{
    font-size:.7rem !important;
}

.pedido-admin-grid strong{
    font-size:.88rem !important;
}


/* =========================================================
   PEDIDOS ADMIN MAS COMPACTOS
   ========================================================= */

.pedido-admin-card{
    padding:18px !important;
}

.pedido-admin-head h2{
    font-size:1.25rem !important;
    line-height:1.15 !important;
}

.pedido-admin-head p{
    font-size:.80rem !important;
}

.pedido-admin-total strong{
    font-size:1.25rem !important;
}

.pedido-admin-status{
    margin:12px 0 !important;
}

.pedido-admin-status span{
    padding:5px 9px !important;
    font-size:.74rem !important;
}

.pedido-admin-productos h3{
    font-size:1.05rem !important;
}

.pedido-admin-item{
    font-size:.86rem !important;
    padding:7px 0 !important;
}

.pedido-admin-item strong{
    font-size:.90rem !important;
}

.pedido-admin-grid{
    font-size:.82rem !important;
    padding:12px !important;
}

.pedido-admin-grid small{
    font-size:.68rem !important;
}

.pedido-admin-grid strong{
    font-size:.84rem !important;
}


/* =========================================================
   CUENTAS EN MENU PRINCIPAL
   ========================================================= */

.nav-account-link,
.nav-account-eli{
    white-space:nowrap;
    font-size:.84rem !important;
}

.nav-account-create{
    padding:7px 11px !important;
    border-radius:999px;
    background:#7540c7;
    color:#fff !important;
}

.nav-account-secondary{
    opacity:.82;
}

.nav-account-eli{
    opacity:.72;
}

@media(max-width:900px){

    .nav-account-link,
    .nav-account-eli{
        font-size:.76rem !important;
    }

    .nav-account-create{
        padding:6px 9px !important;
    }
}


/* Acceso discreto de administración */
.footer-secret-access{
    color:inherit !important;
    text-decoration:none !important;
    opacity:.35;
    margin-left:4px;
    font-size:.8em;
}

.footer-secret-access:hover{
    opacity:.55;
}


/* =========================================================
   ACCESO DISCRETO ELI DESDE MARCA DEL FOOTER
   ========================================================= */

.footer-brand-admin{
    color:inherit !important;
    text-decoration:none !important;
    cursor:default;
}

.footer-brand-admin:hover{
    color:inherit !important;
    text-decoration:none !important;
}


/* ACCESO DISCRETO ELI EN COPYRIGHT */
.footer-copy-admin{
    color:inherit !important;
    text-decoration:none !important;
}

.footer-copy-admin:hover{
    color:inherit !important;
    text-decoration:none !important;
    opacity:.9;
}


/* =========================================================
   CURSO PRIVADO - ALUMNO
   ========================================================= */

.student-course-page{
    padding:55px 0 90px;
    min-height:70vh;
}

.student-course-back{
    margin-bottom:30px;
}

.student-course-back a{
    color:inherit;
    text-decoration:none;
    font-weight:700;
    font-size:.9rem;
    opacity:.75;
}

.student-course-back a:hover{
    opacity:1;
}

.student-course-header{
    max-width:850px;
    margin-bottom:35px;
}

.student-course-header h1{
    margin:8px 0 12px;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.05;
}

.student-course-header p{
    max-width:720px;
    line-height:1.7;
    opacity:.82;
}

.student-course-content{
    max-width:1050px;
}

.student-video-box{
    width:100%;
    background:#09070e;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 20px 55px rgba(0,0,0,.25);
}

.student-video{
    display:block;
    width:100%;
    max-height:620px;
    background:#000;
}

.student-course-info{
    margin-top:28px;
    padding:26px 30px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.student-course-info h2{
    margin:7px 0 10px;
    font-size:1.45rem;
}

.student-course-info p{
    margin:0;
    line-height:1.65;
    opacity:.78;
}

.student-course-pending{
    display:flex;
    align-items:center;
    gap:20px;
    min-height:190px;
    padding:30px;
    border-radius:20px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.student-course-pending > span{
    display:grid;
    place-items:center;
    flex:0 0 58px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:rgba(139,92,246,.18);
    font-size:1.25rem;
}

.student-course-pending h2{
    margin:0 0 8px;
    font-size:1.35rem;
}

.student-course-pending p{
    margin:0;
    opacity:.75;
    line-height:1.6;
}

@media(max-width:700px){

    .student-course-page{
        padding:35px 0 65px;
    }

    .student-course-header h1{
        font-size:2rem;
    }

    .student-course-pending{
        align-items:flex-start;
        padding:22px;
    }

    .student-course-info{
        padding:22px;
    }
}

