/* Generel Styling */
body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    background-color: #f4f4f4; /* Lysegrå baggrund */
    color: #333;
}

/* Topbjælke */
header {
    background-color: #000; /* Sort bjælke */
    color: white;
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;

    position: fixed; 
    top: 0;          
    width: 100%; 
}

.logo {
    font-size: 1.8em;
    font-weight: 700;
    letter-spacing: 1px;

    display: flex;
    flex-direction: column;
    line-height: 1.1; /* Reducerer linjeafstanden */
}

.logo .subtitle {
    font-size: 0.5em; /* Gør skriften mindre i forhold til hovedtitlen */
    font-weight: 400; /* Gør teksten mindre fed */
    color: plum; /* Sætter farven som ønsket */
    margin-top: -3px; /* Trækker undertitlen tættere på hovedtitlen */
    letter-spacing: 2px;
}

.menu-icon {
    font-size: 1.8em;
    cursor: pointer;
    user-select: none; /* Gør at ikonet ikke kan markeres */
    position: relative; 
    z-index: 2000;
    margin-right: 50px;
}

/* Navigation Menu */
nav {
    display: none; /* Skjult som standard */
    position: absolute;
    top: 60px; /* Lige under headeren */
    right: 30px;
    background-color: #222;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    z-index: 1001;
}

#nav-menu {
    /* VIGTIGT: Sørger for, at menuen klæber til visningsområdet */
    position: fixed; 
    
    /* Placerer menuen øverst i visningsområdet */
    top: 60;         
 
    
    /* Sørger for, at den ligger over alt andet indhold (inkl. headeren) */
    z-index: 1001;  
    
    /* ... dine øvrige stilarter for placering (f.eks. right: -250px; og width: 250px;) ... */
}

nav.show {
    display: block; /* Vises med JavaScript */
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 10px;
}

nav ul li a {
    color: white;
    text-decoration: none;
    display: block;
    padding: 12px 20px;
    font-size: 1.1em;
}

nav ul li a:hover {
    background-color: #444;
}

/* Billedgalleri - NU MED MASONRY-STIL */
.gallery-container {
    padding: 30px;
    max-width: 1600px;
    margin: 0 auto; /* Centreret */
    padding-top: 120px;

    /* NYT: MASONRY-STIL MED KOLONNER */
    column-gap: 25px; /* Mellemrum vandret */

    /* Responsive kolonner */
    column-count: 1; /* Mobil (default) */
}

/* Media queries til at styre antallet af kolonner */
@media (min-width: 600px) {
    .gallery-container {
        column-count: 2;
    }
}
@media (min-width: 900px) {
    .gallery-container {
        column-count: 3;
    }
}
@media (min-width: 1400px) {
    .gallery-container {
        column-count: 4;
    }
}

.gallery-item {
    background-color: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;

    /* NYT: Tilføjet for masonry-layout */
    margin-bottom: 25px; /* Mellemrum lodret */
    break-inside: avoid; /* VIGTIGT: Undgå at et item splitter */

    /* NYT: Den "tynde margen" flyttes hertil */
    padding: 10px; 
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

.gallery-item img {
    width: 100%;
    height: auto; /* Bevarer billedets format */
    display: block;
    cursor: pointer; /* Viser at billedet kan klikkes */

    /* NYT: Giver billedet bløde hjørner */
    border-radius: 4px; 
}

.text-content {
    padding-top: 10px;
}

.gallery-item h3 {
    font-weight: 700; /* Svarer til "fed" */
    margin: 0 0 8px 0;
    font-size: 1.2em;
}

.gallery-item p {
    margin: 0;
    font-size: 0.95em;
    color: #555;
    line-height: 1.5;
}

/* --- Lightbox/Modal Styling --- */

/* Modal-baggrunden (dækker hele skærmen) */
.modal {
    display: none; /* Skjult som standard */
    position: fixed; /* Bliver på skærmen, selvom man scroller */
    z-index: 2000; /* Ligger over alt andet (undtagen menuen) */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Tillad scroll hvis billedet er for stort */
    background-color: rgba(0, 0, 0, 0.85); /* Sort med 85% gennemsigtighed */

    /* Flexbox til at centrere billedet */
    display: none; /* Sættes til 'flex' af JavaScript */
    align-items: center;
    justify-content: center;
}

/* Gør modalen synlig (når den har 'show' klassen) */
.modal.show {
    display: flex;
}

/* Selve billedet i modalen */
.modal-content {
    margin: auto;
    display: block;
    max-width: 90%; /* Billedet må maks fylde 90% af skærmbredden */
    max-height: 90vh; /* Billedet må maks fylde 90% af skærmhøjden */
}

/* "Luk" knappen (X) */
.close-btn {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
}

.close-btn:hover {
    color: #bbb;
}

.modal-content.contact-content {
    background-color: white; /* Hvid baggrund på kontaktboksen */
    padding: 30px;
    border-radius: 8px;
    max-width: 400px;
    text-align: center;
    color: #333; /* Sørg for læsbar tekstfarve */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    /* Sørg for at den hvide boks er over den mørke baggrund */
    z-index: 2001; 
}

.modal-content.contact-content h2 {
    font-size: 1.8em;
    margin-bottom: 15px;
    color: #333;
}

.modal-content.contact-content a {
    color: #007bff; /* Standard linkfarve */
    text-decoration: none;
}

.modal-content.contact-content a:hover {
    text-decoration: underline;
}