
/* V12.5 - Correção definitiva: painel da busca não vaza do modal */

/* Caixa externa do modal */
.search-modal .search-box,
.quick-search .search-box,
.modal-search .search-box,
.search-overlay .search-box,
#searchModal .search-box,
#quickSearchModal .search-box{
    width:min(1180px, calc(100vw - 96px)) !important;
    max-width:min(1180px, calc(100vw - 96px)) !important;
    padding:28px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border-radius:26px !important;
}

/* Painel interno: agora usa a largura útil da caixa, não a largura total da tela */
.search-modal .search-panel,
.quick-search .search-panel,
.modal-search .search-panel,
.search-overlay .search-panel,
#searchModal .search-panel,
#quickSearchModal .search-panel{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    border-radius:24px !important;
}

/* Form ocupa somente o painel interno */
.search-modal form,
.quick-search form,
.modal-search form,
.search-overlay form,
#searchModal form,
#quickSearchModal form,
.search-modal .search-form,
.quick-search .search-form,
.modal-search .search-form,
.search-overlay .search-form,
#searchModal .search-form,
#quickSearchModal .search-form{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

/* Grade final: soma das colunas cabe dentro do painel */
.search-modal .search-grid,
.quick-search .search-grid,
.modal-search .search-grid,
.search-overlay .search-grid,
#searchModal .search-grid,
#quickSearchModal .search-grid{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(260px,1.3fr) minmax(190px,.78fr) minmax(190px,.78fr) 132px 102px !important;
    gap:8px !important;
    align-items:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

/* Todos os elementos respeitam as colunas */
.search-modal .search-grid > *,
.quick-search .search-grid > *,
.modal-search .search-grid > *,
.search-overlay .search-grid > *,
#searchModal .search-grid > *,
#quickSearchModal .search-grid > *{
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
}

/* Campo e selects */
.search-modal .search-grid input,
.quick-search .search-grid input,
.modal-search .search-grid input,
.search-overlay .search-grid input,
#searchModal .search-grid input,
#quickSearchModal .search-grid input,
.search-modal .search-grid select,
.quick-search .search-grid select,
.modal-search .search-grid select,
.search-overlay .search-grid select,
#searchModal .search-grid select,
#quickSearchModal .search-grid select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:56px !important;
    box-sizing:border-box !important;
}

/* Botões */
.search-modal .search-grid button,
.quick-search .search-grid button,
.modal-search .search-grid button,
.search-overlay .search-grid button,
#searchModal .search-grid button,
#quickSearchModal .search-grid button,
.search-modal .search-grid .btn,
.quick-search .search-grid .btn,
.modal-search .search-grid .btn,
.search-overlay .search-grid .btn,
#searchModal .search-grid .btn,
#quickSearchModal .search-grid .btn,
.search-modal .search-grid .btn-clear,
.quick-search .search-grid .btn-clear,
.modal-search .search-grid .btn-clear,
.search-overlay .search-grid .btn-clear,
#searchModal .search-grid .btn-clear,
#quickSearchModal .search-grid .btn-clear{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    margin:0 !important;
    padding:0 10px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    font-size:13px !important;
}

/* Botão fechar isolado: não participa da regra dos botões da grade */
.search-modal .close,
.quick-search .close,
.modal-search .close,
.search-overlay .close,
#searchModal .close,
#quickSearchModal .close,
.search-modal .search-close,
.quick-search .search-close,
.modal-search .search-close,
.search-overlay .search-close,
#searchModal .search-close,
#quickSearchModal .search-close,
.search-modal .modal-close,
.quick-search .modal-close,
.modal-search .modal-close,
.search-overlay .modal-close,
#searchModal .modal-close,
#quickSearchModal .modal-close{
    position:absolute !important;
    top:24px !important;
    right:24px !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    padding:0 !important;
    margin:0 !important;
}

/* Resultados abaixo do painel, sem estourar */
.search-results,
.quick-results,
#searchResults,
#quickResults,
.search-suggestions,
.quick-suggestions{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    margin-top:12px !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
}

/* Placeholder suave, sem cortar exagerado */
.search-modal .search-grid input[type="text"]:focus::placeholder,
.quick-search .search-grid input[type="text"]:focus::placeholder,
.modal-search .search-grid input[type="text"]:focus::placeholder,
.search-overlay .search-grid input[type="text"]:focus::placeholder,
#searchModal .search-grid input[type="text"]:focus::placeholder,
#quickSearchModal .search-grid input[type="text"]:focus::placeholder{
    opacity:.12 !important;
    letter-spacing:.02em !important;
}

@media(max-width:1120px){
    .search-modal .search-grid,
    .quick-search .search-grid,
    .modal-search .search-grid,
    .search-overlay .search-grid,
    #searchModal .search-grid,
    #quickSearchModal .search-grid{
        grid-template-columns:1fr 1fr !important;
    }

    .search-modal .search-grid input[type="text"],
    .quick-search .search-grid input[type="text"],
    .modal-search .search-grid input[type="text"],
    .search-overlay .search-grid input[type="text"],
    #searchModal .search-grid input[type="text"],
    #quickSearchModal .search-grid input[type="text"]{
        grid-column:1 / -1 !important;
    }
}

@media(max-width:720px){
    .search-modal .search-box,
    .quick-search .search-box,
    .modal-search .search-box,
    .search-overlay .search-box,
    #searchModal .search-box,
    #quickSearchModal .search-box{
        width:calc(100vw - 28px) !important;
        max-width:calc(100vw - 28px) !important;
        padding:20px !important;
    }

    .search-modal .search-grid,
    .quick-search .search-grid,
    .modal-search .search-grid,
    .search-overlay .search-grid,
    #searchModal .search-grid,
    #quickSearchModal .search-grid{
        grid-template-columns:1fr !important;
    }
}
