.lmg-page {
    background: var(--lm-bg);
    overflow: hidden;
}

.lmg-page .lm-wrap {
    width: min(var(--lm-max), calc(100% - 48px));
    margin-inline: auto;
}

/* Hero */

.lmg-hero {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 650px;

    overflow: hidden;

    background-color: #07070a;
}

.lmg-hero::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: var(--hero-image);

    background-size: cover;
    background-position: center top 20%;

    opacity: .9;

    filter: saturate(0.9) brightness(1.08);
}

.lmg-hero::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.42) 42%, rgba(0,0,0,.76) 100%),
        linear-gradient(0deg, var(--lm-bg) 0%, transparent 32%);
}

.lmg-hero-inner {
    position: relative;
    z-index: 2;

    padding-top: 250px;
    padding-bottom: 90px;
}

.lmg-hero-content {
    max-width: 760px;
}

.lmg-hero h1 {
    margin: 0 0 8px;

    font-family: var(--lm-head);
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.lmg-script {
    margin: 0 0 28px;
}

.lmg-hero-text {
    max-width: 660px;

    color: #d2cad8;

    font-size: 17px;
    line-height: 1.7;
}

/* Mood Cards */

.lmg-mood-section {
    position: relative;
    z-index: 5;

    margin-top: -70px;
    padding-bottom: 50px;
}

.lmg-mood-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.lmg-mood-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    min-height: 170px;

    border: 1px solid rgba(154,92,255,.42);
    border-radius: 10px;

    padding: 26px;

    background:
        linear-gradient(
            180deg,
            rgba(154,92,255,.16),
            rgba(154,92,255,.05)
        );

    text-align: center;

    backdrop-filter: blur(8px);

    box-shadow:
        0 0 22px rgba(154,92,255,.18),
        inset 0 0 18px rgba(154,92,255,.08);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.lmg-mood-card:hover {
    transform: translateY(-3px);

    border-color: rgba(154,92,255,.72);

    box-shadow:
        0 0 32px rgba(154,92,255,.28),
        inset 0 0 24px rgba(154,92,255,.12);
}

.lmg-mood-card strong {
    color: var(--lm-accent-2);

    font-size: 14pt;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lmg-mood-card span {
    margin-top: 12px;

    color: var(--lm-muted);

    font-size: 14px;
    line-height: 1.6;
}

/* Bücher */

.lmg-books-section {
    padding-bottom: 90px;
}

/* CTA */

.lmg-cta {
    padding-bottom: 110px;
}

.lmg-cta-inner {
    display: flex;
    justify-content: center;
}

@media (max-width: 980px) {

    .lmg-mood-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {

    .lmg-hero {
        min-height: auto;
    }

    .lmg-hero-inner {
        padding-top: 150px;
        padding-bottom: 56px;
    }

}

/* Bücher Grid */

.lmg-books-section .lmb-book-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));

    column-gap: 22px;
    row-gap: 56px;
}

/* Trennlinie */

.lmg-books-section .lmb-row-separator {
    grid-column: 1 / -1;

    height: 1px;

    margin: 4px 0;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(154,92,255,.08) 10%,
            rgba(154,92,255,.36) 50%,
            rgba(154,92,255,.08) 90%,
            transparent 100%
        );

    pointer-events: none;
}

/* Responsive */

@media (max-width: 1300px) {

    .lmg-books-section .lmb-book-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {

    .lmg-books-section .lmb-book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 16px;
        row-gap: 42px;
    }

}

@media (max-width: 480px) {

    .lmg-books-section .lmb-book-grid {
        grid-template-columns: 1fr;
    }

}

.lm-archive-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;

    margin-top: 48px;
}

.lm-archive-pagination .page-numbers {
    border: 1px solid var(--lm-line);
    border-radius: 999px;

    padding: 8px 14px;

    color: var(--lm-muted);
}

.lm-archive-pagination .page-numbers.current,
.lm-archive-pagination .page-numbers:hover {
    border-color: var(--lm-line-strong);

    color: var(--lm-accent-2);
}