/* =========================================
   Login
   ========================================= */
.auth-container {
    min-height: 80vh;
}

.auth-card {
    max-width: 400px;
    width: 100%;
}

/* =========================================
   Card Set: table
   ========================================= */
.card-table-image {
    height: 75px;
    width: 75px;
    object-fit: cover;
}

.card-table-audio {
    height: 32px;
}

.card-table-audio--stacked {
    display: block;
    margin-bottom: 4px;
}

/* =========================================
   Story Card: point picker
   ========================================= */

.story-point-picker {
    cursor: crosshair;
}

.story-image {
    max-height: 320px;
}

.story-point-marker {
    width: 16px;
    height: 16px;
    opacity: .7;
}

/* =========================================
   Story Card: point display
   ========================================= */

.story-sound-point-preview {
    width: 80px;
    height: 80px;
}

.story-sound-point-preview__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.story-sound-point-preview__marker {
    width: 12px;
    height: 12px;
}

/* =========================================
   Product: images (admin)
   ========================================= */

.product-images {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.product-images__item {
    position: relative;
    cursor: grab;
}

.product-images__item:active,
.product-images__item.sortable-chosen {
    cursor: grabbing;
}

.product-images__image {
    display: block;
    max-height: 100px;
}

.product-images__delete-btn {
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.product-images__item:hover .product-images__delete-btn,
.product-images__item--deleted .product-images__delete-btn {
    opacity: 1;
}

.product-images__item--deleted .product-images__image {
    opacity: 0.4;
}

.product-images__item.sortable-ghost {
    opacity: 0.35;
}

/* =========================================
   Inputs: remove number field spinners
   ========================================= */

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* =========================================
   Rich text editor (Quill)
   – убираем двойные бордеры
   – контролируем высоту редактора
   – фиксируем отступы, чтобы не ломалась сетка формы
   ========================================= */

.rich-text-editor-wrapper {
    position: relative;
    margin-bottom: 0.5rem;
}

.rich-text-editor-wrapper .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid #dee2e6;
}

.rich-text-editor-wrapper .ql-container.ql-snow {
    border: 0;
}

.rich-text-editor-wrapper .ql-editor {
    min-height: inherit;
}