/*
Theme Name: 4fasl
Theme URI: https://nikanwp.ir
Author: NikanWp Team
Author URI: https://nikanwp.ir/
Version: 1.0.0
Text Domain: nikanwp
*/
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 100; /* Thin */
    src: url('src/fonts/iransans/woff/IRANSansX-Thin.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Thin.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 200; /* UltraLight */
    src: url('src/fonts/iransans/woff/IRANSansX-UltraLight.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-UltraLight.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 300; /* Light */
    src: url('src/fonts/iransans/woff/IRANSansX-Light.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Light.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 400; /* Regular */
    src: url('src/fonts/iransans/woff/IRANSansX-Regular.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Regular.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 500; /* Medium */
    src: url('src/fonts/iransans/woff/IRANSansX-Medium.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Medium.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 600; /* DemiBold */
    src: url('src/fonts/iransans/woff/IRANSansX-DemiBold.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-DemiBold.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 700; /* Bold */
    src: url('src/fonts/iransans/woff/IRANSansX-Bold.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Bold.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 800; /* ExtraBold */
    src: url('src/fonts/iransans/woff/IRANSansX-ExtraBold.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-ExtraBold.woff2') format('woff2');
}
@font-face {
    font-family: IRANSansX;
    font-style: normal;
    font-weight: 900; /* Black */
    src: url('src/fonts/iransans/woff/IRANSansX-Black.woff') format('woff'),
    url('src/fonts/iransans/woff2/IRANSansX-Black.woff2') format('woff2');
}

body,h1, h2, h3, h4, h5, h6,input,textarea,span,.wpst {font-family: IRANSansX, serif !important;}
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}
a{cursor: pointer;}
.header-section-inner{
    background-image: url("src/img/home-section-bg.png");
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.footer-section-inner{
    background-image: url("src/img/footer-bg.png");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
}
.post-card{
    box-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.16), 0 0 1px 0 rgba(0, 0, 0, 0.4);
}
.default-shadow{
    box-shadow: 0 6px 6px -6px rgba(0, 0, 0, 0.16), 0 0 1px 0 rgba(0, 0, 0, 0.4);
}
.post-card-inner .owl-stage{padding-bottom: 5px;}
.post-card-inner .owl-stage-outer{
    padding: 10px;
    margin: -10px;
}
.desktop-main-header-menu > li:hover > .desktop-submenu-inner{
    max-height: 1500px;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .1);
    transition: max-height 1s ease-in-out .2s;
}
.mobile-menu {
    position: fixed;
    top: 0;
    /*left: 0;*/
    width: 80%;
    height: 100%;
    background: white;
    z-index: 99999;
    /*transform: translateX(-100%);*/
    transition: transform 0.3s ease;
}

.mobile-menu.open {
    transform: translateX(0);
}

.mobile-menu.open {
    display: block;
}
.mobile-menu + .mobile-menu-overly {
    display: block;
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 995;
    height: 100%;
    width: 100%;
    background-color: #00000070;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
}
.mobile-menu.open + .mobile-menu-overly {
    opacity: 1;
    visibility: visible;
}
.mobile-menu-list {
    position: relative;
    height: calc(100% - 64px);
    overflow: hidden;
}

.mobile-submenu.hidden {
    transform: translateX(-100%);
    opacity: 0;
    display: block;
}
.mobile-submenu {
    transform: translateX(100%);
    opacity: 1;
}
.mobile-submenu {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
    background-color: #fff;
}

.mobile-submenu:not(.hidden) {
    transform: translateX(0);
}
.desktop-main-header-menu > li {
    display: flex;
    height: 100%;
}
.desktop-main-header-menu > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    height: fit-content;
    margin-top: auto;
    margin-bottom: auto;
    padding: 4px 16px;
    transition: all 0.4s;
}
.desktop-main-header-menu > li > a.active, .desktop-main-header-menu > li > a:hover {
    color: #3556BA;
    background: #F0F4FF;
    border-radius: 8px;
}

.desktop-main-header-menu{
    height: -webkit-fill-available;
}
.mobile-menu {
    left: 150% !important;
    transform: translateX(100%);
}
.mobile-menu.open {
    left: 0 !important;
    transform: translateX(0);
}
.category-post-inner .post-card{max-width: 100% !important;}
.fusion-button-wrapper:not(:last-child){
    margin-bottom: 16px;
}
.desktop-search-form.open {
    max-height: 7rem;
    padding-left: 20px;
    transition: all 0.3s;
    opacity: 1;
}
.desktop-search-form{
    transition: all 0.3s;
}

#register-dialog .digits_modal_box {
    background: #fff !important;
    border-radius: 12px;
    color: #333;
}

#register-dialog .digits_modal_box input[type="text"],
#register-dialog .digits_modal_box input[type="password"],
#register-dialog .digits_modal_box input[type="tel"],
#register-dialog .digits_modal_box input[type="email"] {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    transition: all 0.2s ease;
}

#register-dialog .digits_modal_box input:focus {
    border-color: #4169E1;
    box-shadow: 0 0 0 2px rgba(65,105,225,0.2);
    outline: none;
}

#register-dialog .digits_modal_box label {
    font-size: 13px;
    font-weight: 500;
    color: #555;
    margin-bottom: 6px;
    display: block;
}

#register-dialog .digits_modal_box button,
#register-dialog .digits_modal_box .button,
#register-dialog .digits_modal_box .signupbutton,
#register-dialog .digits_modal_box .registerbutton {
    background: #4169E1 !important;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #fff !important;
    cursor: pointer;
    transition: background 0.2s ease;
    line-height: 27px;
}

#register-dialog .digits_modal_box button:hover,
#register-dialog .digits_modal_box .button:hover {
    background: #365acb !important;
}

#register-dialog .digits_modal_box a,
#register-dialog .digits_modal_box .forgotpassworda,
#register-dialog .digits_modal_box .backtoLogin {
    color: #4169E1;
    font-size: 13px;
    text-decoration: none;
    transition: opacity 0.2s;
}

#register-dialog .digits_modal_box a:hover {
    opacity: 0.8;
}

#register-dialog .digits_modal_box .signdesc {
    margin-top: 12px;
    font-size: 13px;
    color: #666;
    text-align: center;
}
.dig_resendotp {
    margin-top: 12px;
    font-size: 13px;
    color: #4169E1;
    text-align: center;
    cursor: pointer;
}
#register-dialog .digits_modal_box .minput {
    margin-bottom: 16px;
}
#register-dialog .digits_modal_box input[type="checkbox"] {
    accent-color: #4169E1;
}

#register-dialog .minput .minput_inner{margin: 0;}
#register-dialog .digloginpage form .minput label, #register-dialog  .register form .minput label {
    color: #4169E1 !important;
    padding: 11px 0 0 0;
}
.enter-serial-input{padding-inline-start: 0 !important;}
.help-submit-guaranty-content{padding: 40px;}
dialog {
    display: none; /* اولش بسته باشه */
}
dialog[open] {
    display: block;
}
button.help-to-submit-guaranty-btn {
    position: absolute;
    left: 14px;
    top: 55%;
    cursor: pointer;
    transform: translateY(-50%);
}
.help-to-submit-guaranty-btn i{font-size: 20px}
.custom-alert {
    position: fixed;
    top: 20px;
    right: -400px;
    min-width: 300px;
    max-width: 400px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 16px 20px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    z-index: 99999;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    font-family: 'IRANSans', sans-serif;
    direction: rtl;
}

.custom-alert.show {
    right: 20px;
    opacity: 1;
}

.alert-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.alert-content i {
    font-size: 24px;
    flex-shrink: 0;
    animation: pulse 2s infinite;
}

.alert-content span {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.8;
    }
}
dialog[open="open"] {
    z-index: 1;
}
@media (max-width: 640px) {
    .custom-alert {
        right: -350px;
        min-width: 280px;
        max-width: calc(100% - 40px);
        top: 10px;
        padding: 14px 16px;
    }

    .custom-alert.show {
        right: 20px;
    }

    .alert-content span {
        font-size: 14px;
    }

    .alert-content i {
        font-size: 20px;
    }
}
@keyframes slideIn {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOut {
    to {
        opacity: 0;
        transform: translateX(120%);
    }
}
@media (width >= 1024px) {
    .mobile-menu{display: none !important;}
}
@media (max-width: 991px) {
    .post-card-title{
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: inherit;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
    }
}
@media (min-width: 601px){
    .logo-font-header-img{
        width: 170px;
    }
}
@media (max-width: 600px) {
    .post-card {
        max-width: 550px !important;
    }
}
