/* --- FONTS & VARIABLES --- */
:root {
    --clr-blue: #1300e0;
    --clr-orange: #c95c13;
    --clr-green: #c0d759;
    --clr-white: #ffffff;
    --clr-black: #000000;
    /* Using standard Arial for the main text */
    --font-main: Arial, Helvetica, sans-serif;
    /* Using Arial Black for the headings */
    --font-heading: 'Arial Black', Arial, sans-serif;
}

/* --- GLOBAL STYLES --- */
body {
    font-family: var(--font-main);
    margin: 0;
    padding: 0;
    background-color: var(--clr-white);
    color: var(--clr-black);
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

main {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
}

main.frontpage-main {
    padding: 0;
    max-width: 100%;
    display: block; 
}

.content-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- NAVIGATION --- */
nav {
    background-color: var(--clr-white);
    color: var(--clr-white);
    padding: 1rem;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 2rem;
    position: sticky; 
    top: 0; 
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

nav .logo {
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
    align-items: center;
}

nav ul {
    display: contents;
}

nav ul li {
    text-align: center;
}

nav ul li a {
    color: var(--clr-blue);
    text-decoration: none;
    font-family: var(--font-heading);
    text-transform: uppercase;
    font-size: 1.2rem;
    display: inline-block; 
    transition: all 0.3s ease; 
}

nav ul li a.active {
    color: var(--clr-orange);
    text-decoration: none; /* Turn off the native, buggy underline */
    border-bottom: 4px solid var(--clr-orange); /* This forces the exact 4px thickness */
    padding-top: -4px; /* This recreates your 4px text-underline-offset */
}

nav ul li a:hover {
    color: var(--clr-orange); 
    transform: scale(1.15); 
}

/* Combined logo image rules */
nav .logo img, 
.footer-header-logo img {
    height: 27px;
    display: block;
}

/* --- HERO SECTION --- */
.hero-section {
    background-color: var(--clr-blue);
    height: 20vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-logo {
    max-height: 40%;
}

/* --- EVENT SECTION --- */
.event-section {
    background: linear-gradient(165.8deg, var(--clr-orange) 40%, #ada54e);
    height: 66vh;
    padding-top: 15vh; 
    font-size: 2rem;
    font-weight: bold;
    color: var(--clr-white);
}

.event-title {
    color: var(--clr-green);
    font-size: 4rem;
    font-family: var(--font-heading);
    text-transform: uppercase;
    margin: 0;
}

.event-date {
    color: var(--clr-white);
    margin-bottom: 15vh;
}

.deltag-btn {
    display: inline-block;
    background-color: var(--clr-green);
    color: var(--clr-orange) !important;
    text-decoration: none;
    padding: 15px 100px;
    font-style: italic;
    border-radius: 2px;
    transition: transform 0.2s, background-color 0.2s;
}

.deltag-btn:hover {
    transform: scale(1.05); 
}

/* --- OM & MOD SKABET SECTIONS --- */
.om-section, 
.mod-skabet-section {
    padding: 40px 0;
    font-size: 1.1rem;
}

/* Match the Om-section paragraph to the profile-bio text */
.om-section p {
    font-weight: normal;
    line-height: 1.6;
    margin-top: 0;
}

.om-title {
    color: var(--clr-blue);
    font-family: var(--font-heading);
    font-size: 3.2rem;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
    margin-bottom: 40px;
}

.om-title::after {
    content: "";
    position: absolute;
    left: 40%; 
    bottom: calc(-7px - 7%); 
    width: 67%; 
    height: 50%; 
    border-bottom: 13px solid var(--clr-green); 
    border-right: 13px solid var(--clr-green); 
    pointer-events: none; 
}

.mod-skabet-section .om-title::after {
    left: calc(-7% - 7px);
    width: 30%;
    border-left: 13px solid var(--clr-green);
    border-right: none;
}

/* --- VEDTÆGTER SECTION --- */
.om-vedtaegter-section {
    height: 30vh;
    background: linear-gradient(165.8deg, #A9CE72, var(--clr-blue));
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.vedtaegter-link {
    color: var(--clr-white);
    font-size: 2.5rem;
    font-family: var(--font-main);
    font-weight: bold;
    font-style: italic;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0 auto;
    transition: transform 0.2s ease;
    width: 100%;
    max-width: 1000px; /* limit horizontal width to match other .om sections */
    text-align: left;
    box-sizing: border-box;
}

.vedtaegter-link:hover {
    transform: scale(1.05);
}

/* --- PROFILE LAYOUTS --- */
.mod-skabet-subtitle {
    color: var(--clr-blue);
    font-family: var(--font-heading);
    font-size: 1.2rem;
    margin: -47px 0 0 110px;
}

.profiles-container {
    display: flex;
    flex-direction: column;
    padding-top: 40px;
}

.profile-row {
    display: flex;
    align-items: center;
    gap: 40px;
}

.profile-row.reverse {
    flex-direction: row-reverse;
}

.profile-text {
    flex: 1;
}

.profile-name {
    color: var(--clr-orange);
    font-size: 1.9rem;
    font-family: var(--font-heading);
    text-transform: uppercase;
    margin: 0 0 5px;
}

.profile-role {
    color: var(--clr-orange);
    font-weight: 600;
    font-size: 1.2rem;
    text-transform: capitalize;
    margin: 0 0 15px;
}

.profile-bio {
    font-weight: normal;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.profile-image-container {  
    flex: 0 0 14vw; 
    display: flex;
    justify-content: center;
}

.profile-img {
    width: 100%;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.profile-separator {
    border: none;
    border-top: 2px dashed var(--clr-green);
    width: 100%;
    margin: 20px 0;
}

/* --- FOOTER --- */
.main-footer {
    height: 40vh;
    position: relative;
    background: linear-gradient(165.8deg, #A9CE72 10%, var(--clr-blue)); 
    margin-top: 60px;
    padding: 0 20px; 
    overflow: hidden; 
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-header-logo {
    position: absolute;
    top: 2rem; 
    left: 5rem;
    z-index: 2; 
}

.footer-bg-logo {
    position: absolute;
    right: -10vw; 
    bottom: -70vh; 
    width: 100vh; 
    z-index: 0; 
}

.footer-content {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
}

.social-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 5vw; 
}

.social-block img {
    height: 50px; 
    margin-bottom: 15px;
    transition: transform 0.2s ease;
}

.social-block img:hover {
    transform: scale(1.1); 
}

.social-block p {
    color: var(--clr-white);
    font-size: 1rem;
    margin: 0;
}

/*Kalender*/

#kalender-section h2 {
    color: var(--clr-orange);
    font-size: 2.5rem; 
    font-weight: bold;
    font-family: var(--font-main); 
    margin-top: -30px; 
}

.fc .fc-button-primary {
    background-color: var(--clr-orange) !important;
    border-color: var(--clr-orange) !important;
    color: var(--clr-white) !important;
}

.fc .fc-button-primary:hover {
    background-color: #a84b0f !important; 
    border-color: #a84b0f !important;
}

.fc .fc-button-primary:disabled {
    background-color: var(--clr-orange) !important;
    opacity: 0.6;
}

.fc .fc-toolbar-title {
    color: var(--clr-orange) !important;
    text-decoration: none;
    font-size: 1.9rem !important;
}
