:root {
    --bg: #f2f2f2;
    --card-bg: #ffffff;
    --text: #1a1a1a;
    --accent: #000000; /* Sort/Hvid kontrast for arkitekt-look */
    --link-blue: #0984e3;
    --border: #e0e0e0;
}

body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: var(--bg);
    font-family: 'DengXian', 'Segoe UI', sans-serif;
    color: var(--text);
    overflow: hidden; /* Låser browser-vinduet */
}

@media (max-width: 900px) {
    body, html { overflow: auto; height: auto; }
}

.wrapper {
    display: flex;
    flex-direction: column;
    height: 100vh; 
    padding: 20px;
    box-sizing: border-box;
    width: 100%;           
    max-width: 100%;       
}

@media (max-width: 900px) {
    .wrapper { height: auto; }
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px 20px 10px;
    border-bottom: 2px solid var(--accent);
    margin-bottom: 20px;
    flex-shrink: 0;
}

header h1 { margin: 0; font-size: 1.8rem; font-weight: bold; text-transform: uppercase; letter-spacing: 2px; }
header p { margin: 5px 0 0 0; font-size: 0.9rem; color: #666; }

/* LinkedIn Ikon med glidende UI-effekt */
.header-social img { 
    width: 35px; 
    opacity: 0.8;
    transition: transform 0.25s ease, opacity 0.25s ease; 
}

.header-social img:hover {
    opacity: 1;
    transform: scale(1.12); 
}

/* Dashboard To-Spaltet Layout */
.dashboard {
    display: flex;
    gap: 20px;
    flex: 1;
    width: 100%;
    box-sizing: border-box;
    min-height: 0; 
}

/* Venstre kolonne - SAT TIL 1 1 50% */
.dashboard-col-left {
    flex: 1 1 50%; 
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 0;
}

/* Højre kolonne - SAT TIL 1 1 50% */
.dashboard-col-right {
    flex: 1 1 50%; 
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Fælles styling for kort-sektionerne */
.col {
    display: flex;
    flex-direction: column;
    background: var(--card-bg);
    border: 1px solid var(--border);
    padding: 15px 20px;
    box-sizing: border-box;
}

.section-title {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
    color: #888;
    flex-shrink: 0;
}

/* Dokument-liste */
.doc-list {
    display: grid;
    gap: 10px;
}

.doc-item {
    background: var(--card-bg);
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--border);
    transition: 0.2s;
}

.doc-item:hover { border-color: var(--accent); }
.doc-item.highlight { border-left: 4px solid var(--accent); }

.doc-info h3 { margin: 0; font-size: 1rem; font-weight: bold; }
.doc-info span { font-size: 0.75rem; color: #999; }

.doc-btns { display: flex; gap: 8px; }

.btn-icon {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--text);
    background: #f9f9f9;
    border: 1px solid var(--border);
    border-radius: 2px;
}

.btn-icon.primary { background: var(--accent); color: white; border: none; }
.btn-icon:hover { transform: translateY(-2px); }

/* Video Card */
.video-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    width: 100%;            
}

.video-aspect {
    position: relative;
    padding-bottom: 56.25%;
    background: #000;
}

.video-aspect iframe {
    position: absolute;
    top:0; left:0; width:100%; height:100%;
}

.video-footer {
    padding: 10px 20px; 
    font-size: 0.85rem;  
    line-height: 1.3;    
    color: #555;
}

.video-footer p { margin: 0; }


/* ==========================================================================
   VERTIKAL ZIGZAG TIDSLINJE
   ========================================================================== */

.timeline-section {
    flex: 1;
    min-height: 0; 
}

.timeline-outer-layout-v {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    flex: 1;
    min-height: 0; 
    position: relative;
}

/* De interaktive scroll-zoner (Top og Bund) */
.scroll-zone-v {
    width: 100%;
    height: 35px; 
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    flex-shrink: 0;
}

.arrow-circle-v {
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    background: var(--card-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-size: 0.9rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.scroll-zone-v:hover .arrow-circle-v {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    transform: scale(1.08);
}

.top-zone { margin-bottom: 5px; }
.bottom-zone { margin-top: 5px; }

/* Selve det lukkede vindue med scroll */
.vertical-timeline-container {
    position: relative;
    width: 100%;
    flex: 1;
    min-height: 0; 
    overflow-y: auto; 
    padding: 20px 10px; 
    box-sizing: border-box;
    scrollbar-width: none; 
}

.vertical-timeline-container::-webkit-scrollbar {
    display: none;
}

/* DET NYE LANGE INDRE SPOR: Det vokser i takt med dine 8+ milepæle */
.timeline-scroll-track {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* Den gennemgående midterstreg - NU LÅST TIL DET INTERNE SPORS REELLE HØJDE */
.v-timeline-line {
    position: absolute;
    top: 0;
    bottom: 0; 
    left: 50%; 
    width: 2px;
    background: var(--border);
    z-index: 1;
    transform: translateX(-50%);
}

/* Enkelt vertikal milepæl boks */
.v-timeline-item {
    position: relative;
    display: flex;
    width: 100%;
    margin-bottom: 55px; /* Lidt mere luft imellem boksene for et renere look */
    box-sizing: border-box;
    flex-shrink: 0; 
}

.v-timeline-item:last-child {
    margin-bottom: 20px; 
}

/* Prikken på midterlinjen */
.v-timeline-dot {
    position: absolute;
    left: 50%; 
    top: 6px;
    width: 12px;
    height: 12px;
    background: var(--accent);
    border-radius: 50%;
    z-index: 3;
    transform: translateX(-50%);
    transition: transform 0.2s ease;
}

.v-timeline-item:hover .v-timeline-dot {
    transform: translateX(-50%) scale(1.4);
}

/* Indholdet (Kassen) */
.v-timeline-content {
    width: 44%; 
    box-sizing: border-box;
    position: relative;
}

/* Enkelt standard milepælsbillede */
.v-timeline-img {
    width: 100%;
    max-width: 280px; 
    height: 150px;
    object-fit: cover;
    border: 1px solid var(--border);
    margin-bottom: 10px;
    background-color: #f0f0f0;
    display: block;
}


/* ==========================================================================
   COLLAGE STYLING
   ========================================================================== */
.timeline-collage {
    display: flex;
    gap: 6px; 
    width: 100%;
    max-width: 280px; 
    height: 150px; 
    margin-bottom: 10px;
}

.collage-img {
    object-fit: cover;
    border: 1px solid var(--border);
    background-color: #f0f0f0;
}

.collage-img.large {
    width: 60%;
    height: 100%;
}

.collage-stack {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 40%;
    height: 100%;
}

.collage-img.small {
    width: 100%;
    height: calc(50% - 3px); 
}


/* ==========================================================================
   ZIGZAG MAGIEN (Skiftevis venstre og højre side)
   ========================================================================== */

/* 1., 3., 5. osv. milepæl skubbes til VENSTRE side */
.v-timeline-item:nth-child(odd) {
    justify-content: flex-start;
    text-align: right;
}
.v-timeline-item:nth-child(odd) .v-timeline-img,
.v-timeline-item:nth-child(odd) .timeline-collage {
    margin-left: auto; 
}

/* 2., 4., 6. osv. milepæl skubbes til HØJRE side */
.v-timeline-item:nth-child(even) {
    justify-content: flex-end;
    text-align: left;
}
.v-timeline-item:nth-child(even) .v-timeline-img,
.v-timeline-item:nth-child(even) .timeline-collage {
    margin-right: auto; 
}


/* Styling af tekst */
.v-timeline-date {
    display: block;
    font-size: 0.85rem;
    font-weight: bold;
    color: var(--accent);
    margin-bottom: 8px;
}

.v-timeline-content h3 {
    font-size: 1.05rem;
    margin: 0 0 6px 0;
    font-weight: bold;
}

.v-timeline-content p {
    font-size: 0.85rem;
    color: #666;
    margin: 0;
    line-height: 1.45;
}

/* Mobil-responsivitet */
@media (max-width: 900px) {
    .dashboard {
        flex-direction: column;
        height: auto;
    }
    .dashboard-col-left, .dashboard-col-right {
        flex: 1 1 100%;
    }
    .scroll-zone-v {
        display: none !important; 
    }
    .vertical-timeline-container {
        scrollbar-width: auto;
        height: auto;
        padding-left: 25px;
    }
    .timeline-scroll-track {
        display: block;
    }
    .v-timeline-line {
        left: 15px;
        transform: none;
        bottom: 0;
    }
    .v-timeline-dot {
        left: 15px;
        transform: translateX(-50%);
    }
    .v-timeline-item:hover .v-timeline-dot {
        transform: translateX(-50%) scale(1.4);
    }
    .v-timeline-item {
        justify-content: flex-start !important;
        text-align: left !important;
        margin-bottom: 30px;
    }
    .v-timeline-content {
        width: 100%;
        padding-left: 25px;
    }
    .v-timeline-img, .timeline-collage {
        max-width: 100%; 
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

/* ==========================================================================
   TVANGSBESKÆRING AF VERTIKALT COLLAGE-BILLEDE (FIKSET)
   ========================================================================== */
.collage-img-vertical {
    width: 100% !important;        /* Fylder præcis de 40% ud, som højre spalte har */
    height: 100% !important;       /* Fylder præcis hele tidslinje-højden (150px) ud */
    max-width: 100% !important;    /* Forbyder absolut billedet at blive bredere */
    max-height: 150px !important;  /* Forbyder absolut billedet at blive højere */
    object-fit: cover !important;  /* MAGIEN: Beskærer og klipper billedet til, frem for at tvinge det ud */
    border: 1px solid var(--border) !important;
    background-color: #f0f0f0 !important;
    display: block !important;
}
  /* ==========================================================================
   FJERN BLINKENDE MUSE-IKON OG TEKSTMARKERING I TIDSLINJEN
   ========================================================================== */

/* Forhindrer at man kan markere tekst, billeder og prikker i hele tidslinje-sektionen */
.timeline-section {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none;     /* IE 10 and IE 11 */
    user-select: none;         /* Standard (Chrome, Firefox, Edge) */
}

/* Sørger for, at selve ikonerne (pilene) ikke blokerer eller trigger tekstmarkøren */
.scroll-zone-v, .arrow-circle-v, .arrow-circle-v i {
    cursor: pointer !important; /* Tvinger musen til altid at være en klikbar hånd/pil her */
    -webkit-user-select: none;
    user-select: none;
}

/* Forhindrer at browseren prøver at "trække" i billederne, når man klikker hurtigt */
.v-timeline-img, .collage-img {
    pointer-events: none; /* Gør at billederne ignoreres ved klik/træk, så de ikke markeres */
}
  
}