/**
 * ==========================================================
 * COPARTNER – CUSTOM CSS
 * ==========================================================
 *
 * Zentrale CSS-Datei des Copartner Child-Themes.
 *
 * Responsive-Konzept:
 *
 * > 1600 px
 *   Desktop-Header
 *
 * 1201–1600 px
 *   Kompakter Desktop-Header
 *
 * <= 1200 px
 *   Logo + Sprachflagge + Hamburger
 *   Off-Canvas-Navigation
 *
 * <= 600 px
 *   Smartphone-spezifische Anpassungen
 *
 * WICHTIG:
 *
 * Die Mobile Navigation, das Kontaktpanel und das Overlay
 * liegen im HTML ausserhalb von <header>.
 *
 * Ihre CSS-Selektoren dürfen deshalb NICHT mit
 * #copartner-header beginnen.
 *
 * ==========================================================
 */


/* ==========================================================
   00 – GRUNDEINSTELLUNGEN
   ========================================================== */

body #page-container {
    padding-top: 0 !important;
}


/* ==========================================================
   01 – HEADER
   ========================================================== */

#copartner-header {
    position: relative !important;
    z-index: 1000 !important;
    width: 100% !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
}

#copartner-header .copartner-header-inner {
    width: 100% !important;
    max-width: none !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-header .copartner-header-code,
#copartner-header .copartner-header-code .et_pb_code_inner {
    width: 100% !important;
    max-width: none !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-header .copartner-custom-header {
    position: relative;
    width: 100%;
    height: 96px;
    min-height: 96px;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

#copartner-header .copartner-header-container {
    display: flex;
    align-items: center;
    width: calc(100% - 80px);
    max-width: 1740px;
    height: 96px;
    margin: 0 auto;
    padding: 0;
}


/* ==========================================================
   02 – LOGO
   ========================================================== */

#copartner-header .copartner-header-logo {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

#copartner-header .copartner-header-logo a {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

#copartner-header .copartner-header-logo-img {
    display: block;
    width: auto;
    height: 58px;
    margin: 0;
    padding: 0;
}


/* ==========================================================
   03 – DESKTOP NAVIGATION
   ========================================================== */

#copartner-header .copartner-desktop-nav {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0;
}

#copartner-header .copartner-nav-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 52px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#copartner-header .copartner-nav-list > li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#copartner-header .copartner-nav-list > li::before,
#copartner-header .copartner-nav-list > li::marker {
    display: none !important;
    content: none !important;
}

#copartner-header .copartner-nav-item > a,
#copartner-header .copartner-contact-trigger {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #000000 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.2s ease;
}

#copartner-header .copartner-nav-item > a:hover,
#copartner-header .copartner-nav-item > a:focus,
#copartner-header .copartner-contact-trigger:hover,
#copartner-header .copartner-contact-trigger:focus {
    color: #c8102e !important;
}


/* ==========================================================
   04 – DESKTOP DROPDOWN
   ========================================================== */

#copartner-header .copartner-dropdown-trigger {
    gap: 7px;
}

#copartner-header .copartner-dropdown-arrow {
    display: inline-block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    transition: transform 0.2s ease;
}

#copartner-header .copartner-has-dropdown:hover .copartner-dropdown-arrow,
#copartner-header .copartner-has-dropdown:focus-within .copartner-dropdown-arrow {
    transform: rotate(180deg);
}

#copartner-header .copartner-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1100;
    min-width: 285px;
    margin: 0 !important;
    padding: 18px 0 !important;
    list-style: none !important;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

#copartner-header .copartner-dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    top: -10px;
    width: 100%;
    height: 10px;
}

#copartner-header .copartner-dropdown > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#copartner-header .copartner-dropdown > li::before,
#copartner-header .copartner-dropdown > li::marker {
    display: none !important;
    content: none !important;
}

#copartner-header .copartner-dropdown > li > a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px 24px;
    color: #000000 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

#copartner-header .copartner-dropdown > li > a:hover,
#copartner-header .copartner-dropdown > li > a:focus {
    color: #c8102e !important;
    background: rgba(0, 0, 0, 0.035);
}

#copartner-header .copartner-has-dropdown:hover .copartner-dropdown,
#copartner-header .copartner-has-dropdown:focus-within .copartner-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}


/* ==========================================================
   05 – SPRACHWECHSLER
   ========================================================== */

#copartner-header .copartner-language-switch > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#copartner-header .copartner-language-flag {
    display: block;
    width: 20px;
    height: 20px;
    max-width: none;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center center;
}


/* ==========================================================
   06 – MOBILE BUTTON / SVG
   ========================================================== */

#copartner-header .copartner-mobile-toggle {
    display: none;
    position: relative;
    z-index: 4900;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 4px;
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer;
}

#copartner-header .copartner-mobile-icon {
    display: block;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    overflow: visible;
    fill: none;
    stroke: #000000;
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: miter;
}

#copartner-header .copartner-mobile-icon-menu {
    display: block;
}

#copartner-header .copartner-mobile-icon-close {
    display: none;
}

#copartner-header .copartner-mobile-toggle.is-open .copartner-mobile-icon-menu {
    display: none;
}

#copartner-header .copartner-mobile-toggle.is-open .copartner-mobile-icon-close {
    display: block;
}


/* ==========================================================
   07 – MOBILE PANEL
   ========================================================== */

.copartner-mobile-navigation {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 4800;
    width: min(420px, 88vw);
    height: 100vh;
    height: 100dvh;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    background: #ffffff;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);
    visibility: hidden;
    transform: translateX(105%);
    transition:
        transform 0.35s ease,
        visibility 0.35s ease;
}

.copartner-mobile-navigation.is-open {
    visibility: visible;
    transform: translateX(0);
}

.copartner-mobile-navigation-inner {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 110px 45px 50px;
}


/* ==========================================================
   08 – MOBILE NAVIGATION
   ========================================================== */

.copartner-mobile-navigation .copartner-mobile-nav-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item::before,
.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item::marker {
    display: none !important;
    content: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item > a,
.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-contact-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 18px 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #000000 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: normal !important;
    cursor: pointer !important;
    transition: color 0.2s ease;
}

.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item > a:hover,
.copartner-mobile-navigation .copartner-mobile-nav-list > .copartner-nav-item > a:focus,
.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-contact-trigger:hover,
.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-contact-trigger:focus {
    color: #c8102e !important;
}


/* ==========================================================
   09 – MOBILE DROPDOWN
   ========================================================== */

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown {
    position: static !important;
    top: auto !important;
    left: auto !important;
    z-index: auto !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 14px 18px !important;
    list-style: none !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-has-dropdown:not(.is-open) .copartner-dropdown {
    display: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-has-dropdown.is-open .copartner-dropdown {
    display: block !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown::before {
    display: none !important;
    content: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown-arrow {
    flex: 0 0 auto;
    margin-left: 15px;
    font-size: 22px;
    line-height: 1;
    transform: none !important;
    transition: transform 0.25s ease !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-has-dropdown.is-open .copartner-dropdown-arrow {
    transform: rotate(180deg) !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li::before,
.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li::marker {
    display: none !important;
    content: none !important;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li > a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    background: transparent !important;
    color: #555555 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    white-space: normal !important;
    transition: color 0.2s ease;
}

.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li > a:hover,
.copartner-mobile-navigation .copartner-mobile-nav-list .copartner-dropdown > li > a:focus {
    color: #c8102e !important;
    background: transparent !important;
}


/* ==========================================================
   10 – KONTAKTPANEL
   ========================================================== */

.copartner-contact-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 5000;
    width: min(430px, 90vw);
    height: auto;
    max-height: 100vh;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    background: #ffffff;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.12);
    transform: translateX(105%);
    visibility: hidden;
    transition:
        transform 0.35s ease,
        visibility 0.35s ease;
}

.copartner-contact-panel.is-open {
    transform: translateX(0);
    visibility: visible;
}

.copartner-contact-panel,
.copartner-contact-panel * {
    font-family: "Montserrat", sans-serif !important;
}

.copartner-contact-close {
    position: absolute;
    top: 28px;
    right: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #c8102e;
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
}

.copartner-contact-content {
    padding: 105px 55px 50px;
}

.copartner-contact-content h2 {
    margin: 0 0 20px;
    padding: 0;
    color: #000000;
    font-family: "Montserrat", sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
}

.copartner-contact-content p {
    margin: 0 0 28px;
    padding: 0;
    color: #000000;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.copartner-contact-content a {
    color: #000000 !important;
    text-decoration: none !important;
}

.copartner-contact-content a:hover {
    color: #c8102e !important;
}

.copartner-contact-map {
    width: 100%;
    margin-top: 38px;
}

.copartner-contact-map iframe {
    display: block;
    width: 100%;
    height: 240px;
    border: 0;
}


/* ==========================================================
   11 – OVERLAY
   ========================================================== */

.copartner-contact-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4700;
    background: rgba(0, 0, 0, 0.38);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.copartner-contact-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


/* ==========================================================
   12 – SCROLL LOCK
   ========================================================== */

body.copartner-contact-open,
body.copartner-mobile-open {
    overflow: hidden !important;
}


/* ==========================================================
   13 – HERO
   ========================================================== */

#copartner-hero {
    position: relative !important;
    width: 100% !important;
    height: calc(100vh - 96px) !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000000;
}

#copartner-hero .copartner-hero-inner {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-hero .copartner-hero-code {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-hero .copartner-hero-code .et_pb_code_inner {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-hero .copartner-slider {
    position: relative !important;
    width: 100% !important;
    height: calc(100vh - 96px) !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000000;
}


/* ==========================================================
   14 – HERO SLIDES / VIDEO
   ========================================================== */

#copartner-hero .copartner-slider > .copartner-slide {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.55s ease !important;
}

#copartner-hero .copartner-slider > .copartner-slide.is-active {
    opacity: 1 !important;
    pointer-events: auto;
}

#copartner-hero .copartner-hero-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #000000;
}


/* ==========================================================
   15 – HERO CONTENT
   ========================================================== */

#copartner-hero .copartner-slide-content {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#copartner-hero .copartner-slide-title {
    position: absolute !important;
    z-index: 4;
    top: 14%;
    left: 23%;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(38px, 3.2vw, 64px);
    font-weight: 600;
    line-height: 1.08em;
    text-shadow:
        0 1px 2px rgba(0, 0, 0, .45),
        0 2px 8px rgba(0, 0, 0, .25);
}

#copartner-hero .copartner-circle {
    position: absolute !important;
    border-radius: 50%;
}

#copartner-hero .copartner-circle-main {
    z-index: 2;
    width: clamp(320px, 27vw, 520px);
    aspect-ratio: 1 / 1;
    top: 27%;
    left: 22%;
}

#copartner-hero .copartner-slide-1 .copartner-circle-main {
    background: rgba(197, 154, 160, .82);
}

#copartner-hero .copartner-slide-2 .copartner-circle-main {
    background: rgba(202, 202, 174, .82);
}

#copartner-hero .copartner-slide-3 .copartner-circle-main {
    background: rgba(83, 190, 180, .82);
}

#copartner-hero .copartner-circle-link {
    z-index: 3;
    width: clamp(180px, 15vw, 290px);
    aspect-ratio: 1 / 1;
    top: 59%;
    left: 14%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #111111;
    text-decoration: none;
    text-align: center;
}

#copartner-hero .copartner-circle-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.15em;
}

#copartner-hero .copartner-circle-more {
    margin-top: 16px;
    color: #c8102e;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.2em;
}


/* ==========================================================
   16 – HERO NAVIGATION
   ========================================================== */

#copartner-hero .copartner-slider-arrow {
    position: absolute !important;
    z-index: 10;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .75) !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, .08) !important;
    color: #ffffff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 20px !important;
    font-weight: 300;
    line-height: 1 !important;
    cursor: pointer;
    transition:
        background-color .25s ease,
        border-color .25s ease;
}

#copartner-hero .copartner-slider-prev {
    left: 32px !important;
}

#copartner-hero .copartner-slider-next {
    right: 32px !important;
}

#copartner-hero .copartner-slider-arrow:hover {
    background: rgba(0, 0, 0, .25) !important;
    border-color: #ffffff !important;
}


/* ==========================================================
   17 – KOMPAKTER DESKTOP
   1201–1600 px
   ==========================================================
 *
 * Dieser Bereich deckt kleinere Desktop-/Laptop-Auflösungen
 * sowie grosse Tablets im Querformat ab.
 *
 * Ziel:
 * - Logo mit 40 px Sicherheitsabstand zum linken Rand
 * - Navigation sauber am rechten Rand des Containers
 * - gleichmässige Abstände innerhalb der Navigation
 *
 * Tablet <= 1200 px bleibt vollständig unverändert.
 * ========================================================== */

@media (min-width: 1201px) and (max-width: 1600px) {

    #copartner-header .copartner-header-container {
        width: calc(100% - 80px) !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-desktop-nav {
        flex: 1 1 auto !important;
        margin-left: 40px !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-nav-list {
        width: 100% !important;
        justify-content: flex-end !important;
        gap: clamp(28px, 2.4vw, 42px) !important;
    }

}






/* ==========================================================
   18 – TABLET / MOBILE
   <= 1200 px
   ========================================================== */

@media (max-width: 1200px) {

    /* ------------------------------------------------------
       ORIGINALES DESKTOP-DROPDOWN DEAKTIVIEREN
       ------------------------------------------------------
     *
     * Auf Tablet und Smartphone übernimmt unsere separate
     * Off-Canvas-Navigation die Menüführung.
     *
     * Wichtig:
     * Der Selektor beginnt ausdrücklich bei
     * .copartner-desktop-nav und betrifft deshalb nur das
     * originale Dropdown im Header.
     *
     * Das geklonte Dropdown innerhalb der Off-Canvas-
     * Navigation bleibt vollständig funktionsfähig.
     * ------------------------------------------------------ */

    #copartner-header
    .copartner-desktop-nav
    > .copartner-nav-list
    > .copartner-has-dropdown
    > .copartner-dropdown {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }


    /* ------------------------------------------------------
       HEADER
       ------------------------------------------------------ */

    #copartner-header {
        width: 100% !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-inner {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-code {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-code .et_pb_code_inner {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-custom-header {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-container {
        display: flex !important;
        align-items: center !important;
        width: calc(100% - 48px) !important;
        max-width: none !important;
        height: 82px !important;
        min-height: 82px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-logo {
        flex: 0 0 auto;
    }

    #copartner-header .copartner-header-logo-img {
        width: auto;
        height: 48px;
    }

    #copartner-header
    .copartner-header-container
    .copartner-desktop-nav
    .copartner-nav-list
    > .copartner-nav-item:not(.copartner-language-switch) {
        display: none !important;
    }

    #copartner-header
    .copartner-header-container
    .copartner-desktop-nav {
        display: block !important;
        flex: 0 0 auto;
        margin-left: auto !important;
        padding: 0 !important;
    }

    #copartner-header
    .copartner-header-container
    .copartner-desktop-nav
    .copartner-nav-list {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header
    .copartner-header-container
    .copartner-language-switch {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-mobile-toggle {
        display: flex !important;
        flex: 0 0 auto;
        margin: 0 0 0 22px !important;
    }

    .copartner-mobile-navigation {
        display: block !important;
    }
}


/* ==========================================================
   19 – TABLET-SICHERHEIT
   981–1200 px
   ========================================================== */

@media (min-width: 981px) and (max-width: 1200px) {

    #copartner-header,
    #copartner-header.et_pb_section,
    #copartner-header .copartner-header-inner,
    #copartner-header .et_pb_row,
    #copartner-header .copartner-header-code,
    #copartner-header .et_pb_module,
    #copartner-header .copartner-header-code .et_pb_code_inner {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #copartner-header,
    #copartner-header.et_pb_section,
    #copartner-header .copartner-header-inner,
    #copartner-header .et_pb_row,
    #copartner-header .copartner-header-code,
    #copartner-header .et_pb_module,
    #copartner-header .copartner-header-code .et_pb_code_inner {
        height: 82px !important;
        min-height: 82px !important;
        max-height: 82px !important;
    }
}


/* ==========================================================
   20 – SMARTPHONE
   <= 600 px
   ========================================================== */

@media (max-width: 600px) {

    /* ------------------------------------------------------
       HEADER
       ------------------------------------------------------ */

    #copartner-header,
    #copartner-header .copartner-header-inner,
    #copartner-header .copartner-header-code,
    #copartner-header .copartner-header-code .et_pb_code_inner,
    #copartner-header .copartner-custom-header {
        height: 74px !important;
        min-height: 74px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-container {
        width: calc(100% - 36px) !important;
        height: 74px !important;
        min-height: 74px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    #copartner-header .copartner-header-logo-img {
        height: 42px;
    }

    #copartner-header .copartner-mobile-toggle {
        margin-left: 18px !important;
    }


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

    .copartner-mobile-navigation {
        width: min(380px, 92vw);
    }

    .copartner-mobile-navigation-inner {
        padding: 95px 30px 40px;
    }


    /* ------------------------------------------------------
       KONTAKTPANEL
       ------------------------------------------------------ */

    .copartner-contact-panel {
        width: 94vw;
    }

    .copartner-contact-content {
        padding: 90px 32px 40px;
    }


    /* ------------------------------------------------------
       HERO – HEADLINE
       ------------------------------------------------------
     *
     * Auf Smartphones verwenden wir bewusst einen festen
     * Abstand vom oberen Hero-Rand.
     *
     * Dadurch hängt die Position nicht von der jeweiligen
     * Viewport-Höhe des Smartphones ab.
     * ------------------------------------------------------ */

    #copartner-hero .copartner-slide-title {
        top: 120px !important;
        left: 28px !important;
        right: 28px !important;
        width: auto !important;

        font-size: 28px !important;
        line-height: 1.08em !important;
    }
    
    
    #copartner-hero .copartner-slide-title br {
    display: none !important;
    }


    /* ------------------------------------------------------
       HERO – FARBIGER HAUPTKREIS
       ------------------------------------------------------
     *
     * Der grosse farbige Kreis wird gegenüber der bisherigen
     * mobilen Darstellung um rund 15 % verkleinert.
     *
     * Bisher:
     * Mindestgrösse aus Desktop-Regel = 320 px
     *
     * Mobile:
     * 320 px × 0.85 ≈ 272 px
     *
     * Position bleibt vorerst unverändert, damit wir zuerst
     * nur die neue Proportion beurteilen können.
     *
     * Der weisse Link-Kreis bleibt bewusst unverändert.
     * ------------------------------------------------------ */

    #copartner-hero .copartner-circle-main {
        width: 272px !important;
    }
}




/* ==========================================================
   HERO – TABLET HOCHFORMAT iPad Pro 11"
   ==========================================================
 *
 * Im Tablet-Hochformat wird der kleine weisse Aktionskreis
 * etwas weiter nach rechts ins sichtbare Bild verschoben.
 *
 * Smartphone und Tablet-Querformat bleiben unverändert.
 * ========================================================== */

@media (min-width: 601px) and (max-width: 900px) and (orientation: portrait) {

    #copartner-hero .copartner-circle-link {
        left: 16% !important;
        top: 53% !important;
    }

}






    /* ==========================================================
   HERO – DESKTOP / LAPTOP VOLLE VIEWPORTHÖHE
   ==========================================================
 *
 * Ab 1201 px erhält der Hero selbst die volle Höhe des
 * Browserfensters (100vh).
 *
 * Der Desktop-Header steht zusätzlich oberhalb des Hero.
 * Der nachfolgende Seitenbereich ist deshalb beim Einstieg
 * noch nicht sichtbar.
 *
 * Tablet und Smartphone bleiben vollständig unverändert.
 * ========================================================== */

@media (min-width: 1201px) {

    body #page-container #copartner-hero {
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
    }

    body #page-container #copartner-hero .copartner-hero-inner,
    body #page-container #copartner-hero .copartner-hero-code,
    body #page-container #copartner-hero .copartner-hero-code .et_pb_code_inner,
    body #page-container #copartner-hero .copartner-slider {
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
    }

    body #page-container #copartner-hero .copartner-slider > .copartner-slide {
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

}










/* ==========================================================
   HERO – DESKTOP SCROLL-PFEIL
   ==========================================================
 *
 * Scroll-Hinweis mittig am unteren Rand des Hero.
 *
 * Der Pfeil:
 * - ist ausschliesslich auf Desktop / Laptop ab 1201 px sichtbar
 * - besitzt eine grosszügige, unsichtbare Klickfläche
 * - wird sanft vertikal bewegt
 * - erhält einen Schatten für gute Sichtbarkeit auf hellen
 *   und dunklen Videobereichen
 *
 * Tablet und Smartphone bleiben vollständig unverändert.
 * ========================================================== */


/* Standardzustand:
 * Der Pfeil bleibt auf Tablet und Smartphone unsichtbar.
 */
.copartner-hero-scroll {
    display: none !important;
}


@media (min-width: 1201px) {

    /* ------------------------------------------------------
       PFEIL-BUTTON
       ------------------------------------------------------ */

    #copartner-hero .copartner-hero-scroll {
        position: absolute !important;

        left: 50% !important;
        bottom: 24px !important;

        z-index: 20 !important;

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

        /*
         * Die Klickfläche ist bewusst etwas grösser
         * als der sichtbare Pfeil.
         */
        width: 72px !important;
        height: 52px !important;

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

        border: 0 !important;
        outline: 0 !important;

        background: transparent !important;

        transform: translateX(-50%);

        cursor: pointer;

        /*
         * Sehr dezente Bewegung nach unten und wieder zurück.
         */
        animation:
            copartnerHeroScrollMove
            2s
            ease-in-out
            infinite;
    }


    /* ------------------------------------------------------
       SICHTBARER SVG-PFEIL
       ------------------------------------------------------ */

    #copartner-hero .copartner-hero-scroll svg {
        display: block;

        width: 58px !important;
        height: 36px !important;

        fill: none;

        stroke: #ffffff;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;

        /*
         * Schatten direkt auf der Kontur des Pfeils.
         *
         * Dadurch bleibt der weisse Pfeil auch auf hellen
         * Stellen des Hero-Videos gut sichtbar.
         */
        filter:
            drop-shadow(
                0 2px 3px rgba(0, 0, 0, 0.75)
            );
    }


    /* ------------------------------------------------------
       SANFTE PFEIL-ANIMATION
       ------------------------------------------------------ */

    @keyframes copartnerHeroScrollMove {

        0%,
        100% {
            transform:
                translateX(-50%)
                translateY(0);
        }

        50% {
            transform:
                translateX(-50%)
                translateY(7px);
        }
    }

}



/* ==========================================================
   HERO – DESKTOP POSITION WEISSER AKTIONSKREIS
   ==========================================================
 *
 * Nach Umstellung des Desktop-Hero auf 100vh musste die
 * vertikale Position des weissen Aktionskreises korrigiert
 * werden.
 *
 * Die Korrektur gilt ausschliesslich für Desktop / Laptop.
 * Tablet und Smartphone bleiben vollständig unverändert.
 * ========================================================== */

@media (min-width: 1201px) {

    #copartner-hero .copartner-circle-link {
        top: 55% !important;
    }

}




/* ==========================================================
   SERVICES – ANIMATION DEAKTIVIEREN
   ==========================================================
 *
 * Deaktiviert ausschliesslich Animationen innerhalb der
 * Services-Zeile auf der Startseite.
 *
 * Betroffen:
 * - Zeile:   .lum-fullwidth-row
 * - Spalten: .lum-services-col
 *
 * Layout, Abstände und Darstellung bleiben unverändert.
 * ========================================================== */

.lum-fullwidth-row .lum-services-col {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
}




/* ==========================================================
   PERSONEN – FUNKTIONSBEZEICHNUNG
   ==========================================================
 *
 * Verhindert bei langen Funktionsbezeichnungen einen
 * Wortumbruch mitten im Wort, z.B.
 * "Unternehmensberatun / g".
 * ========================================================== */

.copartner-position,
.copartner-position * {
    word-break: normal !important;
    overflow-wrap: normal !important;
    word-wrap: normal !important;
}
