/* =========================================================
   BAVARIAN KINGS
   Hero-Bereich
   ========================================================= */


/* ---------------------------------------------------------
   Hero-Grundbereich
   --------------------------------------------------------- */

.site-hero {
    position: relative;

    width: 100%;
    height: 540px;

    overflow: visible;

    background-color: var(--color-parchment);
    background-image:
        url("/assets/images/default/hero/hero-background-01.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* ---------------------------------------------------------
   Doppelte Trennlinie Hero / Menü
   --------------------------------------------------------- */

.site-hero::after {
    content: "";

    position: absolute;
    z-index: 1000;

    right: 0;
    bottom: -5px;
    left: 0;

    height: 10px;

    background-image:
        url("/assets/images/default/frames/frame-line-double-01-h.png");
    background-repeat: repeat-x;
    background-position: center;
    background-size: auto 10px;

    pointer-events: none;
}


/* ---------------------------------------------------------
   Hero-Wimpel
   --------------------------------------------------------- */

.site-hero__pennant {
    position: absolute;
    z-index: 1;

    top: -18px;

    display: block;

    width: auto;
    height: 310px;

    max-width: none;

    pointer-events: none;
}

.site-hero__pennant--left {
    left: calc(50% - 385px);
}

.site-hero__pennant--right {
    right: calc(50% - 385px);

    transform: scaleX(-1);
}


/* ---------------------------------------------------------
   Beschriftungen der beiden Hero-Banner
   --------------------------------------------------------- */

.site-hero__banner-text {
    position: absolute;
    z-index: 2;

    top: 47px;

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

    width: 160px;

    font-family: "Times New Roman", Times, serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.72;

    letter-spacing: 0.015em;

    text-align: center;
    text-transform: uppercase;

    pointer-events: none;
    user-select: none;
}

.site-hero__banner-text--left {
    left: calc(50% - 288px);

    transform: translateX(-50%);
}

.site-hero__banner-text--right {
    left: calc(50% + 288px);

    transform: translateX(-50%);
}

.site-hero__banner-line {
    position: relative;

    display: block;

    isolation: isolate;

    white-space: nowrap;

    color: #e6ad35;

    transform: scaleX(0.88);
    transform-origin: center center;
}


/* ---------------------------------------------------------
   Banner-Schrift – Tiefenebene
   --------------------------------------------------------- */

.site-hero__banner-line::before {
    content: attr(data-text);

    position: absolute;
    z-index: 0;

    top: 0;
    left: 0;

    width: 100%;

    color: #70430a;

    opacity: 0.65;

    transform: translate(0.7px, 1px);

    text-shadow:
        0 1px 1px rgb(0 0 0 / 55%),
        0 2px 3px rgb(0 0 0 / 24%);

    pointer-events: none;
}


/* ---------------------------------------------------------
   Banner-Schrift – sichtbare Goldfläche
   --------------------------------------------------------- */

.site-hero__banner-face {
    position: relative;
    z-index: 1;

    display: inline-block;

    color: #e6ad35;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .site-hero__banner-face {
        background-image:
            repeating-linear-gradient(
                340deg,

                #fff0a6 0px,
                #ffda68 10px,

                #efa92f 20px,
                #c87812 30px,

                #e99b20 40px,
                #f7bd3d 50px,

                #ffe078 60px,
                #fff0a3 70px
            );

        background-clip: text;
        -webkit-background-clip: text;

        color: #e6ad35;

        -webkit-text-fill-color: transparent;

        -webkit-text-stroke: 0;

        text-shadow: none;
    }
}


/* ---------------------------------------------------------
   Zentraler Hero-Textbereich
   --------------------------------------------------------- */

.site-hero__message {
    position: absolute;
    z-index: 20;

    left: 50%;
    bottom: 14px;

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

    width: min(820px, 62vw);

    padding: 46px 40px 16px;

    text-align: center;

    transform: translateX(-50%);

    pointer-events: none;
}


/* ---------------------------------------------------------
   Weiche Abdunklung hinter dem Hero-Text
   --------------------------------------------------------- */

.site-hero__message::before {
    content: "";

    position: absolute;
    z-index: 0;

    top: 50%;
    left: 50%;

    width: 135vw;
    height: 300px;

    max-width: none;

    transform: translate(-50%, -50%);

    background:
        radial-gradient(
            ellipse at center,
            rgb(0 0 0 / 86%) 0%,
            rgb(0 0 0 / 82%) 18%,
            rgb(0 0 0 / 72%) 31%,
            rgb(0 0 0 / 56%) 43%,
            rgb(0 0 0 / 37%) 54%,
            rgb(0 0 0 / 20%) 63%,
            rgb(0 0 0 / 8%) 70%,
            rgb(0 0 0 / 2%) 75%,
            rgb(0 0 0 / 0%) 80%
        );

    filter: blur(8px);

    pointer-events: none;
}

.site-hero__headline,
.site-hero__divider,
.site-hero__tagline {
    position: relative;
    z-index: 1;
}


/* ---------------------------------------------------------
   Hero-Hauptschrift
   --------------------------------------------------------- */

.site-hero__headline {
    display: flex;
    flex-direction: column;
    align-items: center;

    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    line-height: 1.08;

    text-transform: uppercase;
}

.site-hero__headline-line {
    position: relative;

    display: inline-block;

    isolation: isolate;

    color: #e6ad35;
}

.site-hero__headline-line--1 {
    font-size: 23px;

    letter-spacing: 0.07em;
}

.site-hero__headline-line--2 {
    margin-top: 2px;

    font-size: 30px;

    letter-spacing: 0.035em;
}

.site-hero__headline-line--3 {
    margin-top: 1px;

    font-size: 29px;

    letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   Hero-Hauptschrift – Tiefenebene
   --------------------------------------------------------- */

.site-hero__headline-line::before {
    content: attr(data-text);

    position: absolute;
    z-index: 0;

    top: 0;
    left: 0;

    width: 100%;

    color: #6f4309;

    opacity: 0.72;

    transform: translate(1px, 1.5px);

    text-shadow:
        0 2px 2px rgb(0 0 0 / 58%),
        0 3px 5px rgb(0 0 0 / 28%);

    pointer-events: none;
}


/* ---------------------------------------------------------
   Hero-Hauptschrift – sichtbare Goldfläche
   --------------------------------------------------------- */

.site-hero__headline-face {
    position: relative;
    z-index: 1;

    display: inline-block;

    color: #e6ad35;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .site-hero__headline-face {
        background-image:
            repeating-linear-gradient(
                340deg,

                #fff0a6 0px,
                #ffda68 12px,

                #efa92f 24px,
                #c87812 36px,

                #e99b20 47px,
                #f7bd3d 58px,

                #ffe078 70px,
                #fff0a3 82px,

                #eaa12a 94px,
                #be6d10 105px,

                #e8951b 116px,
                #f6bd3e 127px,

                #ffdc67 139px,
                #fff0a6 151px
            );

        background-clip: text;
        -webkit-background-clip: text;

        color: #e6ad35;

        -webkit-text-fill-color: transparent;

        -webkit-text-stroke: 0;

        text-shadow: none;
    }
}


/* ---------------------------------------------------------
   Eingemeißelte Steininschrift links
   --------------------------------------------------------- */

.site-hero__stone-inscription {
    position: absolute;
    z-index: 1002;

    left: 82px;
    bottom: 104px;

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

    width: 180px;

    color: rgb(67 48 32 / 88%);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.28;

    letter-spacing: 0.025em;

    text-align: center;
    text-transform: uppercase;

    transform:
        rotate(3deg);

    transform-origin: center center;

    text-shadow:
        0 -1px 1px rgb(39 24 14 / 42%),
        0 1px 0 rgb(255 235 195 / 52%);

    pointer-events: none;
    user-select: none;
}

.site-hero__stone-inscription span {
    display: block;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   Divider und Unterzeile
   --------------------------------------------------------- */

.site-hero__divider {
    display: block;

    width: auto;
    height: 28px;

    margin: 10px auto 6px;

    object-fit: contain;
}

.site-hero__tagline {
    color: #eee1c2;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-weight: 400;

    line-height: 1.2;

    letter-spacing: 0.22em;

    text-transform: uppercase;

    text-shadow:
        0 1px 2px rgb(0 0 0 / 95%),
        0 0 5px rgb(0 0 0 / 75%);
}


/* ---------------------------------------------------------
   Zentrales Wappen
   --------------------------------------------------------- */

.site-hero__coat-of-arms {
    position: absolute;
    z-index: 1002;

    top: -65px;
    left: 50%;

    display: block;

    width: auto;
    height: 400px;

    max-width: none;

    pointer-events: none;

    transform: translateX(-50%);
}


/* ---------------------------------------------------------
   Seitliche Hero-Dekorationen
   --------------------------------------------------------- */

.site-hero__decoration {
    position: absolute;
    z-index: 1001;

    display: block;

    width: auto;

    pointer-events: none;
}

.site-hero__decoration--left {
    bottom: 0;
    left: -20px;

    height: 400px;
}

.site-hero__decoration--right {
    right: -20px;
    bottom: -15px;

    height: 400px;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1100px) {
    .site-hero__pennant {
        top: -16px;

        height: 275px;
    }

    .site-hero__pennant--left {
        left: calc(50% - 345px);
    }

    .site-hero__pennant--right {
        right: calc(50% - 345px);
    }

    .site-hero__banner-text {
        top: 40px;

        width: 145px;

        font-size: 13px;
        line-height: 1.72;
    }

    .site-hero__banner-text--left {
        left: calc(50% - 258px);
    }

    .site-hero__banner-text--right {
        left: calc(50% + 258px);
    }

    .site-hero__message {
        width: min(700px, 66vw);

        padding-right: 30px;
        padding-left: 30px;
    }

    .site-hero__message::before {
        width: 140vw;
        height: 280px;
    }

    .site-hero__headline-line--1 {
        font-size: 20px;
    }

    .site-hero__headline-line--2 {
        font-size: 26px;
    }

    .site-hero__headline-line--3 {
        font-size: 25px;
    }

    .site-hero__stone-inscription {
        left: 66px;
        bottom: 92px;

        width: 164px;

        font-size: 11px;
    }

    .site-hero__coat-of-arms {
        top: -24px;

        height: 365px;
    }

    .site-hero__decoration--left,
    .site-hero__decoration--right {
        height: 365px;
    }
}

@media (max-width: 760px) {
    .site-hero {
        height: 430px;

        overflow: hidden;

        background-position: center top;
    }

    .site-hero__pennant,
    .site-hero__banner-text,
    .site-hero__stone-inscription,
    .site-hero__decoration {
        display: none;
    }

    .site-hero__message {
        bottom: 16px;

        width: calc(100% - 24px);

        padding: 42px 12px 12px;
    }

    .site-hero__message::before {
        width: 150%;
        height: 230px;

        filter: blur(6px);
    }

    .site-hero__headline-line--1 {
        font-size: clamp(14px, 4.2vw, 18px);
    }

    .site-hero__headline-line--2 {
        font-size: clamp(18px, 5.3vw, 23px);

        letter-spacing: 0.015em;
    }

    .site-hero__headline-line--3 {
        font-size: clamp(18px, 5.3vw, 23px);
    }

    .site-hero__divider {
        height: 22px;
    }

    .site-hero__tagline {
        max-width: 330px;

        font-size: 9px;

        letter-spacing: 0.1em;
    }

    .site-hero__coat-of-arms {
        top: -8px;

        height: 275px;
    }
}

@media (max-width: 390px) {
    .site-hero {
        height: 400px;
    }

    .site-hero__coat-of-arms {
        height: 245px;
    }

    .site-hero__message {
        bottom: 12px;
    }
}
