/* Tekst kun for skærmlæsere: usynlig på skærmen, men bliver læst op */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Blød scroll til ankerlinks, men ikke for brugere der har slået animationer fra */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

html, body {
  margin: 0;
  padding: 0;
}

/* Kun body har overflow-x, og ingen fast højde på html/body.
   Ellers bliver body sin egen scroll-boks inde i siden, og siden kan scrolle videre efter footeren. */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 20px 40px 0;
  overflow-x: hidden; /* Skjuler vandret scroll fra sektionerne i fuld bredde (100vw) */
}

        /* --- Header / Navigation --- */
        header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 30px 40px 10px;
            /* Ligger oven på hero-billedet, starter i sidens øverste venstre hjørne */
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 10;
        }

        header nav {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
            width: 100%;
        }

        .logo {
            font-family: 'Antonio', sans-serif;
            font-weight: 700;
            font-size: 64px;
            color: #FFFFFF;
            text-decoration: none;
        }

        /* Links i venstre side: X 106, Y 59, 475 x 23 px */
        .nav-links {
            position: absolute;
            left: 106px;
            top: 59px;
            width: 475px;
            height: 23px;
            display: flex;
            align-items: center;
            gap: 50px;
        }

        /* Højre side: spejler venstre side med samme afstand til kanten */
        .nav-links-right {
            left: auto;
            right: 106px;
            width: auto;
            justify-content: flex-end;
        }

        .nav-links a,
        .nav-links button {
            background: none;
            border: none;
            padding: 0;
            cursor: pointer;
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            font-weight: 700;
            font-size: 25px;
            line-height: 23px;
            color: #FFFFFF;
            text-decoration: none;
            white-space: nowrap;
        }

        /* Streg under ved hover og tastaturfokus (ikke logoet) */
        .nav-links a:hover,
        .nav-links button:hover,
        .nav-links a:focus-visible,
        .nav-links button:focus-visible {
            text-decoration: underline;
            text-underline-offset: 5px;
            text-decoration-thickness: 2px;
        }

        .nav-links a:focus-visible,
        .nav-links button:focus-visible {
            outline: 2px solid #FFFFFF;
            outline-offset: 4px;
            border-radius: 2px;
        }

        /* --- Hero-sektionen --- */
        .hero {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100vw;
            margin-left: calc(-50vw + 50%);
            margin-right: calc(-50vw + 50%);
            margin-top: -20px; /* Ophæver body'ens top-padding, så billedet starter helt oppe */
            position: relative; /* Så .description kan placeres ud fra heroens øverste venstre hjørne */
            /* Billedets højde (832/1280 af bredden) minus 3 cm, som skæres af i toppen */
            min-height: calc(100vw * 832 / 1280 - 3cm);
            padding: 140px 20px 60px; /* Plads til naven øverst */
            /* Billedet i fuld bredde, forankret i bunden så toppen skæres af; farven matcher billedets grå baggrund */
            background: #939190 url('images/Hero.webp') bottom center / 100% auto no-repeat;
        }

/* --- Text and CTA --- */
        /* Hero-tekst i venstre side: X 156, Y 438 */
        .description {
            position: absolute;
            left: 156px;
            top: 438px;
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            font-weight: 400;
            font-size: 28px;
            line-height: 1.2;
            text-align: left;
            color: #FFFFFF;
        }

        /* CTA under hero-teksten: X 156, Y 630, 357 x 61 px */
        .cta-btn {
            position: absolute;
            left: 156px;
            top: 630px;
            width: 357px;
            height: 61px;
            padding: 16px 70px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            white-space: nowrap;
            background-color: #332E29;
            color: #FFFFFF;
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            font-weight: 700;
            font-size: 24px;
            text-decoration: none;
            border: none;
            border-radius: 10px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        .cta-btn img {
            width: 19px;
            height: 15px;
        }

        /* Trustpilot nederst i højre hjørne af heroen.
           Designets X 1135 / Y 748 på en 1440 px bred side = 66 px fra højre kant og 2 px fra bunden */
        .hero-trustpilot {
            position: absolute;
            right: 66px;
            bottom: 2px;
            width: 239px;
            height: 73px;
        }

        /* Kun baggrundsfarven fader til 50 %, teksten forbliver fuldt synlig */
        .cta-btn:hover {
            background-color: rgba(51, 46, 41, 0.5);   /* #332E29 ved 50 % */
        }

        .feature-buy:hover {
            background-color: rgba(61, 53, 41, 0.5);   /* #3D3529 ved 50 % */
        }

        /* --- Produkt-card under hero (1255 x 586) ---
           Positionerne fra designet er målt fra cardets øverste venstre hjørne:
           billede 586 px + gap 94 px = højre kolonne starter på X 680.
           Afstandene mellem elementerne er regnet ud fra Y-værdierne. */
        .feature-card {
            display: grid;
            grid-template-columns: 586px 1fr;
            column-gap: 94px;
            align-items: center;
            width: 100%;
            max-width: 1255px;
            min-height: 586px;
            margin: 80px auto;
            color: #332E29;
        }

        .feature-image img {
            display: block;
            width: 100%;
            height: auto;
        }

        .feature-content {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 20px 0;
            line-height: 1.2;
        }

        /* Overskriver den generelle `* { font-family: Inter }` */
        .feature-content,
        .feature-content * {
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        }

        /* Alt i højre kolonne flugter i venstre kant (X 680) */
        .feature-title,
        .feature-subtitle,
        .feature-price,
        .feature-text,
        .feature-read-more,
        .feature-color {
            color: #332E29;
        }

        .feature-title {
            text-transform: uppercase; /* Skrevet "Lumina Bloom" i HTML, så skærmlæsere ikke staver det */
            font-weight: 700;
            font-size: 36px;
        }

        .feature-subtitle {
            margin-top: 7px;
            font-weight: 500;
            font-size: 24px;
        }

        .feature-price {
            margin-top: 20px;
            font-style: italic;
            font-weight: 400;
            font-size: 32px;
        }

        .feature-text {
            margin-top: 35px;
            font-weight: 300;
            font-size: 24px;
        }

        .feature-read-more {
            margin-top: 10px;
            background: none;
            border: none;
            padding: 0;
            cursor: pointer;
            font-style: italic;
            font-weight: 300;
            font-size: 24px;
            line-height: 1.2;
            text-decoration: none;
        }

        /* Streg under ved hover og tastaturfokus */
        .feature-read-more:hover,
        .feature-read-more:focus-visible {
            text-decoration: underline;
            text-underline-offset: 4px;
        }

        /* Streg: X 680, 575 px lang, 0.5 px sort */
        .feature-line {
            width: 100%;
            margin-top: 23px;
            border: none;
            border-top: 0.5px solid #000000;
        }

        .feature-color {
            margin-top: 0;
            font-size: 24px;
        }

        .feature-color-label {
            font-weight: 500;
        }

        .feature-color-name {
            font-style: italic;
            font-weight: 100;
        }

        /* Fire cirkler på 45 x 45 med 9 px mellemrum */
        .color-swatches {
            display: flex;
            gap: 9px;
            margin-top: 16px;
        }

        /* Fieldset uden browserens standard-ramme */
        .color-picker {
            border: none;
            padding: 0;
            margin: 23px 0 0; /* Samme afstand til stregen som fra "Læs mere" til stregen */
            min-width: 0;
        }

        .color-picker legend {
            padding: 0;
        }

        .swatch {
            position: relative;
            display: block;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            border: 1px solid;
            cursor: pointer;
            box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.25);
        }

        /* Selve radioknappen skjules visuelt, men kan stadig bruges med tastatur og skærmlæser */
        .swatch input {
            position: absolute;
            opacity: 0;
            width: 1px;
            height: 1px;
            margin: 0;
        }

        /* Valgt cirkel: inner shadow i stedet for drop shadow */
        .swatch:has(input:checked) {
            box-shadow: inset 1px 3px 4px rgba(0, 0, 0, 0.25);
        }

        /* Tydelig fokus-ring når man bruger tastatur */
        .swatch:has(input:focus-visible) {
            outline: 2px solid #332E29;
            outline-offset: 3px;
        }

        .swatch-green    { background-color: #D6E0D0; border-color: #8CAF78; }
        .swatch-rose     { background-color: #DFA093; border-color: #97685E; }
        .swatch-white    { background-color: #E0CDBB; border-color: #897D71; }
        .swatch-lavender { background-color: #D0E4EA; border-color: #528494; }

        /* Køb nu: 412 x 59 */
        .feature-buy {
            margin-top: 40px;
            width: 412px;
            height: 59px;
            padding: 15px 165px;
            border: none;
            border-radius: 10px;
            background-color: #3D3529;
            color: #FFFFFF;
            font-weight: 700;
            font-size: 24px;
            white-space: nowrap;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        @media (max-width: 1100px) {
            .feature-card {
                grid-template-columns: 1fr;
                row-gap: 40px;
                min-height: 0;
            }
            .feature-image img {
                max-width: 586px;
                margin: 0 auto;
            }
            .feature-buy {
                width: 100%;
                max-width: 412px;
                padding: 15px;
            }
        }

        /* --- Responsivitet (Mobil) --- */
        @media (max-width: 768px) {
            header { flex-direction: column; gap: 20px; }
            .hero { padding-top: 220px; }
            .description { position: static; font-size: 20px; margin-bottom: 25px; }
            .cta-btn { position: static; width: auto; height: auto; padding: 14px 32px; font-size: 18px; }
            .hero-trustpilot { position: static; width: 180px; height: auto; margin-top: 30px; }
            header nav { flex-wrap: wrap; justify-content: center; }
            .nav-links { position: static; width: auto; height: auto; gap: 24px; }
            .nav-links a,
            .nav-links button { font-size: 18px; }
        }
  
/* --- Produktspecifikationer --- */
/* Fuld bredde med produktinfo.webp som baggrund; højden følger billedets proportioner (1280 x 742) */
.specs-section {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    aspect-ratio: 1280 / 742;
    background: url('images/produktinfo.webp') center / cover no-repeat;
    color: #332E29; /* Al tekst i sektionen */
}

/* Overskrift: X 89, Y 35 i sektionen */
.specs-title {
    position: absolute;
    left: 89px;
    top: 35px;
    margin: 0;
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 64px;
    letter-spacing: 0.01em; /* 1 % */
    line-height: 1.2;
    text-transform: uppercase; /* Skrevet med små bogstaver i HTML, så skærmlæsere ikke staver det */
    color: #332E29;
}

/* Boks: 517 x 376, #DCDBD9, 20 px runde hjørner.
   36 px padding giver listen (297 x 242) øverst og knappen på X 36 / Y 299.
   Højden er "mindst 376", så boksen vokser nedad når de ekstra punkter vises. */
.specs-box {
    position: absolute;
    left: 89px;
    top: 150px;
    width: 517px;
    min-height: 376px;
    padding: 36px;
    background-color: #DCDBD9;
    border-radius: 20px;
    color: #332E29;
}

.specs-box,
.specs-box * {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Runde punkter foran hvert tekststykke */
.specs-list {
    list-style: disc;
    padding-left: 22px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
}

.specs-list li + li {
    margin-top: 18px;
}

.spec-label {
    font-weight: 500;
}

/* Knap: 399 x 41 med 10 px padding, 21 px under listen */
.specs-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 399px;
    height: 41px;
    margin-top: 21px;
    padding: 10px;
    background: none;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    color: #332E29;
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    text-align: left;
}

.specs-toggle-icon {
    display: inline-block;
    width: 12px;
    font-style: normal;
}

.specs-toggle:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 2px;
}

/* Vokser en smule ved hover, så man kan se det er en knap.
   Vokser ud fra venstre kant, så teksten ikke flytter sig væk fra punkterne */
@media (prefers-reduced-motion: no-preference) {
    .specs-toggle {
        transform-origin: left center;
        transition: transform 0.2s ease;
    }

    .specs-toggle:hover {
        transform: scale(1.05);
    }
}

.specs-more {
    margin-top: 21px;
}

/* Mindre skærme: boks og overskrift i almindelig rækkefølge, så intet ryger uden for sektionen */
@media (max-width: 900px) {
    .specs-section {
        aspect-ratio: auto;
        padding: 30px 20px 40px;
    }
    .specs-title {
        position: static;
        margin-bottom: 24px;
    }
    .specs-box {
        position: static;
        width: 100%;
        max-width: 517px;
        min-height: 0;
    }
    .specs-toggle {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 768px) {
    .specs-title {
        left: 20px;
        top: 20px;
        font-size: 36px;
    }
    .specs-box {
        padding: 24px;
    }
}



/* --- Social Connect ---
   Tekst (540 px) + gap 76 px + billede (562 px), centreret så der er
   lige meget luft fra teksten til venstre kant og fra billedet til højre kant. */
.social-connect {
    display: grid;
    grid-template-columns: 540px 562px;
    column-gap: 76px;
    justify-content: center;
    align-items: start;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    margin-top: 80px;
    margin-bottom: 0; /* Afstanden til næste sektion styres af .social-section (94 px) */
    padding: 0 71px;
    color: #332E29;
}

.social-connect-text,
.social-connect-text * {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* "NYHEDER": Y 0 */
.social-connect-label {
    font-weight: 500;
    font-size: 23px;
    line-height: 1.2;
    text-transform: uppercase;
    color: #B8149C; /* Mørkere pink (samme farvetone som #ED5DCD): 4.59:1 i kontrast */
}

/* "SOCIAL CONNECT": Y 44 */
.social-connect-title {
    margin-top: 16px;
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 64px;
    line-height: 1.2;
    text-transform: uppercase;
    color: #332E29;
}

/* Brødtekst: Y 150, ca. 540 px bred så linjerne brydes som i designet */
.social-connect-text > p {
    max-width: 540px;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.5; /* 150 % */
    color: #332E29;
}

.social-connect-text hgroup + p {
    margin-top: 29px;
}

/* Tom linje mellem afsnittene (én linjehøjde: 24 px × 1.5) */
.social-connect-text > p + p {
    margin-top: 36px;
}

/* Billede: 175 px nede, 76 px fra teksten */
.social-connect-image {
    display: block;
    width: 100%;
    max-width: 562px;
    height: auto;
    margin-top: 175px;
}

@media (max-width: 1200px) {
    .social-connect {
        grid-template-columns: 1fr;
        row-gap: 40px;
        padding: 0 20px;
    }
    .social-connect-image {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .social-connect-title {
        font-size: 44px;
    }
    .social-connect-text > p {
        font-size: 18px;
    }
}

/* --- Følg os på sociale medier ---
   Sektion 1149 px bred, 94 px under Social Connect.
   3 cards med 60 px mellemrum: (1149 - 2 × 60) / 3 = ca. 343 px pr. card,
   hvilket passer med billederne (344 × 332). */
.social-section {
    width: 100%;
    max-width: 1149px;
    margin: 94px auto 0;
}

.social-title {
    margin-bottom: 36px;
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 64px;
    line-height: 1.2;
    letter-spacing: 0.14px;
    text-align: center;
    text-transform: uppercase; /* Skrevet med små bogstaver i HTML, så skærmlæsere ikke staver det */
    color: #332E29;
}

.social-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    list-style: none;
    padding: 0;
    align-items: start;
}

.social-card {
    display: flex;
    flex-direction: column;
    padding: 15px 0;
    background-color: #FFFFFF;
    border-radius: 40px;
    overflow: hidden;
}

/* Logo + navn: logo på X 26, 8 px over billedet */
.social-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 26px;
    margin-bottom: 8px;
}

.social-card-logo {
    width: 31px;
    height: 32px;
}

.social-card-name {
    font-family: 'Arimo', Arial, sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #000000;
}

/* Billedet i midten fylder hele cardets bredde */
.social-card-image {
    display: block;
    width: 100%;
    aspect-ratio: 344 / 332;
    object-fit: cover;
}

/* Ikoner: 16 px under billedet, hjerte/chat/send til venstre og gem til højre */
.social-card-icons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
    padding: 0 21px 0 26px;
}

.social-card-actions {
    display: flex;
    gap: 7.95px;
}

.social-card-icons img {
    display: block;
    width: 24px;
    height: 24px;
}

@media (max-width: 1000px) {
    .social-cards {
        grid-template-columns: 1fr;
        max-width: 430px;
        margin: 0 auto;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .social-title {
        font-size: 40px;
    }
}


/* FOOTER STYLING */
/* Fylder hele skærmbredden (X 0), 505 px høj.
   Y 3805 = 94 px under "Følg os"-sektionen (Y 3131 + H 580 = 3711) */
footer {
  position: relative;
  box-sizing: border-box;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 94px;
  min-height: 505px;
  padding: 68px 0 0; /* Luften i siderne styres af .footer-top; bunden af logoerne rammer footerens 505 px */
  background-color: #C0BEBB;
  border-radius: 20px 20px 0 0; /* Kun de to øverste hjørner */
  color: #333333;
  overflow: hidden;
}

/* --- Øverste række i footeren ---
   Nyhedsbrevet for sig selv i venstre side, de tre link-afsnit samlet i højre side.
   Samme luft (76 px) til venstre og højre kant. */
.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px;
    padding: 0 76px 0 130px; /* Nyhedsbrevet lidt længere inde fra venstre */
    margin-bottom: 0;
}

/* Skillelinje: X 21 / Y 441.55, 1239 px lang (21 px fra begge kanter på 1280), 1 px #332E29.
   Afsnittene over slutter ca. Y 373 (68 + 305), så 68 px luft giver Y ≈ 441 */
.footer-divider {
    margin: 68px 21px 0;
    border: none;
    border-top: 1px solid #332E29;
}

/* Kundeservice · Virksomheden · Social i tre lige brede kolonner,
   så der er samme afstand fra overskrift til overskrift */
.footer-nav-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: start;
    column-gap: 90px;
}

/* Nyhedsbrev: 254 px bred */
.footer-newsletter {
    width: 254px;
    color: #332E29;
}

/* --- Social --- */
.footer-social {
    color: #332E29;
}

/* "Social" flugter med ikonerne i venstre side */
.footer-social-title {
    color: #332E29;
}

/* Listen: Y 66 (36 px under overskriften på 30 px), 4 × 40 + 3 × 8 = 184 px høj */
.footer-social ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 36px;
    list-style: none;
    padding: 0;
}

/* Ikon + tekst er ét link. Negativ margin + padding, så hover-boksen får luft
   uden at ikon og tekst flytter sig */
.footer-social a {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 -8px;
    padding: 0 8px;
    border-radius: 8px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.15em; /* 15 % */
    color: #332E29;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

/* Fast plads til ikonerne, så teksterne flugter selvom ikonerne har forskellig størrelse */
.footer-social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 20px;
}

.footer-social-icon img {
    display: block;
}

/* Sart mørkegrå boks ved hover/fokus – teksten har stadig 6.2:1 i kontrast */
.footer-social a:hover,
.footer-social a:focus-visible {
    background-color: #B3B0AD;
}

.footer-social a:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 2px;
}

.footer-links,
.footer-links * {
    color: #332E29;
}

/* Overskrift: Y 0 */
.footer-links-title {
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 25px;
    line-height: 30px;
    letter-spacing: 0.04em; /* 4 % */
}

/* Links: X 2 / Y 65, linjehøjde 48 */
.footer-links ul {
    list-style: none;
    margin-top: 35px;
    padding: 0 0 0 2px;
}

.footer-links a {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 48px;
    letter-spacing: 0.04em; /* 4 % */
    text-decoration: none;
    white-space: nowrap; /* Hvert punkt på én linje */
}

/* Streg under teksten ved hover og tastaturfokus */
.footer-links a:hover,
.footer-links a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.footer-links a:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 2px;
    border-radius: 2px;
}

@media (max-width: 900px) {
    .footer-top {
        gap: 40px;
        padding: 0 20px;
    }
    .footer-nav-group {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }
}

/* "LUMINA": Y 0 */
.footer-logo {
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1;
    text-transform: uppercase;
    color: #332E29;
}

.newsletter-form,
.newsletter-form * {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* "Tilmeld dig nyhedsbrevet": Y 129 (89 px under LUMINA) */
.newsletter-title {
    margin-top: 89px;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #332E29;
}

/* Feltet: Y 175, 254 x 50, med 1 px streg i bunden */
.newsletter-field {
    display: flex;
    align-items: center;
    height: 50px;
    margin-top: 26px;
    border-bottom: 1px solid #332E29;
}

/* mail.webp på X 0 (20 x 16), 29 px til teksten */
.newsletter-icon {
    flex-shrink: 0;
    width: 20px;
    height: 16px;
    margin-right: 29px;
}

/* "E-mail" på X 49 */
.newsletter-field input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 16px;
    color: #332E29;
}

.newsletter-field input::placeholder {
    color: #5A5A5A;
    opacity: 1;
}

/* sendknap.webp helt til højre (X 226, 28 x 28) */
.newsletter-submit {
    flex-shrink: 0;
    display: flex;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}

.newsletter-submit img {
    width: 28px;
    height: 28px;
}

/* Tydelig fokus-ring med tastatur */
.newsletter-field input:focus-visible,
.newsletter-submit:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Knappen vokser lidt ved hover */
@media (prefers-reduced-motion: no-preference) {
    .newsletter-submit {
        transition: transform 0.2s ease;
    }

    .newsletter-submit:hover {
        transform: scale(1.15);
    }
}
/* Betalingsmuligheder: X 29 (via .footer-bottom) / Y 441, lige under skillelinjen.
   Logoerne i deres egen størrelse, 16 px mellemrum, centreret lodret */
.payment-icons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 0 0 70px; /* Samme afstand fra venstre kant som FAQ/Privacy/Terms har fra højre */
    padding: 0;
    list-style: none;
}

.payment-icons img {
    display: block;
}


/* Nederste række: betalingslogoer til venstre, copyright i midten.
   Tre kolonner (1fr auto 1fr), så teksten står præcis i midten af footeren
   uanset hvor bredt logo-rækken er */
.footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin: 0 29px;
}

/* "2026 © LUMINA" */
.footer-copyright {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 41px;
    letter-spacing: 0.15em; /* 15 % */
    color: #332E29;
    white-space: nowrap;
    text-transform: uppercase; /* "Lumina" i HTML, så skærmlæsere ikke staver det */
}

/* FAQ · Privacy · Terms & Condition: 296 x 41 i højre side af rækken */
.footer-legal {
    justify-self: end;
    /* Plads til "tilbage til toppen"-knappen (56 px + 24 px fra kanten) */
    margin-right: 70px;
}

.footer-legal ul {
    display: flex;
    justify-content: space-between;
    width: 296px;
    height: 41px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-legal a {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 41px;
    letter-spacing: 0.15em; /* 15 % */
    color: #332E29;
    text-decoration: none;
    white-space: nowrap;
}

/* Lille streg under ved hover og tastaturfokus */
.footer-legal a:hover,
.footer-legal a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.footer-legal a:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 2px;
    border-radius: 2px;
}

@media (max-width: 768px) {
    .footer-legal {
        justify-self: center;
        margin-right: 0;
    }
    .payment-icons {
        margin-left: 0;
        justify-content: center;
    }
    .footer-bottom {
        grid-template-columns: 1fr;
        justify-items: center;
        row-gap: 8px;
        padding-bottom: 80px; /* Plads under linkene til "tilbage til toppen"-knappen */
    }
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    background-color: #E8E4E1;
    color: #332E29;
}

/* --- ABOUT-SIDEN ---
   Tekst (375) + 70 px + billede (670) side om side, centreret vandret (samme afstand til
   begge sider) og lodret (midt i skærmhøjden). Body har 20 px padding i toppen. */
.about-container {
    position: relative;
    display: flex;
    flex-direction: row; /* Tekst til venstre, billede til højre (overskriver main-reglens kolonne) */
    justify-content: center;
    align-items: center;
    gap: 70px;
    min-height: calc(100vh - 20px);
    padding: 60px 0 40px;
    color: #332E29;
}

/* omos.webp: 670 x 487, 20 px runde hjørner, 3 px kant i #3D3529 */
.about-image {
    display: block;
    /* Op til 670 px bred, men skrumper hellere end at ryge ned under teksten */
    flex: 0 1 670px;
    width: 670px;
    max-width: 100%;
    min-width: 0;
    height: auto;
    border: 3px solid #3D3529;
    border-radius: 20px;
}

/* Tilbage-knappen ligger øverst i hjørnet, så den ikke skubber teksten ned */
.back-btn {
    position: absolute;
    z-index: 10; /* Ligger over <main>, så den kan klikkes */
    top: 20px;  /* Samme sted som før: body har 20 px / 40 px padding */
    left: 40px;
    text-decoration: none; /* Er et link, ikke en knap */
    line-height: 1.2;
    /* Mørk knap med hvid pil: 13.4:1 i kontrast */
    background-color: #332E29;
    color: #FFFFFF;
    padding: 14px 40px;
    border: none;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s;
}

/* Som CTA-knappen: kun baggrunden fader til 50 %, pilen forbliver hvid */
.back-btn:hover {
    background-color: rgba(51, 46, 41, 0.5);
}

.back-btn:focus-visible {
    outline: 2px solid #332E29;
    outline-offset: 3px;
}


/* Tekst-sektion: 375 px bred */
.about-text {
    flex-shrink: 0; /* Teksten beholder sin bredde, det er billedet der skrumper */
    width: 375px;
    color: #332E29;
}

/* "OM OS": Y 141 */
.about-title {
    font-family: 'Antonio', sans-serif;
    font-weight: 700;
    font-size: 96px;
    line-height: 1;
    letter-spacing: 5px;
    text-transform: uppercase; /* Skrevet "Om os" i HTML, så skærmlæsere ikke staver det */
    color: #332E29;
}

/* Brødtekst: Y 247, Helvetica Neue Regular 18 / linjehøjde 29 */
.about-text p,
.about-subtitle {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 29px;
    color: #332E29;
    white-space: nowrap; /* Linjerne brydes præcis som i designet (med <br>) */
}

.about-text p {
    font-weight: 400;
}

.about-title + p {
    margin-top: 32px;
}

/* "Vores vision": Bold, én tom linje over */
.about-subtitle {
    margin-top: 29px;
    font-weight: 700;
}

/* Kun på små skærme (tablet i højformat og mobil) står billedet under teksten */
@media (max-width: 800px) {
    .about-container {
        flex-direction: column;
        gap: 40px;
    }
}

@media (max-width: 600px) {
    .about-container {
        padding: 90px 0 40px;
    }
    .about-text {
        width: auto;
    }
    .about-title {
        font-size: 64px;
    }
    /* På små skærme brydes teksten naturligt i stedet */
    .about-text p,
    .about-subtitle {
        white-space: normal;
    }
    .about-text br {
        display: none;
    }
}

/* Toast / pop-up if purchase */
.cart-toast {
  position: fixed;
  left: 50%;
  bottom: 32px;
  transform: translateX(-50%) translateY(12px);
  background: rgba(112, 111, 109, 0.95);
  color: #fff;
  padding: 12px 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(172, 153, 132, 0.25);
  opacity: 0;
  transition: opacity 260ms ease, transform 260ms ease;
  z-index: 9999;
  font-weight: 600;
  pointer-events: none;
}

/* When toast is visible */
.cart-toast.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Smaller devices: move toast slightly up */
@media (max-width: 480px) {
  .cart-toast { bottom: 18px; padding: 10px 14px; font-size: 14px; }
}

/* <main> indeholder alt sidens hovedindhold (hero til "Følg os").
   Flex-kolonne, så sektionernes marginer opfører sig som før */
main {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
}

/* Når "Spring til indhold" flytter fokus til main, skal der ikke tegnes en ramme om hele siden */
main:focus {
  outline: none;
}

/* "Spring til indhold": skjult indtil man tabber til den med tastaturet */
.skip-link {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2000;
  padding: 12px 20px;
  border-radius: 10px;
  background-color: #332E29;
  color: #FFFFFF;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

/* Tydelig fokus-ring på knapper der ikke havde en */
.cta-btn:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 3px;
}

.feature-buy:focus-visible,
.feature-read-more:focus-visible {
  outline: 2px solid #332E29;
  outline-offset: 3px;
}

.logo:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 4px;
}



/* Elementer med hidden-attributten skal altid være skjult, også når en klasse sætter display */
[hidden] {
  display: none !important;
}

/* --- SØGNING ---
   .search-panel er den 40 % sorte baggrund over hele siden,
   .search-box er den aflange boks lige under LUMINA-logoet */
.search-panel {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.4);
}

.search-box {
  position: absolute;
  top: 120px; /* Logoet slutter ca. 107 px nede */
  left: 50%;
  transform: translateX(-50%);
  width: min(640px, calc(100% - 32px));
}

.search-panel,
.search-panel * {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.search-form {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 8px 8px 24px;
  background-color: rgba(255, 255, 255, 0.45); /* Lidt mere gennemsigtig */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 999px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.search-form input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-size: 18px;
  color: #332E29;
}

.search-form input::placeholder {
  color: #38332E; /* Mørkere end før, så den kan læses på den mørkere, gennemsigtige boks */
  opacity: 1;
}

.search-form input:focus-visible {
  outline: none; /* Fokus vises på hele boksen i stedet */
}

.search-form:focus-within {
  outline: 2px solid #332E29;
  outline-offset: 2px;
}

.search-submit {
  padding: 10px 22px;
  border: none;
  border-radius: 999px;
  background-color: #332E29;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s;
}

.search-submit:hover {
  background-color: rgba(51, 46, 41, 0.5);
}

/* Besked under søgefeltet, fx "Ingen resultater" */
.search-status:not(:empty) {
  margin-top: 8px;
  padding: 8px 16px;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #332E29;
  font-size: 15px;
  text-align: center;
}

/* Sektion der er fundet via søgning får en kort markering */
.search-hit {
  outline: 3px solid #332E29;
  outline-offset: 6px;
}

/* --- KURV: panel i højre side --- */
.cart-panel {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 1000;
  width: min(380px, calc(100% - 32px));
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 24px;
  background-color: #FFFFFF;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  color: #332E29;
}

.cart-panel,
.cart-panel * {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #332E29;
}

.cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.cart-title {
  font-family: 'Antonio', sans-serif;
  font-weight: 700;
  font-size: 32px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cart-title:focus {
  outline: none;
}

.cart-close {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.cart-close:hover {
  background-color: #E8E4E1;
}

.cart-close:focus-visible,
.cart-remove:focus-visible {
  outline: 2px solid #332E29;
  outline-offset: 2px;
}

.cart-empty {
  font-size: 16px;
}

.cart-items {
  list-style: none;
  padding: 0;
}

.cart-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 0.5px solid #332E29;
}

.cart-item img {
  width: 72px;
  height: auto;
}

.cart-item-name {
  font-weight: 700;
  font-size: 16px;
}

.cart-item-meta {
  font-size: 14px;
}

.cart-item-price {
  font-style: italic;
  font-size: 16px;
  white-space: nowrap;
}

.cart-remove {
  margin-top: 4px;
  padding: 0;
  border: none;
  background: none;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  text-decoration: none;
  cursor: pointer;
}

.cart-remove:hover {
  text-decoration: underline;
}

.cart-total {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 700;
  text-align: right;
}

/* --- TILBAGE TIL TOPPEN: rund knap nederst i højre hjørne --- */
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900; /* Under søgning og kurv (1000) */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #332E29;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  /* Skjult indtil man har scrollet forbi heroen. visibility: hidden fjerner den også
     fra tab-rækkefølgen og skærmlæsere, mens den er skjult */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, background-color 0.3s;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Pilen (pil.webp peger mod højre) drejes, så den peger op */
.back-to-top img {
  width: 19px;
  height: 15px;
  transform: rotate(-90deg);
}

/* Som CTA-knappen: baggrunden fader til 50 % ved hover */
.back-to-top:hover {
  background-color: rgba(51, 46, 41, 0.5);
}

.back-to-top:focus-visible {
  outline: 2px solid #332E29;
  outline-offset: 3px;
}

@media (max-width: 480px) {
  .back-to-top {
    right: 16px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }
}

/* =====================================================================
   SMALLERE SKÆRME (tablet og mobil)
   Alt herunder gælder kun under 1200 px, så computer-visningen er uændret.
   ===================================================================== */

/* --- Tablet og mindre (under 1200 px) --- */
@media (max-width: 1200px) {
  /* Naven: logoet øverst i midten, links i centrerede rækker under.
     De faste X/Y-positioner fra designet passer ikke, når skærmen er smallere.
     Et svagt mørkt lag bag naven giver den hvide tekst 5,2:1 i kontrast på hero-billedet
     (uden laget kun 3,1:1, som ikke er nok til nav-teksten på 16-18 px) */
  header {
    padding: 16px 16px 24px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) calc(100% - 24px), rgba(0, 0, 0, 0) 100%);
  }

  header nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 28px;
  }

  .logo {
    order: -1; /* Står først visuelt, men læses stadig i samme rækkefølge */
    flex-basis: 100%;
    text-align: center;
    font-size: 48px;
    line-height: 1.1;
  }

  .nav-links,
  .nav-links-right {
    position: static;
    width: auto;
    height: auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 20px;
  }

  /* Store nok trykflader til fingre (mindst 44 px høje) */
  .nav-links a,
  .nav-links button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 18px;
    line-height: 1.2;
  }

  /* Hero: tekst og knap står i almindelig rækkefølge over billedet,
     og billedet får plads i bunden, så teksten ikke ligger hen over personen */
  .hero {
    min-height: 0;
    padding: 150px 24px calc(100vw * 832 / 1280 - 3cm + 24px);
    align-items: center;
    text-align: center;
  }

  .description {
    position: static;
    font-size: 28px;
    text-align: center;
    margin-bottom: 24px;
  }

  .cta-btn {
    position: static;
  }

  .hero-trustpilot {
    right: 24px;
    bottom: 12px;
  }

  /* Produkt-card: kolonnerne må gerne skrumpe, så teksten ikke løber ud over kanten */
  .feature-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .feature-content {
    min-width: 0;
  }

  /* Social Connect: samme problem som produkt-cardet */
  .social-connect {
    grid-template-columns: minmax(0, 1fr);
  }

  .social-connect-image {
    max-width: 562px;
    margin: 0 auto;
  }

  /* Søgeboksen lige under det mindre logo */
  .search-box {
    top: 80px;
  }
}

/* --- Mobil (under 768 px) --- */
@media (max-width: 768px) {
  /* Lidt mindre luft i siderne, så indholdet har plads */
  body {
    padding: 20px 16px 0;
  }

  .logo {
    font-size: 40px;
  }

  header nav {
    gap: 0 20px;
  }

  .nav-links,
  .nav-links-right {
    gap: 0 16px;
  }

  .nav-links a,
  .nav-links button {
    font-size: 16px;
  }

  .hero {
    padding: 190px 16px calc(100vw * 832 / 1280 - 3cm + 70px); /* Naven fylder to rækker på mobil */
  }

  /* Linjeskiftene fra designet passer ikke på en smal skærm, så teksten brydes naturligt.
     24 px er "stor tekst", så den hvide tekst på den grå baggrund klarer kontrastkravet (3:1) */
  .description {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .description br {
    display: none;
  }

  .cta-btn {
    font-size: 18px;
    padding: 14px 28px;
  }

  .hero-trustpilot {
    position: absolute;
    right: 16px;
    bottom: 12px;
    width: 140px;
    margin: 0;
  }

  /* Produkt-card */
  .feature-card {
    margin: 48px auto;
    row-gap: 24px;
  }

  .feature-title {
    font-size: 30px;
  }

  .feature-subtitle {
    font-size: 20px;
  }

  .feature-price {
    font-size: 26px;
  }

  .feature-text,
  .feature-read-more,
  .feature-color {
    font-size: 18px;
  }

  .feature-buy {
    width: 100%;
    max-width: none;
    padding: 15px;
    font-size: 20px;
  }

  /* Produktspecifikationer */
  .specs-section {
    padding: 32px 16px 40px;
  }

  .specs-title {
    font-size: 32px;
  }

  .specs-list {
    font-size: 16px;
  }

  .specs-toggle {
    font-size: 16px;
    min-height: 44px;
  }

  /* Social Connect */
  .social-connect {
    margin-top: 48px;
    padding: 0 16px;
  }

  .social-connect-title {
    font-size: 40px;
  }

  .social-connect-text > p {
    font-size: 18px;
  }

  /* Følg os på sociale medier */
  .social-section {
    margin-top: 64px;
  }

  .social-title {
    font-size: 32px;
    margin-bottom: 24px;
  }

  .social-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Footer */
  footer {
    margin-top: 64px;
    padding-top: 40px;
  }

  .footer-top {
    padding: 0 16px;
  }

  .footer-newsletter {
    width: 100%;
    max-width: 320px;
  }

  .newsletter-title {
    margin-top: 32px;
  }

  .footer-divider {
    margin: 40px 16px 0;
  }

  .footer-bottom {
    margin: 0 16px;
  }

  /* Links i footeren: større trykflader */
  .footer-legal ul {
    width: auto;
    height: auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 20px;
  }

  .footer-legal a {
    display: inline-block;
    min-height: 44px;
    line-height: 44px;
  }

  /* About-siden: tekst og billede fylder skærmbredden */
  .back-btn {
    left: 16px;
  }

  .about-container {
    align-items: stretch;
    min-height: 0; /* Ingen lodret centrering på mobil, teksten starter lige under tilbage-knappen */
  }

  .about-text {
    flex-shrink: 1;
    width: 100%;
    max-width: 480px;
  }

  .about-image {
    flex: none;
    width: 100%;
  }
}
