/* Base styles — minimal reset for all pages */
@import url('../vendor/fonts/vazirmatn.css');

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Vazirmatn', 'Tahoma', 'Arial', sans-serif;
    color: var(--ft-text, #1e293b);
    line-height: 1.6;
    direction: rtl;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

img,
video,
svg,
canvas {
    max-width: 100%;
    height: auto;
}

body.app-shell {
    background: var(--ft-bg);
    color: var(--ft-text);
    min-height: 100vh;
    user-select: auto;
    -webkit-user-select: auto;
    touch-action: manipulation;
}

/* iOS: prevent zoom on input focus */
@media (max-width: 767.98px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    input[type="search"],
    select,
    textarea {
        font-size: 16px;
    }
}

.fade-in {
    animation: ftFadeIn 0.4s ease-out;
}

@keyframes ftFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
