@font-face { font-family: "IRANSans"; src: url("../assets/fonts/iransans/IRANSans_Light.ttf") format("truetype"); font-weight: 300; font-display: swap; } @font-face { font-family: "IRANSans"; src: url("../assets/fonts/iransans/IRANSans.ttf") format("truetype"); font-weight: 400; font-display: swap; } @font-face { font-family: "IRANSans"; src: url("../assets/fonts/iransans/IRANSans_Medium.ttf") format("truetype"); font-weight: 500; font-display: swap; } @font-face { font-family: "IRANSans"; src: url("../assets/fonts/iransans/IRANSans_Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; } @font-face { font-family: "IRANSans"; src: url("../assets/fonts/iransans/IRANSans_Black.ttf") format("truetype"); font-weight: 900; font-display: swap; } :root { --orange: #f2701e; --orange-dark: #e2650f; --navy: #223D5D; --text-primary: #17181a; --text-secondary: #4d4d4d; --text-muted: #9aa0a6; --border-color: #e5e3e0; --input-bg: #fafafa; --skin: #f2c6a0; --hair: #3b2a22; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } body { font-family: "IRANSans", Tahoma, sans-serif; background: #ececec; color: var(--text-primary); display: flex; justify-content: center; min-height: 100vh; } .screen { width: 100%; max-width: 430px; min-height: 100vh; background: #ffffff; display: flex; flex-direction: column; } @media (min-width: 431px) { body { align-items: flex-start; padding: 32px 0; } .screen { min-height: 860px; border-radius: 28px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15); overflow: hidden; } } /* Logo */ .logo { text-align: center; padding-top: 28px; } .logo img { width: 128px; height: 128px; } /* Illustration */ .illustration { display: flex; justify-content: center; padding: 8px 24px 0; margin-top: 46px; margin-bottom: 118px; } .illustration img { width: 100%; max-width: 300px; height: auto; } /* Content */ .content { padding: 12px 26px 0; } .title { font-size: 18px; font-weight: 500; color: var(--text-primary); margin: 0 0 10px; text-align: right; } .subtitle { font-size: 14.5px; font-weight: 400; color: var(--text-secondary); margin: 0 0 16px; text-align: right; } .description { font-size: 13.5px; line-height: 2; color: var(--text-muted); margin: 0 0 22px; text-align: right; } .description strong { color: var(--text-primary); font-weight: 700; } .input-group { margin-bottom: 10px; } .phone-input { width: 100%; padding: 15px 18px; border-radius: 14px; border: 1px solid var(--border-color); background: var(--input-bg); font-family: inherit; font-size: 14.5px; color: var(--text-primary); text-align: right; direction: ltr; } .phone-input::placeholder { color: #bdbdbd; font-family: inherit; } .phone-input:focus { outline: none; border-color: var(--orange); background: #ffffff; } .hint { font-size: 11.5px; line-height: 1.9; color: var(--text-muted); margin: 0; text-align: right; } .form-message { font-size: 12.5px; line-height: 1.8; margin: 10px 0 0; text-align: right; min-height: 1em; } .form-message.error { color: #d64545; } .form-message.success { color: #2f9e5b; } .phone-input.invalid { border-color: #d64545; } /* Footer / CTA */ .footer { margin-top: auto; padding: 24px 26px 32px; } .cta-btn { width: 100%; padding: 16px; border: none; border-radius: 14px; background: var(--navy); color: #ffffff; font-family: inherit; font-size: 16px; font-weight: 500; cursor: pointer; transition: opacity 0.15s ease; } .cta-btn:active { opacity: 0.85; } .cta-btn:disabled { opacity: 0.6; cursor: not-allowed; }