/**
 * pharus-sidebar-modal.css — Design System (Camada 3)
 * ===================================================
 *
 * Estilos auxiliares do helper `pharusSidebarModal`:
 *   - Overlay unico compartilhado (.pharus-sidebar-overlay)
 *   - Animacao slide-from-right (.pharus-sidebar-modal.is-open)
 *   - Comportamento de stacking com z-index gerenciado via JS
 *
 * O HTML canonico usa .filter__page + .container__filter__page (definidos em
 * web-panel/dist/style/main.css linhas ~1091-1226). Este arquivo so adiciona:
 *   a) overlay escuro compartilhado;
 *   b) variante `.is-open` alternativa a `.actived` (compat pos-migracao);
 *   c) hook para largura customizada via style.maxWidth (setado pelo JS).
 *
 * Ref: task 233 / ADR-002
 */

/* Overlay unico — JS controla z-index e visibilidade via .is-visible */
.pharus-sidebar-overlay {
    position: fixed;
    inset: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(12, 30, 52, 0.55);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0s linear 0.25s;
    pointer-events: none;
    z-index: 9999998;
}

.pharus-sidebar-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.25s ease, visibility 0s linear 0s;
}

/*
 * .pharus-sidebar-modal — marcador opcional. Modalidade canonica continua
 * sendo .filter__page (do main.css). Aqui definimos apenas a variante
 * `.is-open` para modulos que preferirem a classe semantica nova. Consumidores
 * ja migrados para o helper podem usar:
 *
 *   <article class="filter__page pharus-sidebar-modal" id="xx"> ... </article>
 *
 * O helper adiciona `.is-open` E `.actived` simultaneamente, garantindo que
 * tanto o CSS antigo quanto o novo funcionem durante a transicao.
 */
.pharus-sidebar-modal.is-open {
    transform: translateX(0);
}

/* Animacao slide redundante (reforca o padrao global) */
.filter__page.is-open {
    transform: translateX(0);
}

.filter__page.is-open .container__filter__page {
    transform: translateX(0);
    overflow: visible;
}

/* Remove scroll do body enquanto houver modal aberto */
body.modal-open {
    overflow: hidden;
}

/* Melhoria de a11y: foco visivel no header do modal */
.filter__page.is-open .head__filter__Page h2 {
    outline: none;
}

/* Stacking — modal do topo ganha sombra extra sutil pra destacar do anterior */
.filter__page.is-open + .filter__page.is-open .container__filter__page,
.filter__page.is-open ~ .filter__page.is-open .container__filter__page {
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.35);
}

/* Garantia de cursor/acessibilidade no trigger de fechamento */
[data-pharus-sidebar-close] {
    cursor: pointer;
}
