/**
 * Image dropzone component (task-339).
 *
 * Styles the UI that image-dropzone.js builds around any
 * <input type="file" data-image-dropzone>. Extracted from run-club-partner.css
 * so the public application form and the /dashboard/ forms share one look.
 *
 * Every colour reads a Rise&Run token with a neutral fallback, so the file drops
 * into the dashboard (which does not load the public token sheet) unchanged.
 */

.idz-native {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.idz {
    margin-top: 8px;
    border: 2px dashed var(--rr-line, #dbe2ea);
    border-radius: var(--rr-radius, 12px);
    background: var(--rr-surface, #fff);
    padding: 18px;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.idz:hover,
.idz--over {
    border-color: var(--rr-accent, #0d6efd);
    background: var(--rr-accent-soft, #eef4ff);
}

.idz--over {
    box-shadow: 0 0 0 4px rgba(var(--rr-accent-rgb, 13, 110, 253), .14);
}

.idz__prompt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--rr-muted, #64748b);
    font-size: 14px;
}

.idz__prompt i {
    font-size: 28px;
    color: var(--rr-accent, #0d6efd);
}

.idz__prompt small {
    font-size: 12.5px;
}

.idz__browse {
    color: var(--rr-accent-deep, #0a58ca);
    font-weight: 700;
    text-decoration: underline;
}

/* :not([hidden]) so the empty preview row stays hidden until a file is chosen. */
.idz__file:not([hidden]) {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
}

.idz__thumb {
    width: 46px;
    height: 46px;
    border-radius: 9px;
    object-fit: contain;
    border: 1px solid var(--rr-line, #dbe2ea);
    background: #fff;
}

.idz__meta {
    flex: 1;
    min-width: 0;
}

.idz__name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--rr-ink, #1e293b);
    word-break: break-word;
}

.idz__size {
    display: block;
    font-size: 12px;
    color: var(--rr-muted, #64748b);
}

.idz__remove {
    flex-shrink: 0;
    border: none;
    background: #e2e8f0;
    color: #475569;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
}

.idz__remove:hover {
    background: var(--color-error, #dc3545);
    color: #fff;
}

.idz--filled {
    border-style: solid;
    border-color: var(--rr-accent, #0d6efd);
    background: var(--rr-accent-soft, #eef4ff);
    cursor: default;
}

.idz__error {
    margin-top: 10px;
    color: var(--color-error, #dc3545);
    font-size: 13px;
    font-weight: 600;
}

/* Existing image shown next to the dropzone when editing a record. */
.idz-current {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    font-size: 13px;
    color: var(--rr-muted, #64748b);
}

.idz-current img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--rr-line, #dbe2ea);
    background: #fff;
    padding: 2px;
}
