.navbar {
    background-color: #d6bfa1 !important;
}

.navbar .navbar-brand,
.nav-item>a,
.navbar-toggler,
.navbar-toggler>button {
    color: black !important;
}

.img-square {
    width: 100%;
    padding-top: 100%;
    /* 1:1 Verhältnis */
    position: relative;
    overflow: hidden;
    background-color: #f0f0f0;
    /* Platzhalterfarbe */
}

/* Bild absolut positioniert, um das Quadrat zu füllen */
.img-square img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Bild füllt Quadrat ohne Verzerrung */
}

/* .sv_card {
    transition: 180ms;
    cursor: pointer;
    background-color: #d6bfa1;
}

.sv_card .card-header {
    color: black;
}

.sv_card:hover {
    transform: scale(1.02);
    filter: drop-shadow(0px 0px 40px #d6bfa1);
}

.sv_card:focus-visible {
    transform: scale(1.02);
    filter: drop-shadow(0px 0px 40px #d6bfa1);
}

.sv_card {
    font-size: clamp(14px, 2vw, 16px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
} */

.timeslot {
    padding: 20px;
    margin: 5px;
    border: 1px solid darkgray;
    border-radius: 10px;
    cursor: pointer;
    transition: 100ms;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.089);
}

.timeslot:hover {
    background-color: #2eaadc;
    color: black;
}

.checked_timeslot {
    background-color: #d6bfa1;
    color: black;
    border: 1px solid #2eaadc;
}

.vergangen {
    background: #eee;
    color: #999;
    cursor: not-allowed;
}

.frei {
    background: #4caf50;
    color: #fff;
    margin: 3px;
}

.belegt {
    background: #ccc;
    cursor: not-allowed;
}

.slot_container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.btn-primary {
    background-color: #d6bfa1;
    border-color: #d6bfa1;
    color: black;
}

.btn:hover {
    background-color: #2eaadc;
    border-color: #2eaadc;
    color: black;
}

.btn[disabled] {
    background-color: #999;
    border-color: #7c7c7c;
}

.form-control:focus {
    box-shadow: 0 0 0 .25rem #2eaadc;
    border-color: #d6bfa1;
}

.bg-logo {
    content: "";
    position: fixed;
    bottom: 110px;
    right: 10px;
    max-width: 35vw;
    height: auto;
    opacity: 0.08;
    pointer-events: none;
}






.sv_card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 22%;

    transition: all 200ms ease;
}


.sv_card .card-footer {
    background-color: #d6bfa1;
    color: black;
}



.sv_card .card-header {
    position: relative;
    background-color: #d6bfa1;
    color: black;

    border: none;

    font-size: clamp(15px, 2vw, 15px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}

@media (hover: hover) {

    .sv_card:hover,
    .sv_card:focus-visible {
        transform: scale(1.05);
        filter: drop-shadow(0px 0px 25px rgba(0, 0, 0, 0.267));
    }
}

.sv_card::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;

    background: linear-gradient(120deg,
            transparent 40%,
            rgba(255, 255, 255, 0.45) 50%,
            transparent 60%);

    transform: translateX(-100%) rotate(25deg);
    transition: transform 700ms ease;
}

.sv_card img{
    transition: all 400ms ease;
}

.sv_card:hover img{
     transform: scale(1.1);
}

.sv_card:hover::after {
    transform: translateX(100%) rotate(25deg);
    mix-blend-mode: overlay;
}


.sv_body {
    position: absolute;
    bottom: 18px;
    left: 18px;

    padding: 8px 12px;
    border-radius: 10px;

    z-index: 5;
    /* höher setzen */

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.075);

    transform: translateZ(0);
    /* 🔥 FIX */
}

.sv_body::before {
    content: "";
    position: absolute;
    inset: 0;

    background: rgba(255, 255, 255, 0.89);

    backdrop-filter: blur(37px);
    -webkit-backdrop-filter: blur(37px);

    border-radius: inherit;

    z-index: -1;
}

.sv_body>* {
    position: relative;
    z-index: 1;
}



.sv_list {
    transition: all 200ms ease;
    cursor: pointer;
    /* border-left: 5px solid #d6bfa1; */
    padding-left: 0.6rem;
}

@media (hover: hover) {

    .sv_list:hover,
    .sv_list:focus-visible {
        transform: scale(1.01);

        filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.164));
    }

    .sv_list:hover img {
        transform: scale(1.1);
    }
}


.sv_list img {
    transition: all 400ms ease;
}

.sv_list .me-3 {
    border-radius: 22%;
}

.sv_card_description:empty {
    display: none;
}


.sv_card:hover .sv_card_description {
    opacity: 1;
    visibility: visible;
}

.sv_card_description {
    background-color: rgba(255, 255, 255, 0.829);
    position: absolute;
    
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    padding: 20px;
    font-size: 14px;
    width: 100%;

    opacity: 0;
    visibility: hidden;
    transition: all 200ms ease;
}

/* Mobile / Touch Geräte */
@media (hover: none) {
    .sv_card_description {
        opacity: 1;
        visibility: visible;
    }
}