.venue-box {
    border: 1px solid #0dcaf0;
    border-radius: 10px;
    padding: 5px;
    margin-bottom: 5px;
    cursor: pointer;
    transition: 0.2s ease-in-out;
    color: #f8f9fa;
}

.venue-box h3 {
    font-size: x-large;
    transition: color 0.3s ease-in-out;
}

.draggable-venue h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.event-list {
    list-style-type: none;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, padding 0.4s ease-in-out;
    padding: 0;
    margin: 0;
}

.event-list:not(.hidden) {
    max-height: 1000px;
    opacity: 1;
    padding: 0.5rem 0;
}

.event-list.hidden {
    max-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
}

.event-item {
    cursor: pointer;
    transition: color 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
    padding: 0.25rem 0;
    position: relative;
    text-align: center;
}

.event-item::before {
    content: "→";
    position: absolute;
    left: 0;
    opacity: 0.6;
    transition: all 0.3s ease-in-out;
}

.event-item:hover {
    color: rgb(13, 202, 240) !important;
    text-decoration: underline;
}

.event-item:hover::before {
    opacity: 1;
    transform: translateX(3px);
}

@media (min-width: 768px) {
    .event-item::before {
        left: auto;
        right: 65%;
        transform: translateX(calc(-100% - 0.5rem));
    }
    
    .event-item:hover::before {
        opacity: 1;
        transform: translateX(calc(-100% - 0.5rem + 3px));
    }
}

.hidden {
    position: absolute;
    left: -10000px;
    height: 1px;
    width: 1px;
    display: none;
}

.venue-details {
    padding: 5px;
    background-color: #000;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, padding 0.4s ease-in-out;
    padding: 0;
}

.venue-details:not(.hidden) {
    max-height: 500px;
    opacity: 1;
    padding: 5px;
}

.venue-details.hidden {
    max-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
}

.venue-details p {
    margin-bottom: 0.5rem;
}

.venue-details strong {
    display: block;
    margin-bottom: 0.25rem;
}

h1 {
    margin-bottom: 1rem !important;
}

/* Drag and drop styles for AppAdmins */
.draggable-venue {
    cursor: move;
    user-select: none;
    transition: opacity 0.2s ease-in-out;
}

.draggable-venue:hover {
    opacity: 0.8;
}

.draggable-venue.dragging {
    opacity: 0.5;
}

.draggable-venue h3::before {
    content: "☰";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #0dcaf0;
    font-size: 1.2em;
    opacity: 0.6;
    transition: opacity 0.2s ease-in-out;
}

.draggable-venue:hover h3::before {
    opacity: 1;
}