html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    font-family: "Helvetica Neue", Arial, sans-serif;
}

html {
    height: 100%;
    box-sizing: border-box;
}

/* Hauptfarbe definieren (z.B. in style.css ganz oben) */
:root {
    --brand-primary: #F39C12; /* DEIN LOGO-ORANGE HIER EINFÜGEN */
    --brand-dark: #333333;    /* Dunkelgrau für Kontrast */
    --brand-light: #fff;
}

/* 1. Buttons (Weiter, Suchen, Login etc.) */
.btn-primary,
.btn-primary.get-started-btn,
.navbar .nav .btn-primary {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
}

/* Hover-Effekt für Buttons (etwas dunkler machen) */
.btn-primary:hover,
.btn-primary.get-started-btn:hover,
.navbar .nav .btn-primary:hover {
    background-color: #d35400 !important; /* Ein dunkleres Orange/Rot */
    border-color: #d35400 !important;
}

/* Fokus-Rahmen bei Eingabefeldern (war vorher hellblau) */
.form-control:focus {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 8px rgba(243, 156, 18, 0.4) !important; /* Orange leuchten */
}

/* Links im Footer oder Text */
a {
    color: var(--brand-primary);
}
a:hover {
    color: #d35400;
}

/* Überschriften auf den Seiten */
section .section-title {
    color: var(--brand-primary) !important;
}

/* Hintergrundfarben, die noch 'bg-blue' nutzen */
.bg-blue {
    background-color: var(--brand-primary) !important;
}

/* Icons in der Veranstalter-Sektion (waren Gelb #FFC107 - Orange passt oft besser oder wir lassen Gelb als Akzent) */
.cta-organizer i {
    color: var(--brand-primary) !important;

}

/* Navbar: Dunkler Hintergrund bleibt, aber Logo bekommt "Bühne" */
.navbar-brand {
    padding: 5px 15px;
    margin-right: 20px;
}

/* Aktive Links in der Navi unterstreichen oder einfärben */
.navbar-nav .nav-link.active {
    color: var(--brand-primary) !important; /* Orange statt nur fett weiß */
    background-color: transparent !important; /* Hintergrund wegnehmen, wirkt moderner */
    border-bottom: 2px solid var(--brand-primary);
}

.wrapper {
    flex: 1 0 auto;
    width: 100%;
    display: flex;
}

.main-panel {
    flex: 1;
    padding-bottom: 30px;
    max-width: 100vw;
}

.row {
    margin-left: 0;
    margin-right: 0;
}

.logo {
    position: relative;
    top: -10px;
    height: 200%;
}

.navbar-image {
    max-height: 70px;
}

.jumbotron {
    background-color: white;
}

.bg-blue {
    background-color: #297E92;
    color: white;
}

/* Footer */

section {
    padding: 60px 0;
}

section .section-title {
    text-align: center;
    color: #6FB3C3;
    margin-bottom: 50px;
    text-transform: uppercase;
}

/*#footer {
    background: #3D3D3D !important;
    margin-top: 30px;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
}*/

#footer h5 {
    padding-left: 10px;
    border-left: 3px solid #eeeeee;
    padding-bottom: 6px;
    margin-bottom: 20px;
    color: #ffffff;
}

#footer a {
    color: #ffffff;
    text-decoration: none !important;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

#footer ul.social li {
    padding: 3px 0;
}

#footer ul.social li a i {
    margin-right: 5px;
    font-size: 25px;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}

#footer ul.social li:hover a i {
    font-size: 30px;
    margin-top: -10px;
}

#footer ul.social li a,
#footer ul.quick-links li a {
    color: #ffffff;
}

#footer ul.social li a:hover {
    color: #eeeeee;
}

#footer ul.quick-links li {
    padding: 3px 0;
    -webkit-transition: .5s all ease;
    -moz-transition: .5s all ease;
    transition: .5s all ease;
}

#footer ul.quick-links li:hover {
    padding: 3px 0;
    margin-left: 5px;
    font-weight: 700;
}

#footer ul.quick-links li a i {
    margin-right: 5px;
}

#footer ul.quick-links li:hover a i {
    font-weight: 700;
}

@media (max-width: 767px) {
    #footer h5 {
        padding-left: 0;
        border-left: transparent;
        padding-bottom: 0;
        margin-bottom: 10px;
    }
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/**
    CTA-Organizer
 */
.cta-organizer {
    padding: 80px 0;
    position: relative;
}
.cta-organizer::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}
.cta-organizer .container {
    position: relative;
    z-index: 1;
}
.cta-organizer h2, .cta-veranstalter p {
    color: #fff;
}
/**
Navbar
 */
.navbar {
    background: rgba(0, 0, 0, 0.5);
    padding: 10px 20px;
}

.navbar-brand img {
    max-height: 100px;
}

.navbar-nav .nav-item {
    margin: 0 10px;
}

.navbar-nav .nav-link {
    color: white !important;
    font-weight: bold;
    padding: 10px 15px;
    border-radius: 5px;
    transition: all 0.3s ease-in-out;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    background-color: #3D3D3D;
    color: white !important;
}
/* In event-manager.css oder style.css */

.btn-primary,
.btn-primary.get-started-btn,
.navbar .nav .btn-primary {
    /* WICHTIG: border und background-color resetten, damit der Gradient wirkt */
    border: none !important;
    color: #fff !important;

    /* Der "Hard Cut": Links helles Orange, Rechts dunkles Orange */
    /* Die 50% / 50% sorgen für die harte Kante genau in der Mitte */
    background: linear-gradient(120deg, #e87224 50%, #c85828 50%) !important;
    background-size: 230% 100% !important; /* Wichtig für den Hover-Effekt (siehe unten) */
    background-position: 50% 0 !important; /* Startposition */

    /* Etwas Styling */
    box-shadow: 0 4px 6px rgba(0,0,0,0.15);
    font-weight: 700;
    text-shadow: 0 1px 1px rgba(0,0,0,0.2);
    transition: all 0.4s ease; /* Weicher Übergang für Hover */
}

/* Hover-Effekt: "Wisch"-Animation */
/* Beim Drüberfahren schiebt sich die Farbe, als würde man einen Schalter umlegen */
.btn-primary:hover,
.btn-primary.get-started-btn:hover,
.navbar .nav .btn-primary:hover {
    background-position: 0 0 !important; /* Schiebt den Verlauf rüber -> Button wird komplett Hell-Orange */
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);
}
.btn-primary.get-started-btn {
    background-color: #3D3D3D;
    border: none;
    color: white;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

.btn-primary.get-started-btn:hover {
    background-color: #222222;
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5);
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

@media (max-width: 991px) {
    .navbar-nav {
        text-align: center;
    }
    .navbar-nav .nav-item {
        margin-bottom: 10px;
    }
}

td.details-control {
    cursor: pointer;
    vertical-align: middle;
}


/* Side-Drawer Effekt */
.modal.fade.right .modal-dialog {
    position: fixed;
    margin: auto;
    width: 100%;
    max-width: 600px; /* Breite des Drawers */
    height: 100%;
    right: -600px; /* Startposition außerhalb */
    transition: right 0.3s ease-out;
}

.modal.fade.right .modal-content {
    height: 100vh; /* Volle Bildschirmhöhe */
    display: flex;
    flex-direction: column;
    overflow-y: auto; /* AKTIVIERT DAS SCROLLEN */
    border-radius: 0;
}

.modal.fade.right .modal-header {
    position: sticky;
    top: 0;
    z-index: 1050;
    background: #fff;
    border-bottom: 1px solid #dee2e6;
}

.modal.show.right .modal-dialog {
    right: 0;
}

.modal-full-height {
    display: flex;
    margin: 0;
    min-height: 100%;
}

.modal-content {
    border-radius: 0;
    min-height: 100vh;
}

/* Hintergrund-Blur */
.modal-backdrop.show {
    opacity: 0.5;
    backdrop-filter: blur(5px);
}

/* Typografie für Rechtstexte */
.legal-text-container {
    line-height: 1.7;
    color: #444;
    font-size: 1.05rem;
}

.legal-text-container h1, .legal-text-container h2 {
    color: #222;
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.legal-text-container h3 {
    font-size: 1.2rem;
    color: #333;
    margin-top: 1.5rem;
    border-left: 4px solid #007bff;
    padding-left: 15px;
}

.toast {
    min-width: 300px;
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    margin-bottom: 10px;
}

.toast-header {
    border-bottom: none;
}

/* Der abgedunkelte Hintergrund */
.loading-overlay {
    display: none; /* Standardmäßig ausgeblendet */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px); /* Moderner Blur-Effekt */
    z-index: 9998; /* Direkt unter dem Container */
}

/* Der Container für den Spinner */
.loading-overlay-container {
    display: none; /* Standardmäßig ausgeblendet */
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    text-align: center;
}

.sk-folding-cube {
    margin: 20px auto;
    width: 40px;
    height: 40px;
    position: relative;
    transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
    float: left;
    width: 50%;
    height: 50%;
    position: relative;
    transform: scale(1.1);
}

.sk-folding-cube .sk-cube:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff; /* Farbe des Spinners */
    animation: sk-foldCubeAngle 2.4s infinite linear both;
    transform-origin: 100% 100%;
}

/* Die 4 einzelnen Würfel-Positionen & Verzögerungen */
.sk-folding-cube .sk-cube2 { transform: scale(1.1) rotateZ(90deg); }
.sk-folding-cube .sk-cube3 { transform: scale(1.1) rotateZ(180deg); }
.sk-folding-cube .sk-cube4 { transform: scale(1.1) rotateZ(270deg); }

.sk-folding-cube .sk-cube1:before {
    background-color: #f59d3e;
}
.sk-folding-cube .sk-cube2:before { animation-delay: 0.3s; background-color: #e67e22;}
.sk-folding-cube .sk-cube3:before { animation-delay: 0.6s; background-color: #b35022;}
.sk-folding-cube .sk-cube4:before { animation-delay: 0.9s; background-color: #e67e22;}

/* Die Animation des Faltens */
@keyframes sk-foldCubeAngle {
    0%, 10% {
        transform: perspective(140px) rotateX(-180deg);
        opacity: 0;
    }
    25%, 75% {
        transform: perspective(140px) rotateX(0deg);
        opacity: 1;
    }
    90%, 100% {
        transform: perspective(140px) rotateY(180deg);
        opacity: 0;
    }
}