@font-face {
    font-family: Shabnam;
    src: url('fonts/Shabnam.eot');
    src: url('fonts/Shabnam.eot?#iefix') format('embedded-opentype'),
            url('fonts/Shabnam.woff2') format('woff2'),
            url('fonts/Shabnam.woff') format('woff'),
            url('fonts/Shabnam.ttf') format('truetype');
    font-weight: normal;
}

@font-face {
    font-family: Shabnam;
    src: url('fonts/Shabnam-Bold.eot');
    src: url('fonts/Shabnam-Bold.eot?#iefix') format('embedded-opentype'),
            url('fonts/Shabnam-Bold.woff2') format('woff2'),
            url('fonts/Shabnam-Bold.woff') format('woff'),
            url('fonts/Shabnam-Bold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: Shabnam;
    src: url('fonts/Shabnam-Thin.eot');
    src: url('fonts/Shabnam-Thin.eot?#iefix') format('embedded-opentype'),
            url('fonts/Shabnam-Thin.woff2') format('woff2'),
            url('fonts/Shabnam-Thin.woff') format('woff'),
            url('fonts/Shabnam-Thin.ttf') format('truetype');
    font-weight: 100;
}

@font-face {
    font-family: Shabnam;
    src: url('fonts/Shabnam-Light.eot');
    src: url('fonts/Shabnam-Light.eot?#iefix') format('embedded-opentype'),
            url('fonts/Shabnam-Light.woff2') format('woff2'),
            url('fonts/Shabnam-Light.woff') format('woff'),
            url('fonts/Shabnam-Light.ttf') format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: Shabnam;
    src: url('fonts/Shabnam-Medium.eot');
    src: url('fonts/Shabnam-Medium.eot?#iefix') format('embedded-opentype'),
            url('fonts/Shabnam-Medium.woff2') format('woff2'),
            url('fonts/Shabnam-Medium.woff') format('woff'),
            url('fonts/Shabnam-Medium.ttf') format('truetype');
    font-weight: 500;
}

/*   in CSS variable names must start with two dashes, usage example: var(--THE-NAME-OF-VAR);   */
:root
{
    --primary: #dda379;
    --primary-bg: #fb9548;

    --secondary: #8A5DA3;
    --secondary-semitrans: #8a5da37c;
    --secondary-tinytrans: #8a5da3de;

    --black: #353535;
    --gray: #888;
    --gray-medium: #b9b9b9;
    --gray-light: #e6e6e6;
    --gray-bg: #f7f7f7;

    --fontsz-xt: 8px; /* font-size: extra-tiny */
    --fontsz-xs: 10px; /* font-size: extra-small */
    --fontsz-tn: 12px; /* font-size: tiny */
    --fontsz-sm: 14px; /* font-size: small */
    --fontsz-nm: 16px; /* font-size: normal */
    --fontsz-md: 20px; /* font-size: medium */
    --fontsz-ml: 25px; /* font-size: mid-large */
    --fontsz-lg: 32px; /* font-size: large */
    --fontsz-xl: 35px; /* font-size: extra-large */
}

*
{
    margin: 0;
    padding: 0;
}

div, header, section, footer, aside, nav, main, article, figure
{
    display: block;
    position: relative;
}

h1, h2, h3, h4, h5, h6
{
    margin: 0;
    padding: 0;
    display: block;
}

.clear_both
{
    clear: both;
}

body, input
{
    color: var(--black);
    font-family: Shabnam;
    font-size: var(--fontsz-nm);
}
a
{
    outline: none;
}

.container
{
    width: 100%;
    max-width: 1200px;
    padding: 0 10px;
    margin: auto;
    box-sizing: border-box;
}
@keyframes blinking
{
    0%      {color: #959595; transform: scale(1);}
    50%    {color: #000000; transform: scale(1.1);}
    100%      {color: #959595; transform: scale(1);}
}
.topbar
{
    background: url(images/topbar-bg.jpg) var(--primary-bg) center no-repeat;
    background-size: 100% 100%;
    min-height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fontsz-sm);
    text-align: center;
    overflow: hidden;
}
.topbar p
{
    animation: blinking 1s infinite;
    animation-timing-function: ease-in-out;
}

header
{
    margin-top: 35px;
}
.header-flex
{
    display: flex;
    direction: rtl;
    gap: 75px;
    justify-content: space-between;
}
.header-flex .search
{
    flex-grow: 1;
}
.header-flex .search form
{
    display: flex;
    border: 1px solid var(--gray-light);
    padding: 20px;
    gap: 20px;
}
.header-flex .search form input
{
    border: 0;
    outline: none;
    flex-grow: 1;
}
.header-flex .search form button
{
    border: 0;
    background: transparent;
}
.header-logo, .footer-logo
{
    display: flex;
    align-items: center;
}
.header-logo img
{
    height: 60px;
    transition: transform 0.15s;
    transform: scale(1);
    display: block;
}
.header-logo img:hover, .header-logo a:focus img
{
    transform: scale(1.15);
}
.header-logo p, .footer-logo p
{
    font-size: var(--fontsz-lg);
    margin-right: 15px;
}
.header-logo p a
{
    font-weight: 800;
    color: var(--primary);
    text-decoration: none;
    text-shadow: 0 0 5px transparent;
    transition: text-shadow 0.3s;
}
.header-logo p a:hover, .header-logo p a:focus
{
    text-shadow: 0 0 5px var(--primary);
}

.btn
{
	background-color: var(--primary-bg);
	color: white;
	padding: 10px 20px;
    border-radius: 40px;
    white-space: nowrap;
    transition: 0.15s;
    transform: scale(1);
    cursor: pointer;
}
.btn:hover, a:focus .btn
{
    transform: scale(1.13);
}
.headings .buttons
{
    text-align: left;
}
button.btn
{
    background-color: rgba(255,255,255,0.5);
    border: 1px solid var(--gray-light);
    font-weight: 200;
    padding: 5px 10px;
    font-size: var(--fontsz-sm);
    font-family: Shabnam;
    margin: 5px;
    color: var(--gray);
}
button.btn:hover, button.btn:focus
{
    border-color: var(--primary);
    color: var(--primary);
}
@keyframes vibrating
{
    0%      {transform: rotate(-30deg)}
    5%      {transform: rotate(0deg)}
    10%     {transform: rotate(-30deg)}
    15%     {transform: rotate(0deg)}
    20%     {transform: rotate(-30deg)}
    25%     {transform: rotate(0deg)}
    100%    {transform: rotate(0deg)}
}
.btn .fa-phone-flip
{
    vertical-align: top;
    margin-top: 3px;
    animation: vibrating linear infinite 1s;
}
.footer-form .btn
{
    border-radius: 6px;
    background-color: transparent;
    border-color: transparent;
    color: white;
    font-size: var(--fontsz-tn);
}
.footer-form .btn:hover, .footer-form .btn:focus
{
    color: white;
    background-color: var(--primary-bg);
    border-color: transparent;
}
.home-cat-btn .btn
{
    display: inline-block;
    background-color: white;
    color: var(--secondary);
}
a.btn
{
    text-decoration: none;
    display: inline-block;
}

nav
{
    direction: rtl;
    margin-top: 30px;
    border-top: 1px solid var(--gray-light);
}
nav .container
{
    display: flex;
    gap: 40px;
}
nav a
{
    padding-top: 15px;
    padding-bottom: 15px;
}
nav a, .mobile-nav a
{
    text-decoration: none;
    color: var(--black);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.15s;
}
nav a i:first-child, .mobile-nav a i:first-child
{
    font-size: var(--fontsz-md);
}
nav a i:last-child, .mobile-nav a i:last-child
{
    font-size: var(--fontsz-xs);
}
nav a:hover, nav a:focus
{
    color: var(--secondary);
}
nav .fa-ellipsis-stroke
{
    cursor: pointer;
    font-size: 20px;
    margin-top: 14px;
}
.mobile-nav
{
    position: fixed;
    top: 0;
    right: 0;
    width: 80%;
    max-width: 450px;
    height: 100%;
    background-color: var(--primary);
    background-image: url(images/logo-footer-semitrans.png);
    background-repeat: no-repeat;
    background-position: center calc(100% - 30px);
    background-size: 55%;
    border-left: 5px solid var(--gray-light);
    direction: rtl;
    transform: translateX(100%);
    transition: transform 0.4s;
    display: none;
    z-index: 1;
}
.mobile-nav.active
{
    transform: translateX(0);
}
.mobile-nav a
{
    display: flex;
    padding: 30px 15px 0 20px;
    color: white;
}
.mobile-nav a span
{
    flex-grow: 1;
}
.mobile-nav a i
{
    flex-shrink: 0;
}
.mobile-nav-masker
{
    background-color: rgba(255, 255, 255, 0.75);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    display: none;
    transition: opacity 0.4s;
    z-index: 1;
}
.mobile-nav-masker.active
{
    opacity: 1;
}

.page
{
    background-color: var(--gray-bg);
    min-height: 700px;
    padding: 30px 0 100px;
}
.page-inner
{
    padding-top: 0;
}

.sliders img
{
    width: 100%;
    height: auto;
    border-radius: 40px;
}
.slider-main
{
    width: calc((100% - 35px) * 0.68);
    float: right;
}
.slider-side
{
    width: calc((100% - 35px) * 0.32);
    float: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.swiper
{
    direction: rtl;
}
.swiper img, .products img
{
    width: 100%;
    height: auto;
}
.products .swiper-slide
{
    text-align: center;
}

.products
{
    background-color: white;
    border-radius: 30px;
    padding: 20px;
    margin-top: 35px;
}
.products h2
{
    border-bottom: 1px solid var(--secondary-semitrans);
    margin-bottom: 10px;
}
.products h2 i
{
    vertical-align: middle;
    margin-left: 10px;
}

.features
{
    direction: rtl;
	display: flex;
	padding: 35px 20px;
    margin: 35px 0;
    border-top: 1px solid var(--secondary);
    border-bottom: 1px solid var(--secondary);
}
.features .item
{
	padding: 10px 0;
    display: flex;
    align-items: center;
    flex-grow: 1;
}
.features .item:nth-child(2) i, .features .item:last-child i
{
    color: var(--primary);
}
.features .item div
{
    flex-grow: 1;
}
.features .item i:first-child
{
	font-size: var(--fontsz-xl);
    width: 60px;
    text-align: center;
}
.features .item i:last-child
{
    display: none;
	font-size: var(--fontsz-xt);
    color: var(--black);
}

.headings
{
    display: flex;
    direction: rtl;
}
.headings h1, .page h2
{
    /* text-align: center; */
    direction: rtl;
    padding-bottom: 30px;
    color: var(--secondary);
    flex-grow: 1;
}
.headings h1::before, .headings h1::after
{
    display: inline-block;
    vertical-align: middle;
    content: "●";
    content: "■";
    margin: 0 20px;
}

article
{
    direction: rtl;
    color: #888;
    font-weight: 200;
    box-sizing: border-box;
    padding: 0;
    transition: 0.4s padding;
}
article::before
{
	display: flex;
	content: "مشاهده بیشتر...";
	background: linear-gradient(to bottom, transparent, var(--gray-bg)); /* rgba(0,0,0,0.5) */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	transition: 0.4s opacity, 0.15s font-size;
    font-size: var(--fontsz-nm);
	align-items: end;
	justify-content: center;
	color: var(--primary-bg);
	text-shadow: 0 0 5px white;
	font-weight: 900;
	padding: 20px;
	box-sizing: border-box;
    border-radius: 0 0 40px 40px;
}
article.collapsed
{
	height: 120px;
	overflow: hidden;
    cursor: pointer;
    padding: 0 40px;
}
article.collapsed::before
{
    pointer-events: all;
    opacity: 1;
}
article.collapsed:hover::before
{
    font-size: var(--fontsz-md);
}

article p, article img, article ul, article ol
{
    margin-bottom: 10px;
}
article h2, article h3, article h4, article h5, article h6
{
    padding-top: 15px;
    padding-bottom: 10px !important;
}
article img
{
    display: block;
    margin: 0 auto 10px;
}
article ul, article ol
{
    padding-right: 30px;
}
article ul li, article ol li
{
    margin-bottom: 5px;
}
article a
{
    font-weight: 600;
    color: var(--primary);
}

.banners
{
	display: flex;
	gap: 20px;
    margin-top: 35px;
    direction: rtl;
}
.banners img
{
    display: block;
    height: auto;
	object-fit: contain;
    border-radius: 20px;
}
.banners > img, .banners > a
{
    width: 50%;
}
.banners > a > img
{
    width: 100%;
}

footer
{
    background-color: var(--black);
    color: var(--gray-medium);
    direction: rtl;
    padding: 65px 0 20px;
}
footer .container
{
    display: flex;
    gap: 50px;
    font-weight: 300;
}
.footer-col
{
    flex-basis: 25%;
    flex-grow: 1;
}
.footer-col:last-child
{
    flex-grow: 1.5;
}
.footer-title
{
	font-size: var(--fontsz-md);
	font-weight: 200;
	color: var(--primary);
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--secondary-semitrans);
}
ul.footer-links
{
	padding-right: 30px;
}
ul.footer-links li
{
    padding-right: 10px;
    padding-bottom: 10px;
}
footer a
{
    color: var(--gray-medium);
    text-decoration: none;
}
footer a:hover, footer a:focus
{
    color: white;
    text-decoration: underline;
}
.footer-form input
{
	background-color: transparent;
	border: 1px solid var(--gray-light);
	border-radius: 40px;
	padding: 10px;
	width: calc(100% - 20px);
	display: block;
	margin: 10px;
    box-sizing: border-box;
    color: var(--gray-light-bg);
    direction: ltr;
    text-align: right;
    font-size: var(--fontsz-sm);
    outline: none;
}

.footer-copyright
{
    padding: 20px 20px 0;
    color: var(--gray);
    font-size: var(--fontsz-tn);
    border-top: 1px solid var(--secondary-semitrans);
    margin-top: 40px;
}
.footer-copyright .container
{
    display: flex;
    align-items: center;
}
.footer-copyright .container > div:first-child
{
    flex-grow: 1;
}
.footer-copyright .container > div:last-child
{
    text-align: left;
}
.footer-copyright img
{
    height: 50px;
}
.footer-copyright a, .footer-copyright i
{
    color: var(--primary);
}

.breadcrumbs
{
    background-color: white;
    border-top: 1px solid var(--gray-light);
    font-size: var(--fontsz-tn);
    padding: 10px 0;
    direction: rtl;
    white-space: nowrap;
    overflow: auto;
    scrollbar-width: thin;
    margin-bottom: 10px;
}
.breadcrumbs a
{
    color: var(--gray-medium);
    text-decoration: none;
    transition: color 0.15s;
}
.breadcrumbs i
{
    color: var(--gray-medium);
    font-size: 8px;
    padding: 0 10px;
}
.breadcrumbs a:hover, .breadcrumbs a:focus
{
    color: var(--black);
}
.breadcrumbs a:last-child
{
    color: var(--primary);
    padding-left: 10px;
}

.navsubcats
{
    direction: rtl;
    background-color: var(--secondary-tinytrans);
    position: absolute;
    width: 100%;
    z-index: 2;
    box-shadow: 0 5px 5px var(--secondary-semitrans)
}
.navsubcats .container > div
{
    height: 0;
    overflow: hidden;
}
.navsubcats a
{
    color: white;
    text-decoration: none;
    margin-left: 40px;
}
.navsubcats a i
{
    font-size: var(--fontsz-xs);
    margin-left: 5px;
}
.navsubcats a:hover, .navsubcats a:focus
{
    text-decoration: underline;
}

.subcategories
{
    direction: rtl;
}
.subcategory
{
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.subcategory img
{
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.subcategory a
{
    color: var(--secondary);
    text-decoration: none;
    transition: color 0.15s;
}
.subcategory a:hover, .subcategory a:focus
{
    color: var(--primary)
}
.subcategory a i
{
    font-size: var(--fontsz-tn);
    margin-left: 10px;
}
.products-archive
{
    direction: rtl;
    text-align: center;
}
.product-grid, .subcategory
{
    padding: 20px;
    border-radius: 20px;
    background-color: white;
    display: inline-block;
    vertical-align: top;
    margin: 15px;
    text-align: center;
    max-width: 220px;
    direction: rtl;
}
.swiper .product-grid
{
    margin: 0;
    padding: 0;
    background-color: transparent;
}
.product-grid img, .product-image img
{
    width: 100%;
    border: 1px solid var(--gray-light);
    display: block;
    box-sizing: border-box;
    transition: border-color 0.15s;
}
.product-grid > a:hover img, .product-grid > a:focus img
{
    border-color: var(--black);
}
.swiper .product-grid img
{
    border-color: transparent;
    /* transform: scale(1);
    transition: transform 0.15s; */
}
/* .swiper .product-grid > a:hover img, .swiper .product-grid > a:focus img
{
    border-color: transparent;
    transform: scale(1.1);
} */

.search-miniresults
{
    padding-bottom: 20px;
    position: absolute;
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.9);
    width: 100%;
}
.search-miniresults p
{
    padding: 20px 20px 0;
}
.search-miniresults .product-grid
{
	max-width: 100%;
	margin: 0;
	display: flex;
    text-align: right;
    padding-bottom: 0;
}
.search-miniresults .product-grid img
{
    width: auto;
    height: 100px;
}

.product-title
{
    font-size: var(--fontsz-sm);
    padding: 10px;
}
.product-title a
{
    color: var(--black);
    text-decoration: none;
}
.product-title a:hover, .product-title a:focus
{
    text-decoration: underline;
}
.product-price-row
{
    display: flex;
    gap: 10px;
    justify-content: space-between;
    flex-wrap: wrap;
}
.product-price-beforediscount
{
    text-decoration: line-through;
    color: var(--secondary);
    font-weight: 300;
}
.product-price
{
    font-weight: 600;
    color: var(--primary)
}
.product-unavailable, .product-comingsoon
{
    font-size: var(--fontsz-sm);
    padding: 8px 0;
}
.product-unavailable
{
    background-color: var(--gray-light);
    color: var(--gray-medium);
}
.product-comingsoon
{
    background-color: var(--primary);
    color: var(--gray-bg);
}

.product-single
{
    display: flex;
    gap: 20px;
    padding-top: 10px;
    direction: rtl;
}
.product-body
{
    flex-grow: 1;
}
.product-image
{
    flex-basis: 40%;
    flex-shrink: 0;
}
.product-image img
{
    position: sticky;
    top: 20px;
    border-radius: 20px;
}
.product-details
{
    flex-basis: 60%;
    flex-shrink: 0;
}
.product-single-title
{
    color: var(--primary)
}
.product-single article
{
    margin-top: 20px;
}
.product-info
{
    padding: 20px;
    background-color: white;
    border-radius: 20px;
    border: 1px solid var(--gray-light);
    direction: rtl;
}
.product-info h1
{
    border-bottom: 1px solid var(--secondary-semitrans);
    padding-bottom: 10px;
    margin-bottom: 17px;
}
.product-info .product-price-beforediscount
{
    color: var(--gray);
    margin-bottom: 10px;
}
.product-info .product-price
{
    color: var(--secondary);
}
.product-info i
{
    font-size: var(--fontsz-ml);
    text-align: center;
    width: 50px;
    vertical-align: middle;
}

.home-cat-slide img
{
    border-radius: 30px;
}
.home-cat-title
{
	position: absolute;
	top: 40px;
	width: 100%;
	text-align: center;
	font-size: var(--fontsz-ml);
	font-weight: 600;
}
.home-cat-title a
{
    color: white;
    text-decoration: none;
	text-shadow: 1px 1px 0 var(--black);
    transition: color 0.15s;
}
.home-cat-title a:hover, .home-cat-title a:focus
{
    color: var(--primary);
}
.home-cat-btn
{
    position: absolute;
	bottom: 40px;
    width: 100%;
	text-align: center;
}

.contact-map
{
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}