html {
    scroll-behavior: smooth;
}

@font-face {
    font-family: 'IRANSansDN';
    src: url('fonts/iransansdn.woff2') format('woff2'),
        url('fonts/iransansdn.woff') format('woff'),
        url('fonts/iransansdn.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'IRANSansDN';
    src: url('fonts/iransansdnbold.woff2') format('woff2'),
        url('fonts/iransansdnbold.woff') format('woff'),
        url('fonts/iransansdnbold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'IRANSansDN';
    src: url('fonts/iransansdnlight.woff2') format('woff2'),
        url('fonts/iransansdnlight.woff') format('woff'),
        url('fonts/iransansdnlight.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}

body {
    font-family: 'IRANSansDN', sans-serif !important;
}

.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px !important;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px !important;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px !important;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px !important;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1320px !important;
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.row>* {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.no-gutters {
    margin-left: 0;
    margin-right: 0;
}

.no-gutters>* {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.col {
    flex: 1 0 0%;
}


.col-1 {
    width: 8.333%;
}

.col-2 {
    width: 16.666%;
}

.col-3 {
    width: 25%;
}

.col-4 {
    width: 33.333%;
}

.col-5 {
    width: 41.666%;
}

.col-6 {
    width: 50%;
}

.col-7 {
    width: 58.333%;
}

.col-8 {
    width: 66.666%;
}

.col-9 {
    width: 75%;
}

.col-10 {
    width: 83.333%;
}

.col-11 {
    width: 91.666%;
}

.col-12 {
    width: 100%;
}


@media (min-width: 576px) {
    .col-sm-1 {
        width: 8.333%;
    }

    .col-sm-2 {
        width: 16.666%;
    }

    .col-sm-3 {
        width: 25%;
    }

    .col-sm-4 {
        width: 33.333%;
    }

    .col-sm-5 {
        width: 41.666%;
    }

    .col-sm-6 {
        width: 50%;
    }

    .col-sm-7 {
        width: 58.333%;
    }

    .col-sm-8 {
        width: 66.666%;
    }

    .col-sm-9 {
        width: 75%;
    }

    .col-sm-10 {
        width: 83.333%;
    }

    .col-sm-11 {
        width: 91.666%;
    }

    .col-sm-12 {
        width: 100%;
    }
}


@media (min-width: 768px) {
    .col-md-1 {
        width: 8.333%;
    }

    .col-md-2 {
        width: 16.666%;
    }

    .col-md-3 {
        width: 25%;
    }

    .col-md-4 {
        width: 33.333%;
    }

    .col-md-5 {
        width: 41.666%;
    }

    .col-md-6 {
        width: 50%;
    }

    .col-md-7 {
        width: 58.333%;
    }

    .col-md-8 {
        width: 66.666%;
    }

    .col-md-9 {
        width: 75%;
    }

    .col-md-10 {
        width: 83.333%;
    }

    .col-md-11 {
        width: 91.666%;
    }

    .col-md-12 {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .col-lg-1 {
        width: 8.333%;
    }

    .col-lg-2 {
        width: 16.666%;
    }

    .col-lg-3 {
        width: 25%;
    }

    .col-lg-4 {
        width: 33.333%;
    }

    .col-lg-5 {
        width: 41.666%;
    }

    .col-lg-6 {
        width: 50%;
    }

    .col-lg-7 {
        width: 58.333%;
    }

    .col-lg-8 {
        width: 66.666%;
    }

    .col-lg-9 {
        width: 75%;
    }

    .col-lg-10 {
        width: 83.333%;
    }

    .col-lg-11 {
        width: 91.666%;
    }

    .col-lg-12 {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .col-xl-1 {
        width: 8.333%;
    }

    .col-xl-2 {
        width: 16.666%;
    }

    .col-xl-3 {
        width: 25%;
    }

    .col-xl-4 {
        width: 33.333%;
    }

    .col-xl-5 {
        width: 41.666%;
    }

    .col-xl-6 {
        width: 50%;
    }

    .col-xl-7 {
        width: 58.333%;
    }

    .col-xl-8 {
        width: 66.666%;
    }

    .col-xl-9 {
        width: 75%;
    }

    .col-xl-10 {
        width: 83.333%;
    }

    .col-xl-11 {
        width: 91.666%;
    }

    .col-xl-12 {
        width: 100%;
    }
}

@media (min-width: 1400px) {
    .col-xxl-1 {
        width: 8.333%;
    }

    .col-xxl-2 {
        width: 16.666%;
    }

    .col-xxl-3 {
        width: 25%;
    }

    .col-xxl-4 {
        width: 33.333%;
    }

    .col-xxl-5 {
        width: 41.666%;
    }

    .col-xxl-6 {
        width: 50%;
    }

    .col-xxl-7 {
        width: 58.333%;
    }

    .col-xxl-8 {
        width: 66.666%;
    }

    .col-xxl-9 {
        width: 75%;
    }

    .col-xxl-10 {
        width: 83.333%;
    }

    .col-xxl-11 {
        width: 91.666%;
    }

    .col-xxl-12 {
        width: 100%;
    }
}

.container {
    max-width: 1280px !important;
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

body {
    font-family: 'IRANSansDN', sans-serif;
}




[multiple]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
input:where(:not([type])):focus,
select:focus,
textarea:focus {
    --tw-ring-color: rgba(255, 255, 255, 0) !important;
    border-color: rgba(255, 255, 255, 0) !important;
}




img {
    object-fit: cover;
    object-position: center;
    transition: all 0.3s ease-in-out;
}

.zoom:hover {
    scale: 1.03;
}

/* Product Gallery Zoom */
.swiper-slide.cursor-zoom-in {
    overflow: hidden;
    position: relative;
}


/* LightGallery Customization (Optional but improves UX) */
.lg-backdrop {
    background-color: rgba(0, 0, 0, 0.9) !important;
}







/*--------- Components ---------*/






/* animations */

.animate-spin {
    animation: spin 1s linear infinite;
}

.zoom-img {
    transition: scale 0.3s ease, transform-origin 0.1s ease;
    width: 100%;
    height: 100%;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}







/* Accordion Styles */

.accardion-header {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Initially hide the Plus icon because the accordion starts Open */
#for-open {
    display: none;
}

/* Default closed state */
.accardion.ac-closed .accardion-body {
    display: none;
}

.accardion.ac-closed #for-open {
    display: block;
}

.accardion.ac-closed #for-close {
    display: none;
}








/* Tabs */

.tab-hover {
    position: relative;
    cursor: pointer;
}

.tab-hover::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 9px;
    background-image: url('img/tab-hover.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    right: 50%;
    transition: transform 0.3s ease,
        scale 0.3s ease,
        top 0.3s ease,
        bottom 0.3s ease;
    scale: 0;
}

.tab-active {
    position: relative;
}

.tab-active::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 9px;
    background-image: url('img/tab-hover.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    transform: translate(50%, 0px);
    right: 50%;
    top: -8px;
    transition: transform 0.3s ease,
        scale 0.3s ease,
        top 0.3s ease,
        bottom 0.3s ease;
}

.tab-hover::before {
    top: -10px;
    transform: translate(50%, 0px);
}

.tab-hover:hover::before {
    top: -8px;
    scale: 1;
}










/* Breadcrumbs Styling */

.woocommerce-breadcrumb {
    margin: 0 !important;
    display: flex;
    align-items: center;
    font-size: 12px !important;
    color: #515151;
    overflow: overlay;
    text-overflow: clip;
    white-space: nowrap;
}

.woocommerce-breadcrumb * {
    margin-right: 5px;
}

.woocommerce-breadcrumb::after {
    content: none !important;
}

.woocommerce-breadcrumb> :last-child {
    font-weight: bold;
}

.woocommerce-breadcrumb .custom-delimiter:last-child {
    color: black !important;
}

@media (min-width:767px) {
    .woocommerce-breadcrumb {
        overflow: visible !important;
    }
}

/* Shop Results & Ordering */
#shop-top * {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-result-count {
    color: #999999;
}

.woocommerce-ordering {
    display: flex;
}

.orderby,
.variations select,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent !important;
    background-image: none !important;
    color: inherit;
    padding-left: 25px !important;
    padding-right: 10px !important;
    cursor: pointer;
}

.orderby:focus {
    outline: none;
}

/* Cart & Checkout Components */

/* Cart/Checkout Tables */
.woocommerce table.shop_table {
    border: unset;
    margin: 0 -1px 24px 0;
    text-align: center;
    width: 100%;
    border-collapse: unset;
    border-radius: unset;
}

.shop_table thead * {
    font-weight: 400 !important;
}

.shop_table thead th {
    padding-bottom: 20px !important;
}

.shop_table td.product-name,
.shop_table th.product-name {
    text-align: start;
}

.woocommerce td.product-name {
    width: 270px;
}

#add_payment_method table.cart .product-thumbnail,
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail {
    width: 100px;
}

.woocommerce-cart-form__contents .product-thumbnail img {
    width: 100% !important;
    height: auto !important;
    display: block;
}

.woocommerce-cart-form__contents tr>td.product-quantity {
    padding: 70px 0;
}

th.product-quantity {
    padding-left: 20px;
}

tr.woocommerce-cart-form__cart-item td.product-price {
    height: 60px;
}

/* Cart Totals & Checkout Button */
.cart_totals * {
    border: unset !important;
}

.cart_totals th {
    text-align: start !important;
    padding-left: 0 !important;
    color: #727272 !important;
    font-size: 16px !important;
}

.cart_totals td {
    text-align: end !important;
    padding-right: 0 !important;
}

.cart_totals td * {
    font-weight: bold;
}

.checkout-button {
    font-size: 16px !important;
    background-color: #98C2A9 !important;
    padding: 10px 20px !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.woocommerce a.remove {
    background-image: url('img/cart-delete.svg');
    background-size: cover;
    color: #ffffff00 !important;
    height: 24px !important;
    width: 24px !important;
    border-radius: unset;
    font-size: 0.4em;
}


.woocommerce-form-register p,
.woocommerce-form-login p,
.woocommerce-EditAccountForm p,
.woocommerce-additional-fields p,
.woocommerce-billing-fields__field-wrapper p {
    position: relative !important;
}

.woocommerce-form-register p input,
.woocommerce-form-login p input,
.woocommerce-EditAccountForm p input,
.woocommerce-additional-fields p input,
.woocommerce-billing-fields__field-wrapper p input {
    background: unset !important;
    border-radius: 0 !important;
}

.woocommerce-form-register p label,
.woocommerce-form-login p label,
.woocommerce-EditAccountForm p label,
.woocommerce-additional-fields p label,
.woocommerce-billing-fields__field-wrapper p label {
    position: absolute !important;
    top: -20px !important;
    right: 20px !important;
    padding: 0 5px !important;
    background-color: #fffcf6 !important;
    z-index: 2 !important;
}

.woocommerce-EditAccountForm p label {
    background-color: #ffffff !important;
}