.flocara-lifestyle-editor-gallery {
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
}

.flocara-lifestyle-editor-gallery-item {
    position: relative;
    min-width: 0;
    aspect-ratio: 4 / 3;
    gap: 0;
    cursor: grab;
    outline: none;
    transform: translate3d(
        var(--flocara-gallery-drag-x, 0),
        var(--flocara-gallery-drag-y, 0),
        0);
    transition: border-color 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
    user-select: none;
    -webkit-user-select: none;
}

.flocara-lifestyle-editor-gallery-preview,
.flocara-lifestyle-editor-gallery-preview > .flocara-loading-image {
    width: 100%;
    height: 100%;
}

.flocara-lifestyle-editor-gallery-preview {
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    cursor: zoom-in;
}

.flocara-lifestyle-editor-gallery-actions {
    position: absolute;
    right: 0.25rem;
    bottom: 0.25rem;
    left: 0.25rem;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border-radius: 8px;
    background: rgb(255 255 255 / 90%);
    box-shadow: 0 2px 8px rgb(15 23 42 / 18%);
    backdrop-filter: blur(8px);
}

.flocara-lifestyle-editor-gallery-item:focus-visible,
.flocara-lifestyle-editor-gallery-drop-target {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 22%, transparent);
}

.flocara-lifestyle-editor-gallery-dragging {
    z-index: 4;
    cursor: grabbing;
    opacity: 0.82;
    box-shadow: 0 12px 28px rgb(15 23 42 / 28%);
}

.flocara-lifestyle-editor-gallery-drag-handle {
    cursor: grab;
    touch-action: none;
}

.flocara-event-editor-review-heading .flocara-event-editor-review-rules {
    display: block;
    -webkit-line-clamp: unset;
    white-space: pre-line;
}

.flocara-lifestyle-detail-rules,
.flocara-lifestyle-detail-ticket {
    padding: 1rem 0;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.flocara-lifestyle-detail-rules h2 {
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
}

.flocara-lifestyle-detail-rules p {
    margin: 0;
    white-space: pre-line;
}

.flocara-lifestyle-detail-ticket {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.flocara-lifestyle-detail-ticket > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--mud-palette-primary);
}

@media (max-width: 600px) {
    .flocara-lifestyle-editor-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .flocara-lifestyle-detail-ticket {
        align-items: stretch;
        flex-direction: column;
    }
}
