/* =========================================================
   ACCORDION PRIMEFACES 4 - PADRÃO 2026
   Escopo: filtros / blocos colapsáveis modernos
   Uso: styleClass="layout2026-filter-accordion"
   ========================================================= */

/* CONTAINER GERAL */
.layout2026-filter-accordion.ui-accordion {
    border: 0 !important;
    background: transparent !important;
}

/* CADA ABA */
.layout2026-filter-accordion .ui-accordion-panel {
    margin-bottom: 1rem;
    border: 1px solid #e7ebf3 !important;
    border-radius: 18px !important;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

/* CABEÇALHO DA ABA */
.layout2026-filter-accordion .ui-accordion-header {
    margin: 0 !important;
    border: 0 !important;
    background: linear-gradient(180deg, #f8faff 0%, #f1f5fd 100%) !important;
    border-radius: 0 !important;
    transition: background .2s ease, box-shadow .2s ease;
}

/* LINK/TÍTULO DO CABEÇALHO */
.layout2026-filter-accordion .ui-accordion-header a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 1rem 1.25rem !important;
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* HOVER DO CABEÇALHO */
.layout2026-filter-accordion .ui-accordion-header:hover {
    background: linear-gradient(180deg, #f4f7ff 0%, #ebf1fc 100%) !important;
}

/* ESTADO ATIVO */
.layout2026-filter-accordion .ui-accordion-header.ui-state-active {
    background: linear-gradient(180deg, #eef4ff 0%, #e6eefc 100%) !important;
    border-bottom: 1px solid #e1e8f5 !important;
}

/* REMOVE CANTOS E EFEITOS PADRÃO DO PRIMEFACES */
.layout2026-filter-accordion .ui-corner-all,
.layout2026-filter-accordion .ui-corner-top,
.layout2026-filter-accordion .ui-corner-bottom {
    border-radius: 0 !important;
}

/* ÍCONE PADRÃO DO PRIMEFACES (setinha) */
.layout2026-filter-accordion .ui-accordion-header .ui-icon {
    position: static !important;
    margin: 0 !important;
    width: 18px;
    height: 18px;
    opacity: .75;
}

/* MELHORA A POSIÇÃO DO BLOCO DE TÍTULO CUSTOM */
.layout2026-filter-accordion .layout2026-filter-tabtitle {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: 14px;
    font-weight: 700;
    color: #334155;
}

/* ÍCONE DO TÍTULO CUSTOM */
.layout2026-filter-accordion .layout2026-filter-tabtitle i {
    font-size: 14px;
    color: #6366f1;
}

/* CONTEÚDO DA ABA */
.layout2026-filter-accordion .ui-accordion-content {
    border: 0 !important;
    background: #ffffff !important;
    padding: 0 !important;
}

/* REMOVE BORDA INTERNA PADRÃO */
.layout2026-filter-accordion .ui-widget-content {
    border: 0 !important;
}

/* CARD INTERNO DE FILTROS */
.layout2026-filter-accordion .layout2026-filter-card {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 1.25rem;
    background: #ffffff;
}

/* CABEÇALHO INTERNO */
.layout2026-filter-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.layout2026-filter-header-left {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

/* ÍCONE DO BLOCO INTERNO */
.layout2026-filter-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    color: #4f46e5;
    font-size: 16px;
    box-shadow: inset 0 0 0 1px rgba(79, 70, 229, 0.08);
}

/* TÍTULO E SUBTÍTULO */
.layout2026-section-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
}

.layout2026-section-subtitle {
    margin-top: .25rem;
    font-size: .92rem;
    line-height: 1.45;
    color: #64748b;
}

/* BLOCOS DE FILTRO */
.layout2026-filter-block {
    background: #f8fafc;
    border: 1px solid #e7edf5;
    border-radius: 16px;
    padding: 1rem;
    height: 100%;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.layout2026-filter-block:hover {
    border-color: #d8e2f0;
    background: #fbfcfe;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04);
}

/* TÍTULO DE CADA BLOCO */
.layout2026-filter-block-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .9rem;
    font-size: .95rem;
    font-weight: 700;
    color: #334155;
}

.layout2026-filter-block-title i {
    color: #6366f1;
    font-size: .95rem;
}

/* LABELS */
.layout2026-label {
    display: inline-block;
    margin-bottom: .45rem;
    font-size: .84rem;
    font-weight: 600;
    color: #475569;
}

/* CAMPOS */
.layout2026-field,
.layout2026-field.ui-inputfield,
.layout2026-field .ui-selectonemenu-label,
.layout2026-field.ui-widget {
    border-radius: 12px !important;
}

/* INPUTS / CALENDÁRIOS / SELECTS */
input.layout2026-field,
textarea.layout2026-field,
.layout2026-field .ui-selectonemenu-label,
.layout2026-field.ui-inputfield,
.ui-calendar .layout2026-field {
    min-height: 42px;
    border: 1px solid #d9e2ef !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* FOCO */
input.layout2026-field:focus,
textarea.layout2026-field:focus,
.layout2026-field.ui-inputfield:focus,
.layout2026-field.ui-state-focus,
.layout2026-field .ui-state-focus,
.layout2026-field .ui-selectonemenu-label.ui-state-focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.14) !important;
    outline: none !important;
}

/* SELECTONEMENU */
.layout2026-field.ui-selectonemenu {
    border: 1px solid #d9e2ef !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.layout2026-field.ui-selectonemenu .ui-selectonemenu-trigger {
    border: 0 !important;
    background: transparent !important;
    width: 2.5rem;
}

/* AÇÕES */
.layout2026-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #edf1f7;
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .layout2026-filter-accordion .ui-accordion-header a {
        padding: .95rem 1rem !important;
    }

    .layout2026-filter-accordion .layout2026-filter-card {
        padding: 1rem;
    }

    .layout2026-filter-header,
    .layout2026-filter-header-left {
        flex-direction: column;
        align-items: flex-start;
    }

    .layout2026-filter-actions {
        flex-direction: column;
    }

    .layout2026-filter-actions .ui-button {
        width: 100%;
    }
}

/* =========================================================
   CALENDAR PRIMEFACES 4 - PADRÃO 2026
   Compatível com:
   <p:calendar ... styleClass="layout2026-field w-full" />
   ========================================================= */

/* CONTAINER DO CALENDAR */
.ui-calendar {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* INPUT DO CALENDAR */
.ui-calendar input,
.ui-calendar .layout2026-field,
input.hasDatepicker.layout2026-field {
    width: 100%;
    min-height: 42px;
    padding: .72rem 2.6rem .72rem .85rem !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

/* HOVER NO CAMPO */
.ui-calendar input:hover,
.ui-calendar .layout2026-field:hover,
input.hasDatepicker.layout2026-field:hover {
    border-color: #c7d4e5 !important;
    background: #fcfdff !important;
}

/* FOCO NO CAMPO */
.ui-calendar input:focus,
.ui-calendar .layout2026-field:focus,
input.hasDatepicker.layout2026-field:focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.14) !important;
    outline: none !important;
    background: #ffffff !important;
}

/* BOTÃO/ÍCONE DO CALENDAR QUANDO showOn="button" OU COM ÍCONE INTERNO */
.ui-calendar .ui-datepicker-trigger {
    position: absolute;
    top: 50%;
    right: .75rem;
    transform: translateY(-50%);
    border: 0 !important;
    background: transparent !important;
    color: #64748b !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
}

/* ÍCONE */
.ui-calendar .ui-datepicker-trigger .ui-icon {
    opacity: .75;
}

/* POPUP GERAL DO DATEPICKER */
.ui-datepicker {
    width: 19rem !important;
    padding: .75rem !important;
    border: 1px solid #e5eaf3 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14) !important;
    font-family: inherit;
}

/* HEADER DO POPUP */
.ui-datepicker .ui-datepicker-header {
    border: 0 !important;
    background: linear-gradient(180deg, #f8faff 0%, #f1f5fd 100%) !important;
    border-radius: 14px !important;
    padding: .8rem .9rem !important;
    margin-bottom: .7rem;
    color: #334155 !important;
    position: relative;
}

/* TÍTULO MÊS/ANO */
.ui-datepicker .ui-datepicker-title {
    line-height: 1.2 !important;
    margin: 0 2rem !important;
    text-align: center !important;
    font-weight: 700;
    color: #334155 !important;
}

/* BOTÕES ANTERIOR / PRÓXIMO */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 50% !important;
    transform: translateY(-50%);
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 999px !important;
    transition: background .2s ease, box-shadow .2s ease;
}

.ui-datepicker .ui-datepicker-prev {
    left: .45rem !important;
}

.ui-datepicker .ui-datepicker-next {
    right: .45rem !important;
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    background: #e9eefb !important;
}

/* ÍCONES PREV/NEXT */
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    margin-left: -8px !important;
    margin-top: -8px !important;
    opacity: .8;
}

/* TABELA */
.ui-datepicker table {
    margin: 0 !important;
    font-size: .92rem;
}

/* CABEÇALHO DOS DIAS */
.ui-datepicker th {
    padding: .55rem .2rem !important;
    font-size: .78rem;
    font-weight: 700;
    color: #64748b !important;
    text-transform: uppercase;
}

/* CÉLULAS */
.ui-datepicker td {
    padding: .18rem !important;
}

/* LINKS DOS DIAS */
.ui-datepicker td a,
.ui-datepicker td span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    margin: 0 auto;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #334155 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* HOVER NOS DIAS */
.ui-datepicker td a:hover {
    background: #f2f6ff !important;
    border-color: #dbe6fb !important;
    color: #1e293b !important;
}

/* DIA ATUAL */
.ui-datepicker .ui-datepicker-today a,
.ui-datepicker .ui-datepicker-today span {
    background: #eef2ff !important;
    border-color: #cfd8ff !important;
    color: #4338ca !important;
    font-weight: 700;
}

/* DIA SELECIONADO */
.ui-datepicker .ui-state-active,
.ui-datepicker .ui-datepicker-current-day a {
    background: linear-gradient(180deg, #6366f1 0%, #5850ec 100%) !important;
    border-color: #5850ec !important;
    color: #ffffff !important;
    font-weight: 700;
}

/* DIAS DE OUTRO MÊS */
.ui-datepicker .ui-datepicker-other-month a,
.ui-datepicker .ui-datepicker-other-month span {
    color: #b3bfd1 !important;
}

/* ESTADOS PADRÃO DO JQUERY UI / PF4 */
.ui-datepicker .ui-state-default {
    box-shadow: none !important;
}

/* RODAPÉ, SE USAREM buttonPanel */
.ui-datepicker .ui-datepicker-buttonpane {
    margin-top: .7rem !important;
    padding-top: .7rem !important;
    border-top: 1px solid #edf1f7 !important;
    background: transparent !important;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    border: 1px solid #d9e2ef !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #334155 !important;
    padding: .45rem .85rem !important;
    box-shadow: none !important;
}

/* SELECT DE MÊS/ANO, QUANDO HABILITADO */
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    border: 1px solid #d9e2ef !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #334155 !important;
    padding: .2rem .45rem !important;
    font-size: .85rem !important;
    box-shadow: none !important;
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .ui-datepicker {
        width: 100% !important;
        max-width: 20rem;
        padding: .65rem !important;
    }

    .ui-datepicker td a,
    .ui-datepicker td span {
        width: 2rem;
        height: 2rem;
        border-radius: 10px !important;
    }
}

/* =========================================================
   SELECTONEMENU PRIMEFACES 4 - PADRÃO 2026
   Compatível com:
   styleClass="layout2026-field w-full"
   ========================================================= */

/* CONTAINER */
.ui-selectonemenu.layout2026-field {
    border: 1px solid #d9e2ef !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    min-height: 42px;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* HOVER */
.ui-selectonemenu.layout2026-field:hover {
    border-color: #c7d4e5 !important;
}

/* FOCO */
.ui-selectonemenu.layout2026-field.ui-state-focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 3px rgba(129,140,248,0.14) !important;
}

/* TEXTO DO CAMPO */
.layout2026-field .ui-selectonemenu-label {
    background: transparent !important;
    border: 0 !important;
    color: #334155 !important;
    font-size: 14px;
    padding: .7rem .8rem !important;
    line-height: 1.2;
}

/* BOTÃO DROPDOWN */
.layout2026-field .ui-selectonemenu-trigger {
    border: 0 !important;
    background: transparent !important;
    width: 2.6rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ÍCONE */
.layout2026-field .ui-selectonemenu-trigger .ui-icon {
    opacity: .7;
}

/* ===============================
   PAINEL DROPDOWN
   =============================== */

.ui-selectonemenu-panel {
    border: 1px solid #e5eaf3 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 45px rgba(15,23,42,0.14) !important;
    padding: .35rem !important;
}

/* LISTA */
.ui-selectonemenu-items {
    border: 0 !important;
}

/* ITEM */
.ui-selectonemenu-item {
    border-radius: 10px !important;
    padding: .55rem .65rem !important;
    font-size: 14px;
    color: #334155 !important;
    transition: background .15s ease;
}

/* HOVER ITEM */
.ui-selectonemenu-item:hover {
    background: #f1f5ff !important;
}

/* ITEM SELECIONADO */
.ui-selectonemenu-item.ui-state-highlight {
    background: linear-gradient(180deg,#6366f1 0%,#5850ec 100%) !important;
    color: #ffffff !important;
}

/* ===============================
   CAMPO DE FILTRO
   =============================== */

.ui-selectonemenu-panel .ui-selectonemenu-filter-container {
    padding: .45rem !important;
}

.ui-selectonemenu-filter {
    width: 100% !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 10px !important;
    padding: .4rem .6rem !important;
    font-size: 13px;
    color: #334155 !important;
    background: #ffffff !important;
}

/* FOCO FILTRO */

.ui-selectonemenu-filter:focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 3px rgba(129,140,248,0.14) !important;
    outline: none !important;
}

/* ===============================
   SCROLLBAR
   =============================== */

.ui-selectonemenu-items-wrapper::-webkit-scrollbar {
    width: 8px;
}

.ui-selectonemenu-items-wrapper::-webkit-scrollbar-thumb {
    background: #d6deeb;
    border-radius: 8px;
}

.ui-selectonemenu-items-wrapper::-webkit-scrollbar-thumb:hover {
    background: #c6d0e1;
}

