/**
 * File: assets/css/frontend/header/department-offcanvas.css
 * Purpose: Styles the context-aware Marketplace/Blog department trigger and accessible off-canvas panel.
 * Scope: Department-menu presentation only; menu assignment and blog-context resolution remain in PHP.
 * Related PHP: src/Frontend/Header/Components/DepartmentNavigation.php, src/Frontend/Header/DepartmentContext.php
 * Related CSS: assets/css/frontend/header/navigation.css
 * Related JS: assets/js/frontend/header/department-offcanvas.js
 * Package: HyperDAF Pro
 */

.hdf-department-navigation {
    display: flex;
    width: 100%;
    align-items: center;
}

.hdf-department-navigation__trigger {
    display: inline-flex;
    width: 100%;
    min-height: 1.75rem;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .25rem .72rem;
    border: 0;
    border-radius: .5rem;
    background: var(--hdf-color-primary-strong);
    color: var(--hdf-color-on-primary-strong);
    font-size: .72rem;
    font-weight: var(--hdf-typography-weight-semibold);
    line-height: 1;
    cursor: pointer;
    transition:
        background-color var(--hdf-motion-duration-fast) var(--hdf-motion-easing-standard),
        color var(--hdf-motion-duration-fast) var(--hdf-motion-easing-standard);
}

.hdf-department-navigation__trigger:hover,
.hdf-department-navigation__trigger[aria-expanded="true"] {
    background: var(--hdf-color-primary-hover);
    color: var(--hdf-color-on-primary-strong);
}

.hdf-department-navigation__trigger .hdf-icon {
    width: .92rem;
    height: .92rem;
    flex: 0 0 auto;
}

.hdf-department-navigation__trigger .hdf-icon--chevron-down {
    width: .7rem;
    height: .7rem;
}

.hdf-department-offcanvas {
    position: fixed;
    z-index: var(--hdf-z-index-modal);
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.hdf-department-offcanvas[hidden] {
    display: none;
}

.hdf-department-offcanvas__backdrop {
    position: absolute;
    z-index: var(--hdf-z-index-overlay);
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: var(--hdf-component-header-offcanvas-backdrop);
    cursor: pointer;
}

.hdf-department-offcanvas__panel {
    position: relative;
    z-index: var(--hdf-z-index-modal);
    width: min(
        var(--hdf-header-department-panel-width, var(--hdf-component-header-department-panel-width)),
        calc(100vw - var(--hdf-spacing-8))
    );
    max-width: var(--hdf-component-header-department-panel-max-width);
    height: 100%;
    overflow: auto;
    background: var(--hdf-color-surface);
    box-shadow: var(--hdf-shadow-lg);
}

.hdf-department-offcanvas__header {
    position: sticky;
    z-index: var(--hdf-z-index-sticky);
    top: 0;
    display: flex;
    min-height: var(--hdf-component-header-nav-height);
    align-items: center;
    justify-content: space-between;
    gap: var(--hdf-spacing-4);
    padding: var(--hdf-spacing-4) var(--hdf-spacing-5);
    border-bottom: var(--hdf-border-width-default) solid var(--hdf-color-border);
    background: var(--hdf-color-surface);
}

.hdf-department-offcanvas__title {
    margin: 0;
    color: var(--hdf-color-text-primary);
    font-size: var(--hdf-typography-size-lg);
    font-weight: var(--hdf-typography-weight-semibold);
    line-height: var(--hdf-typography-line-height-tight);
}

.hdf-department-offcanvas__close {
    display: inline-flex;
    width: var(--hdf-component-header-action-size);
    height: var(--hdf-component-header-action-size);
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: var(--hdf-radius-md);
    background: transparent;
    color: var(--hdf-color-text-primary);
    cursor: pointer;
}

.hdf-department-offcanvas__close:hover {
    background: var(--hdf-color-surface-subtle);
    color: var(--hdf-color-primary-strong);
}

.hdf-department-offcanvas__close .hdf-icon {
    width: .92rem;
    height: .92rem;
}

.hdf-department-offcanvas__navigation {
    padding: var(--hdf-spacing-4) var(--hdf-spacing-5) var(--hdf-spacing-8);
}

.hdf-department-menu,
.hdf-department-menu .sub-menu {
    display: grid;
    gap: var(--hdf-spacing-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.hdf-department-menu .sub-menu {
    margin-block: var(--hdf-spacing-1) var(--hdf-spacing-2);
    padding-left: var(--hdf-spacing-4);
    border-left: var(--hdf-border-width-default) solid var(--hdf-color-border);
}

.hdf-department-menu a {
    display: flex;
    min-height: var(--hdf-component-control-height);
    align-items: center;
    padding: var(--hdf-spacing-2) var(--hdf-spacing-3);
    border-radius: var(--hdf-radius-md);
    color: var(--hdf-color-text-primary);
    font-size: .72rem;
    font-weight: var(--hdf-typography-weight-medium);
    text-decoration: none;
}

.hdf-department-menu a:hover,
.hdf-department-menu .current-menu-item > a,
.hdf-department-menu .current-menu-ancestor > a {
    background: var(--hdf-color-primary-soft);
    color: var(--hdf-color-primary-strong);
}
