/*#region - reset */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    scroll-behavior: auto;
}
ul[role='list'],
ol[role='list'] {
    list-style: none;
}
body {
    font-family: Vazirmatn, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
        Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    line-height: 2.3;
}

h1,
h2,
h3,
h4,
button,
input,
label {
    line-height: 1.4;
}

h1,
h2,
h3,
h4 {
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

a:not([class]) {
    text-decoration-skip-ink: auto;
    color: currentColor;
}

img,
picture {
    max-width: 100%;
    display: block;
}

input,
button,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
}

textarea:not([rows]) {
    min-height: 10em;
}

:target {
    scroll-margin-block: 5ex;
}

button {
    -webkit-tap-highlight-color: transparent;
}
/*#endregion */

/*#region - font face (Vazirmatn) */
@font-face {
    font-family: "Vazirmatn";
    font-weight: 300;
    src: local("VazirmatnLight"),
        url("../fonts/vazirmatn/Vazirmatn-FD-Light.woff2") format("woff2");
}
@font-face {
    font-family: "Vazirmatn";
    font-weight: 400;
    src: local("VazirmatnRegular"),
        url("../fonts/vazirmatn/Vazirmatn-FD-Regular.woff2") format("woff2");
}
@font-face {
    font-family: "Vazirmatn";
    font-weight: 500;
    src: local("VazirmatnMedium"),
        url("../fonts/vazirmatn/Vazirmatn-FD-Medium.woff2") format("woff2");
}
@font-face {
    font-family: "Vazirmatn";
    font-weight: 600;
    src: local("VazirmatnSemiBold"),
        url("../fonts/vazirmatn/Vazirmatn-FD-SemiBold.woff2") format("woff2");
}
@font-face {
    font-family: "Vazirmatn";
    font-weight: 700;
    src: local("VazirmatnBold"),
        url("../fonts/vazirmatn/Vazirmatn-FD-Bold.woff2") format("woff2");
}
@font-face {
    font-family: "Vazirmatn";
    font-weight: 900;
    src: local("VazirmatnBlack"),
        url("../fonts/vazirmatn/Vazirmatn-FD-Black.woff2") format("woff2");
}
/*#endregion */

/*#region - font face (Doran)  */
/**
*
*	Name:			Doran Fonts
*	Version:			2.5
*	Author:			Fereshte Iranshahi, Reza Bakhtiarifard & Ehsan (Daniel) Roudi
*	Created on:		August 2025
*	Updated on:		August 2025
*	Vendor:			http://fontiran.com
*	Copyright:		Commercial/Proprietary Software
--------------------------------------------------------------------------------------
فونت دوران یک نرم افزار مالکیتی محسوب می شود. جهت آگاهی از قوانین استفاده از این فونت ها لطفا به وب سایت (فونت ایران دات کام) مراجعه نمایید
--------------------------------------------------------------------------------------
Doran fonts are considered a proprietary software. To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com
--------------------------------------------------------------------------------------
This set of fonts are used in this project under the license:  2I0BKPFM
This set of fonts are used in this project under the license:  AR2FZLHT
------------------------------------------------------------------------------------- fonts/-
*
**/

@font-face {
    font-family: Doran Classic Dots;
    font-weight: 300;
    src: url("../fonts/doran/DoranClassicDots-Light.woff2") format("woff2");
}
@font-face {
    font-family: Doran Classic Dots;
    font-weight: bold;
    src: url("../fonts/doran/DoranClassicDots-Bold.woff2") format("woff2");
}
@font-face {
    font-family: Doran Classic Dots;
    font-weight: 800;
    src: url("../fonts/doran/DoranClassicDots-ExtraBlack.woff2") format("woff2");
}


/*#endregion */

/*#region - colors */
* {
    /*#region ───── light */
    --bg1-light: hsl(191, 34%, 33%);
    --bg2-light: hsl(200, 9%, 68%);
    --bg3-variant-light: hsl(182, 94%, 94%);
    --bg3-light: hsl(193, 22%, 84%);
    --bg4-light: hsl(204, 33%, 97%);
    --bg4-variant-light: hsl(204, 33%, 91%);
    /*  */
    --fg9-light: hsl(0, 0%, 0%);
    --fg8-light: hsl(191, 50%, 20%);
    --fg7-light: hsl(191, 26%, 40%);
    --fg0-light: hsl(0, 0%, 100%);

    --bg-err-light: hsl(6, 77%, 90%);
    --fg-err-light: hsl(5, 53%, 40%);
    --bg-warn-light: hsl(51, 83%, 81%);
    --fg-warn-light: hsl(31, 95%, 17%);
    /*#endregion */

    /*#region ─────  dark */
    --bg1-dark: hsl(39, 40%, 83%);
    --bg2-dark: hsl(61, 5%, 49%);
    --bg3-dark: hsl(133, 10%, 28%);
    --bg3-variant-dark: hsl(174, 18%, 34%);
    --bg4-dark: hsl(170, 56%, 11%);
    --bg4-variant-dark: hsl(170, 56%, 16%);
    /*  */
    --fg9-dark: hsl(0, 0%, 100%);
    --fg8-dark: hsl(36, 7%, 86%);
    --fg7-dark: hsl(38, 7%, 70%);
    --fg0-dark: hsl(0, 0%, 0%);

    --bg-err-dark: hsl(6, 45%, 33%);
    --fg-err-dark: hsl(8, 87%, 91%);
    --bg-warn-dark: hsl(53, 74%, 18%);
    --fg-warn-dark: hsl(46, 100%, 72%);
    /*#endregion */
}
html {
    color-scheme: light;
    --bg1: var(--bg1-light);
    --bg2: var(--bg2-light);
    --bg3: var(--bg3-light);
    --bg3-variant: var(--bg3-variant-light);
    --bg4: var(--bg4-light);
    --bg4-variant: var(--bg4-variant-light);
    --fg9: var(--fg9-light);
    --fg8: var(--fg8-light);
    --fg7: var(--fg7-light);
    --fg0: var(--fg0-light);
    --bg-err: var(--bg-err-light);
    --fg-err: var(--fg-err-light);
    --bg-warn: var(--bg-warn-light);
    --fg-warn: var(--fg-warn-light);
}
@media (prefers-color-scheme: dark) {
    html {
        color-scheme: dark;
        --bg1: var(--bg1-dark);
        --bg2: var(--bg2-dark);
        --bg3: var(--bg3-dark);
        --bg3-variant: var(--bg3-variant-dark);
        --bg4: var(--bg4-dark);
        --bg4-variant: var(--bg4-variant-dark);
        --fg9: var(--fg9-dark);
        --fg8: var(--fg8-dark);
        --fg7: var(--fg7-dark);
        --fg0: var(--fg0-dark);
        --bg-err: var(--bg-err-dark);
        --fg-err: var(--fg-err-dark);
        --bg-warn: var(--bg-warn-dark);
        --fg-warn: var(--fg-warn-dark);
    }
}
/*#endregion */

/*#region - global */
:root {
    --main-font: Vazirmatn;
}

html,
body {
    width: 100%;
    height: 100%;
}
/*#endregion */


/*#region - error page(s) 404, 502 */

body[data-page="error"] {
    /* min-height: var(--full-vh, 70vh); */
    display: flex;
    align-items: center;
    justify-content: center;
}

body[data-page="error"] main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
}

body[data-page="error"] main p {
    text-align: center;
    font-size: 1.25rem;
}

body[data-page="error"] main a {
    display: inline-block;
    text-decoration: none;
    font-size: 1rem;
}

body[data-page="error"] main a.primary {
    background-color: var(--bg1);
    color: var(--fg0);
    font-size: 1.125rem;
    padding: .25em 1.5em;
    border-radius: 8px;
}

/*#endregion */

