/* Ajustes buscador dinámico BuscoAmistoso */
.search-layout{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:24px;
    align-items:start;
}
.search-panel{
    position:sticky;
    top:18px;
}
.results-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}
.category-chip-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    max-height:230px;
    overflow:auto;
    padding-right:4px;
}
.filter-chip{
    display:inline-flex;
    cursor:pointer;
    user-select:none;
}
.filter-chip input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.filter-chip span{
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(15,23,42,.14);
    background:#fff;
    border-radius:999px;
    padding:.42rem .72rem;
    font-size:.84rem;
    font-weight:700;
    color:#334155;
    transition:.18s ease;
}
.filter-chip input:checked + span{
    background:#0f172a;
    color:#fff;
    border-color:#0f172a;
}
.selected-dates{
    min-height:34px;
    background:#f8fafc;
    border:1px solid rgba(15,23,42,.08);
    border-radius:12px;
    padding:.55rem .7rem;
    font-size:.86rem;
    color:#475569;
    margin-bottom:10px;
}
.calendar-selector{
    display:grid;
    gap:14px;
    max-height:430px;
    overflow:auto;
    padding-right:4px;
}
.calendar-title{
    font-size:.82rem;
    font-weight:900;
    color:#0f172a;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}
.calendar-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:5px;
}
.calendar-day{
    appearance:none;
    border:1px solid rgba(15,23,42,.10);
    background:#fff;
    border-radius:9px;
    min-height:34px;
    font-size:.78rem;
    font-weight:800;
    color:#334155;
    transition:.16s ease;
}
.calendar-day:hover{
    background:#f1f5f9;
    transform:translateY(-1px);
}
.calendar-day.is-selected{
    background:#198754;
    border-color:#198754;
    color:#fff;
    box-shadow:0 8px 18px rgba(25,135,84,.22);
}
.result-item{
    transition:opacity .18s ease, transform .18s ease;
}
@media (max-width: 991.98px){
    .search-layout{
        grid-template-columns:1fr;
    }
    .search-panel{
        position:relative;
        top:auto;
    }
    .results-toolbar{
        align-items:flex-start;
        flex-direction:column;
    }
    .results-toolbar .d-flex{
        width:100%;
    }
    .results-toolbar select{
        width:100%;
    }
    .calendar-selector{
        max-height:330px;
    }
}

/* Tarjetas de oferta con escudo y estado */
.match-card-modern{
    cursor:pointer;
    border:1px solid rgba(15,23,42,.08);
}
.match-card-modern:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 40px rgba(15,23,42,.12);
}
.match-card-head{
    display:flex;
    align-items:flex-start;
    gap:14px;
}
.club-crest{
    width:58px;
    height:58px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid rgba(15,23,42,.10);
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    overflow:hidden;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.club-crest img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:6px;
}
.club-crest span{
    font-size:.9rem;
    font-weight:950;
    color:#0f172a;
    letter-spacing:.02em;
}
.club-crest-modal{
    width:68px;
    height:68px;
    border-radius:20px;
}
.min-w-0{min-width:0;}
.request-box{
    background:#f8fafc;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
}
.pill-warn{
    background:#fff7ed;
    color:#9a3412;
    border-color:#fed7aa;
}
@media (max-width: 575.98px){
    .club-crest{width:50px;height:50px;border-radius:14px;}
    .club-crest-modal{width:56px;height:56px;border-radius:16px;}
    .match-card-head{gap:10px;}
}
