/* =========================================================
   ELDRVARN
   Eigenes Clan-Design
   Version: bereinigt / zusammengeführt
   ========================================================= */


/* =========================================================
   VARIABLEN
   ========================================================= */

:root {

    /* Grundfarben */
    --black: #080706;
    --black-soft: #11100e;

    --iron: #1b1a18;
    --iron-light: #292622;

    /* Rot */
    --red-dark: #5e1512;
    --red: #8e211b;
    --red-light: #b43a2e;

    /* Gold */
    --gold: #b99a5a;
    --gold-light: #d5bd7b;

    /* Holz */
    --wood: #241813;
    --wood-light: #38251b;

    /* Text */
    --paper: #d6c8a9;
    --text: #e5ded0;
    --text-muted: #9f988c;

    /* Rahmen */
    --border: rgba(185, 154, 90, 0.28);
    --border-soft: rgba(185, 154, 90, 0.14);
    --border-white: rgba(255, 255, 255, 0.08);

    /* Layout */
    --max-width: 1250px;
    --content-width: 1180px;

    /* Schrift */
    --font-main: "Crimson Pro", Georgia, "Times New Roman", serif;
    --font-display: "Cinzel", Georgia, serif;
    --font-ui: "Oswald", Arial, Helvetica, sans-serif;

    /* Zusatzakzent (kaltes Eisen/Stahl, für Abwechslung zu Gold) */
    --steel: #6d7a7c;
    --steel-light: #8fa0a1;
    --ember: #c9622b;

    /* Header */
    --header-height: 82px;
}


/* =========================================================
   SIGNATUR-ELEMENT: VEGVISIR-RUNENKOMPASS
   Wird im Hero, als Ladentrenner und im Emblem verwendet.
   Rein CSS, keine externen Bilder nötig.
   ========================================================= */

@property --wayfinder-spin {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}

.hero-wayfinder {
    margin: 0 auto 30px;
}

.wayfinder {
    --size: 100px;
    width: var(--size);
    height: var(--size);
    position: relative;
    display: grid;
    place-items: center;
}

.wayfinder::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--gold);
    border-radius: 50%;
    box-shadow:
        0 0 0 6px rgba(185, 154, 90, .05),
        0 0 34px rgba(185, 154, 90, .16);
}

.wayfinder::after {
    content: "";
    position: absolute;
    inset: 14%;
    border: 1px solid rgba(185, 154, 90, .45);
    border-radius: 50%;
}

.wayfinder-ticks {
    position: absolute;
    inset: 0;
    animation: wayfinder-turn 60s linear infinite;
}

.wayfinder-ticks span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 46%;
    background: var(--gold);
    opacity: .55;
    transform-origin: top center;
}

.wayfinder-ticks span:nth-child(1)  { transform: translate(-50%, 0) rotate(0deg); }
.wayfinder-ticks span:nth-child(2)  { transform: translate(-50%, 0) rotate(45deg); height: 32%; opacity: .3; }
.wayfinder-ticks span:nth-child(3)  { transform: translate(-50%, 0) rotate(90deg); }
.wayfinder-ticks span:nth-child(4)  { transform: translate(-50%, 0) rotate(135deg); height: 32%; opacity: .3; }
.wayfinder-ticks span:nth-child(5)  { transform: translate(-50%, 0) rotate(180deg); }
.wayfinder-ticks span:nth-child(6)  { transform: translate(-50%, 0) rotate(225deg); height: 32%; opacity: .3; }
.wayfinder-ticks span:nth-child(7)  { transform: translate(-50%, 0) rotate(270deg); }
.wayfinder-ticks span:nth-child(8)  { transform: translate(-50%, 0) rotate(315deg); height: 32%; opacity: .3; }

.wayfinder-glyph {
    position: relative;
    z-index: 2;
    color: var(--gold-light);
    font-family: var(--font-display);
    line-height: 1;
}

@keyframes wayfinder-turn {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Trennsymbol zwischen Sections - ersetzt harte Kanten */
.rune-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0 auto;
    width: min(240px, 60%);
    color: var(--gold);
    opacity: .8;
}

.rune-divider::before,
.rune-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border), transparent);
}

.rune-divider span {
    font-family: var(--font-display);
    font-size: 14px;
    transform: rotate(45deg);
    display: inline-block;
    border: 1px solid var(--border);
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
}

.rune-divider span::before {
    content: "ᛝ";
    display: inline-block;
    transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
    .wayfinder-ticks {
        animation: none;
    }
}


/* =========================================================
   RUNENSTEIN-KARTEN
   Verfeinerte Optik für .lore-card: geschnittene Ecken,
   gemeißelte Linie oben, Icon in Steinrahmen statt Freitext.
   ========================================================= */

.lore-card {
    position: relative;
    clip-path: polygon(
        18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px
    );
}

.lore-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: .55;
}

.card-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(185,154,90,.08), transparent 70%);
}


/* =========================================================
   GEMEISSELTE BUTTONS
   ========================================================= */

.button {
    position: relative;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.button-primary {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), inset 0 -2px 6px rgba(0,0,0,.35);
}

.button-primary:hover {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -2px 6px rgba(0,0,0,.3), 0 6px 20px rgba(142,33,27,.35);
}


/* =========================================================
   HERO-EMBER (treibende Funken, dezent)
   ========================================================= */

.hero-embers {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.hero-embers span {
    position: absolute;
    bottom: -10px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--ember);
    box-shadow: 0 0 6px 2px rgba(201, 98, 43, .55);
    opacity: 0;
    animation: ember-rise 9s ease-in infinite;
}

.hero-embers span:nth-child(1) { left: 12%; animation-delay: 0s; }
.hero-embers span:nth-child(2) { left: 28%; animation-delay: 1.8s; }
.hero-embers span:nth-child(3) { left: 47%; animation-delay: 3.4s; }
.hero-embers span:nth-child(4) { left: 63%; animation-delay: 5.1s; }
.hero-embers span:nth-child(5) { left: 78%; animation-delay: 2.6s; }
.hero-embers span:nth-child(6) { left: 90%; animation-delay: 6.7s; }

@keyframes ember-rise {
    0%   { transform: translateY(0) translateX(0); opacity: 0; }
    10%  { opacity: .8; }
    80%  { opacity: .35; }
    100% { transform: translateY(-92vh) translateX(18px); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-embers span {
        animation: none;
        opacity: 0;
    }
}


/* =========================================================
   RESET
   ========================================================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;

    background: var(--black);
    color: var(--text);

    font-family: var(--font-main);
    line-height: 1.7;
}

h1, h2, h3,
.brand-text strong {
    font-family: var(--font-display);
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}


/* =========================================================
   ALLGEMEINE HILFSKLASSEN
   ========================================================= */

.muted {
    color: var(--text-muted);
    opacity: .65;
}

.text-center {
    text-align: center;
}

.container {
    width: min(var(--content-width), calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {

    position: fixed;

    top: 0;
    left: 0;
    right: 0;

    z-index: 1000;

    background:
        linear-gradient(
            to bottom,
            rgba(5, 4, 3, .98),
            rgba(5, 4, 3, .90)
        );

    border-bottom: 1px solid var(--border);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.header-inner {

    width: min(
        calc(100% - 40px),
        var(--max-width)
    );

    min-height: var(--header-height);

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


/* =========================================================
   BRAND
   ========================================================= */

.brand {

    display: flex;
    align-items: center;

    gap: 13px;

    min-width: 210px;
}

.brand-symbol {

    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border: 1px solid var(--gold);

    color: var(--gold-light);

    font-size: 25px;

    transform: rotate(45deg);

    box-shadow:
        0 0 20px rgba(185, 154, 90, .12);
}

.brand-symbol::first-letter {
    transform: rotate(-45deg);
}

.brand-text {

    display: flex;
    flex-direction: column;
}

.brand-text strong {

    color: #eee7d8;

    font-size: 21px;

    letter-spacing: 4px;
}

.brand-text small {

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 9px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


/* =========================================================
   HAUPTNAVIGATION
   ========================================================= */


/* =========================================================
   ZENTRALE NAVIGATION
   ========================================================= */

.navigation-admin-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
}

.main-navigation {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    font-family: var(--font-ui);
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.main-navigation a {
    color: #c7c0b4;
    text-decoration: none;
    transition: color .25s ease, opacity .25s ease;
}

.main-navigation a:hover,
.main-navigation .nav-link-active {
    color: var(--gold-light);
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: #c7c0b4;
    cursor: pointer;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: color .25s ease;
}

.nav-dropdown-toggle:hover,
.nav-dropdown.is-open .nav-dropdown-toggle {
    color: var(--gold-light);
}

.nav-item-icon {
    display: inline-flex;
    margin-right: 6px;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
}

.nav-dropdown-arrow {
    font-size: 10px;
    opacity: .75;
    transition: transform .2s ease;
}

.nav-dropdown.is-open .nav-dropdown-arrow {
    transform: rotate(180deg);
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    transform: translate(-50%, -8px);
    min-width: 210px;
    padding: 8px;
    border: 1px solid rgba(185, 148, 88, .25);
    background: rgba(18, 15, 12, .98);
    box-shadow: 0 18px 45px rgba(0,0,0,.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 200;
}

.nav-dropdown.is-open .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.nav-dropdown-item {
    display: block;
    padding: 11px 13px;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: .5px;
    border: 1px solid transparent;
}

.nav-dropdown-item:hover,
.nav-dropdown-item.nav-link-active {
    background: rgba(185,148,88,.08);
    border-color: rgba(185,148,88,.16);
}

.header-user {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: var(--font-ui);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    white-space: nowrap;
}

.header-user a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color .25s ease;
}

.header-user a:hover {
    color: var(--gold-light);
}

.header-user .header-logout {
    padding: 9px 15px;
    border: 1px solid var(--border);
    color: var(--gold-light);
}

.header-user .header-logout:hover {
    background: var(--red-dark);
    border-color: var(--red);
}

.navigation-admin-list {
    display: grid;
    gap: 10px;
}

.navigation-admin-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 18px;
    border: 1px solid rgba(190,145,67,.18);
    background: rgba(255,255,255,.025);
}

.navigation-admin-info {
    min-width: 0;
}

.navigation-admin-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    color: #eee4d3;
}

.navigation-admin-title strong {
    font-size: 16px;
}

.navigation-admin-info p {
    margin: 7px 0 0;
    color: rgba(238,229,215,.48);
    font-size: 12px;
}

.navigation-admin-icon {
    color: var(--gold-light);
}

.navigation-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    border: 1px solid rgba(185,148,88,.25);
    color: var(--gold-light);
    font-size: 9px;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.navigation-badge-muted {
    color: rgba(238,229,215,.45);
}

.navigation-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
    color: #c7c0b4;
}

@media (max-width: 1050px) {
    .site-header .header-inner {
        flex-wrap: wrap;
        gap: 16px;
    }

    .main-navigation {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .header-user {
        margin-left: auto;
    }
}

@media (max-width: 700px) {
    .main-navigation {
        gap: 16px;
        font-size: 10px;
    }

    .header-user {
        gap: 8px;
        font-size: 9px;
    }

    .navigation-admin-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .navigation-admin-actions {
        width: 100%;
        flex-wrap: wrap;
    }
}

.main-navigation {

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 26px;

    font-family: var(--font-ui);

    font-size: 12px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.main-navigation a {

    color: #c7c0b4;

    transition:
        color .25s ease,
        opacity .25s ease;
}

.main-navigation a:hover {

    color: var(--gold-light);
}


/* =========================================================
   HEADER USER
   ========================================================= */

.header-user {

    display: flex;
    align-items: center;

    gap: 15px;

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 1px;

    text-transform: uppercase;

    white-space: nowrap;
}

.header-user a {

    color: var(--text-muted);

    transition:
        color .25s ease;
}

.header-user a:hover {

    color: var(--gold-light);
}

.header-user a:last-child {

    padding: 9px 15px;

    border: 1px solid var(--border);

    color: var(--gold-light);
}

.header-user a:last-child:hover {

    background: var(--red-dark);

    border-color: var(--red);
}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

.login-button {

    display: inline-block;

    padding: 10px 18px;

    border: 1px solid var(--border);

    color: var(--gold-light);

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.login-button:hover {

    background: var(--red-dark);

    border-color: var(--red);

    transform: translateY(-2px);
}


/* =========================================================
   HAUPTINHALT
   Abstand wegen fixed Header
   ========================================================= */

main {
    position: relative;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {

    min-height: 100vh;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    overflow: hidden;

    background:

        radial-gradient(
            circle at center bottom,
            rgba(142, 33, 27, .28),
            transparent 38%
        ),

        radial-gradient(
            circle at center,
            rgba(80, 65, 40, .09),
            transparent 55%
        ),

        linear-gradient(
            135deg,
            #090807,
            #17110e 50%,
            #080706
        );
}


/* Hintergrundstruktur */

.hero::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .16;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 50px,
            rgba(255,255,255,.025) 51px
        );
}


/* Feuerlicht */

.hero::after {

    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    left: 50%;
    bottom: -400px;

    transform: translateX(-50%);

    background:

        radial-gradient(
            circle,
            rgba(180, 58, 46, .30),
            rgba(94, 21, 18, .10) 40%,
            transparent 70%
        );

    filter: blur(30px);
}

.hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.35),
            transparent 30%,
            rgba(0,0,0,.65)
        );
}

.hero-content {

    position: relative;

    z-index: 2;

    width: min(850px, 90%);

    padding-top: var(--header-height);
}


/* =========================================================
   HERO EMBLEM
   ========================================================= */

.hero-emblem {

    width: 100px;
    height: 100px;

    margin: 0 auto 30px;

    display: grid;
    place-items: center;

    position: relative;

    border: 1px solid var(--gold);

    transform: rotate(45deg);

    box-shadow:
        0 0 0 8px rgba(185,154,90,.04),
        0 0 40px rgba(185,154,90,.12);
}

.hero-emblem::before,
.hero-emblem::after {

    content: "";

    position: absolute;

    width: 18px;
    height: 18px;

    border: 1px solid var(--gold);
}

.hero-emblem::before {

    top: -10px;
    left: -10px;
}

.hero-emblem::after {

    right: -10px;
    bottom: -10px;
}

.hero-emblem span {

    color: var(--gold-light);

    font-size: 48px;

    transform: rotate(-45deg);
}


/* =========================================================
   HERO TEXT
   ========================================================= */

.hero-kicker {

    margin-bottom: 15px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 12px;

    letter-spacing: 5px;
}

.hero h1 {

    color: #eee7d8;

    font-size: clamp(58px, 10vw, 125px);

    line-height: .95;

    letter-spacing: 13px;

    text-shadow:
        0 3px 0 #201b16,
        0 10px 35px rgba(0,0,0,.8);
}

.hero-motto {

    margin-top: 20px;

    color: var(--gold-light);

    font-size: clamp(18px, 2vw, 25px);

    font-style: italic;
}

.hero-introduction {

    max-width: 650px;

    margin: 25px auto 0;

    color: #aaa39a;

    font-size: 16px;
}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.hero-actions {

    margin-top: 40px;

    display: flex;
    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.button {

    display: inline-block;

    padding: 14px 25px;

    border: 1px solid transparent;

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 1.7px;

    text-transform: uppercase;

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.button:hover {

    transform: translateY(-2px);
}

.button-primary {

    background: var(--red-dark);

    border-color: var(--red);

    color: #eee4d5;
}

.button-primary:hover {

    background: var(--red);
}

.button-secondary {

    border-color: var(--border);

    color: var(--gold-light);

    background: transparent;
}

.button-secondary:hover {

    border-color: var(--gold);

    background: rgba(185,154,90,.06);
}


/* =========================================================
   HERO SCROLL
   ========================================================= */

.hero-scroll {

    position: absolute;

    left: 50%;
    bottom: 25px;

    z-index: 3;

    transform: translateX(-50%);

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 8px;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 9px;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.hero-scroll span {

    width: 1px;
    height: 30px;

    background: var(--gold);

    opacity: .7;
}


/* =========================================================
   ALLGEMEINE SECTIONS
   ========================================================= */

.section {

    position: relative;

    padding: 110px 25px;
}

.section-dark {

    background:
        linear-gradient(
            180deg,
            #0c0b09,
            #12100d
        );
}

.section-wood {

    background:
        radial-gradient(
            circle at center,
            rgba(90,50,30,.18),
            transparent 55%
        ),

        linear-gradient(
            135deg,
            #1c120d,
            #291b13,
            #130d09
        );
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.section-heading {

    max-width: 800px;

    margin: 0 auto 65px;

    text-align: center;
}

.section-symbol {

    display: block;

    margin-bottom: 12px;

    color: var(--gold);

    font-size: 25px;
}

.section-heading p,
.eyebrow {

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 4px;

    text-transform: uppercase;
}

.section-heading h2 {

    margin-top: 8px;

    color: #e8dfcf;

    font-size: clamp(35px, 5vw, 55px);

    font-weight: normal;

    line-height: 1.15;
}

.heading-line {

    width: 90px;
    height: 1px;

    margin: 22px auto 0;

    background: var(--gold);
}


/* =========================================================
   CONTENT GRID
   ========================================================= */

.content-grid {

    width: min(1100px, 100%);

    margin: auto;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 25px;
}

.lore-card {

    padding: 40px 30px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.025),
            rgba(0,0,0,.2)
        );

    border: 1px solid var(--border-soft);

    transition:
        transform .25s ease,
        border-color .25s ease;
}

.lore-card:hover {

    transform: translateY(-5px);

    border-color: var(--border);
}

.card-icon {

    display: block;

    margin-bottom: 18px;

    font-size: 32px;
}

.lore-card h3 {

    margin-bottom: 12px;

    color: var(--gold-light);

    font-size: 25px;

    font-weight: normal;
}

.lore-card p {

    color: var(--text-muted);

    font-size: 14px;
}


/* =========================================================
   JARL
   ========================================================= */

.jarl-container {

    width: min(950px, 100%);

    margin: auto;

    display: grid;

    grid-template-columns: 220px 1fr;

    gap: 70px;

    align-items: center;
}

.jarl-emblem {

    width: 190px;
    height: 190px;

    margin: auto;

    display: grid;
    place-items: center;

    border: 1px solid var(--gold);

    transform: rotate(45deg);

    background:
        radial-gradient(
            circle,
            rgba(142,33,27,.25),
            transparent 65%
        );
}

.jarl-emblem span {

    color: var(--gold-light);

    font-size: 80px;

    transform: rotate(-45deg);
}

.jarl-content h2 {

    color: #eee6d7;

    font-size: clamp(45px, 6vw, 70px);

    font-weight: normal;

    line-height: 1;
}

.jarl-title {

    margin-bottom: 25px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.jarl-content > p:last-child {

    max-width: 650px;

    color: #b2aaa0;

    font-size: 16px;
}


/* =========================================================
   CHRONIK
   ========================================================= */

.chronicle-placeholder {

    width: min(900px, 100%);

    margin: auto;

    display: grid;

    grid-template-columns: 150px 1fr;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.chronicle-year {

    padding: 35px 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--gold-light);

    font-family: var(--font-ui);

    font-size: 22px;

    border-right: 1px solid var(--border);
}

.chronicle-content {

    padding: 35px;
}

.chronicle-content h3 {

    margin-bottom: 10px;

    color: #e5dccd;

    font-size: 27px;

    font-weight: normal;
}

.chronicle-content p {

    color: var(--text-muted);

    font-size: 14px;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.empty-state {

    width: min(600px, 100%);

    margin: auto;

    padding: 50px;

    text-align: center;

    border: 1px solid var(--border-soft);
}

.empty-state span {

    display: block;

    margin-bottom: 15px;

    font-size: 40px;
}

.empty-state h3 {

    margin-bottom: 10px;

    color: var(--gold-light);

    font-size: 25px;

    font-weight: normal;
}

.empty-state p {

    color: var(--text-muted);

    font-size: 14px;
}


/* =========================================================
   COUNCIL / RAT
   ========================================================= */

.council-card {

    width: min(500px, 100%);

    margin: auto;

    padding: 45px;

    text-align: center;

    border: 1px solid var(--border);

    background:
        radial-gradient(
            circle at center top,
            rgba(142,33,27,.15),
            transparent 65%
        );
}

.council-rank {

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 4px;
}

.council-card h3 {

    margin-top: 12px;

    color: #eee6d7;

    font-size: 40px;

    font-weight: normal;
}

.council-card p {

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


/* =========================================================
   SIPPE – SEITENHERO
   ========================================================= */

.page-hero {

    min-height: 55vh;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 140px 24px 80px;

    text-align: center;

    overflow: hidden;

    background:

        radial-gradient(
            circle at center bottom,
            rgba(142,33,27,.20),
            transparent 55%
        ),

        linear-gradient(
            rgba(10, 8, 6, .72),
            rgba(10, 8, 6, .92)
        );
}

.page-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    opacity: .12;

    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent 50px,
            rgba(255,255,255,.025) 51px
        );
}

.page-hero .hero-content {

    width: min(900px, 100%);

    padding-top: 0;
}


/* =========================================================
   SIPPE – RANG SEKTION
   ========================================================= */

/*
 * WICHTIG:
 *
 * Diese Klasse gehört zur gesamten Rang-Sektion.
 *
 * Nicht mehr ".member-rank",
 * weil ".member-rank" für den Rangtext
 * innerhalb einer Karte verwendet wird.
 */

.member-rank-section {

    width: min(1200px, 100%);

    margin: 0 auto 80px;
}


/* Rangüberschrift */

.rank-heading {

    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 35px;

    padding-bottom: 20px;

    border-bottom:
        1px solid rgba(255,255,255,.12);
}

.rank-heading .section-symbol {

    flex: 0 0 auto;

    margin-bottom: 0;
}

.rank-heading p {

    margin: 0 0 5px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 3px;

    text-transform: uppercase;

    opacity: .65;
}

.rank-heading h2 {

    margin: 0;

    color: #e8dfcf;

    font-size: clamp(30px, 4vw, 45px);

    font-weight: normal;
}


/* =========================================================
   MITGLIEDER GRID
   ========================================================= */

.members-grid {

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(320px, 1fr)
        );

    gap: 25px;
}


/* =========================================================
   MITGLIEDERKARTE
   ========================================================= */

.member-card {

    display: flex;

    gap: 22px;

    padding: 25px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.20)
        );

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 4px;

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

.member-card:hover {

    transform: translateY(-4px);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(0,0,0,.20)
        );

    border-color:
        rgba(185,154,90,.30);

    box-shadow:
        0 15px 35px rgba(0,0,0,.25);
}


/* =========================================================
   MITGLIEDER AVATAR
   ========================================================= */

.member-avatar {

    width: 90px;
    height: 90px;

    min-width: 90px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 2px solid rgba(185,154,90,.22);

    background:
        radial-gradient(
            circle,
            rgba(142,33,27,.20),
            rgba(0,0,0,.35)
        );

    color: var(--gold-light);

    box-shadow:
        0 8px 25px rgba(0,0,0,.30);
}

.member-avatar img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.member-avatar span {

    color: var(--gold-light);

    font-size: 2rem;

    font-weight: normal;
}


/* =========================================================
   MITGLIEDER INFORMATIONEN
   ========================================================= */

.member-info {

    min-width: 0;

    flex: 1;
}

.member-info h3 {

    margin: 4px 0;

    color: #eee6d7;

    font-size: 25px;

    font-weight: normal;

    line-height: 1.2;
}


/*
 * Rang innerhalb der Mitgliederkarte
 *
 * Dieser Name bleibt ".member-rank",
 * aber die Rang-Sektion darüber heißt jetzt
 * ".member-rank-section".
 */

.member-info .member-rank {

    margin: 0;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 2px;

    text-transform: uppercase;

    opacity: .75;
}

.member-username {

    margin: 0 0 12px;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 12px;

    opacity: .65;
}

.member-biography {

    margin-bottom: 18px;

    color: #b8b0a5;

    font-size: 14px;

    line-height: 1.6;
}

.member-biography.muted {

    color: var(--text-muted);

    font-style: italic;
}

.member-meta {

    margin-bottom: 18px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 1px;

    text-transform: uppercase;

    opacity: .65;
}

.member-card .button {

    display: inline-block;
}


/* =========================================================
   PROFILSEITE
   ========================================================= */

.profile-page {

    width: min(
        var(--content-width),
        calc(100% - 40px)
    );

    margin: 0 auto;

    padding-top: 120px;

    padding-bottom: 60px;
}


/* =========================================================
   PROFILKOPF
   ========================================================= */

.profile-header-card {

    position: relative;

    display: flex;
    align-items: center;

    gap: 35px;

    padding: 45px;

    margin-bottom: 35px;

    border: 1px solid var(--border-white);

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.05),
            rgba(0,0,0,.18)
        );

    box-shadow:
        0 25px 60px rgba(0,0,0,.35);
}


/* =========================================================
   PROFIL AVATAR
   ========================================================= */

.profile-header-card .profile-avatar {

    flex: 0 0 170px;

    width: 170px;
    height: 170px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 3px solid rgba(185,154,90,.28);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(0,0,0,.25)
        );

    box-shadow:
        0 15px 40px rgba(0,0,0,.45);
}

.profile-header-card .profile-avatar img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.profile-header-card .profile-avatar span {

    color: var(--gold-light);

    font-size: 5rem;

    font-weight: 700;
}


/* =========================================================
   PROFIL HEADER CONTENT
   ========================================================= */

.profile-header-content {

    flex: 1;
}

.profile-header-content h1 {

    margin: 5px 0;

    color: #eee6d7;

    font-size: clamp(
        2.5rem,
        5vw,
        4.5rem
    );

    line-height: 1;

    letter-spacing: .04em;

    font-weight: normal;
}

.profile-username {

    margin: 10px 0 0;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 13px;

    letter-spacing: .08em;

    opacity: .65;
}

.profile-header-actions {

    align-self: flex-end;
}


/* =========================================================
   PROFIL INFORMATIONEN
   ========================================================= */

.profile-information-grid {

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    gap: 35px;

    margin-bottom: 35px;
}

.profile-information-card {

    min-height: 320px;

    padding: 38px;

    border: 1px solid var(--border-white);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.04),
            rgba(0,0,0,.18)
        );

    box-shadow:
        0 20px 50px rgba(0,0,0,.25);
}


/* =========================================================
   PROFIL CARD HEADING
   ========================================================= */

.profile-card-heading {

    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 30px;
}

.profile-card-heading .section-symbol {

    flex: 0 0 auto;

    margin-bottom: 0;

    font-size: 2rem;
}

.profile-card-heading p {

    margin: 0 0 5px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: .7rem;

    letter-spacing: .18em;

    opacity: .55;
}

.profile-card-heading h2 {

    margin: 0;

    color: #e8dfcf;

    font-size: 1.8rem;

    font-weight: normal;
}


/* =========================================================
   BIOGRAFIE
   ========================================================= */

.profile-card-content {

    font-size: 1rem;

    line-height: 1.8;
}

.profile-card-content p {

    margin: 0;
}

.profile-card-content .muted {

    opacity: .45;

    font-style: italic;
}


/* =========================================================
   PROFIL INFO LISTE
   ========================================================= */

.profile-info-list {

    display: flex;

    flex-direction: column;

    gap: 0;
}

.profile-info-row {

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 18px 0;

    border-bottom:
        1px solid rgba(255,255,255,.06);
}

.profile-info-row:first-child {

    padding-top: 0;
}

.profile-info-row:last-child {

    padding-bottom: 0;

    border-bottom: 0;
}

.profile-info-icon {

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(185,154,90,.06);

    color: var(--gold-light);

    font-size: 1.15rem;
}

.profile-info-row div {

    display: flex;

    flex-direction: column;

    gap: 3px;
}

.profile-info-row small {

    color: var(--gold);

    font-size: .68rem;

    letter-spacing: .14em;

    opacity: .5;

    text-transform: uppercase;
}

.profile-info-row strong {

    color: #ddd5c5;

    font-size: 1rem;

    font-weight: 600;
}


/* =========================================================
   MEIN WEG
   ========================================================= */

.profile-journey {

    padding: 40px;

    margin-bottom: 35px;

    border: 1px solid var(--border-white);

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.04),
            rgba(0,0,0,.20)
        );

    box-shadow:
        0 20px 50px rgba(0,0,0,.25);
}

.profile-journey-heading {

    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 35px;
}

.profile-journey-heading p {

    margin: 0 0 5px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: .7rem;

    letter-spacing: .18em;

    opacity: .55;
}

.profile-journey-heading h2 {

    margin: 0;

    color: #e8dfcf;

    font-size: 1.8rem;

    font-weight: normal;
}

.profile-journey-content {

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 60px;

    padding: 25px 0;
}

.journey-rank,
.journey-level {

    display: flex;
    align-items: center;

    gap: 18px;
}

.journey-icon {

    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(185,154,90,.06);

    color: var(--gold-light);

    font-size: 1.4rem;
}

.journey-rank div,
.journey-level div {

    display: flex;

    flex-direction: column;

    gap: 4px;
}

.journey-rank small,
.journey-level small {

    color: var(--gold);

    font-size: .68rem;

    letter-spacing: .15em;

    opacity: .5;
}

.journey-rank strong,
.journey-level strong {

    color: #e5dccd;

    font-size: 1.5rem;
}

.journey-divider {

    width: 1px;
    height: 55px;

    background:
        rgba(255,255,255,.15);
}

.profile-journey-description {

    margin-top: 20px;

    padding-top: 25px;

    border-top:
        1px solid rgba(255,255,255,.06);

    text-align: center;

    color: var(--text-muted);

    opacity: .65;
}

.profile-journey-description p {

    margin: 0;
}


/* =========================================================
   PROFIL AKTIONEN
   ========================================================= */

.profile-actions {

    display: flex;

    justify-content: center;
    align-items: center;

    gap: 15px;

    padding: 10px 0 30px;
}


/* =========================================================
   PROFIL BEARBEITEN
   ========================================================= */

.profile-edit-container {

    width: min(
        var(--content-width),
        calc(100% - 40px)
    );

    margin: 0 auto;

    padding-top: 120px;

    padding-bottom: 60px;
}


/* =========================================================
   PROFIL BEARBEITEN – HERO
   ========================================================= */

.profile-edit-hero {

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 32px;

    padding: 20px 0 50px;

    text-align: left;
}

.profile-edit-heading {

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.profile-edit-heading h1 {

    margin: 5px 0 4px;

    color: #eee6d7;

    font-size: clamp(
        2.3rem,
        5vw,
        4rem
    );

    font-weight: normal;
}

.profile-edit-rank {

    margin: 8px 0 0;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   EDIT AVATAR
   ========================================================= */

.profile-edit-avatar,
.avatar-upload-preview {

    width: 150px;
    height: 150px;

    flex: 0 0 150px;

    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 3px solid rgba(185,154,90,.28);

    background:
        rgba(0,0,0,.25);

    box-shadow:
        0 0 0 8px rgba(185,154,90,.025),
        0 15px 35px rgba(0,0,0,.35);
}

.profile-edit-avatar img,
.avatar-upload-preview img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.profile-edit-avatar span,
.avatar-upload-preview span {

    color: var(--gold-light);

    font-size: 64px;

    font-weight: 700;
}


/* =========================================================
   FORM MESSAGES
   ========================================================= */

.form-success,
.form-error {

    margin: 0 0 25px;

    padding: 16px 20px;

    border-radius: 4px;

    line-height: 1.6;
}

.form-success {

    background:
        rgba(70,130,70,.18);

    border:
        1px solid rgba(100,180,100,.35);
}

.form-error {

    background:
        rgba(150,50,50,.18);

    border:
        1px solid rgba(220,100,100,.35);
}

.form-error p {

    margin: 3px 0;
}


/* =========================================================
   EDIT FORM
   ========================================================= */

.profile-edit-form {

    display: flex;
    flex-direction: column;

    gap: 30px;
}

.profile-edit-card {

    padding: 32px;

    border: 1px solid var(--border-white);

    border-radius: 4px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.18)
        );

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);
}

.profile-edit-card .section-heading {

    margin-bottom: 30px;
}


/* =========================================================
   AVATAR UPLOAD
   ========================================================= */

.avatar-upload-area {

    display: flex;
    align-items: center;

    gap: 35px;
}

.avatar-upload-content {

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.avatar-upload-content h3 {

    margin: 0 0 8px;

    color: #e5dccd;

    font-size: 24px;

    font-weight: normal;
}

.avatar-upload-content p {

    margin: 0 0 20px;

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

.avatar-upload-content label {

    display: inline-block;

    margin-bottom: 10px;

    cursor: pointer;
}


/* =========================================================
   EDIT GRID
   ========================================================= */

.profile-edit-grid {

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);

    gap: 30px;
}


/* =========================================================
   FORM GROUPS
   ========================================================= */

.profile-edit-form .form-group {

    display: flex;
    flex-direction: column;

    gap: 8px;

    margin-bottom: 22px;
}

.profile-edit-form .form-group:last-child {

    margin-bottom: 0;
}

.profile-edit-form label {

    color: #ddd5c5;

    font-family: var(--font-ui);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .5px;
}

.profile-edit-form input,
.profile-edit-form textarea {

    width: 100%;

    padding: 13px 15px;

    border:
        1px solid rgba(255,255,255,.14);

    border-radius: 3px;

    background:
        rgba(0,0,0,.25);

    color: var(--text);

    font: inherit;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.profile-edit-form input::placeholder,
.profile-edit-form textarea::placeholder {

    color: #756f66;
}

.profile-edit-form textarea {

    min-height: 220px;

    resize: vertical;

    line-height: 1.7;
}

.profile-edit-form input:focus,
.profile-edit-form textarea:focus {

    outline: none;

    border-color:
        rgba(185,154,90,.55);

    background:
        rgba(0,0,0,.35);
}

.profile-edit-form input:disabled {

    opacity: .55;

    cursor: not-allowed;
}

.profile-edit-form small {

    color: var(--text-muted);

    line-height: 1.5;

    opacity: .65;
}


/* =========================================================
   PROFIL EDIT – INFO
   ========================================================= */

.profile-edit-card .profile-info-list {

    display: flex;

    flex-direction: column;
}


/* =========================================================
   EDIT AKTIONEN
   ========================================================= */

.profile-edit-actions {

    display: flex;

    justify-content: center;
    align-items: center;

    gap: 15px;

    padding: 10px 0 20px;
}


/* =========================================================
   MEIN WEG – EDIT
   ========================================================= */

.profile-way-card {

    max-width: 850px;

    margin: 0 auto;

    padding: 35px;

    text-align: center;

    border: 1px solid var(--border-white);

    border-radius: 4px;

    background:
        rgba(0,0,0,.18);
}

.profile-way-card p {

    margin: 0 0 10px;

    color: var(--text-muted);

    opacity: .65;
}

.profile-way-card strong {

    display: block;

    margin-bottom: 8px;

    color: #e5dccd;

    font-size: 28px;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.profile-way-card span {

    display: block;

    margin-bottom: 20px;

    color: var(--gold);

    opacity: .65;
}

.profile-way-card small {

    display: block;

    max-width: 650px;

    margin: 0 auto;

    color: var(--text-muted);

    line-height: 1.7;

    opacity: .6;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {

    padding: 55px 25px 25px;

    background: #070605;

    border-top: 1px solid var(--border);
}

.footer-inner {

    width: min(1100px, 100%);

    margin: auto;

    display: flex;

    justify-content: space-between;

    gap: 30px;
}

.footer-inner strong {

    color: var(--gold-light);

    letter-spacing: 4px;
}

.footer-inner p {

    margin-top: 5px;

    color: var(--text-muted);

    font-size: 13px;
}

.footer-links {

    display: flex;
    align-items: center;

    gap: 20px;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 11px;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.footer-links a {

    transition:
        color .25s ease;
}

.footer-links a:hover {

    color: var(--gold-light);
}

.footer-bottom {

    width: min(1100px, 100%);

    margin: 40px auto 0;

    padding-top: 20px;

    border-top:
        1px solid rgba(255,255,255,.05);

    color: #625e57;

    text-align: center;

    font-family: var(--font-ui);

    font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 950px) {

    :root {
        --header-height: 70px;
    }

    .main-navigation {
        display: none;
    }

    .header-inner {
        min-height: var(--header-height);
    }

    .content-grid {

        grid-template-columns: 1fr;

        max-width: 600px;
    }

    .jarl-container {

        grid-template-columns: 1fr;

        gap: 50px;

        text-align: center;
    }

    .jarl-content > p:last-child {

        margin-right: auto;
        margin-left: auto;
    }

    .profile-information-grid {

        grid-template-columns: 1fr;
    }

    .profile-information-card {

        min-height: auto;
    }

    .profile-journey-content {

        flex-direction: column;

        gap: 25px;
    }

    .journey-divider {

        width: 80px;
        height: 1px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    .header-inner {

        width: calc(100% - 25px);
    }

    .brand {

        min-width: 0;
    }

    .brand-text small {

        display: none;
    }

    .brand-text strong {

        font-size: 17px;

        letter-spacing: 3px;
    }

    .brand-symbol {

        width: 38px;
        height: 38px;

        font-size: 21px;
    }

    .header-user {

        gap: 8px;

        font-size: 9px;
    }

    .header-user a:last-child {

        padding: 8px 10px;
    }

    .hero h1 {

        font-size: 52px;

        letter-spacing: 7px;
    }

    .hero-introduction {

        font-size: 14px;
    }

    .section {

        padding: 80px 18px;
    }

    .page-hero {

        min-height: 50vh;

        padding:
            120px
            18px
            70px;
    }


    /* Mitglieder */

    .members-grid {

        grid-template-columns: 1fr;
    }

    .member-card {

        flex-direction: column;

        align-items: center;

        text-align: center;
    }

    .member-info {

        width: 100%;
    }

    .rank-heading {

        justify-content: center;

        text-align: center;
    }

    .rank-heading .section-symbol {

        display: none;
    }


    /* Chronik */

    .chronicle-placeholder {

        grid-template-columns: 1fr;
    }

    .chronicle-year {

        border-right: 0;

        border-bottom:
            1px solid var(--border);
    }

    .chronicle-content {

        padding: 25px;
    }


    /* Profil */

    .profile-page {

        width: calc(100% - 25px);

        padding-top: 105px;
    }

    .profile-header-card {

        flex-direction: column;

        padding: 35px 25px;

        text-align: center;
    }

    .profile-header-card .profile-avatar {

        flex-basis: auto;

        width: 140px;
        height: 140px;
    }

    .profile-header-actions {

        align-self: center;
    }

    .profile-actions {

        flex-direction: column;
    }

    .profile-actions .button {

        width: 100%;

        text-align: center;
    }


    /* Profil Bearbeiten */

    .profile-edit-container {

        width: calc(100% - 25px);

        padding-top: 105px;
    }

    .profile-edit-hero {

        flex-direction: column;

        padding-bottom: 35px;

        text-align: center;
    }

    .profile-edit-heading {

        align-items: center;
    }

    .profile-edit-grid {

        grid-template-columns: 1fr;
    }

    .avatar-upload-area {

        flex-direction: column;

        text-align: center;
    }

    .avatar-upload-content {

        align-items: center;
    }

    .profile-edit-card {

        padding: 24px 20px;
    }

    .profile-edit-actions {

        flex-direction: column;
    }

    .profile-edit-actions .button {

        width: 100%;

        text-align: center;
    }


    /* Footer */

    .footer-inner {

        flex-direction: column;

        text-align: center;
    }

    .footer-links {

        justify-content: center;

        flex-wrap: wrap;
    }
	
	.profile-header-avatar {
    width: 140px;
    height: 140px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 50%;
	}

	.profile-header-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
	}

}


/* ---------------------------------------------------------
   KLEINE SMARTPHONES
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .hero h1 {

        font-size: 43px;

        letter-spacing: 5px;
    }

    .hero-emblem {

        width: 80px;
        height: 80px;
    }

    .hero-emblem span {

        font-size: 38px;
    }

    .profile-page,
    .profile-edit-container {

        width: calc(100% - 20px);
    }

    .profile-header-card {

        padding: 30px 18px;
    }

    .profile-information-card {

        padding: 25px 20px;
    }

    .profile-journey {

        padding: 25px 20px;
    }

    .profile-edit-card {

        padding: 20px 16px;
    }

    .profile-way-card {

        padding: 25px 18px;
    }

    .profile-edit-avatar,
    .avatar-upload-preview {

        width: 120px;
        height: 120px;

        flex-basis: 120px;
    }

    .profile-edit-avatar span,
    .avatar-upload-preview span {

        font-size: 48px;
    }

    .member-card {

        padding: 22px 18px;
    }

    .empty-state {

        padding: 35px 20px;
    }

}

```css
/* =========================================================
   ELDRVARN
   AUTHENTICATION – LOGIN & REGISTER
   ========================================================= */

/*
 * Hauptbereich für Login / Registrierung
 */
.auth-section {
    min-height: calc(100vh - 180px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
}


/*
 * Äußerer Container
 */
.auth-container {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}


/*
 * Größere Karte für Registrierung
 */
.auth-card-register {
    max-width: 620px;
}


/*
 * Eigentliche Eldrvarn-Karte
 */
.auth-card {
    position: relative;

    width: 100%;
    max-width: 560px;

    margin: 0 auto;
    padding: 52px 48px 46px;

    background:
        linear-gradient(
            145deg,
            rgba(35, 30, 25, 0.98),
            rgba(20, 18, 16, 0.98)
        );

    border: 1px solid rgba(184, 134, 57, 0.35);

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);

    border-radius: 4px;
}


/*
 * Dekorative obere Linie
 */
.auth-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 12%;
    right: 12%;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(184, 134, 57, 0.85),
            transparent
        );
}


/*
 * Runensymbol
 */
.auth-symbol {
    width: 72px;
    height: 72px;

    margin: 0 auto 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: serif;
    font-size: 34px;

    color: #c99a4a;

    border: 1px solid rgba(184, 134, 57, 0.45);

    background:
        radial-gradient(
            circle,
            rgba(184, 134, 57, 0.10),
            rgba(0, 0, 0, 0.15)
        );

    box-shadow:
        0 0 30px rgba(184, 134, 57, 0.08);

    transform: rotate(45deg);
}


/*
 * Runenzeichen wieder gerade drehen
 */
.auth-symbol::first-letter {
    transform: rotate(-45deg);
}


/*
 * Überschrift
 */
.auth-heading {
    text-align: center;
    margin-bottom: 34px;
}


.auth-heading p {
    margin-bottom: 10px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.28em;

    color: #b98a43;
}


.auth-heading h1 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(30px, 5vw, 42px);

    font-weight: 500;

    line-height: 1.15;

    color: #eee5d5;
}


.auth-heading .heading-line {
    width: 80px;
    height: 1px;

    margin: 22px auto 18px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #b98a43,
            transparent
        );
}


.auth-heading > span {
    display: block;

    color: rgba(238, 229, 213, 0.58);

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


/*
 * Formular
 */
.auth-form {
    width: 100%;
}


.auth-form .form-group {
    margin-bottom: 22px;
}


.auth-form label {
    display: block;

    margin-bottom: 9px;

    color: #d8c7a8;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 0.05em;
}


/*
 * Eingabefelder
 */
.auth-form input {
    display: block;

    width: 100%;
    box-sizing: border-box;

    min-height: 52px;

    padding: 13px 16px;

    color: #eee5d5;

    background:
        rgba(8, 8, 8, 0.72);

    border: 1px solid rgba(184, 134, 57, 0.25);

    border-radius: 3px;

    outline: none;

    font-family: inherit;
    font-size: 15px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.auth-form input:hover {
    border-color: rgba(184, 134, 57, 0.45);
}


.auth-form input:focus {
    border-color: rgba(201, 154, 74, 0.9);

    background:
        rgba(12, 11, 10, 0.95);

    box-shadow:
        0 0 0 3px rgba(184, 134, 57, 0.10),
        0 0 22px rgba(184, 134, 57, 0.06);
}


.auth-form input::placeholder {
    color: rgba(238, 229, 213, 0.28);
}


/*
 * Browser Autofill
 */
.auth-form input:-webkit-autofill,
.auth-form input:-webkit-autofill:hover,
.auth-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: #eee5d5;

    box-shadow:
        0 0 0 1000px #121110 inset;

    transition:
        background-color 9999s ease-in-out 0s;
}


/*
 * Hinweis unter Formularfeldern
 */
.form-hint {
    display: block;

    margin-top: 7px;

    color: rgba(238, 229, 213, 0.42);

    font-size: 12px;
    line-height: 1.5;
}


/*
 * Fehlermeldungen
 */
.form-error {
    margin-bottom: 26px;
    padding: 15px 18px;

    color: #e7c1b5;

    background:
        rgba(115, 43, 32, 0.18);

    border: 1px solid rgba(150, 67, 50, 0.45);

    border-left: 3px solid #9a4c3a;

    border-radius: 3px;

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


.form-error p {
    margin: 0;
}


.form-error p + p {
    margin-top: 7px;
}


/*
 * Erfolgreiche Meldung
 */
.form-success {
    margin-bottom: 26px;
    padding: 15px 18px;

    color: #d7d0b2;

    background:
        rgba(103, 86, 38, 0.16);

    border: 1px solid rgba(184, 134, 57, 0.38);

    border-left: 3px solid #b98a43;

    border-radius: 3px;

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


/*
 * Hauptbutton
 */
.auth-submit {
    width: 100%;

    min-height: 54px;

    margin-top: 8px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    cursor: pointer;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}


.auth-submit span {
    font-family: serif;
    font-size: 18px;
}


/*
 * Trennlinie
 */
.auth-divider {
    display: flex;
    align-items: center;
    gap: 16px;

    margin: 34px 0 28px;
}


.auth-divider span {
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(184, 134, 57, 0.25)
        );
}


.auth-divider span:last-of-type {
    background:
        linear-gradient(
            90deg,
            rgba(184, 134, 57, 0.25),
            transparent
        );
}


.auth-divider small {
    color: rgba(238, 229, 213, 0.35);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.22em;
}


/*
 * Unterer Bereich
 */
.auth-footer {
    text-align: center;
}


.auth-footer p {
    margin: 0 0 16px;

    color: rgba(238, 229, 213, 0.52);

    font-size: 13px;
}


.auth-footer .button {
    width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;
}


/*
 * Login / Register Buttons
 */
.auth-card .button {
    min-height: 50px;

    border-radius: 3px;
}


.auth-card .button-primary {
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.25);
}


.auth-card .button-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.35),
        0 0 22px rgba(184, 134, 57, 0.08);
}


.auth-card .button-secondary {
    border-color: rgba(184, 134, 57, 0.35);
}


.auth-card .button-secondary:hover {
    border-color: rgba(201, 154, 74, 0.75);
}


/*
 * Auth-Seite bekommt etwas mehr Höhe,
 * damit sie auch bei kurzen Inhalten ruhig wirkt.
 */
body:has(.auth-section) {
    min-height: 100vh;

    display: flex;
    flex-direction: column;
}


body:has(.auth-section) main {
    flex: 1;
}


/*
 * Mobile
 */
@media (max-width: 700px) {

    .auth-section {
        min-height: auto;

        padding: 45px 16px 60px;
    }


    .auth-card {
        padding: 38px 24px 34px;
    }


    .auth-card-register {
        padding-left: 22px;
        padding-right: 22px;
    }


    .auth-symbol {
        width: 62px;
        height: 62px;

        margin-bottom: 22px;

        font-size: 29px;
    }


    .auth-heading {
        margin-bottom: 28px;
    }


    .auth-heading h1 {
        font-size: 30px;
    }


    .auth-heading > span {
        font-size: 13px;
    }


    .auth-form .form-group {
        margin-bottom: 19px;
    }


    .auth-form input {
        min-height: 50px;

        padding: 12px 14px;

        font-size: 16px;
    }


    .auth-submit {
        min-height: 52px;
    }

}


/*
 * Sehr kleine Displays
 */
@media (max-width: 400px) {

    .auth-section {
        padding-left: 10px;
        padding-right: 10px;
    }


    .auth-card {
        padding: 32px 18px 28px;
    }


    .auth-heading h1 {
        font-size: 27px;
    }


    .auth-divider {
        margin-top: 27px;
        margin-bottom: 23px;
    }

}


/* =========================================================
   CLAN-RAT / CONTENT VERWALTUNG
   ========================================================= */


/* =========================================================
   ADMIN BEREICH
   ========================================================= */

.admin-block {

    width: min(1100px, 100%);

    margin: 0 auto 45px;

    padding: 40px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.22)
        );

    border: 1px solid var(--border-white);

    box-shadow:
        0 20px 50px rgba(0,0,0,.28);
}


/* Überschrift innerhalb eines Admin-Blocks */

.admin-block .section-heading {

    margin-bottom: 35px;

    text-align: left;
}

.admin-block .section-heading p {

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 3px;

    text-transform: uppercase;

    opacity: .65;
}

.admin-block .section-heading h2 {

    margin-top: 6px;

    color: #e8dfcf;

    font-size: clamp(28px, 4vw, 42px);

    font-weight: normal;
}


/* =========================================================
   ADMIN FORMULAR
   ========================================================= */

.eldrvarn-form {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 22px;
}


/* Formulargruppen */

.eldrvarn-form .form-group {

    display: flex;

    flex-direction: column;

    gap: 8px;

    margin: 0;
}


/* Labels */

.eldrvarn-form label {

    display: flex;

    flex-direction: column;

    gap: 8px;

    color: #ddd5c5;

    font-family: var(--font-ui);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: .6px;
}


/* Inputs / Textareas / Select */

.eldrvarn-form input[type="text"],
.eldrvarn-form input[type="date"],
.eldrvarn-form input[type="datetime-local"],
.eldrvarn-form input:not([type]),
.eldrvarn-form textarea,
.eldrvarn-form select {

    width: 100%;

    padding: 14px 15px;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 3px;

    background:
        rgba(0,0,0,.28);

    color: var(--text);

    font-family: var(--font-main);

    font-size: 15px;

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


/* Textareas */

.eldrvarn-form textarea {

    min-height: 150px;

    resize: vertical;

    line-height: 1.7;
}


/* Select */

.eldrvarn-form select {

    appearance: none;

    cursor: pointer;

    background-color: #11100e;
}


/* Optionen */

.eldrvarn-form select option {

    background: #11100e;

    color: var(--text);
}


/* Placeholder */

.eldrvarn-form input::placeholder,
.eldrvarn-form textarea::placeholder {

    color: #756f66;
}


/* Hover */

.eldrvarn-form input:hover,
.eldrvarn-form textarea:hover,
.eldrvarn-form select:hover {

    border-color:
        rgba(185,154,90,.35);
}


/* Focus */

.eldrvarn-form input:focus,
.eldrvarn-form textarea:focus,
.eldrvarn-form select:focus {

    outline: none;

    border-color:
        rgba(185,154,90,.65);

    background:
        rgba(0,0,0,.38);

    box-shadow:
        0 0 0 3px rgba(185,154,90,.06),
        0 0 20px rgba(185,154,90,.05);
}


/* =========================================================
   CHECKBOX
   ========================================================= */

.eldrvarn-form > label {

    display: flex;

    flex-direction: row;

    align-items: center;

    gap: 10px;

    width: fit-content;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 12px;

    font-weight: normal;

    cursor: pointer;
}

.eldrvarn-form input[type="checkbox"] {

    width: 17px;
    height: 17px;

    margin: 0;

    accent-color: var(--red);

    cursor: pointer;
}


/* =========================================================
   ADMIN AKTIONEN
   ========================================================= */

.member-actions {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 10px;

    flex-wrap: wrap;
}


/* Buttons im Admin */

.member-actions .button {

    padding: 11px 18px;

    font-size: 10px;
}


/* Löschen */

.member-actions form {

    margin: 0;
}

.member-actions form button {

    font-family: var(--font-ui);
}


/* =========================================================
   ADMIN EINTRAGSLISTE
   ========================================================= */

.member-list {

    display: flex;

    flex-direction: column;

    gap: 15px;
}


/*
 * Die bestehende .member-card wird verwendet,
 * bekommt hier aber für den Clan-Rat
 * eine breitere Verwaltungsdarstellung.
 */

.member-list .member-card {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    padding: 25px 28px;

    border-radius: 3px;
}


/* Inhalt */

.member-list .member-info {

    min-width: 0;

    flex: 1;
}


/* Titel */

.member-list .member-info h3 {

    margin: 0 0 8px;

    color: #eee6d7;

    font-size: 24px;

    font-weight: normal;

    line-height: 1.3;
}


/* Beschreibung */

.member-list .member-info p {

    max-width: 750px;

    margin: 0 0 12px;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.6;
}


/* Status / Zusatzinformationen */

.member-list .member-info small {

    display: block;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    opacity: .65;
}


/* =========================================================
   ADMIN STATUS
   ========================================================= */

.admin-status {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.admin-status::before {

    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--gold);

    box-shadow:
        0 0 8px rgba(185,154,90,.45);
}


/* =========================================================
   ADMIN PAGE – FORM MESSAGES
   ========================================================= */

.section > .form-success,
.section > .form-error {

    width: min(1100px, 100%);

    margin: 0 auto 30px;
}


/* =========================================================
   ADMIN PAGE – SECTIONS
   ========================================================= */

.section-dark .admin-block + .admin-block {

    margin-top: 25px;
}


/* =========================================================
   ADMIN – TITELBEREICH
   ========================================================= */

.section-dark > .section-heading {

    margin-bottom: 55px;
}


/* =========================================================
   RESPONSIVE ADMIN
   ========================================================= */

@media (max-width: 800px) {

    .admin-block {

        padding: 30px 24px;
    }

    .member-list .member-card {

        align-items: flex-start;

        flex-direction: column;

        gap: 20px;
    }

    .member-list .member-actions {

        width: 100%;

        justify-content: flex-start;
    }

}


@media (max-width: 600px) {

    .admin-block {

        padding: 25px 18px;
    }

    .admin-block .section-heading {

        margin-bottom: 25px;
    }

    .admin-block .section-heading h2 {

        font-size: 30px;
    }

    .member-list .member-card {

        padding: 22px 18px;
    }

    .member-list .member-info h3 {

        font-size: 21px;
    }

    .member-list .member-info p {

        font-size: 13px;
    }

    .member-actions {

        width: 100%;

        flex-direction: column;

        align-items: stretch;
    }

    .member-actions .button,
    .member-actions form,
    .member-actions form button {

        width: 100%;

        text-align: center;
    }

}


@media (max-width: 400px) {

    .admin-block {

        padding: 22px 15px;
    }

    .eldrvarn-form {

        gap: 18px;
    }

    .eldrvarn-form input,
    .eldrvarn-form textarea,
    .eldrvarn-form select {

        font-size: 16px;
    }

}

/* =========================================================
   CHRONIK – ZEITLINIE
   ========================================================= */

.chronicle-page {
    overflow: hidden;
}


/* =========================================================
   ZEITLINIEN CONTAINER
   ========================================================= */

.chronicle-timeline {

    position: relative;

    width: min(1050px, 100%);

    margin: 0 auto;

    padding: 20px 0 30px;
}


/*
 * Zentrale Linie
 */

.chronicle-timeline::before {

    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: 170px;

    width: 1px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            var(--gold) 8%,
            var(--border) 50%,
            var(--gold) 92%,
            transparent
        );

    opacity: .55;
}


/* =========================================================
   EINZELNER CHRONIK EINTRAG
   ========================================================= */

.chronicle-entry {

    position: relative;

    display: grid;

    grid-template-columns:
        130px
        80px
        minmax(0, 1fr);

    gap: 0;

    margin-bottom: 45px;
}


/*
 * Letzter Eintrag
 */

.chronicle-entry:last-child {

    margin-bottom: 0;
}


/* =========================================================
   DATUM / JAHR
   ========================================================= */

.chronicle-date {

    padding-top: 28px;

    padding-right: 25px;

    text-align: right;
}


.chronicle-date strong {

    display: block;

    color: var(--gold-light);

    font-family: var(--font-ui);

    font-size: 24px;

    font-weight: normal;

    letter-spacing: 1px;
}


.chronicle-date small {

    display: block;

    margin-top: 5px;

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 1px;

    opacity: .7;
}


/* =========================================================
   CHRONIK MARKER
   ========================================================= */

.chronicle-marker {

    position: relative;

    z-index: 3;

    display: flex;

    align-items: flex-start;

    justify-content: center;

    padding-top: 22px;
}


.chronicle-marker::before {

    content: "";

    position: absolute;

    top: 25px;
    left: 50%;

    width: 15px;
    height: 15px;

    transform:
        translateX(-50%)
        rotate(45deg);

    background: var(--black);

    border: 1px solid var(--gold);

    box-shadow:
        0 0 0 5px rgba(185,154,90,.05),
        0 0 18px rgba(185,154,90,.15);
}


.chronicle-marker span {

    position: relative;

    z-index: 2;

    color: var(--gold-light);

    font-size: 9px;

    opacity: .9;
}


/* =========================================================
   CHRONIK KARTE
   ========================================================= */

.chronicle-card {

    position: relative;

    padding: 30px 34px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(0,0,0,.22)
        );

    border: 1px solid var(--border-soft);

    box-shadow:
        0 15px 40px rgba(0,0,0,.20);

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}


.chronicle-card:hover {

    transform: translateX(5px);

    border-color: var(--border);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.05),
            rgba(0,0,0,.24)
        );
}


/*
 * Kleine goldene Linie links
 */

.chronicle-card::before {

    content: "";

    position: absolute;

    top: 18px;
    bottom: 18px;
    left: 0;

    width: 2px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            var(--gold),
            transparent
        );

    opacity: .55;
}


/* =========================================================
   CHRONIK CARD HEADER
   ========================================================= */

.chronicle-card-header {

    margin-bottom: 20px;

    padding-bottom: 17px;

    border-bottom:
        1px solid rgba(255,255,255,.06);
}


.chronicle-kicker {

    display: block;

    margin-bottom: 8px;

    color: var(--gold);

    font-family: var(--font-ui);

    font-size: 9px;

    letter-spacing: 3px;

    text-transform: uppercase;

    opacity: .65;
}


.chronicle-card h2 {

    margin: 0;

    color: #e8dfcf;

    font-size: 30px;

    font-weight: normal;

    line-height: 1.25;
}


/* =========================================================
   CHRONIK INHALT
   ========================================================= */

.chronicle-card-content {

    color: #b8b0a5;

    font-size: 15px;

    line-height: 1.8;
}


.chronicle-card-content p {

    margin: 0;

    white-space: normal;
}


/* =========================================================
   AUTOR
   ========================================================= */

.chronicle-author {

    display: flex;

    align-items: center;

    gap: 7px;

    margin-top: 25px;

    padding-top: 15px;

    border-top:
        1px solid rgba(255,255,255,.05);

    color: var(--text-muted);

    font-family: var(--font-ui);

    font-size: 10px;

    letter-spacing: 1px;

    text-transform: uppercase;

    opacity: .65;
}


.chronicle-author span {

    color: var(--gold);

    font-size: 13px;
}


.chronicle-author strong {

    color: var(--gold-light);

    font-weight: normal;
}


/* =========================================================
   LEERER CHRONIK ZUSTAND
   ========================================================= */

.chronicle-empty {

    width: min(650px, 100%);

    margin: 0 auto;

    padding: 65px 40px;

    text-align: center;

    border: 1px solid var(--border-soft);

    background:
        radial-gradient(
            circle at center,
            rgba(142,33,27,.10),
            transparent 65%
        );
}


.chronicle-empty-symbol {

    width: 75px;
    height: 75px;

    margin: 0 auto 30px;

    display: grid;

    place-items: center;

    border: 1px solid var(--gold);

    color: var(--gold-light);

    font-size: 34px;

    transform: rotate(45deg);

    box-shadow:
        0 0 30px rgba(185,154,90,.08);
}


.chronicle-empty h2 {

    margin-bottom: 12px;

    color: #e8dfcf;

    font-size: 30px;

    font-weight: normal;
}


.chronicle-empty p {

    color: var(--text-muted);

    font-size: 14px;
}


/* =========================================================
   RESPONSIVE – TABLET
   ========================================================= */

@media (max-width: 800px) {

    .chronicle-timeline::before {

        left: 105px;
    }


    .chronicle-entry {

        grid-template-columns:
            75px
            60px
            minmax(0, 1fr);
    }


    .chronicle-date {

        padding-right: 18px;
    }


    .chronicle-date strong {

        font-size: 20px;
    }


    .chronicle-card {

        padding: 25px 27px;
    }


    .chronicle-card h2 {

        font-size: 26px;
    }

}


/* =========================================================
   RESPONSIVE – MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .chronicle-timeline {

        padding-top: 10px;
    }


    /*
     * Linie wandert nach links
     */

    .chronicle-timeline::before {

        left: 24px;
    }


    .chronicle-entry {

        display: grid;

        grid-template-columns:
            50px
            minmax(0, 1fr);

        grid-template-rows: auto auto;

        margin-bottom: 35px;
    }


    /*
     * Marker
     */

    .chronicle-marker {

        grid-column: 1;

        grid-row: 1 / 3;

        padding-top: 25px;
    }


    .chronicle-marker::before {

        top: 27px;
    }


    /*
     * Datum
     */

    .chronicle-date {

        grid-column: 2;

        grid-row: 1;

        padding: 0 0 12px;

        text-align: left;
    }


    .chronicle-date strong {

        display: inline-block;

        margin-right: 8px;

        font-size: 19px;
    }


    .chronicle-date small {

        display: inline-block;

        margin-top: 0;
    }


    /*
     * Karte
     */

    .chronicle-card {

        grid-column: 2;

        grid-row: 2;

        padding: 23px 20px;
    }


    .chronicle-card:hover {

        transform: translateY(-2px);
    }


    .chronicle-card h2 {

        font-size: 24px;
    }


    .chronicle-card-content {

        font-size: 14px;

        line-height: 1.7;
    }


    .chronicle-author {

        flex-wrap: wrap;

        line-height: 1.5;
    }

}


/* =========================================================
   RESPONSIVE – KLEINE SMARTPHONES
   ========================================================= */

@media (max-width: 400px) {

    .chronicle-timeline::before {

        left: 19px;
    }


    .chronicle-entry {

        grid-template-columns:
            40px
            minmax(0, 1fr);
    }


    .chronicle-marker::before {

        width: 13px;
        height: 13px;
    }


    .chronicle-card {

        padding: 20px 17px;
    }


    .chronicle-card h2 {

        font-size: 21px;
    }


    .chronicle-card-content {

        font-size: 13px;
    }


    .chronicle-empty {

        padding: 45px 20px;
    }

}

/*
 * ==========================================================
 * SMILEYS
 * ==========================================================
 */

.eldr-chat-input-wrapper {
    position: relative;
    display: flex;
    flex: 1;
    min-width: 0;
}


.eldr-chat-input-wrapper .eldr-chat-input {
    width: 100%;
    padding-right: 58px;
}


.eldr-chat-smiley-button {
    position: absolute;
    right: 8px;
    bottom: 8px;

    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(185, 148, 88, 0.25);
    background: rgba(185, 148, 88, 0.08);

    color: #d5b477;

    font-size: 1.25rem;

    cursor: pointer;

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}


.eldr-chat-smiley-button:hover {
    background: rgba(185, 148, 88, 0.18);
    border-color: rgba(185, 148, 88, 0.45);
    transform: scale(1.05);
}


/*
 * ==========================================================
 * SMILEY PICKER
 * ==========================================================
 */

.eldr-chat-smiley-picker {
    margin-top: 10px;

    padding: 12px;

    border: 1px solid rgba(185, 148, 88, 0.22);

    background:
        linear-gradient(
            180deg,
            rgba(35, 29, 23, 0.98),
            rgba(18, 14, 11, 0.98)
        );

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.35);

    max-height: 300px;
    overflow-y: auto;
}


.eldr-chat-smiley-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-bottom: 12px;

    padding-bottom: 10px;

    border-bottom: 1px solid rgba(185, 148, 88, 0.12);
}


.eldr-chat-smiley-category {
    border: 1px solid rgba(185, 148, 88, 0.18);

    background: rgba(185, 148, 88, 0.06);

    color: #bda477;

    padding: 6px 10px;

    font-size: 0.78rem;

    cursor: pointer;
}


.eldr-chat-smiley-category:hover,
.eldr-chat-smiley-category.active {
    background: rgba(185, 148, 88, 0.18);
    border-color: rgba(185, 148, 88, 0.40);
    color: #f0e2c5;
}


.eldr-chat-smiley-list {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(58px, 1fr)
        );

    gap: 6px;
}


.eldr-chat-smiley {
    min-height: 58px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 3px;

    border: 1px solid transparent;

    background: rgba(255, 255, 255, 0.025);

    color: #d8c7aa;

    cursor: pointer;

    padding: 5px;
}


.eldr-chat-smiley:hover {
    border-color: rgba(185, 148, 88, 0.35);
    background: rgba(185, 148, 88, 0.10);
}


.eldr-chat-smiley img {
    width: 32px;
    height: 32px;

    object-fit: contain;
}


.eldr-chat-smiley span {
    max-width: 100%;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    color: #756d63;

    font-size: 0.62rem;
}


.eldr-chat-smiley-empty {
    padding: 25px;

    text-align: center;

    color: #756d63;

    font-size: 0.85rem;
}


@media (max-width: 600px) {

    .eldr-chat-smiley-picker {
        max-height: 260px;
    }

    .eldr-chat-smiley-list {
        grid-template-columns:
            repeat(
                5,
                1fr
            );
    }

}

/* ==========================================================
   CHRONIK – SCROLLFENSTER FÜR LANGE TEXTE
   ========================================================== */

.chronicle-content {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;

    padding-right: 15px;

    line-height: 1.8;
    word-wrap: break-word;
    overflow-wrap: anywhere;

    scrollbar-width: thin;
}

/* WebKit Browser – Chrome, Edge, Firefox etc. */

.chronicle-content::-webkit-scrollbar {
    width: 8px;
}

.chronicle-content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 10px;
}

.chronicle-content::-webkit-scrollbar-thumb {
    background: rgba(180, 140, 70, 0.75);
    border-radius: 10px;
}

.chronicle-content::-webkit-scrollbar-thumb:hover {
    background: rgba(210, 170, 90, 0.95);
}

/* ==========================================================
   ELDRVARN FORUM
   ========================================================== */

.ev-forum-page {
    width: min(1400px, calc(100% - 40px));
    margin: 0 auto;
    padding: 50px 0 90px;
}

/* ==========================================================
   HERO
   ========================================================== */

.ev-forum-hero {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 30px;
    padding: 34px 38px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        );
    box-shadow:
        0 20px 60px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}

.ev-forum-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -100px;
    top: -140px;
    border-radius: 50%;
    background: rgba(184,134,11,.10);
    filter: blur(30px);
    pointer-events: none;
}

.ev-forum-hero-symbol {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    border: 1px solid rgba(184,134,11,.35);
    border-radius: 16px;
    background: rgba(184,134,11,.08);
    font-size: 34px;
    box-shadow:
        0 10px 30px rgba(0,0,0,.25),
        inset 0 0 25px rgba(184,134,11,.06);
}

.ev-forum-hero h1 {
    position: relative;
    z-index: 1;
    margin: 4px 0 8px;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.05;
}

.ev-forum-hero p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255,255,255,.62);
    font-size: 15px;
}

/* ==========================================================
   EYEBROW
   ========================================================== */

.ev-forum-eyebrow {
    display: inline-block;
    color: #b8860b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

/* ==========================================================
   NOTICE / TOOLBAR
   ========================================================== */

.ev-forum-notice,
.ev-forum-toolbar {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 42px;
    padding: 20px 24px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}

.ev-forum-notice strong,
.ev-forum-toolbar strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
}

.ev-forum-notice span,
.ev-forum-toolbar span {
    color: rgba(255,255,255,.55);
    font-size: 14px;
}

.ev-forum-notice .ev-btn,
.ev-forum-toolbar .ev-btn {
    margin-left: auto;
    flex-shrink: 0;
}

/* ==========================================================
   BUTTON
   ========================================================== */

.ev-forum-page .ev-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .03em;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.ev-forum-page .ev-btn:hover {
    transform: translateY(-2px);
}

.ev-forum-page .ev-btn-primary {
    color: #fff;
    background: linear-gradient(
        135deg,
        #b8860b,
        #8f6507
    );
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 8px 24px rgba(184,134,11,.18);
}

.ev-forum-page .ev-btn-primary:hover {
    box-shadow: 0 12px 30px rgba(184,134,11,.28);
}

/* ==========================================================
   SECTIONS
   ========================================================== */

.ev-forum-section {
    margin-top: 42px;
}

.ev-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 18px;
}

.ev-section-heading h2 {
    margin: 5px 0 0;
    font-size: 25px;
}

/* ==========================================================
   CATEGORIES
   ========================================================== */

.ev-forum-categories {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ev-forum-category {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) 150px;
    align-items: center;
    gap: 20px;
    padding: 20px 22px;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 14px;
    background: rgba(255,255,255,.022);
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.ev-forum-category:hover {
    transform: translateY(-2px);
    border-color: rgba(184,134,11,.35);
    background: rgba(184,134,11,.045);
    box-shadow: 0 12px 35px rgba(0,0,0,.18);
}

.ev-forum-category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 14px;
    border: 1px solid rgba(184,134,11,.22);
    background: rgba(184,134,11,.07);
    font-size: 26px;
}

.ev-forum-category-content {
    min-width: 0;
}

.ev-forum-category-content h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 18px;
}

.ev-forum-category-content p {
    margin: 0;
    color: rgba(255,255,255,.52);
    font-size: 13px;
    line-height: 1.5;
}

.ev-forum-category-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 2px;
    text-align: right;
}

.ev-forum-category-stats strong {
    color: #d2aa4c;
    font-size: 17px;
}

.ev-forum-category-stats span {
    color: rgba(255,255,255,.38);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* ==========================================================
   THREADS
   ========================================================== */

.ev-forum-threads {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ev-forum-thread {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 220px 90px;
    align-items: center;
    gap: 18px;
    padding: 17px 20px;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.ev-forum-thread:hover {
    transform: translateX(3px);
    border-color: rgba(184,134,11,.30);
    background: rgba(184,134,11,.035);
}

.ev-forum-thread-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(255,255,255,.035);
    font-size: 18px;
}

.ev-forum-thread-content {
    min-width: 0;
}

.ev-forum-thread-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.ev-forum-thread-title h3 {
    width: 100%;
    margin: 0;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ev-forum-thread-content > p {
    margin: 5px 0 0;
    color: #b8860b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ev-forum-tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 5px;
    color: #d8b65d;
    background: rgba(184,134,11,.10);
    border: 1px solid rgba(184,134,11,.18);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ev-forum-tag-danger {
    color: #d77979;
    background: rgba(170,50,50,.09);
    border-color: rgba(170,50,50,.18);
}

/* ==========================================================
   THREAD AUTHOR
   ========================================================== */

.ev-forum-thread-author {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ev-forum-thread-author img,
.ev-avatar-fallback {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
}

.ev-forum-thread-author img {
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.10);
}

.ev-avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(184,134,11,.12);
    border: 1px solid rgba(184,134,11,.25);
    color: #d2aa4c;
    font-size: 14px;
    font-weight: 800;
}

.ev-forum-thread-author > div:last-child {
    min-width: 0;
}

.ev-forum-thread-author strong {
    display: block;
    color: #eee;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ev-forum-thread-author span {
    display: block;
    margin-top: 2px;
    color: rgba(255,255,255,.38);
    font-size: 10px;
}

/* ==========================================================
   VIEWS
   ========================================================== */

.ev-forum-thread-views {
    text-align: right;
}

.ev-forum-thread-views strong {
    display: block;
    color: #d2aa4c;
    font-size: 14px;
}

.ev-forum-thread-views span {
    color: rgba(255,255,255,.35);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* ==========================================================
   EMPTY
   ========================================================== */

.ev-forum-empty {
    padding: 35px 25px;
    text-align: center;
    color: rgba(255,255,255,.45);
    border: 1px dashed rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.015);
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 900px) {

    .ev-forum-page {
        width: min(100% - 24px, 1400px);
        padding-top: 25px;
    }

    .ev-forum-hero {
        padding: 25px;
    }

    .ev-forum-category {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .ev-forum-category-icon {
        width: 52px;
        height: 52px;
    }

    .ev-forum-category-stats {
        grid-column: 2;
        text-align: left;
        justify-content: start;
        display: flex;
        gap: 7px;
        align-items: baseline;
    }

    .ev-forum-category-stats strong {
        margin-left: 10px;
    }

    .ev-forum-category-stats strong:first-child {
        margin-left: 0;
    }

    .ev-forum-thread {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .ev-forum-thread-author {
        grid-column: 2;
    }

    .ev-forum-thread-views {
        display: none;
    }
}

@media (max-width: 600px) {

    .ev-forum-page {
        width: calc(100% - 16px);
        padding: 16px 0 50px;
    }

    .ev-forum-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
        gap: 16px;
    }

    .ev-forum-hero-symbol {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        font-size: 26px;
    }

    .ev-forum-hero h1 {
        font-size: 29px;
    }

    .ev-forum-notice,
    .ev-forum-toolbar {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .ev-forum-notice .ev-btn,
    .ev-forum-toolbar .ev-btn {
        width: 100%;
        margin-left: 0;
    }

    .ev-forum-category {
        padding: 15px;
        gap: 13px;
    }

    .ev-forum-category-content h3 {
        font-size: 16px;
    }

    .ev-forum-category-content p {
        font-size: 12px;
    }

    .ev-forum-thread {
        padding: 14px;
        gap: 12px;
    }

    .ev-forum-thread-title h3 {
        font-size: 14px;
    }
	
/* =========================================================
   Besnodere Schrifart
   ========================================================= */
	
	.besondere-zeit {
		font-family: 'Playfair Display', serif;
		font-size: 24px;       /* Schriftgröße */
		font-weight: bold;     /* Fettdruck */
		color: #2c3e50;        /* Textfarbe */
		letter-spacing: 1px;   /* Zeichenabstand */
	}
	
	
}

/*
 * ==================================================
 * NACHRICHTEN
 * ==================================================
 */

.nav-message-link {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-left: 0;

    border: 1px solid
        rgba(190,145,67,.22);

    border-radius: 10px;

    background:
        rgba(255,255,255,.025);

    color: #dfd1ba;

    text-decoration: none;

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

.nav-message-link:hover {
    color: #f0dfc0;

    border-color:
        rgba(190,145,67,.55);

    background:
        rgba(190,145,67,.08);

    transform: translateY(-1px);

    box-shadow:
        0 6px 18px rgba(0,0,0,.2);
}

.nav-message-icon {
    display: block;

    font-size: 18px;
    line-height: 1;
}

.nav-message-badge {
    position: absolute;

    top: -7px;
    right: -7px;

    min-width: 19px;
    height: 19px;

    padding: 0 5px;

    box-sizing: border-box;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 2px solid #171513;

    border-radius: 999px;

    background: #a83f35;

    color: #fff4ed;

    font-size: 10px;
    font-weight: 900;

    line-height: 1;

    box-shadow:
        0 3px 10px rgba(0,0,0,.35);
}

.nav-message-link.has-messages
.nav-message-icon {
    animation:
        eldrvarnMessageIcon
        2.8s ease-in-out infinite;
}

@keyframes eldrvarnMessageIcon {
    0%,
    75%,
    100% {
        transform: scale(1);
    }

    80% {
        transform: scale(1.12);
    }

    85% {
        transform: scale(.94);
    }

    90% {
        transform: scale(1.08);
    }

    95% {
        transform: scale(1);
    }
}

/* ==========================================================
   RAT
   ========================================================== */

.council-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;

    width: 100%;
    max-width: 900px;

    margin: 0 auto;
}

.council-card {
    box-sizing: border-box;

    padding: 32px 24px;

    text-align: center;

    border: 1px solid rgba(190, 145, 67, .22);
    border-radius: 14px;

    background: rgba(255, 255, 255, .025);

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

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

    border-color: rgba(190, 145, 67, .45);

    background: rgba(190, 145, 67, .06);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .25);
}

.council-rank {
    margin-bottom: 10px;

    color: #e1c28a;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .18em;
}

.council-card h3 {
    margin: 0 0 8px;

    color: #eadbc4;

    font-size: 26px;
}

.council-card p {
    margin: 0;

    color: rgba(223, 209, 186, .72);

    font-size: 14px;
}


/* ==========================================================
   HANDY
   ========================================================== */

@media (max-width: 700px) {

    .council-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .council-card {
        padding: 26px 20px;
    }

}

/* =========================================================
   ENDE ELDRVARN CSS
   ========================================================= */