/* ─────────────────────────────────────────────────────────────────────────
   LAYOUT TOKENS
   Centralized variables for Sidebar, Navbar, and Main Content structure.
   ───────────────────────────────────────────────────────────────────────── */

:root {
    /* Sidebar Widths */
    --sidebar-width-expanded: 260px;
    --sidebar-width-collapsed: 82px;

    /* Navbar Heights */
    --navbar-height: 70px;

    /* Layout Transitions */
    --layout-transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Sidebar Specific Tokens */
    --sidebar-z-index: 1040;
    --sidebar-mobile-z-index: 1050;
    --sidebar-overlay-z-index: 1049;

    /* Brand Colors (Standardized HGS BioScience) */
    --hgs-brand: #007455;
    --hgs-brand-hover: #065f46;
    --hgs-brand-active: #064d44;
    --hgs-brand-soft: #ecfdf5;
    --hgs-brand-focus: rgba(0, 116, 85, 0.2);
    --hgs-green: #007455;
    --hgs-green-light: rgba(0, 116, 85, 0.08);
}

/* Trial Request & Global Layout Utilities */
.sample-request-module .grid,
.app .grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    align-items: start;
}

.sample-request-module .kv,
.app .kv {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border, #e6eaf2);
}

.sample-request-module .kv:last-child,
.app .kv:last-child {
    border-bottom: 0;
}

.sample-request-module .kv .k,
.app .kv .k {
    color: var(--sub, #5a657a);
    font-size: 12px;
}

.sample-request-module .kv .v,
.app .kv .v {
    font-weight: 750;
    font-size: 13px;
}

.sample-request-module .split,
.app .split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.sample-request-module .twoCol,
.app .twoCol {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 14px;
    align-items: start;
}

@media (max-width: 1050px) {
    .sample-request-module .grid,
    .app .grid,
    .sample-request-module .twoCol,
    .app .twoCol,
    .sample-request-module .split,
    .app .split {
        grid-template-columns: 1fr;
    }
}

/* Prevent container-fluid mt--7 from sliding above top mobile/tablet header logo */
@media (max-width: 1050px) {
    .container-fluid.mt--7 {
        margin-top: 0 !important;
        padding-top: 20px !important;
    }
}

/* Modal Background Scroll Lock */
html.open-modal-no-scroll,
body.open-modal-no-scroll,
body.modal-open {
    overflow: hidden !important;
    height: 100% !important;
    overscroll-behavior: none !important;
}

#overlay.modal,
.modal-mask {
    overscroll-behavior: contain !important;
}
