﻿/* =====================================================
   FONTS
   ===================================================== */

@font-face {
    font-family: 'vazirmatn';
    src: url('/fonts/Vazirmatn-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}


@font-face {
    font-family: 'vazirmatnbold';
    src: url('/fonts/Vazirmatn-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* =====================================================
   ROOT VARIABLES
   ===================================================== */

:root {
    --green-primary: #33473f;
    --green-dark: #1D2C26;
    --green-darkest: #18221E;
    --green-light: #3b4e47;
    --gold: #B9A578;
    --white: #FFFFFF;
    --cream: #FCFBF8;
    --cream-alt: #FAFAF7;
    --gray-light: #F0EFE9;
    --text-dark: #2B2B2B;
    --text-muted: #6E7871;
    --text-footer: #728077;
    --text-light: #AEBBB3;
    --text-green-light: #9aaa9e;
    --text-green-light2: #B7C1BA;
    --text-input: #757575;
    --border: #FFFFFF14;
    --danger: #A34A4A;
    --radius: 3px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --btn-height: 40px;
    --btn-padding: 0 18px;
    --btn-font: 13px;
    --space-1: 10px;
    --space-2: 16px;
    --space-3: 20px;
    --space-4: 30px;
}

/* =====================================================
   RESET & BASE
   ===================================================== */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'vazirmatn';
}

body {
    background: var(--white);
    color: var(--text-dark);
    line-height: 1.7;
    direction: rtl;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: inherit;
}

section {
    padding: 40px 0;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
}

::-webkit-scrollbar {
    display: none;
}

/* =====================================================
   FORM ELEMENTS
   ===================================================== */

.form-control {
    margin-bottom: 14px;
    width: 100%;
}

.form-label {
    display: block;
    font-size: 12px;
    color: var(--green-primary);
    margin-bottom: 6px;
    font-weight: 600;
}

.form-field,
.form-field-contact {
    width: 100%;
    height: var(--btn-height);
    padding: 8px 12px;
    border-radius: var(--radius-md);
    border: 1px solid var(--gray-light);
    background: var(--white);
    font-size: 13px;
    color: var(--text-dark);
    text-align: right;
    transition: border-color .12s;
}

.form-field-contact {
    border-radius: var(--radius);
    border-color: #3C5148;
}

    .form-field:focus,
    .form-field-contact:focus {
        outline: none;
        border-color: var(--gold);
    }

    .form-field::placeholder,
    .form-field-contact::placeholder {
        color: var(--text-muted);
    }

textarea.form-field,
textarea.form-field-contact {
    height: auto;
    resize: none;
}

/* =====================================================
   BUTTON SYSTEM
   ===================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height);
    padding: var(--btn-padding);
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    font-size: var(--btn-font);
    font-weight: 700;
    text-wrap-mode: nowrap;
    cursor: pointer;
    text-decoration: none;
    transition: transform .08s, background .12s, border-color .12s, box-shadow .12s, color .12s;
}

    .btn:active:not(:disabled) {
        transform: scale(.97);
    }

    .btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

.btn-primary {
    background: var(--green-primary);
    color: var(--white);
    border-color: var(--green-primary);
}

    .btn-primary:hover:not(:disabled) {
        background: var(--green-dark);
        border-color: var(--green-dark);
        box-shadow: 0 2px 6px rgba(24, 34, 30, 0.15);
    }

.btn-gold {
    background: var(--gold);
    color: var(--green-darkest);
    border-color: var(--gold);
}

    .btn-gold:hover:not(:disabled) {
        opacity: 0.9;
    }

.btn-outline {
    background: transparent;
    color: var(--green-primary);
    border-color: var(--green-primary);
}

    .btn-outline:hover:not(:disabled) {
        background: var(--green-primary);
        color: var(--white);
    }

.btn-danger {
    background: transparent;
    color: var(--danger);
    border-color: var(--danger);
}

    .btn-danger:hover:not(:disabled) {
        background: var(--danger);
        color: var(--white);
    }

.btn-dark {
    background: var(--green-dark);
    color: var(--white);
    border-color: var(--green-dark);
}

.btn-block {
    width: 100%;
}

.btn-sm {
    height: 30px;
    padding: 0 11px;
    font-size: 12px;
    border-radius: var(--radius-md);
}

.btn-noradius {
    border-radius:var(--radius);
}

.form-button,
.form-button-primary,
.form-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height);
    padding: var(--btn-padding);
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    font-size: var(--btn-font);
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: transform .08s, background .12s, border-color .12s, box-shadow .12s, color .12s;
}

.form-button {
    background: var(--gold);
    color: var(--green-darkest);
    border-color: var(--gold);
}

.form-button:hover {
    opacity: 0.9;
}

.form-button:active:not(:disabled) {
    transform: scale(.97);
}

.form-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


.form-link {
    border-radius:var(--radius);
}


.form-button-primary {
    background: var(--green-primary);
    color: var(--white);
    border-color: var(--green-primary);
}

    .form-button-primary:disabled {
        color: #7d7d7d;
        background: #e5e5e5;
        border-color: #e5e5e5;
        cursor: not-allowed;
    }

.form-button-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height);
    padding: var(--btn-padding);
    border-radius: var(--radius-md);
    border: 1px solid var(--danger);
    background: transparent;
    color: var(--danger);
    font-size: var(--btn-font);
    font-weight: 700;
    cursor: pointer;
    transition: transform .08s, background .12s, border-color .12s;
}

    .form-button-danger:hover {
        background: var(--danger);
        color: var(--white);
    }

.form-link {
    border-color: var(--green-primary);
    color: var(--green-primary);
    background: transparent;
    width: 100%;
}

/* =====================================================
   CHIP SYSTEM
   ===================================================== */

.chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 50px;
    border: 1px solid var(--gray-light);
    background: transparent;
    font-size: 13px;
    color: var(--green-primary);
    cursor: pointer;
    transition: border-color .12s, color .12s, background .12s;
}

    .chip:hover {
        border-color: var(--gold);
        color: var(--gold);
    }

    .chip.active {
        background: var(--green-primary);
        color: var(--white);
        border-color: var(--green-primary);
    }

.chip-outline {
    border-color: var(--green-primary);
}

    .chip-outline.active {
        background: var(--green-primary);
        color: var(--gold);
    }

.chip-sm {
    padding: 6px 14px;
    font-size: 12px;
}

/* =====================================================
   VALIDATION
   ===================================================== */

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred.";
    }
