/**
 * IRANSansX & IRANSansXV Font Definitions
 * Theme: Hamed Perfume (Haper)
 * First Priority: Variable Font (IRANSansXV)
 * Fallback: Static / Fixed Fonts (IRANSansX)
 */

/* ==========================================================================
   1. Variable Font (First Priority)
   ========================================================================== */
@font-face {
	font-family: 'IRANSansXV';
	font-display: swap;
	font-style: normal;
	font-weight: 100 1000;
	src: url('IRANSansX/IRANSansXVF.woff2?ver=4.1') format('woff2-variations'),
	     url('IRANSansX/IRANSansXVF.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansXVF.woff?ver=4.1') format('woff-variations'),
	     url('IRANSansX/IRANSansXVF.woff?ver=4.1') format('woff');
}

/* ==========================================================================
   2. Static / Fixed Fonts (Fallback for Non-Variable Font Browsers)
   ========================================================================== */

/* Thin - 100 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 100;
	src: url('IRANSansX/IRANSansX-Thin.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Thin.woff?ver=4.1') format('woff');
}

/* UltraLight - 200 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 200;
	src: url('IRANSansX/IRANSansX-UltraLight.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-UltraLight.woff?ver=4.1') format('woff');
}

/* Light - 300 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 300;
	src: url('IRANSansX/IRANSansX-Light.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Light.woff?ver=4.1') format('woff');
}

/* Regular - 400 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('IRANSansX/IRANSansX-Regular.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Regular.woff?ver=4.1') format('woff');
}

/* Regular - normal alias */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: normal;
	src: url('IRANSansX/IRANSansX-Regular.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Regular.woff?ver=4.1') format('woff');
}

/* Medium - 500 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 500;
	src: url('IRANSansX/IRANSansX-Medium.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Medium.woff?ver=4.1') format('woff');
}

/* DemiBold - 600 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 600;
	src: url('IRANSansX/IRANSansX-DemiBold.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-DemiBold.woff?ver=4.1') format('woff');
}

/* Bold - 700 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 700;
	src: url('IRANSansX/IRANSansX-Bold.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Bold.woff?ver=4.1') format('woff');
}

/* Bold - bold alias */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: bold;
	src: url('IRANSansX/IRANSansX-Bold.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Bold.woff?ver=4.1') format('woff');
}

/* ExtraBold - 800 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 800;
	src: url('IRANSansX/IRANSansX-ExtraBold.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-ExtraBold.woff?ver=4.1') format('woff');
}

/* Black - 900 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 900;
	src: url('IRANSansX/IRANSansX-Black.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Black.woff?ver=4.1') format('woff');
}

/* ExtraBlack - 950 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 950;
	src: url('IRANSansX/IRANSansX-ExtraBlack.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-ExtraBlack.woff?ver=4.1') format('woff');
}

/* Heavy - 1000 */
@font-face {
	font-family: 'IRANSansX';
	font-display: swap;
	font-style: normal;
	font-weight: 1000;
	src: url('IRANSansX/IRANSansX-Heavy.woff2?ver=4.1') format('woff2'),
	     url('IRANSansX/IRANSansX-Heavy.woff?ver=4.1') format('woff');
}

/* ==========================================================================
   3. Typography & Global Application
   ========================================================================== */
:root {
	--font-feature-settings: normal;
	--font-feature-settings-en-num: "numr";
	--font-dots: 1;
	--color-text-1: var(--haper-text-main, #19273b);

	/* Doran Font Family Tokens (Priority 1: Variable Font, Priority 2: Static Fonts) */
	--font-family-doran: 'DoranVF', 'Doran', 'Doran FaNum', sans-serif;
	--font-family-doran-fanum: 'DoranFaNumVF', 'DoranVF', 'Doran FaNum', 'Doran', sans-serif;
}

body,
button,
input,
select,
optgroup,
textarea {
	color: var(--color-text-1);
	font-family: 'IRANSansX', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Tahoma, sans-serif;
	font-display: swap;
	font-size: 1rem;
	line-height: 1.6;
}

@supports (font-variation-settings: normal) {
	body,
	button,
	input,
	select,
	optgroup,
	textarea {
		font-family: 'IRANSansXV', 'IRANSansX', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Tahoma, sans-serif;
		font-feature-settings: var(--font-feature-settings);
		font-variation-settings: "DOTS" var(--font-dots);
	}

	.en-num {
		font-feature-settings: var(--font-feature-settings-en-num);
	}

	.monospace {
		font-feature-settings: "ss03";
	}

	.disable-rclt {
		font-feature-settings: "rclt" off;
	}
}

/* ==========================================================================
   4. Doran & Doran FaNum Font Definitions
   Theme: Hamed Perfume (Haper)
   First Priority: Variable Font (Doran-VF.ttf)
   Fallback / Second Priority: Static / Fixed Fonts (DoranFaNum)
   ========================================================================== */

/* --------------------------------------------------------------------------
   4.1. Doran Variable Font (First Priority: 100 - 900)
   -------------------------------------------------------------------------- */
@font-face {
	font-family: 'DoranVF';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

@font-face {
	font-family: 'DoranFaNumVF';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

@font-face {
	font-family: 'Doran FaNum VF';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 100 900;
	src: url('Doran/Doran-VF.ttf') format('truetype-variations'),
	     url('Doran/Doran-VF.ttf') format('truetype');
}

/* --------------------------------------------------------------------------
   4.2. Doran Static / Fixed Fonts (Fallback for Non-Variable Font Browsers)
   -------------------------------------------------------------------------- */

/* Thin - 100 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 100;
	src: url('Doran/DoranFaNum-Thin.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Thin.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 100;
	src: url('Doran/DoranFaNum-Thin.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Thin.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 100;
	src: url('Doran/DoranFaNum-Thin.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Thin.woff') format('woff');
}

/* Light - 300 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 300;
	src: url('Doran/DoranFaNum-Light.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Light.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 300;
	src: url('Doran/DoranFaNum-Light.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Light.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 300;
	src: url('Doran/DoranFaNum-Light.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Light.woff') format('woff');
}

/* Regular - 400 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

/* Regular - normal alias */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: normal;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: normal;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: normal;
	src: url('Doran/DoranFaNum-Regular.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Regular.woff') format('woff');
}

/* Medium - 500 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 500;
	src: url('Doran/DoranFaNum-Medium.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Medium.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 500;
	src: url('Doran/DoranFaNum-Medium.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Medium.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 500;
	src: url('Doran/DoranFaNum-Medium.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Medium.woff') format('woff');
}

/* Bold - 700 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 700;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 700;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 700;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

/* Bold - bold alias */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: bold;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: bold;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: bold;
	src: url('Doran/DoranFaNum-Bold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-Bold.woff') format('woff');
}

/* ExtraBold - 800 */
@font-face {
	font-family: 'Doran';
	font-display: swap;
	font-style: normal;
	font-weight: 800;
	src: url('Doran/DoranFaNum-ExtraBold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-ExtraBold.woff') format('woff');
}

@font-face {
	font-family: 'Doran FaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 800;
	src: url('Doran/DoranFaNum-ExtraBold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-ExtraBold.woff') format('woff');
}

@font-face {
	font-family: 'DoranFaNum';
	font-display: swap;
	font-style: normal;
	font-weight: 800;
	src: url('Doran/DoranFaNum-ExtraBold.woff2') format('woff2'),
	     url('Doran/DoranFaNum-ExtraBold.woff') format('woff');
}

