/*==========================================================
=          Buscador y autocomplete general SIGAF V2
==========================================================*/

.sigaf-autocomplete{
    position:relative;
    width:100%;
}

.sigaf-autocomplete-box{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:.65rem;
    padding:0 .85rem;
    border:1px solid var(--sigaf-border);
    border-radius:18px;
    background:var(--sigaf-surface);
    box-shadow:0 14px 35px rgba(15,23,42,.08);
    transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.sigaf-autocomplete.is-open .sigaf-autocomplete-box,
.sigaf-autocomplete-box:focus-within{
    transform:translateY(-1px);
    border-color:var(--sigaf-primary);
    box-shadow:0 18px 45px rgba(0,120,166,.16);
}

.sigaf-autocomplete.is-invalid .sigaf-autocomplete-box{
    border-color:#dc2626;
    box-shadow:0 0 0 4px rgba(220,38,38,.1);
}

.sigaf-autocomplete.is-valid .sigaf-autocomplete-box{
    border-color:rgba(111,177,67,.72);
}

.sigaf-autocomplete-icon{
    flex:0 0 auto;
    color:var(--sigaf-primary);
    font-size:.95rem;
}

.sigaf-autocomplete-input{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:var(--sigaf-text);
    font:inherit;
    font-size:.92rem;
    font-weight:650;
}

.sigaf-autocomplete-input::placeholder{
    color:var(--sigaf-text-disabled);
    font-weight:500;
}

.sigaf-autocomplete-shortcut{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.22rem .45rem;
    border:1px solid rgba(0,120,166,.14);
    border-radius:9px;
    background:rgba(0,120,166,.06);
    color:rgba(0,120,166,.75);
    font-size:.66rem;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    box-shadow:none;
}

.sigaf-autocomplete.has-value .sigaf-autocomplete-shortcut,
.sigaf-autocomplete.is-open .sigaf-autocomplete-shortcut{
    display:none;
}

.sigaf-autocomplete-clear{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:none;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(0,120,166,.08);
    color:var(--sigaf-primary);
    cursor:pointer;
}

.sigaf-autocomplete.has-text .sigaf-autocomplete-clear,
.sigaf-autocomplete.has-value .sigaf-autocomplete-clear{
    display:inline-flex;
}

.sigaf-autocomplete-clear:hover{
    background:rgba(0,120,166,.14);
}

.sigaf-autocomplete-dropdown{
    position:absolute;
    top:calc(100% + .65rem);
    left:0;
    right:0;
    z-index:1700;
    max-height:420px;
    overflow:auto;
    padding:.85rem;
    border:1px solid var(--sigaf-border);
    border-radius:20px;
    background:var(--sigaf-surface);
    box-shadow:0 24px 60px rgba(15,23,42,.16);
}

/* Libera temporalmente las tarjetas ancestro mientras el autocomplete está abierto.
   Evita que overflow:hidden recorte el listado sin convertirlo en un ajuste por vista. */
.sigaf-card.sigaf-has-open-autocomplete{
    position:relative;
    z-index:30;
    overflow:visible;
}

.sigaf-card.sigaf-has-open-autocomplete > .sigaf-card-body{
    overflow:visible;
}

.sigaf-autocomplete-dropdown[hidden]{
    display:none;
}

.sigaf-autocomplete-title{
    margin-bottom:.55rem;
    color:var(--sigaf-text-light);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.sigaf-autocomplete-results{
    display:flex;
    flex-direction:column;
    gap:.25rem;
}


.sigaf-autocomplete-group{
    display:flex;
    flex-direction:column;
    gap:.25rem;
}

.sigaf-autocomplete-group + .sigaf-autocomplete-group{
    margin-top:.55rem;
}

.sigaf-autocomplete-group[hidden]{
    display:none !important;
}

.sigaf-autocomplete-group-title{
    width:100%;
    margin:.1rem 0 .2rem;
    padding:.42rem .62rem;
    border-radius:9px;
    color:var(--sigaf-primary);
    background:rgba(0,120,166,.08);
    font-size:.69rem;
    font-weight:900;
    letter-spacing:.055em;
    line-height:1.25;
    text-transform:uppercase;
}

.sigaf-autocomplete-item{
    width:100%;
    display:flex;
    align-items:center;
    gap:.7rem;
    padding:.65rem .7rem;
    border:0;
    border-radius:12px;
    background:transparent;
    color:var(--sigaf-text);
    font:inherit;
    font-size:.88rem;
    font-weight:700;
    text-align:left;
    cursor:pointer;
}

.sigaf-autocomplete-item[hidden]{
    display:none !important;
}

.sigaf-autocomplete-item > i,
.sigaf-autocomplete-item > .material-symbols-rounded{
    flex:0 0 auto;
    color:var(--sigaf-primary);
    font-size:.9rem;
}

.sigaf-autocomplete-item-content{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:.12rem;
}

.sigaf-autocomplete-item-content strong,
.sigaf-autocomplete-item-content small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sigaf-autocomplete-item-content small{
    color:var(--sigaf-text-light);
    font-size:.74rem;
    font-weight:600;
}

.sigaf-autocomplete-item:hover,
.sigaf-autocomplete-item:focus-visible,
.sigaf-autocomplete-item.is-focused{
    outline:0;
    background:rgba(0,120,166,.07);
}

.sigaf-autocomplete-item.is-selected{
    background:rgba(111,177,67,.11);
    color:#4b8d27;
}

.sigaf-autocomplete-empty,
.sigaf-autocomplete-loading{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.25rem;
    padding:1.2rem;
    color:var(--sigaf-text-light);
    text-align:center;
}

.sigaf-autocomplete-empty[hidden],
.sigaf-autocomplete-loading[hidden]{
    display:none;
}

.sigaf-autocomplete-empty i,
.sigaf-autocomplete-loading i{
    color:var(--sigaf-primary);
    font-size:1.35rem;
}

.sigaf-autocomplete-empty strong{
    color:var(--sigaf-text);
    font-size:.9rem;
}

.sigaf-autocomplete-empty small,
.sigaf-autocomplete-loading small{
    font-size:.78rem;
}

.sigaf-autocomplete-help{
    display:block;
    margin-top:.45rem;
    color:var(--sigaf-text-light);
    font-size:.76rem;
    font-weight:650;
}

.sigaf-autocomplete.is-invalid .sigaf-autocomplete-help{
    color:#b91c1c;
}

.sigaf-autocomplete-sentinel{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

@media (max-width:576px){
    .sigaf-autocomplete-shortcut{
        display:none;
    }

    .sigaf-autocomplete-dropdown{
        max-height:320px;
    }
}
