/* Modal de Vista rápida (quick-view + quick-add). */
.vm-qv-modal {
    position: fixed;
    inset: 0;
    z-index: 20020;
    display: none;
    align-items: center;
    justify-content: center;
}
.vm-qv-modal.open { display: flex; }
.vm-qv-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
}
.vm-qv-dialog {
    position: relative;
    background: #fff;
    border-radius: 16px;
    width: min(640px, 94vw);
    max-height: 92vh;
    overflow: auto;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .25);
}
.vm-qv-close {
    position: absolute;
    top: 8px; right: 10px;
    background: none; border: none;
    font-size: 1.7rem; line-height: 1;
    color: #555; cursor: pointer; z-index: 2;
}
body.vm-qv-lock { overflow: hidden; }

.qv-loading { padding: 50px; text-align: center; color: #888; }

.qv-card { display: flex; gap: 16px; padding: 18px; }
@media (max-width: 560px) { .qv-card { flex-direction: column; } }
.qv-img {
    flex: 0 0 200px;
    aspect-ratio: 3/4;
    background: #f4f3f1;
    border-radius: 12px;
    overflow: hidden;
}
@media (max-width: 560px) { .qv-img { flex: none; width: 60%; margin: 0 auto; } }
.qv-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.qv-info { flex: 1; min-width: 0; }
.qv-store { font-size: .72rem; color: #888; text-transform: uppercase; letter-spacing: .05em; }
.qv-name { font-size: 1.1rem; font-weight: 600; margin: 2px 0 6px; }
.qv-price { margin-bottom: 12px; }
.qv-now { font-size: 1.3rem; font-weight: 700; color: #d71920; }
.qv-old { text-decoration: line-through; color: #999; margin-right: 6px; }
.qv-off { background: #fde2e2; color: #d71920; border-radius: 6px; padding: 1px 6px; font-size: .8rem; margin-left: 6px; }

.qv-talles-label { font-size: .8rem; font-weight: 600; margin-bottom: 6px; }
.qv-talles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.qv-talle {
    min-width: 42px;
    padding: 8px 10px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 9px;
    cursor: pointer;
    font-size: .85rem;
}
.qv-talle-active { border-color: #1c1a18; background: #1c1a18; color: #fff; }
.qv-talle:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }

.qv-add {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 13px;
    background: #1c1a18;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.qv-add:disabled { background: #bbb; cursor: not-allowed; }
.qv-probar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
    padding: 12px;
    border-radius: 12px;
    font-weight: 600;
    font-size: .92rem;
    text-decoration: none;
    color: #6d28d9;
    background: rgba(109, 40, 217, .08);
    border: 1px solid rgba(109, 40, 217, .25);
}
.qv-probar:hover { background: rgba(109, 40, 217, .15); color: #6d28d9; }
.qv-detail { display: inline-block; margin-top: 10px; font-size: .85rem; color: #6d28d9; text-decoration: none; }
