/* ==========================================================================
   assets/css/page-navigation.css
   KOMPLETT & RENSKÅRET STILARK FOR MENYLINJE OG APP-VINDUER
   ========================================================================== */

/* --- 1. FLYTBAR & MINIMERBAR VERKTØYLINJE --- */
#nav-drag-handle {
    display: none;
    cursor: move;
    background: var(--accent-color, #d4af37);
    color: var(--btn-text, #000000);
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    user-select: none;
    -webkit-user-select: none;
}

.page-navigation.is-floating {
    position: fixed !important;
    z-index: 2147483647 !important;
    background: var(--main-bg, #3d2b1f);
    border: 2px solid var(--accent-color, #d4af37);
    border-radius: 10px;
    padding: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
    touch-action: none;
    will-change: left, top;
    width: max-content !important; 
    max-width: 95vw !important;
}

.page-navigation.is-floating #nav-drag-handle {
    display: inline-block;
}

.page-navigation:not(.is-floating) #btn-minimize-nav {
    display: none !important;
}

/* --- 2. BOKS-LAYOUT MODER FOR MENYLINJEN --- */
.page-navigation.is-floating.layout-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 8px;
}

.page-navigation.is-floating.layout-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px;
    max-height: 85vh;
    overflow-y: auto;
}

.page-navigation.is-floating.layout-grid {
    display: grid !important;
    grid-template-columns: repeat(4, auto) !important;
    gap: 8px;
}

.page-navigation.layout-column #nav-drag-handle,
.page-navigation.layout-grid #nav-drag-handle {
    grid-column: span 4;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.page-navigation.is-minimized {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    height: auto !important;
    padding: 6px !important;
}

.page-navigation.is-minimized > *:not(#nav-drag-handle):not(#btn-minimize-nav) {
    display: none !important;
}

/* --- 3. TO-SPALTET IKON-HUB (HOVEDMENYEN) --- */
.page-navigation .dropdown-content {
    min-width: 550px !important;
    max-width: 700px !important;
    background: #2d1f16 !important;
    border: 2px solid var(--accent-color, #d4af37) !important;
    border-radius: 14px !important;
    padding: 15px !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.6) !important;
}

.hub-menu-wrapper {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: 380px !important;
    gap: 15px !important;
}

.hub-sidebar-categories {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 150px !important;
    min-width: 150px !important;
    overflow-y: auto !important;
    padding-right: 5px !important;
}

.hub-menu-divider {
    width: 1px !important;
    background: rgba(212, 175, 55, 0.15) !important;
    height: 100% !important;
}

.hub-main-apps-area {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
}

.hub-cat-title {
    font-size: 0.85em !important;
    color: var(--accent-color, #d4af37) !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px dashed rgba(212, 175, 55, 0.2) !important;
    padding-bottom: 5px !important;
}

.icon-menu-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
}

.hub-cat-btn, .icon-menu-grid .tpl-open-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(212, 175, 55, 0.12) !important;
    border-radius: 10px !important;
    padding: 10px 4px !important;
    color: #f5f5f5 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-align: center !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: transform 0.1s, background 0.2s;
}

.hub-cat-btn { padding: 12px 6px !important; }
.hub-cat-btn.active-cat {
    background: rgba(212, 175, 55, 0.15) !important;
    border-color: var(--accent-color, #d4af37) !important;
    color: var(--accent-color, #d4af37) !important;
}

.hub-cat-btn:hover, .icon-menu-grid .tpl-open-link:hover {
    background: var(--accent-color, #d4af37) !important;
    color: #000000 !important;
}
.hub-cat-btn:active, .icon-menu-grid .tpl-open-link:active { transform: scale(0.95); }

/* --- 4. SIDESKUTTING-BESKYTTELSE (POP-OUT RETNINGER) --- */
.page-navigation.is-floating.layout-column .dropdown-content,
.page-navigation.is-floating.layout-grid .dropdown-content {
    top: 0 !important;
    bottom: auto !important;
    left: 100% !important;
    right: auto !important;
    margin-left: 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.page-navigation.is-floating.layout-column,
.page-navigation.is-floating.layout-grid { overflow: visible !important; }

.page-navigation.is-floating.layout-column.flip-menu-left .dropdown-content,
.page-navigation.is-floating.layout-grid.flip-menu-left .dropdown-content {
    left: auto !important;
    right: 100% !important;
    margin-right: 10px !important;
    margin-left: 0 !important;
}

/* --- 5. EKSTERN URL & OPPLASTING --- */
.hub-external-url-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(212, 175, 55, 0.15) !important;
    border: 2px dashed var(--accent-color, #d4af37) !important;
    border-radius: 10px !important;
    padding: 12px 6px !important;
    color: var(--accent-color, #d4af37) !important;
    font-size: 10px !important;
    font-weight: bold !important;
    text-transform: uppercase;
    cursor: pointer !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 5px !important;
    transition: transform 0.1s, background 0.2s;
}
.hub-external-url-btn:hover { background: var(--accent-color, #d4af37) !important; color: #000000 !important; }
.hub-external-url-btn:active { transform: scale(0.95); }

.hub-upload-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(212, 175, 55, 0.1) !important;
    border: 2px dashed var(--accent-color, #d4af37) !important;
    border-radius: 10px !important;
    padding: 10px 4px !important;
    color: var(--accent-color, #d4af37) !important;
    font-size: 11px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    text-align: center !important;
    gap: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: transform 0.1s, background 0.2s;
}
.hub-upload-card:hover { background: var(--accent-color, #d4af37) !important; color: #000000 !important; }
.hub-upload-card:active { transform: scale(0.95); }

/* --- 6. SIKRET APP-VELGER HUB INNI FLYTTBARE VINDUER (NYESTE UTGAVE) --- */
.embedded-hub-toggle-btn {
    background: #1a252f;
    color: var(--accent-color, #d4af37);
    border: 1px solid var(--accent-color, #d4af37);
    font-size: 11px;
    font-weight: bold;
    border-radius: 4px;
    padding: 3px 8px;
    cursor: pointer;
    outline: none;
}
.embedded-hub-toggle-btn:hover { background: var(--accent-color, #d4af37); color: #000000; }

.embedded-menu-overlay {
    position: absolute !important;
    top: 32px !important; /* Låst helt i toppen under den gule vinduslinja */
    left: 4px !important;
    right: 4px !important;
    bottom: 4px !important; /* Strekker seg perfekt ut over hele iFramen */
    background: #2d1f16 !important; 
    border: 1px solid var(--accent-color, #d4af37) !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px;
    z-index: 99999 !important; /* Flyter trygt oppå alt under-innhold */
    display: none; /* Styres asynkront som 'flex' via JS */
    padding: 10px !important;
    box-sizing: border-box !important;
}

/* Gjør sidebaren og rutenettet optimalisert for innsiden av det flyttbare vinduet */
.embedded-menu-overlay .hub-sidebar-categories {
    width: 75px !important;
    min-width: 75px !important;
    gap: 6px !important;
}
.embedded-menu-overlay .hub-cat-btn {
    padding: 8px 4px !important;
    gap: 4px !important;
}
.embedded-menu-overlay .hub-cat-btn span {
    font-size: 9px !important;
}

/* Interne scrollbarer for de små listene */
.hub-sidebar-categories::-webkit-scrollbar,
.hub-main-apps-area::-webkit-scrollbar { width: 4px; }
.hub-sidebar-categories::-webkit-scrollbar-thumb,
.hub-main-apps-area::-webkit-scrollbar-thumb { background: var(--accent-color, #d4af37); border-radius: 4px; }
/* --- SIKRET DYNAMISK OVERRIDE FOR UNDER-VINDUER --- */
.filofax-embedded-app .embedded-menu-overlay {
    display: none; /* Styres av JS */
}

.filofax-embedded-app .embedded-menu-overlay[style*="display: flex"] {
    display: flex !important;
}

/* Sørger for at rutenettet inni vinduet aldri brekker eller forsvinner */
.filofax-embedded-app .icon-menu-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    padding: 5px 0 !important;
}

/* Tvinger under-knappene til å fylle rutenettet vakkert */
.filofax-embedded-app .tpl-open-link {
    width: 100% !important;
    box-sizing: border-box !important;
}
