/* Cookie Consent Banner - Mittige Darstellung mit transparentem Hintergrund */

/* Wrapper komplett zurücksetzen und zentrieren */
#cc-main .cm-wrapper {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.3) !important;
    z-index: 2147483647 !important;
    padding: 1rem !important;
}

/* Cookie-Banner ausblenden wenn Preferences Modal geöffnet ist */
#cc-main.show--preferences .cm-wrapper {
    display: none !important;
}

/* Wenn der Consent Modal versteckt ist, keinen Hintergrund anzeigen */
#cc-main .cm-wrapper:has(.cm[aria-hidden="true"]),
#cc-main .cm-wrapper[aria-hidden="true"] {
    background: transparent !important;
    pointer-events: none !important;
}

#cc-main .cm[aria-hidden="true"] {
    display: none !important;
}

/* Banner selbst - breiter für nebeneinander Buttons */
#cc-main .cm {
    position: static !important;
    max-width: 50em !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2) !important;
    padding: 2rem !important;
}

/* Banner Body - zusätzlicher Abstand */
#cc-main .cm__body {
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 2rem !important;
    flex-wrap: wrap !important;
}

/* Bild links vom Text in Desktop-Ansicht */
#cc-main .cm__body::before {
    content: '';
    display: block;
    width: 120px;
    height: 120px;
    min-width: 120px;
    flex-shrink: 0;
    background: url('../img/admiralty-law.png') no-repeat center center;
    background-size: contain;
    order: -1;
    margin-top: 30px;
}

/* Banner Texts Container */
#cc-main .cm__texts {
    margin-bottom: 2rem !important;
    flex: 1 !important;
    order: 0;
}

/* Banner Inhalt Styling */
#cc-main .cm__title {
    color: #146593 !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    margin-bottom: 1rem !important;
    line-height: 1.3 !important;
}

#cc-main .cm__desc {
    color: #222222 !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

/* Button Container - Alle Buttons in einer Reihe */
#cc-main .cm__btns,
#cc-main .cm-wrapper .cm .cm__btns,
.cm__btns {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    gap: 0 !important;
    order: 1 !important;
    flex-basis: 100% !important;
}

/* Button-Gruppen auflösen - Buttons als direkte Kinder behandeln */
#cc-main .cm__btn-group {
    display: contents !important;
}

/* Alle Buttons auf gleicher Höhe */
#cc-main .cm__btn,
.cm__btn {
    align-self: center !important;
    margin: 0 !important;
}

/* "Cookies ablehnen" - linksbündig */
#cc-main .cm__btn[data-role="necessary"],
#cc-main button[data-role="necessary"],
.cm__btn[data-role="necessary"] {
    order: 1 !important;
    margin-right: auto !important;
}

/* "Weitere Infos" - rechtsbündig, vor "Alles Akzeptieren" */
#cc-main .cm__btn[data-role="show"],
#cc-main button[data-role="show"],
.cm__btn[data-role="show"] {
    order: 2 !important;
    margin-left: 1rem !important; 
    margin-right: 1rem !important;   
}

/* "Alles Akzeptieren" - rechtsbündig, nach "Weitere Infos" */
#cc-main .cm__btn[data-role="all"],
#cc-main button[data-role="all"],
.cm__btn[data-role="all"] {
    order: 3 !important;
    margin-left: 0 !important;
}

/* Buttons Styling */
#cc-main .cm__btn,
.cm__btn {
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* "Alles Akzeptieren" Button - Grün, rechtsbündig */
#cc-main .cm__btn[data-role="all"],
#cc-main button[data-role="all"],
.cm__btn[data-role="all"] {
    background: #40b457 !important;
    color: #ffffff !important;
    order: 3 !important;
}

#cc-main .cm__btn[data-role="all"]:hover,
#cc-main button[data-role="all"]:hover {
    background: #359b47 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(64, 180, 87, 0.3) !important;
}

/* "Cookies ablehnen" Button - sekundärer Button Style */
#cc-main .cm__btn[data-role="necessary"],
#cc-main button[data-role="necessary"],
.cm__btn[data-role="necessary"] {
    background: #f5f5f5 !important;
    color: #222222 !important;
    text-decoration: none !important;
    padding: 12px 24px !important;
    order: 1 !important;
    border: 1px solid #e0e0e0 !important;
}

#cc-main .cm__btn[data-role="necessary"]:hover,
#cc-main button[data-role="necessary"]:hover {
    background: #e8e8e8 !important;
    opacity: 1 !important;
}

/* "Weitere Infos" / "Einstellungen" Button - sekundärer Button Style */
#cc-main .cm__btn[data-role="show"],
#cc-main button[data-role="show"],
.cm__btn[data-role="show"] {
    background: #f5f5f5 !important;
    color: #222222 !important;
    text-decoration: none !important;
    padding: 12px 24px !important;
    order: 2 !important;
    border: 1px solid #e0e0e0 !important;
}

#cc-main .cm__btn[data-role="show"]:hover,
#cc-main button[data-role="show"]:hover {
    background: #e8e8e8 !important;
    opacity: 1 !important;
}

/* Preferences Modal Wrapper - KEIN Overlay */
#cc-main .pm-wrapper {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    z-index: 2147483647 !important;
    padding: 1rem !important;
}

/* Nur der Modal selbst ist anklickbar */
#cc-main .pm-wrapper .pm {
    pointer-events: auto !important;
}

/* Wenn der Preferences Modal versteckt ist, keinen Hintergrund anzeigen */
#cc-main .pm-wrapper:has(.pm[aria-hidden="true"]),
#cc-main .pm-wrapper[aria-hidden="true"] {
    background: transparent !important;
    pointer-events: none !important;
}

#cc-main .pm[aria-hidden="true"] {
    display: none !important;
}

/* Preferences Modal selbst */
#cc-main .pm {
    position: static !important;
    max-width: 50em !important;
    width: 100% !important;
    max-height: calc(100vh - 2rem) !important;
    margin: 0 !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    border-radius: 8px !important;
}

/* Preferences Modal Styling */
#cc-main .pm__title {
    color: #146593 !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
}

/* Beschreibungstext im Preferences Modal (erste Section ohne Toggle) */
#cc-main .pm__section:not(.pm__section--toggle):first-child {
    margin-bottom: 1.5rem !important;
}

#cc-main .pm__section:not(.pm__section--toggle) .pm__section-desc {
    color: #222222 !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

#cc-main .pm__btn {
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    font-family: "Raleway Webfont", Arial, Helvetica, sans-serif !important;
}

#cc-main .pm__btn--primary {
    background: #40b457 !important;
    color: #ffffff !important;
}

#cc-main .pm__btn--primary:hover {
    background: #359b47 !important;
}

/* Button-Abstände im Preferences Modal Footer */
#cc-main .pm__footer .pm__btns {
    display: flex !important;
    gap: 1rem !important;
}

#cc-main .pm__footer .pm__btn-group {
    display: flex !important;
    gap: 1rem !important;
}

#cc-main .pm__footer .pm__btn {
    margin: 0 !important;
}

/* Mobile Ansicht */
@media (max-width: 768px) {
    #cc-main .cm,
    #cc-main .pm {
        max-width: 95% !important;
    }
    
    /* Bild in Mobile ausblenden */
    #cc-main .cm__body::before {
        display: none !important;
    }
    
    /* Body als Column in Mobile */
    #cc-main .cm__body {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    /* Button Container - Column Layout */
    #cc-main .cm__btns,
    #cc-main .cm-wrapper .cm .cm__btns {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Button Groups auflösen - wichtig für verschachtelte Struktur */
    #cc-main .cm__btn-group,
    #cc-main .cm-wrapper .cm__btn-group {
        display: contents !important;
        width: 100% !important;
    }
    
    /* Alle Buttons volle Breite und zentriert */
    #cc-main .cm__btn,
    #cc-main button.cm__btn,
    .cm__btn {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }
    
    /* Button-Reihenfolge Mobile: Einstellungen, Ablehnen, Alles Akzeptieren (unten) */
    #cc-main .cm__btn[data-role="show"],
    #cc-main button[data-role="show"],
    .cm__btn[data-role="show"] {
        order: 1 !important;
    }
    
    #cc-main .cm__btn[data-role="necessary"],
    #cc-main button[data-role="necessary"],
    .cm__btn[data-role="necessary"] {
        order: 2 !important;
        margin-bottom: 10px !important;
    }
    
    #cc-main .cm__btn[data-role="all"],
    #cc-main button[data-role="all"],
    .cm__btn[data-role="all"] {
        order: 3 !important;
    }
}
