    /* body erndringer */
body {
    background-color: #EFECE4;
    margin: 0;
      font-size: 15px; /* Base font size */
}

    /* teskter erndringer */

@font-face {
    font-family: 'Vollkorn';
    src: url('fonts/Vollkorn-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vollkorn';
    src: url('fonts/Vollkorn-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vollkorn';
    src: url('fonts/Vollkorn-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* --- Hent Source Serif 4 ind --- */
@font-face {
    font-family: 'SourceSerif4';
    src: url('fonts/SourceSerif4-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* --- Rammer alle p-tags på hele hjemmesiden --- */
p {
    font-family: 'SourceSerif4', serif;
    line-height: 150%;
    font-size: 15px;
}


h1 {
    font-family: 'Vollkorn', serif;
    color: #ffffff;
    text-align: center;
    font-size: 3.0em;
    line-height: 110%;
    margin: 0;
}

.h1top{
    padding-top: 35px;
    padding-bottom: 20px;
    font-size: 4.0em;
}

h2{
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 200;
    color: #ffffff;
    text-align: center;
    font-size: 0.9em;
}

/* Selve headeren og dens scroll-effekt */
header {
    background-color: #32502B;
    position: sticky;
    top: 0;
    z-index: 999;
    /* Gør klar til den gule linje med en blød overgang */
    border-bottom: 2px solid transparent; 
    transition: border-bottom 0.18s cubic-bezier(0.16, 1, 0.3, 1); 
}

/* Denne klasse aktiveres af JavaScript, når du scroller */
header.is-scrolling {
    border-bottom: 2px solid #ECC54E; 
}

/* Containeren der holder de tre elementer (Logo, Menu, Knap) */
.navigationmenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding: 15px 5%; /* Giver lidt luft oppe og nede */
}

/* Sørger for logoet sidder pænt */
.logo-link img {
    height: 35px; /* Juster dette tal så det passer til dit logo */
    display: block;
}

/* Menuen */
.navbar {
    display: flex;
    gap: 40px; /* Sikrer god afstand mellem links, som på billedet */
    list-style: none;
    margin: 0;
    padding: 0;
}

.navbar a {
    text-decoration: none;
    color: #ffffff;
    font-weight: 600; /* Gør teksten lidt mere fed/tydelig */
    font-size: 15px;
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.navbar a:hover {
    color: #ECC54E; /* Gør teksten gul når man holder musen over */
}

/* --- Den nye gule CTA knap --- */
.nav-cta {
    background-color: #ECC54E;
    color: #32502B; /* Mørkegrøn tekst */
    text-decoration: none;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
    font-size: 14px;
    padding: 12px 24px;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-cta:hover {
    background-color: #ffffff; /* Skifter til hvid ved hover for en lækker effekt */
    color: #32502B;
}
/* --- BURGER MENU IKON (Skjules som standard på desktop) --- */
.hamburger {
    display: none;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    z-index: 1001; /* Sikrer at knappen ligger OVENPÅ mobilmenuen */
}

.hamburger .bar {
    display: block;
    width: 30px;
    height: 3px;
    margin: 6px auto;
    background-color: #ffffff;
    transition: all 0.4s ease-in-out;
}

/* Sørger for at menu og knap står pænt ved siden af hinanden på computer */
.nav-wrapper {
    display: flex;
    align-items: center;
    gap: 40px; 
}


/* =========================================
   MOBIL MENU (Når skærmen er under 768px)
   ========================================= */
@media (max-width: 1100px) {

    /* 1. Vis burger-ikonet */
    .hamburger {
        display: block;
    }

    /* 2. Skjul den normale menu og gør den til en full-screen overlay */
    .nav-wrapper {
        position: fixed;
        top: 0;
        right: -100%; /* Skjult ude til højre */
        width: 100%;
        height: 100vh;
        background-color: #3C5833; /* Din mørkegrønne farve */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: right 0.5s cubic-bezier(0.77, 0, 0.175, 1); /* Lækker glidende animation */
        z-index: 1000;
        gap: 30px;
    }

    /* 3. Styling af linksene i mobilmenuen */
    .navbar {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }

    .navbar a {
        font-family: 'Vollkorn', serif; /* Bruger serif-fonten for et eksklusivt look i menuen */
        font-size: 28px;
    }

    /* Forbered animation for hvert menupunkt (de svæver op) */
    .navbar li, .nav-wrapper .nav-cta {
        opacity: 0;
        transform: translateY(20px);
        transition: all 0.4s ease;
    }

    /* --- NÅR MENUEN ER ÅBEN (Klassen 'menu-open' styres af JavaScript) --- */
    
    /* Trækker menuen ind på skærmen */
    body.menu-open .nav-wrapper {
        right: 0;
    }

    /* Forhindrer brugeren i at scrolle på baggrunden, mens menuen er åben */
    body.menu-open {
        overflow: hidden;
    }

    /* Animerer Burger-ikonet til et 'X' */
    body.menu-open .hamburger .bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
        background-color: #ECC54E; /* Bliver gult når den er åben */
    }
    body.menu-open .hamburger .bar:nth-child(2) {
        opacity: 0;
    }
    body.menu-open .hamburger .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
        background-color: #ECC54E;
    }

    /* Animerer linksene ind ét efter ét (Staggered effect) */
    body.menu-open .navbar li,
    body.menu-open .nav-wrapper .nav-cta {
        opacity: 1;
        transform: translateY(0);
    }

    /* Sætter forsinkelse på hvert punkt, så de kommer som perler på en snor */
    body.menu-open .navbar li:nth-child(1) { transition-delay: 0.2s; }
    body.menu-open .navbar li:nth-child(2) { transition-delay: 0.3s; }
    body.menu-open .navbar li:nth-child(3) { transition-delay: 0.4s; }
    body.menu-open .navbar li:nth-child(4) { transition-delay: 0.5s; }
    body.menu-open .navbar li:nth-child(5) { transition-delay: 0.6s; }
    body.menu-open .navbar li:nth-child(6) { transition-delay: 0.7s; }
    body.menu-open .nav-wrapper .nav-cta { transition-delay: 0.8s; } /* Knappen kommer til sidst */
}

.forsidehero {
    background-image: linear-gradient(rgba(50, 80, 43, 0.90), rgba(50, 80, 43, 0.7)), url("images/spirherobillede.webp");

    /* VIGTIGT: Første værdi låser gradienten fast i midten. Anden værdi er til billedet. */
    background-position: center center, center bottom;

    background-repeat: no-repeat, no-repeat;
    background-size: cover, cover;
    position: relative;
}


.topskrift{
    color: #C8C8C8;
    text-transform: uppercase;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        font-size: 10px;
        word-spacing: 20px;
        margin-bottom: 0;
}

.forsidetekst{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 5%;
}


/* Container til knapperne */
.sporknapper {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px; /* Giver lidt luft ned til din <h2> */
    padding-bottom: 10%;
}

/* Grundlæggende knap styling */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 36px;
    border-radius: 4px;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1); /* Sørger for den glidende animation */
    cursor: pointer;
    border: 2px solid transparent;
    width: 300px;
    box-sizing: border-box;
}


/* Pilen i knapperne */
.btn span.arrow {
    margin-left: 10px;
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    font-size: 1.2em;
}
.btn-solid1 {
    background-color: #ffffff;
    color: #32502B; /* Gør teksten mørkegrøn */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/* --- Venstre Knap (Fast Hvid) --- */
.btn-solid {
    background-color: #32502B;
    color: #ffffff; /* Gør teksten mørkegrøn */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/* Hover effekt på hvid knap */
.btn-solid1:hover {
    background-color: #ECC54E; /* Den gyldne farve */
    color: #2D4226;
    transform: translateY(-4px); /* Løfter knappen lidt op */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.btn-solid1:hover span.arrow {
    transform: translateX(6px); /* Skyder pilen fremad */
}

/* Hover effekt på hvid knap */
.btn-solid:hover {
    background-color: #ECC54E; /* Den gyldne farve */
    color: #2D4226;
    transform: translateY(-4px); /* Løfter knappen lidt op */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.btn-solid:hover span.arrow {
    transform: translateX(6px); /* Skyder pilen fremad */
}

/* --- Højre Knap (Gennemsigtig med hvid kant) --- */
.btn-outline {
    background-color: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* Hover effekt på gennemsigtig knap */
.btn-outline:hover {
    background-color: #ffffff; /* Bliver fyldt med hvid */
    color: #32502B; /* Teksten bliver mørkegrøn */
    transform: translateY(-4px); /* Løfter knappen lidt op */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.btn-outline:hover span.arrow {
    transform: translateX(6px); /* Skyder pilen fremad */
}

/* --- Sektionen generelt --- */
.valg {
    padding: 5% 10%;
    text-align: center;
}

.valg-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 50px;
}

/* Den lille gule streg */
.streg {
    width: 40px;
    height: 3px;
    background-color: #ECC54E;
    margin-bottom: 15px;
}

.etiket {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    color: #6b6b6b;
    margin: 0 0 10px 0;
}

/* Behold lys etiket på mørke hero/sektion baggrunde */
.forsidehero .etiket,
.omos-hero .etiket,
.fg-hero .etiket,
.fg-proces .etiket,
.fi-proces .etiket,
.proces-cta .etiket,
.omos-familien .etiket,
.citat-sektion .etiket {
    color: #e2e2e2;
}

.valg h2 {
    font-family: 'Vollkorn', serif;
    font-size: 2.5em;
    color: #222;
    margin: 0;
}
/* --- Kort Container --- */
.kort-boks {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap; 
}

/* --- Fælles for begge kort --- */
.kort {
    flex: 1;
    min-width: 300px;
    padding: 50px 40px;
    text-align: left;
    display: flex;
    flex-direction: column;
    position: relative;
    cursor: pointer;
    /* NYT: Denne linje sørger for at animationen bliver blød og lækker */
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Gør hele kortet klikbart via stretched-link på .kort-link */
.kort-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* --- NYT: Selve Hover Animationen for alle kort --- */
.kort:hover {
    transform: translateY(-8px); /* Løfter kortet 8 pixels op */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12); /* Giver en dybere og lidt mere synlig skygge */
}

.kort .kategori {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.kort h3 {
    font-family: 'Vollkorn', serif;
    font-size: 2em;
    margin: 0 0 20px 0;
    line-height: 1.1;
}

.kort p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    margin-bottom: 40px;
    flex-grow: 1; 
}

.kort-link {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1); /* Gør at farveskift på linket også bliver blødt */
}

/* --- Specifikt for det HVIDE kort --- */
.hvid {
    background-color: #ffffff;
    color: #333;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); /* Den normale, bløde skygge */
}

.hvid .kategori { color: #32502B; } 
.hvid .kort-link { color: #333; }

/* Lidt ekstra lir: Gør linket grønt, når man holder musen over det hvide kort */
.hvid:hover .kort-link {
    color: #32502B; 
}

/* --- Specifikt for det GRØNNE kort --- */
.groen {
    background-color: #32502B; 
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.groen .kategori { color: #ECC54E; } /* Den gule farve */
.groen .kort-link { color: #ffffff; }

/* Lidt ekstra lir: Gør linket gult, når man holder musen over det grønne kort */
.groen:hover .kort-link {
    color: #ECC54E; 
}

/* --- Citat Sektion --- */
.citat-sektion {
    background-color: #32502B; /* Den mørkegrønne baggrund */
    color: #ffffff;
    padding: 7% 10% 5% 10%;
}

.citat-indhold {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Centrerer indholdet lodret i forhold til hinanden */
    gap: 50px; /* Sikrer god afstand mellem venstre og højre side */
    max-width: 1200px; /* Sørger for at teksten ikke bliver for bred på store skærme */
    margin: 0 auto; /* Centrerer selve boksen på skærmen */
}

/* --- Venstre side --- */
.citat-venstre {
    flex: 1; /* Får venstre side til at fylde halvdelen */
}

.streg-venstre {
    width: 60px;
    height: 3px;
    background-color: #ECC54E; /* Den gyldne farve */
    margin-bottom: 20px;
}

.citat-venstre h2 {
    font-family: 'Vollkorn', serif;
    font-size: 2.5em;
    margin: 0;
    line-height: 1.2;
    text-align: left;
}

/* --- Højre side --- */
.citat-hoejre {
    flex: 1; /* Får højre side til at fylde den anden halvdel */
}

.citat-hoejre p {
    font-family: 'Vollkorn', serif; /* På dit billede ligner det serif-fonten */
    font-size: 1.2em;
    line-height: 1.6;
    margin: 0;
}

/* --- Footer Generelt --- */
.site-footer {
    background-color: #32502B;
    color: #ffffff;
    padding: 60px 10% 80px 10%; /* Giver godt med luft i toppen og bunden */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Den tykke gule streg i toppen */
.footer-streg {
    width: 100%;
    height: 4px;
    background-color: #ECC54E;
    margin-bottom: 50px;
}

/* --- Layout for kolonnerne --- */
.footer-indhold {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap; /* Sørger for at de kan rykke ned på små skærme */
}

.footer-kolonne {
    flex: 1; /* Gør at de tre små kolonner fylder lige meget */
    min-width: 150px;
}

.logo-kolonne {
    flex: 2; /* Gør at logo-kolonnen fylder dobbelt så meget som de andre */
    min-width: 250px;
}

/* --- Indhold i kolonnerne --- */
.footer-logo {
    max-width: 300px; /* Juster denne hvis logoet skal være større/mindre */
    margin-bottom: 20px;
}

.footer-kolonne p {
    font-size: 14px;
    line-height: 1.6;
    opacity: 0.9;
    margin: 0;
}

.footer-kolonne h3 {
    color: #ECC54E;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-top: 0;
    margin-bottom: 20px;
}

.footer-kolonne ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-kolonne ul li {
    margin-bottom: 15px;
    font-size: 14px;
    opacity: 0.9;
}

/* --- Links og speciel tekst --- */
.footer-kolonne a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-kolonne a:hover {
    color: #ECC54E; /* Gør links gule når man holder musen over dem */
}

.kursiv {
    font-style: italic;
    opacity: 0.7; /* Gør den lidt mere afdæmpet */
}

/* --- Mobil Tilpasning --- */
@media (max-width: 768px) {
    .footer-indhold {
        flex-direction: column;
        gap: 40px;
    }
}

/* --- Mobil Tilpasning --- */
/* Når skærmen er mindre end 768px (tablets og mobiler), rykker vi det under hinanden */
@media (max-width: 768px) {
    .citat-indhold {
        flex-direction: column; /* Ændrer retningen fra række til kolonne */
        align-items: flex-start; /* Sørger for at det er venstrestillet på mobil */
        gap: 30px;
    }
}
/* --- Kontakt/Om Os Hero Sektion --- */
.kontakt-hero {
    padding: 1% 5%;
    margin-bottom: 50px;
}

.kontakt-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* --- Top delen (Tekst og Billede) --- */
.kontakt-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    margin-bottom: 50px; /* Giver plads ned til kortene */
}

.kontakt-tekst {
    flex: 1;
}

.kontakt-tekst .etiket {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    color: #666;
    margin: 0;
}

.kontakt-tekst .streg {
    width: 50px;
    height: 3px;
    background-color: #ECC54E;
    margin: 10px 0 20px 0;
}

.kontakt-tekst h1 {
    font-family: 'Vollkorn', serif;
    color: #222;
    line-height: 1.1;
    margin: 0;
    text-align: left;
}

.kontakt-billede {
    flex: 1;
    display: flex;
    justify-content: space-around;
}

.kontakt-billede img {
    max-width: 70%;
    height: auto;
    display: block;
}

/* --- Bund delen (De 3 kort) --- */
.kontakt-kort-boks {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* --- DETTE ER SELVE KORTETS BASE OG ANIMATION --- */
.kontakt-kort {
    background-color: #ffffff;
    padding: 40px 30px;
    flex: 1;
    min-width: 250px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03); /* Den normale, bløde skygge */
    display: block; /* Sikrer at hele kortet kan animeres */
    
    /* Transition sikrer at animationen bliver glidende. 
       0.3s er en god hastighed (ikke for hurtig, ikke for langsom). */
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1); 
}

.kort-etiket {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    margin: 0 0 15px 0;
    
    /* Tekstfarven i normal tilstand */
    color: #32502B; /* Din mørkegrønne farve */
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1); /* Så teksten også skifter farve blødt */
}

.kontakt-kort h3 {
    font-family: 'Vollkorn', serif;
    font-size: 1.2em;
    margin: 0 0 10px 0;
    
    /* Tekstfarven i normal tilstand */
    color: #222; 
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.kort-undertekst {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    margin: 0;
    
    /* Tekstfarven i normal tilstand */
    color: #888; 
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- DETTE SKER NÅR MAN HOOVER OVER ET KORT (:hover) --- */
.kontakt-kort:hover {
    /* 1. Løfter kortet lidt op (-8px) og gør skyggen dybere for en 'cool' effekt */
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1); /* Dybere skygge, der ser flot ud på beige */
    
    /* 2. Gør baggrunden gul */
    background-color: #ECC54E; 
}

/* 3. Skift tekstfarverne på hover, så de står flot og er læselige på gult */
.kontakt-kort:hover .kort-etiket {
    /* Vi beholder den grønne etiket-farve, da den ser flot ud på gult, 
       eller vi kan gøre den mørkere. Lad os prøve at gøre den lidt mørkere: */
    color: #2D4226; 
}

.kontakt-kort:hover h3 {
    /* Overskriften gøres til den mørkegrønne farve for god kontrast */
    color: #32502B; 
}

.kontakt-kort:hover .kort-undertekst {
    /* Underteksten gøres mørkere for læsbarhed */
    color: #555; 
}

/* --- Mobil Tilpasning --- */
@media (max-width: 768px) {
    .kontakt-top {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }
    
    .kontakt-tekst h1 {
        text-align: center;
    }

    .kontakt-tekst .streg {
        margin: 10px auto 20px auto;
    }

    .kontakt-billede {
        justify-content: center;
    }
}

/* --- 1. PROCES TOP --- */
.processtop {
    padding: 8% 5%;
}

.proces-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
}

.proces-tekst { flex: 1; }

.proces-tekst h1 {
    font-size: 3em;
    margin-bottom: 20px;
    text-align: left;
    color: #222;
}

.proces-tekst p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #444;
}

/* Billedet med den gule boks bagved */
.proces-billede {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: flex-end;
}

.billede-boks {
    position: absolute;
    top: -20px;
    right: 20px;
    width: 80%;
    height: 100%;
    z-index: 0;
}

.proces-billede img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    height: auto;
}

/* --- 2. PROCES TIDSLINJE --- */
.processtidslinje {
    padding: 2% 5% 8% 5%;
}

.tidslinje-container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    padding-left: 40px; /* Giver plads til selve stregen */
}

/* Den gennemgående lodrette streg */
.tidslinje-container::before {
    content: '';
    position: absolute;
    top: 20px;
    bottom: 0;
    left: 10px;
    width: 2px;
    background-color: #A3B19B; /* Lys grøn/grå streg */
}

/* Selve trin-boksen */
.trin {
    display: flex;
    gap: 40px;
    margin-bottom: 70px;
    position: relative;
}

/* Prikken på stregen */
.trin::before {
    content: '';
    position: absolute;
    left: -35px; /* Skubber den ud på stregen */
    top: 20px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #32502B;
    border: 3px solid #EFECE4; /* Samme farve som baggrunden for at skabe 'hul' */
}

/* Det store tal */
.trin-nummer {
    font-family: 'Vollkorn', serif;
    font-size: 3.5em;
    font-weight: bold;
    color: #32502B;
    line-height: 1;
    min-width: 80px;
}

/* Indholdet i hvert trin */
.trin-indhold h2 {
    font-family: 'Vollkorn', serif;
    font-size: 1.8em;
    color: #222;
    margin: 0 0 0px 0;
    text-align: left;
}

.trin-intro {
    font-style: italic;
    font-family: 'Vollkorn', serif;
    font-size: 1.2em;
    color: #444;
    padding-bottom: 10px;
}

.trin-etiket {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #777;
    margin-bottom: 10px;
}

.trin-indhold p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #555;
    margin: 0;
    padding-top: 10px;
}

/* Nedtoning af trin 6 og 7 */
.trin.inaktiv .trin-nummer { color: #A8A8A8; }
.trin.inaktiv h2 { color: #888; }
.trin.inaktiv::before { background-color: #A8A8A8; }


/* --- 3. CTA BUND (NÆSTE SKRIDT) --- */
.proces-cta {
    background-color: #32502B;
    color: #ffffff;
    padding: 80px 5%;
    text-align: center;
}

.cta-indhold {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gul-tekst { color: #ECC54E; }
.gul-streg { background-color: #ECC54E;}

.proces-cta h2 {
    font-family: 'Vollkorn', serif;
    font-size: 2.5em;
    margin: 20px 0;
}

.proces-cta p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.1em;
    margin-bottom: 40px;
}

.cta-knapper {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* --- MOBIL TILPASNING --- */
@media (max-width: 768px) {
    .proces-container {
        flex-direction: column;
        gap: 40px;
    }
    
    .proces-tekst h1 { text-align: center; }
    .proces-tekst .streg { margin: 10px auto 20px auto; }
    .billede-boks { right: 0; top: -15px; width: 100%; }
    
    .trin { flex-direction: column; gap: 15px; }
    .trin-nummer { font-size: 2.5em; }
    .tidslinje-container { padding-left: 30px; }
    .tidslinje-container::before { left: 0; }
    .trin::before { left: -45px; }
}

/* --- ANIMATIONER (Globale) --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animation-fade-in {
    animation: fadeIn 1s ease-out forwards;
}

/* --- OM OS HERO --- */
.omos-hero {
    /* Mørkegrøn overgang + dit baggrundsbillede */
    background-image: linear-gradient(rgba(52, 75, 44, 0.92), rgba(44, 64, 37, 0.92)), url("images/omosheropic.webp");
    background-size: cover;
    background-position: center center;
    color: #ffffff;
    padding: 12% 5%;
}

.hero-indhold {
    max-width: 1200px;
    margin: 0 auto;
}

.hero-indhold .streg {
    width: 40px;
    height: 3px;
    background-color: #ECC54E;
    margin-bottom: 15px;
}

.hero-indhold h1 {
    font-size: 4em;
    margin: 0;
    line-height: 1.1;
    text-align: left;
}

/* --- OM OS INTRO --- */
.omos-intro {
    padding: 60px 10%;
}

.intro-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.intro-billede {
    flex: 1;
}

.intro-billede img {
    width: 100%;
    height: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Løfter billedet pænt frem */
}

.intro-tekst {
    flex: 2; /* Teksten får mere plads end billedet */
}

.intro-tekst h2 {
    font-family: 'Vollkorn', serif;
    font-size: 2.2em;
    color: #222;
    margin-top: 0;
        margin-left: 40px;
    margin-right: 40px;
}

.intro-tekst p {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.8;
    color: #444;
    margin-bottom: 20px;
    margin-left: 40px;
    margin-right: 40px;
}

/* Standalone-intro (uden billede ved siden af): cap bredden så h2 + p
   ikke strækker sig vandret. Rammer KUN sider med enlig tekst-kolonne. */
.intro-container > .intro-tekst:only-child {
    max-width: 600px;
    margin: 0 auto;
}
.intro-container > .intro-tekst:only-child h2,
.intro-container > .intro-tekst:only-child p {
    margin-left: auto;
    margin-right: auto;
}

/* --- HOLDET (Mennesker, ikke konsulenter) --- */
.omos-holdet {
    padding: 40px 5% 70px;
    /* Baggrunden arver den lyse EFECE4 fra body, så den blender ind */
}

.hold-container {
    max-width: 1200px;
    margin: 0 auto;
}

.hold-overskrift {
    margin-bottom: 50px;
    text-align: center;
}

.hold-overskrift .streg { margin: 0 auto 15px auto; }

.hold-overskrift h2 {
    font-size: 2.5em;
    margin: 0 0 10px 0;
    text-align: center;
    color: #222;
}

.hold-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* To kolonner */
    gap: 30px;
}

/* ANIMATION PÅ KORTENE HER */
.hold-kort {
    background-color: #ffffff;
    display: flex;
    gap: 20px;
    padding: 30px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1); /* Blød overgang */
}

.hold-kort:hover {
    transform: translateY(-5px); /* Løfter sig */
    box-shadow: 0 15px 35px rgba(0,0,0,0.1); /* Dybere skygge */
}

.hold-kort img {
    width: auto;
    height: 120px;
    object-fit: cover; /* Sikrer at billederne fylder firkanten uden at strække */
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.hold-kort:hover img {
    transform: scale(1.03); /* Billedet zoomer meget blødt ind */
}

.kort-tekst .rolle {
    font-size: 10px;
    font-weight: bold;
    color: #32502B;
    letter-spacing: 1px;
    margin: 0 0 5px 0;
}

.kort-tekst h3 {
    font-size: 1.4em;
    margin: 0 0 10px 0;
    color: #222;
}

.kort-tekst .beskrivelse {
    font-size: 13px;
    color: #666;
    margin: 0;
}

.kort-kontakt {
    list-style: none;
    margin: 14px 0 0 0;
    padding: 12px 0 0 0;
    border-top: 1px solid #eee;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.kort-kontakt a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #32502B;
    text-decoration: none;
    font-weight: 600;
    word-break: break-word;
}
.kort-kontakt a:hover { text-decoration: underline; }
.kort-kontakt-ikon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .kort-kontakt { align-items: center; }
}

/* --- SUPPORT-TEAM (Magnus, Agnes mfl.) --- */
.hold-support {
    margin-top: 60px;
    text-align: center;
}
.support-etiket {
    margin-bottom: 10px;
}
.hold-support .auto-streg {
    margin: 0 auto 30px auto;
}
.support-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    max-width: 760px;
    margin: 0 auto;
}
.support-kort {
    background-color: #ffffff;
    border-radius: 6px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
    box-shadow: 0 4px 14px rgba(0,0,0,0.05);
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.support-kort:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0,0,0,0.09);
}
.support-kort img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.support-tekst h3 {
    font-size: 1.05em;
    margin: 0 0 4px 0;
    color: #222;
}
.support-tekst .rolle {
    font-size: 10px;
    font-weight: bold;
    color: #32502B;
    letter-spacing: 1px;
    margin: 0;
}

@media (max-width: 600px) {
    .support-grid { grid-template-columns: 1fr; max-width: 360px; }
}

/* --- FAMILIEN / PARTNERE (Grøn sektion) --- */
.omos-familien {
    background-color: #32502B;
    color: #ffffff;
    padding: 8% 5%;
}

.familie-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
    align-items: center;
}

.familie-tekst { flex: 1; }

.familie-tekst h2 {
    font-size: 2.5em;
    margin: 10px 0 20px 0;
    text-align: left;
}

.familie-tekst p {
    line-height: 1.8;
    opacity: 0.9;
    margin-bottom: 30px;
}

.familie-links a {
    color: #ECC54E;
    text-decoration: none;
    font-weight: bold;
    margin-right: 20px;
    transition: color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.familie-links a:hover { color: #ffffff; }

/* Grid med de firkantede logoer/tekster */
.familie-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

/* ANIMATION PÅ BOKSENE HER */
.fam-boks {
    background-color: rgba(255, 255, 255, 0.1); /* Gennemsigtig hvid/lys grøn */
    padding: 60px 20px;
    text-align: center;
    font-weight: bold;
    font-family: 'Vollkorn', serif;
    font-size: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: default;
}

.fam-boks:hover {
    background-color: rgba(255, 255, 255, 0.2); /* Bliver lidt lysere */
    transform: scale(1.02);
}

.fam-boks.gul-boks {
    background-color: #ECC54E;
    color: #32502B;
}

.fam-boks.gul-boks:hover {
    background-color: #f7d565; /* Lidt lysere gul på hover */
}

/* --- KONTAKT FORMULAR --- */
.omos-kontakt {
    padding: 8% 5%;
    text-align: center;
}

.kontaktform-container {
    max-width: 800px; /* Holder formularen til en fornuftig bredde */
    margin: 0 auto;
}

.auto-streg { margin: 0 auto 20px auto; }

.omos-kontakt h2 {
    font-size: 2.5em;
    margin-bottom: 40px;
    color: #222;
}

.formular-boks {
    background-color: #ffffff;
    padding: 50px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    text-align: left;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* To kolonner til inputs */
    gap: 20px;
}

.form-grid input,
.form-grid textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    box-sizing: border-box; /* Sikrer at padding ikke gør inputtet bredere */
    transition: border-color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Fokus animation på felterne */
.form-grid input:focus,
.form-grid textarea:focus {
    outline: none;
    border-color: #32502B; /* Grøn kant når man skriver */
}

.form-fuld {
    grid-column: span 2; /* Får tekstfeltet til at fylde begge kolonner */
    resize: vertical;
}

.m-top {
    margin-top: 20px;
    width: 100%; /* Knappen fylder bredden */
    justify-content: center;
}


/* --- MOBIL TILPASNINGER --- */
@media (max-width: 768px) {
    .hero-indhold h1 { font-size: 2.5em; }
    
    .intro-container { flex-direction: column; }
    .intro-tekst h2 { text-align: center; }
    
    .hold-grid { grid-template-columns: 1fr; } /* Én kolonne til kortene */
    .hold-kort { flex-direction: column; text-align: center; align-items: center;}
    
    .familie-container { flex-direction: column; }
    .familie-tekst h2 { text-align: center; }
    
    .form-grid { grid-template-columns: 1fr; } /* Inputs under hinanden */
    .form-fuld { grid-column: span 1; }
    .formular-boks { padding: 30px 20px; }
}

/* --- GLOBALE HJÆLPEKLASSER TIL DENNE SIDE --- */
.gul-streg { background-color: #ECC54E !important; }
.gul-tekst { color: #ECC54E !important; }

/* Ekstra knap-farver */
.btn-gul {
    background-color: #ECC54E;
    color: #32502B;
}
.btn-gul:hover { background-color: #ffffff; }

.btn-groen {
    background-color: #32502B;
    color: #ffffff;
    border: none; /* Fjerner standard knap-kant */
    width: auto ;
}
.btn-groen:hover { background-color: #ECC54E; color: #32502B; }


/* --- 1. HERO SEKTION --- */
.fg-hero {
    background-color: #32502B;
    color: #ffffff;
    padding: 8% 5%;
}

.fg-hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 80px;
}

.fg-hero-tekst { flex: 1; }

.fg-hero-tekst h1 {
    font-size: 3.5em;
    margin: 15px 0 20px 0;
    text-align: left;
}

.fg-hero-billede {
    flex: 1;
    position: relative;
}

.hero-boks-gul {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 150px;
    height: 150px;
    background-color: #ECC54E;
    z-index: 0;
}

.fg-hero-billede img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    height: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* --- 2. TRE GODE GRUNDE --- */
.fg-grunde {
    padding: 8% 5%;
    text-align: center;
}

.grunde-top { margin-bottom: 50px; }

.grunde-top h2 {
    font-size: 2.5em;
    color: #222;
}

.grunde-boks {
    background-color: #ffffff;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    text-align: left;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
}

.grund-kolonne {
    flex: 1;
    padding: 60px 40px;
    border-right: 1px solid #f0f0f0; /* Svag streg mellem kolonner */
}

.grund-kolonne:last-child { border-right: none; }

.grund-streg {
    width: 40px;
    height: 2px;
    background-color: #32502B;
    margin-bottom: 20px;
}

.grund-ikon {
    font-size: 24px;
    color: #888;
    margin-bottom: 15px;
}

.grund-kolonne h3 {
    font-size: 1.4em;
    color: #222;
    margin-bottom: 15px;
}

.grund-kolonne p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* --- 3. PROCES BANNER --- */
.fg-proces {
    background-color: #32502B;
    color: #ffffff;
    padding: 6% 5%;
}

.proces-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

.proces-venstre, .proces-hoejre { flex: 1; }

.proces-venstre h2 {
    font-size: 2.5em;
    text-align: left;
    margin: 10px 0 0 0;
}

.proces-hoejre p { margin-bottom: 30px; opacity: 0.9; line-height: 1.6; }

/* --- 4. UDTALELSE --- */
.fg-udtalelse { padding: 8% 5%; }

.udtalelse-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 80px;
    align-items: flex-start;
}

.udt-venstre, .udt-hoejre { flex: 1; }

.udt-venstre h2 {
    font-size: 2.2em;
    color: #222;
    text-align: left;
    margin: 15px 0 20px 0;
}

.udt-venstre p { color: #555; line-height: 1.8; }

.gaaseoejne {
    color: #ECC54E;
    font-family: 'Vollkorn', serif;
    font-size: 5em;
    line-height: 0.5;
    margin-bottom: 20px;
}

.udt-hoejre h3 {
    font-family: 'Vollkorn', serif;
    font-size: 2em;
    color: #222;
    line-height: 1.4;
    margin: 0;
}

/* --- 5. KONTAKT --- */
.fg-kontakt { padding: 8% 5% 10% 5%; }

.kontakt-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 80px;
    align-items: center;
}

.kont-venstre, .kont-hoejre { flex: 1; }

.kont-venstre h2 {
    font-size: 2.8em;
    color: #222;
    text-align: left;
    margin: 15px 0 20px 0;
    line-height: 1.1;
}

.kont-venstre p { color: #555; line-height: 1.6; }

.kont-hoejre {
    padding: 0;
}

.fg-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.fg-form input {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.felt-fuld { grid-column: span 2; }


/* --- MOBIL TILPASNING --- */
@media (max-width: 768px) {
    .fg-hero-container { flex-direction: column; }
    .fg-hero-tekst h1 { text-align: center; font-size: 2.5em; }
    .hero-boks-gul { left: 0; bottom: -15px; }

    .grunde-boks { flex-direction: column; }
    .grund-kolonne { border-right: none; border-bottom: 1px solid #f0f0f0; }
    
    .proces-container { flex-direction: column; text-align: center; }
    .proces-venstre h2 { text-align: center; }
    
    .udtalelse-container { flex-direction: column; }
    .udt-venstre h2 { text-align: center; }
    .gaaseoejne { text-align: center; }
    
    .kontakt-container { flex-direction: column; }
    .kont-venstre h2 { text-align: center; }
    .fg-form { grid-template-columns: 1fr; }
    .felt-fuld { grid-column: span 1; }
    .kont-hoejre { padding: 30px; }
}


/* --- ANIMATIONER --- */
@keyframes slideUpFade {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.animation-slide-up {
    animation: slideUpFade 1s ease-out forwards;
}

.animer-hover {
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.animer-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

/* --- 1. HERO SEKTION --- */
.fi-hero {
    padding: 4% 5%;
}

.fi-hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 80px;
}

.fi-hero-tekst { flex: 1; }

.fi-hero-tekst h1 {
    font-size: 2em;
    margin: 15px 0 20px 0;
    text-align: left;
    color: #222;
    line-height: 1.1;
}

.fi-hero-tekst p {
    color: #444;
    line-height: 1.6;
}

.fi-hero-billede { flex: 1; 
    display: flex;
    align-items: center;
    justify-content: center;}

.fi-hero-billede img {
    max-width: 80%;

    height: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); /* Let skygge på billedet */
}

/* --- 2. TRE GODE GRUNDE --- */
.fi-grunde {
    padding: 5% 5% 8% 5%;
    text-align: center;
}

.auto-streg { margin: 15px auto; }

.grunde-top h2 {
    font-size: 2.5em;
    color: #222;
    margin-bottom: 50px;
}

.grunde-boks {
    background-color: #ffffff;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    text-align: left;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.grund-kolonne {
    flex: 1;
    padding: 60px 40px;
    border-right: 1px solid #f0f0f0;
    background-color: #ffffff; /* Nødvendig for hover effekten */
}

.grund-kolonne:last-child { border-right: none; }

.grund-ikon {
    font-size: 28px;
    color: #A3B19B; /* Lys grøn */
    margin-bottom: 15px;
}

.grund-kolonne h3 {
    font-size: 1.4em;
    color: #222;
    margin-bottom: 15px;
}

.grund-kolonne p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* --- 3. CITAT SEKTION --- */
.fi-citat {
    padding: 8% 5%;
    background-color: #E7E3D8; /* Lidt mørkere beige end baggrunden */
}

.citat-container {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.citat-tegn {
    color: #ECC54E;
    font-family: 'Vollkorn', serif;
    font-size: 6em;
    line-height: 0.8;
}

.citat-tekstboks h2 {
    font-family: 'Vollkorn', serif;
    font-size: 2em;
    color: #222;
    line-height: 1.5;
    margin: 0 0 30px 0;
    text-align: left;
}

/* --- 4. PROCES BANNER --- */
.fi-proces {
    background-color: #32502B;
    color: #ffffff;
    padding: 6% 5%;
}

/* Genbruger container layoutet fra franchisegiver-siden */
.proces-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

.proces-venstre, .proces-hoejre { flex: 1; }

.proces-venstre h2 {
    font-size: 2.5em;
    text-align: left;
    margin: 10px 0 0 0;
}

.proces-hoejre p { margin-bottom: 30px; opacity: 0.9; line-height: 1.6; }

/* --- 5. KONTAKT/OPDATERING --- */
.fi-kontakt { padding: 8% 5% 10% 5%; }

.kontakt-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 80px;
    align-items: center;

}

.kont-venstre, .kont-hoejre { flex: 1; }

.kont-venstre h2 {
    font-size: 2.8em;
    color: #222;
    text-align: left;
    margin: 15px 0 20px 0;
    line-height: 1.1;
}

.kont-hoejre {
    padding: 0;
}

.fi-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.fi-form input, .fi-form select {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #fff; /* Sikrer at dropdowns er hvide indeni */
    transition: border-color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.fi-form input:focus, .fi-form select:focus {
    outline: none;
    border-color: #32502B;
}

/* Gør at select/dropdown tekst ser pæn ud */
.fi-form select { color: #555; cursor: pointer; }
.fi-form select:invalid { color: #999; } /* Grå farve til placeholder-optionen */

/* --- MOBIL TILPASNING --- */
@media (max-width: 768px) {
    .fi-hero-container { flex-direction: column; text-align: center; }
    .fi-hero-tekst h1 { text-align: center; font-size: 2.5em; }
    
    .grunde-boks { flex-direction: column; }
    .grund-kolonne { border-right: none; border-bottom: 1px solid #f0f0f0; }
    
    .citat-container { flex-direction: column; gap: 10px; text-align: center; }
    .citat-tekstboks h2 { text-align: center; font-size: 1.6em; }
    .citat-tegn { margin: 0 auto; }
    
    .proces-container { flex-direction: column; text-align: center; }
    .proces-venstre h2 { text-align: center; }
    
    .kontakt-container { flex-direction: column; }
    .kont-venstre h2 { text-align: center; }
    .fi-form { grid-template-columns: 1fr; }
    .kont-hoejre { padding: 30px; }
}
/* --- YDELSER --- */
.ydelser-grid-sektion {
    padding: 0 5% 8%;
}
.ydelser-container {
    max-width: 1200px;
    margin: 0 auto;
}
.ydelser-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
}
.ydelse-kort {
    background-color: #ffffff;
    padding: 28px 24px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    border-left: 3px solid #ECC54E;
}
.ydelse-kort:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.ydelse-kort h3 {
    font-family: 'Vollkorn', serif;
    font-size: 1.15em;
    color: #222;
    margin: 0;
}

/* --- INVESTERINGSMULIGHEDER --- */
.invest-sektion {
    padding: 40px 5% 70px;
}
.invest-container {
    max-width: 1200px;
    margin: 0 auto;
}
.invest-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    gap: 28px;
    align-items: start;
}
.invest-kort {
    background-color: #ffffff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.invest-kort:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.invest-toggle {
    width: 100%;
    padding: 28px;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
    background: none;
    border: none;
    text-align: left;
    font: inherit;
    color: inherit;
}
.invest-toggle:focus-visible {
    outline: 2px solid #ECC54E;
    outline-offset: -2px;
}
.invest-logo {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EFECE4;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}
.invest-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.invest-toggle h3 {
    font-family: 'Vollkorn', serif;
    font-size: 1.25em;
    color: #222;
    margin: 0;
}
.invest-pil {
    font-family: 'Vollkorn', serif;
    font-size: 1.8em;
    color: #32502B;
    line-height: 1;
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-block;
}
.invest-toggle[aria-expanded="true"] .invest-pil {
    transform: rotate(45deg);
}
.invest-indhold {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.invest-indhold[hidden] {
    display: block;
}
.invest-indhold.is-open {
    opacity: 1;
}
.invest-indhold-inner {
    padding: 4px 28px 28px;
    border-top: 1px solid #EFECE4;
    margin-top: 4px;
}
.invest-indhold-inner p {
    color: #444;
    margin: 18px 0 22px;
}

/* Stort logo i toppen af det åbne kort-indhold */
.invest-indhold-inner .invest-logo-stor {
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EFECE4;
    border-radius: 8px;
    overflow: hidden;
    margin: 18px 0 4px;
}
.invest-indhold-inner .invest-logo-stor img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 14px;
}

@media (max-width: 600px) {
    .invest-toggle { padding: 22px; gap: 14px; }
    .invest-indhold-inner { padding: 4px 22px 22px; }
    .invest-logo { width: 52px; height: 52px; }
}

/* --- KUNDER BÅND (forside) --- */
.kunder-baand {
    padding: 50px 5%;
    background-color: #ffffff;
}
.kunder-indhold {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.kunder-indhold .etiket {
    color: #32502B;
    margin-bottom: 28px;
}
.kunder-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 50px;
    margin-bottom: 32px;
}
.kunder-logos img {
    height: 38px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.55;
    transition: filter 0.18s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.kunder-logos img:hover {
    filter: grayscale(0%);
    opacity: 1;
}
.kunder-cta {
    display: inline-block;
}

@media (max-width: 600px) {
    .kunder-logos { gap: 30px; }
    .kunder-logos img { height: 28px; }
}

/* ============================================
   MOBIL OPRYDNING — bedre typografi og luft
   ============================================ */

@media (max-width: 768px) {

    /* Generel side-padding: lidt mere luft i kanterne */
    .forsidehero,

    .omos-hero,




    .fg-hero,



    .kunder-baand,
    .kontakt-hero {
        padding-left: 22px;
        padding-right: 22px;
        padding-bottom: 100px;
        padding-top: 20px;
    }

    .valg { padding: 50px 22px; }
    .omos-intro { padding: 40px 22px; }
    .omos-holdet { padding: 20px 22px 50px; }
    .kunder-baand { padding: 36px 22px; }

    /* Hero-overskrifter: trim de største */
    .h1top { font-size: 2.4em; padding-top: 20px; padding-bottom: 10px; }
    .forsidetekst { padding-top: 0%; }
    .forsidetekst h2 { font-size: 1em; line-height: 1.5; padding: 0 4px; }
    .topskrift { word-spacing: 10px; font-size: 9px; }

    .hero-indhold h1 { font-size: 2.1em; }
    .hero-indhold .streg { margin-bottom: 12px; }

    /* Sektionsoverskrifter (h2) */
    .valg h2,
    .citat-venstre h2,
    .intro-tekst h2,
    .hold-overskrift h2,
    .familie-tekst h2,
    .udt-venstre h2,
    .kont-venstre h2,
    .proces-tekst h1,
    .grunde-top h2,
    .citat-tekstboks h2 {
        font-size: 1.7em;
        line-height: 1.25;
    }

    .proces-cta h2,
    .kontaktform-container h2 {
        font-size: 1.6em;
        line-height: 1.25;
    }

    /* Brødtekst lidt mindre, mere læsbar linjehøjde */
    p { font-size: 17px; }
    .intro-tekst p, .familie-tekst p, .fi-hero-tekst p, .fg-hero-tekst p {
        line-height: 1.65;
    }

    /* Knapper — fuld bredde for nemmere tryk */
    .sporknapper {
        flex-direction: column;
        gap: 12px;
        width: 100%;
        padding: 0 4px;
    }
    .sporknapper .btn { width: 100%; text-align: center; }

    /* Kort på "Hvad bringer dig til spir?" */
    .kort { padding: 28px 22px; }

    /* Hold-kort: mindre billeder, så de ikke dominerer */
    .hold-kort { padding: 24px; gap: 14px; }
    .hold-kort img { height: 90px; }

    /* Familie-grid 2x2 → en kolonne ser bedre ud på smal skærm */
    .familie-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .fam-boks { padding: 24px 14px; font-size: 0.95em; }

    /* Citat-tegnet er kæmpe stort — gør det mindre på mobil */
    .citat-tegn, .gaaseoejne { font-size: 4em; }

    /* Form-felter */
    .form-grid input, .form-grid textarea,
    .fg-form input, .fi-form input, .fi-form select {
        font-size: 16px; /* forhindrer iOS i at zoome ved focus */
    }

    /* Footer — luft mellem kolonner og venstrejustering */
    .footer-indhold { gap: 32px; padding: 0 0px; }
    .footer-container { padding-left: 0; padding-right: 0; }

    /* Investeringsmuligheder kort — lidt strammere */
    .invest-toggle h3 { font-size: 1.1em; }

    /* Ydelser-grid: én bred kolonne ser bedre ud end små firkanter */
    .ydelser-grid { grid-template-columns: 1fr; gap: 12px; }
    .ydelse-kort { padding: 20px 22px; }
    .ydelse-kort h3 { font-size: 1.05em; }

    /* Forsiden: mere luft over den gule streg på citat-sektionen */
    .citat-sektion { padding-top: 10%; }

    /* For-franchisegiveren: stort citat-statement mindre og luftigere */
    .udt-hoejre h3 { font-size: 1.35em; line-height: 1.45; text-align: center; }

    /* For-franchisegiveren: centrér streg + etiket + h2 i kontakt-CTA */
    .kont-venstre { text-align: center; }
    .kont-venstre .streg { margin-left: auto; margin-right: auto; }

    /* Mere luft under sidste kontakt-knap før footeren (om-os, ydelser m.fl.) */
    .omos-kontakt { padding-bottom: 14%; }

    /* Proces: mindre overskrifter og sub-headlines på mobil */
    .trin-nummer { font-size: 2.2em; min-width: 60px; }
    .trin-indhold h2 { font-size: 1.35em; line-height: 1.3; }
    .trin-intro { font-size: 0.8em; line-height: 1.5; }

    /* Kontakt-hero: krymp h1 + giv ekstra luft i siderne så teksten ikke render kanten */
    .kontakt-tekst h1 { font-size: 2em; padding: 0 8px; }

    /* Centrér alle gule streger på mobil (undtagen dem i page-overskriften) */
    .streg { margin-left: auto; margin-right: auto; }
    .hero-indhold .streg { margin-left: 0; margin-right: 0; }

    /* Kontakt-CTA (fi-/fg-kontakt): mindre luft over knapper, mere luft UNDER */
    .kontakt-container { gap: 24px; }
    .fi-kontakt, .fg-kontakt { padding-bottom: 18%; }
    .kont-hoejre { padding: 0; }

    /* Proces-banner (fi-/fg-proces): mindre luft mellem h2 og brødtekst, mindre h2 */
    .proces-container { gap: 18px; }
    .proces-venstre h2 { font-size: 1.7em; line-height: 1.2; }
    .proces-venstre { margin-bottom: 0; }
    .proces-hoejre p { margin-top: 0; }

    /* Centrér hele etiket-blokke (etiket + streg + h2) på mobil */
    .hold-overskrift,
    .familie-tekst,
    .proces-venstre { text-align: center; }
    .hold-overskrift h2 { text-align: center; }
}

/* Ekstra stramning på rigtig små skærme */
@media (max-width: 420px) {
    .h1top { font-size: 2em; }
    .hero-indhold h1 { font-size: 1.85em; }
    .valg h2,
    .citat-venstre h2,
    .intro-tekst h2,
    .hold-overskrift h2,
    .familie-tekst h2,
    .udt-venstre h2,
    .kont-venstre h2,
    .proces-tekst h1,
    .grunde-top h2 { font-size: 1.5em; }
    .formular-boks { padding: 24px 18px; }
}

/* --- STORE KONTAKT-KNAPPER (erstatter formularerne) --- */
.kontakt-knapper-stor {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin: 30px auto 0;
    max-width: 760px;
}
.kontakt-knapper-stak { flex-direction: column; max-width: 460px; margin: 0; }
.kontakt-knapper-stak .kontakt-knap { flex: 0 0 auto; }

.kontakt-knap {
    flex: 1 1 320px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    text-decoration: none;
    text-align: left;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.18s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.18s cubic-bezier(0.16, 1, 0.3, 1), color 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    min-width: 0;
}
.kontakt-knap:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,0,0,0.16);
}

.kontakt-knap-tlf {
    background-color: #32502B;
    color: #ffffff;
}
.kontakt-knap-tlf:hover { background-color: #2a4424; }

.kontakt-knap-mail {
    background-color: #ECC54E;
    color: #32502B;
}
.kontakt-knap-mail:hover { background-color: #e3b932; }

.kontakt-knap-ikon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.kontakt-knap-tekst {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.kontakt-knap-label {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    opacity: 0.85;
}
.kontakt-knap-vaerdi {
    font-family: 'Vollkorn', serif;
    font-size: 1.35em;
    font-weight: bold;
    line-height: 1.1;
    word-break: break-word;
}

@media (max-width: 600px) {
    .kontakt-knapper-stor { flex-direction: column; gap: 14px; }
    .kontakt-knap { flex: 1 1 auto; padding: 20px 22px; }
    .kontakt-knap-vaerdi { font-size: 1.15em; }
    .kontakt-knap-ikon { width: 26px; height: 26px; }
}

/* Klikbare kontakt-kort på kontakt-siden */
.kontakt-kort-link {
    color: inherit;
    text-decoration: none;
    display: block;
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}
.kontakt-kort-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,0,0,0.12);
}
