.ma-unified-catalog{
    --ma-navy:#20344d;
    --ma-navy-dark:#14253a;
    --ma-orange:#FE8446;
    --ma-border:#dfe5ec;
    --ma-soft:#f7f9fb;
    --ma-muted:#617087;
    width:100%;
    color:var(--ma-navy-dark);
    font-family:inherit;
}
.ma-unified-catalog *{box-sizing:border-box}
.ma-unified-catalog__layout{
    display:grid;
    grid-template-columns:264px minmax(0,1fr);
    gap:42px;
    align-items:start;
}
.ma-unified-filters{
    position:sticky;
    top:20px;
    padding:24px 20px;
    border:1px solid var(--ma-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 28px rgba(32,52,77,.05);
}
.ma-unified-search{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    height:42px;
    padding:0 12px;
    border:1px solid #d7dde6;
    background:#fff;
    border-radius:2px;
    margin-bottom:26px;
}
.ma-unified-search__icon{font-size:22px;line-height:1;color:#748197;transform:rotate(-15deg)}
.ma-unified-search input{
    width:100%;
    min-width:0;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font:inherit;
    font-size:14px;
    color:var(--ma-navy);
}
.ma-unified-filters__heading{
    position:relative;
    margin-bottom:16px;
    padding-bottom:12px;
    color:var(--ma-navy-dark);
    font-weight:800;
    font-size:16px;
}
.ma-unified-filters__heading:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:38px;
    height:3px;
    border-radius:999px;
    background:var(--ma-orange);
}
.ma-unified-filters__list{display:grid;gap:8px}
.ma-unified-filter-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:9px 12px;
    border-radius:10px;
    background:var(--ma-soft);
    color:#2b4059;
    font-size:13.5px;
    line-height:1.3;
    cursor:pointer;
}
.ma-unified-filter-item input{
    appearance:none;
    -webkit-appearance:none;
    width:19px;
    height:19px;
    flex:0 0 19px;
    margin:0;
    border:1px solid #d5dde7;
    border-radius:6px;
    background:#fff;
    display:grid;
    place-items:center;
}
.ma-unified-filter-item input:checked{
    border-color:var(--ma-orange);
    background:var(--ma-orange);
}
.ma-unified-filter-item input:checked:after{
    content:"✓";
    color:#fff;
    font-size:12px;
    font-weight:900;
}
.ma-unified-clear{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:22px;
    min-height:38px;
    padding:8px 13px;
    border:1px solid var(--ma-navy);
    border-radius:999px;
    color:var(--ma-navy)!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
}
.ma-unified-filter-submit{
    width:100%;
    margin-top:14px;
    padding:10px 13px;
    border:0;
    border-radius:9px;
    background:var(--ma-navy);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.ma-unified-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    min-height:44px;
    margin-bottom:24px;
}
.ma-unified-toolbar__count{font-size:13px;color:var(--ma-muted)}
.ma-unified-toolbar select{
    width:auto;
    max-width:360px;
    min-height:42px;
    padding:0 38px 0 15px;
    border:1px solid var(--ma-border);
    border-radius:8px;
    background:#fff;
    color:#25384f;
    font:inherit;
    font-size:14px;
}
.ma-unified-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}
.ma-unified-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--ma-border);
    border-radius:7px;
    background:#fff;
    box-shadow:0 6px 18px rgba(32,52,77,.035);
    transition:transform .18s ease, box-shadow .18s ease;
}
.ma-unified-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(32,52,77,.08)}
.ma-unified-card__image{
    position:relative;
    display:block;
    aspect-ratio:1.7/1;
    overflow:hidden;
    background:#edf1f5;
}
.ma-unified-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}
.ma-unified-card:hover .ma-unified-card__image img{transform:scale(1.02)}
.ma-unified-card__body{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:145px;
    padding:24px 20px 20px;
}
.ma-unified-card__title{
    color:#111820!important;
    text-decoration:none!important;
    font-size:20px;
    line-height:1.45;
    font-weight:500;
}
.ma-unified-card__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:70px;
    padding:14px 20px;
    border-top:1px solid var(--ma-border);
}
.ma-unified-card__footer--single{justify-content:flex-end}
.ma-unified-card__price{
    color:#050b13;
    font-size:15px;
    line-height:1.15;
    font-weight:850;
    white-space:nowrap;
}
.ma-unified-card__price del{opacity:.45;font-size:.8em}.ma-unified-card__price ins{text-decoration:none}
.ma-unified-card__button,
.ma-unified-card__footer .tutor-btn,
.ma-unified-card__footer a.tutor-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    width:auto!important;
    min-width:0!important;
    padding:8px 14px!important;
    border:1px solid var(--ma-navy)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--ma-navy)!important;
    text-decoration:none!important;
    font-size:13.5px!important;
    line-height:1.1!important;
    font-weight:850!important;
    white-space:nowrap!important;
}
.ma-unified-card__button:hover,
.ma-unified-card__footer .tutor-btn:hover{
    background:var(--ma-navy)!important;
    color:#fff!important;
}
.ma-unified-pagination{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:34px;
}
.ma-unified-pagination a{
    display:grid;
    place-items:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border:1px solid var(--ma-border);
    border-radius:9px;
    background:#fff;
    color:var(--ma-navy)!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
}
.ma-unified-pagination a.is-current{
    background:var(--ma-navy);
    border-color:var(--ma-navy);
    color:#fff!important;
}
.ma-unified-empty{
    display:grid;
    gap:7px;
    padding:42px 24px;
    border:1px solid var(--ma-border);
    border-radius:16px;
    background:var(--ma-soft);
    text-align:center;
}
.ma-unified-empty span{color:var(--ma-muted)}

.ma-unified-mobile-filter-toggle{display:none}
.ma-unified-filters__panel{display:block}

@media(max-width:1150px){
    .ma-unified-catalog__layout{grid-template-columns:230px minmax(0,1fr);gap:26px}
    .ma-unified-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
    .ma-unified-catalog__layout{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
    }

    /* En móvil: solo una barra compacta de Categorías, siempre visible al hacer scroll. */
    .ma-unified-filters{
        position:sticky !important;
        top:8px !important;
        z-index:9999 !important;
        order:0 !important;
        width:100% !important;
        padding:0 !important;
        border:0 !important;
        border-radius:12px !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .ma-unified-results{order:1 !important}

    .ma-unified-mobile-filter-toggle{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:100% !important;
        min-height:48px !important;
        padding:11px 15px !important;
        border:1px solid var(--ma-border) !important;
        border-radius:12px !important;
        background:#fff !important;
        color:var(--ma-navy-dark) !important;
        font:inherit !important;
        font-size:15px !important;
        font-weight:850 !important;
        cursor:pointer !important;
        box-shadow:0 8px 22px rgba(32,52,77,.10) !important;
    }

    .ma-unified-mobile-filter-toggle__chevron{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        font-size:20px !important;
        line-height:1 !important;
        color:var(--ma-orange) !important;
        transition:transform .18s ease !important;
    }

    .ma-unified-filters.is-open .ma-unified-mobile-filter-toggle__chevron{
        transform:rotate(180deg) !important;
    }

    /* El panel completo no ocupa sitio hasta que el usuario pulsa Categorías. */
    .ma-unified-filters__panel{
        display:none !important;
        position:absolute !important;
        top:calc(100% + 7px) !important;
        left:0 !important;
        right:0 !important;
        max-height:min(70vh,620px) !important;
        overflow:auto !important;
        padding:18px !important;
        border:1px solid var(--ma-border) !important;
        border-radius:14px !important;
        background:#fff !important;
        box-shadow:0 18px 44px rgba(20,37,58,.16) !important;
    }

    .ma-unified-filters.is-open .ma-unified-filters__panel{display:block !important}

    .ma-unified-search{margin-bottom:18px !important}
    .ma-unified-filters__heading{margin-bottom:12px !important}
    .ma-unified-filters__list{grid-template-columns:1fr !important;gap:7px !important}

    .ma-unified-toolbar{
        align-items:stretch !important;
        flex-direction:column !important;
        margin-bottom:16px !important;
    }
    .ma-unified-toolbar select{width:100% !important;max-width:none !important}
}
@media(max-width:560px){
    .ma-unified-filters__list,.ma-unified-grid{grid-template-columns:1fr}
    .ma-unified-card__body{min-height:120px;padding:18px 16px}
    .ma-unified-card__title{font-size:18px}
    .ma-unified-card__footer{padding:12px 16px;gap:10px}
    .ma-unified-card__button,
    .ma-unified-card__footer .tutor-btn,
    .ma-unified-card__footer a.tutor-btn{font-size:12.5px!important;padding:8px 11px!important;white-space:normal!important;text-align:center!important}
}
