/* ######################## Grid - Main ######################## */
.wrapper {
    display: grid;
    grid-template-columns: repeat(12, [col-start] 1fr);
    grid-template-rows: 13vw auto auto;
    gap: 3.8vw;
    background-color: black;
}

@font-face {
    font-family: "Trebuchet MS";
    src: url(../fonts/trebuc.ttf) format('truetype');

    font-family: "Angars Runes PERSONAL USE ONLY";
    src: url(../fonts/RUNE.ttf) format('truetype');

    font-family: "Viner Hand ITC";
    src: url(../fonts/VINERITC.ttf) format('truetype');
}


/* ############################## GRID - Desktop ############################## */

.logo {
    grid-column: 1 / span 2;
    grid-row: 1 / 1;
}

.hugin {
    grid-column: 10 / span 3;
    grid-row: 1 / span 2;
}

.munin {
    grid-column: 7 / span 3;
    grid-row: 1 / span 2;
}

.menue {
    grid-column: 1 / span 2;
    grid-row: 2 / 2;
}

.einleitung {
    grid-column: 4 / span 6;
    grid-row: 2;
    padding-top: 0;
}

#categories {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.artefacts {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.dwarves {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.giants {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.gods {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.locations {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.men {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.new {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.stories {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.tales {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.worlds {
    grid-column: 3 / span 10;
    grid-row: 3;
}

.unterseitentitel {
    grid-column: 4 / span 8;
    grid-row: 1 / span 2;
}

.block1 {
    grid-column: 3 / span 3;
    grid-row: 2;
}

.block2 {
    grid-column: 5 / span 3;
    grid-row: 2;
}

.block3 {
    grid-column: 7 / span 3;
    grid-row: 2;
}

.block4 {
    grid-column: 9 / span 3;
    grid-row: 2;
}

.artikel, .stories {
    grid-column: 3 / span 10;
    grid-row: 2;
}

.bildquellen {
    grid-column: 3 / span 10;
    grid-row: 2;
}

.urls {
    grid-column: 3 / span 10;
    grid-row: 2;
}


/* ######################## Body - Desktop ######################## */
body {
    background-color: black;
    margin: 0vw 2.5vw 2.5vw 2.5vw;
    overflow-y: scroll;
}


/* ########## Header ########## */
/* ########## Logo ########## */
.logo img {
    height: auto;
    width: 18vw;
    margin: 3vw 65vw 0vw 0vw;
    position: fixed;
    display: block;
}

.logo-default {
    opacity: 1;
}

.logo-hover {
    opacity: 0;
}

.logo-container:hover .logo-hover {
    opacity: 1;
}


/* ########## Menue ########## */

/* Menü versteckt */
.menue nav ul {
    position: fixed;
    left: 2.5vw;
    top: calc(14vw + 2.4vw);
    margin: 0;
    padding: 0;
    width: 9.7vw;

    background-color: black;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.5s ease;
    border-radius: 0.5vw;
}

.menue nav li {
    list-style: none;
    text-decoration: none;
    background-color: black;
    width: 100%;
    left: 0.5vw;
    background-color: #0c0c0c;
    padding: 1vw 1vw 1vw 0.5vw;
    border-bottom: 0.1vw solid white;
}

.menue nav li a {
    color: white;
    text-decoration: none;
    font-family: "Trebuchet MS";
    font-size: 1vw;
    text-align: center;
    padding: 0.8vw;
}

.menue nav li:hover {
    background-color: #252525;
}

.menue nav li:hover a {
    color: red;
}

/* Suchfeld Wrapper */
.suchfeld-wrapper {
    display: inline-block;
    position: fixed;
    top: 13.8vw;
    left: 4vw;
    z-index: 9998;
}

/* Eingabefeld selbst */
.suchfeld {
    width: 3.8vw;
    padding: 0.5vw 1vw;
    font-size: 1vw;
    border-radius: 0.5vw;
    border: 0.15vw solid red;
    background-color: black;
    color: white;
    font-family: "Trebuchet MS";
    outline: none;
    box-shadow: none;
    caret-color: white;
    /* Farbe des Cursors */
    transition: width 0.4s ease;
}

.suchfeld::placeholder {
    color: gray;
    font-style: italic;
}

.suchfeld:focus {
    width: 13vw;
}

#results {
    position: static;
    background-color: #0c0c0c;
    border: 0.15vw solid red;
    border-radius: 0.5vw;
    list-style: none;
    padding: 0.5vw;
    margin-top: 0.5vw;
    width: 12vw;
    z-index: 9999;
    max-height: 20vw;
    overflow-y: auto;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* Internet Explorer */
}

#results::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
}


#results li {
    padding: 0.5vw;
    font-family: "Trebuchet MS";
}

#results li a {
    color: red;
    text-decoration: none;
}

#results li:hover a {
    color: red;
}

.hidden {
    display: none;
}

/* ########## Index ########## */
.hugin img {
    height: auto;
    width: 15vw;
    padding: 8vw 1vw 2vw 1vw;
}

.munin img {
    height: auto;
    width: 20vw;
    padding-top: 4vw;
}

.einleitung {
    color: white;
    font-family: Trebuchet MS;
    font-size: 1.2vw;
    text-align: justify;
    line-height: 2.2vw;
    hyphens: auto;
    padding-top: 0;
}



/* ########## Lexikon ########## */
/* ### Überschrift ### */
h1 {
    color: white;
    font-family: "Viner Hand ITC";
    text-align: center;
    font-size: 3vw;
    font-weight: normal;
    padding-top: 3.5vw;
}

#mainTitle {
    color: white;
    font-family: "Viner Hand ITC";
    text-align: center;
    font-size: 3vw;
    font-weight: normal;
    padding-top: 0;
}

#mainSubTitle {
    color: white;
    font-family: "Viner Hand ITC";
    text-align: center;
    font-size: 1.8vw;
    font-weight: normal;
    margin: 0 0 3vw 0;
}

/* ### Kachelmenü Startseite ### */
section {
    margin-bottom: 1em;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15vw, 1fr));
    gap: 1vw;
    align-items: start;
    padding: 2vw 3vw 0vw 5vw;
    margin-bottom: 2vw;
}

.category-card {
    text-decoration: none;
    color: white;
    display: block;
    border: 0.15vw solid red;
    border-radius: 0.5vw;
    padding: 2vw 1vw 2vw 1vw;
    position: relative;
    height: 8vw;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    font-family: "Viner Hand ITC";
    transition: box-shadow 0.5s ease;
}

.category-card:hover {
    box-shadow:
        0 0 0.3vw rgba(255, 0, 0, 0.7),
        0 0 0.8vw rgba(255, 0, 0, 0.6),
        0 0 1.6vw rgba(255, 0, 0, 0.5),
        0 0 2.4vw rgba(255, 0, 0, 0.35),
        0 0 4.8vw rgba(255, 0, 0, 0.15);
}

.category-card h3 {
    font-size: 2vw;
    margin: 1vw 0vw 0.5vw 0vw;
}

.category-card p {
    font-size: 1.2vw;
}

.category-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    /* Overlay = „Bild transparenter“ */
    pointer-events: none;
}

.category-card>* {
    position: relative;
    /* damit Text über Overlay liegt */
}



#cat-neu {
    background: url("/images/cat-neu.png") center/cover no-repeat;
}

#cat-lexikon {
    background: url("/images/cat-lexikon.png") center/cover no-repeat;
}

#cat-geschichten {
    background: url("/images/cat-geschichten.png") center/cover no-repeat;
}

#cat-goetter {
    background: url("/images/cat-goetterII.png") center/cover no-repeat;
}

#cat-menschen {
    background: url("/images/cat-menschen.png") center/cover no-repeat;
}

#cat-kleinode {
    background: url("/images/cat-kleinode.png") center/cover no-repeat;
}

#cat-orte {
    background: url("/images/cat-orte.png") center/cover no-repeat;
}

#cat-welten {
    background: url("/images/cat-welten.png") center/cover no-repeat;
}

#cat-riesen {
    background: url("/images/cat-riesen.png") center/cover no-repeat;
}

#cat-zwerge {
    background: url("/images/cat-zwerge.png") center/cover no-repeat;
}




/* Kacheln Welten */
.subcat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15vw, 1fr));
    gap: 1vw;
    align-items: start;
    padding: 2vw 3vw 0vw 5vw;
    margin-bottom: 2vw;
}

.subcat-card {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    color: white;
    min-height: 4vw;
    /* besser als height, wegen <br> */
    border: 0.15vw solid red;
    border-radius: 0.5vw;
    padding: 2vw 1vw;
    position: relative;
    overflow: hidden;
    font-family: "Viner Hand ITC";
    transition: box-shadow 0.5s ease;

    background-color: #000;
    background-image:
        linear-gradient(to right,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 1) 45%,
            rgba(0, 0, 0, 0.6) 55%,
            rgba(0, 0, 0, 0) 100%),
        var(--card-img);
    background-repeat: no-repeat, no-repeat;
    background-position: center, right center;
    background-size: cover, 55% 100%;
}

.subcat-card:hover {
    box-shadow:
        0 0 0.3vw rgba(255, 0, 0, 0.7),
        0 0 0.8vw rgba(255, 0, 0, 0.6),
        0 0 1.6vw rgba(255, 0, 0, 0.5),
        0 0 2.4vw rgba(255, 0, 0, 0.35),
        0 0 4.8vw rgba(255, 0, 0, 0.15);
}


.subcat-card>* {
    position: relative;
    /* damit Text über Overlay liegt */
}

/*Geschichten*/
#subcat-thor_roeskva_und_thjalfi {
    --card-img: url("/images/thor_roeskva_und_thjalfi.png");
}
#subcat-thor_und_skrymir {
    --card-img: url("/images/thor_und_skrymir.png");
}

/* Götter */
#subcat-balder {
    --card-img: url("/images/balder.png");
}
#subcat-freyja {
    --card-img: url("/images/freyja.png");
}
#subcat-freyr {
    --card-img: url("/images/freyr.png");
}
#subcat-frigg {
    --card-img: url("/images/frigg.png");
}
#subcat-heimdall {
    --card-img: url("/images/heimdall.png");
}
#subcat-idun {
    --card-img: url("/images/idun.png");
}
#subcat-loki {
    --card-img: url("/images/loki.png");
}
#subcat-sif {
    --card-img: url("/images/sif.png");
}
#subcat-sigyn {
    --card-img: url("/images/sigyn.png");
}
#subcat-thor {
    --card-img: url("/images/thor.png");
}
#subcat-tyr {
    --card-img: url("/images/tyr.png");
}
#subcat-wotan {
    --card-img: url("/images/odin.png");
}

/* Kleinode */
#subcat-brisingamen {
    --card-img: url("/images/brisingamen.png");
}
#subcat-draupnir {
    --card-img: url("/images/draupnir.png");
}
#subcat-gungnir {
    --card-img: url("/images/gungnir.png");
}

/* Menschen */
#subcat-ask-und-embla {
    --card-img: url("/images/ask_und_embla.png");
}
#subcat-lif-und-lifthrasir {
    --card-img: url("/images/lif_und_lifthrasir.png");
}
#subcat-roeskva {
    --card-img: url("/images/roeskva.png");
}
#subcat-thjalfi {
    --card-img: url("/images/thjalfi.png");
}

/* Orte */
#subcat-utgard {
    --card-img: url("/images/utgard.png");
}
#subcat-walhalla {
    --card-img: url("/images/walhalla.png");
}

/* Riesen */
#subcat-aegir {
    --card-img: url("/images/aegir.png");
}
#subcat-fenrir {
    --card-img: url("/images/fenrir.png");
}
#subcat-hel {
    --card-img: url("/images/hel.png");
}
#subcat-midgardschlange {
    --card-img: url("/images/midgardschlange.png");
}
#subcat-ran {
    --card-img: url("/images/ran.png");
}
#subcat-skadi {
    --card-img: url("/images/skadi.png");
}
#subcat-surtur {
    --card-img: url("/images/surtur.png");
}
#subcat-ymir {
    --card-img: url("/images/ymir.png");
}

/* Welten */
#subcat-alfheim {
    --card-img: url("/images/alfheim.png");
}
#subcat-asgard {
    --card-img: url("/images/asgard.png");
}
#subcat-helheim {
    --card-img: url("/images/helheim.png");
}
#subcat-joetunheim {
    --card-img: url("/images/joetunheim.png");
}
#subcat-midgard {
    --card-img: url("/images/midgard.png");
}
#subcat-muspellsheim {
    --card-img: url("/images/muspellsheim.png");
}
#subcat-niflheim {
    --card-img: url("/images/niflheim.png");
}
#subcat-svartalfheim {
    --card-img: url("/images/svartalfheim.png");
}
#subcat-wanaheim {
    --card-img: url("/images/wanaheim.png");
}

/* Zwerge */
#subcat-ivaldi {
    --card-img: url("/images/ivaldi.png");
}


.subcat-card h3 {
    font-size: 1.3em;
    margin: 0;
}


/* ### Ausrichtung ### */
.block1 {
    color: white;
    padding-top: 5vw;
}

.block2 {
    color: white;
    padding-top: 5vw;
}

.block3 {
    color: white;
    padding-top: 5vw;
}

.block4 {
    color: white;
    padding-top: 5vw;
}

/* ### ABCDE... ### */
.stichwortbereiche {
    color: white;
    font-family: "Viner Hand ITC";
    text-align: center;
    font-size: 2vw;
    margin-bottom: 2em;
}

/* ### Stichwörter ### */
.stichwörter {
    padding: 0vw 0vw 0vw 0vw;
}

.stichwörter li {
    list-style: none;
    text-align: center;
}

.stichwörter li a {
    color: red;
    font-family: "Trebuchet MS";
    display: inline-block;
    text-align: center;
    list-style: none;
    font-size: 1.2vw;
    line-height: 2.2vw;
}

.stichwörter li a:link {
    color: red;
}

.stichwörter li a:visited {
    color: rgb(170, 110, 110);
}

.referenz {
    font-family: "Trebuchet MS";
    color: white;
    font-size: 1vw;
    line-height: 2.2vw;
    text-decoration: none;/
}

.unterseitentitel h1 {
    margin-top: 10vw;
    /* optisch ähnlich, beeinflusst Grid sauberer */
}

.artikel p, .stories p {
    color: white;
    font-family: "Trebuchet MS";
    text-align: justify;
    font-size: 1.2vw;
    padding: 6vw 3vw 0vw 5vw;
    hyphens: auto;
    line-height: 2.2vw;
}

.artikel img, .stories img {
    float: right;
    margin: 0.5vw 0vw 0vw 1.6vw;
    height: 25vw;
}

.bildquellen {
    color: white;
    font-family: "Trebuchet MS";
    text-align: center;
    font-size: 1.2vw;
    line-height: 2.2vw;
    padding: 14.3vw 3vw 0vw 5vw;
}

footer {
    font-family: "Trebuchet MS";
    color: white;
    text-align: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2.6vw;
    background: black;
    padding-top: 1vw;
    font-size: 1vw;
    line-height: 1.5em;
}


/* ############################## GRID - Mobile ############################## */

@media (max-width: 768px) {
    .wrapper {
        grid-template-columns: 1fr;
        gap: 5vw;
    }

    .logo,
    .menue,
    .einleitung,
    #categories,
    .artefacts,
    .dwarves,
    .giants,
    .gods,
    .locations,
    .men,
    .new,
    .stories,
    .tales,
    .worlds,
    .unterseitentitel,
    .block1,
    .block2,
    .block3,
    .block4,
    .artikel,
    .stories,
    .bildquellen,
    .urls {
        grid-column: 1 / -1;
        grid-row: auto;
    }


    /* ######################## Body - Mobile ######################## */

    .hugin,
    .hugin img,
    .munin,
    .munin img {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .logo img {
        width: 80%;
        margin: 2vw auto;
        position: static;
    }

    /* Nur Standardlogo anzeigen, Hover-Version ausblenden */
    .logo-container {
        position: static;
        width: 80%;
        margin: 2vw auto;
        text-align: center;
    }

    .logo-default {
        display: block;
        position: static;
        width: 100%;
    }

    .logo-hover {
        display: none !important;
        /* <- wichtig, um alles zu überstimmen */
        opacity: 0 !important;
        pointer-events: none !important;
        position: static !important;
    }

    .logo-container:hover .logo-hover {
        opacity: 0 !important;
        /* <- verhindert, dass der Hover sichtbar wird */
    }


    .menue {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 3vw;
        padding: 20vw 0 0 0;
    }

    .menue-top {
        order: 2;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Menü bleibt im Fluss */
    .menue nav ul {
        position: static;
        background-color: black;
        width: 86%;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.5s ease;
        padding: 0;
        margin: 0 auto;
        border-radius: 2vw;
    }

    .menue nav {
        order: 3;
        width: 100%;
        margin: 0;
        display: flex;
        justify-content: center;
    }

    .menue nav li {
        display: flex;
        margin: 0;
        width: 100%;
        border-bottom: 0.15vw solid white;
        justify-content: center;
    }

    .menue nav li a {
        display: block;
        padding: 2vw 3vw;
        font-size: 1.5em;
        text-align: left;
    }

    .menue nav li a:hover {
        background-color: #252525;
        color: red;
    }

    .suchfeld-wrapper {
        order: 1;
        position: static;
        width: 80%;
        text-align: left;
        margin: 0 auto;
        padding-left: 0;
    }

    .suchfeld {
        display: block;
        width: 50%;
        font-size: 4vw;
        margin: 2vw auto 0;
        padding: 2vw;
        border-radius: 2vw;
        border: 0.5vw solid red;
        background: black;
        color: white;
        font-family: "Trebuchet MS";
        transition: width 0.4s ease;
    }

    .suchfeld:focus {
        outline: none;
        width: 80%;
        animation: rot-puls 1.2s infinite ease-in-out;
    }

    @keyframes rot-puls {
        0% {
            box-shadow:
                0 0 0vw rgba(255, 0, 0, 0.0),
                0 0 0vw rgba(255, 0, 0, 0.0);
            border-color: red;
        }

        50% {
            box-shadow:
                0 0 5vw rgba(255, 0, 0, 0.8),
                0 0 10vw rgba(255, 0, 0, 0.5);
        }

        100% {
            box-shadow:
                0 0 0vw rgba(255, 0, 0, 0.0),
                0 0 0vw rgba(255, 0, 0, 0.0);
            border-color: red;
        }
    }

    #results {
        position: static;
        width: 80%;
        margin: 2vw auto 0;
        box-sizing: border-box;
        color: red;
        border: 0.5vw solid red;
        border-radius: 2vw;
        padding: 2vw;
        margin-top: 2vw;
        box-sizing: border-box;
        max-height: 40vw;
        overflow-y: auto;
    }

    #results::-webkit-scrollbar {
        display: none;
        /* Chrome/Safari */
    }

    #results li {
        color: red;
        text-decoration: none;
        padding: 2vw 0 2vw 0;
    }

    #results li a {
        font-size: 4vw;
    }

    #mainTitle {
        color: white;
        font-family: "Viner Hand ITC";
        text-align: center;
        font-size: 6vw;
        font-weight: normal;
        padding-top: 0vw;
        padding-bottom: 3vw;
    }

    #mainSubTitle {
        color: white;
        font-family: "Viner Hand ITC";
        text-align: center;
        font-size: 4vw;
        font-weight: normal;
        margin: 0 0 6vw 0;
    }

    .einleitung {
        font-size: 1.2em;
        padding: 5vw 2vw;
        line-height: 1.5em;
    }

    h1 {
        color: white;
        font-family: "Viner Hand ITC";
        text-align: center;
        font-size: 10vw;
        font-weight: normal;
        padding: 0;
        margin: 0;
    }





    /* Startseite: Kategorien */
    .category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw;
        padding: 3vw 3vw 0 3vw;
    }

    .category-card {
        border-width: 0.5vw;
        border-radius: 2vw;
        padding: 4vw 3vw;
        height: 40vw;
        /* damit das Bild sichtbar ist */
        background-position: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* vertikal */
        align-items: left;
    }

    .category-card h3 {
        font-size: 6vw;
        padding: 0;
        margin: 0;
    }

    .category-card p {
        font-size: 4vw;
        padding: 0;
        margin: 0;
    }


    /* Welten: Subkategorien */
    .subcat-grid {
        grid-template-columns: 1fr;
        /* Welten wirken oft besser 1-spaltig */
        gap: 3vw;
        padding: 3vw 3vw 0 3vw;
    }

    .subcat-card {
        border-width: 0.5vw;
        border-radius: 2vw;
        padding: 5vw 4vw;
        min-height: 24vw;

        /* Bild rechts etwas größer + Verlauf stärker für Lesbarkeit */
        background-size: cover, 65% 100%;
        background-image:
            linear-gradient(to right,
                rgba(0, 0, 0, 1) 0%,
                rgba(0, 0, 0, 1) 55%,
                rgba(0, 0, 0, 0.6) 70%,
                rgba(0, 0, 0, 0) 100%),
            var(--card-img);

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        text-align: left;
    }

    .subcat-card h3 {
        text-align: left;
        margin: 0;
    }




    .stichwortbereiche {
        color: white;
        font-family: "Viner Hand ITC";
        text-align: center;
        font-size: 6vw;
        margin-bottom: 0;
    }

    .stichwörter li a {
        color: red;
        font-family: "Trebuchet MS";
        display: inline-block;
        text-align: center;
        list-style: none;
        font-size: 1em;
        line-height: 1.7em;
    }

    .referenz {
        font-family: "Trebuchet MS";
        color: white;
        font-size: 1em;
        line-height: 2em;
        text-decoration: none;/
    }

    .block1 {
        color: white;
        padding: 0;
    }

    .block2 {
        color: white;
        padding: 0;
    }

    .block3 {
        color: white;
        padding: 0;
    }

    .block4 {
        color: white;
        padding: 0;
    }

    .artikel p, .stories p {
        font-size: 1em;
        padding: 0vw 2vw 5vw 2vw;
        line-height: 1.5em;
    }

    .bildquellen {
        color: white;
        font-family: "Trebuchet MS";
        text-align: center;
        font-size: 1em;
        padding: 5vw 2vw;
        line-height: 1.5em;
    }

    .artikel img, .stories img {
        float: none;
        display: block;
        margin: 0vw auto 5vw auto;
        height: 40vw;
    }

    footer {
        position: static;
        background: black;
        font-size: 1em;
        line-height: 1.5em;
        text-align: center;
    }
}