/* =========================================================
   LOKALE WEBFONTS
   ========================================================= */

@font-face {
    font-family: "Inter";
    src: url("../fonts/inter-400.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/inter-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/inter-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/montserrat-600.woff2") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../fonts/montserrat-700.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}


/* =========================================================
   TYPOGRAFIE
   ========================================================= */

:root {
    --sv-font-body: "Inter", Arial, sans-serif;
    --sv-font-heading: "Montserrat", "Inter", Arial, sans-serif;

    --cassiopeia-font-family-body: var(--sv-font-body);
    --cassiopeia-font-family-headings: var(--sv-font-heading);
}

html,
body {
    font-family: var(--sv-font-body) !important;
    font-weight: 400;
}

button,
input,
select,
textarea {
    font-family: var(--sv-font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--sv-font-heading) !important;
}

h1 {
    font-weight: 700;
}

h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
}

.sv-nav-global,
.sv-nav-global a,
.mod-menu,
.mod-menu a {
    font-family: var(--sv-font-body) !important;
    font-weight: 500;
}
/* =========================================================
   SACHSENVERMITTLUNG – BASIS
   ========================================================= */

:root{
    --sv-gold:#caa04a;
    --sv-gold-hover:#d8b15a;
    --sv-black:#070707;
    --sv-dark:#121212;
    --sv-dark-soft:#181818;
    --sv-blue:#071a3a;
    --sv-light:#f5f1e8;
    --sv-text:#f5f5f5;
    --sv-muted:#d8d8d8;
    --sv-radius:8px;
    --sv-max:1450px;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:#111;
    color:var(--sv-text);
    overflow-x:hidden;
}

a{
    color:var(--sv-gold);
}

img{
    max-width:100%;
}

.site-grid{
    display:block !important;
    grid-template-columns:1fr !important;
    background:#111;
}

.container-component,
main{
    width:100% !important;
    max-width:none !important;
}

.sidebar-left,
.container-sidebar-left,
[class*="container-sidebar-left"]{
    display:none !important;
}

/* Cassiopeia-Standardheader wird durch SachsenArtist ersetzt */
.container-header{
    display:none !important;
}

/* -----------------------------------------
   Gemeinsame Typografie
   ----------------------------------------- */

.sv-kicker{
    margin:0 0 1rem;
    color:var(--sv-gold);
    text-transform:uppercase;
    letter-spacing:.15em;
    font-weight:800;
}

.sv-lead{
    max-width:900px;
    margin:0 auto 36px;
    color:#444;
    font-size:1.15rem;
    line-height:1.7;
}

.sv-section-dark .sv-lead{
    color:#ddd;
}

.sv-section{
    padding:70px 6vw;
    background:#fff;
    color:#111;
    text-align:center;
}

.sv-section h2{
    margin:.25rem 0 2rem;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.1;
    font-weight:900;
}

.sv-section-dark{
    background:#111;
    color:#fff;
}

.sv-section-dark h2,
.sv-section-dark h3{
    color:#fff;
}

/* -----------------------------------------
   Buttons
   ----------------------------------------- */

.sv-button,
.btn-primary,
button.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    padding:16px 30px;
    background:var(--sv-gold);
    border:1px solid var(--sv-gold);
    border-radius:4px;
    color:#111 !important;
    font-weight:800;
    text-decoration:none !important;
    text-transform:uppercase;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.sv-button:hover,
.btn-primary:hover,
button.btn-primary:hover{
    background:var(--sv-gold-hover);
    border-color:var(--sv-gold-hover);
    transform:translateY(-1px);
}

.sv-button-secondary{
    background:transparent !important;
    color:#fff !important;
    border-color:rgba(255,255,255,.55) !important;
}

.sv-button-secondary:hover{
    color:var(--sv-gold) !important;
    border-color:var(--sv-gold) !important;
}

/* -----------------------------------------
   Generischer Hero für Unterseiten
   ----------------------------------------- */

.sv-hero{
    min-height:620px;
    display:flex;
    align-items:center;
    margin:0 calc(50% - 50vw);
    padding:90px 6vw;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.90) 0%,
            rgba(0,0,0,.62) 45%,
            rgba(0,0,0,.20) 100%
        );
    color:#fff;
}

.sv-hero-inner{
    max-width:720px;
}

.sv-hero h1{
    margin:0 0 24px;
    max-width:720px;
    color:#fff;
    font-size:clamp(3rem,5vw,5rem);
    line-height:1.02;
    font-weight:900;
}

.sv-hero p{
    max-width:620px;
    margin:0;
    color:#fff;
    font-size:1.18rem;
    line-height:1.65;
}

.sv-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:28px;
}

.sv-hero-actions .sv-button{
    margin:0;
}
/* =========================================================
   GLOBALER HEADER
   ========================================================= */

.sv-topbar-global{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 4vw;
    background:#050505;
    border-bottom:1px solid rgba(202,160,74,.15);
    color:#d8d8d8;
    font-size:.9rem;
}

.sv-topbar-global a{
    margin-right:22px;
    color:#d8d8d8;
    text-decoration:none;
}

.sv-topbar-global a:hover{
    color:var(--sv-gold);
}

.sv-topbar-global span{
    color:var(--sv-gold);
}

.sv-header-global{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    min-height:86px;
    padding:9px 4vw;
    background:#080808;
    border-bottom:1px solid rgba(202,160,74,.24);
    box-shadow:0 8px 30px rgba(0,0,0,.28);
}

.sv-logo-global{
    display:block;
    flex:0 0 auto;
}

.sv-logo-global img{
    display:block;
    width:auto;
    height:68px;
    max-width:330px;
    object-fit:contain;
}

/* Joomla Menü */

.sv-nav-global{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-left:auto;
}

.sv-nav-global > ul.mod-menu.nav,
.sv-nav-global .mod-menu{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:28px !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.sv-nav-global .mod-menu > li{
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.sv-nav-global .mod-menu > li > a{
    display:block !important;
    padding:11px 0 !important;
    color:#fff !important;
    font-size:.88rem !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-decoration:none !important;
    text-transform:uppercase;
    white-space:nowrap !important;
}

.sv-nav-global .mod-menu > li > a:hover,
.sv-nav-global .mod-menu > li.active > a,
.sv-nav-global .mod-menu > li.current > a{
    color:var(--sv-gold) !important;
}

/* Logo größer */
.sv-logo-global img{
    height:88px;
    max-width:420px;
}

@media(max-width:760px){
    .sv-logo-global img{
        height:60px;
        max-width:300px;
    }
}

/* =========================================================
   HEADER DESKTOP FINAL
   komplette Navigation sichtbar halten
   ========================================================= */

.sv-header-global{
    gap:28px;
    padding-left:4vw;
    padding-right:4vw;
}

.sv-logo-global{
    flex:0 0 auto;
}

.sv-logo-global img{
    height:72px;
    width:auto;
    max-width:300px;
}

.sv-nav-global{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-end;
}

.sv-nav-global > ul.mod-menu.nav,
.sv-nav-global .mod-menu{
    gap:22px !important;
    flex-wrap:nowrap !important;
}

.sv-nav-global > ul.mod-menu.nav > li > a,
.sv-nav-global .mod-menu > li > a{
    font-size:.84rem !important;
    letter-spacing:.025em !important;
    white-space:nowrap !important;
}

/* etwas enger auf normalen Desktopbreiten */
@media(max-width:1450px){

    .sv-header-global{
        gap:20px;
        padding-left:3vw;
        padding-right:3vw;
    }

    .sv-logo-global img{
        height:66px;
        max-width:270px;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        gap:16px !important;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        font-size:.78rem !important;
    }
}

/* Erst auf kleineren Geräten umbrechen */
@media(max-width:1120px){

    .sv-header-global{
        flex-direction:column;
        align-items:flex-start;
    }

    .sv-nav-global{
        width:100%;
        justify-content:flex-start;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        flex-wrap:wrap !important;
        justify-content:flex-start !important;
    }
}

/* =========================================================
   HEADER -> HERO DIREKT
   weißen Zwischenraum entfernen
   ========================================================= */

.sv-header-global{
    margin-bottom:0 !important;
    border-bottom:1px solid rgba(202,160,74,.22) !important;
}

.site-grid,
.container-component,
main,
.com-content-article,
.com-content-article__body{
    margin-top:0 !important;
    padding-top:0 !important;
}

.sv-phase1-home,
.sv-phase1-hero{
    margin-top:0 !important;
    padding-top:0;
}

/* mögliche Cassiopeia-Abstände direkt unter dem Header */
body > .site-grid,
body .site-grid{
    border-top:0 !important;
}

.sv-header-global + .site-grid,
.sv-header-global + main{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* =========================================================
   HEADER KOMPAKT FINAL
   größeres Logo, geringere Höhe, Navigation tiefer
   ========================================================= */

.sv-header-global{
    min-height:78px !important;
    height:auto !important;

    padding:
        6px
        3vw
        5px !important;

    align-items:center !important;

    gap:30px !important;

    background:#080808 !important;

    border-bottom:
        1px solid
        rgba(202,160,74,.28) !important;
}

/* Logo sichtbar größer */
.sv-logo-global{
    flex:0 0 auto !important;
    align-self:center !important;
}

.sv-logo-global img{
    display:block !important;

    height:94px !important;
    width:auto !important;

    max-width:390px !important;

    object-fit:contain !important;
}

/* Navigation nach unten setzen */
.sv-nav-global{
    flex:1 1 auto !important;

    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;

    min-width:0 !important;

    margin-left:auto !important;

    padding-top:20px !important;
}

/* Menü horizontal */
.sv-nav-global > ul.mod-menu.nav,
.sv-nav-global .mod-menu{
    display:flex !important;

    align-items:flex-end !important;
    justify-content:flex-end !important;

    flex-wrap:nowrap !important;

    gap:24px !important;

    margin:0 !important;
    padding:0 !important;
}

/* Menütexte kompakt */
.sv-nav-global > ul.mod-menu.nav > li,
.sv-nav-global .mod-menu > li{
    margin:0 !important;
    padding:0 !important;
}

.sv-nav-global > ul.mod-menu.nav > li > a,
.sv-nav-global .mod-menu > li > a{
    display:block !important;

    padding:
        8px
        0
        2px !important;

    font-size:.82rem !important;

    font-weight:800 !important;

    line-height:1.1 !important;

    letter-spacing:.035em !important;

    white-space:nowrap !important;
}

/* normales Desktop */
@media(max-width:1500px){

    .sv-header-global{
        gap:22px !important;
        padding-left:2.5vw !important;
        padding-right:2.5vw !important;
    }

    .sv-logo-global img{
        height:86px !important;
        max-width:350px !important;
    }

    .sv-nav-global{
        padding-top:18px !important;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        gap:17px !important;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        font-size:.76rem !important;
    }
}

/* kleiner Desktop / Tablet */
@media(max-width:1150px){

    .sv-header-global{
        flex-direction:column !important;
        align-items:flex-start !important;

        padding-top:9px !important;
        padding-bottom:9px !important;
    }

    .sv-logo-global img{
        height:74px !important;
    }

    .sv-nav-global{
        width:100% !important;

        padding-top:0 !important;

        justify-content:flex-start !important;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        justify-content:flex-start !important;
        flex-wrap:wrap !important;

        gap:10px 18px !important;
    }
}

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

    .sv-header-global{
        min-height:0 !important;
    }

    .sv-logo-global img{
        height:62px !important;
        max-width:280px !important;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        font-size:.74rem !important;
    }
}

/* =========================================================
   HEADER ABSTÄNDE FINAL
   Logo oben max. 5px / Nav 5px über Linie
   ========================================================= */

.sv-header-global{
    padding-top:5px !important;
    padding-bottom:5px !important;
}

/* Logo fast an Oberkante */
.sv-logo-global{
    align-self:flex-start !important;
    margin-top:0 !important;
}

.sv-logo-global img{
    margin-top:0 !important;
}

/* Navigation exakt 5px über der unteren Linie */
.sv-nav-global{
    align-self:stretch !important;
    display:flex !important;
    align-items:flex-end !important;
    padding-top:0 !important;
    padding-bottom:5px !important;
}

.sv-nav-global > ul.mod-menu.nav,
.sv-nav-global .mod-menu{
    margin:0 !important;
    padding:0 !important;
    align-items:flex-end !important;
}

.sv-nav-global > ul.mod-menu.nav > li > a,
.sv-nav-global .mod-menu > li > a{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

/* =========================================================
   HEADER FEINTUNING
   Logo bündig an Oberkante
   ========================================================= */

.sv-header-global{
    padding-top:0 !important;
}

.sv-logo-global{
    margin-top:0 !important;
    padding-top:0 !important;
    align-self:flex-start !important;
}

.sv-logo-global img{
    display:block !important;
    margin-top:0 !important;
    padding-top:0 !important;
    vertical-align:top !important;
}

/* =========================================================
   NAVIGATION – SCHRIFTGRÖSSE DESKTOP
   ========================================================= */

@media (min-width: 1200px) {
    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a {
        font-size: 1rem !important;
    }
}


/* =========================================================
   HEADER / NAVIGATION – STICKY
   ========================================================= */

.sv-header-global {
    position: sticky !important;
    top: 0;
    z-index: 1000;
    background: #050505;
}


/* =========================================================
   DESKTOP / TABLET WIDE
   Navigation darf unter das Logo rutschen
   ========================================================= */

@media (min-width:821px) and (max-width:1500px) {

    .sv-header-global {
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:flex-start;
    }

    .sv-logo-global {
        flex:0 0 100%;
    }

    .sv-nav-global {
        flex:0 0 100%;
        width:100%;
        margin-top:4px;
        justify-content:flex-start;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu {
        width:100%;
        justify-content:flex-start !important;
        flex-wrap:nowrap !important;
    }
}

/* Desktop mittel – Logo + Navigation kompakt untereinander */
@media (min-width:821px) and (max-width:1500px) {

    .sv-header-global {
        height:auto !important;
        min-height:0 !important;
        padding-top:8px !important;
        padding-bottom:6px !important;
        row-gap:7px !important;
    }

    .sv-logo-global {
        flex:0 0 auto !important;
        width:100% !important;
        height:auto !important;
        margin:0 !important;
        padding:0 !important;
    }

    .sv-logo-global img {
        display:block;
        margin:0 !important;
    }

    .sv-nav-global {
        position:static !important;
        flex:0 0 auto !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        transform:none !important;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu {
        margin:0 !important;
        padding:0 !important;
    }
}
/* =========================================================
   HOME – PHASE 1
   ========================================================= */

.sv-phase1-home{
    background:#fff;
}

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

.sv-phase1-hero{
    position:relative;
    min-height:720px;
    display:flex;
    align-items:center;
    padding:90px 6vw 75px;
    overflow:hidden;
    background:
        url('/images/sachsenartist/images-hero/hero-bild-2.jpg')
        center 42% / cover no-repeat;
}

.sv-phase1-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.76) 37%,
            rgba(0,0,0,.40) 64%,
            rgba(0,0,0,.10) 100%
        );
}

.sv-phase1-hero-content{
    position:relative;
    z-index:2;
    width:100%;
    max-width:820px;
}

.sv-phase1-hero h1{
    margin:10px 0 24px;
    color:#fff;
    font-size:clamp(3rem,5.5vw,5.6rem);
    line-height:.98;
    font-weight:900;
}

.sv-phase1-hero h1 span{
    display:block;
    margin-top:15px;
    color:var(--sv-gold);
    font-size:clamp(1.35rem,2.5vw,2.1rem);
    line-height:1.15;
}

.sv-phase1-hero p{
    max-width:720px;
    margin:0;
    color:#f2f2f2;
    font-size:1.2rem;
    line-height:1.7;
}

.sv-phase1-hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:30px;
}

.sv-phase1-button-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 25px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:4px;
    color:#fff !important;
    font-weight:800;
    text-decoration:none !important;
    text-transform:uppercase;
}

.sv-phase1-button-secondary:hover{
    color:var(--sv-gold) !important;
    border-color:var(--sv-gold);
}

/* Trust */

.sv-phase1-trust{
    display:flex;
    flex-wrap:wrap;
    gap:36px;
    margin-top:46px;
}

.sv-phase1-trust > div{
    padding-right:35px;
    border-right:1px solid rgba(202,160,74,.42);
}

.sv-phase1-trust > div:last-child{
    padding-right:0;
    border-right:0;
}

.sv-phase1-trust strong{
    display:block;
    color:var(--sv-gold);
    font-size:1.3rem;
}

.sv-phase1-trust span{
    display:block;
    margin-top:3px;
    color:#ddd;
}

/* -----------------------------------------
   Veranstaltungswelten
   ----------------------------------------- */

.sv-phase1-events{
    padding-top:78px;
    padding-bottom:82px;
}

.sv-phase1-event-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    max-width:var(--sv-max);
    margin:44px auto 0;
}

.sv-phase1-event-card{
    position:relative;
    display:block;
    min-height:330px;
    overflow:hidden;
    border-radius:10px;
    background:#111;
    box-shadow:0 15px 34px rgba(0,0,0,.15);
    text-decoration:none !important;
}

.sv-phase1-event-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.sv-phase1-event-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.94) 0%,
            rgba(0,0,0,.45) 48%,
            rgba(0,0,0,.05) 100%
        );
}

.sv-phase1-event-card > span{
    position:absolute;
    z-index:2;
    left:26px;
    right:26px;
    bottom:25px;
    color:#fff;
    text-align:left;
}

.sv-phase1-event-card strong{
    display:block;
    margin-bottom:7px;
    color:#fff;
    font-size:1.5rem;
    line-height:1.15;
}

.sv-phase1-event-card small{
    display:block;
    color:#e6e6e6;
    font-size:.98rem;
    line-height:1.45;
}

.sv-phase1-event-card:hover img{
    transform:scale(1.04);
}

.sv-phase1-event-card:nth-child(3) img{
    object-position:center 18%;
}

/* -----------------------------------------
   Top Bands
   ----------------------------------------- */

.sv-phase1-topbands{
    padding-top:82px;
    padding-bottom:88px;
}

.sv-phase1-band-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
    max-width:1300px;
    margin:44px auto 0;
}

.sv-phase1-band-card{
    overflow:hidden;
    background:#181818;
    border:1px solid rgba(202,160,74,.28);
    border-radius:10px;
}

/* Die 3 bewusst stärker hervorheben */
.sv-phase1-band-card:nth-child(2){
    border:2px solid var(--sv-gold);
    box-shadow:0 0 0 1px rgba(202,160,74,.10),
               0 20px 45px rgba(0,0,0,.28);
}

.sv-phase1-band-image{
    aspect-ratio:16/9;
    overflow:hidden;
    background:#050505;
}

.sv-phase1-band-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.sv-phase1-band-card:first-child .sv-phase1-band-image img{
    object-fit:contain;
}

.sv-phase1-band-content{
    padding:30px;
    text-align:left;
}

.sv-phase1-band-content h3{
    margin:0 0 8px;
    color:#fff;
    font-size:1.8rem;
}

.sv-phase1-band-card:nth-child(2) h3{
    color:var(--sv-gold);
}

.sv-phase1-band-content p{
    color:#ddd;
    line-height:1.7;
}

/* -----------------------------------------
   Weitere Angebote
   ----------------------------------------- */

.sv-phase1-offers{
    padding-top:78px;
    padding-bottom:82px;
}

.sv-phase1-offer-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    max-width:1300px;
    margin:42px auto 0;
}

.sv-phase1-offer-grid a{
    display:block;
    padding:30px;
    background:#f6f2e9;
    border:1px solid #e2d8c6;
    border-radius:9px;
    color:#111 !important;
    text-align:left;
    text-decoration:none !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.sv-phase1-offer-grid a:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 30px rgba(0,0,0,.10);
}

.sv-phase1-offer-grid strong{
    display:block;
    margin-bottom:8px;
    color:#0a1830;
    font-size:1.2rem;
}

.sv-phase1-offer-grid span{
    color:#555;
    line-height:1.55;
}

/* -----------------------------------------
   Warum Sachsenvermittlung?
   ----------------------------------------- */

.sv-phase1-why{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:var(--sv-max);
    margin:0 auto 65px;
    overflow:hidden;
    background:#f3efe6;
    border-radius:10px;
}

.sv-phase1-why > div{
    padding:34px 28px;
    border-right:1px solid #ddd3c1;
    text-align:center;
}

.sv-phase1-why > div:last-child{
    border-right:0;
}

.sv-phase1-why strong{
    display:block;
    margin-bottom:10px;
    color:#111;
    text-transform:uppercase;
}

.sv-phase1-why p{
    margin:0;
    color:#4a4a4a;
    line-height:1.6;
}

/* -----------------------------------------
   Abschluss
   ----------------------------------------- */

.sv-phase1-final{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    max-width:var(--sv-max);
    margin:0 auto 65px;
    padding:42px 48px;
    background:var(--sv-blue);
    border-radius:10px;
    color:#fff;
}

.sv-phase1-final h2{
    margin:4px 0 8px;
    color:#fff;
    font-size:clamp(2rem,3vw,2.8rem);
}

.sv-phase1-final p{
    margin:0;
    color:#e1e6ee;
}

/* Markenname im Hero deutlich größer */
.sv-phase1-hero .sv-kicker{
    font-size:clamp(1.35rem,2.5vw,2.1rem);
    line-height:1.15;
    letter-spacing:.08em;
    font-weight:800;
    text-transform:none;
    margin-bottom:18px;
}

/* Goldene Unterzeile im H1 */
.sv-phase1-hero h1 span{
    font-size:clamp(1.35rem,2.5vw,2.1rem);
    line-height:1.15;
}


/* =========================================================
   HOME ABSCHLUSS FINAL
   Kein schwarzer Leerbereich vor dem Footer
   ========================================================= */

.sv-phase1-home{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

.sv-phase1-final{
    margin-bottom:0 !important;
}

.sv-phase1-home > *:last-child{
    margin-bottom:0 !important;
}

.com-content-article,
.com-content-article__body,
.container-component,
main,
.site-grid{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

/* Bereich unmittelbar vor dem Footer bleibt weiß */
main,
.container-component,
.com-content-article{
    background:#fff;
}

/* Homepage: 3 von den Landstreichern – Bildausschnitt 20px tiefer */
.sv-phase1-band-card:nth-child(2) .sv-phase1-band-image img {
    object-position: center calc(50% + 20px);
}

/* Homepage: 3 von den Landstreichern – Bildausschnitt 20px tiefer */
.sv-phase1-band-card:nth-child(2) .sv-phase1-band-image img {
    object-position: center calc(50% + 20px);
}

/* Homepage Bandkarten – Buttons auf gleicher Höhe */
.sv-phase1-band-card {
    display: flex;
    flex-direction: column;
}

.sv-phase1-band-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.sv-phase1-band-content .sv-button {
    margin-top: auto;
    align-self: flex-start;
}


/* =========================================================
   HOME HERO – Haupttexte 10% kleiner
   ========================================================= */

.sv-phase1-hero .sv-kicker {
    font-size: clamp(1.215rem, 2.25vw, 1.89rem);
}

.sv-phase1-hero h1 {
    font-size: clamp(2.7rem, 4.95vw, 5.04rem);
}

.sv-phase1-hero h1 span {
    font-size: clamp(1.215rem, 2.25vw, 1.89rem);
}
/* =========================================================
   BAND- UND EVENT-LANDINGPAGES
   ========================================================= */

.sv-text-block{
    max-width:980px;
    margin:42px auto 0;
    text-align:left;
    font-size:1.08rem;
    line-height:1.8;
}

.sv-text-block p{
    margin:0 0 1.4rem;
}

.sv-text-light{
    color:#e5e5e5;
}

/* -----------------------------------------
   Standard Galerie
   ----------------------------------------- */

.sv-band-gallery,
.sv-band-gallery-balanced{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    max-width:1200px;
    margin:38px auto;
}

.sv-band-gallery figure,
.sv-band-gallery-balanced figure{
    margin:0;
    aspect-ratio:16/10;
    overflow:hidden;
    border-radius:8px;
    background:#111;
}

.sv-band-gallery img,
.sv-band-gallery-balanced img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.sv-band-gallery figure:hover img{
    transform:scale(1.025);
}

.sv-landstreicher-events .sv-band-gallery figure:nth-child(1) img{
    object-fit:contain;
    object-position:center;
}

.sv-landstreicher-events .sv-band-gallery figure:nth-child(2) img{
    object-position:center;
}

.sv-landstreicher-events .sv-band-gallery figure:nth-child(3) img{
    object-position:center 18%;
}

/* -----------------------------------------
   Zwei Spalten
   ----------------------------------------- */

.sv-band-two-column{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:50px;
    align-items:center;
    max-width:1180px;
    margin:42px auto 0;
    text-align:left;
}

.sv-band-image{
    overflow:hidden;
    border-radius:8px;
}

.sv-band-image img{
    display:block;
    width:100%;
    height:auto;
}

.sv-band-copy{
    font-size:1.08rem;
    line-height:1.75;
}

.sv-band-copy p{
    margin:0 0 1.3rem;
}

.sv-small-band-showcase .sv-band-copy{
    color:#e6e6e6;
}

.sv-band-logo{
    display:block;
    max-width:260px;
    height:auto;
    margin:0 auto 30px;
}

/* -----------------------------------------
   Bands für Feste – Anlasskarten
   ----------------------------------------- */

.sv-feste-visual img{
    max-width:100%;
}

.sv-feste-start{
    padding-top:72px;
}

.sv-occasion-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    max-width:1380px;
    margin:42px auto 0;
}

.sv-occasion-card{
    position:relative;
    display:block;
    min-height:300px;
    overflow:hidden;
    border-radius:8px;
    background:#111;
    box-shadow:0 12px 30px rgba(0,0,0,.16);
    text-decoration:none !important;
}

.sv-occasion-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.sv-occasion-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.45) 48%,
            rgba(0,0,0,.08) 100%
        );
}

.sv-occasion-card > span{
    position:absolute;
    z-index:2;
    left:28px;
    right:28px;
    bottom:25px;
    text-align:left;
}

.sv-occasion-card strong{
    display:block;
    margin-bottom:7px;
    color:#fff;
    font-size:1.55rem;
    line-height:1.15;
}

.sv-occasion-card small{
    display:block;
    color:#e5e5e5;
    font-size:.97rem;
    line-height:1.4;
}

.sv-occasion-card:hover img{
    transform:scale(1.04);
}

.sv-occasion-card:nth-child(3) img{
    object-position:center 18%;
}

.sv-occasion-card:nth-child(6) img{
    object-position:center 25%;
}

/* -----------------------------------------
   Große Bandvorstellung
   ----------------------------------------- */

.sv-feature-band{
    padding-top:85px;
    padding-bottom:85px;
}

.sv-feature-band-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);
    gap:60px;
    max-width:1380px;
    margin:0 auto;
    align-items:center;
}

.sv-feature-band-images{
    display:grid;
    grid-template-columns:1.45fr .85fr;
    grid-template-rows:1fr 1fr;
    gap:15px;
    min-height:560px;
}

.sv-feature-band-images figure{
    margin:0;
    overflow:hidden;
    border-radius:8px;
    background:#050505;
}

.sv-feature-band-images img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.sv-feature-band-main{
    grid-row:1 / 3;
}

.sv-feature-band-main img{
    object-fit:contain;
    object-position:center;
}

.sv-feature-band-images figure:nth-child(3) img{
    object-position:center 15%;
}

.sv-feature-band-copy{
    text-align:left;
}

.sv-feature-band-copy h2{
    margin:.15rem 0 12px;
    color:#fff;
    font-size:clamp(2.4rem,4vw,4rem);
}

.sv-feature-band-copy p{
    color:#e3e3e3;
    font-size:1.08rem;
    line-height:1.75;
}

.sv-band-subline{
    color:var(--sv-gold) !important;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

/* -----------------------------------------
   Kompakte Besetzung
   ----------------------------------------- */

.sv-compact-band{
    padding-top:80px;
    padding-bottom:80px;
}

.sv-compact-band-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:60px;
    max-width:1250px;
    margin:0 auto;
    align-items:center;
}

.sv-compact-band-image{
    overflow:hidden;
    border-radius:8px;
}

.sv-compact-band-image img{
    display:block;
    width:100%;
    height:auto;
}

.sv-compact-band-copy{
    text-align:left;
}

.sv-compact-band-copy h2{
    margin:.2rem 0 20px;
    font-size:clamp(2.2rem,3.5vw,3.3rem);
}

.sv-compact-band-copy p{
    font-size:1.07rem;
    line-height:1.75;
}

/* -----------------------------------------
   SEO / FAQ
   ----------------------------------------- */

.sv-feste-seo{
    background:#f5f5f3;
}

.sv-feste-seo-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
    max-width:1100px;
    margin:36px auto 0;
}

.sv-feste-seo-grid > div{
    padding:32px;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:8px;
    text-align:left;
}

.sv-feste-seo-grid h3{
    margin:0 0 13px;
    font-size:1.3rem;
}

.sv-feste-seo-grid p{
    margin:0;
    color:#444;
    line-height:1.75;
}

.sv-feste-trust{
    margin:38px auto 0;
    color:#8b6824;
    font-weight:800;
}

.sv-faq{
    max-width:980px;
    margin:40px auto 0;
    text-align:left;
}

.sv-faq details{
    padding:18px 0;
    border-bottom:1px solid #ddd;
}

.sv-faq summary{
    cursor:pointer;
    font-size:1.12rem;
    font-weight:800;
}

.sv-faq details p{
    margin:14px 0 0;
    color:#444;
    line-height:1.7;
}

.sv-final-cta{
    padding-top:80px;
    padding-bottom:80px;
}

.sv-section.sv-final-cta:not(.sv-section-dark) p{
    color:#444;
}

.sv-section.sv-final-cta:not(.sv-section-dark) h2{
    color:#111;
}

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

.container-footer.footer{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    background:#070707;
    color:#ddd;
}

.container-footer.footer > .grid-child{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}

.container-footer.footer .mod-custom{
    width:100%;
    margin:0;
    padding:0;
}

.sv-footer{
    width:100%;
    background:#070707;
    color:#bbb;
    border-top:1px solid rgba(202,160,74,.28);
}

.sv-footer-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
    max-width:1450px;
    margin:0 auto;
    padding:52px 6vw;
    border-bottom:1px solid rgba(202,160,74,.18);
}

.sv-footer-kicker{
    display:block;
    margin-bottom:8px;
    color:var(--sv-gold);
    font-size:.86rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.sv-footer-cta h2{
    margin:0 0 9px;
    color:#fff;
    font-size:clamp(1.8rem,3vw,2.8rem);
    line-height:1.08;
    font-weight:900;
}

.sv-footer-cta p{
    max-width:760px;
    margin:0;
    color:#c5c5c5;
    font-size:1.05rem;
    line-height:1.65;
}

.sv-footer-cta .sv-button{
    flex:0 0 auto;
    margin:0;
}

.sv-footer-main{
    display:grid;
    grid-template-columns:
        minmax(280px,1.35fr)
        minmax(190px,.8fr)
        minmax(210px,.9fr)
        minmax(230px,.85fr);
    gap:55px;
    max-width:1450px;
    margin:0 auto;
    padding:58px 6vw 52px;
}

.sv-footer-logo{
    display:inline-block;
    margin-bottom:24px;
}

.sv-footer-logo img{
    display:block;
    width:auto;
    height:84px;
    max-width:380px;
    object-fit:contain;
}

.sv-footer-brand p{
    max-width:450px;
    margin:0;
    color:#aaa;
    font-size:.96rem;
    line-height:1.75;
}

.sv-footer-brand strong{
    color:#d8d8d8;
}

.sv-footer-column h3{
    margin:0 0 22px;
    color:#fff;
    font-size:.98rem;
    line-height:1.3;
    font-weight:900;
    letter-spacing:.065em;
    text-transform:uppercase;
}

.sv-footer-column h3::after{
    content:"";
    display:block;
    width:38px;
    height:2px;
    margin-top:11px;
    background:var(--sv-gold);
}

.sv-footer-column > a{
    display:block;
    margin:0 0 11px;
    color:#c5c5c5;
    font-size:.95rem;
    line-height:1.45;
    text-decoration:none;
    transition:color .2s ease,transform .2s ease;
}

.sv-footer-column > a:hover{
    color:var(--sv-gold);
    transform:translateX(2px);
}

.sv-footer-contact p{
    margin:0 0 19px;
    color:#aaa;
    font-size:.96rem;
    line-height:1.7;
}

.sv-footer-contact strong{
    color:#fff;
}

.sv-footer-contact p a{
    color:#d4d4d4;
    text-decoration:none;
}

.sv-footer-contact p a:hover{
    color:var(--sv-gold);
}

.sv-footer-contact .sv-footer-contact-link{
    display:inline-block;
    margin-top:2px;
    color:var(--sv-gold);
    font-weight:800;
}

.sv-footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    max-width:1450px;
    margin:0 auto;
    padding:24px 6vw 28px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#777;
    font-size:.86rem;
}

.sv-footer-bottom nav{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
}

.sv-footer-bottom a{
    color:#999;
    text-decoration:none;
}

.sv-footer-bottom a:hover{
    color:var(--sv-gold);
}

@media(max-width:1100px){
    .sv-footer-main{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:45px;
    }
}

@media(max-width:720px){
    .sv-footer-cta{
        flex-direction:column;
        align-items:flex-start;
        padding-top:42px;
        padding-bottom:42px;
    }

    .sv-footer-main{
        grid-template-columns:1fr;
        gap:38px;
        padding-top:45px;
        padding-bottom:42px;
    }

    .sv-footer-logo img{
        height:70px;
        max-width:300px;
    }

    .sv-footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:14px;
    }
}

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

.sv-footer-main{
    padding-top:46px;
    padding-bottom:42px;
}

.sv-footer-logo{
    margin-bottom:18px;
}

.sv-footer-logo img{
    height:72px;
}

.sv-footer-brand p{
    max-width:390px;
    font-size:.93rem;
    line-height:1.65;
}

.sv-footer-column h3{
    margin-bottom:18px;
}

.sv-footer-column > a{
    margin-bottom:9px;
    font-size:.93rem;
}

.sv-footer-contact p{
    margin-bottom:15px;
}

.sv-footer-bottom{
    padding-top:20px;
    padding-bottom:22px;
}

/* alter Footer-CTA wird nicht mehr verwendet */
.sv-footer-cta{
    display:none !important;
}

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

/* CTA etwas über dem Footer schweben lassen */
.container-footer{
    margin-top:56px;
}

/* Hauptbereich luftiger */
.sv-footer-main{
    padding:72px 0 58px;
    column-gap:64px;
    row-gap:40px;
}

/* Größeres Logo */
.sv-footer-logo img{
    height:92px;
    width:auto;
}

/* Markenbereich */
.sv-footer-brand{
    max-width:360px;
}

.sv-footer-brand p{
    margin-top:22px;
    line-height:1.9;
    font-size:.96rem;
}

/* Überschriften */
.sv-footer-column h3{
    margin-bottom:22px;
    font-size:1rem;
    letter-spacing:.04em;
}

/* Links */
.sv-footer-column a{
    display:block;
    margin-bottom:14px;
    line-height:1.7;
}

/* Kontakt */
.sv-footer-contact p{
    margin-bottom:20px;
    line-height:1.8;
}

/* Copyrightbereich */
.sv-footer-bottom{
    margin-top:34px;
    padding-top:26px;
    padding-bottom:18px;
}

/* =========================================================
   FOOTER 5-SPALTEN LAYOUT
   ========================================================= */

.sv-footer-main.sv-footer-main-5{
    grid-template-columns:
        minmax(260px,1.35fr)
        minmax(170px,.85fr)
        minmax(190px,.95fr)
        minmax(150px,.7fr)
        minmax(210px,.9fr);

    gap:52px;
    align-items:start;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-brand{
    max-width:390px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
    height:96px;
    max-width:420px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-column h3{
    margin-bottom:24px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-column > a{
    margin-bottom:13px;
    line-height:1.65;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-contact p{
    line-height:1.85;
}

@media(max-width:1250px){
    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:1 / -1;
        max-width:520px;
    }
}

@media(max-width:850px){
    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:1 / -1;
    }
}

@media(max-width:620px){
    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:1fr;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:auto;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
        height:78px;
        max-width:320px;
    }
}

/* =========================================================
   FOOTER FINALER FEINSCHLIFF
   ========================================================= */

/* heller Abstand zwischen Seiten-CTA und Footer */
.container-footer.footer{
    margin-top:0 !important;
    border-top:46px solid #fff;
}

/* unnötige Höhe reduzieren */
.sv-footer-main.sv-footer-main-5{
    grid-template-columns:
        minmax(330px,1.45fr)
        minmax(190px,.85fr)
        minmax(245px,1.05fr)
        minmax(145px,.65fr)
        minmax(225px,.9fr);

    gap:42px;

    max-width:1500px;

    padding-top:52px;
    padding-bottom:46px;

    align-items:start;
}

/* Markenblock */
.sv-footer-main.sv-footer-main-5 .sv-footer-brand{
    max-width:430px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-logo{
    margin-bottom:24px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
    height:105px;
    max-width:450px;
}

.sv-footer-brand p{
    max-width:410px;
    margin:0;

    font-size:.96rem;
    line-height:1.75;
}

/* Spalten kompakter */
.sv-footer-main.sv-footer-main-5 .sv-footer-column h3{
    margin:5px 0 22px;

    font-size:1rem;
    line-height:1.15;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-column > a{
    margin-bottom:10px;

    font-size:.94rem;
    line-height:1.5;
}

/* Kontakt kompakter */
.sv-footer-main.sv-footer-main-5 .sv-footer-contact p{
    margin-bottom:16px;

    font-size:.94rem;
    line-height:1.65;
}

.sv-footer-contact .sv-footer-contact-link{
    margin-top:6px;

    line-height:1.45;

    white-space:normal;
}

/* unterer Abschluss näher an Hauptfooter */
.sv-footer-bottom{
    max-width:1500px;

    margin-top:0;

    padding-top:20px;
    padding-bottom:22px;
}

/* Desktop nicht unnötig hoch */
@media(min-width:1251px){
    .sv-footer-main.sv-footer-main-5{
        min-height:0 !important;
    }
}

/* Tablet */
@media(max-width:1250px){

    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:38px 55px;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:1 / -1;
        max-width:560px;
    }
}

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

    .container-footer.footer{
        border-top-width:30px;
    }

    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:1fr;

        padding-top:38px;
        padding-bottom:34px;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:auto;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
        height:84px;
        max-width:330px;
    }
}

/* =========================================================
   FOOTER KOMPAKT FINAL
   ========================================================= */

/* Harte Trennfläche oberhalb des Footers entfernen */
.container-footer.footer{
    margin-top:0 !important;
    border-top:0 !important;
    padding-top:0 !important;
}

.sv-footer{
    margin-top:0 !important;
    border-top:1px solid rgba(202,160,74,.22);
}

/* Hauptbereich kompakter und besser gewichtet */
.sv-footer-main.sv-footer-main-5{
    grid-template-columns:
        minmax(400px,1.75fr)
        minmax(185px,.82fr)
        minmax(245px,1fr)
        minmax(145px,.65fr)
        minmax(225px,.88fr);

    gap:34px;

    max-width:1500px;

    padding-top:46px;
    padding-bottom:34px;
}

/* Markenblock stärker */
.sv-footer-main.sv-footer-main-5 .sv-footer-brand{
    max-width:470px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-logo{
    margin-bottom:20px;
}

.sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
    height:112px;
    max-width:470px;
}

.sv-footer-brand p{
    max-width:440px;
    font-size:.95rem;
    line-height:1.7;
}

/* Überschriften */
.sv-footer-main.sv-footer-main-5 .sv-footer-column h3{
    margin:2px 0 19px;
    font-size:.98rem;
}

/* Links kompakter */
.sv-footer-main.sv-footer-main-5 .sv-footer-column > a{
    margin-bottom:9px;
    line-height:1.45;
    font-size:.93rem;
}

/* Kontakt */
.sv-footer-main.sv-footer-main-5 .sv-footer-contact p{
    margin-bottom:13px;
    line-height:1.58;
    font-size:.93rem;
}

.sv-footer-contact-data{
    margin-top:18px !important;
}

.sv-footer-contact .sv-footer-contact-link{
    display:inline-block;
    margin-top:4px;
    font-weight:800;
    line-height:1.3;
}

/* Abschlusszeile näher an Hauptbereich */
.sv-footer-bottom{
    max-width:1500px;

    margin-top:0;

    padding-top:16px;
    padding-bottom:18px;

    font-size:.84rem;
}

.sv-footer-bottom nav{
    gap:12px;
}

.sv-footer-bottom nav span{
    color:#555;
}

/* Tablet */
@media(max-width:1250px){

    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:34px 50px;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:1 / -1;
        max-width:560px;
    }
}

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

    .sv-footer-main.sv-footer-main-5{
        grid-template-columns:1fr;
        padding-top:36px;
        padding-bottom:28px;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-brand{
        grid-column:auto;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-logo img{
        height:88px;
        max-width:340px;
    }

    .sv-footer-bottom{
        gap:10px;
    }
}

/* =========================================================

/* =========================================================
   CTA -> FOOTER FINAL
   10px weiß, danach schwarzer Footer
   ========================================================= */

.container-footer.footer{
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:10px solid #fff !important;
    background:#000 !important;
}

.container-footer.footer > .grid-child{
    margin:0 !important;
    padding:0 !important;
    background:#000 !important;
}

.sv-footer{
    margin:0 !important;
    border-top:0 !important;
    background:#000 !important;
}

/* =========================================================
   FOOTER ABSTAND FINAL
   exakt 10px weiß
   ========================================================= */

.container-footer.footer{
    margin:0 !important;
    padding:0 !important;
    border-top:10px solid #fff !important;
    background:#000 !important;
}

.container-footer.footer > .grid-child{
    margin:0 !important;
    padding:0 !important;
    background:#000 !important;
}

.sv-footer{
    margin:0 !important;
    border:0 !important;
    background:#000 !important;
}

/* =========================================================
   COPYRIGHT MODUL
   ========================================================= */

.container-copyright,
.sv-copyright{
    background:#000 !important;
}

.sv-copyright{
    max-width:1500px;
    margin:0 auto;
    padding:17px 4vw 20px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#888;
    font-size:.84rem;
    line-height:1.5;
}

@media(max-width:700px){
    .sv-copyright{
        padding:15px 6vw 18px;
        text-align:center;
    }
}

/* =========================================================
   FOOTER – SICHERER INNENABSTAND
   ========================================================= */

.sv-footer-global {
    box-sizing: border-box;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

.sv-footer-global * {
    box-sizing: border-box;
}

@media (max-width: 760px) {
    .sv-footer-global {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 400px) {
    .sv-footer-global {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* =========================================================
   FOOTER MOBILE – TATSÄCHLICHER INNENCONTAINER
   ========================================================= */

.sv-footer-main.sv-footer-main-5 {
    box-sizing:border-box;
    padding-left:clamp(24px,6vw,90px);
    padding-right:clamp(24px,6vw,90px);
}

@media (max-width:680px) {

    .sv-footer-main.sv-footer-main-5 {
        width:100%;
        padding-left:24px !important;
        padding-right:24px !important;
    }

    .sv-footer-main.sv-footer-main-5 > * {
        min-width:0;
        max-width:100%;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-logo {
        display:block;
        max-width:100%;
    }

    .sv-footer-main.sv-footer-main-5 .sv-footer-logo img {
        width:auto;
        height:auto;
        max-width:100% !important;
    }

    .sv-footer-brand p,
    .sv-footer-column,
    .sv-footer-contact {
        max-width:100% !important;
        overflow-wrap:break-word;
    }
}

@media (max-width:380px) {

    .sv-footer-main.sv-footer-main-5 {
        padding-left:20px !important;
        padding-right:20px !important;
    }
}
/* =========================================================
   KÜNSTLER
   ========================================================= */

body.itemid-954,
body.itemid-954 .site-grid,
body.itemid-954 main,
body.itemid-954 .container-component,
body.itemid-954 .com-content-article{
    background:#111 !important;
    color:#fff !important;
}

body.itemid-954 .grid-child,
body.itemid-954 .item-page{
    background:transparent !important;
}

body.itemid-954 h1,
body.itemid-954 h2,
body.itemid-954 h3{
    color:#fff !important;
}

body.itemid-954 p{
    color:#ddd;
}

body.itemid-954 a{
    color:#caa04a;
}
/* =========================================================
   VERANSTALTUNGEN
   ========================================================= */

body.itemid-955,
body.itemid-955 .site-grid,
body.itemid-955 main,
body.itemid-955 .container-component,
body.itemid-955 .com-content-article{
    background:#111 !important;
    color:#fff !important;
}

body.itemid-955 .grid-child,
body.itemid-955 .item-page{
    background:transparent !important;
}

body.itemid-955 h1,
body.itemid-955 h2,
body.itemid-955 h3{
    color:#fff !important;
}

body.itemid-955 p{
    color:#ddd;
}

body.itemid-955 a{
    color:#caa04a;
}
/* =========================================================
   REFERENZEN
   ========================================================= */

body.itemid-956,
body.itemid-956 .site-grid,
body.itemid-956 main,
body.itemid-956 .container-component,
body.itemid-956 .com-content-article{
    background:#111 !important;
    color:#fff !important;
}

body.itemid-956 .grid-child,
body.itemid-956 .item-page{
    background:transparent !important;
}

body.itemid-956 h1,
body.itemid-956 h2,
body.itemid-956 h3{
    color:#fff !important;
}

body.itemid-956 p{
    color:#ddd;
}

body.itemid-956 a{
    color:#caa04a;
}
/* =========================================================
   ÜBER UNS
   ========================================================= */

/* =========================================================
   ÜBER UNS
   ========================================================= */

.sv-about{
    background:#fff;
}

.sv-about-hero{
    padding-top:90px;
    padding-bottom:90px;
}

.sv-about-hero h1{
    margin:.2rem 0 24px;
    color:#101820;
    font-size:clamp(2.8rem,5vw,5rem);
    line-height:1;
    font-weight:900;
}

.sv-about-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    gap:65px;
    max-width:1250px;
    margin:0 auto;
    text-align:left;
    align-items:start;
}

.sv-about-grid h2{
    text-align:left;
}

.sv-about-grid p{
    color:#444;
    font-size:1.08rem;
    line-height:1.8;
}

.sv-about-box{
    padding:34px;
    background:#111;
    border:1px solid rgba(202,160,74,.38);
    border-radius:10px;
    color:#fff;
}

.sv-about-box h3{
    margin:0 0 20px;
    color:var(--sv-gold);
    font-size:1.5rem;
}

.sv-about-box ul{
    margin:0;
    padding:0;
    list-style:none;
}

.sv-about-box li{
    position:relative;
    margin:0;
    padding:12px 0 12px 25px;
    border-bottom:1px solid rgba(255,255,255,.10);
    color:#eee;
    line-height:1.5;
}

.sv-about-box li:last-child{
    border-bottom:0;
}

.sv-about-box li::before{
    content:"";
    position:absolute;
    left:0;
    top:20px;
    width:8px;
    height:8px;
    background:var(--sv-gold);
    border-radius:50%;
}

.sv-about-events{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    max-width:1350px;
    margin:40px auto 0;
}

.sv-about-events > div{
    padding:30px;
    background:#181818;
    border:1px solid rgba(202,160,74,.27);
    border-radius:8px;
    text-align:left;
}

.sv-about-events h3{
    margin:0 0 12px;
    color:var(--sv-gold);
    font-size:1.3rem;
}

.sv-about-events p{
    margin:0;
    color:#ddd;
    line-height:1.7;
}

.sv-about-network{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
    max-width:1250px;
    margin:0 auto;
    text-align:left;
}

.sv-about-network > div{
    max-width:850px;
}

.sv-about-network h2{
    margin:.25rem 0 20px;
    text-align:left;
}

.sv-about-network p{
    color:#ddd;
    font-size:1.08rem;
    line-height:1.75;
}

.sv-about-trust{
    padding-top:80px;
    padding-bottom:80px;
}

.sv-about-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:1350px;
    margin:42px auto 0;
    overflow:hidden;
    background:#f5f1e8;
    border-radius:10px;
}

.sv-about-trust-grid > div{
    padding:34px 25px;
    border-right:1px solid #ddd3c1;
}

.sv-about-trust-grid > div:last-child{
    border-right:0;
}

.sv-about-trust-grid strong{
    display:block;
    margin-bottom:7px;
    color:#9b7023;
    font-size:1.5rem;
}

.sv-about-trust-grid span{
    display:block;
    color:#444;
    line-height:1.5;
}

.sv-about-contact{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:70px;
    text-align:left;
}

.sv-about-contact > div{
    max-width:600px;
}

.sv-about-contact h2{
    margin:.3rem 0 18px;
    text-align:left;
}

.sv-about-contact p{
    color:#ddd;
    font-size:1.08rem;
    line-height:1.75;
}

.sv-about-contact a:not(.sv-button){
    color:var(--sv-gold);
}

@media(max-width:900px){

    .sv-about-grid,
    .sv-about-contact{
        grid-template-columns:1fr;
    }

    .sv-about-events{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sv-about-trust-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sv-about-network{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:600px){

    .sv-about-events,
    .sv-about-trust-grid{
        grid-template-columns:1fr;
    }

    .sv-about-trust-grid > div{
        border-right:0;
        border-bottom:1px solid #ddd3c1;
    }
}
/* =========================================================
   KONTAKT / VISFORMS
   ========================================================= */

/* =========================================================
   VISFORMS / KÜNSTLERANFRAGE
   ========================================================= */

body.com_visforms{
    background:#111 !important;
    color:#fff;
    overflow-x:hidden !important;
}

body.com_visforms .site-grid{
    display:block !important;
}

body.com_visforms .container-component{
    width:calc(100% - 48px) !important;
    max-width:1500px !important;
    margin:0 auto !important;
    padding:70px 24px 90px !important;
    background:#111 !important;
    color:#fff !important;
}

body.com_visforms .visforms,
body.com_visforms .visforms-form,
body.com_visforms form.bt5,
body.com_visforms form{
    width:100% !important;
    max-width:1400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

body.com_visforms h1,
body.com_visforms h2,
body.com_visforms h3,
body.com_visforms legend{
    color:#fff !important;
}

body.com_visforms .control-group,
body.com_visforms .form-group{
    margin-bottom:.75rem !important;
}

body.com_visforms .row{
    margin-left:-12px !important;
    margin-right:-12px !important;
}

body.com_visforms .visfield-container{
    padding-left:12px !important;
    padding-right:12px !important;
}

body.com_visforms label,
body.com_visforms .form-label{
    color:#fff !important;
    font-weight:700 !important;
}

body.com_visforms .form-label{
    margin-bottom:.3rem !important;
}

body.com_visforms input.form-control,
body.com_visforms textarea.form-control,
body.com_visforms select.form-select,
body.com_visforms input[type="text"],
body.com_visforms input[type="email"],
body.com_visforms input[type="tel"],
body.com_visforms input[type="url"]{
    width:100% !important;
    max-width:100% !important;
    min-height:42px !important;
    padding:.45rem .65rem !important;
    background:#fff !important;
    border:1px solid rgba(202,160,74,.45) !important;
    border-radius:4px !important;
    color:#111 !important;
    font-size:1.05rem !important;
    line-height:1.35 !important;
}

body.com_visforms textarea.form-control,
body.com_visforms textarea{
    min-height:130px !important;
    padding:.65rem !important;
}

body.com_visforms .required,
body.com_visforms .asterix-ancor{
    color:var(--sv-gold) !important;
}

body.com_visforms .btn,
body.com_visforms button[type="submit"],
body.com_visforms input[type="submit"]{
    padding:14px 28px !important;
    background:var(--sv-gold) !important;
    border:0 !important;
    border-radius:4px !important;
    color:#111 !important;
    font-size:1.05rem !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
}

/* Checkbox */

body.com_visforms input.form-check-input[type="checkbox"]{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
    padding:0 !important;
    margin:4px 10px 0 0 !important;
    background:#fff !important;
    border:2px solid #fff !important;
    border-radius:4px !important;
    display:inline-grid !important;
    place-content:center !important;
    flex:0 0 22px !important;
    cursor:pointer !important;
}

body.com_visforms input.form-check-input[type="checkbox"]::before{
    content:"";
    width:12px;
    height:12px;
    background:#000;
    clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);
    transform:scale(0);
    transition:120ms transform ease-in-out;
}

body.com_visforms input.form-check-input[type="checkbox"]:checked::before{
    transform:scale(1);
}

body.com_visforms .form-check{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
}

body.com_visforms .form-check-label{
    margin-top:0 !important;
    font-size:1rem !important;
    line-height:1.4 !important;
}

/* Kontaktbox */

body.com_visforms .sv-form-contact-box{
    margin:20px 0 30px;
    padding:28px;
    background:#181818;
    border:1px solid rgba(202,160,74,.35);
    border-radius:8px;
    color:#fff;
}

body.com_visforms .sv-form-contact-box h3,
body.com_visforms .sv-form-contact-box a{
    color:var(--sv-gold) !important;
}

/* =========================================================
   KONTAKT / VISFORMS – dunkler Seitenhintergrund
   ========================================================= */

body.com_visforms,
body.com_visforms .site-grid,
body.com_visforms main,
body.com_visforms .container-component,
body.com_visforms .com-visforms,
body.com_visforms .visforms,
body.com_visforms .visforms-form{
    background:#111 !important;
    color:#fff !important;
}

body.com_visforms .container-component{
    box-shadow:none !important;
}

/* weiße Joomla-Wrapper auf Kontaktseiten neutralisieren */
body.com_visforms .grid-child,
body.com_visforms .component-wrapper,
body.com_visforms .item-page{
    background:transparent !important;
}

/* Footer bleibt schwarz */
body.com_visforms .container-footer,
body.com_visforms .sv-footer{
    background:#000 !important;
}


/* ==========================================================


/* ==========================================================
   KONTAKT / VISFORMS – FINAL
   ========================================================== */

/* ----------------------------------------------------------
   Seitenbreite / Kopf
   ---------------------------------------------------------- */

body.itemid-958 .container-component,
body.itemid-958 #visformcontainer,
body.itemid-958 #visform1 {
    width: 100%;
    max-width: 1000px !important;
    margin-left: auto;
    margin-right: auto;
}

body.itemid-958 .container-component h1,
body.itemid-958 .container-component h2 {
    margin-top: 0;
    margin-bottom: 14px;
    line-height: 1.15;
}

body.itemid-958 .container-component ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 12px 0;
}

body.itemid-958 .container-component li {
    margin: 0 0 6px 0;
    padding: 0;
    line-height: 1.45;
}

body.itemid-958 .container-component li:empty {
    display: none;
}

body.itemid-958 #visform1 .vis_mandatory {
    margin: 0 0 10px 0;
}


/* ----------------------------------------------------------
   Hauptgrid – 12 Spalten / 10px Abstand
   ---------------------------------------------------------- */

@media (min-width: 768px) {

    body.itemid-958 #visform1 fieldset > .row {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 10px;

        margin-left: 0;
        margin-right: 0;
    }

    body.itemid-958 #visform1 .visfield-container {
        width: auto;
        max-width: none;
        min-width: 0;

        padding: 0;
        margin: 0;

        box-sizing: border-box;
    }


    /* Veranstaltung */


    body.itemid-958 #visform1 .sv-col-12 { grid-column: span 12; }
    body.itemid-958 #visform1 .sv-col-8  { grid-column: span 8; }
    body.itemid-958 #visform1 .sv-col-6  { grid-column: span 6; }
    body.itemid-958 #visform1 .sv-col-5  { grid-column: span 5; }
    body.itemid-958 #visform1 .sv-col-4  { grid-column: span 4; }
    body.itemid-958 #visform1 .sv-col-3  { grid-column: span 3; }

    body.itemid-958 #visform1 .field19,
    body.itemid-958 #visform1 .field20 {
        min-width: 0;
    }

    body.itemid-958 #visform1 .field20 {
        padding-top: 28px;
    }

}


/* ----------------------------------------------------------
   Inneres altes Visforms 3/9-Raster neutralisieren
   ---------------------------------------------------------- */

body.itemid-958 #visform1
.visfield-container > .form-group.row {
    display: block;
    margin: 0;
}

body.itemid-958 #visform1
.visfield-container > .form-group.row > label.form-label {
    display: block;

    width: 100%;
    max-width: none;

    padding: 0;
    margin: 0 0 4px 0;

    line-height: 1.25;
}

body.itemid-958 #visform1
.visfield-container > .form-group.row > label.form-label + div {
    display: block;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}


/* Offset-Reste von Visforms entfernen */

body.itemid-958 #visform1
.visfield-container > .row > [class*="offset-"] {
    width: 100%;
    max-width: 100%;

    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
}


/* ----------------------------------------------------------
   Eingabefelder
   ---------------------------------------------------------- */

body.itemid-958 #visform1 input.form-control,
body.itemid-958 #visform1 select.form-control,
body.itemid-958 #visform1 select.form-select,
body.itemid-958 #visform1 textarea.form-control {
    width: 100%;
    max-width: none;

    box-sizing: border-box;
}


/* Bemerkungen */

body.itemid-958 #visform1 .field19 textarea.form-control {
    display: block;
    width: 100%;
    height: 220px;
    min-height: 220px;
}


/* ----------------------------------------------------------
   Checkboxen
   ---------------------------------------------------------- */

body.itemid-958 #visform1 .field6 p,
body.itemid-958 #visform1 .field7 p {
    margin: 0 0 6px 0;
}

body.itemid-958 #visform1 .field6 > .form-group.row,
body.itemid-958 #visform1 .field7 > .form-group.row,
body.itemid-958 #visform1 .field22 > .form-group.row {
    display: flex;
}


/* ----------------------------------------------------------
   Kontaktbox – eigene Klassen
   ---------------------------------------------------------- */

body.itemid-958 #visform1 .field20 > .row {
    display: block;
    width: 100%;
    margin: 0;
}

body.itemid-958 #visform1 .field20 > .row > div {
    width: 100%;
    max-width: 100%;

    margin-left: 0;
    padding: 0;
}


body.itemid-958 #visform1 .sv-contactbox {
    width: 100%;
    min-height: 220px;

    padding: 22px 26px;
    margin: 0;

    box-sizing: border-box;

    border: 1px solid rgba(198,154,78,.45);
    border-radius: 8px;

    background: #181818;
}


body.itemid-958 #visform1 .sv-contactbox-title {
    margin: 0 0 18px 0;
    padding: 0;

    font-size: 1.4rem;
    line-height: 1.15;
}


@media (min-width: 768px) {

    body.itemid-958 #visform1 .sv-contactbox {
        display: grid;

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

        grid-template-areas:
            "title title"
            "left right";

        column-gap: 40px;
        row-gap: 0;

        align-items: start;
    }

    body.itemid-958 #visform1 .sv-contactbox-title {
        grid-area: title;
    }

    body.itemid-958 #visform1 .sv-contactbox-left,
    body.itemid-958 #visform1 .sv-contact-address {
        grid-area: left;
    }

    body.itemid-958 #visform1 .sv-contactbox-right,
    body.itemid-958 #visform1 .sv-contact-links {
        grid-area: right;
    }
}


body.itemid-958 #visform1 .sv-contactbox-left,
body.itemid-958 #visform1 .sv-contactbox-right,
body.itemid-958 #visform1 .sv-contact-address,
body.itemid-958 #visform1 .sv-contact-links {
    min-width: 0;

    font-size: .95rem;
    line-height: 1.5;
}


body.itemid-958 #visform1 .sv-contactbox a {
    color: #c99b4c;
    text-decoration: underline;
    overflow-wrap: anywhere;
}


/* ----------------------------------------------------------
   Trennlinien – volle Formularbreite
   ---------------------------------------------------------- */

body.itemid-958 #visform1 .field8,
body.itemid-958 #visform1 .field21 {
    width: 100%;
    max-width: 100%;
}

body.itemid-958 #visform1 .field8 > .form-group.row,
body.itemid-958 #visform1 .field21 > .form-group.row,
body.itemid-958 #visform1 .field8 > .form-group.row > div,
body.itemid-958 #visform1 .field21 > .form-group.row > div {
    width: 100%;
    max-width: 100%;

    margin-left: 0;
    margin-right: 0;

    padding-left: 0;
    padding-right: 0;
}

body.itemid-958 #visform1 .field8 hr,
body.itemid-958 #visform1 .field21 hr {
    display: block;

    width: 100%;
    max-width: 100%;

    margin-left: 0;
    margin-right: 0;

    box-sizing: border-box;
}


/* ----------------------------------------------------------
   Mobil
   ---------------------------------------------------------- */

@media (max-width: 767.98px) {

    body.itemid-958 .container-component,
    body.itemid-958 #visformcontainer,
    body.itemid-958 #visform1 {
        width: 100%;
        max-width: 100%;
    }

    body.itemid-958 #visform1 fieldset > .row {
        display: block;

        margin-left: 0;
        margin-right: 0;
    }

    body.itemid-958 #visform1 .visfield-container {
        width: 100%;
        max-width: 100%;

        margin-bottom: 10px;
        padding: 0;
    }

    body.itemid-958 #visform1 .field20 {
        padding-top: 0;
    }

    body.itemid-958 #visform1 .sv-contactbox {
        display: block;

        min-height: 0;

        padding: 18px;
    }

    body.itemid-958 #visform1 .sv-contactbox-left,
    body.itemid-958 #visform1 .sv-contact-address {
        margin-bottom: 16px;
    }

    body.itemid-958 #visform1 .sv-contactbox-title {
        font-size: 1.25rem;
        margin-bottom: 14px;
    }
}

/* =========================================================
   DATENSCHUTZ
   Artikel 107 / Menüpunkt 808
   ========================================================= */

body.itemid-808 {
    background:#f5f3ee;
}

body.itemid-808 .site-grid,
body.itemid-808 main,
body.itemid-808 .container-component,
body.itemid-808 .com-content-article,
body.itemid-808 .item-page {
    background:transparent !important;
}

body.itemid-808 .container-component {
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
}

body.itemid-808 .com-content-article,
body.itemid-808 .item-page {
    margin:0 !important;
    padding:0 !important;
}

/* Joomla-Artikeltitel ausblenden – H1 steht im Inhalt */
body.itemid-808 .page-header {
    display:none !important;
}


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

body.itemid-808 .sv-ds-hero {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(202,160,74,.18) 0,
            rgba(202,160,74,.07) 22%,
            transparent 48%
        ),
        #090909;
    color:#fff;
}

body.itemid-808 .sv-ds-hero::after {
    content:"";
    position:absolute;
    right:-110px;
    top:-150px;
    width:430px;
    height:430px;
    border:1px solid rgba(202,160,74,.18);
    border-radius:50%;
    pointer-events:none;
}

body.itemid-808 .sv-ds-hero-inner {
    position:relative;
    z-index:1;
    width:min(1080px,88vw);
    margin:0 auto;
    padding:90px 0 88px;
}

body.itemid-808 .sv-ds-kicker {
    display:block;
    margin:0 0 18px;
    color:#caa04a;
    font-size:.78rem;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.18em;
}

body.itemid-808 .sv-ds-hero h1 {
    margin:0;
    max-width:850px;
    color:#fff !important;
    font-size:clamp(2.7rem,5vw,4.8rem);
    font-weight:700;
    line-height:1.03;
    letter-spacing:-.035em;
}

body.itemid-808 .sv-ds-hero p {
    max-width:760px;
    margin:25px 0 0;
    color:rgba(255,255,255,.74) !important;
    font-size:clamp(1rem,1.5vw,1.16rem);
    line-height:1.75;
}


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

body.itemid-808 .sv-ds-content {
    width:min(1080px,88vw);
    margin:0 auto;
    padding:76px 0 105px;
}

body.itemid-808 .sv-ds-section {
    display:grid;
    grid-template-columns:74px minmax(0,1fr);
    gap:30px;
    padding:0 0 58px;
    margin:0 0 58px;
    border-bottom:1px solid rgba(20,20,20,.13);
}

body.itemid-808 .sv-ds-section:last-child {
    margin-bottom:0;
    padding-bottom:0;
    border-bottom:0;
}

body.itemid-808 .sv-ds-number {
    padding-top:7px;
    color:#b48b38;
    font-size:.8rem;
    font-weight:700;
    line-height:1;
    letter-spacing:.12em;
}

body.itemid-808 .sv-ds-body {
    min-width:0;
}

body.itemid-808 .sv-ds-body h2 {
    margin:0 0 25px;
    color:#151515 !important;
    font-size:clamp(1.65rem,2.7vw,2.35rem);
    font-weight:700;
    line-height:1.15;
    letter-spacing:-.025em;
}

body.itemid-808 .sv-ds-body h3 {
    margin:0 0 14px;
    color:#171717 !important;
    font-size:1.08rem;
    font-weight:700;
    line-height:1.4;
}

body.itemid-808 .sv-ds-body p,
body.itemid-808 .sv-ds-body li {
    color:#4d4b47 !important;
    font-size:1rem;
    line-height:1.78;
}

body.itemid-808 .sv-ds-body p {
    margin:0 0 20px;
}

body.itemid-808 .sv-ds-body p:last-child {
    margin-bottom:0;
}

body.itemid-808 .sv-ds-body strong {
    color:#181818;
    font-weight:700;
}

body.itemid-808 .sv-ds-body a {
    color:#8b671f !important;
    font-weight:600;
    text-decoration:none;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

body.itemid-808 .sv-ds-body a:hover,
body.itemid-808 .sv-ds-body a:focus-visible {
    color:#5e4314 !important;
    text-decoration:underline;
}


/* =========================================================
   INFO-KARTEN
   ========================================================= */

body.itemid-808 .sv-ds-card {
    position:relative;
    margin:5px 0 28px;
    padding:30px 32px;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(20,20,20,.08);
    box-shadow:0 12px 35px rgba(0,0,0,.045);
}

body.itemid-808 .sv-ds-card::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    width:3px;
    background:#caa04a;
}

body.itemid-808 .sv-ds-card h3 {
    margin-bottom:12px;
}

body.itemid-808 .sv-ds-card p {
    margin:0;
    color:#45433f !important;
}


/* =========================================================
   LISTEN
   ========================================================= */

body.itemid-808 .sv-ds-list {
    margin:25px 0 28px;
    padding:0;
    list-style:none;
}

body.itemid-808 .sv-ds-list li {
    position:relative;
    margin:0;
    padding:9px 0 9px 25px;
    border-bottom:1px solid rgba(20,20,20,.075);
}

body.itemid-808 .sv-ds-list li:last-child {
    border-bottom:0;
}

body.itemid-808 .sv-ds-list li::before {
    content:"";
    position:absolute;
    left:2px;
    top:1.25em;
    width:6px;
    height:6px;
    background:#caa04a;
    border-radius:50%;
}


/* =========================================================
   ABSCHLUSS / STAND
   ========================================================= */

body.itemid-808 .sv-ds-section:last-child .sv-ds-body {
    padding:34px 38px;
    background:#111;
}

body.itemid-808 .sv-ds-section:last-child .sv-ds-body h2 {
    color:#fff !important;
}

body.itemid-808 .sv-ds-section:last-child .sv-ds-body p {
    color:rgba(255,255,255,.72) !important;
}

body.itemid-808 .sv-ds-section:last-child .sv-ds-body strong {
    color:#caa04a;
}


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

@media (max-width:767px) {

    body.itemid-808 .sv-ds-hero-inner {
        width:min(90vw,1080px);
        padding:64px 0 62px;
    }

    body.itemid-808 .sv-ds-hero h1 {
        font-size:clamp(2.35rem,11vw,3.5rem);
    }

    body.itemid-808 .sv-ds-hero p {
        margin-top:20px;
        font-size:.98rem;
        line-height:1.65;
    }

    body.itemid-808 .sv-ds-content {
        width:90vw;
        padding:55px 0 75px;
    }

    body.itemid-808 .sv-ds-section {
        display:block;
        margin-bottom:42px;
        padding-bottom:42px;
    }

    body.itemid-808 .sv-ds-number {
        margin-bottom:13px;
        padding-top:0;
    }

    body.itemid-808 .sv-ds-body h2 {
        margin-bottom:20px;
        font-size:1.65rem;
    }

    body.itemid-808 .sv-ds-body p,
    body.itemid-808 .sv-ds-body li {
        font-size:.96rem;
        line-height:1.7;
    }

    body.itemid-808 .sv-ds-card {
        margin:4px 0 24px;
        padding:24px 22px 24px 25px;
    }

    body.itemid-808 .sv-ds-section:last-child .sv-ds-body {
        padding:27px 24px;
    }

}
/* =========================================================
   OKTOBERFEST LANDINGPAGE
   Menü-ID: 964 / Artikel: 127
   ========================================================= */

body.itemid-964 {
    --okto-blue:#123b68;
    --okto-blue-dark:#071c30;
    --okto-blue-light:#eaf4fb;
    --okto-gold:#d99a25;
    --okto-gold-light:#f2c45f;
    --okto-cream:#fff9ed;
    --okto-brown:#59351f;
    --okto-dark:#101417;
    --okto-text:#252525;
}

body.itemid-964 .container-component {
    width:100%;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

body.itemid-964 .com-content-article__body {
    margin:0;
}

body.itemid-964 .sv-okto,
body.itemid-964 .sv-okto * {
    box-sizing:border-box;
}

body.itemid-964 .sv-okto {
    overflow:hidden;
    background:#fff;
    color:var(--okto-text);
}

body.itemid-964 .sv-okto-container {
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
}

body.itemid-964 .sv-okto h1,
body.itemid-964 .sv-okto h2,
body.itemid-964 .sv-okto h3 {
    margin-top:0;
}

body.itemid-964 .sv-okto h2 {
    font-size:clamp(2rem, 3.5vw, 3.25rem);
    line-height:1.08;
    letter-spacing:-.025em;
}

body.itemid-964 .sv-okto p {
    line-height:1.7;
}

body.itemid-964 .sv-okto-eyebrow,
body.itemid-964 .sv-okto-kicker {
    display:inline-block;
    margin-bottom:14px;
    color:var(--okto-gold);
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

body.itemid-964 .sv-okto-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:13px 24px;
    border:1px solid var(--okto-gold);
    border-radius:5px;
    background:linear-gradient(180deg,var(--okto-gold-light),var(--okto-gold));
    color:#16110a !important;
    font-weight:800;
    line-height:1.2;
    text-decoration:none !important;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    transition:transform .2s ease, filter .2s ease;
}

body.itemid-964 .sv-okto-button:hover {
    transform:translateY(-2px);
    filter:brightness(1.08);
}


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

body.itemid-964 .sv-okto-hero {
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    isolation:isolate;
    background:#07131d;
}

body.itemid-964 .sv-okto-hero-bg {
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        url("/images/sachsenartist/oktoberfest/oktoberfestmusik-94.jpg")
        center center / cover no-repeat;
}

body.itemid-964 .sv-okto-hero::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(90deg,
            rgba(4,12,20,.94) 0%,
            rgba(4,12,20,.82) 38%,
            rgba(4,12,20,.36) 70%,
            rgba(4,12,20,.15) 100%);
}

body.itemid-964 .sv-okto-hero-inner {
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
    padding:90px 0;
}

body.itemid-964 .sv-okto-hero-copy {
    position:relative;
    width:min(680px, 65%);
    padding:45px 48px;
    color:#fff;
}

body.itemid-964 .sv-okto-hero-copy::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    border-radius:8px;
    background:
        linear-gradient(135deg,
            rgba(61,34,17,.91),
            rgba(27,16,10,.92));
    border:1px solid rgba(218,161,72,.4);
    box-shadow:
        0 20px 55px rgba(0,0,0,.4),
        inset 0 0 50px rgba(0,0,0,.25);
}

body.itemid-964 .sv-okto-hero h1 {
    margin:0 0 20px;
    color:#fff;
    font-size:clamp(2.45rem, 5vw, 4.65rem);
    line-height:.98;
    letter-spacing:-.045em;
    text-shadow:0 3px 18px rgba(0,0,0,.5);
}

body.itemid-964 .sv-okto-hero-copy > p {
    max-width:590px;
    margin:0;
    color:#f5f1e8;
    font-size:1.12rem;
}

body.itemid-964 .sv-okto-hero-actions {
    display:flex;
    align-items:center;
    gap:22px;
    margin-top:30px;
    flex-wrap:wrap;
}

body.itemid-964 .sv-okto-textlink {
    color:#fff !important;
    font-weight:700;
    text-decoration:none !important;
    border-bottom:1px solid rgba(255,255,255,.55);
}


/* =========================================================
   VERTRAUEN
   ========================================================= */

body.itemid-964 .sv-okto-trust {
    position:relative;
    padding:85px 0 90px;
    background:
        linear-gradient(135deg,#fff 0%,var(--okto-cream) 100%);
}

body.itemid-964 .sv-okto-trust::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:8px;
    background:
        repeating-linear-gradient(
            45deg,
            #fff 0 14px,
            #fff 14px 28px,
            #3778ad 28px 42px,
            #3778ad 42px 56px
        );
}

body.itemid-964 .sv-okto-trust-head {
    max-width:800px;
    margin:0 auto 52px;
    text-align:center;
}

body.itemid-964 .sv-okto-trust-head p {
    max-width:680px;
    margin:0 auto;
    font-size:1.08rem;
}

body.itemid-964 .sv-okto-trust-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

body.itemid-964 .sv-okto-trust-card {
    position:relative;
    padding:34px 30px;
    text-align:center;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:10px;
    box-shadow:0 12px 35px rgba(62,45,21,.08);
}

body.itemid-964 .sv-okto-trust-card h3 {
    margin:18px 0 10px;
    font-size:1.25rem;
}

body.itemid-964 .sv-okto-trust-card p {
    margin:0;
}

body.itemid-964 .sv-okto-icon {
    width:82px;
    height:82px;
    margin:0 auto;
    background-image:url("/images/sachsenartist/oktoberfest/oktoberfestmusik-82.webp");
    background-repeat:no-repeat;
    background-size:330px auto;
}

/* Ausschnitte aus dem Icon-Sheet 82 */
body.itemid-964 .sv-okto-icon-event {
    background-position:-8px -8px;
}

body.itemid-964 .sv-okto-icon-experience {
    background-position:-120px -8px;
}

body.itemid-964 .sv-okto-icon-party {
    background-position:-232px -8px;
}


/* =========================================================
   ANGEBOT
   ========================================================= */

body.itemid-964 .sv-okto-offer {
    padding:100px 0;
    background:var(--okto-blue-dark);
    color:#fff;
}

body.itemid-964 .sv-okto-split {
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:65px;
    align-items:center;
}

body.itemid-964 .sv-okto-offer-image {
    position:relative;
}

body.itemid-964 .sv-okto-offer-image::before {
    content:"";
    position:absolute;
    width:145px;
    height:145px;
    left:-55px;
    bottom:-55px;
    z-index:2;
    background:url("/images/sachsenartist/oktoberfest/oktoberfestmusik-90.webp")
               center/contain no-repeat;
    pointer-events:none;
}

body.itemid-964 .sv-okto-offer-image img {
    display:block;
    width:100%;
    min-height:500px;
    object-fit:cover;
    border-radius:9px;
    box-shadow:0 25px 55px rgba(0,0,0,.35);
}

body.itemid-964 .sv-okto-offer-copy h2 {
    color:#fff;
}

body.itemid-964 .sv-okto-offer-copy > p {
    color:#dce5eb;
}

body.itemid-964 .sv-okto-offer-list {
    margin-top:30px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

body.itemid-964 .sv-okto-offer-list > div {
    padding:17px 18px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.055);
    border-radius:6px;
}

body.itemid-964 .sv-okto-offer-list strong,
body.itemid-964 .sv-okto-offer-list span {
    display:block;
}

body.itemid-964 .sv-okto-offer-list strong {
    margin-bottom:4px;
    color:var(--okto-gold-light);
}

body.itemid-964 .sv-okto-offer-list span {
    color:#dce5eb;
    font-size:.93rem;
    line-height:1.5;
}


/* =========================================================
   VERANSTALTER
   ========================================================= */

body.itemid-964 .sv-okto-organizer {
    position:relative;
    padding:100px 0;
    background:#f8f4ea;
}

body.itemid-964 .sv-okto-organizer .sv-okto-container {
    display:grid;
    grid-template-columns:minmax(0,720px) 1fr;
    gap:60px;
    align-items:center;
}

body.itemid-964 .sv-okto-organizer-copy p {
    max-width:720px;
}

body.itemid-964 .sv-okto-organizer-copy .sv-okto-button {
    margin-top:16px;
}

body.itemid-964 .sv-okto-organizer-deco {
    display:flex;
    justify-content:center;
    align-items:center;
}

body.itemid-964 .sv-okto-organizer-deco img {
    display:block;
    width:min(100%,320px);
    height:auto;
    filter:drop-shadow(0 18px 20px rgba(0,0,0,.18));
}


/* =========================================================
   BANDWAHL
   ========================================================= */

body.itemid-964 .sv-okto-choice {
    padding:95px 0;
    background:#fff;
}

body.itemid-964 .sv-okto-choice-head {
    max-width:760px;
    margin:0 auto 48px;
    text-align:center;
}

body.itemid-964 .sv-okto-choice-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

body.itemid-964 .sv-okto-choice-grid article {
    position:relative;
    min-height:260px;
    padding:35px 30px;
    overflow:hidden;
    border-radius:8px;
    background:linear-gradient(145deg,#123d69,#081e34);
    color:#fff;
}

body.itemid-964 .sv-okto-choice-grid article::after {
    content:"";
    position:absolute;
    right:-45px;
    bottom:-55px;
    width:150px;
    height:150px;
    opacity:.11;
    background:url("/images/sachsenartist/oktoberfest/oktoberfestmusik-89.webp")
               center/contain no-repeat;
}

body.itemid-964 .sv-okto-number {
    display:block;
    margin-bottom:30px;
    color:var(--okto-gold-light);
    font-size:.85rem;
    font-weight:800;
    letter-spacing:.12em;
}

body.itemid-964 .sv-okto-choice-grid h3 {
    color:#fff;
    font-size:1.35rem;
}

body.itemid-964 .sv-okto-choice-grid p {
    color:#dce7ef;
}

body.itemid-964 .sv-okto-choice-action {
    margin-top:38px;
    text-align:center;
}


/* =========================================================
   LANDSTREICHER
   ========================================================= */

body.itemid-964 .sv-okto-band {
    padding:100px 0;
    background:#f4efe4;
}

body.itemid-964 .sv-okto-band-heading {
    max-width:900px;
    margin-bottom:45px;
}

body.itemid-964 .sv-okto-band-heading p {
    max-width:780px;
    font-size:1.08rem;
}

body.itemid-964 .sv-okto-band-gallery {
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr;
    gap:12px;
}

body.itemid-964 .sv-okto-band-gallery figure {
    margin:0;
    overflow:hidden;
    min-height:390px;
    border-radius:7px;
}

body.itemid-964 .sv-okto-band-gallery img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

body.itemid-964 .sv-okto-band-gallery figure:hover img {
    transform:scale(1.025);
}

body.itemid-964 .sv-okto-band-bottom {
    display:grid;
    grid-template-columns:1fr auto;
    gap:40px;
    align-items:center;
    margin-top:35px;
}

body.itemid-964 .sv-okto-band-bottom p {
    max-width:760px;
    margin:0;
}


/* =========================================================
   KLEINE BESETZUNG
   ========================================================= */

body.itemid-964 .sv-okto-smallband {
    padding:100px 0;
    background:var(--okto-blue-dark);
    color:#fff;
}

body.itemid-964 .sv-okto-smallband-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:65px;
    align-items:center;
}

body.itemid-964 .sv-okto-smallband-image img {
    display:block;
    width:100%;
    max-height:600px;
    object-fit:cover;
    border-radius:8px;
    box-shadow:0 25px 55px rgba(0,0,0,.35);
}

body.itemid-964 .sv-okto-smallband-copy h2 {
    color:#fff;
}

body.itemid-964 .sv-okto-smallband-copy p {
    color:#dce5eb;
}

body.itemid-964 .sv-okto-smallband-copy .sv-okto-button {
    margin-top:14px;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

body.itemid-964 .sv-okto-final {
    position:relative;
    min-height:600px;
    display:flex;
    align-items:center;
    isolation:isolate;
    background:#101010;
}

body.itemid-964 .sv-okto-final-bg {
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        url("/images/sachsenartist/oktoberfest/oktoberfestmusik-99.jpg")
        center/cover no-repeat;
}

body.itemid-964 .sv-okto-final::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(
        90deg,
        rgba(5,13,20,.92),
        rgba(5,13,20,.66) 58%,
        rgba(5,13,20,.28)
    );
}

body.itemid-964 .sv-okto-final-card {
    max-width:650px;
    padding:55px 0;
    color:#fff;
}

body.itemid-964 .sv-okto-final-card h2 {
    color:#fff;
    font-size:clamp(2.4rem,4.5vw,4rem);
}

body.itemid-964 .sv-okto-final-card p {
    max-width:590px;
    color:#f0f2f3;
    font-size:1.08rem;
}

body.itemid-964 .sv-okto-final-card .sv-okto-button {
    margin-top:18px;
}


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

@media (max-width: 991px) {

    body.itemid-964 .sv-okto-hero {
        min-height:590px;
    }

    body.itemid-964 .sv-okto-hero-copy {
        width:min(700px,100%);
    }

    body.itemid-964 .sv-okto-trust-grid,
    body.itemid-964 .sv-okto-choice-grid {
        grid-template-columns:1fr;
    }

    body.itemid-964 .sv-okto-split,
    body.itemid-964 .sv-okto-organizer .sv-okto-container,
    body.itemid-964 .sv-okto-smallband-grid {
        grid-template-columns:1fr;
    }

    body.itemid-964 .sv-okto-organizer-deco img {
        width:230px;
    }

    body.itemid-964 .sv-okto-band-gallery {
        grid-template-columns:1fr 1fr;
    }

    body.itemid-964 .sv-okto-band-gallery figure:first-child {
        grid-column:1 / -1;
    }

    body.itemid-964 .sv-okto-band-bottom {
        grid-template-columns:1fr;
    }
}

@media (max-width: 640px) {

    body.itemid-964 .sv-okto-container,
    body.itemid-964 .sv-okto-hero-inner {
        width:min(100% - 30px,1180px);
    }

    body.itemid-964 .sv-okto-hero {
        min-height:620px;
        align-items:flex-end;
    }

    body.itemid-964 .sv-okto-hero-bg {
        background-position:55% center;
    }

    body.itemid-964 .sv-okto-hero::after {
        background:linear-gradient(
            0deg,
            rgba(4,12,20,.97) 0%,
            rgba(4,12,20,.80) 55%,
            rgba(4,12,20,.25) 100%
        );
    }

    body.itemid-964 .sv-okto-hero-inner {
        padding:150px 0 38px;
    }

    body.itemid-964 .sv-okto-hero-copy {
        padding:30px 24px;
    }

    body.itemid-964 .sv-okto-hero h1 {
        font-size:clamp(2.15rem,10vw,3.15rem);
    }

    body.itemid-964 .sv-okto-trust,
    body.itemid-964 .sv-okto-offer,
    body.itemid-964 .sv-okto-organizer,
    body.itemid-964 .sv-okto-choice,
    body.itemid-964 .sv-okto-band,
    body.itemid-964 .sv-okto-smallband {
        padding:68px 0;
    }

    body.itemid-964 .sv-okto-offer-list {
        grid-template-columns:1fr;
    }

    body.itemid-964 .sv-okto-offer-image img {
        min-height:350px;
    }

    body.itemid-964 .sv-okto-offer-image::before {
        width:100px;
        height:100px;
        left:-15px;
        bottom:-35px;
    }

    body.itemid-964 .sv-okto-band-gallery {
        grid-template-columns:1fr;
    }

    body.itemid-964 .sv-okto-band-gallery figure:first-child {
        grid-column:auto;
    }

    body.itemid-964 .sv-okto-band-gallery figure {
        min-height:280px;
    }

    body.itemid-964 .sv-okto-final {
        min-height:520px;
    }
}

/* Oktoberfest Hero – Textblock weiter nach links */
@media (min-width: 992px) {
    body.itemid-964 .sv-okto-hero-inner {
        transform: translateX(-80px);
    }
}

/* Oktoberfest Hero – Textbox transparent */
body.itemid-964 .sv-okto-hero-copy::before {
    background: transparent;
    box-shadow: none;
}

/* Oktoberfest Hero – transparente Box ohne Rahmen */
body.itemid-964 .sv-okto-hero-copy::before {
    background: transparent;
    border: 0;
    box-shadow: none;
}


/* =========================================================
   OKTOBERFEST HERO – Typografie wie Bands für Feste & Events
   ========================================================= */

@media (min-width: 992px) {

    body.itemid-964 .sv-okto-hero {
        min-height: 620px;
    }

    body.itemid-964 .sv-okto-hero-inner {
        width: min(1380px, calc(100% - 70px));
        min-height: 620px;
        padding: 58px 0 105px;
        display: flex;
        align-items: center;
    }

    body.itemid-964 .sv-okto-hero-copy {
        width: 47%;
        max-width: 690px;
        padding: 0;
    }

    body.itemid-964 .sv-okto-hero h1 {
        max-width: 790px;
        margin: 0 0 22px;
        font-size: clamp(2.8rem, 4.05vw, 4.35rem);
        line-height: .98;
        letter-spacing: -.05em;
    }

    body.itemid-964 .sv-okto-hero-copy > p {
        max-width: 600px;
        font-size: 1.04rem;
        line-height: 1.58;
    }

    body.itemid-964 .sv-okto-hero-actions {
        margin-top: 27px;
    }
}


/* =========================================================
   OKTOBERFEST HERO – zweiter Button
   ========================================================= */

body.itemid-964 .sv-okto-hero-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

body.itemid-964 .sv-okto-hero .sv-okto-textlink {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    padding: 0 26px;

    color: #fff !important;
    font-size: 1rem;
    line-height: 1;
    font-weight: 700;
    text-decoration: none !important;

    background: transparent;
    border: 2px solid rgba(255,255,255,.65);
    border-radius: 4px;

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

body.itemid-964 .sv-okto-hero .sv-okto-textlink:hover {
    color: #fff !important;
    background: rgba(255,255,255,.10);
    border-color: #fff;
}

/* Oktoberfest Hero – Bildausschnitt 20px höher */
@media (min-width: 641px) {
    body.itemid-964 .sv-okto-hero-bg {
        background-position: center calc(50% - 40px);
    }
}
/* =========================================================
   BANDS FÜR FESTE & EVENTS
   Menü-ID 965 / Artikel 128
   ========================================================= */

body.itemid-965 {
    --fe-dark:#090b0e;
    --fe-dark-2:#11151a;
    --fe-panel:#171c22;
    --fe-gold:#d8a33c;
    --fe-gold-light:#f0c86b;
    --fe-cream:#f7f3eb;
    --fe-text:#24272b;
    --fe-muted:#6d7278;
}

body.itemid-965 .container-component {
    width:100%;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

body.itemid-965 .com-content-article__body {
    margin:0;
}

body.itemid-965 .sv-fe,
body.itemid-965 .sv-fe * {
    box-sizing:border-box;
}

body.itemid-965 .sv-fe {
    overflow:hidden;
    background:#fff;
    color:var(--fe-text);
}

body.itemid-965 .sv-fe-container {
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

body.itemid-965 .sv-fe h1,
body.itemid-965 .sv-fe h2,
body.itemid-965 .sv-fe h3 {
    margin-top:0;
}

body.itemid-965 .sv-fe h2 {
    font-size:clamp(2rem,3.6vw,3.35rem);
    line-height:1.07;
    letter-spacing:-.035em;
}

body.itemid-965 .sv-fe p {
    line-height:1.7;
}

body.itemid-965 .sv-fe-kicker {
    display:inline-block;
    margin-bottom:14px;
    color:var(--fe-gold);
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}

body.itemid-965 .sv-fe-button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:52px;
    padding:13px 25px;
    border:1px solid var(--fe-gold);
    border-radius:4px;
    background:linear-gradient(180deg,var(--fe-gold-light),var(--fe-gold));
    color:#16120b !important;
    font-weight:800;
    line-height:1.2;
    text-decoration:none !important;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
    transition:transform .2s ease,filter .2s ease;
}

body.itemid-965 .sv-fe-button:hover {
    transform:translateY(-2px);
    filter:brightness(1.08);
}


/* HERO */

body.itemid-965 .sv-fe-hero {
    position:relative;
    min-height:720px;
    display:flex;
    align-items:center;
    isolation:isolate;
    background:var(--fe-dark);
    color:#fff;
}

body.itemid-965 .sv-fe-hero-media {
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        url("/images/sachsenartist/images-hero/partyband_hero.jpg")
        center 40% / cover no-repeat;
}

body.itemid-965 .sv-fe-hero::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(90deg,
            rgba(5,7,10,.97) 0%,
            rgba(5,7,10,.89) 38%,
            rgba(5,7,10,.54) 66%,
            rgba(5,7,10,.22) 100%);
}

body.itemid-965 .sv-fe-hero-inner {
    padding:100px 0 70px;
}

body.itemid-965 .sv-fe-hero-copy {
    max-width:790px;
}

body.itemid-965 .sv-fe-hero h1 {
    max-width:790px;
    margin:0 0 24px;
    color:#fff;
    font-size:clamp(2.65rem,5.4vw,5rem);
    line-height:.96;
    letter-spacing:-.05em;
    text-shadow:0 4px 25px rgba(0,0,0,.55);
}

body.itemid-965 .sv-fe-lead {
    max-width:680px;
    margin:0;
    color:#edf0f2;
    font-size:1.16rem;
}

body.itemid-965 .sv-fe-actions {
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    margin-top:32px;
}

body.itemid-965 .sv-fe-secondary {
    color:#fff !important;
    font-weight:700;
    text-decoration:none !important;
    border-bottom:1px solid rgba(255,255,255,.5);
}

body.itemid-965 .sv-fe-hero-facts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:820px;
    margin-top:65px;
    border-top:1px solid rgba(255,255,255,.25);
}

body.itemid-965 .sv-fe-hero-facts > div {
    padding:22px 24px 0 0;
}

body.itemid-965 .sv-fe-hero-facts strong,
body.itemid-965 .sv-fe-hero-facts span {
    display:block;
}

body.itemid-965 .sv-fe-hero-facts strong {
    color:var(--fe-gold-light);
    font-size:1.55rem;
}

body.itemid-965 .sv-fe-hero-facts span {
    margin-top:3px;
    color:#d7dade;
    font-size:.88rem;
}


/* INTRO */

body.itemid-965 .sv-fe-intro {
    padding:80px 0;
    text-align:center;
    background:var(--fe-cream);
}

body.itemid-965 .sv-fe-intro .sv-fe-container {
    max-width:850px;
}

body.itemid-965 .sv-fe-intro p {
    max-width:760px;
    margin:0 auto;
    font-size:1.1rem;
}


/* OCCASIONS */

body.itemid-965 .sv-fe-occasions {
    padding:100px 0;
    background:#fff;
}

body.itemid-965 .sv-fe-section-head {
    max-width:790px;
    margin:0 auto 48px;
    text-align:center;
}

body.itemid-965 .sv-fe-section-head p {
    max-width:680px;
    margin:0 auto;
}

body.itemid-965 .sv-fe-occasion-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

body.itemid-965 .sv-fe-occasion {
    position:relative;
    min-height:370px;
    overflow:hidden;
    border-radius:7px;
    background:#111;
    color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

body.itemid-965 .sv-fe-occasion::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        0deg,
        rgba(4,6,8,.96) 0%,
        rgba(4,6,8,.68) 38%,
        rgba(4,6,8,.08) 75%
    );
}

body.itemid-965 .sv-fe-occasion img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

body.itemid-965 .sv-fe-occasion:hover img {
    transform:scale(1.04);
}

body.itemid-965 .sv-fe-occasion > div {
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    bottom:0;
    padding:27px;
}

body.itemid-965 .sv-fe-occasion span {
    color:var(--fe-gold-light);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.13em;
}

body.itemid-965 .sv-fe-occasion h3 {
    margin:6px 0 7px;
    color:#fff;
    font-size:1.5rem;
}

body.itemid-965 .sv-fe-occasion p {
    margin:0;
    color:#e1e4e6;
    font-size:.93rem;
    line-height:1.5;
}

body.itemid-965 .sv-fe-center-action {
    margin-top:42px;
    text-align:center;
}


/* BENEFITS */

body.itemid-965 .sv-fe-benefits {
    padding:105px 0;
    background:var(--fe-dark-2);
    color:#fff;
}

body.itemid-965 .sv-fe-benefits-grid {
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:70px;
    align-items:center;
}

body.itemid-965 .sv-fe-benefits-copy h2 {
    color:#fff;
}

body.itemid-965 .sv-fe-benefits-copy > p {
    color:#d7dade;
}

body.itemid-965 .sv-fe-checks {
    list-style:none;
    padding:0;
    margin:30px 0 0;
}

body.itemid-965 .sv-fe-checks li {
    position:relative;
    margin:0;
    padding:12px 0 12px 31px;
    border-bottom:1px solid rgba(255,255,255,.11);
    color:#eef0f2;
}

body.itemid-965 .sv-fe-checks li::before {
    content:"✓";
    position:absolute;
    left:0;
    color:var(--fe-gold-light);
    font-weight:900;
}

body.itemid-965 .sv-fe-benefits-image {
    position:relative;
}

body.itemid-965 .sv-fe-benefits-image img {
    display:block;
    width:100%;
    min-height:530px;
    object-fit:cover;
    border-radius:7px;
    box-shadow:0 25px 60px rgba(0,0,0,.38);
}

body.itemid-965 .sv-fe-image-label {
    position:absolute;
    left:-30px;
    bottom:35px;
    max-width:270px;
    padding:22px 25px;
    background:var(--fe-gold);
    color:#111;
    box-shadow:0 14px 35px rgba(0,0,0,.3);
}

body.itemid-965 .sv-fe-image-label strong,
body.itemid-965 .sv-fe-image-label span {
    display:block;
}

body.itemid-965 .sv-fe-image-label strong {
    font-size:1.55rem;
}

body.itemid-965 .sv-fe-image-label span {
    margin-top:3px;
    font-size:.88rem;
}


/* LANDSTREICHER */

body.itemid-965 .sv-fe-feature {
    padding:105px 0;
    background:#f5f1e8;
}

body.itemid-965 .sv-fe-feature-heading {
    max-width:850px;
    margin-bottom:45px;
}

body.itemid-965 .sv-fe-feature-heading > p:last-child {
    max-width:720px;
}

body.itemid-965 .sv-fe-bandline {
    color:#8b6724;
    font-weight:800;
    letter-spacing:.04em;
}

body.itemid-965 .sv-fe-feature-gallery {
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr;
    gap:12px;
}

body.itemid-965 .sv-fe-feature-gallery figure {
    min-height:390px;
    margin:0;
    overflow:hidden;
    border-radius:6px;
}

body.itemid-965 .sv-fe-feature-gallery img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

body.itemid-965 .sv-fe-feature-gallery figure:hover img {
    transform:scale(1.025);
}

body.itemid-965 .sv-fe-feature-bottom {
    display:grid;
    grid-template-columns:1fr auto;
    gap:50px;
    align-items:center;
    margin-top:38px;
}

body.itemid-965 .sv-fe-feature-bottom h3 {
    margin-bottom:8px;
    font-size:1.4rem;
}

body.itemid-965 .sv-fe-feature-bottom p {
    max-width:720px;
    margin:0;
}


/* COMPACT BAND */

body.itemid-965 .sv-fe-compact {
    padding:105px 0;
    background:#fff;
}

body.itemid-965 .sv-fe-compact-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

body.itemid-965 .sv-fe-compact-image img {
    display:block;
    width:100%;
    max-height:600px;
    object-fit:cover;
    border-radius:7px;
    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

body.itemid-965 .sv-fe-compact-copy .sv-fe-button {
    margin-top:14px;
}


/* PLANNING */

body.itemid-965 .sv-fe-planning {
    padding:100px 0;
    background:var(--fe-dark);
    color:#fff;
}

body.itemid-965 .sv-fe-planning .sv-fe-section-head h2 {
    color:#fff;
}

body.itemid-965 .sv-fe-planning-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

body.itemid-965 .sv-fe-planning-grid article {
    padding:35px 30px;
    border:1px solid rgba(255,255,255,.12);
    background:var(--fe-panel);
}

body.itemid-965 .sv-fe-plan-number {
    display:block;
    margin-bottom:25px;
    color:var(--fe-gold-light);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.15em;
}

body.itemid-965 .sv-fe-planning-grid h3 {
    color:#fff;
    font-size:1.35rem;
}

body.itemid-965 .sv-fe-planning-grid p {
    margin-bottom:0;
    color:#cfd3d7;
}


/* FINAL CTA */

body.itemid-965 .sv-fe-final {
    position:relative;
    min-height:580px;
    display:flex;
    align-items:center;
    isolation:isolate;
    color:#fff;
    background:#080a0d;
}

body.itemid-965 .sv-fe-final-media {
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        url("/images/sachsenartist/Landstreicher-2026/partyband/header-party.jpg")
        center / cover no-repeat;
}

body.itemid-965 .sv-fe-final::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(
        90deg,
        rgba(5,7,9,.96),
        rgba(5,7,9,.74) 58%,
        rgba(5,7,9,.3)
    );
}

body.itemid-965 .sv-fe-final-copy {
    max-width:690px;
    padding:80px 0;
}

body.itemid-965 .sv-fe-final h2 {
    color:#fff;
    font-size:clamp(2.5rem,4.8vw,4.4rem);
}

body.itemid-965 .sv-fe-final p {
    max-width:610px;
    color:#e5e8ea;
    font-size:1.08rem;
}

body.itemid-965 .sv-fe-final .sv-fe-button {
    margin-top:17px;
}


/* RESPONSIVE */

@media (max-width:991px) {

    body.itemid-965 .sv-fe-occasion-grid {
        grid-template-columns:1fr 1fr;
    }

    body.itemid-965 .sv-fe-benefits-grid,
    body.itemid-965 .sv-fe-compact-grid {
        grid-template-columns:1fr;
    }

    body.itemid-965 .sv-fe-feature-gallery {
        grid-template-columns:1fr 1fr;
    }

    body.itemid-965 .sv-fe-feature-main {
        grid-column:1 / -1;
    }

    body.itemid-965 .sv-fe-feature-bottom {
        grid-template-columns:1fr;
    }

    body.itemid-965 .sv-fe-planning-grid {
        grid-template-columns:1fr;
    }

    body.itemid-965 .sv-fe-image-label {
        left:20px;
    }
}

@media (max-width:640px) {

    body.itemid-965 .sv-fe-container {
        width:min(100% - 30px,1180px);
    }

    body.itemid-965 .sv-fe-hero {
        min-height:650px;
        align-items:flex-end;
    }

    body.itemid-965 .sv-fe-hero-media {
        background-position:62% center;
    }

    body.itemid-965 .sv-fe-hero::after {
        background:linear-gradient(
            0deg,
            rgba(5,7,10,.98) 0%,
            rgba(5,7,10,.82) 60%,
            rgba(5,7,10,.25) 100%
        );
    }

    body.itemid-965 .sv-fe-hero-inner {
        padding:160px 0 40px;
    }

    body.itemid-965 .sv-fe-hero h1 {
        font-size:clamp(2.25rem,10vw,3.3rem);
    }

    body.itemid-965 .sv-fe-hero-facts {
        grid-template-columns:1fr;
        margin-top:38px;
    }

    body.itemid-965 .sv-fe-hero-facts > div {
        padding:13px 0;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    body.itemid-965 .sv-fe-intro,
    body.itemid-965 .sv-fe-occasions,
    body.itemid-965 .sv-fe-benefits,
    body.itemid-965 .sv-fe-feature,
    body.itemid-965 .sv-fe-compact,
    body.itemid-965 .sv-fe-planning {
        padding:68px 0;
    }

    body.itemid-965 .sv-fe-occasion-grid {
        grid-template-columns:1fr;
    }

    body.itemid-965 .sv-fe-occasion {
        min-height:330px;
    }

    body.itemid-965 .sv-fe-benefits-image img {
        min-height:360px;
    }

    body.itemid-965 .sv-fe-image-label {
        position:relative;
        left:auto;
        bottom:auto;
        max-width:none;
        margin-top:-1px;
    }

    body.itemid-965 .sv-fe-feature-gallery {
        grid-template-columns:1fr;
    }

    body.itemid-965 .sv-fe-feature-main {
        grid-column:auto;
    }

    body.itemid-965 .sv-fe-feature-gallery figure {
        min-height:280px;
    }

    body.itemid-965 .sv-fe-final {
        min-height:520px;
    }
}




/* =========================================================
   HERO – identisches System wie Oktoberfest
   ========================================================= */

@media (min-width: 992px) {

    body.itemid-965 .sv-fe-hero {
        position: relative;
        min-height: 650px;
        display: flex;
        align-items: center;
        isolation: isolate;
    }

    body.itemid-965 .sv-fe-hero-inner {
        width: min(1180px, calc(100% - 48px));
        min-height: auto;
        margin: 0 auto;
        padding: 90px 0;
        display: block;
    }

    body.itemid-965 .sv-fe-hero-copy {
        position: relative;
        width: min(680px, 65%);
        max-width: none;
        padding: 0;
    }

    body.itemid-965 .sv-fe-hero h1 {
        width: auto;
        max-width: none;
        margin: 0 0 20px;
        color: #fff;
        font-size: clamp(2.45rem, 5vw, 4.65rem);
        line-height: .98;
        letter-spacing: -.045em;
        font-weight: 800;
        text-shadow: 0 3px 18px rgba(0,0,0,.5);
    }

    body.itemid-965 .sv-fe-hero .sv-fe-lead {
        max-width: 590px;
        margin: 0;
        color: #f5f1e8;
        font-size: 1.12rem;
        line-height: 1.58;
    }

    body.itemid-965 .sv-fe-actions {
        display: flex;
        align-items: center;
        gap: 22px;
        margin-top: 30px;
        flex-wrap: wrap;
    }

    body.itemid-965 .sv-fe-hero .sv-fe-secondary {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /*
       Die alte Facts-Leiste gehört nicht zum gewünschten
       Oktoberfest-Hero-System.
    */
    body.itemid-965 .sv-fe-hero-facts {
        display: none;
    }
}

/* =========================================================
   VERANSTALTUNGSARTEN – 6 individuelle Motive
   ========================================================= */

body.itemid-965 .sv-feste-start {
    padding-top:82px;
    padding-bottom:92px;
}

body.itemid-965 .sv-feste-start > .sv-kicker,
body.itemid-965 .sv-feste-start > h2,
body.itemid-965 .sv-feste-start > .sv-lead {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}

body.itemid-965 .sv-feste-start > h2 {
    max-width:850px;
    margin-bottom:17px;
}

body.itemid-965 .sv-feste-start > .sv-lead {
    max-width:760px;
    margin-bottom:42px;
}


/* 3 x 2 */

body.itemid-965 .sv-occasion-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}


/* Karte */

body.itemid-965 .sv-occasion-card {
    position:relative;
    min-height:330px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;

    padding:26px;

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

    background:#111;

    color:#fff !important;
    text-decoration:none !important;

    box-shadow:0 12px 32px rgba(0,0,0,.16);

    isolation:isolate;

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


/* Foto */

body.itemid-965 .sv-occasion-card img {
    position:absolute;
    inset:0;
    z-index:-3;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .55s ease;
}


/* Verlauf */

body.itemid-965 .sv-occasion-card::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.03) 15%,
            rgba(0,0,0,.12) 43%,
            rgba(3,5,8,.90) 100%
        );
}


/* leichter Goldakzent unten */

body.itemid-965 .sv-occasion-card::after {
    content:"";
    position:absolute;
    left:26px;
    bottom:20px;

    width:38px;
    height:2px;

    background:#e6ad38;

    transform:translateY(8px);
    opacity:0;

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


/* HTML-Titel */

body.itemid-965 .sv-occasion-card strong {
    position:relative;
    z-index:1;

    display:block;

    margin:0 0 7px;

    color:#fff;

    font-size:1.55rem;
    font-weight:800;
    line-height:1.08;

    text-shadow:0 2px 12px rgba(0,0,0,.65);
}


/* HTML-Unterzeile */

body.itemid-965 .sv-occasion-card small {
    position:relative;
    z-index:1;

    display:block;

    max-width:90%;

    padding-bottom:5px;

    color:rgba(255,255,255,.82);

    font-size:.88rem;
    line-height:1.4;
}


/* Hover */

body.itemid-965 .sv-occasion-card:hover {
    transform:translateY(-5px);

    border-color:rgba(230,173,56,.55);

    box-shadow:
        0 20px 45px rgba(0,0,0,.25),
        0 0 0 1px rgba(230,173,56,.08);
}

body.itemid-965 .sv-occasion-card:hover img {
    transform:scale(1.045);
}

body.itemid-965 .sv-occasion-card:hover::after {
    opacity:1;
    transform:translateY(0);
}


/* Tablet */

@media (max-width:991px) {

    body.itemid-965 .sv-occasion-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.itemid-965 .sv-occasion-card {
        min-height:310px;
    }
}


/* Smartphone */

@media (max-width:600px) {

    body.itemid-965 .sv-feste-start {
        padding-top:58px;
        padding-bottom:65px;
    }

    body.itemid-965 .sv-feste-start > .sv-lead {
        margin-bottom:30px;
    }

    body.itemid-965 .sv-occasion-grid {
        grid-template-columns:1fr;
        gap:14px;
    }

    body.itemid-965 .sv-occasion-card {
        min-height:270px;
        padding:22px;
    }

    body.itemid-965 .sv-occasion-card strong {
        font-size:1.4rem;
    }
}


/* =========================================================
   DIE LANDSTREICHER – FEATURE BAND V2
   ========================================================= */

body.itemid-965 .sv-feature-band {
    position:relative;
    overflow:hidden;
    padding-top:95px;
    padding-bottom:95px;
    background:
        radial-gradient(circle at 15% 30%,rgba(221,161,47,.08),transparent 32%),
        linear-gradient(135deg,#080a0d 0%,#101318 100%);
}

body.itemid-965 .sv-feature-band-grid {
    width:min(1380px,calc(100% - 70px));
    margin:0 auto;

    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
    gap:65px;
    align-items:center;
}


/* ---------------------------------------------------------
   BILDCOLLAGE
   --------------------------------------------------------- */

body.itemid-965 .sv-feature-band-images {
    display:grid;
    grid-template-columns:1.35fr .65fr;
    grid-template-rows:repeat(2,210px);
    gap:12px;
}

body.itemid-965 .sv-feature-band-images figure {
    position:relative;
    overflow:hidden;
    margin:0;
    border-radius:7px;
    background:#111;
}

body.itemid-965 .sv-feature-band-images .sv-feature-band-main {
    grid-row:1 / 3;
}

body.itemid-965 .sv-feature-band-images img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s ease;
}

body.itemid-965 .sv-feature-band-images figure:hover img {
    transform:scale(1.035);
}


/* leichte Tiefe */

body.itemid-965 .sv-feature-band-images figure::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
    border-radius:inherit;
}


/* ---------------------------------------------------------
   TEXT
   --------------------------------------------------------- */

body.itemid-965 .sv-feature-band-copy {
    position:relative;
    padding-left:6px;
}

body.itemid-965 .sv-feature-band-copy .sv-kicker {
    margin-bottom:15px;
    color:#e7ae3b;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}

body.itemid-965 .sv-feature-band-copy h2 {
    margin:0 0 8px;
    color:#fff;
    font-size:clamp(2.6rem,4vw,4.4rem);
    font-weight:800;
    line-height:.98;
    letter-spacing:-.04em;
}

body.itemid-965 .sv-feature-band-copy .sv-band-subline {
    margin:0 0 27px;
    color:#e8b54c;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.04em;
}

body.itemid-965 .sv-feature-band-copy > p:not(.sv-band-subline) {
    max-width:560px;
    margin:0 0 16px;
    color:rgba(255,255,255,.78);
    font-size:1rem;
    line-height:1.7;
}


/* kleine Vertrauenszeile */

body.itemid-965 .sv-feature-band-copy::after {
    content:"Party · Rock · Pop · Schlager · Stimmung";
    display:block;
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12);

    color:rgba(255,255,255,.57);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.05em;
}


/* Button */

body.itemid-965 .sv-feature-band-copy .sv-button {
    display:inline-flex;
    align-items:center;

    margin-top:15px;
    padding:15px 24px;

    border-radius:4px;

    background:linear-gradient(180deg,#f1c258,#dda42f);
    color:#15110a !important;

    font-size:.88rem;
    font-weight:900;
    text-decoration:none !important;

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

body.itemid-965 .sv-feature-band-copy .sv-button::after {
    content:"→";
    margin-left:13px;
    font-size:1.05rem;
    transition:transform .2s ease;
}

body.itemid-965 .sv-feature-band-copy .sv-button:hover::after {
    transform:translateX(4px);
}


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

@media (max-width:991px) {

    body.itemid-965 .sv-feature-band {
        padding-top:75px;
        padding-bottom:75px;
    }

    body.itemid-965 .sv-feature-band-grid {
        width:min(100% - 40px,1380px);
        grid-template-columns:1fr;
        gap:45px;
    }

    body.itemid-965 .sv-feature-band-images {
        grid-template-rows:repeat(2,190px);
    }

    body.itemid-965 .sv-feature-band-copy {
        max-width:700px;
        padding-left:0;
    }
}


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

@media (max-width:600px) {

    body.itemid-965 .sv-feature-band {
        padding-top:58px;
        padding-bottom:62px;
    }

    body.itemid-965 .sv-feature-band-grid {
        width:calc(100% - 30px);
        gap:34px;
    }

    body.itemid-965 .sv-feature-band-images {
        grid-template-columns:1fr 1fr;
        grid-template-rows:245px 120px;
        gap:8px;
    }

    body.itemid-965 .sv-feature-band-images .sv-feature-band-main {
        grid-column:1 / 3;
        grid-row:1;
    }

    body.itemid-965 .sv-feature-band-copy h2 {
        font-size:2.55rem;
    }
}


/* =========================================================
   LANDSTREICHER – Hauptbild Ausschnitt
   ========================================================= */

body.itemid-965 .sv-fe-feature-gallery .sv-fe-feature-main img {
    width:100%;
    height:100%;
    object-fit:cover;

    /* stärker hineinzoomen */
    transform:scale(1.16);

    /* Bildausschnitt etwas nach oben verschieben */
    object-position:center 38%;
}

body.itemid-965 .sv-fe-feature-gallery .sv-fe-feature-main {
    overflow:hidden;
}

body.itemid-965 .sv-fe-feature-gallery .sv-fe-feature-main:hover img {
    transform:scale(1.20);
}


/* =========================================================
   WELCHE BAND PASST ZU IHREM FEST?
   ========================================================= */

body.itemid-965 .sv-fe-planning {
    position:relative;
    padding:95px 0 105px;
    background:#0b0d10;
    color:#fff;
}

body.itemid-965 .sv-fe-planning .sv-fe-section-head {
    max-width:820px;
    margin:0 auto 50px;
    text-align:center;
}

body.itemid-965 .sv-fe-planning .sv-fe-kicker {
    display:block;
    margin-bottom:13px;

    color:#e5ad3d;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}

body.itemid-965 .sv-fe-planning .sv-fe-section-head h2 {
    margin:0;
    color:#fff;

    font-size:clamp(2.4rem,3.7vw,4rem);
    font-weight:850;
    line-height:1.03;
    letter-spacing:-.04em;
}


/* 3 Beratungskarten */

body.itemid-965 .sv-fe-planning-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

body.itemid-965 .sv-fe-planning-grid article {
    position:relative;
    min-height:290px;
    padding:34px 32px 32px;

    overflow:hidden;

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

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

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

body.itemid-965 .sv-fe-planning-grid article:hover {
    transform:translateY(-4px);
    border-color:rgba(229,173,61,.45);

    background:
        linear-gradient(
            145deg,
            rgba(229,173,61,.09),
            rgba(255,255,255,.02)
        );
}


/* Nummer */

body.itemid-965 .sv-fe-plan-number {
    display:block;
    margin-bottom:50px;

    color:#e5ad3d;

    font-size:.82rem;
    font-weight:900;
    letter-spacing:.14em;
}


/* feine Linie */

body.itemid-965 .sv-fe-planning-grid article::before {
    content:"";
    position:absolute;
    top:73px;
    left:32px;

    width:42px;
    height:2px;

    background:#e5ad3d;
}


/* Überschrift */

body.itemid-965 .sv-fe-planning-grid h3 {
    margin:0 0 15px;

    color:#fff;

    font-size:1.38rem;
    font-weight:800;
    line-height:1.15;
}


/* Text */

body.itemid-965 .sv-fe-planning-grid p {
    margin:0;

    color:rgba(255,255,255,.68);

    font-size:.96rem;
    line-height:1.68;
}


/* Tablet */

@media (max-width:991px) {

    body.itemid-965 .sv-fe-planning {
        padding:75px 0 80px;
    }

    body.itemid-965 .sv-fe-planning-grid {
        grid-template-columns:1fr;
        gap:12px;
    }

    body.itemid-965 .sv-fe-planning-grid article {
        min-height:0;
    }

    body.itemid-965 .sv-fe-plan-number {
        margin-bottom:42px;
    }
}


/* Smartphone */

@media (max-width:600px) {

    body.itemid-965 .sv-fe-planning {
        padding:58px 0 62px;
    }

    body.itemid-965 .sv-fe-planning .sv-fe-section-head {
        margin-bottom:32px;
        text-align:left;
    }

    body.itemid-965 .sv-fe-planning .sv-fe-section-head h2 {
        font-size:2.35rem;
    }

    body.itemid-965 .sv-fe-planning-grid article {
        padding:27px 24px;
    }

    body.itemid-965 .sv-fe-planning-grid article::before {
        left:24px;
        top:65px;
    }

    body.itemid-965 .sv-fe-planning-grid p {
        font-size:.94rem;
    }
}


/* =========================================================
   FINAL CTA – Partyband Hero
   ========================================================= */

body.itemid-965 .sv-fe-final {
    position:relative;
    min-height:500px;
    overflow:hidden;
}

body.itemid-965 .sv-fe-final-media {
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    background:
        url("/images/sachsenartist/images-hero/partyband_hero.jpg")
        center center / cover no-repeat !important;

    transform:none;
}

/* Text links lesbar, Bühne rechts sichtbar */
body.itemid-965 .sv-fe-final::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;

    background:
        linear-gradient(
            90deg,
            rgba(3,4,6,.96) 0%,
            rgba(3,4,6,.88) 28%,
            rgba(3,4,6,.60) 52%,
            rgba(3,4,6,.22) 76%,
            rgba(3,4,6,.10) 100%
        );
}

@media (max-width:767px) {

    body.itemid-965 .sv-fe-final {
        min-height:470px;
    }

    body.itemid-965 .sv-fe-final-media {
        inset:0;
        width:100%;
        height:100%;
        background-position:62% center !important;
        transform:none;
    }

    body.itemid-965 .sv-fe-final::after {
        background:rgba(3,4,6,.72);
    }
}


/* =========================================================
   FINAL CTA – eigenes Motiv, keine Hero-Wiederholung
   ========================================================= */

body.itemid-965 .sv-fe-final-media {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;

    background:
        url("/images/sachsenartist/Landstreicher-2026/partyband/hero-landstreicher.jpg")
        center 48% / cover no-repeat !important;

    transform:none !important;
}

body.itemid-965 .sv-fe-final::after {
    background:
        linear-gradient(
            90deg,
            rgba(3,4,6,.96) 0%,
            rgba(3,4,6,.88) 28%,
            rgba(3,4,6,.61) 52%,
            rgba(3,4,6,.28) 76%,
            rgba(3,4,6,.18) 100%
        );
}

@media (max-width:767px) {
    body.itemid-965 .sv-fe-final-media {
        background-position:center center !important;
    }
}
/* =========================================================
   IMPRESSUM
   Artikel 106
   ========================================================= */

body .sv-impressum {
    background: #f5f3ee;
    color: #202020;
}

/* Hero
   ========================================================= */

body .sv-impressum-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 20%, rgba(190, 151, 73, .13), transparent 34%),
        linear-gradient(135deg, #090909 0%, #171717 100%);
    color: #fff;
}

body .sv-impressum-hero::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -170px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(190, 151, 73, .16);
    border-radius: 50%;
}

body .sv-impressum-hero-inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 86px 0 82px;
}

body .sv-impressum-kicker,
body .sv-impressum-note-kicker {
    display: block;
    margin-bottom: 14px;
    color: #c6a15b;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .18em;
}

body .sv-impressum-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.7rem, 5vw, 4.8rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.045em;
}

body .sv-impressum-hero p {
    max-width: 680px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 1.08rem;
    line-height: 1.75;
}


/* Hauptbereich
   ========================================================= */

body .sv-impressum-content {
    width: min(1080px, calc(100% - 48px));
    margin: 0 auto;
    padding: 78px 0 96px;
}

body .sv-impressum-section {
    padding: 0 0 66px;
    margin: 0 0 66px;
    border-bottom: 1px solid #d8d3c8;
}

body .sv-impressum-heading {
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    gap: 18px;
    margin-bottom: 32px;
}

body .sv-impressum-heading > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid #c8a35d;
    border-radius: 50%;
    color: #a57e36;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
}

body .sv-impressum-heading h2 {
    margin: 0;
    color: #171717;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    font-weight: 650;
    line-height: 1.15;
    letter-spacing: -.025em;
}


/* Anbieter + Kontakt
   ========================================================= */

body .sv-impressum-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

body .sv-impressum-card {
    min-height: 215px;
    padding: 32px 34px;
    background: #fff;
    border: 1px solid #e0ddd5;
    border-radius: 3px;
    box-shadow: 0 12px 34px rgba(0,0,0,.035);
}

body .sv-impressum-card h3 {
    position: relative;
    margin: 0 0 23px;
    padding-bottom: 15px;
    color: #171717;
    font-size: 1.08rem;
    font-weight: 700;
}

body .sv-impressum-card h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 2px;
    background: #c6a15b;
}

body .sv-impressum-card p {
    margin: 0;
    color: #505050;
    font-size: 1rem;
    line-height: 1.85;
}

body .sv-impressum-card strong {
    color: #181818;
}

body .sv-impressum-card a {
    color: #936c26;
    font-weight: 650;
    text-decoration: none;
}

body .sv-impressum-card a:hover,
body .sv-impressum-card a:focus {
    color: #171717;
    text-decoration: underline;
}


/* Rechtliche Angaben
   ========================================================= */

body .sv-impressum-legal-box {
    padding: 30px 34px;
    background: #ece8df;
    border-left: 3px solid #c6a15b;
}

body .sv-impressum-legal-box p {
    margin: 0;
    color: #454545;
    line-height: 1.75;
}

body .sv-impressum-legal-box .sv-impressum-label {
    margin-bottom: 8px;
    color: #171717;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body .sv-impressum-legal-box strong {
    color: #171717;
}


/* Textbereiche
   ========================================================= */

body .sv-impressum-text {
    max-width: 900px;
}

body .sv-impressum-text p {
    margin: 0 0 20px;
    color: #505050;
    font-size: 1rem;
    line-height: 1.85;
}

body .sv-impressum-text p:last-child {
    margin-bottom: 0;
}


/* Datenschutz CTA
   ========================================================= */

body .sv-impressum-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
    margin-top: 4px;
    padding: 42px 46px;
    background: #111;
    color: #fff;
}

body .sv-impressum-note > div {
    max-width: 650px;
}

body .sv-impressum-note-kicker {
    margin-bottom: 10px;
}

body .sv-impressum-note h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    line-height: 1.2;
}

body .sv-impressum-note p {
    margin: 0;
    color: rgba(255,255,255,.68);
    line-height: 1.7;
}

body .sv-impressum-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 24px;
    border: 1px solid #c6a15b;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        background-color .2s ease,
        color .2s ease;
}

body .sv-impressum-button:hover,
body .sv-impressum-button:focus {
    background: #c6a15b;
    color: #111;
    text-decoration: none;
}


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

@media (max-width: 767px) {

    body .sv-impressum-hero-inner {
        width: min(100% - 32px, 1180px);
        padding: 62px 0 58px;
    }

    body .sv-impressum-content {
        width: min(100% - 32px, 1080px);
        padding: 54px 0 68px;
    }

    body .sv-impressum-section {
        padding-bottom: 46px;
        margin-bottom: 46px;
    }

    body .sv-impressum-heading {
        grid-template-columns: 42px 1fr;
        gap: 14px;
        margin-bottom: 25px;
    }

    body .sv-impressum-heading > span {
        width: 42px;
        height: 42px;
    }

    body .sv-impressum-grid {
        grid-template-columns: 1fr;
    }

    body .sv-impressum-card {
        min-height: 0;
        padding: 26px 24px;
    }

    body .sv-impressum-legal-box {
        padding: 25px 24px;
    }

    body .sv-impressum-note {
        display: block;
        padding: 32px 26px;
    }

    body .sv-impressum-button {
        margin-top: 25px;
    }
}
/* =========================================================
   Weihnachtsprogramme
   ========================================================= */

.sv-weihnachten-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 24px;
    background:
        url('/images/sachsenartist/Landstreicher-2026/die_3_vd_Landstreichern/hero-3-landstreicher-weihnachtsmarkt.jpg')
        center center / cover no-repeat;
}

.sv-weihnachten-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(18, 12, 8, .78) 0%,
        rgba(18, 12, 8, .48) 42%,
        rgba(18, 12, 8, .08) 72%
    );
}

.sv-weihnachten-hero-content {
    position: relative;
    z-index: 1;
    width: min(650px, 90%);
    padding: clamp(32px, 6vw, 80px);
    color: #fff;
}

.sv-weihnachten-hero h1 {
    margin: 8px 0 18px;
    color: #fff;
}

.sv-weihnachten-hero p {
    max-width: 590px;
    margin: 0 0 28px;
    font-size: 1.1rem;
    line-height: 1.65;
}

@media (max-width: 767px) {
    .sv-weihnachten-hero {
        min-height: 540px;
        align-items: flex-end;
        background-position: center center;
    }

    .sv-weihnachten-hero-content {
        width: 100%;
        padding: 32px 24px;
    }

    .sv-weihnachten-hero-overlay {
        background: linear-gradient(
            0deg,
            rgba(18, 12, 8, .88) 0%,
            rgba(18, 12, 8, .38) 70%,
            rgba(18, 12, 8, .12) 100%
        );
    }
}


/* =========================================================
   Weihnachtsprogramme – Programmbereich
   ========================================================= */

.sv-weihnachten-programm {
    padding: clamp(55px, 7vw, 90px) 0 0;
}

.sv-weihnachten-programm-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(40px, 6vw, 80px);
    align-items: center;
}

.sv-weihnachten-programm-text h2 {
    margin: 8px 0 8px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.sv-weihnachten-programm-text h3 {
    margin: 0 0 24px;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.sv-weihnachten-lead {
    font-size: 1.12rem;
    line-height: 1.7;
}

.sv-weihnachten-programm-text p {
    line-height: 1.75;
}

.sv-weihnachten-programm-bild img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .14);
}


/* Musikrichtungen */

.sv-weihnachten-musik {
    list-style: none;
    padding: 0;
    margin: 28px 0;
    display: grid;
    gap: 12px;
}

.sv-weihnachten-musik li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 12px;
    background: rgba(210, 159, 49, .10);
}

.sv-weihnachten-musik li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #d9aa42;
    color: #17130d;
    font-size: 1.15rem;
}


/* Einsatzmöglichkeiten */

.sv-weihnachten-einsatz {
    margin-top: clamp(55px, 7vw, 85px);
    padding: clamp(35px, 5vw, 55px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    border-radius: 20px;
    background: #f5f1e8;
}

.sv-weihnachten-einsatz-card {
    text-align: center;
}

.sv-weihnachten-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ead8ad;
    color: #17130d;
    font-size: 1.7rem;
}

.sv-weihnachten-einsatz h3 {
    margin: 0 0 10px;
}

.sv-weihnachten-einsatz p {
    margin: 0;
    line-height: 1.6;
}


/* Weihnachts-CTA */

.sv-weihnachten-cta {
    margin: clamp(55px, 7vw, 85px) 0;
    padding: clamp(32px, 5vw, 55px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    border-radius: 20px;
    background:
        linear-gradient(
            120deg,
            #5c100c 0%,
            #861b13 55%,
            #5b0d09 100%
        );
    color: #fff;
    box-shadow: 0 18px 45px rgba(70, 10, 5, .16);
}

.sv-weihnachten-cta .sv-kicker {
    color: #e6bd61;
}

.sv-weihnachten-cta h2 {
    margin: 8px 0 14px;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.sv-weihnachten-cta p {
    max-width: 700px;
    margin: 0 0 10px;
    line-height: 1.65;
}

.sv-weihnachten-cta-button {
    flex: 0 0 auto;
}

.sv-weihnachten-cta .sv-button {
    white-space: nowrap;
}


/* Responsive */

@media (max-width: 900px) {

    .sv-weihnachten-programm-inner {
        grid-template-columns: 1fr;
    }

    .sv-weihnachten-programm-bild {
        order: -1;
    }

    .sv-weihnachten-einsatz {
        grid-template-columns: 1fr;
    }

    .sv-weihnachten-cta {
        flex-direction: column;
        align-items: flex-start;
    }

}


@media (max-width: 600px) {

    .sv-weihnachten-programm {
        padding-top: 45px;
    }

    .sv-weihnachten-einsatz {
        padding: 28px 22px;
    }

    .sv-weihnachten-cta {
        margin: 45px 0;
        padding: 30px 22px;
    }

    .sv-weihnachten-cta-button,
    .sv-weihnachten-cta .sv-button {
        width: 100%;
    }

    .sv-weihnachten-cta .sv-button {
        display: block;
        text-align: center;
    }

}

/* =========================================================
   Weihnachtsprogramme – Inhaltsfarben
   ========================================================= */

.sv-weihnachten-programm {
    color: #39342e;
}

.sv-weihnachten-programm-text h2 {
    color: #17130d;
}

.sv-weihnachten-programm-text h3 {
    color: #4f473d;
}

.sv-weihnachten-programm-text p {
    color: #39342e;
}

.sv-weihnachten-programm-text strong {
    color: #17130d;
}

.sv-weihnachten-programm-text .sv-kicker {
    color: #9a6b13;
}

.sv-weihnachten-musik li {
    color: #29251f;
}

.sv-weihnachten-einsatz h3 {
    color: #17130d;
}

.sv-weihnachten-einsatz p {
    color: #4f473d;
}

/* CTA bleibt bewusst hell auf rotem Hintergrund */

.sv-weihnachten-cta,
.sv-weihnachten-cta p,
.sv-weihnachten-cta strong {
    color: #fff;
}

.sv-weihnachten-cta h2 {
    color: #fff;
}

.sv-weihnachten-cta .sv-kicker {
    color: #e6bd61;
}

/* =========================================================
   Weihnachtsprogramme – Seiten-Innenabstand
   ========================================================= */

.sv-weihnachten-programm-inner,
.sv-weihnachten-einsatz,
.sv-weihnachten-cta {
    width: calc(100% - 48px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 600px) {
    .sv-weihnachten-programm-inner,
    .sv-weihnachten-einsatz,
    .sv-weihnachten-cta {
        width: calc(100% - 32px);
    }
}

/* =========================================================
   WEIHNACHTSPROGRAMME – CTA BUTTON RESPONSIVE
   ========================================================= */

.sv-weihnachten-cta .sv-button,
.sv-weihnachten-cta a[class*="button"] {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;

    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;

    box-sizing:border-box;
    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:normal;

    text-align:center;
    line-height:1.3;
}

@media (max-width:600px) {

    .sv-weihnachten-cta .sv-button,
    .sv-weihnachten-cta a[class*="button"] {
        width:100% !important;
        max-width:100% !important;

        padding:14px 16px !important;

        font-size:.92rem !important;
        line-height:1.3 !important;

        white-space:normal !important;
    }
}


/* Weihnachtsprogramme – H1 mobil kompakter */
@media (max-width: 767px) {
    .sv-weihnachten-hero h1 {
        font-size: clamp(2.15rem, 9vw, 2.65rem);
        line-height: 1.02;
        letter-spacing: -0.03em;
    }
}
/* =========================================================
   KINDERPROGRAMME
   ========================================================= */

.sv-kinderprogramme {
    background: #fff;
    color: #222;
}

.sv-kinderprogramme-hero,
.sv-kinderprogramme-content,
.sv-kinderprogramme-cta {
    color: #222;
}

.sv-kinderprogramme h1,
.sv-kinderprogramme h2,
.sv-kinderprogramme h3 {
    color: #171717;
}

.sv-kinderprogramme p,
.sv-kinderprogramme li {
    color: #444;
}

.sv-kinderprogramme .sv-kicker {
    color: #9a6a16;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sv-kinderprogramme .sv-lead {
    color: #333;
}

/* Inhaltsbreite */

.sv-kinderprogramme-hero-inner,
.sv-kinderprogramme-inner,
.sv-kinderprogramme-cta-inner {
    width: calc(100% - 48px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.sv-kinderprogramme-hero {
    padding: 70px 0 60px;
}

.sv-kinderprogramme-content {
    padding: 65px 0;
}

.sv-kinderprogramme-cta {
    padding: 60px 0 75px;
}

/* Karten */

.sv-kinderprogramme-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 32px 0 55px;
}

.sv-kinderprogramme-grid article {
    padding: 28px;
    background: #f5f3ee;
    border-radius: 10px;
}

.sv-kinderprogramme-grid article h3 {
    margin-top: 0;
}

/* Buttons bleiben gut lesbar */

.sv-kinderprogramme .sv-button {
    color: #fff;
}

@media (max-width: 800px) {
    .sv-kinderprogramme-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .sv-kinderprogramme-hero-inner,
    .sv-kinderprogramme-inner,
    .sv-kinderprogramme-cta-inner {
        width: calc(100% - 32px);
    }
}

/* Hero-Bild Kinder- & Familienprogramme */
.sv-kinderprogramme-hero {
    position: relative;
    display: flex;
    align-items: center;
    padding: 70px 0 60px;
    background:
        linear-gradient(90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.54) 48%,
            rgba(0,0,0,.18) 100%),
        url('/images/sachsenartist/kinderprogramme/hero-kinderprogramme-familenprogramme.jpg')
        center center / cover no-repeat;
}

.sv-kinderprogramme-hero-inner {
    position: relative;
    z-index: 1;
}

.sv-kinderprogramme-hero h1 {
    max-width: 850px;
    color: #fff;
}

.sv-kinderprogramme-hero .sv-lead {
    max-width: 780px;
    color: #fff;
}

.sv-kinderprogramme-hero .sv-kicker {
    color: #fff;
}

@media (max-width: 800px) {
    .sv-kinderprogramme-hero {
        padding: 70px 0 60px;
        background-position: center center;
    }
}

/* Hero-Höhe identisch mit Oktoberfest */
.sv-kinderprogramme-hero {
    min-height: 650px;
}

@media (max-width: 991px) {
    .sv-kinderprogramme-hero {
        min-height: 590px;
    }
}

@media (max-width: 640px) {
    .sv-kinderprogramme-hero {
        min-height: 620px;
    }
}

/* =========================================================
   Kinderprogramme Hero – Textlayout wie Programmseiten
   ========================================================= */

.sv-kinderprogramme-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 0;
    background:
        linear-gradient(
            90deg,
            rgba(18, 12, 8, .78) 0%,
            rgba(18, 12, 8, .48) 42%,
            rgba(18, 12, 8, .08) 72%
        ),
        url('/images/sachsenartist/kinderprogramme/hero-kinderprogramme-familenprogramme.jpg')
        center center / cover no-repeat;
}

.sv-kinderprogramme-hero-inner {
    position: relative;
    z-index: 1;
    width: min(650px, 90%);
    max-width: none;
    margin: 0;
    padding: clamp(32px, 6vw, 80px);
}

.sv-kinderprogramme-hero .sv-kicker {
    color: #fff;
}

.sv-kinderprogramme-hero h1 {
    max-width: 650px;
    margin: 8px 0 18px;
    color: #fff;
}

.sv-kinderprogramme-hero .sv-lead {
    max-width: 590px;
    margin: 0 0 28px;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.65;
}

.sv-kinderprogramme-hero .sv-button {
    color: #fff;
}

@media (max-width: 991px) {
    .sv-kinderprogramme-hero {
        min-height: 590px;
    }
}

@media (max-width: 640px) {
    .sv-kinderprogramme-hero {
        min-height: 620px;
        align-items: flex-end;
        background:
            linear-gradient(
                0deg,
                rgba(18, 12, 8, .88) 0%,
                rgba(18, 12, 8, .38) 70%,
                rgba(18, 12, 8, .12) 100%
            ),
            url('/images/sachsenartist/kinderprogramme/hero-kinderprogramme-familenprogramme.jpg')
            center center / cover no-repeat;
    }

    .sv-kinderprogramme-hero-inner {
        width: 100%;
        padding: 32px 24px;
    }
}
/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px){

    .sv-phase1-event-grid,
    .sv-phase1-offer-grid,
    .sv-occasion-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sv-phase1-why{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sv-feature-band-grid{
        grid-template-columns:1fr;
    }

    .sv-feature-band-images{
        min-height:500px;
    }
}

@media(max-width:1000px){

    .sv-header-global{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }

    .sv-nav-global{
        width:100%;
        justify-content:flex-start;
    }

    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        flex-wrap:wrap !important;
        justify-content:flex-start !important;
        gap:10px 20px !important;
    }
}

@media(max-width:820px){

    .sv-band-gallery,
    .sv-band-gallery-balanced{
        grid-template-columns:1fr 1fr;
    }

    .sv-band-two-column{
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media(max-width:760px){

    .sv-topbar-global{
        display:none;
    }

    .sv-logo-global img{
        height:50px;
        max-width:250px;
    }

    .sv-phase1-hero{
        min-height:640px;
        padding:65px 6vw 50px;
        background-position:center center;
    }

    .sv-phase1-trust{
        gap:14px;
    }

    .sv-phase1-trust > div{
        width:100%;
        padding:0 0 13px;
        border-right:0;
        border-bottom:1px solid rgba(202,160,74,.30);
    }

    .sv-phase1-trust > div:last-child{
        border-bottom:0;
    }

    .sv-phase1-event-grid,
    .sv-phase1-band-grid,
    .sv-phase1-offer-grid,
    .sv-phase1-why,
    .sv-occasion-grid,
    .sv-compact-band-grid,
    .sv-feste-seo-grid{
        grid-template-columns:1fr;
    }

    .sv-occasion-card{
        min-height:280px;
    }

    .sv-feature-band-images{
        grid-template-columns:1fr;
        grid-template-rows:auto;
        min-height:0;
    }

    .sv-feature-band-main{
        grid-row:auto;
    }

    .sv-feature-band-images figure{
        aspect-ratio:16/10;
    }

    .sv-feature-band-copy,
    .sv-compact-band-copy{
        text-align:center;
    }

    .sv-phase1-final{
        flex-direction:column;
        margin-left:5vw;
        margin-right:5vw;
        padding:35px 24px;
        text-align:center;
    }
}

@media(max-width:600px){

    .sv-band-gallery,
    .sv-band-gallery-balanced{
        grid-template-columns:1fr;
    }

    .sv-section{
        padding:55px 6vw;
    }

    .sv-hero{
        min-height:520px;
        padding:65px 6vw;
    }

    .sv-hero h1{
        font-size:clamp(2.5rem,12vw,3.5rem);
    }

    body.com_visforms .container-component{
        width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }
}


/* ==========================================================


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

.sv-menu-toggle{
    display:none;
}


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

    .sv-header-global{
        position:relative;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:20px !important;
    }

    .sv-logo-global{
        position:relative;
        z-index:102;
    }

    .sv-menu-toggle{
        display:flex;
        position:relative;
        z-index:102;
        flex:0 0 auto;
        width:48px;
        height:48px;
        padding:11px;
        margin-left:auto;
        border:1px solid rgba(255,255,255,.25);
        border-radius:6px;
        background:transparent;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:5px;
        cursor:pointer;
    }

    .sv-menu-toggle-bar{
        display:block;
        width:25px;
        height:2px;
        background:#fff;
        border-radius:2px;
        transition:
            transform .25s ease,
            opacity .2s ease;
    }

    .sv-menu-toggle[aria-expanded="true"]
    .sv-menu-toggle-bar:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }

    .sv-menu-toggle[aria-expanded="true"]
    .sv-menu-toggle-bar:nth-child(2){
        opacity:0;
    }

    .sv-menu-toggle[aria-expanded="true"]
    .sv-menu-toggle-bar:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }


    /* Navigation geschlossen */

    .sv-nav-global{
        display:none !important;
        position:absolute;
        z-index:101;
        top:100%;
        left:0;
        right:0;

        width:100% !important;
        margin:0 !important;
        padding:12px 4vw 20px !important;

        background:#111;
        border-top:1px solid rgba(202,160,74,.22);
        border-bottom:1px solid rgba(202,160,74,.35);
        box-shadow:0 14px 30px rgba(0,0,0,.25);
    }


    /* Navigation geöffnet */

    .sv-header-global.sv-menu-open .sv-nav-global{
        display:block !important;
    }


    .sv-nav-global > ul.mod-menu.nav,
    .sv-nav-global .mod-menu{
        display:flex !important;
        width:100% !important;
        flex-direction:column !important;
        flex-wrap:nowrap !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .sv-nav-global > ul.mod-menu.nav > li,
    .sv-nav-global .mod-menu > li{
        display:block !important;
        width:100% !important;
        border-bottom:1px solid rgba(255,255,255,.09);
    }

    .sv-nav-global > ul.mod-menu.nav > li:last-child,
    .sv-nav-global .mod-menu > li:last-child{
        border-bottom:0;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        display:block !important;
        width:100% !important;
        padding:14px 4px !important;

        color:#fff !important;
        font-size:.9rem !important;
        line-height:1.3 !important;
        letter-spacing:.025em !important;
        white-space:normal !important;
    }

    .sv-nav-global .mod-menu > li.active > a,
    .sv-nav-global .mod-menu > li.current > a{
        color:var(--sv-gold) !important;
    }
}


@media(max-width:600px){

    .sv-header-global{
        padding-left:16px !important;
        padding-right:16px !important;
    }

    .sv-logo-global img{
        max-width:230px !important;
        height:auto !important;
        max-height:56px !important;
    }

    .sv-nav-global{
        padding-left:16px !important;
        padding-right:16px !important;
    }
}

/* Hamburger im Querformat kompakter */
@media (max-width:820px) and (orientation:landscape) {

    .sv-menu-toggle{
        width:40px;
        height:40px;
        padding:8px;
        gap:4px;
    }

    .sv-menu-toggle-bar{
        width:22px;
        height:2px;
    }

    .sv-menu-toggle[aria-expanded="true"]
    .sv-menu-toggle-bar:nth-child(1){
        transform:translateY(6px) rotate(45deg);
    }

    .sv-menu-toggle[aria-expanded="true"]
    .sv-menu-toggle-bar:nth-child(3){
        transform:translateY(-6px) rotate(-45deg);
    }
}

/* =========================================================
   MOBILE NAV – QUERFORMAT ALS KOMPAKTES DROPDOWN
   ========================================================= */

@media (max-width:820px) and (orientation:landscape) {

    .sv-nav-global{
        left:auto !important;
        right:16px !important;

        width:320px !important;
        max-width:calc(100vw - 32px) !important;

        padding:8px 14px 12px !important;

        border:1px solid rgba(202,160,74,.35) !important;
        border-radius:0 0 8px 8px;

        max-height:calc(100vh - 80px);
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        padding:9px 4px !important;
        font-size:.78rem !important;
        line-height:1.2 !important;
    }
}

/* =========================================================
   MOBILE NAV – QUERFORMAT ALS KOMPAKTES DROPDOWN
   ========================================================= */

@media (max-width:820px) and (orientation:landscape) {

    .sv-nav-global{
        left:auto !important;
        right:16px !important;

        width:320px !important;
        max-width:calc(100vw - 32px) !important;

        padding:8px 14px 12px !important;

        border:1px solid rgba(202,160,74,.35) !important;
        border-radius:0 0 8px 8px;

        max-height:calc(100vh - 80px);
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a{
        padding:9px 4px !important;
        font-size:.78rem !important;
        line-height:1.2 !important;
    }
}


/* =========================================================
   HOMEPAGE HERO – MOBILE FINAL
   ========================================================= */

@media (max-width:760px) {

    .sv-phase1-hero {
        min-height:auto;
        padding:58px 24px 52px;
        box-sizing:border-box;
    }

    .sv-phase1-hero-content {
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .sv-phase1-hero .sv-kicker {
        max-width:100%;
        margin-bottom:16px;
        font-size:clamp(1.15rem,5.5vw,1.55rem);
        line-height:1.15;
        overflow-wrap:normal;
    }

    .sv-phase1-hero h1 {
        width:100%;
        max-width:100%;
        margin:8px 0 22px;

        font-size:clamp(2.7rem,11vw,4rem);
        line-height:.98;

        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
    }

    .sv-phase1-hero h1 span {
        margin-top:18px;
        font-size:clamp(1.25rem,5.5vw,1.7rem);
        line-height:1.15;
    }

    .sv-phase1-hero p {
        width:100%;
        max-width:100%;
        font-size:1.08rem;
        line-height:1.58;
    }

    .sv-phase1-hero-buttons {
        width:100%;
    }

    .sv-phase1-hero-buttons a {
        max-width:100%;
        box-sizing:border-box;
        white-space:normal;
        text-align:center;
    }
}


@media (max-width:430px) {

    .sv-phase1-hero {
        padding-left:20px;
        padding-right:20px;
    }

    .sv-phase1-hero h1 {
        font-size:clamp(2.35rem,11.5vw,3.15rem);
        line-height:1;
    }

    .sv-phase1-hero h1 span {
        font-size:clamp(1.15rem,5.5vw,1.45rem);
    }

    .sv-phase1-hero p {
        font-size:1rem;
        line-height:1.55;
    }

    .sv-phase1-hero-buttons a {
        width:100%;
    }
}

/* Homepage Hero H1 – Smartphone final */
@media (max-width:760px) {

    .sv-phase1-hero .sv-phase1-hero-content h1 {
        width:100%;
        max-width:100%;
        font-size:clamp(2.15rem, 9.2vw, 3.25rem);
        line-height:1.02;
        letter-spacing:-0.025em;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
    }
}

@media (max-width:430px) {

    .sv-phase1-hero .sv-phase1-hero-content h1 {
        font-size:clamp(2rem, 9vw, 2.55rem);
        line-height:1.03;
    }
}

/* Homepage Hero H1 – Smartphone final */
@media (max-width:760px) {

    .sv-phase1-hero .sv-phase1-hero-content h1 {
        width:100%;
        max-width:100%;
        font-size:clamp(2.15rem, 9.2vw, 3.25rem);
        line-height:1.02;
        letter-spacing:-0.025em;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal;
    }
}

@media (max-width:430px) {

    .sv-phase1-hero .sv-phase1-hero-content h1 {
        font-size:clamp(2rem, 9vw, 2.55rem);
        line-height:1.03;
    }
}

/* =========================================================
   RESPONSIVE NAV – TABLET KOMPAKT
   ========================================================= */

@media (min-width:601px) and (max-width:820px) {

    .sv-nav-global {
        left:auto !important;
        right:24px !important;

        width:360px !important;
        max-width:calc(100vw - 48px) !important;

        padding:8px 16px 12px !important;

        border:1px solid rgba(202,160,74,.35) !important;
        border-radius:0 0 10px 10px !important;

        max-height:calc(100vh - 110px);
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .sv-nav-global > ul.mod-menu.nav > li > a,
    .sv-nav-global .mod-menu > li > a {
        padding:11px 5px !important;
        font-size:.82rem !important;
        line-height:1.25 !important;
    }
}


/* Smartphone darf weiterhin fast volle Breite nutzen */
@media (max-width:600px) {

    .sv-nav-global {
        left:16px !important;
        right:16px !important;

        width:auto !important;
        max-width:none !important;

        padding:8px 14px 14px !important;

        border-radius:0 0 8px 8px !important;

        max-height:calc(100vh - 85px);
        overflow-y:auto;
    }
}


/* =========================================================
   GLOBAL RESPONSIVE SAFETY
   Einheitliche mobile Skalierung aller Inhaltsseiten
   ========================================================= */

html,
body {
    max-width:100%;
    overflow-x:hidden;
}

img,
video,
iframe,
svg {
    max-width:100%;
}


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

@media (max-width:760px) {

    /*
     * Lange Seitentitel flexibel skalieren.
     * Seitenspezifische Selektoren bleiben gestalterisch
     * erhalten, dürfen aber mobil nicht übergroß werden.
     */

    main h1 {
        max-width:100%;
        font-size:clamp(2.15rem, 9vw, 3.25rem);
        line-height:1.04;
        overflow-wrap:normal;
        word-break:normal;
        hyphens:none;
    }

    main h2 {
        max-width:100%;
        font-size:clamp(1.75rem, 7vw, 2.5rem);
        line-height:1.08;
        overflow-wrap:normal;
        word-break:normal;
    }

    main h3 {
        max-width:100%;
        font-size:clamp(1.3rem, 5vw, 1.8rem);
        line-height:1.15;
    }

    main p,
    main li {
        max-width:100%;
    }

    /*
     * Links, Mailadressen etc. dürfen einen Container
     * nicht horizontal verbreitern.
     */

    main a {
        max-width:100%;
    }

    /*
     * CTA-Buttons bleiben innerhalb ihres Containers.
     */

    main .sv-button,
    main a[class*="button"],
    main a[class*="btn"] {
        max-width:100%;
        box-sizing:border-box;
        white-space:normal;
        text-align:center;
    }
}


/* ---------------------------------------------------------
   SMARTPHONE
   --------------------------------------------------------- */

@media (max-width:430px) {

    main h1 {
        font-size:clamp(2rem, 9.5vw, 2.55rem);
        line-height:1.04;
        letter-spacing:-.02em;
    }

    main h2 {
        font-size:clamp(1.65rem, 7.5vw, 2.15rem);
    }

    main p,
    main li {
        overflow-wrap:break-word;
    }
}


/* ---------------------------------------------------------
   SEHR SCHMALE SMARTPHONES
   --------------------------------------------------------- */

@media (max-width:360px) {

    main h1 {
        font-size:clamp(1.85rem, 9.5vw, 2.2rem);
    }

    main h2 {
        font-size:clamp(1.5rem, 7.5vw, 1.9rem);
    }
}


/* =========================================================
   RESPONSIVE TYPOGRAFIE – FINAL
   Überschriften skalieren kontinuierlich mit dem Viewport
   ========================================================= */

@media (max-width:760px) {

    main h1,
    main .sv-phase1-hero h1 {
        font-size:min(8vw, 3rem) !important;
        line-height:1.03 !important;
        max-width:100%;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }

    main h2 {
        font-size:min(7.5vw, 2.5rem) !important;
        line-height:1.08 !important;
        max-width:100%;
    }

    main h3 {
        font-size:min(5.8vw, 1.8rem) !important;
        line-height:1.12 !important;
        max-width:100%;
    }
}

/* FESTE & EVENTS – Hero-Textcontainer breiter */
@media (min-width:992px) {
    body.itemid-965 .sv-fe-hero-copy {
        width:min(900px, 80%) !important;
        max-width:none !important;
    }

    body.itemid-965 .sv-fe-hero h1 {
        width:100% !important;
        max-width:none !important;
    }
}

/* FESTE & EVENTS – Hero-Container links wie Oktoberfest */
@media (min-width:992px) {
    body.itemid-965 .sv-fe-hero-inner {
        width:min(1180px, calc(100% - 48px)) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    body.itemid-965 .sv-fe-hero-copy {
        margin-left:0 !important;
        margin-right:auto !important;
        transform:none !important;
    }
}

/* =========================================================
   FESTE HERO – exakt gleiche Position wie Oktoberfest
   ========================================================= */
@media (min-width:992px) {

    body.itemid-965 .sv-fe-hero {
        min-height:650px !important;
        display:flex !important;
        align-items:center !important;
    }

    body.itemid-965 .sv-fe-hero-inner {
        position:relative !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;

        width:min(1180px, calc(100% - 48px)) !important;
        max-width:none !important;
        margin:0 auto !important;
        padding:90px 0 !important;

        display:block !important;
    }

    body.itemid-965 .sv-fe-hero-copy {
        position:relative !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
        margin-left:0 !important;
        margin-right:auto !important;

        /* breiter wegen des deutlich längeren Feste-Titels */
        width:min(900px, 80%) !important;
        max-width:none !important;
    }

    body.itemid-965 .sv-fe-hero h1 {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        transform:none !important;
    }
}

/* =========================================================
   FESTE HERO – Position exakt wie aktueller Oktoberfest-Hero
   ========================================================= */
@media (min-width:992px) {

    body.itemid-965 .sv-fe-hero {
        min-height:620px !important;
    }

    body.itemid-965 .sv-fe-hero-inner {
        position:relative !important;
        left:auto !important;
        right:auto !important;

        width:min(1380px, calc(100% - 70px)) !important;
        max-width:none !important;
        min-height:620px !important;

        margin:0 auto !important;
        padding:58px 0 105px !important;

        display:flex !important;
        align-items:center !important;

        transform:translateX(-80px) !important;
    }

    body.itemid-965 .sv-fe-hero-copy {
        position:relative !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;

        /* breiter als Oktoberfest wegen des langen Titels */
        width:min(900px, 70%) !important;
        max-width:900px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body.itemid-965 .sv-fe-hero h1 {
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        transform:none !important;
    }
}

/* FESTE HERO – zweiter Button wie Oktoberfest */
body.itemid-965 .sv-fe-hero .sv-fe-secondary {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:52px !important;
    padding:13px 24px !important;

    color:#fff !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    text-decoration:none !important;

    background:rgba(0,0,0,.12) !important;
    border:2px solid rgba(255,255,255,.70) !important;
    border-radius:5px !important;

    box-shadow:none !important;
}

body.itemid-965 .sv-fe-hero .sv-fe-secondary:hover {
    color:#fff !important;
    background:rgba(255,255,255,.10) !important;
    border-color:#fff !important;
    text-decoration:none !important;
}

/* =========================================================
   OKTOBERFEST + FESTE/EVENTS
   Responsive Fix 992–1500px
   Desktop >1500px bleibt unverändert
   ========================================================= */
@media (min-width:992px) and (max-width:1500px) {

    /* ---------- gemeinsamer äußerer Stand ---------- */

    body.itemid-964 .sv-okto-hero-inner,
    body.itemid-965 .sv-fe-hero-inner {
        width:min(1180px, calc(100% - 48px)) !important;
        margin-left:auto !important;
        margin-right:auto !important;

        /* entscheidend: nichts mehr aus dem Viewport schieben */
        transform:none !important;
        left:auto !important;
        right:auto !important;

        padding-left:0 !important;
        padding-right:0 !important;
    }

    /* ---------- Oktoberfest ---------- */

    body.itemid-964 .sv-okto-hero-copy {
        width:min(760px, 72%) !important;
        max-width:none !important;
    }

    body.itemid-964 .sv-okto-hero h1 {
        width:100% !important;
        max-width:none !important;
        font-size:clamp(2.65rem, 5.2vw, 4rem) !important;
        line-height:.98 !important;
    }

    /* ---------- Feste & Events ---------- */

    body.itemid-965 .sv-fe-hero-copy {
        width:min(900px, 82%) !important;
        max-width:none !important;
        margin-left:0 !important;
        margin-right:auto !important;
        transform:none !important;
    }

    body.itemid-965 .sv-fe-hero h1 {
        width:100% !important;
        max-width:none !important;
        font-size:clamp(2.65rem, 5.2vw, 4rem) !important;
        line-height:.98 !important;
    }
}

/* =========================================================
   zusätzliche Sicherheit für kleinere Breiten
   ========================================================= */
@media (max-width:991px) {

    body.itemid-964 .sv-okto-hero-inner,
    body.itemid-965 .sv-fe-hero-inner {
        transform:none !important;
        left:auto !important;
        right:auto !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    body.itemid-964 .sv-okto-hero-copy,
    body.itemid-965 .sv-fe-hero-copy {
        width:100% !important;
        max-width:100% !important;
        transform:none !important;
    }
}

/* Weihnachtsprogramme – Hero ohne abgerundete Ecken */
body .sv-weihnachten-hero {
    border-radius: 0 !important;
}


/* Feste & Events – Livebild: Bildausschnitt weiter nach links */
body.itemid-965 .sv-fe-benefits-image img {
    object-fit: cover !important;
    object-position: 72% center !important;
}



/* =========================================================
   GRUMIS
   ========================================================= */

body.itemid-964 .sv-okto-grumis .sv-okto-band-gallery figure:nth-child(2) {
    background:#f4efe4;
}

body.itemid-964 .sv-okto-grumis .sv-okto-band-gallery figure:nth-child(2) img {
    object-fit:contain;
    object-position:center center;
}

@media (min-width:821px) {

    body.itemid-964 .sv-okto-grumis .sv-okto-band-gallery {
        grid-template-columns:repeat(3, 1fr);
    }

    body.itemid-964 .sv-okto-grumis .sv-okto-band-gallery figure:nth-child(2) img {
        width:180%;
        max-width:none;
        margin-left:-45%;
        object-fit:contain;
        object-position:center center;
    }
}

/* GRUMIS – Abstand zum vorherigen Bandbereich reduzieren */
body.itemid-964 .sv-okto-band.sv-okto-grumis {
    padding-top:45px;
}

/* BAYERNMÄN – Abstand zum vorherigen Bandbereich reduzieren */
body.itemid-964 .sv-okto-band.sv-okto-bayernman {
    padding-top:45px;
}
