/* Steiermark TV - automatisch aus stv-layout-web.css fachlich getrennt.
   Gemeinsame Regeln liegen in stv-layout-core.css; diese Datei enthaelt nur seitentypspezifische Bloecke. */

/* =========================
   PANORAMAKAMERAS-UEBERBLICK
   - neues isoliertes Template panoramakameras_ueberblick.php
   - Hero nach Sendungslogik
   - Livestream an Video-Position
   - Kamera-Kacheln 3 / 2 / 1 spaltig
========================= */
.stv-panoramakameras-overview-page {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
    overflow-x: hidden;
}

.stv-panoramakameras-overview-hero {
    position: relative;
    width: 100vw;
    margin: 0 0 0 calc(50% - 50vw);
    overflow: hidden;
    background: linear-gradient(160deg, #2f9c37 0%, #1c782b 42%, #063716 100%);
    isolation: isolate;
}

.stv-panoramakameras-overview-hero__media {
    position: relative;
    z-index: 0;
    width: 100%;
    height: clamp(360px, 42vw, 680px);
    overflow: hidden;
}

.stv-panoramakameras-overview-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.stv-panoramakameras-overview-hero--no-image {
    min-height: clamp(320px, 38vw, 560px);
}

.stv-panoramakameras-overview-hero__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 50% 42%, rgba(237, 248, 186, 0.13) 0%, rgba(237, 248, 186, 0) 34%),
        linear-gradient(180deg, rgba(4, 27, 12, 0.08) 0%, rgba(4, 27, 12, 0.36) 100%);
    pointer-events: none;
}

.stv-panoramakameras-overview-hero__inner {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: min(100% - 32px, 1080px);
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: clamp(46px, 6vw, 90px) 16px clamp(86px, 9vw, 150px);
    pointer-events: none;
}

.stv-panoramakameras-overview-hero__title {
    max-width: 900px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(2.35rem, 5.2vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    font-weight: 700;
    text-align: center;
    text-shadow: 0 14px 34px rgba(0, 0, 0, 0.36);
}

.stv-panoramakameras-overview-layout {
    position: relative;
    z-index: 3;
    width: min(100% - 32px, 1080px);
    max-width: 1080px;
    margin: 0 auto 62px;
    isolation: isolate;
}

.stv-panoramakameras-overview-layout::before,
.stv-panoramakameras-overview-layout::after {
    content: "";
    position: absolute;
    display: block;
    pointer-events: none;
    z-index: 1;
}

.stv-panoramakameras-overview-layout::before {
    top: -54px;
    left: 34px;
    width: 112px;
    height: 112px;
    border-radius: 24px;
    background: linear-gradient(160deg, #2fa43a 0%, #1c7a2d 48%, #0a4b1f 100%);
    box-shadow: 0 18px 34px rgba(10, 55, 23, 0.16);
}

.stv-panoramakameras-overview-layout::after {
    top: 58px;
    left: 162px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(155deg, var(--stv-lime-1) 0%, var(--stv-lime-2) 62%, var(--stv-lime-3) 100%);
    box-shadow: 0 12px 22px rgba(78, 109, 26, 0.18);
}

.stv-panoramakameras-overview-intro {
    position: relative;
    z-index: 5;
    width: min(100%, 540px);
    margin: -78px 58px -30px auto;
    border-radius: 30px;
    background: linear-gradient(155deg, var(--stv-lime-1) 0%, var(--stv-lime-2) 55%, var(--stv-lime-3) 100%);
    box-shadow: 0 24px 42px rgba(78, 109, 26, 0.26);
}

.stv-panoramakameras-overview-intro::before {
    content: "";
    position: absolute;
    right: -58px;
    top: -58px;
    width: 116px;
    height: 116px;
    border-radius: 28px;
    background: linear-gradient(160deg, #2fa43a 0%, #1c7a2d 48%, #0a4b1f 100%);
    box-shadow: 0 18px 34px rgba(10, 55, 23, 0.16);
    z-index: -1;
    pointer-events: none;
}

.stv-panoramakameras-overview-intro__body {
    padding: 26px 58px 36px 34px;
    box-sizing: border-box;
}

.stv-panoramakameras-overview-intro__body,
.stv-panoramakameras-overview-intro__body h1,
.stv-panoramakameras-overview-intro__body h2,
.stv-panoramakameras-overview-intro__body h3,
.stv-panoramakameras-overview-intro__body h4,
.stv-panoramakameras-overview-intro__body h5,
.stv-panoramakameras-overview-intro__body h6,
.stv-panoramakameras-overview-intro__body p,
.stv-panoramakameras-overview-intro__body li,
.stv-panoramakameras-overview-intro__body div,
.stv-panoramakameras-overview-intro__body span,
.stv-panoramakameras-overview-intro__body a {
    color: #263312;
}

.stv-panoramakameras-overview-intro__body h1,
.stv-panoramakameras-overview-intro__body h2,
.stv-panoramakameras-overview-intro__body h3,
.stv-panoramakameras-overview-intro__body h4,
.stv-panoramakameras-overview-intro__body h5,
.stv-panoramakameras-overview-intro__body h6 {
    margin: 0 0 12px;
    font-size: clamp(1.52rem, 1.86vw, 2.08rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    font-weight: 600;
}

.stv-panoramakameras-overview-intro__body p,
.stv-panoramakameras-overview-intro__body li {
    margin-top: 0;
    font-size: 1.02rem;
    line-height: 1.56;
    font-weight: 400;
    text-shadow: none;
}

.stv-panoramakameras-overview-intro__body p:last-child,
.stv-panoramakameras-overview-intro__body ul:last-child,
.stv-panoramakameras-overview-intro__body ol:last-child,
.stv-panoramakameras-overview-intro__body .ccm-block-content:last-child {
    margin-bottom: 0;
}

.stv-panoramakameras-overview-intro__body a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.stv-panoramakameras-overview-live {
    position: relative;
    z-index: 4;
    width: calc(100% - 35px);
    max-width: 1045px;
    margin: 0 auto 0 0;
    padding: 78px 34px 34px;
    box-sizing: border-box;
    border-radius: 34px 34px 0 0;
    background: linear-gradient(160deg, #2f9c37 0%, #1c782b 38%, #0d5320 70%, #063716 100%);
    box-shadow: 0 24px 46px rgba(16, 44, 16, 0.20);
    overflow: hidden;
    isolation: isolate;
}

.stv-panoramakameras-overview-live::before,
.stv-panoramakameras-overview-live::after {
    content: "";
    position: absolute;
    display: block;
    pointer-events: none;
    z-index: 0;
}

.stv-panoramakameras-overview-live::before {
    top: 28px;
    right: 28px;
    width: 92px;
    height: 92px;
    border-radius: 24px;
    background: linear-gradient(155deg, var(--stv-lime-1) 0%, var(--stv-lime-2) 62%, var(--stv-lime-3) 100%);
    box-shadow: 0 14px 24px rgba(78, 109, 26, 0.20);
}

.stv-panoramakameras-overview-live::after {
    top: 96px;
    right: 106px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #2fa43a;
    box-shadow: 0 12px 22px rgba(10, 55, 23, 0.16);
}

.stv-panoramakameras-overview-live__header,
.stv-panoramakameras-overview-live__video {
    position: relative;
    z-index: 2;
}

.stv-panoramakameras-overview-live__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 24px;
    padding-right: 144px;
}

.stv-panoramakameras-overview-live__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.9rem, 2.6vw, 3rem);
    line-height: 1.03;
    letter-spacing: -0.035em;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
}

.stv-panoramakameras-overview-live__text {
    max-width: 620px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.02rem;
    line-height: 1.48;
}

.stv-panoramakameras-overview-live__video {
    width: 100%;
    overflow: hidden;
    border-radius: 28px;
    background: #143017;
    box-shadow: 0 20px 36px rgba(5, 31, 12, 0.30);
}

.stv-panoramakameras-overview-live__video iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}

.stv-panoramakameras-overview-cameras {
    position: relative;
    z-index: 4;
    width: calc(100% - 35px);
    max-width: 1045px;
    margin: 0 auto 0 0;
    padding: 6px 34px 38px;
    box-sizing: border-box;
    border-radius: 0 0 34px 34px;
    background: linear-gradient(160deg, #2f9c37 0%, #1c782b 38%, #0d5320 70%, #063716 100%);
    box-shadow: 0 24px 46px rgba(16, 44, 16, 0.20);
}

.stv-panoramakameras-overview-cameras__header {
    position: relative;
    z-index: 2;
    margin: 0 0 22px;
}

.stv-panoramakameras-overview-cameras__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.9rem, 2.6vw, 3rem);
    line-height: 1.03;
    letter-spacing: -0.035em;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14);
}

.stv-panoramakameras-overview-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.stv-panoramakameras-overview-card {
    margin: 0;
    min-width: 0;
}

.stv-panoramakameras-overview-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.055) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 12px 22px rgba(7, 42, 15, 0.14);
    color: #ffffff;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.stv-panoramakameras-overview-card__link:hover,
.stv-panoramakameras-overview-card__link:focus {
    transform: translateY(-3px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.17) 0%, rgba(255, 255, 255, 0.075) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10), 0 16px 28px rgba(7, 42, 15, 0.20);
    text-decoration: none;
}

.stv-panoramakameras-overview-card__image-wrap {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: rgba(237, 248, 186, 0.12);
}

.stv-panoramakameras-overview-card__image-wrap img,
.stv-panoramakameras-overview-card__image-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.22s ease;
}

.stv-panoramakameras-overview-card__image-placeholder {
    background: linear-gradient(160deg, #53c84a 0%, #34a63a 36%, #1f842f 68%, #11662a 100%);
}

.stv-panoramakameras-overview-card__link:hover .stv-panoramakameras-overview-card__image-wrap img,
.stv-panoramakameras-overview-card__link:focus .stv-panoramakameras-overview-card__image-wrap img {
    transform: scale(1.035);
}

.stv-panoramakameras-overview-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 16px 16px 18px;
    box-sizing: border-box;
}

.stv-panoramakameras-overview-card__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.08rem, 1.35vw, 1.38rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    font-weight: 600;
}

.stv-panoramakameras-overview-card__text {
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.94rem;
    line-height: 1.42;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stv-panoramakameras-overview-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 38px;
    margin-top: auto;
    padding: 9px 15px;
    border-radius: 999px;
    background: linear-gradient(155deg, var(--stv-lime-1) 0%, var(--stv-lime-2) 58%, var(--stv-lime-3) 100%);
    color: #263312;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 0.86rem;
    line-height: 1.2;
    font-weight: 700;
    box-shadow: var(--stv-shadow-lime);
}

.stv-panoramakameras-overview-card__text + .stv-panoramakameras-overview-card__button,
.stv-panoramakameras-overview-card__title + .stv-panoramakameras-overview-card__button {
    margin-top: 16px;
}

.stv-panoramakameras-overview-empty-note {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.11);
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.5;
}

@media (max-width: 1079px) {
    .stv-panoramakameras-overview-hero__media {
        height: clamp(320px, 48vw, 560px);
    }

    .stv-panoramakameras-overview-hero--no-image {
        min-height: clamp(300px, 48vw, 500px);
    }

    .stv-panoramakameras-overview-hero__inner,
    .stv-panoramakameras-overview-layout {
        width: min(100% - 24px, 1080px);
    }

    .stv-panoramakameras-overview-layout::before {
        left: 24px;
        width: 88px;
        height: 88px;
        border-radius: 22px;
    }

    .stv-panoramakameras-overview-layout::after {
        left: 126px;
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .stv-panoramakameras-overview-intro {
        width: min(100%, 540px);
        margin: -58px 24px -22px auto;
    }

    .stv-panoramakameras-overview-intro::before {
        right: -42px;
        top: -42px;
        width: 84px;
        height: 84px;
        border-radius: 22px;
    }

    .stv-panoramakameras-overview-intro__body {
        padding: 24px 48px 34px 28px;
    }

    .stv-panoramakameras-overview-live,
    .stv-panoramakameras-overview-cameras {
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    .stv-panoramakameras-overview-live {
        padding: 66px 24px 26px;
        border-radius: 28px 28px 0 0;
    }

    .stv-panoramakameras-overview-cameras {
        padding: 4px 24px 30px;
        border-radius: 0 0 28px 28px;
    }

    .stv-panoramakameras-overview-live__header {
        padding-right: 120px;
    }

    .stv-panoramakameras-overview-live__video {
        border-radius: 22px;
    }

    .stv-panoramakameras-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}

@media (max-width: 589px) {
    .stv-panoramakameras-overview-hero__media {
        height: clamp(250px, 68vw, 340px);
    }

    .stv-panoramakameras-overview-hero--no-image {
        min-height: clamp(250px, 68vw, 340px);
    }

    .stv-panoramakameras-overview-hero__inner,
    .stv-panoramakameras-overview-layout {
        width: min(100% - 18px, 1080px);
    }

    .stv-panoramakameras-overview-hero__title {
        font-size: clamp(2rem, 10vw, 3.3rem);
        line-height: 1.02;
    }

    .stv-panoramakameras-overview-layout {
        margin-bottom: 28px;
    }

    .stv-panoramakameras-overview-layout::before,
    .stv-panoramakameras-overview-layout::after,
    .stv-panoramakameras-overview-intro::before,
    .stv-panoramakameras-overview-live::before,
    .stv-panoramakameras-overview-live::after {
        display: none;
    }

    .stv-panoramakameras-overview-intro {
        width: 100%;
        margin: -34px 0 -16px;
        border-radius: 20px;
    }

    .stv-panoramakameras-overview-intro__body {
        padding: 18px 16px 36px;
    }

    .stv-panoramakameras-overview-intro__body h1,
    .stv-panoramakameras-overview-intro__body h2,
    .stv-panoramakameras-overview-intro__body h3,
    .stv-panoramakameras-overview-intro__body h4,
    .stv-panoramakameras-overview-intro__body h5,
    .stv-panoramakameras-overview-intro__body h6 {
        font-size: clamp(1.36rem, 6.3vw, 1.82rem);
        line-height: 1.08;
    }

    .stv-panoramakameras-overview-intro__body p,
    .stv-panoramakameras-overview-intro__body li {
        font-size: 0.98rem;
        line-height: 1.5;
    }

    .stv-panoramakameras-overview-live {
        padding: 48px 14px 18px;
        border-radius: 20px 20px 0 0;
    }

    .stv-panoramakameras-overview-cameras {
        padding: 4px 14px 22px;
        border-radius: 0 0 20px 20px;
    }

    .stv-panoramakameras-overview-live__header {
        display: block;
        margin-bottom: 18px;
        padding-right: 0;
    }

    .stv-panoramakameras-overview-live__title,
    .stv-panoramakameras-overview-cameras__title {
        font-size: clamp(1.55rem, 6.8vw, 2.15rem);
        line-height: 1.06;
        letter-spacing: -0.03em;
    }

    .stv-panoramakameras-overview-live__text {
        font-size: 0.96rem;
        line-height: 1.46;
    }

    .stv-panoramakameras-overview-live__video {
        border-radius: 18px;
    }

    .stv-panoramakameras-overview-cameras__header {
        margin-bottom: 16px;
    }

    .stv-panoramakameras-overview-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .stv-panoramakameras-overview-card__link {
        border-radius: 18px;
    }

    .stv-panoramakameras-overview-card__content {
        padding: 14px 14px 16px;
    }

    .stv-panoramakameras-overview-card__title {
        font-size: 1.12rem;
        line-height: 1.1;
    }

    .stv-panoramakameras-overview-card__text {
        font-size: 0.92rem;
        line-height: 1.4;
        -webkit-line-clamp: 2;
    }

    .stv-panoramakameras-overview-card__button {
        width: 100%;
        min-height: 40px;
    }
}

/* =========================
   PANORAMAKAMERAS-UEBERBLICK: SCHRITT 2
   - Hero wie Episode mit Titel "Panoramakameras"
   - Livestream ohne eigenen Rahmen/Panel um das Video
   - keine Seitenleiste
   - GAM Sticky links/rechts und Bottom
========================= */
.stv-panoramakameras-overview-page {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
    overflow-x: hidden;
}

.stv-panoramakameras-overview-layout {
    position: relative;
    width: var(--stv-stage-width) !important;
    min-width: var(--stv-stage-width) !important;
    max-width: var(--stv-stage-width) !important;
    margin: 18px auto 54px !important;
    padding: var(--stv-stage-padding) !important;
    box-sizing: border-box;
    background: #ffffff !important;
    border-radius: 30px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
        "hero"
        "live"
        "intro"
        "cameras" !important;
    row-gap: 22px !important;
    align-items: start;
    overflow: visible !important;
    isolation: isolate;
}

.stv-panoramakameras-overview-layout::before {
    content: "";
    display: block !important;
    position: absolute;
    top: 19px !important;
    left: 872px !important;
    width: 110px !important;
    height: 110px !important;
    border-radius: 24px !important;
    background: linear-gradient(160deg, #2fa43a 0%, #1c7a2d 42%, #0a4b1f 100%) !important;
    box-shadow: 0 18px 34px rgba(10, 55, 23, 0.14) !important;
    z-index: 0 !important;
    pointer-events: none;
}

.stv-panoramakameras-overview-layout::after {
    content: "";
    display: block !important;
    position: absolute;
    top: 150px !important;
    left: 984px !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 18px !important;
    background: linear-gradient(155deg, var(--stv-lime-1) 0%, var(--stv-lime-2) 60%, #b9d556 100%) !important;
    box-shadow: 0 12px 20px rgba(78, 109, 26, 0.16) !important;
    z-index: 0 !important;
    pointer-events: none;
}

.stv-panoramakameras-overview-hero {
    grid-area: hero;
    position: relative !important;
    z-index: 2 !important;
    width: var(--stv-hero-width) !important;
    min-height: 0 !important;
    margin: 0 0 -34px 0 !important;
    overflow: visible !important;
    background: transparent !important;
    isolation: auto !important;
}

.stv-panoramakameras-overview-hero__media,
.stv-panoramakameras-overview-hero__shade,
.stv-panoramakameras-overview-hero--has-image .stv-panoramakameras-overview-hero__media,
.stv-panoramakameras-overview-hero--no-image .stv-panoramakameras-overview-hero__shade {
    display: none !important;
}

.stv-panoramakameras-overview-hero-card {
    position: relative;
    z-index: 1;
    width: var(--stv-hero-width);
    min-height: 136px;
    padding: 14px 18px 24px;
    box-sizing: border-box;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, var(--stv-white-soft) 100%);
    box-shadow: var(--stv-shadow-hero);
    overflow: hidden;
}

.stv-panoramakameras-overview-hero__inner {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: auto !important;
}

.stv-panoramakameras-overview-hero__title {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111111 !important;
    font-size: clamp(1.62rem, 2.05vw, 2.4rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
    font-weight: 600 !important;
    text-align: left !important;
    text-shadow: none !important;
}

.stv-panoramakameras-overview-live {
    grid-area: live;
    position: relative !important;
    z-index: 4 !important;
    width: var(--stv-video-width) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    isolation: auto !important;
}

.stv-panoramakameras-overview-live::before,
.stv-panoramakameras-overview-live::after,
.stv-panoramakameras-overview-live__header {
    display: none !important;
}

.stv-panoramakameras-overview-live__video {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: var(--stv-radius-xl) !important;
    background: #143017 !important;
    box-shadow: var(--stv-shadow-main) !important;
}

.stv-panoramakameras-overview-live__video iframe {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border: 0 !important;
}

.stv-panoramakameras-overview-intro {
    grid-area: intro;
    position: relative !important;
    z-index: 5 !important;
    width: calc(var(--stv-main-content-width-narrow) - 2px) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: -22px 0 0 var(--stv-main-content-offset-left) !important;
    border-radius: 0 0 var(--stv-radius-xl) var(--stv-radius-xl) !important;
    background: linear-gradient(160deg, #53c84a 0%, #34a63a 36%, #1f842f 68%, #11662a 100%) !important;
    box-shadow: var(--stv-shadow-main) !important;
    color: #ffffff !important;
}

.stv-panoramakameras-overview-intro::before,
.stv-panoramakameras-overview-intro::after {
    display: none !important;
}

.stv-panoramakameras-overview-intro__body {
    padding: 24px 26px 26px !important;
    box-sizing: border-box;
}

.stv-panoramakameras-overview-intro__body,
.stv-panoramakameras-overview-intro__body h1,
.stv-panoramakameras-overview-intro__body h2,
.stv-panoramakameras-overview-intro__body h3,
.stv-panoramakameras-overview-intro__body h4,
.stv-panoramakameras-overview-intro__body h5,
.stv-panoramakameras-overview-intro__body h6,
.stv-panoramakameras-overview-intro__body p,
.stv-panoramakameras-overview-intro__body li,
.stv-panoramakameras-overview-intro__body div,
.stv-panoramakameras-overview-intro__body span,
.stv-panoramakameras-overview-intro__body a {
    color: #ffffff !important;
}

.stv-panoramakameras-overview-intro__body h1,
.stv-panoramakameras-overview-intro__body h2,
.stv-panoramakameras-overview-intro__body h3,
.stv-panoramakameras-overview-intro__body h4,
.stv-panoramakameras-overview-intro__body h5,
.stv-panoramakameras-overview-intro__body h6 {
    margin: 0 0 14px !important;
    font-size: clamp(1.34rem, 1.7vw, 1.95rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    font-weight: 600 !important;
}

.stv-panoramakameras-overview-intro__body p,
.stv-panoramakameras-overview-intro__body li {
    max-width: calc(100% - 30px);
    margin-top: 0 !important;
    font-size: 1.02rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.08) !important;
}

.stv-panoramakameras-overview-intro__body p:last-child,
.stv-panoramakameras-overview-intro__body ul:last-child,
.stv-panoramakameras-overview-intro__body ol:last-child,
.stv-panoramakameras-overview-intro__body .ccm-block-content:last-child {
    margin-bottom: 0 !important;
}

.stv-panoramakameras-overview-intro__body a {
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.stv-panoramakameras-overview-cameras {
    grid-area: cameras;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px 18px 24px !important;
    box-sizing: border-box;
    border-radius: 26px !important;
    background: linear-gradient(155deg, #79de64 0%, #52c34a 36%, #2c9738 72%, #11662d 100%) !important;
    box-shadow: 0 16px 28px rgba(24, 55, 20, 0.10) !important;
    overflow: visible !important;
}

.stv-panoramakameras-overview-cameras__header {
    position: relative;
    z-index: 2;
    margin: 0 0 18px !important;
}

.stv-panoramakameras-overview-cameras__title {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.62rem, 2.05vw, 2.4rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.12) !important;
}

.stv-panoramakameras-overview-grid {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.stv-panoramakameras-overview-card {
    margin: 0;
    min-width: 0;
}

.stv-panoramakameras-overview-card__link {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdf9 100%) !important;
    border: 0 !important;
    box-shadow: var(--stv-shadow-card) !important;
    color: #111111 !important;
    text-decoration: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.stv-panoramakameras-overview-card__link:hover,
.stv-panoramakameras-overview-card__link:focus {
    transform: translateY(-3px);
    box-shadow: 0 14px 24px rgba(15, 36, 12, 0.12) !important;
    text-decoration: none !important;
}

.stv-panoramakameras-overview-card__image-wrap {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: rgba(237, 248, 186, 0.12);
}

.stv-panoramakameras-overview-card__image-wrap img,
.stv-panoramakameras-overview-card__image-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.22s ease;
}

.stv-panoramakameras-overview-card__image-placeholder {
    background: linear-gradient(160deg, #53c84a 0%, #34a63a 36%, #1f842f 68%, #11662a 100%);
}

.stv-panoramakameras-overview-card__link:hover .stv-panoramakameras-overview-card__image-wrap img,
.stv-panoramakameras-overview-card__link:focus .stv-panoramakameras-overview-card__image-wrap img {
    transform: scale(1.035);
}

.stv-panoramakameras-overview-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 14px 14px 16px !important;
    box-sizing: border-box;
}

.stv-panoramakameras-overview-card__title {
    margin: 0 !important;
    color: #111111 !important;
    font-size: 1.08rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    font-weight: 600 !important;
}

.stv-panoramakameras-overview-card__text {
    margin-top: 8px !important;
    color: var(--stv-text-soft) !important;
    font-size: 0.92rem !important;
    line-height: 1.42 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stv-panoramakameras-overview-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 38px;
    margin-top: auto;
    padding: 9px 15px;
    border-radius: 999px;
    background: linear-gradient(160deg, #1f8f3b 0%, #0f6e2f 56%, #084b20 100%) !important;
    color: #ffffff !important;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 0.86rem;
    line-height: 1.2;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(10, 69, 30, 0.24) !important;
}

.stv-panoramakameras-overview-card__text + .stv-panoramakameras-overview-card__button,
.stv-panoramakameras-overview-card__title + .stv-panoramakameras-overview-card__button {
    margin-top: 16px;
}

.stv-panoramakameras-overview-empty-note {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.11);
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.5;
}

.stv-panoramakameras-overview-desktop-sticky-ads {
    display: none;
}

.stv-panoramakameras-overview-bottom-ad {
    display: block !important;
    width: min(100% - 32px, 1080px);
    max-width: 1080px;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none;
}

.stv-panoramakameras-overview-bottom-ad.is-ready {
    height: auto !important;
    max-height: none !important;
    margin: -34px auto 48px !important;
    overflow: visible !important;
    pointer-events: auto;
}

.stv-panoramakameras-overview-bottom-ad__inner,
.stv-panoramakameras-overview-bottom-ad .stv-gam-ad-slot,
.stv-panoramakameras-overview-bottom-ad .stv-gam-ad-slot__container,
.stv-panoramakameras-overview-bottom-ad .stv-google-ad-slot,
.stv-panoramakameras-overview-bottom-ad .stv-google-ad-slot__container,
.stv-panoramakameras-overview-bottom-ad .stv-google-slot,
.stv-panoramakameras-overview-bottom-ad .stv-google-slot__inner,
.stv-panoramakameras-overview-bottom-ad .adsbygoogle,
.stv-panoramakameras-overview-bottom-ad ins.adsbygoogle {
    display: block !important;
    width: 100% !important;
    max-width: 1080px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

@media (min-width: 1420px) {
    .stv-panoramakameras-overview-desktop-sticky-ads {
        display: block;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad {
        position: fixed;
        top: 128px;
        z-index: 12;
        width: clamp(140px, calc(((100vw - 1080px) / 2) - 40px), 220px);
        max-width: 220px;
        min-width: 140px;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--left {
        right: calc(50% + 540px + 32px);
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--right {
        left: calc(50% + 540px + 0px);
    }

    .stv-panoramakameras-overview-desktop-sticky-ad__inner {
        width: 100%;
        max-width: 220px;
        min-width: 0;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--left .stv-panoramakameras-overview-desktop-sticky-ad__inner,
    .stv-panoramakameras-overview-desktop-sticky-ad--left .stv-gam-ad-slot__container {
        display: flex !important;
        justify-content: flex-end !important;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--left .stv-gam-ad-slot,
    .stv-panoramakameras-overview-desktop-sticky-ad--left .stv-gam-ad-slot__container {
        margin-left: auto !important;
        margin-right: 0 !important;
        text-align: right !important;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad__inner .stv-google-ad-slot,
    .stv-panoramakameras-overview-desktop-sticky-ad__inner .stv-google-ad-slot__inner,
    .stv-panoramakameras-overview-desktop-sticky-ad__inner .stv-gam-ad-slot,
    .stv-panoramakameras-overview-desktop-sticky-ad__inner .stv-gam-ad-slot__container,
    .stv-panoramakameras-overview-desktop-sticky-ad__inner .adsbygoogle,
    .stv-panoramakameras-overview-desktop-sticky-ad__inner ins.adsbygoogle {
        width: 100% !important;
        max-width: 220px !important;
        min-width: 0 !important;
    }
}

@media (min-width: 1224px) and (max-width: 1419px) {
    .stv-panoramakameras-overview-desktop-sticky-ads {
        display: block;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad {
        display: none !important;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--right {
        display: block !important;
        position: fixed;
        top: 128px;
        right: -12px;
        z-index: 12;
        width: clamp(120px, calc(100vw - 1104px), 220px);
        max-width: 220px;
        min-width: 120px;
    }

    .stv-panoramakameras-overview-desktop-sticky-ad--right .stv-panoramakameras-overview-desktop-sticky-ad__inner,
    .stv-panoramakameras-overview-desktop-sticky-ad--right .stv-google-ad-slot,
    .stv-panoramakameras-overview-desktop-sticky-ad--right .stv-google-ad-slot__inner,
    .stv-panoramakameras-overview-desktop-sticky-ad--right .stv-gam-ad-slot,
    .stv-panoramakameras-overview-desktop-sticky-ad--right .stv-gam-ad-slot__container,
    .stv-panoramakameras-overview-desktop-sticky-ad--right .adsbygoogle,
    .stv-panoramakameras-overview-desktop-sticky-ad--right ins.adsbygoogle {
        width: 100% !important;
        max-width: 220px !important;
        min-width: 0 !important;
    }
}

@media (max-width: 1223px) {
    .stv-panoramakameras-overview-desktop-sticky-ads,
    .stv-panoramakameras-overview-desktop-sticky-ad {
        display: none !important;
    }
}

@media (max-width: 1079px) {
    .stv-panoramakameras-overview-layout {
        width: min(100% - 28px, 100%) !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 20px auto 28px !important;
        padding: var(--stv-stage-padding) !important;
        grid-template-columns: 1fr !important;
        row-gap: 18px !important;
    }

    .stv-panoramakameras-overview-layout::before,
    .stv-panoramakameras-overview-layout::after {
        display: none !important;
    }

    .stv-panoramakameras-overview-hero,
    .stv-panoramakameras-overview-hero-card,
    .stv-panoramakameras-overview-live,
    .stv-panoramakameras-overview-intro,
    .stv-panoramakameras-overview-cameras {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .stv-panoramakameras-overview-hero {
        margin-bottom: 0 !important;
    }

    .stv-panoramakameras-overview-hero-card {
        min-height: 0 !important;
        padding: 14px 18px 16px !important;
        border-radius: 20px !important;
    }

    .stv-panoramakameras-overview-live__video {
        border-radius: 20px !important;
    }

    .stv-panoramakameras-overview-intro {
        margin-top: 0 !important;
        border-radius: 20px !important;
        background: linear-gradient(160deg, #1d6f2e 0%, #145826 36%, #0d441e 68%, #072f15 100%) !important;
    }

    .stv-panoramakameras-overview-intro__body {
        padding: 20px !important;
    }

    .stv-panoramakameras-overview-intro__body p,
    .stv-panoramakameras-overview-intro__body li {
        max-width: none !important;
    }

    .stv-panoramakameras-overview-cameras {
        border-radius: 20px !important;
        padding: 18px 16px 20px !important;
    }

    .stv-panoramakameras-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .stv-panoramakameras-overview-bottom-ad {
        width: min(100% - 28px, 1080px);
    }

    .stv-panoramakameras-overview-bottom-ad.is-ready {
        margin: -10px auto 32px !important;
    }
}

@media (max-width: 589px) {
    .stv-panoramakameras-overview-layout {
        width: min(100% - 18px, 100%) !important;
        margin: 14px auto 22px !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        row-gap: 16px !important;
    }

    .stv-panoramakameras-overview-hero-card,
    .stv-panoramakameras-overview-live__video,
    .stv-panoramakameras-overview-intro,
    .stv-panoramakameras-overview-cameras,
    .stv-panoramakameras-overview-card__link {
        border-radius: 18px !important;
    }

    .stv-panoramakameras-overview-hero-card {
        padding: 14px 18px 16px !important;
    }

    .stv-panoramakameras-overview-hero__title {
        font-size: clamp(1.45rem, 5.5vw, 1.95rem) !important;
        line-height: 1.04 !important;
    }

    .stv-panoramakameras-overview-intro__body {
        padding: 16px 14px 18px !important;
    }

    .stv-panoramakameras-overview-intro__body h1,
    .stv-panoramakameras-overview-intro__body h2,
    .stv-panoramakameras-overview-intro__body h3,
    .stv-panoramakameras-overview-intro__body h4,
    .stv-panoramakameras-overview-intro__body h5,
    .stv-panoramakameras-overview-intro__body h6 {
        font-size: 1.34rem !important;
    }

    .stv-panoramakameras-overview-intro__body p,
    .stv-panoramakameras-overview-intro__body li {
        font-size: 1rem !important;
        line-height: 1.56 !important;
    }

    .stv-panoramakameras-overview-cameras {
        padding: 16px 14px 18px !important;
    }

    .stv-panoramakameras-overview-cameras__header {
        margin-bottom: 14px !important;
    }

    .stv-panoramakameras-overview-cameras__title {
        font-size: clamp(1.45rem, 5.5vw, 1.95rem) !important;
        line-height: 1.04 !important;
    }

    .stv-panoramakameras-overview-grid {
        grid-template-columns: 1fr !important;
        gap: 11px !important;
    }

    .stv-panoramakameras-overview-card__content {
        padding: 14px 14px 16px !important;
    }

    .stv-panoramakameras-overview-card__title {
        font-size: 1.12rem !important;
        line-height: 1.1 !important;
    }

    .stv-panoramakameras-overview-card__text {
        font-size: 0.92rem !important;
        line-height: 1.4 !important;
        -webkit-line-clamp: 2;
    }

    .stv-panoramakameras-overview-card__button {
        width: 100%;
        min-height: 40px;
    }

    .stv-panoramakameras-overview-bottom-ad {
        width: min(100% - 18px, 1080px);
    }

    .stv-panoramakameras-overview-bottom-ad.is-ready {
        margin: -6px auto 28px !important;
    }
}

/* =========================
   PANORAMAKAMERAS-UEBERBLICK: SCHRITT 3
   - weissen Layout-Rahmen transparent machen
   - GAM-Slots auf bestehende Slot-/Seitentyp-Logik ausrichten
   - Home Wide 1/2/3 nach Kamera-Zeile 2/4/6 einbinden
========================= */
.stv-panoramakameras-overview-layout {
    background: transparent !important;
}

.stv-panoramakameras-overview-live,
.stv-panoramakameras-overview-live__video {
    border: 0 !important;
    outline: 0 !important;
}

.stv-panoramakameras-overview-live__video {
    box-shadow: var(--stv-shadow-main) !important;
}

.stv-panoramakameras-overview-grid-ad {
    grid-column: 1 / -1 !important;
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 4px 0 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.stv-panoramakameras-overview-grid-ad.is-ready {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

.stv-panoramakameras-overview-grid-ad .stv-ad-frame__label {
    display: none !important;
}

.stv-panoramakameras-overview-grid-ad.is-ready .stv-ad-frame__label {
    display: block !important;
}

.stv-panoramakameras-overview-grid-ad__inner,
.stv-panoramakameras-overview-grid-ad .stv-google-slot,
.stv-panoramakameras-overview-grid-ad .stv-google-slot__inner,
.stv-panoramakameras-overview-grid-ad .stv-google-ad-slot,
.stv-panoramakameras-overview-grid-ad .stv-google-ad-slot__inner,
.stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot,
.stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot__container,
.stv-panoramakameras-overview-grid-ad .adsbygoogle,
.stv-panoramakameras-overview-grid-ad ins.adsbygoogle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.stv-panoramakameras-overview-grid-ad iframe,
.stv-panoramakameras-overview-grid-ad img,
.stv-panoramakameras-overview-grid-ad object,
.stv-panoramakameras-overview-grid-ad embed {
    display: block !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

@media (min-width: 1080px) {
    .stv-panoramakameras-overview-grid-ad {
        margin-top: 8px !important;
        margin-bottom: 12px !important;
    }

    .stv-panoramakameras-overview-grid-ad__inner,
    .stv-panoramakameras-overview-grid-ad .stv-google-slot,
    .stv-panoramakameras-overview-grid-ad .stv-google-slot__inner,
    .stv-panoramakameras-overview-grid-ad .stv-google-ad-slot,
    .stv-panoramakameras-overview-grid-ad .stv-google-ad-slot__inner,
    .stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot,
    .stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot__container,
    .stv-panoramakameras-overview-grid-ad .adsbygoogle,
    .stv-panoramakameras-overview-grid-ad ins.adsbygoogle {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 1079px) {
    .stv-panoramakameras-overview-layout {
        background: transparent !important;
    }

    .stv-panoramakameras-overview-grid-ad {
        margin-top: 4px !important;
        margin-bottom: 8px !important;
    }
}

@media (max-width: 589px) and (orientation: portrait) {
    .stv-panoramakameras-overview-grid-ad {
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px auto 8px !important;
    }

    .stv-panoramakameras-overview-grid-ad__inner,
    .stv-panoramakameras-overview-grid-ad .stv-google-slot,
    .stv-panoramakameras-overview-grid-ad .stv-google-slot__inner,
    .stv-panoramakameras-overview-grid-ad .stv-google-ad-slot,
    .stv-panoramakameras-overview-grid-ad .stv-google-ad-slot__inner,
    .stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot,
    .stv-panoramakameras-overview-grid-ad .stv-gam-ad-slot__container,
    .stv-panoramakameras-overview-grid-ad .adsbygoogle,
    .stv-panoramakameras-overview-grid-ad ins.adsbygoogle,
    .stv-panoramakameras-overview-grid-ad iframe,
    .stv-panoramakameras-overview-grid-ad img,
    .stv-panoramakameras-overview-grid-ad object,
    .stv-panoramakameras-overview-grid-ad embed {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================
   PANORAMAKAMERA: REIHENFOLGE KAMERA / GAM / BENACHBARTE KAMERAS
   - gilt fuer Website, responsive Ansichten und App-WebView-Kontext
   - korrigiert globale Episode-Flex-Order-Regeln, die gam_block_2 und Nachbar-Kameras vor die Kamera ziehen konnten
========================= */
.stv-panoramakamera-layout .stv-episode-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-episode-top-banner-tablet {
    order: 10 !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-episode-video,
.stv-panoramakamera-layout .stv-episode-main > .stv-panoramakamera-live-feed-panel {
    order: 20 !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-mobile-actions {
    order: 25 !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-panoramakamera-gam-after-camera,
.stv-panoramakamera-layout .stv-episode-main > .stv-episode-google-block.stv-episode-slider-ad,
.stv-panoramakamera-layout .stv-episode-main > .stv-episode-slider-ad[data-ad-slot-handle="gam_block_2"] {
    order: 30 !important;
    margin-top: 14px !important;
    margin-bottom: 18px !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-panoramakamera-neighbor-cameras--inline {
    order: 40 !important;
}

.stv-panoramakamera-layout .stv-episode-main > .stv-episode-main-content {
    order: 50 !important;
}

