.block-resultados * {
    box-sizing: border-box;
}

.block-resultados {
    --rp: #a31e33;
    --rp2: #c4253e;
    --rbg: #fff;
    --rbg2: #f7f7f7;
    --rborder: #e0e0e0;
    --rtext: #1a1a1a;
    --rmuted: #999;
    --rradius: 8px;
    margin: 2.5rem 0;
    font-family: inherit;
}
.res-category { margin-bottom: 3rem; }
.res-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--rp);
    margin: 0 0 1rem;
    padding-left: .8rem;
    border-left: 4px solid var(--rp);
}
.res-card {
    border: 1px solid var(--rborder);
    border-radius: var(--rradius);
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    overflow: hidden;
    background: var(--rbg);
}
.res-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    padding: .8rem 1rem;
    background: var(--rbg2);
    border-bottom: 1px solid var(--rborder);
}
.res-label {
    font-size: .8rem;
    color: var(--rmuted);
    display: flex;
    align-items: center;
    gap: .3rem;
}
.res-select, .res-input {
    font-size: .83rem;
    padding: .28rem .5rem;
    border: 1px solid var(--rborder);
    border-radius: 5px;
    background: #fff;
    color: var(--rtext);
    outline: none;
}
.res-select:focus, .res-input:focus { border-color: var(--rp); }
.res-input--sm { width: 90px; }
.res-btn {
    font-size: .78rem;
    padding: .3rem .7rem;
    border: 1px solid var(--rborder);
    border-radius: 5px;
    background: #fff;
    color: var(--rtext);
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}
.res-btn:hover:not(:disabled) { background: var(--rp); color: #fff; border-color: var(--rp); }
.res-btn:disabled { opacity: .35; cursor: default; }
.res-spacer { flex: 1; }
.res-count { font-size: .8rem; color: var(--rmuted); }
.res-table-wrap { overflow-x: auto; }
.res-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .88rem;
}
.res-table thead th {
    background: var(--rp);
    color: #fff;
    padding: .65rem .9rem;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}
.res-table tbody tr { border-bottom: 1px solid var(--rborder); transition: background .1s; }
.res-table tbody tr:hover { background: #fdf0f2; }
.res-table tbody tr:nth-child(even) { background: var(--rbg2); }
.res-table tbody tr:nth-child(even):hover { background: #fdf0f2; }
.res-table td { padding: .55rem .9rem; color: var(--rtext); white-space: nowrap; }
.res-table td:first-child { font-weight: 700; color: var(--rp); }
.res-row-retired td { color: var(--rmuted); font-style: italic; }
.res-row-retired td:first-child { color: var(--rmuted); }
.res-row-hidden { display: none; }
.res-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .7rem 1rem;
    background: var(--rbg2);
    border-top: 1px solid var(--rborder);
}
.res-page-info { font-size: .8rem; color: var(--rmuted); }
.res-pager { display: flex; gap: .35rem; }
@media (max-width: 600px) {
    .res-toolbar { gap: .4rem; }
    .res-footer { flex-direction: column; align-items: flex-start; }
}