/* landingpage-neu.css - update078 Vorschau nach PDF-Layout */

.rt078-wrap {
    max-width: 1280px;
}

.rt078-grid {
    --rt078-gap: 18px;
    display: grid;
    grid-template-columns: clamp(320px, 26vw, 360px) minmax(0, 1fr);
    gap: var(--rt078-gap);
    align-items: stretch;
}

.rt078-left {
    display: grid;
    grid-template-rows: 2fr 1fr 1fr;
    gap: var(--rt078-gap);
    min-height: 100%;
    align-self: stretch;
}

.rt078-right {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rt078-gap);
    align-content: start;
}

.rt078-headline {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0 0 4px 0;
    font-size: clamp(30px, 4vw, 58px);
    line-height: 1.05;
    color: #003f2c;
}

.rt078-card,
.rt078-operators,
.rt078-gallery {
    box-sizing: border-box;
    border-radius: 18px;
}

.rt078-card {
    background: #8fff8f;
    border: 2px solid #0b6b22;
    padding: 16px;
    box-shadow: 0 6px 16px rgba(0, 80, 0, .12);
    color: #002b20;
}

.rt078-route {
    display: flex;
    flex-direction: column;
}

.rt078-kicker {
    margin: 0 0 6px 0;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #07551b;
    font-size: 13px;
}

.rt078-card h2,
.rt078-card h3,
.rt078-gallery h2 {
    margin: 0 0 10px 0;
    color: #002b20;
}

.rt078-map {
    position: relative;
    flex: 1 1 auto;
    min-height: 210px;
    margin-top: 12px;
    overflow: hidden;
    border: 2px dashed #0b6b22;
    border-radius: 14px;
    background:
        radial-gradient(circle at 22% 28%, rgba(11,107,34,.16), transparent 24%),
        radial-gradient(circle at 78% 72%, rgba(11,107,34,.14), transparent 24%),
        linear-gradient(135deg, #cfffcc, #f3fff0);
}

.rt078-line {
    position: absolute;
    left: 12%;
    right: 10%;
    height: 8px;
    border-radius: 999px;
    background: #0b6b22;
    box-shadow: 0 0 0 5px rgba(255,255,255,.88);
}

.rt078-line.line-a {
    top: 40%;
    transform: rotate(-14deg);
}

.rt078-line.line-b {
    top: 61%;
    transform: rotate(12deg);
    opacity: .82;
}

.rt078-dot {
    position: absolute;
    width: 32px;
    height: 32px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #0b6b22;
    box-shadow: 0 2px 8px rgba(0,0,0,.24);
}

.rt078-dot.dot-a { left: 16%; top: 50%; }
.rt078-dot.dot-b { left: 48%; top: 33%; }
.rt078-dot.dot-c { right: 13%; top: 59%; }

.rt078-video {
    display: flex;
    flex-direction: column;
}

.rt078-video-frame {
    flex: 1 1 auto;
    min-height: 120px;
    display: grid;
    place-items: center;
    border: 2px dashed #0b6b22;
    border-radius: 14px;
    background: #dfffdf;
    color: #0b4218;
    font-size: 22px;
    font-weight: 800;
}

.rt078-video h3 {
    margin: 10px 0 0 0;
}

.rt078-intro p {
    margin-bottom: 0;
    font-size: 1.08rem;
    line-height: 1.55;
}

.rt078-operators {
    background: rgba(143, 255, 143, .36);
    border: 1px solid rgba(11, 107, 34, .42);
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #002b20;
}

.rt078-operators p {
    margin: 0 0 14px 0;
    font-weight: 800;
    line-height: 1.35;
}

.rt078-operator-photos {
    display: flex;
    gap: 14px;
    align-items: center;
}

.rt078-operator-circle {
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 3px solid #0b6b22;
    background:
        radial-gradient(circle at 35% 30%, #ffffff, #dfffdf 54%, #9cff9c);
    color: #0b4218;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(0,80,0,.14);
    overflow: hidden;
}

.rt078-operator-circle:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0,80,0,.2);
}

.rt078-tiles {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rt078-gap);
}

.rt078-text-tile {
    min-height: 160px;
    display: flex;
    flex-direction: column;
}

.rt078-tile-text {
    flex: 1 1 auto;
}

.rt078-tile-text p {
    margin-top: 0;
}

.rt078-tile-link {
    display: inline-flex;
    align-self: flex-start;
    margin-top: 12px;
    padding: 8px 13px;
    border-radius: 999px;
    background: #0b6b22;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}

.rt078-gallery {
    grid-column: 1 / -1;
    background: #f7fff7;
    border: 2px solid #0b6b22;
    padding: 16px;
    box-shadow: 0 6px 16px rgba(0, 80, 0, .10);
}

.rt078-gallery p {
    margin-top: 0;
}

.rt078-gallery-track {
    display: flex;
    gap: 14px;
    overflow: hidden;
    min-height: 240px;
}

.rt078-gallery-slide {
    flex: 0 0 100%;
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    background: #eaffea;
    border: 1px solid #74bd74;
    min-height: 240px;
    position: relative;
}

.rt078-gallery-slide img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.rt078-gallery-slide figcaption {
    padding: 10px 12px;
    background: rgba(255,255,255,.92);
}

.rt078-gallery-empty {
    display: grid;
    place-items: center;
    min-height: 240px;
    border-radius: 14px;
    border: 2px dashed #0b6b22;
    background: #eaffea;
    color: #0b4218;
    font-weight: 800;
}

@media (max-width: 980px) {
    .rt078-grid {
        grid-template-columns: 1fr;
    }

    .rt078-left {
        grid-template-rows: auto;
    }
}

@media (max-width: 700px) {
    .rt078-right,
    .rt078-tiles {
        grid-template-columns: 1fr;
    }

    .rt078-headline,
    .rt078-tiles,
    .rt078-gallery {
        grid-column: 1;
    }

    .rt078-operator-photos {
        justify-content: flex-start;
    }
}

/* update079: Vorschau Feinkorrektur Betreiberfotos und Hover-Farben */
.rt078-operators {
    align-items: center;
    text-align: center;
}

.rt078-operator-photos {
    justify-content: center;
    width: 100%;
}

.rt078-operator-circle {
    background:
        radial-gradient(circle at 35% 30%, #ffffff, #ecffec 54%, #c6ffc6) !important;
    border-color: #0d7a28 !important;
    color: #064015 !important;
}

.rt078-operator-circle:hover,
.rt078-operator-circle:focus-visible {
    background:
        radial-gradient(circle at 35% 30%, #ffffff, #f4fff4 56%, #d8ffd8) !important;
    border-color: #14923a !important;
    color: #052f10 !important;
    outline: 3px solid rgba(20, 146, 58, .25);
    outline-offset: 3px;
}

.rt078-tile-link {
    background: #188b34 !important;
    color: #ffffff !important;
}

.rt078-tile-link:hover,
.rt078-tile-link:focus-visible {
    background: #baffba !important;
    color: #003f2c !important;
    box-shadow: inset 0 0 0 2px #188b34;
    outline: 3px solid rgba(24, 139, 52, .22);
    outline-offset: 2px;
}

.rt078-card a:not(.rt078-tile-link):hover,
.rt078-card a:not(.rt078-tile-link):focus-visible,
.rt078-gallery a:hover,
.rt078-gallery a:focus-visible {
    color: #0b6b22;
}

/* update080: Eindruecke-Slider gruen wie Startseiten-Kacheln */
.rt078-gallery {
    background: #8fff8f !important;
    border-color: #0b6b22 !important;
    color: #002b20 !important;
}

.rt078-gallery h2,
.rt078-gallery p {
    color: #002b20 !important;
}

.rt078-gallery-track {
    background: transparent !important;
}

.rt078-gallery-slide {
    background: #dfffdf !important;
    border-color: #75bd75 !important;
}

.rt078-gallery-slide figcaption {
    background: #eaffea !important;
    color: #003f2c !important;
}

.rt078-gallery-empty {
    background: #dfffdf !important;
    border-color: #0b6b22 !important;
    color: #003f2c !important;
}

/* update082: Betreiberbereich als klare Kachel mit Rahmen */
.rt078-operators {
    background: #8fff8f !important;
    border: 2px solid #0b6b22 !important;
    box-shadow: 0 6px 16px rgba(0, 80, 0, .12) !important;
    align-items: center !important;
    text-align: center !important;
}

.rt078-operators p {
    color: #002b20 !important;
}

.rt078-operator-photos {
    justify-content: center !important;
    width: 100% !important;
}

.rt078-operator-circle {
    background:
        radial-gradient(circle at 35% 30%, #ffffff, #ecffec 54%, #c6ffc6) !important;
    border-color: #0d7a28 !important;
    color: #064015 !important;
}

.rt078-operator-circle:hover,
.rt078-operator-circle:focus-visible {
    background:
        radial-gradient(circle at 35% 30%, #ffffff, #f4fff4 56%, #d8ffd8) !important;
    border-color: #14923a !important;
    color: #052f10 !important;
    outline: 3px solid rgba(20, 146, 58, .25) !important;
    outline-offset: 3px !important;
}

.rt078-tile-link {
    background: #188b34 !important;
    color: #ffffff !important;
}

.rt078-tile-link:hover,
.rt078-tile-link:focus-visible {
    background: #baffba !important;
    color: #003f2c !important;
    box-shadow: inset 0 0 0 2px #188b34 !important;
    outline: 3px solid rgba(24, 139, 52, .22) !important;
    outline-offset: 2px !important;
}

/* update083: Fahnenreihe rechts an neuer Inhaltskante ausrichten, ohne Markierung/Strich zu bearbeiten */
.position-bar .position-inner {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    box-sizing: border-box !important;
}

.position-bar .breadcrumb {
    flex: 0 0 auto !important;
}

.position-bar .language-switcher {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-left: auto !important;
}

.position-bar .language-switcher a {
    flex: 0 0 auto !important;
}

@media (max-width: 900px) {
    .position-bar .position-inner {
        display: block !important;
    }

    .position-bar .language-switcher {
        justify-content: flex-start !important;
        margin-top: 12px !important;
        margin-left: 0 !important;
    }
}

/* update084: Scrollbalken unter der Fahnenreihe entfernen */
.position-bar,
.position-bar .position-inner,
.position-bar .language-switcher {
    overflow-x: visible !important;
    overflow-y: visible !important;
}

.position-bar .language-switcher {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    max-width: none !important;
}

.position-bar .language-switcher::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.position-bar .language-switcher a,
.position-bar .language-switcher img {
    flex-shrink: 0 !important;
}

/* update094: Betreiberfotos auf der Startseite */
.rt078-operator-circle {
    overflow: hidden;
}

.rt078-operator-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

/* update096: Startseiten-Videos */
.rt078-video-frame video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
}

.rt078-video-text {
    margin-top: .35rem;
    font-size: .9rem;
    line-height: 1.35;
}

/* update098: kleine Landingpage-Betreiberfotos */
.rt078-operator-circle {
    width: 90px;
    height: 90px;
    min-width: 90px;
    min-height: 90px;
    overflow: hidden;
}

.rt078-operator-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

@media (max-width: 760px) {
    .rt078-operator-circle {
        width: 76px;
        height: 76px;
        min-width: 76px;
        min-height: 76px;
    }
}

/* update105: GPS-Link Galerie */
.rt078-gallery-location {
    margin: 10px 0 0;
    text-align: center;
}
.rt078-gallery-location a {
    display: inline-block;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(36, 122, 36, 0.92);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,0.75);
}
.rt078-gallery-location a:hover {
    background: #1d641d;
}

/* update108: Galerie-Slider und Standort-Link Hover */
.rt078-gallery {
    overflow: hidden;
}

.rt078-gallery .rt078-gallery-track {
    gap: 0 !important;
    display: flex;
    overflow: visible;
    transition: transform 720ms ease-in-out;
    will-change: transform;
}

.rt078-gallery .rt078-gallery-slide {
    flex: 0 0 100%;
    min-width: 100%;
}

.rt078-gallery-slider-active .rt078-gallery-track {
    transform: translateX(0);
}

.rt078-gallery-location a {
    background: #ffffff !important;
    color: #0b4218 !important;
    border: 2px solid #0b6b22 !important;
    box-shadow: 0 2px 8px rgba(0, 80, 0, .14);
}

.rt078-gallery-location a:hover,
.rt078-gallery-location a:focus-visible {
    background: #ffcc66 !important;
    color: #002b20 !important;
    border-color: #9a5a00 !important;
    box-shadow: 0 4px 12px rgba(120, 70, 0, .28);
    transform: translateY(-1px);
    outline: none;
}
