/* Weinkarte Studio – ergänzendes CSS neben Tailwind (CDN) */

body { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; background: #FAF7F2; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e3d7c1; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #B8945F; }

.spinner {
    width: 26px; height: 26px;
    border: 3px solid #eee2cc; border-top-color: #B8945F; border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

[draggable="true"] { cursor: grab; }
[draggable="true"]:active { cursor: grabbing; }
.drag-over-top    { box-shadow: inset 0 3px 0 0 #B8945F; }
.drag-over-bottom { box-shadow: inset 0 -3px 0 0 #B8945F; }
.dragging { opacity: 0.35; }
@keyframes rowMoved { 0%, 55% { background-color: #FBF0D9; } 100% { background-color: transparent; } }
.row-moved { animation: rowMoved 0.7s ease; }

#toast {
    position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
    background: #14110F; color: #F3EAD9; padding: 12px 22px; border-radius: 10px;
    font-size: 0.875rem; font-weight: 500; box-shadow: 0 20px 45px -15px rgba(0,0,0,0.5);
    z-index: 200; max-width: 90vw;
}
#toast.toast-error { background: #7f1d1d; color: #fee2e2; }

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

input[type="number"].no-spin::-webkit-outer-spin-button,
input[type="number"].no-spin::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"].no-spin { -moz-appearance: textfield; }

.modal-scroll { max-height: calc(100vh - 8rem); overflow-y: auto; }

@media print { .no-print { display: none !important; } }
