@charset "utf-8";
/* CSS Document */

main {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(clamp(10rem, 18vw, 15rem), 1fr));
    gap: 1rem;
    justify-items: center;
    align-items: center;
}

main h1 {
    grid-column: 1 / -1;
    justify-self: left;
    flex: 0 0 100%;
}

main > form {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-items: flex-end;
    gap: 0.6rem;
    min-width: 90%;
    padding: var(--box-padding);
    border-radius: var(--box-radius);
    border: var(--box-border);
    box-shadow: var(--gold-shadow);
    font-size: 0.8rem;
    color: var(--gold-light);
}

main > form > fieldset {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    min-width: 10rem;
    flex: 1 1 auto;
    border: none;
}

main > form > fieldset:last-of-type {
    flex-direction: row;
}

main > a,
main > a > img {
    width: 100%;
}


main dl,
main dl * {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}



main dl {
    grid-column: 2 / -1;
    display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: clamp(1rem, 2.5vw, 1.8rem);
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@media (max-aspect-ratio: 2/3) {
    
    main div {
        grid-column: 1 / -1;
    }
    main dl {
        grid-column: 1 / -1;
    }
}

main div {
    display: grid;
    gap: 1rem;
    border-radius: var(--box-radius);
    border: var(--box-border);
    box-shadow: var(--gold-shadow);
}

main dl div {
    padding: var(--box-padding);
}

div[title="Allgemeine Deutung"],
div[title="Heilstein"],
div[title="Pflanzenessenz"],
div[title="Spirituell-psychologische Bedeutung"],
div[title="Meditation"],
div[title="Ritual"],
div[title="Alltagsimpuls"] {
    grid-row: span 2;
}

main dt {
    font-family: "Germania One", serif;
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 0.5rem;
}

main dd {
    margin: 0;
    font-size: clamp(0.9rem, 2vw, 1.2rem);
    line-height: 1.3;
}

main > div {
    background: none;
    align-self: start;
    justify-self: center;
    position: relative;
}

main div img {
    display: block;
    width: 100%;
    max-width: clamp(16rem, 40vw, 26rem);
    transition: opacity 0.5s ease-in-out;
}


main div video,
main div img:nth-of-type(2) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease-in-out;
}

main div video {
    object-fit: cover;
    transform: scale(0.9);
    transform-origin: center;
}

.karte-detail__media.is-animated .karte-detail__video,
.karte-detail__media.is-animated .karte-detail__frame {
    opacity: 1;
}

.karte-detail__media.is-animated .karte-detail__bild {
    opacity: 0;
}

main > div:last-of-type {
    grid-column: 1 / -1;
    justify-self: center;
    margin-top: 1rem;
}
