@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/vazir400.woff2") format("woff2");
}
* { font-family: 'Vazirmatn', sans-serif; }
body { background:#f8f9fa; }

.app-header { position: sticky; top: 0; z-index: 1000; }
.app-footer { position: sticky; bottom: 0; z-index: 1000; font-size:0.9rem; }

.card { border-radius: 12px; padding: .75rem 1rem; text-align: center; }

#video-container {
    display:none;
    width:100%;
    height:320px;
    border-radius:12px;
    overflow:hidden;
    background:#e9ecef;
    position:relative;
    margin-bottom:1rem;
}
#video { width:100%;height:100%;object-fit:cover; }

#closeScan {
    position:absolute;
    top:10px; right:10px;
    background:#dc3545; color:#fff;
    border:none; border-radius:50%;
    width:36px; height:36px; font-size:1.3rem;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.3);
    transition:0.3s;
}
#closeScan:hover { transform:scale(1.1); background:#bb2d3b; }

.info-card {
    border:1px solid #dee2e6; border-radius:10px;
    padding:0.75rem; text-align:right; background:#fff;
}
.quantity-box {
    display:flex;align-items:center;justify-content:center;gap:10px;
    background:#f1f3f5;border-radius:8px;padding:0.4rem 0.8rem;
}
.qty-btn {
    width:45px;height:45px;border:none;border-radius:50%;color:#fff;
    font-size:1.4rem;font-weight:bold;transition:0.25s;
}
.btn-minus{background:#dc3545;} .btn-plus{background:#28a745;}
.qty-btn:hover{opacity:.85;transform:scale(1.05);}
.qty-input {
    width:83px;height:40px;text-align:center;border:none;border-radius:8px;
    box-shadow:inset 0 0 3px rgba(0,0,0,.15);
}

.modal-content { border-radius:12px; }
#loginForm input { text-align:center;direction:ltr; }
