/* ==========================================================================
   IranSansX 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: (68970XHG)
   ---------------------------------------------------------------------
   ========================================================================== */
@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/woff/IRANSansX-Thin.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-Thin.woff2') format('woff2');		
}

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/woff/IRANSansX-UltraLight.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-UltraLight.woff2') format('woff2');	
}

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

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

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

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/woff/IRANSansX-DemiBold.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-DemiBold.woff2') format('woff2');	 
}

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

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

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/woff/IRANSansX-Black.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-Black.woff2') format('woff2');		 
}

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 950;
	src: url('../fonts/woff/IRANSansX-ExtraBlack.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-ExtraBlack.woff2') format('woff2');		 
}

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 1000;
	src: url('../fonts/woff/IRANSansX-Heavy.woff') format('woff'),   
	url('../fonts/woff2/IRANSansX-Heavy.woff2') format('woff2');		 
}


/* ==========================================================================
   HappySet Design System
   ========================================================================== */

:root{

  /* Brand */
  --color-primary: #00bf6f;
  --color-primary-dark: #00995a;
  --color-primary-light: #e8fff4;

  /* Accent */
  --color-accent: #ff8c42;
  --color-accent-dark: #f97316;
  --color-accent-light: #fff4ec;

  /* Text */
  --color-text: #333333;
  --color-text-light: #666666;
  --color-text-muted: #999999;

  /* Background */
  --color-bg: #ffffff;
  --color-section-bg: #fafafa;

  /* Border */
  --color-border: #e9ecef;

  /* Status */
  --color-success: #28a745;
  --color-warning: #ffc107;
  --color-danger: #dc3545;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  /* Shadow */
  --shadow-sm: 0 2px 8px rgba(0,0,0,.06);
  --shadow-md: 0 6px 20px rgba(0,0,0,.10);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.14);

  /* Transition */
  --transition: all .3s ease;
  
  /* Menu */
    --menu-hover-l1:#eafcf3;
    --menu-hover-l2:#def8eb;
    --menu-hover-l3:#d4f4e5;
}



/* ==========================================================================
   Announcement Bar
   ========================================================================== */

.hs-announcement-bar{
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        90deg,
        var(--color-primary-dark),
        var(--color-primary),
        var(--color-primary-dark)
    );
}

/* Shine */

.hs-announcement-bar::before{
    content: "";
    position: absolute;
    inset: 0 auto 0 -35%;
    width: 22%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );
    transform: skewX(-25deg);
    animation: hsAnnouncementShine 9s linear infinite;
    pointer-events: none;
}

@keyframes hsAnnouncementShine{
    0%{
        left: -35%;
    }
    18%{
        left: 115%;
    }
    100%{
        left: 115%;
    }
}

.hs-announcement-bar__inner{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
}

.hs-announcement{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: #fff;
    text-decoration: none;
    font-family: IRANSansX;
    font-size: 15px;
    font-weight: 500;
    transition: var(--transition);
}

.hs-announcement:hover{
    color: #fff;
}

.hs-announcement__icon{
    font-size: 20px;
    transition: var(--transition);
}

.hs-announcement__text{
    line-height: 1.5;
}

.hs-announcement__text strong{
    font-weight: 700;
}

.hs-announcement__cta{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    opacity: .90;
    transition: var(--transition);
}

.hs-announcement__arrow{
    width: 18px;
    height: 18px;
    transition: var(--transition);
}

.hs-announcement:hover .hs-announcement__icon{
    transform: rotate(-12deg) scale(1.18);
}

.hs-announcement:hover .hs-announcement__cta{
    opacity: 1;
}

.hs-announcement:hover .hs-announcement__arrow{
    transform: translateX(-6px);
}

/* Mobile */

@media (max-width:767px){
    .hs-announcement{
        gap: 10px;
        font-size: 13px;
        text-align: center;
    }

    .hs-announcement__cta{
        display: none;
    }
}












 /* happyset.ir/user/otp */

.tabs .nav-tabs{
    border: none;
}

.otp-field-user-auth-form #edit-submit{
    color: #fff;
    background-color: #00bf6f;
    border-color: #00bf6f;
    margin: 12px 0 12px 0;
    padding: 8px 0 8px 0;
    font-size: 15px;
    width: 100%;
    text-align: center;
}

.otp-field-user-auth-form .otp-field-action-btn-verify{
    display: none !important;
}

/* ==========================================================================
   General Setting
   ========================================================================== */

body{
    font-family: IRANSansX;
    font-weight: normal;
    margin-top: 0 !important;
}

.layout-no-sidebars{
    background-color: #ffffff !important;
}

.mm-menu_opened.mm-menu_pagedim ~ .mm-wrapper__blocker{
    background: #292929;
}

a{
    text-decoration: none;
}

a:focus,
a:hover,
a:active,
.open > a,
.open > a:focus{
    text-decoration: none;
    outline-style: none;
}










/* ==========================================================================
   First Header
   ========================================================================== */

.first-header{
    background-color: #ffffff;
    padding-top: 15px;
    padding-bottom: 15px;
}

.first-header-logo img{
    width: 170px;
}

.first-header-login-exit a,
.first-header-login-exit a:hover,
.first-header-login-exit a:focus{
    color: #ffffff;
    border-radius: 9999px;
    padding: 5px 16px 5px 16px;
    text-decoration: none;
    background-color: #00bf6f;
    font-size: 16px;
    float: left;
}

.first-header-login-exit ul{
    float: left;
}

/* Mobile sheet styles (<= 767px) */

@media (max-width: 767px){
    .first-header-login-exit a,
    .first-header-login-exit a:hover,
    .first-header-login-exit a:focus{
        font-size: 15px;
    }
}

/* Cart Icon */

.header-cart-icon .cart--cart-block{
    float: left;
}

.header .header-cart-icon .cart-block--summary__icon img,
.header .header-cart-icon .cart-block--summary__icon svg{
    width: 40px !important;
    height: 40px !important;
}

.header-cart-icon .cart-block--summary__count{
    font-family: IRANSansX;
    font-weight: normal;
    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";
}

/* badge تعداد کالاها */

.cart-block--summary__count{
    position: absolute;
    top: -6px;
    right: -6px;
    background: #00bf6f;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    z-index: 10;
}

/* مرجع موقعیت برای badge */

.cart-block--summary,
.cart-block--summary a{
    position: relative;
}

/* فرم سرچ: کنترل پایه */

.first-header-search .form-control{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    height: 44px;
    padding: 8px 12px;
    font-size: 15px;
    background-color: rgb(245 245 247);
    border: none;
}

.form-item-search-api-fulltext{
    width: 100%;
    margin: 0 !important;
}

@media (max-width: 767px){
    .first-header{
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .second-header{
        padding-top: 10px !important;
        padding-bottom: 15px !important;
    }

    .first-header-search{
        margin-top: 10px !important;
    }

    .first-header-search form,
    .first-header-search .d-flex,
    .first-header-search .form-control{
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    /* اندازه آیکن سبد در موبایل کمی کوچکتر */

    .header .header-cart-icon .cart-block--summary__icon img,
    .header .header-cart-icon .cart-block--summary__icon svg{
        width: 34px !important;
        height: 34px !important;
    }

    /* badge موبایل */

    .cart-block--summary__count{
        top: -5px !important;
        right: -6px !important;
        min-width: 16px !important;
        height: 16px !important;
        font-size: 11px !important;
        padding: 0 5px !important;
    }
}







/* ==========================================================================
   Second Header
   ========================================================================== */

.second-header{
    padding-top: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid #e4e4e4;
    box-shadow: 0 7px 8px 0 rgba(0,0,0,.04);
}

.second-header-main-menu{
    padding-top: 15px;
    padding-bottom: 15px;
}

/* ==========================================================================
   HappySet Desktop Main Menu - RTL
   ========================================================================== */

@media (min-width:768px){

    .second-header-main-menu,
    .second-header-main-menu .region,
    .second-header-main-menu nav,
    .second-header-main-menu .block-menu{
        width: 100%;
        direction: rtl;
    }

    /* Main menu */

    .second-header-main-menu .navbar-nav{
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 0;
        direction: rtl;
        list-style: none;
    }

    .second-header-main-menu .nav-item{
        position: relative;
        list-style: none;
    }

    /* Main links */

    .second-header-main-menu .nav-link{
        display: flex;
        align-items: center;
        padding: 12px 18px;
        color: var(--color-text);
        font-size: 15px;
        font-weight: 500;
        white-space: nowrap;
        text-decoration: none;
        border-radius: var(--radius-md);
        transition: var(--transition);
    }

    /* Hover */

    .second-header-main-menu .nav-item:hover > .nav-link,
    .second-header-main-menu .nav-link:hover{
        color: var(--color-primary);
        background: var(--color-primary-light);
    }

    /* Active except home */

    .second-header-main-menu .nav-link.is-active:not(.first-menu-item),
    .second-header-main-menu .nav-link[aria-current="page"]:not(.first-menu-item){
        color: var(--color-primary);
        font-weight: 600;
    }

    /* Bootstrap arrow remove */

    .second-header-main-menu .dropdown-toggle::after{
        display: none;
    }

    /* FontAwesome arrow */

    .second-header-main-menu .dropdown-toggle .fas{
        margin-right: 6px;
        transition: transform .25s ease;
    }

    .second-header-main-menu .dropdown:hover > .dropdown-toggle .fas{
        transform: rotate(180deg);
    }
    
    .second-header-main-menu .dropdown:hover > .dropdown-toggle .fas,
    .second-header-main-menu .dropdown.active > .dropdown-toggle .fas{
        transform: rotate(180deg);
    }

    /* ==========================================================================
       Level 1 Dropdown
       ========================================================================== */

    .second-header-main-menu .dropdown-menu{
        display: block;
        position: absolute;
        top: calc(100% - 1px);
        right: 0;
        left: auto;
        min-width: 230px;
        margin: 0;
        padding: 8px 0;
        background: var(--color-bg);
        border: 1px solid var(--color-border);
        border-radius: var(--color-radius-md);
        box-shadow: var(--shadow-md);
        direction: rtl;
        text-align: right;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        pointer-events: none;
        transition:
            opacity .2s ease,
            transform .2s ease,
            visibility .2s ease;
        z-index: 1000;
    }

    .second-header-main-menu .dropdown:hover > .dropdown-menu{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .second-header-main-menu .dropdown-menu > li{
        position: relative;
    }

    .second-header-main-menu .dropdown-menu > li > a{
        display: flex;
        align-items: center;
        justify-content: flex-start;
        color: var(--color-text);
        font-size: 14px;
        text-decoration: none;
        white-space: nowrap;
        transition: var(--transition);
        width: 100%;
        box-sizing: border-box;
    }



/* ==========================================================================
   Level 2 Dropdown
   ========================================================================== */

.second-header-main-menu .dropdown-menu .dropdown-menu{
    top: -1px;
    right: calc(100% - 1px) !important;
    left: auto !important;
    min-width: 250px;
    margin: 0;
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    pointer-events: none;
    z-index: 1050;
}

/* Bridge to keep hover alive */

.second-header-main-menu .dropdown-menu .dropdown-menu:before{
    content: "";
    position: absolute;
    top: 0;
    right: -8px;
    width: 8px;
    height: 100%;
}

.second-header-main-menu .dropdown-menu .dropdown:hover > .dropdown-menu{
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

/* Level 2 arrow */

.second-header-main-menu .dropdown-menu .dropdown-toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.second-header-main-menu .dropdown-menu .dropdown-toggle::after{
    content: "\f104";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    margin-right: auto;
}

/* Level 2 links */

.second-header-main-menu .dropdown-menu .dropdown-menu > li > a{
    text-align: right;
}

/* Remove unwanted Bootstrap hover */

.second-header-main-menu .dropdown-item:hover,
.second-header-main-menu .dropdown-item:focus{
    background: transparent;
}

}



/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767px){
    .second-header-main-menu{
        display: none !important;
    }
}

.second-header-main-menu .navbar-nav > li > a{
    border-radius: 12px;
    transition: all .22s ease;
}

.second-header-main-menu .navbar-nav > li > a:hover{
    background: #eafcf3;
    color: var(--color-primary);
}


/* ==========================================================================
   Menu Polish
   ========================================================================== */

/* Main menu */

.second-header-main-menu .navbar-nav > li > a{
    border-radius: 12px;
    transition: all .22s ease;
}

.second-header-main-menu .navbar-nav > li > a:hover{
    background: var(--menu-hover-l1);
    color: var(--color-primary);
}

.second-header-main-menu .navbar-nav > li.active > a,
.second-header-main-menu .navbar-nav > li > a.active,
.second-header-main-menu .navbar-nav > li > a.is-active,
.second-header-main-menu .navbar-nav > li > a[aria-current="page"]{
    background: var(--menu-hover-l1);
    color: var(--color-primary);
    font-weight: 600;
}

/* Dropdown */

.second-header-main-menu .dropdown-menu{
    padding: 8px 0;
    border-radius: 14px;
}

.second-header-main-menu .dropdown-menu .dropdown-menu{
    border-radius: 14px;
}

/* All dropdown items */

.second-header-main-menu .dropdown-menu > li{
    position: relative;
}

/* Links */

.second-header-main-menu .dropdown-menu > li > a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 10px;
    transition: .18s ease;
}

/* ===========================
   Level 1 Hover
   =========================== */

.second-header-main-menu > nav .dropdown-menu > li > a:hover,
.second-header-main-menu > nav .dropdown-menu > li:hover > a{
    background: var(--menu-hover-l1);
    color: var(--color-primary);
}

/* ===========================
   Level 2 Hover
   =========================== */

.second-header-main-menu .dropdown-menu .dropdown-menu > li > a:hover,
.second-header-main-menu .dropdown-menu .dropdown-menu > li:hover > a{
    color: var(--color-primary);
}

/* ===========================
   Level 3 Hover
   اگر بعدا اضافه شد
   =========================== */

.second-header-main-menu .dropdown-menu .dropdown-menu .dropdown-menu > li:hover > a{
    background: var(--menu-hover-l3);
}

/* Indicator */

.second-header-main-menu .dropdown-menu > li:hover > a::before{
    transform: scaleY(1);
}

/* Level 2 position */

.second-header-main-menu .dropdown-menu > .dropdown-item > .dropdown-menu{
    top: -9px;
    right: calc(100% - 1px);
    left: auto;
}

/* Level 2 animation */

.second-header-main-menu .dropdown-menu .dropdown-menu{
    opacity: 0;
    visibility: hidden;
    transform: translateX(8px);
    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s;
}

.second-header-main-menu .dropdown-menu > .dropdown-item:hover > .dropdown-menu{
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.second-header-main-menu .dropdown-menu > li{
    position: relative;
    transition: background .2s ease;
}

.second-header-main-menu .dropdown-menu > li:hover{
    background: #eafcf3;
}

.second-header-main-menu .dropdown-menu > li:hover > a{
    color: var(--color-primary);
}

.second-header-main-menu .dropdown-menu > li.active{
    background:#eafcf3;
}

.second-header-main-menu .dropdown-menu > li.active > a,
.second-header-main-menu .dropdown-menu > li > a.active,
.second-header-main-menu .dropdown-menu > li > a.is-active,
.second-header-main-menu .dropdown-menu > li > a[aria-current="page"]{
    color:var(--color-primary);
}

.second-header-main-menu .dropdown-menu > li::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3px;
    background: var(--color-primary);
    opacity: 0;
    transition: opacity .2s ease;
}

.second-header-main-menu .dropdown-menu > li:hover::before{
    opacity: 1;
}

.second-header-main-menu .dropdown-menu > li.active::before{
    opacity:1;
}

.second-header-main-menu .dropdown-menu > li > a{
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 18px;
    box-sizing: border-box;
}


.second-header-main-menu a.first-menu-item.active,
.second-header-main-menu a.first-menu-item.is-active,
.second-header-main-menu a.first-menu-item[aria-current="page"]{
    background: transparent !important;
    color: var(--color-text) !important;
    font-weight: 500 !important;
}

.second-header-main-menu a.first-menu-item:hover{
    background: var(--menu-hover-l1) !important;
    color: var(--color-primary) !important;
}















/* ==========================================================================
   Mobile Menu
   ========================================================================== */
.responsive-menu-toggle-icon::before, .responsive-menu-toggle-icon::after, .responsive-menu-toggle-icon span.icon{
    background: #525252 !important;
}

.responsive-menu-toggle-icon span.label{
    display: none !important;
}

.responsive-menu-toggle-icon:before, .responsive-menu-toggle-icon:after, .responsive-menu-toggle-icon span.icon {
    width: 22px;
    height: 2px;
}

.responsive-menu-toggle-icon span.icon {
    top: 17px;
}

.responsive-menu-toggle-icon:before {
    top: 9px;
}
    
.responsive-menu-toggle-icon:after {
    top: 25px;
}

.mm-listitem__btn:not(.mm-listitem__text):hover{
    border: 1px solid #fff !important;
}

































/* ==========================================================================
   Slider
   ========================================================================== */

.slider{
  padding:30px 0 10px;
}

.slider-row{
  display:flex;
  gap:11px;
}

/* ==========================================================================
   Desktop
   ========================================================================== */

@media (min-width:768px){

  .slider-1{
    flex:2;
    aspect-ratio:2/1;
  }

  .slider-2{
    flex:1;
    aspect-ratio:1/1;
  }

}

/* ==========================================================================
   Slider Wrapper
   ========================================================================== */

.slider-1,
.slider-2{
  overflow:hidden;
  border-radius:16px;
}

/* جلوگیری از بیرون زدن اسلایدها */

.slider-1 .owl-stage-outer,
.slider-2 .owl-stage-outer{
  overflow:hidden;
  border-radius:16px;
}

.slider-1 .owl-carousel,
.slider-2 .owl-carousel,
.slider-1 .owl-stage-outer,
.slider-2 .owl-stage-outer,
.slider-1 .owl-stage,
.slider-2 .owl-stage,
.slider-1 .owl-item,
.slider-2 .owl-item{
  height:100%;
}

/* ==========================================================================
   Slide
   ========================================================================== */

.slide-item{
  position:relative;
  width:100%;
  height:100%;
}

/* تصویر */

.slide-image{
  width:100%;
  height:100%;
}

.slide-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ==========================================================================
   Overlay
   ========================================================================== */

.slide-overlay{
  position:absolute;
  inset:0;
  z-index:1;
}

.slide-item.position-right .slide-overlay{
  background:linear-gradient(
    to left,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.25) 35%,
    transparent 70%
  );
}

.slide-item.position-left .slide-overlay{
  background:linear-gradient(
    to right,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.25) 35%,
    transparent 70%
  );
}

/* ==========================================================================
   Content
   ========================================================================== */

.slide-content{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:min(460px,42%);
}

/* سمت راست */

.slide-item.position-right .slide-content{
  right:6%;
  text-align:right;
}

/* سمت چپ (متن همچنان فارسی و راست‌چین) */

.slide-item.position-left .slide-content{
  left:6%;
  text-align:right;
}

/* ==========================================================================
   Typography
   ========================================================================== */

.slide-title{
  margin-bottom:14px;
  color:#fff;
  font-size:clamp(28px,2.6vw,46px);
  font-weight:800;
  line-height:1.2;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}

.slide-body{
  margin-bottom:24px;
  color:#fff;
  font-size:clamp(15px,1.1vw,19px);
  line-height:1.8;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

.slide-body p{
  margin:0;
}

/* ==========================================================================
   Button
   ========================================================================== */

.slide-button a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  height:40px;
  padding:0 20px;
  background:#00bf6f;
  color:#fff;
  border-radius:40px;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:
    background .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.slide-button a:hover{
  background:#00a761;
  color:#fff;
  transform:translateY(-2px);
}

/* ==========================================================================
   Dots
   ========================================================================== */

.slider .owl-theme .owl-nav.disabled + .owl-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  z-index:5;
  display:flex;
  justify-content:center;
  margin:0;
  padding:0;
  list-style:none;
}

.slider .owl-theme .owl-dots .owl-dot span{
  width:8px;
  height:8px;
  margin:5px 7px;
  display:block;
  background:rgb(83,80,72);
  border:1px solid rgb(2,4,2);
  border-radius:30px;
  transition:opacity .2s ease;
  -webkit-backface-visibility:visible;
}

.slider .owl-theme .owl-dots .owl-dot.active span{
  width:25px;
  background:#fff;
  transition: width .35s ease;
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width:991px){

  .slide-content{
    width:50%;
  }

}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767px){

  .slider{
    padding-top:20px;
  }

  .slider-row{
    display:block;
  }

  .slider-1{
    border-radius:12px;
  }

  .slider-1 .owl-stage-outer{
    border-radius:12px;
  }

  .slide-content{
    width:85%;
    right:20px !important;
    left:auto !important;
    top:auto;
    bottom:55px;
    transform:none;
    text-align:right;
  }

  .slide-title{
    font-size:24px;
    margin-bottom:10px;
  }

  .slide-body{
    font-size:14px;
    margin-bottom:16px;
  }

  .slide-button a{
    min-width:110px;
    height:36px;
    padding:0 18px;
    font-size:13px;
  }

  .slider .owl-theme .owl-nav.disabled + .owl-dots{
    bottom:6px;
  }

}



/* ==========================================================================
   Slider Animation
   ========================================================================== */

/* جلوگیری از بیرون زدن تصویر هنگام زوم */

.slider .owl-stage-outer,
.slider .owl-item,
.slide-image{
  overflow:hidden;
}

/* تصویر */

.slide-image img{
  transform:scale(1);
  transition:transform 6s linear;
  will-change:transform;
}

/* فقط اسلاید فعال */

.current-slide .slide-image img{
  transform:scale(1.06);
}

/* Hover فقط روی دستگاه‌های دارای موس */

@media (hover:hover){

  .slider:hover .current-slide .slide-image img{
    transform:scale(1.09);
  }

}

/* ==========================================================================
   Overlay
   ========================================================================== */

.slide-overlay{
  opacity:.88;
  transition:opacity .5s ease;
}

.current-slide .slide-overlay{
  opacity:1;
}

/* ==========================================================================
   Initial State
   ========================================================================== */

.slide-title,
.slide-body{
  opacity:0;
  transform:translateY(35px);
  filter:blur(10px);
}

.slide-button{
  opacity:0;
  transform:scale(.75);
}

/* ==========================================================================
   Animation Trigger (JS)
   ========================================================================== */

.slide-title.animate{
  animation:slideTitle .75s cubic-bezier(.22,.61,.36,1) forwards;
}

.slide-body.animate{
  animation:slideBody .75s cubic-bezier(.22,.61,.36,1) .18s forwards;
}

.slide-button.animate{
  animation:slideButton .55s cubic-bezier(.22,.61,.36,1) .45s forwards;
}

/* ==========================================================================
   Keyframes
   ========================================================================== */

@keyframes slideTitle{

  from{
    opacity:0;
    filter:blur(10px);
    transform:translateY(40px);
  }

  to{
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
  }

}

@keyframes slideBody{

  from{
    opacity:0;
    filter:blur(8px);
    transform:translateY(25px);
  }

  to{
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
  }

}

@keyframes slideButton{

  0%{
    opacity:0;
    transform:scale(.75);
  }

  70%{
    opacity:1;
    transform:scale(1.08);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }

}

/* ==========================================================================
   Button Shine
   ========================================================================== */

.slide-button a{
  position:relative;
  overflow:hidden;
}

.slide-button a::before{

  content:"";
  position:absolute;
  top:0;
  left:-140%;
  width:45%;
  height:100%;

  background:linear-gradient(
    110deg,
    transparent,
    rgba(255,255,255,.55),
    transparent
  );

}

.slide-button.animate a::before{
  animation:buttonShine 3.8s ease-in-out 1.5s infinite;
}

@keyframes buttonShine{

  0%{
    left:-140%;
  }

  45%{
    left:170%;
  }

  100%{
    left:170%;
  }

}

/* ==========================================================================
   Button Hover
   ========================================================================== */

@media (hover:hover){

  .slide-button a:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(0,191,111,.35);
  }

}













/* ==========================================================================
    Newest Products
   ========================================================================== */

.newest-products{
  padding-top: 10px;
  padding-bottom: 10px;
}

































/* ==========================================================================
   Section Title
   ========================================================================== */

.section-title {
    text-align: center;
}

.section-title-front-page {
    margin-bottom: 45px;
    padding-top: 10px;
}

.section-title-other-page {
    margin-bottom: 45px;
    padding-top: 10px;
}

.section-title__heading {
    margin: 0;
    color: var(--color-text);
    font-family: IRANSansX;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.3px;
}

.section-title__divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 16px;
}

.section-title__divider span {
    width: 72px;
    height: 2px;
    background: var(--color-primary);
    border-radius: 50px;
    opacity: 0.25;
    transition: 0.35s;
}

.section-title__divider i {
    display: block;
    width: 12px;
    height: 12px;
    background: var(--color-primary);
    border-radius: 2px;
    transform: rotate(45deg);
    transition: 0.35s;
}


/* ==========================================================================
   Hover
   ========================================================================== */

.section-title:hover .section-title__divider span {
    width: 90px;
    opacity: 1;
}

.section-title:hover .section-title__divider i {
    transform: rotate(225deg);
}


/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 991px) {

    .section-title-front-page {
        margin-bottom: 34px;
    }
    
    .section-title-other-page {
    margin-bottom: 34px;
    }

    .section-title__heading {
        font-size: 28px;
    }

}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 575px) {

    .section-title-front-page {
        margin-bottom: 28px;
    }
    
    .section-title-other-page {
        margin-bottom: 28px;
    }

    .section-title__heading {
        font-size: 24px;
    }

    .section-title__divider span {
        width: 50px;
    }

}






















/* ==========================================================================
   Section Action Button
   ========================================================================== */

.section-action{
    margin-top:32px;
}

.section-action__button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    width:100%;
    height:44px;

    padding:0 24px;

    border:2px solid var(--color-primary);
    border-radius:14px;

    background:#fff;

    color:var(--color-primary);
    text-decoration:none;

    font-family:IRANSansX;
    font-size:15px;
    font-weight:500;

    transition:
        background-color .30s ease,
        color .30s ease,
        border-color .30s ease,
        box-shadow .30s ease,
        transform .30s ease;
}

.section-action__button:hover{
    background:var(--color-primary);
    border-color:var(--color-primary);

    color:#fff;
    text-decoration:none;

    box-shadow:0 10px 24px rgba(0,191,111,.20);

}

/* Arrow */

.section-action__icon{
    position:relative;

    width:18px;
    height:2px;

    background:currentColor;
    border-radius:2px;

    transition:transform .30s ease;
}

.section-action__icon::before,
.section-action__icon::after{
    content:"";

    position:absolute;
    left:0;

    width:8px;
    height:2px;

    background:currentColor;
    border-radius:2px;
}

.section-action__icon::before{
    top:-3px;
    transform:rotate(-45deg);
}

.section-action__icon::after{
    top:3px;
    transform:rotate(45deg);
}

.section-action__button:hover .section-action__icon{
    transform:translateX(-6px);
}






























/* ==========================================================================
   Product Card
   ========================================================================== */

.product-card{
  position:relative;
  background:#fff;
  border:1px solid #ececec;
  border-radius:16px;
  overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.product-card:hover{
  border-color:#00bf6f;
  box-shadow:none;
}

.views-view-grid {
    row-gap: 24px;
}

/* ==========================================================================
   Image
   ========================================================================== */

.product-card__image{
  position:relative;
  overflow:hidden;
}

.product-card__image > a{
  display:block;
}

.product-card__image img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .45s ease;
}

@media (hover:hover) and (pointer:fine){

  .product-card:hover .product-card__image img{
    transform:scale(1.06);
  }

}


/* ==========================================================================
   Badge
   ========================================================================== */

.product-card__badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
}

.product-card__badge a{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border-radius:20px;
  background:#e4ffeb;
  color:#41bd64;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}


/* ==========================================================================
   Colors
   ========================================================================== */

.product-card__colors{
  position:absolute;
  top:12px;
  left:12px;
  z-index:5;
}

.happyset-color-swatches{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}

.happyset-color{
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 1px 3px rgba(0,0,0,.12);
}

.happyset-more{
  display:flex;
  align-items:center;
  gap:1px;
  margin-top:2px;
  font-size:11px;
  font-weight:700;
  line-height:1;
  color:#666;
  direction: ltr;

  font-family:IRANSansX;
  -moz-font-feature-settings:"ss01";
  -webkit-font-feature-settings:"ss01";
  font-feature-settings:"ss01";
}


/* ==========================================================================
   Body
   ========================================================================== */

.product-card__body{
  padding:14px 16px 18px;
}


/* ==========================================================================
   Brand
   ========================================================================== */

.product-card__brand{
  margin-bottom:8px;
}

.product-card__brand a{
  font-size:13px;
  color:#777;
  text-decoration:none;
  transition:color .2s ease;
}

.product-card__brand a:hover{
  color:#00bf6f;
}


/* ==========================================================================
   Title
   ========================================================================== */

.product-card__title{
  margin:0 0 14px;
  font-size:15px;
  font-weight:700;
  line-height:1.8;
  height:54px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

.product-card__title a{
  color:#222;
  text-decoration:none;
  transition:color .2s ease;
}

.product-card__title a:hover{
  color:#00bf6f;
}


/* ==========================================================================
   Price
   ========================================================================== */

.product-card__price{
  color:#00bf6f;
  font-size:18px;
  font-weight:800;
  line-height:1.4;

  font-family:IRANSansX;
  -moz-font-feature-settings:"ss01";
  -webkit-font-feature-settings:"ss01";
  font-feature-settings:"ss01";
}


/* ==========================================================================
   Owl Fix
   ========================================================================== */

.owl-carousel .owl-item img{
  display:block;
  width:100%;
  height:auto;
}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767px){

  .product-card__badge{
    top:8px;
    right:8px;
  }

  .product-card__badge a{
    height:24px;
    padding:0 8px;
    font-size:10px;
  }

  .product-card__colors{
    top:8px;
    left:8px;
  }

}































/* ==========================================================================
   Category Banners
   ========================================================================== */

.category-banners{
  margin:50px 0;
}

.category-banner{
  display:block;
  overflow:hidden;
  border-radius:18px;
}

.category-banner picture,
.category-banner img{
  display:block;
  width:100%;
}

.category-banner img{
  transition:
    transform .45s ease,
    opacity .35s ease;
}

.category-banner:hover img{
  transform:scale(1.03);
  opacity:.92;
}

@media (max-width:767.98px){

  .category-banners{
    margin:35px 0;
  }

  .category-banner{
    border-radius:14px;
  }

}


















/* ==========================================================================
   Category Showcase
   ========================================================================== */

.category-showcase{
    padding-top: 10px;
    padding-bottom: 10px;
}

.category-showcase__header{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:20px;

    margin-bottom:28px;

    border-bottom:3px solid #e8ece9;
}

.category-showcase__title{
    flex-shrink:0;

    margin-bottom:-3px;

    border-bottom:3px solid #00bf6f;
}

.category-showcase__heading{
    margin:0;
    padding-bottom:10px;

    color:#212529;
    font-size:1rem;
    font-weight:700;
    line-height:1.3;
}
  

.category-showcase__action{
    display:inline-flex;
    align-items:center;
    gap:8px;

    flex-shrink:0;

    padding-bottom:10px;

    color:#212529;
    font-size:1rem;
    font-weight:700;
    line-height:1.3;
    text-decoration:none;

    transition:color .25s ease;
}

.category-showcase__action:hover{
    color:#00bf6f;
}

.category-showcase__icon{
    position:relative;
    width:18px;
    height:18px;
    flex-shrink:0;
}

.category-showcase__icon::before{
    content:"";

    position:absolute;

    top:50%;
    left:50%;

    width:7px;
    height:7px;

    border-top:2px solid currentColor;
    border-left:2px solid currentColor;

    transform:translate(-35%,-50%) rotate(-45deg);

    transition:transform .25s ease;
}

.category-showcase__action:hover .category-showcase__icon::before{
    transform:translate(-55%,-50%) rotate(-45deg);
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767.98px){

    .category-showcase__header{
        gap:12px;
        margin-bottom:22px;

        border-bottom-width:2px;
    }

    .category-showcase__title{
        margin-bottom:-2px;
        border-bottom-width:2px;
    }

    .category-showcase__heading{
        padding-bottom:8px;
        font-size:.9rem;
    }

    .category-showcase__action{
        gap:6px;
        padding-bottom:8px;
        font-size:.9rem;
    }

}






/* ==========================================================================
    Latest Articles 
   ========================================================================== */

.latest-articles{
  padding-top: 40px;
  padding-bottom: 50px;
}

@media (max-width: 767.98px) {
    .latest-articles{
      padding-top: 25px;
      padding-bottom: 35px;
    }
  }



/* ==========================================================================
   Article Card
   ========================================================================== */

.article-card {
  background: #fff;
  border: 1px solid #eeeeee;
  border-radius: 14px;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 3px 12px rgba(0,0,0,.04);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  direction: rtl;
}


.article-card:hover {
  transform: translateY(-5px);
  border-color: #e2e2e2;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}


/* Image
   ========================================================================== */

.article-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}


.article-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}


.article-card:hover .article-card__image img {
  transform: scale(1.05);
}


/* Body
   ========================================================================== */

.article-card__body {
  padding: 18px;
}


/* Title
   ========================================================================== */

.article-card__title {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.8;
  font-weight: 700;
  min-height: 65px;
}


.article-card__title a {
  color: #222;
  text-decoration: none;
  transition: color .25s ease;
}


.article-card__title a:hover {
  color: #00bf6f;
}



/* Meta
   ========================================================================== */

.article-card__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 13px;
  color: #777;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
}


.article-card__meta span {
  display: flex;
  align-items: center;
  gap: 6px;
}


/* Persian numbers for date */
.article-card__date {
  font-family: IRANSansX;
  -moz-font-feature-settings: "ss01";
  -webkit-font-feature-settings: "ss01";
  font-feature-settings: "ss01";
}


.article-card__meta i {
  color: #00bf6f;
  font-size: 13px;
}



/* Summary
   ========================================================================== */

.article-card__summary {
  color: #555;
  font-size: 14px;
  line-height: 2;
  height: 58px;
  overflow: hidden;
  margin-bottom: 15px;
}


.article-card__summary p {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}



/* More Link
   ========================================================================== */

.article-card__more {
  text-align: left;
}


.article-card__more a {
  display: inline-flex;
  align-items: center;
  color: #00bf6f;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color .25s ease;
}


.article-card__more a:hover {
  color: #009957;
}


/* Owl Fix
   ========================================================================== */

.latest-articles .owl-stage {
  display: flex;
}

.latest-articles .owl-item {
  display: flex;
}

.latest-articles .owl-item > div {
  width: 100%;
}























/* ==========================================================================
   Shop Features
   ========================================================================== */

.shop-features{
    padding-top: 10px;
    padding-bottom: 50px;
}


.shop-feature{

    display:flex;
    flex-direction:column;
    align-items:center;

    height:100%;

    padding:25px 20px;

    position:relative;

    text-align:center;
    text-decoration:none;

    transition:.3s ease;
}


/* ==========================================================================
   Desktop Separator
   ========================================================================== */

@media(min-width:992px){

    .shop-feature:not(:last-child)::after{

        content:"";

        position:absolute;

        left:0;
        top:25%;

        width:1px;
        height:50%;

        background:#edf2ef;

    }

}


/* ==========================================================================
   Icon
   ========================================================================== */

.shop-feature__icon{

    display:flex;

    align-items:center;
    justify-content:center;

    width:68px;
    height:68px;

    margin-bottom:18px;

    border-radius:50%;

    background:#f0fbf6;

    color:#00bf6f;

    font-size:28px;

    transition:.35s ease;

}


.shop-feature:hover .shop-feature__icon{

    background:#00bf6f;

    color:#fff;

    transform:translateY(-5px);

}


/* ==========================================================================
   Title
   ========================================================================== */

.shop-feature__title{

    margin:0 0 8px;

    color:#212529;

    font-size:1.1rem;

    font-weight:700;

    transition:.25s ease;

}


.shop-feature:hover .shop-feature__title{

    color:#00bf6f;

}


/* ==========================================================================
   Text
   ========================================================================== */

.shop-feature__text{

    margin:0;

    color:#868e96;

    font-size:.9rem;

    line-height:1.7;

}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media(max-width:991.98px){

    .shop-features{

        padding-top: 10px;
        padding-bottom: 35px;

    }


    .shop-feature{

        padding:20px 12px;

    }


    /*
       Mobile custom separators
       Only elements with shop-feature--divider class
    */

    .shop-feature--divider::after{

        content:"";

        position:absolute;

        left:0;

        top:25%;

        width:1px;

        height:50%;

        background:#edf2ef;

    }

}


/* ==========================================================================
   Small Mobile
   ========================================================================== */

@media(max-width:575.98px){

    .shop-feature__icon{

        width:58px;
        height:58px;

        font-size:23px;

    }


    .shop-feature__title{

        font-size:1rem;

    }


    .shop-feature__text{

        font-size:.82rem;

    }

}




























/* ==========================================
   Footer Social Bar
========================================== */

.footer-social-bar {
    background:
        linear-gradient(
            180deg,
            rgba(0, 191, 111, 0.16) 0%,
            rgba(0, 191, 111, 0.07) 45%,
            rgba(255,255,255,1) 100%
        );

    padding: 48px 0 28px;
}


.footer-social-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

/* Text */

.footer-social-text {
    flex: 1;
}

.footer-social-text h3 {
    margin: 0 0 10px;
    font-size: 1.75rem;
    font-weight: 800;
    color: #1b1b1b;
    line-height: 1.3;
}

.footer-social-text p {
    margin: 0;
    font-size: 1rem;
    color: #707070;
    line-height: 1.9;
    max-width: 520px;
}

/* Icons */

.footer-social-icons {
    list-style: none;
    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.footer-social-icons li {
    margin: 0;
}

.footer-social-icons a {
    width: 60px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #f6f7f8;

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.footer-social-icons a:hover {
    background: #00bf6f;
    transform: translateY(-4px);

    box-shadow: 0 12px 28px rgba(0,191,111,.18);
}

.footer-social-icons img {
    width: 28px;
    height: 28px;

    display: block;

    transition: filter .25s ease;
}


/* ==========================================
   Divider
========================================== */

.footer-divider {
    position: relative;

    margin-top: 42px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-divider__line {
    position: absolute;
    inset-inline: 0;

    height: 1px;
    background: #e8e8e8;
}

.footer-divider__logo {
    position: relative;
    z-index: 2;

    width: 97px;
    height: 97px;

    background: #fff;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    
    box-shadow: 0 1px 6px rgba(0,0,0,.04);
}

.footer-divider__logo img {
    width: 97px;
    height: auto;
    display: block;
}


/* ==========================================
   Tablet
========================================== */

@media (max-width:991px) {

    .footer-social-bar {
        padding-top: 40px;
    }

    .footer-social-top {
        gap: 28px;
    }

    .footer-social-text h3 {
        font-size: 1.45rem;
    }

}


/* ==========================================
   Mobile
========================================== */

@media (max-width:767px) {

    .footer-social-top {

        flex-direction: column;
        text-align: center;

        gap: 26px;
    }

    .footer-social-text p {
        max-width: none;
    }

    .footer-social-icons {
        justify-content: center;
    }

    .footer-social-icons a {
        width: 54px;
        height: 54px;
        border-radius: 16px;
    }

    .footer-social-icons img {
        width: 24px;
    }

    .footer-divider {
        margin-top: 32px;
    }

    .footer-divider__logo {
        width: 72px;
        height: 72px;
        box-shadow: 0 1px 6px rgba(0,0,0,.04);
    }

    .footer-divider__logo img {
        width: 72px;
    }

}
































/* Footer Columns */
.footer-b {
    background:#fff;
    padding:45px 0;
}

.footer-b .row {
    row-gap:30px;
}

.footer-b-col1,
.footer-b-col2,
.footer-b-col3,
.footer-b-col4 {
    padding-left:25px;
    padding-right:25px;
}


/* Titles */
.footer-b h4 {
    margin:0 0 20px;
    padding-bottom:10px;
    position:relative;
    font-size:1.05rem;
    font-weight:800;
    color:#222;
}

.footer-b h4::after {
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:35px;
    height:3px;
    border-radius:10px;
    background:#00bf6f;
}


/* Menus */
.footer-b nav ul {
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:11px;
}

.footer-b nav ul li {
    margin:0;
}

.footer-b nav ul li a {
    display:flex;
    align-items:center;
    padding:0;
    color:#666;
    font-size:.95rem;
    text-decoration:none;
    transition:.25s;
}

.footer-b nav ul li a:hover, .footer-b nav ul li a:focus {
    color:#00bf6f;
    transform:translateX(-4px);
}


/* Contact */
.footer-contact {
    display:flex;
    flex-direction:column;
    gap:16px;
}

.contact-item {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
}

.contact-icon {
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(0,191,111,.1);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.contact-icon i {
    color:#00bf6f;
    font-size:16px;
}

.contact-content {
    display:flex;
    flex-direction:column;
}

.contact-title {
    font-size:.8rem;
    color:#888;
}

.contact-value {
    font-size:.95rem;
    font-weight:600;
    color:#333;
    direction:ltr;
}


/* Mobile */
@media(max-width:767px){

    .footer-b {
        padding:35px 0;
    }

    .footer-b-col1,
    .footer-b-col2,
    .footer-b-col3,
    .footer-b-col4 {
        padding-left:12px;
        padding-right:12px;
    }

}






















/* ==========================================
   Footer Trust Logos
========================================== */

.footer-trust {
    background:#fff;
    padding:10px 0 10px;
}

.border-footer {
    display:block;
    width:100%;
    height:1px;
    background:#e8e8e8;
    margin-bottom:0;
}


.footer-trust-logos {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    flex-wrap:wrap;
    padding: 30px 0;
}


.trust-link {
    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    transition:transform .25s ease;
}


.trust-link:hover {
    transform:translateY(-4px);
}


.trust-logo {
    width:auto;
    max-width:120px;
    height:70px;

    object-fit:contain;

    display:block;

    transition:filter .25s ease;
}


/* در صورت تمایل کمی کم‌رنگ‌تر در حالت عادی */
.trust-link:not(:hover) .trust-logo {
    opacity:.9;
}


/* ==========================================
   Tablet
========================================== */

@media(max-width:991px){

    .footer-trust {
        padding-bottom:10px;
    }

    .footer-trust-logos {
        gap:22px;
        padding: 22px 0;
    }

    .trust-logo {
        height:60px;
        max-width:110px;
    }

}


/* ==========================================
   Mobile
========================================== */

@media(max-width:575px){

    .border-footer {
        margin-bottom:0;
    }

    .footer-trust-logos {
        gap:18px;
        padding: 20px 0;
    }

    .trust-logo {
        height:55px;
        max-width:95px;
    }

}





/* ==========================================
   Footer Copyright
========================================== */

.footer-c {
    background:#fff;
    padding:8px 0;
}

.copyright-text {
    text-align:right;
}

.copyright-text p {
    margin:0;
    font-size:.85rem;
    color:#777;
    line-height:1.8;
}

.copyright-text a {
    color:inherit;
    text-decoration:none;
    transition:color .25s ease;
}

.copyright-text a:hover {
    color:#00bf6f;
}


.footer-made {
    text-align:left;
    color:#888;
    font-size:.85rem;
}

.footer-made i {
    color:#e63946;
    margin-right:5px;
    font-size:.9rem;
}


/* Mobile */

@media(max-width:767px){

    .copyright-text,
    .footer-made {
        text-align:center;
    }

    .footer-made {
        margin-top:8px;
    }

}





















/* Other Pages */
.other-page-top-bar{
    padding-top: 30px;   
    padding-bottom: 10px;
}

.other-page-top-bar .alert-success {
    color: #00bf6f;
    background-color: #fff;
    border-color: #f2f2f2;
    box-shadow: 0 0 18px 0 rgba(0,0,0,.09);
}

.other-page-top-bar .alert-success a {
    color: #525252;
    border-radius: 9999px;
    padding: 5px 16px 5px 16px;
    background-color: #f7f7f7;
    font-size: 15px;
}

/* Mobile sheet styles (<= 767px) */
@media (max-width: 767px) {
    .other-page-top-bar .alert-success {
        font-size: 15px;
        line-height: 26px;
    }
    
    .other-page-top-bar .alert-success a {
        font-size: 14px;
    } 

}

.content-other-pages{
    padding-bottom: 15px;
    padding-top: 15px;
}



.basic-pages .content-other-pages p {
  margin: 0 0 24px;
  color: #444;
  font-family: IRANSansX;
  font-size: 15px;
  font-weight: 400;
  line-height: 2.25;
  text-align: justify;
}

.basic-pages .content-other-pages p a,
.basic-pages .content-other-pages li a {
  color: #333;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed #aaa;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.basic-pages .content-other-pages p a:hover,
.basic-pages .content-other-pages li a:hover {
  color: #00bf6f;
  border-color: #00bf6f;
}

.basic-pages .content-other-pages h2 {
  margin: 38px 0 16px;
  color: #222;
  font-family: IRANSansX;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.8;
}

.basic-pages .content-other-pages h3 {
  margin: 30px 0 14px;
  color: #222;
  font-family: IRANSansX;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.basic-pages .content-other-pages ul {
  margin: 0 0 24px;
  padding-right: 24px;
  padding-left: 0;
  color: #444;
  font-family: IRANSansX;
  font-size: 15px;
  line-height: 2.2;
}

.basic-pages .content-other-pages ul li {
  margin-bottom: 8px;
  padding-right: 4px;
}

.basic-pages .content-other-pages ul li:last-child {
  margin-bottom: 0;
}

.basic-pages .content-other-pages ul li p {
  margin: 0;
  font-size: 15px;
  line-height: 2.2;
}

.basic-pages .content-other-pages img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 28px auto;
  border-radius: 8px;
}


/* ==========================================================
   Mobile
   ========================================================== */

@media (max-width: 991.98px) {
  .basic-pages .content-other-pages p {
    margin-bottom: 22px;
    font-size: 14px;
    line-height: 2.2;
  }

  .basic-pages .content-other-pages p a,
  .basic-pages .content-other-pages li a {
    font-size: 14px;
  }

  .basic-pages .content-other-pages h2 {
    margin: 34px 0 14px;
    font-size: 19px;
    line-height: 1.8;
  }

  .basic-pages .content-other-pages h3 {
    margin: 28px 0 12px;
    font-size: 17px;
    line-height: 1.8;
  }

  .basic-pages .content-other-pages ul {
    margin-bottom: 22px;
    padding-right: 22px;
    font-size: 14px;
    line-height: 2.2;
  }

  .basic-pages .content-other-pages ul li p {
    font-size: 14px;
  }

}








/* Front Page Top Bar */
.front-page-top-bar {
    position: relative;
    top: 10px;
}

.front-page-top-bar .alert-success {
    color: #00bf6f;
    background-color: #fff;
    border-color: #f2f2f2;
    box-shadow: 0 0 18px 0 rgba(0,0,0,.09);
}

.front-page-top-bar .alert-success a {
    color: #525252;
    border-radius: 9999px;
    padding: 5px 16px 5px 16px;
    background-color: #f7f7f7;
    font-size: 15px;
}

/* Mobile sheet styles (<= 767px) */
@media (max-width: 767px) {
    .front-page-top-bar .alert-success {
        font-size: 15px;
        line-height: 26px;
    }
    
    .front-page-top-bar .alert-success a {
        font-size: 14px;
    } 

}
























/* Commerce Checkout */

.view-commerce-cart-form .views-field {
    color: #333 !important;
    font-family: IRANSansX;
    Font-weight: normal;
    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";
}

.view-commerce-cart-form .field--name-total-price {
    font-family: IRANSansX;
    Font-weight: normal;
    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";
}

.layout-checkout-form #edit-otp-login-submit {
    color: #fff;
    background-color: #00bf6f;
    border-color: #00bf6f;
    margin: 12px 0 12px 0;
    padding: 8px 0 8px 0;
    font-size: 15px;
    width: 100%;
    text-align: center;
}

.layout-checkout-form .otp-field-action-btn-verify {
    display: none !important;
}

.checkout-pane-order-summary {
    font-family: IRANSansX;
    Font-weight: normal;
    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";
}

.field--name-shipping-method .fieldset-legend {
    float: right;
}

.checkout-pane-shipping-information .fieldset-legend {
     font-size: 21px;
    font-weight: bold  
}

.field--name-shipping-method .field__label {
    font-size: 21px;
    font-weight: bold;
    text-align: start;
}

.field--name-shipping-method .field__item {
    font-size: 16px;
    text-align: start;
}

#edit-review-shipping-information .fieldset-legend {
    font-size: 21px;
    font-weight: bold
}

.layout-checkout-form .fieldset-legend {
    font-size: 21px;
    font-weight: bold
}

.layout-checkout-form h3 {
    font-size: 21px;
    font-weight: bold
}

.fieldset-wrapper > div:last-of-type {
    padding-right: 0px;
}

.view-commerce-cart-form .button {
    font-size: 1em;
}

.view-commerce-cart-form table.views-table thead th {
  text-align: center;
  vertical-align: middle;
}

.view-commerce-cart-form table.views-table tbody td {
  text-align: center;
  vertical-align: middle;
}


/* Hidden Payment Information Address in Commerce Checkout */
#edit-payment-information-billing-information {
  display: none !important;
}

#edit-review-payment-information .field--name-address {
    display: none;
}

fieldset.checkout-pane.checkout-pane-payment-information > legend > span.fieldset-legend {
    display: none !important;
}

.checkout-pane .js-filter-wrapper {
  display: none;
}

.checkout-pane .js-form-type-textarea label {
  font-size: 21px;
  font-weight: bold;
}




























/* =========================================================
   Product Size Guide
   ========================================================= */

.happyset-size-guide {
  display: block;
}

.happyset-size-guide__trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #00bf6f;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px dashed #aaa;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.happyset-size-guide__trigger:hover {
  color: #00bf6f;
  border-color: #00bf6f;
}

.happyset-size-guide__modal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.happyset-size-guide__modal[hidden] {
  display: none;
}

.happyset-size-guide__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.happyset-size-guide__dialog {
  position: relative;
  z-index: 1;
  width: min(700px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  direction: rtl;
}

.happyset-size-guide__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid #eee;
}

.happyset-size-guide__header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.happyset-size-guide__close {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #555;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.happyset-size-guide__close:hover {
  background: #f5f5f5;
}

.happyset-size-guide__content {
  padding: 22px;
}

.happyset-size-guide__content img {
  max-width: 100%;
  height: auto;
}

body.happyset-size-guide-open {
  overflow: hidden;
}


/* Mobile */
@media (max-width: 575.98px) {

  .happyset-size-guide__modal {
    padding: 12px;
  }

  .happyset-size-guide__dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    border-radius: 10px;
  }

  .happyset-size-guide__header {
    padding: 16px;
  }

  .happyset-size-guide__content {
    padding: 16px;
  }

}



























































/* ==========================================================================
   Product Features
   ========================================================================== */

.product-features {
  padding: 8px 0 25px;
}

.product-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  height: 100%;
  padding: 14px 10px;

  text-align: center;
  text-decoration: none !important;

  transition: color 0.2s ease;
}


/* ==========================================================================
   Icon
   ========================================================================== */

.product-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 50px;
  height: 50px;

  margin-bottom: 9px;

  border-radius: 50%;
  background: #f0fbf6;

  color: #00bf6f;
  font-size: 20px;

  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.product-feature:hover .product-feature__icon {
  background: #e3f8ef;
  color: #00a960;
}


/* ==========================================================================
   Title
   ========================================================================== */

.product-feature__title {
  margin: 0;

  color: #343a40;

  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.6;

  transition: color 0.2s ease;
}

.product-feature:hover .product-feature__title {
  color: #00bf6f;
}


/* ==========================================================================
   Mobile / Tablet
   ========================================================================== */

@media (max-width: 991.98px) {

  .product-features {
    padding: 5px 0 20px;
  }

  .product-feature {
    padding: 10px 5px;
  }

  .product-feature__icon {
    width: 38px;
    height: 38px;

    margin-bottom: 6px;

    font-size: 15px;
  }

  .product-feature__title {
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.5;
  }

}


/* ==========================================================================
   Small Mobile
   ========================================================================== */

@media (max-width: 575.98px) {

  .product-features {
    padding: 4px 0 16px;
  }

  .product-feature {
    padding: 8px 2px;
  }

  .product-feature__icon {
    width: 32px;
    height: 32px;

    margin-bottom: 5px;

    font-size: 13px;
  }

  .product-feature__title {
    font-size: 0.72rem;
    line-height: 1.4;
    white-space: nowrap;
  }

}




























/* ==========================================================
   PRODUCT PAGE — RIGHT / PRODUCT GALLERY
   ========================================================== */

.product-node-page .group-right {
  position: relative;
  width: 100%;
  padding-top: 6px;
}



/* ==========================================================
   PRODUCT GALLERY
   ========================================================== */

.product-node-page .group-right
.field--name-field-product-media-image {
  position: relative;

  width: 100%;
  margin: 0;
  padding: 0;
}


/* ----------------------------------------------------------
   Master gallery wrapper
   ---------------------------------------------------------- */

.product-node-page .group-right
#pg-combined-master-owl-robust {
  width: 100%;
  margin: 0;
  padding: 0;

  overflow: hidden;


}


/* ----------------------------------------------------------
   Owl stage
   ---------------------------------------------------------- */

.product-node-page .group-right
#pg-combined-master-owl-robust .owl-stage-outer {
  width: 100%;
  overflow: hidden;
}

.product-node-page .group-right
#pg-combined-master-owl-robust .owl-stage {
  display: flex;
  align-items: stretch;
}


/* ----------------------------------------------------------
   Individual slide
   ---------------------------------------------------------- */

.product-node-page .group-right
#pg-combined-master-owl-robust .pg-master-slide {
  width: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  background: #fff;
}


/* ----------------------------------------------------------
   Main product image
   ---------------------------------------------------------- */

.product-node-page .group-right
#pg-combined-master-owl-robust .pg-master-slide img {
  display: block;

  width: 100%;
  height: auto;

  max-width: 100%;

  margin: 0;
  padding: 0;

  object-fit: contain;
}


/* ==========================================================
   GALLERY ARROWS
   ========================================================== */

.product-node-page .group-right
.pg-master-prev,
.product-node-page .group-right
.pg-master-next {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  padding: 0;

  border: 0;
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.92);
  color: #333;

  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);

  cursor: pointer;

  opacity: 0.9;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

.product-node-page .group-right
.pg-master-prev:hover,
.product-node-page .group-right
.pg-master-next:hover {
  background: #fff;
  color: #00bf6f;
  opacity: 1;
}

.product-node-page .group-right
.pg-master-prev svg,
.product-node-page .group-right
.pg-master-next svg {
  width: 20px;
  height: 20px;

  display: block;

  fill: currentColor;
}


/* ==========================================================
   THUMBNAILS
   ========================================================== */

.product-node-page .group-right
.pg-combined-thumbs-robust {
  display: flex;

  gap: 8px;

  margin-top: 10px !important;
  padding: 0 2px 2px;

  overflow-x: auto;

  scrollbar-width: thin;
  scrollbar-color: #d8d8d8 transparent;
}

.product-node-page .group-right
.pg-combined-thumbs-robust::-webkit-scrollbar {
  height: 4px;
}

.product-node-page .group-right
.pg-combined-thumbs-robust::-webkit-scrollbar-track {
  background: transparent;
}

.product-node-page .group-right
.pg-combined-thumbs-robust::-webkit-scrollbar-thumb {
  background: #d8d8d8;
  border-radius: 10px;
}


/* ----------------------------------------------------------
   Thumbnail button
   ---------------------------------------------------------- */

.product-node-page .group-right
.pg-thumb {
  flex: 0 0 64px;

  width: 64px !important;
  height: 64px !important;

  padding: 0 !important;

  border: 1px solid transparent !important;
  border-radius: 6px;

  overflow: hidden;

  background: #fff !important;

  cursor: pointer;

  opacity: 0.72;

  transition:
    border-color 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

.product-node-page .group-right
.pg-thumb:hover {
  opacity: 1;
}

.product-node-page .group-right
.pg-thumb.pg-thumb-active {
  border: 2px solid #00bf6f !important;
  opacity: 1;
}


/* ----------------------------------------------------------
   Thumbnail image
   ---------------------------------------------------------- */

.product-node-page .group-right
.pg-thumb img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}


/* ==========================================================
   MOBILE ZOOM BUTTON
   ========================================================== */

.product-node-page .group-right
#pg-mobile-zoom-btn {
  width: 40px !important;
  height: 40px !important;

  right: 10px !important;
  bottom: 10px !important;

  border-radius: 50% !important;

  background: rgba(255, 255, 255, 0.94) !important;
  color: #333 !important;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14) !important;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease !important;
}

.product-node-page .group-right
#pg-mobile-zoom-btn:hover {
  background: #fff !important;
  color: #00bf6f !important;
}

.product-node-page .group-right
#pg-mobile-zoom-btn:active {
  transform: scale(0.94);
}

.product-node-page .group-right
#pg-mobile-zoom-btn svg {
  width: 19px !important;
  height: 19px !important;
}



/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

  .product-node-page .group-right
  .field--name-field-product-label {
    top: 12px;
    left: 12px;
  }

  .product-node-page .group-right
  .happyset-product-share {
    top: 12px;
    right: 12px;
  }

  .product-node-page .group-right
  .happyset-share-trigger {
    width: 40px;
    height: 40px;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {

  .product-node-page .group-right
  #pg-combined-master-owl-robust {
    border-radius: 8px;
  }

  .product-node-page .group-right
  .field--name-field-product-label {
    top: 10px;
    left: 10px;
  }

  .product-node-page .group-right
  .field--name-field-product-label a {
    min-height: 28px;
    padding: 5px 9px;

    font-size: 11px;

    border-radius: 5px;
  }

  .product-node-page .group-right
  .happyset-product-share {
    top: 10px;
    right: 10px;
  }

  .product-node-page .group-right
  .happyset-share-trigger {
    width: 38px;
    height: 38px;
  }

  .product-node-page .group-right
  .happyset-share-trigger-icon,
  .product-node-page .group-right
  .happyset-share-trigger-icon svg {
    width: 18px;
    height: 18px;
  }

  .product-node-page .group-right
  .pg-master-prev,
  .product-node-page .group-right
  .pg-master-next {
    width: 34px;
    height: 34px;
  }

  .product-node-page .group-right
  .pg-master-prev svg,
  .product-node-page .group-right
  .pg-master-next svg {
    width: 18px;
    height: 18px;
  }

  .product-node-page .group-right
  .pg-combined-thumbs-robust {
    gap: 6px;
    margin-top: 8px !important;
  }

  .product-node-page .group-right
  .pg-thumb {
    flex-basis: 58px;

    width: 58px !important;
    height: 58px !important;
  }

}


/* ==========================================================
   GALLERY DIRECTION
   ========================================================== */

.product-node-page
.pg-combined-thumbs-robust {
  direction: ltr;
  justify-content: flex-start;
}

.product-node-page
.pg-combined-thumbs-robust .pg-thumb {
  direction: ltr;
  flex: 0 0 64px;
}



/* ==========================================================
   HAPPYSET PRODUCT SHARE
   ========================================================== */

/* ==========================================================
   SHARE BUTTON
   ========================================================== */

.product-node-page .group-right .happyset-share-trigger {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #333;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  overflow: visible;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.product-node-page .group-right .happyset-share-trigger:hover {
  background: #fff;
  color: #00bf6f;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);
}

.product-node-page .group-right .happyset-share-trigger:active {
  transform: scale(0.94);
}

/* Share icon */

.product-node-page .group-right .happyset-share-trigger-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  z-index: 2;
}

.product-node-page .group-right .happyset-share-trigger-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

/* Share text */

.product-node-page .group-right .happyset-share-trigger > span:last-child {
  position: absolute;
  right: 100%;
  top: 50%;
  margin-right: 8px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #333;
  opacity: 0;
  transform: translateY(-50%) translateX(12px);
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.28s ease;
}

.product-node-page .group-right .happyset-share-trigger:hover > span:last-child {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* ==========================================================
   SHARE MODAL
   ========================================================== */

.product-node-page .happyset-share-modal {
  position: fixed;
  inset: 0;
  z-index: 200000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease;
}

.product-node-page .happyset-share-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Overlay */

.product-node-page .happyset-share-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  transition: opacity 0.3s ease;
}

.product-node-page .happyset-share-modal.is-open .happyset-share-overlay {
  opacity: 1;
}

/* Dialog */

.product-node-page .happyset-share-dialog {
  position: relative;
  z-index: 1;
  width: min(430px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 30px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
  direction: rtl;
  transform: translateY(25px) scale(0.96);
  opacity: 0;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease;
}

.product-node-page .happyset-share-modal.is-open .happyset-share-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* ==========================================================
   CLOSE BUTTON
   ========================================================== */

.product-node-page .happyset-share-close {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #777;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.product-node-page .happyset-share-close:hover {
  background: #f3f3f3;
  color: #333;
}

/* ==========================================================
   MODAL HEADER
   ========================================================== */

.product-node-page .happyset-share-header {
  text-align: center;
}

.product-node-page .happyset-share-title {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.7;
  color: #222;
  text-align: center;
}

.product-node-page .happyset-share-description {
  margin-top: 9px;
  padding: 0 8px;
  font-size: 13px;
  line-height: 1.9;
  color: #777;
  text-align: center;
}

/* ==========================================================
   DIVIDER
   ========================================================== */

.product-node-page .happyset-share-divider {
  width: 100%;
  height: 1px;
  margin: 20px 0;
  background: #e8e8e8;
}

/* ==========================================================
   COPY LINK
   ========================================================== */

.product-node-page .happyset-share-copy {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid #dcdcdc;
  border-radius: 7px;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.product-node-page .happyset-share-copy:hover {
  background: #fafafa;
  border-color: #c8c8c8;
}

.product-node-page .happyset-share-copy.is-copied {
  border-color: #00bf6f;
  color: #00bf6f;
  background: #f7fffb;
}

.product-node-page .happyset-share-copy-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}

.product-node-page .happyset-share-copy-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.product-node-page .happyset-share-copy-text {
  line-height: 1;
}

/* ==========================================================
   SOCIAL SERVICES
   ========================================================== */

.product-node-page .happyset-share-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.product-node-page .happyset-share-service {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px;
  border: 0;
  border-radius: 7px;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition:
    transform 0.18s ease,
    filter 0.18s ease;
}

.product-node-page .happyset-share-service:hover {
  color: #fff !important;
  text-decoration: none !important;
  filter: brightness(0.94);
}

.product-node-page .happyset-share-service:active {
  transform: translateY(0);
}

/* Social icons */

.product-node-page .happyset-share-service-icon {
  width: 23px;
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 23px;
  color: #fff;
  line-height: 1;
}

.product-node-page .happyset-share-service-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.product-node-page .happyset-share-service > span:last-child {
  display: flex;
  align-items: center;
  min-height: 23px;
  line-height: 1;
}

/* Telegram */

.product-node-page .happyset-share-telegram {
  background-color: #139dd2;
}

/* Facebook */

.product-node-page .happyset-share-facebook {
  background-color: #3b5998;
}

/* WhatsApp */

.product-node-page .happyset-share-whatsapp {
  background-color: #25d366;
}

/* X / Twitter */

.product-node-page .happyset-share-x {
  background-color: #4dcceb;
}

/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

.product-node-page .happyset-share-trigger:focus-visible,
.product-node-page .happyset-share-close:focus-visible,
.product-node-page .happyset-share-copy:focus-visible,
.product-node-page .happyset-share-service:focus-visible {
  outline: 2px solid #00bf6f;
  outline-offset: 2px;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {
  .product-node-page .group-right .happyset-product-share {
    top: 12px;
    right: 12px;
  }

  .product-node-page .group-right .happyset-share-trigger {
    width: 40px;
    height: 40px;
  }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {
  .product-node-page .group-right .happyset-product-share {
    top: 10px;
    right: 10px;
  }

  .product-node-page .group-right .happyset-share-trigger {
    width: 38px;
    height: 38px;
  }

  .product-node-page .group-right .happyset-share-trigger-icon,
  .product-node-page .group-right .happyset-share-trigger-icon svg {
    width: 18px;
    height: 18px;
  }

  .product-node-page .group-right .happyset-share-trigger > span:last-child {
    display: none;
  }

  .product-node-page .happyset-share-dialog {
    width: calc(100vw - 28px);
    max-height: calc(100vh - 28px);
    padding: 26px 20px 20px;
    border-radius: 12px;
  }

  .product-node-page .happyset-share-title {
    font-size: 19px;
  }

  .product-node-page .happyset-share-description {
    font-size: 12.5px;
    line-height: 1.85;
    padding: 0 4px;
  }

  .product-node-page .happyset-share-divider {
    margin: 17px 0;
  }

  .product-node-page .happyset-share-copy {
    min-height: 50px;
  }

  .product-node-page .happyset-share-services {
    gap: 9px;
  }

  .product-node-page .happyset-share-service {
    min-height: 43px;
    padding: 9px 10px;
    font-size: 13px;
  }

  .product-node-page .happyset-share-service-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }

  .product-node-page .happyset-share-service-icon svg {
    width: 21px;
    height: 21px;
  }
}

/* ==========================================================
   VERY SMALL SCREENS
   ========================================================== */

@media (max-width: 359.98px) {
  .product-node-page .happyset-share-dialog {
    width: calc(100vw - 20px);
    padding-left: 16px;
    padding-right: 16px;
  }

  .product-node-page .happyset-share-services {
    gap: 7px;
  }

  .product-node-page .happyset-share-service {
    gap: 7px;
    padding-left: 7px;
    padding-right: 7px;
  }
}


/* ==========================================================
   SHARE BUTTON LABEL
   ========================================================== */

.product-node-page .group-right
.happyset-share-trigger > span:last-child {
  position: absolute;
  right: 100%;
  top: 50%;
  z-index: 3;

  display: block;
  width: max-content;
  max-width: none;
  box-sizing: border-box;

  margin-right: 10px;
  padding: 7px 11px;

  white-space: nowrap;

  border: 1px solid #e8e8e8;
  border-radius: 6px;

  background: #fff;
  color: #333;

  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);

  opacity: 0;
  transform: translateY(-50%) translateX(-8px);

  pointer-events: none;

  transition:
    opacity 0.22s ease,
    transform 0.28s ease;
}

/* ----------------------------------------------------------
   Pointer
   ---------------------------------------------------------- */

.product-node-page .group-right
.happyset-share-trigger > span:last-child::after {
  content: "";

  position: absolute;
  top: 50%;
  right: -6px;

  width: 10px;
  height: 10px;

  background: #fff;

  border-top: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;

  transform: translateY(-50%) rotate(45deg);
}

/* ----------------------------------------------------------
   Show Label
   ---------------------------------------------------------- */

.product-node-page .group-right
.happyset-share-trigger:hover > span:last-child {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}


/* ==========================================================
   PRODUCT LABEL — ABOVE GALLERY
   ========================================================== */

.product-node-page .group-right {
  width: 100%;
  min-width: 0;
  position: relative;
}
























/* ----------------------------------------------------------
   Label bar
   ---------------------------------------------------------- */

.product-node-page .group-right
.field--name-field-product-label {
  display: flex;
  align-items: center;

  width: 100%;
  min-width: 0;
  min-height: 50px;

  margin: 0;
  padding: 0 16px;

  box-sizing: border-box;

  direction: rtl;

  background: rgba(224, 247, 238, 0.96);

  overflow: hidden;
}


/* ----------------------------------------------------------
   Label items
   ---------------------------------------------------------- */

.product-node-page .group-right
.field--name-field-product-label .field__items {
  display: flex;
  align-items: center;

  width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;
}


/* ----------------------------------------------------------
   Label item
   ---------------------------------------------------------- */

.product-node-page .group-right
.field--name-field-product-label .field__item {
  margin: 0;
  padding: 0;
}


/* ----------------------------------------------------------
   Label link
   ---------------------------------------------------------- */

.product-node-page .group-right
.field--name-field-product-label a {
  display: inline-block;

  margin: 0;
  padding: 0;

  background: transparent;
  border: 0;

  color: #008f58;

  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;

  text-decoration: none;

  white-space: nowrap;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {

  .product-node-page .group-right
  .field--name-field-product-label {
    width: 100%;
    min-height: 44px;

    padding-left: 12px;
    padding-right: 12px;

    margin: 0;

    box-sizing: border-box;
  }

  .product-node-page .group-right
  .field--name-field-product-label a {
    font-size: 13px;
  }

}


























/* ==========================================================
   SHARE BUTTON
   ========================================================== */

.product-node-page .group-right
.happyset-product-share {
  position: absolute;
  top: 70px;
  right: 10px;
  z-index: 4;
}

.product-node-page .group-right
.happyset-share-trigger {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #333;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  overflow: visible;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.product-node-page .group-right
.happyset-share-trigger:hover {
  background: #fff;
  color: #00bf6f;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);
}

.product-node-page .group-right
.happyset-share-trigger:active {
  transform: scale(0.94);
}

.product-node-page .group-right
.happyset-share-trigger-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  z-index: 2;
}

.product-node-page .group-right
.happyset-share-trigger-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {

  .product-node-page .group-right
  .happyset-product-share {
    top: 65px;
    right: 7px;
  }

  .product-node-page .group-right
  .happyset-share-trigger {
    width: 38px;
    height: 38px;
  }

  .product-node-page .group-right
  .happyset-share-trigger-icon {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
  }

  .product-node-page .group-right
  .happyset-share-trigger-icon svg {
    width: 19px;
    height: 19px;
  }
}




























































































/* =========================================================
   Happyset Product Node
   Product Information & Attributes
   ========================================================= */


/* =========================================================
   AJAX
   ========================================================= */

/* عدم نمایش پیام و آیکون پردازش هنگام انتخاب تنوع */
.ajax-progress-throbber {
  display: none !important;
}


/* =========================================================
   PRODUCT PAGE — DESKTOP
   ========================================================= */

@media (min-width: 992px) {


  /* =======================================================
     Product Information
     برند / دسته‌بندی / کد کالا / موجودی
     ======================================================= */

  .product-node-page .group-middle
  .field--name-field-product-brand,

  .product-node-page .group-middle
  .field--name-field-product-cat,

  .product-node-page .group-middle
  .field--name-sku,

  .product-node-page .group-middle
  .field--name-field-stock {
    display: flex;
    align-items: center;
    gap: 6px;

    margin: 0 0 9px;
    padding: 0;
  }


  /* =======================================================
     Information Labels
     ======================================================= */

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__label,

  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__label,

  .product-node-page .group-middle
  .field--name-sku
  .field__label,

  .product-node-page .group-middle
  .field--name-field-stock
  .field__label {
    color: #777;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
  }


  /* =======================================================
     Information Values
     ======================================================= */

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item,

  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item,

  .product-node-page .group-middle
  .field--name-sku
  .field__item,

  .product-node-page .group-middle
  .field--name-field-stock
  .field__item {
    color: #333;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
  }


  /* =======================================================
     Brand & Category Links
     ======================================================= */

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item a,

  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item a {
    color: #333;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;

    border-bottom: 1px dashed #aaa;

    transition:
      color 0.15s ease,
      border-color 0.15s ease;
  }

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item a:hover,

  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item a:hover {
    color: #00bf6f;
    border-color: #00bf6f;
  }


  /* =======================================================
     Attribute Widgets
     ======================================================= */

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .attribute-widgets {
    margin: 0;
  }


  /* =======================================================
     Attribute Fieldsets
     ======================================================= */

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute {
    width: 100%;

    margin: 0 0 18px !important;
    padding: 0;
  }


  /* =======================================================
     Attribute Legend
     ======================================================= */

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  legend {
    width: 100%;

    margin: 0 0 8px;
    padding: 0;

    font-size: 15px;
  }

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .fieldset-legend {
    display: block;

    width: 100%;
    margin: 0;
    padding: 0;

    color: #777 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.8;

    text-align: right !important;
  }


  /* =======================================================
     Selected Attribute Value
     رنگ / سایز / طرح
     ======================================================= */

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .selected-color-name,

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .selected-size-name,

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .selected-tarh-name {
    display: inline;

    margin-right: 6px !important;
    margin-left: 0 !important;

    color: #333 !important;
    font-family: IRANSansX;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.8;
  }


  /* =======================================================
     Attribute Options
     ======================================================= */

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .fieldset-wrapper {
    width: 100%;
    text-align: right;
  }

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .radio {
    width: 100%;

    align-items: center;
    justify-content: flex-start !important;

    text-align: right !important;
  }

  .product-node-page .group-middle
  #commerce-product-add-to-cart-form
  .product--rendered-attribute
  .js-form-item {
    text-align: right !important;
  }


  /* =======================================================
     Remove Required Star
     ======================================================= */

  .product-node-page .group-middle
  .attribute-widgets
  .form-required::after {
    display: none !important;
    content: none !important;
  }


  /* =======================================================
     Quantity
     ======================================================= */

  .product-node-page .group-middle
  .field--name-quantity
  label {
    display: none !important;
  }

  .product-node-page .group-middle
  .field--name-quantity
  .form-control {
    text-align: center;
  }


  /* =======================================================
     Price
     ======================================================= */

  .product-node-page .group-middle
  .field--name-price {
    display: flex;
    align-items: baseline;
    gap: 6px;

    padding: 6px 0 15px 0;
  }

  .product-node-page .group-middle
  .field--name-price
  .price-number {
    color: #222;

    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
  }

  .product-node-page .group-middle
  .field--name-price
  .price-currency {
    color: #777;

    font-size: 13px;
    font-weight: 400;
  }


}

































  /* =======================================================
     Persian Numbers
     ======================================================= */

  .product-node-page .group-middle
  .field--name-sku
  .field__item,

  .product-node-page .group-middle
  .field--name-field-stock
  .field__item,

  .product-node-page .group-middle
  .field--name-field-stock
  .field__item span,

  .product-node-page .group-middle
  .field--name-price
  .price-number,

  .product-node-page .group-middle
  .field--name-quantity
  .form-control {
    font-family: IRANSansX;

    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";
  }


/* =========================================================
   PRODUCT HEADER
   ========================================================= */

.product-node-page .group-header h1 {
  width: 100% !important;
  min-height: 76px !important;

  margin-bottom: 40px !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;

  border-bottom: 1px solid #f2f2f2 !important;

  font-family: IRANSansX !important;
  font-size: 1.6em !important;
  font-weight: 700;
  letter-spacing: 0 !important;
}


/* =========================================================
   PRODUCT MIDDLE
   General
   ========================================================= */

.product-node-page .group-middle
.field--name-field-product-cat,

.product-node-page .group-middle
.field--name-field-product-brand {
  text-align: justify;
}


/* Attribute Legends */
.product-node-page .group-middle
.fieldset-legend {
  margin-bottom: 0 !important;
  color: #777 !important;
  font-size: 15px;
  font-weight: 400;
}


/* Selected Attribute Values */
.product-node-page .group-middle
.selected-color-name,

.product-node-page .group-middle
.selected-size-name,

.product-node-page .group-middle
.selected-tarh-name {
  color: #333;

  font-family: IRANSansX;
  font-size: 15px;
  font-weight: 500 !important;
}


/* =========================================================
   LINKS
   ========================================================= */

.product-node-page .group-middle a {
  color: #525252;

  font-family: IRANSansX;
  font-weight: 300;

  border-bottom: 1px dashed;
}

.product-node-page .group-middle a:hover {
  color: #00bf6f;
}


/* =========================================================
   ADD TO CART
   ========================================================= */

.product-node-page .group-middle
.button--add-to-cart {
  width: 100%;

  margin: 12px 0;
  padding: 8px 0;

  color: #fff;
  background-color: #00bf6f;
  border: 1px solid #00bf6f;
  border-radius: 999px;

  font-size: 15px;

  transition: 0.35s ease;
}

.product-node-page .group-middle
.button--add-to-cart:hover {
  color: #fff;
  background-color: #00bf6f;
  border-color: #00bf6f;
  text-decoration: none;
}


/* =========================================================
   SECONDARY ACTION
   ========================================================= */

.product-node-page .group-middle
.field--type-link .btn {
  width: 100%;

  margin: 0 0 20px;
  padding: 8px 0;

  color: #fff;
  background-color: #ef4056;
  border: 1px solid #ef4056;
  border-radius: 999px;

  font-size: 15px;

  transition: 0.35s ease;
}

.product-node-page .group-middle
.field--type-link .btn:hover {
  color: #fff;
  background-color: #ef4056;
  border-color: #ef4056;
  text-decoration: none;
}


/* =========================================================
   ATTRIBUTE OPTIONS ALIGNMENT
   ========================================================= */

@media (min-width: 768px) {

  .fieldset-wrapper > div:last-of-type {
    display: flex !important;
    flex-wrap: wrap;

    align-items: center;
    justify-content: flex-start !important;

    margin-top: 5px !important;
    padding-right: 0;

    font-size: 14px;
  }

}


/* =========================================================
   PRODUCT TABS
   ========================================================= */

.block-quicktabs-blockproduct-node-tabs {
  margin-top: 25px;
}

.block-quicktabs-blockproduct-node-tabs .material-tabs .quicktabs-tabs > li > a{
    padding: 0.4rem 1rem !important;
    font-size: 15px !important;
}

.material-tabs .quicktabs-tabs > li > a.quicktabs-loaded:focus, .material-tabs .quicktabs-tabs > li > a.quicktabs-loaded:focus-visible {
    box-shadow: none;
}

.content-other-pages
.block-quicktabs-blockproduct-node-tabs
.list-group {
  flex-direction: row !important;
}

.content-other-pages
.block-quicktabs-blockproduct-node-tabs
.list-group-item.active {
  margin: 0;

  background-color: transparent;
  border-color: transparent;
}

.content-other-pages
.block-quicktabs-blockproduct-node-tabs
.item-list ul {
  padding: 3px;
}

.content-other-pages
.block-quicktabs-blockproduct-node-tabs
.item-list ul li {
  padding: 2px;

  border: none;
}


/* =========================================================
   PRODUCT FOOTER
   ========================================================= */

.product-node-page .group-footer
.views-field-body p {
  font-size: 0.9em !important;
  line-height: 35px !important;
}

.product-node-page .group-footer .views-field-field-product-specification table {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    background: transparent !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #444 !important;
}


/* =========================================
   Table Cells
   ========================================= */

.product-node-page .group-footer .views-field-field-product-specification table td {
    padding: 13px 16px !important;

    border: 0 !important;
    border-bottom: 1px solid #eeeeee !important;

    vertical-align: middle !important;
    text-align: right !important;

    background: #fff !important;
}


/* =========================================
   نام ویژگی
   ========================================= */

.product-node-page .group-footer .views-field-field-product-specification table td:first-child {
    width: 28% !important;

    font-weight: 600 !important;
    color: #333 !important;

    background: #f5fbf8 !important;
}


/* =========================================
   مقدار ویژگی
   ========================================= */

.product-node-page .group-footer .views-field-field-product-specification table td:nth-child(2) {
    width: 72% !important;

    color: #555 !important;
    background: #fff !important;
}


/* =========================================
   Hover
   ========================================= */

.product-node-page .group-footer .views-field-field-product-specification table tr:hover td {
    background: #f7fcfa !important;
}

.product-node-page .group-footer .views-field-field-product-specification table tr:hover td:first-child {
    background: #eef9f4 !important;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767.98px) {

    .product-node-page .group-footer .views-field-field-product-specification table {
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    .product-node-page .group-footer .views-field-field-product-specification table td {
        padding: 10px 12px !important;
        vertical-align: top !important;
    }

    .product-node-page .group-footer .views-field-field-product-specification table td:first-child {
        width: 34% !important;
        min-width: 0 !important;
    }

    .product-node-page .group-footer .views-field-field-product-specification table td:nth-child(2) {
        width: 66% !important;
    }

}




















/* =========================================================
   PRODUCT LEFT
   ========================================================= */

.product-node-page .group-left li {
  padding-bottom: 8px;

  color: #525252;
  font-size: 14px;
}


/* =========================================================
   PRODUCT RIGHT
   ========================================================= */

.product-node-page .group-right a {
  float: right !important;

  padding: 2px !important;
}



/* =========================================================
   Happyset Size Guide - Modal Fix
   ========================================================= */

/*
 * Wrapper فقط مسئول موقعیت لینک است.
 */
.happyset-size-guide {
  position: absolute;
}


/*
 * Modal همیشه نسبت به صفحه نمایش قرار بگیرد،
 * نه نسبت به .happyset-size-guide
 */
.happyset-size-guide .happyset-size-guide__modal {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100vh !important;

  max-width: none !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 24px !important;

  display: flex;

  align-items: center;
  justify-content: center;

  z-index: 1050;
}


/*
 * hidden باید واقعاً Modal را مخفی کند.
 */
.happyset-size-guide .happyset-size-guide__modal[hidden] {
  display: none !important;
}


/*
 * Backdrop کل صفحه را بپوشاند.
 */
.happyset-size-guide .happyset-size-guide__backdrop {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  background: rgba(0, 0, 0, 0.55);
}


/*
 * خود پنجره Modal
 */
.happyset-size-guide .happyset-size-guide__dialog {
  position: relative;

  z-index: 1;

  width: min(700px, 100%);
  max-width: 700px;

  max-height: calc(100vh - 48px);

  overflow: auto;

  background: #fff;

  border-radius: 12px;

  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.18);

  direction: rtl;
}


/*
 * محتوای Modal
 */
.happyset-size-guide .happyset-size-guide__content {
  width: 100%;
}


/*
 * تصویر داخل راهنما
 */
.happyset-size-guide .happyset-size-guide__content img {
  display: block;

  width: auto;
  max-width: 100%;

  height: auto;
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 991.98px) {

  .happyset-size-guide .happyset-size-guide__modal {
    padding: 12px !important;
  }


  .happyset-size-guide .happyset-size-guide__dialog {
    width: 100%;
    max-width: 100%;

    max-height: calc(100vh - 24px);

    border-radius: 10px;
  }

}




























/* =========================================================
   Happyset - RTL Breadcrumb
   ========================================================= */
   
.content .breadcrumb {
    padding: 8px 5px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
    font-size: 0.9em;
}

/* Mobile sheet styles (<= 767px) */
@media (max-width: 767px) {
    
    .content .breadcrumb {
      display: flex !important;
      flex-wrap: nowrap !important;
      margin: 0 !important;
      list-style: none !important;
      overflow-x: auto !important;  
      overflow-y: hidden !important; 
      white-space: nowrap !important; 
      -webkit-overflow-scrolling: touch !important; /* برای iOS */
    }
    
    .content .breadcrumb-item {
      white-space: nowrap !important;
      flex-shrink: 0 !important;
    }
    
    .content .breadcrumb-item a {
      white-space: nowrap !important;
    }

    /* مخفی کردن اسکرول‌بار در تمامی مرورگرها */
    .content .breadcrumb::-webkit-scrollbar {
      display: none !important;
      -webkit-appearance: none !important;
      width: 0 !important;
      height: 0 !important;
    }
    
    .content .breadcrumb {
      scrollbar-width: none !important; /* Firefox */
      -ms-overflow-style: none !important; /* IE & Edge */
    }

}



#block-happyset-breadcrumbs {
  direction: rtl;
}

#block-happyset-breadcrumbs .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  direction: rtl;

  list-style: none;

  font-size: 14px;
}


/* هر آیتم */
#block-happyset-breadcrumbs .breadcrumb-item {
  display: inline-flex;
  align-items: center;

  color: #777;
}


/* لینک‌ها */
#block-happyset-breadcrumbs .breadcrumb-item a {
  color: #555;
  text-decoration: none;

  transition: color .15s ease;
}

#block-happyset-breadcrumbs .breadcrumb-item a:hover {
  color: #00bf6f;
}


/* آیتم فعال */
#block-happyset-breadcrumbs .breadcrumb-item.active {
  color: #999;
}


/* =========================================================
   Separator
   ========================================================= */

/* حذف separator پیش‌فرض Bootstrap */
#block-happyset-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  float: none;

  padding: 0 9px;

  color: #bbb;

  content: "/";
}


/* =========================================================
   جلوگیری از به‌هم‌ریختن متن فارسی و انگلیسی
   ========================================================= */

#block-happyset-breadcrumbs .breadcrumb-item {
  unicode-bidi: plaintext;
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px) {

  #block-happyset-breadcrumbs .breadcrumb {
    font-size: 13px;
  }

  #block-happyset-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    padding: 0 6px;
  }

}


















/* =========================================================
   Happyset - Quantity
   ========================================================= */

.happyset-quantity-control {
  display: inline-flex;
  align-items: stretch;

  height: 42px;

  border: 1px solid #ddd;
  border-radius: 999px;

  overflow: hidden;

  direction: ltr;
}


/* دکمه‌ها */

.happyset-quantity-control button {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 42px;
  height: 42px;

  margin: 0;
  padding: 0;

  border: 0;
  background: #fff;

  color: #555;

  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;

  cursor: pointer;

  transition:
    background-color .15s ease,
    color .15s ease;
}


.happyset-quantity-control button:hover {
  background: #f5f5f5;
  color: #00bf6f;
}


.happyset-quantity-control button:disabled {
  color: #ccc;
  background: #fff;
  cursor: default;
}


/* Input */

.happyset-quantity-control input[type="number"] {
  width: 48px;
  height: 42px;

  margin: 0;
  padding: 0;

  border: 0 !important;
  border-left: 1px solid #eee !important;
  border-right: 1px solid #eee !important;

  outline: none !important;

  background: #fff;

  text-align: center;

  font-family: IRANSansX;
  font-size: 15px;
  font-weight: 500;

  color: #333;
}


/* حذف فلش پیش‌فرض input number در Chrome */

.happyset-quantity-control input[type="number"]::-webkit-inner-spin-button,
.happyset-quantity-control input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


/* Firefox */

.happyset-quantity-control input[type="number"] {
  -moz-appearance: textfield;
}


/* =========================================================
   RTL
   ========================================================= */

.product-node-page .field--name-quantity {
  direction: rtl;
}


.product-node-page .field--name-quantity .js-form-item {
  display: flex;
  justify-content: flex-start;
}


/* موبایل */

@media (max-width: 767.98px) {

  .happyset-quantity-control {
    height: 44px;
  }

  .happyset-quantity-control button {
    width: 44px;
    height: 44px;
  }

  .happyset-quantity-control input[type="number"] {
    width: 50px;
    height: 44px;
  }

}




















/* ==========================================================================
   Product Information Box
   ========================================================================== */

.product-node-page .group-left {
  width: 100%;
  box-sizing: border-box;

  padding: 22px 24px;

  border: 1px solid var(--color-border);
  border-radius: 12px;

  background: #fff;
}


/* ==========================================================================
   Product Features
   ========================================================================== */

.product-node-page .group-left-row1
.field--name-field-product-features {
  margin: 0;
}


/* Features Title */

.product-node-page .group-left-row1
.field--name-field-product-features .field__label {
  margin: 0 0 14px;

  color: var(--color-text);

  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}


/* Features List */

.product-node-page .group-left-row1
.field--name-field-product-features ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 9px 24px;

  margin: 0;
  padding: 0;

  list-style: none;
}


/* Feature Item */

.product-node-page .group-left-row1
.field--name-field-product-features li {
  position: relative;

  margin: 0;
  padding-right: 15px;

  color: var(--color-text);

  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;
}


/* Feature Bullet */

.product-node-page .group-left-row1
.field--name-field-product-features li::before {
  content: "";

  position: absolute;
  top: 0.75em;
  right: 0;

  width: 5px;
  height: 5px;

  border-radius: 50%;

  background: var(--color-primary);

  transform: translateY(-50%);
}


/* ==========================================================================
   Separator
   ========================================================================== */

.product-node-page .group-left-row2 {
  margin-top: 22px;
  padding-top: 18px;

  border-top: 1px dashed var(--color-border);
}


/* ==========================================================================
   Purchase Features
   ========================================================================== */

.product-node-page .product-purchase-features {
  display: flex;
  flex-direction: column;

  gap: 15px;

  margin: 0;
  padding: 0;
}


/* Purchase Feature */

.product-node-page .product-purchase-feature {
  display: flex;
  align-items: center;

  gap: 12px;

  margin: 0;
  padding: 0;
}


/* Icon */

.product-node-page .product-purchase-feature__icon {
  display: flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 32px;

  width: 32px;
  height: 32px;

  border-radius: 8px;

  background: #e8f8f1;

  color: var(--color-primary);

  font-size: 14px;
}


/* Content */

.product-node-page .product-purchase-feature__content {
  min-width: 0;
}


/* Title */

.product-node-page .product-purchase-feature__title {
  color: var(--color-text);

  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}


/* Secondary Text */

.product-node-page .product-purchase-feature__title span {
  color: #7a8580;

  font-weight: 400;
}













































/* =========================================================
   Happyset Product Page
   Mobile / Tablet
   max-width: 991.98px
   ========================================================= */

@media (max-width: 991.98px) {

  /* Product Information Row */
  .product-node-page .group-middle .group-middle-row1 {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .product-node-page .group-middle .group-middle-row1::-webkit-scrollbar {
    display: none;
  }

  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-brand,
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-cat,
  .product-node-page .group-middle .group-middle-row1
  .field--name-sku {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 3px;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }

  /* Dividers */
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-brand::after,
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-cat::after {
    content: "";
    width: 1px;
    height: 16px;
    margin: 0 9px;
    background: #ddd;
    flex: 0 0 1px;
  }

  /* Labels */
  .product-node-page .group-middle .group-middle-row1
  .field__label {
    flex-shrink: 0;
    color: #777;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
  }

  /* Values */
  .product-node-page .group-middle .group-middle-row1
  .field__item {
    flex-shrink: 0;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
  }

  /* Brand & Category Links */
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-brand .field__item a,
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-cat .field__item a {
    color: #333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px dashed #aaa;
  }

  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-brand .field__item a:hover,
  .product-node-page .group-middle .group-middle-row1
  .field--name-field-product-cat .field__item a:hover {
    color: #00bf6f;
    border-color: #00bf6f;
  }
  
  
  
  
  
  

  /* Information Row Container */
  .product-node-page .group-middle
  .field--name-field-product-brand,
  .product-node-page .group-middle
  .field--name-field-product-cat,
  .product-node-page .group-middle
  .field--name-sku {
    position: relative;
  }

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__label,
  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__label,
  .product-node-page .group-middle
  .field--name-sku
  .field__label {
    flex-shrink: 0;
    color: #777;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
  }

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item,
  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item,
  .product-node-page .group-middle
  .field--name-sku
  .field__item {
    color: #333;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8;
  }

  /* Brand & Category Links */
  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item a,
  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item a {
    color: #333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px dashed #aaa;
    transition: color .15s ease, border-color .15s ease;
  }

  .product-node-page .group-middle
  .field--name-field-product-brand
  .field__item a:hover,
  .product-node-page .group-middle
  .field--name-field-product-cat
  .field__item a:hover {
    color: #00bf6f;
    border-color: #00bf6f;
  }

  /* Attribute Widgets */
  .product-node-page .group-middle
  .attribute-widgets {
    width: 100%;
    margin: 0;
  }

  /* Attribute Fieldsets */
  .product-node-page .group-middle
  .product--rendered-attribute {
    width: 100%;
    margin: 0 0 18px !important;
    padding: 0;
  }

  /* Attribute Legend */
  .product-node-page .group-middle
  .product--rendered-attribute legend {
    width: 100%;
    margin: 0 0 8px;
    padding: 0;
    font-size: 14px;
  }

  .product-node-page .group-middle
  .product--rendered-attribute .fieldset-legend {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #777 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.8;
    text-align: right !important;
  }

  /* Selected Attribute Value */
  .product-node-page .group-middle
  .product--rendered-attribute .selected-color-name,
  .product-node-page .group-middle
  .product--rendered-attribute .selected-size-name,
  .product-node-page .group-middle
  .product--rendered-attribute .selected-tarh-name {
    display: inline;
    margin-right: 5px !important;
    margin-left: 0 !important;
    color: #333 !important;
    font-family: IRANSansX;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.8;
  }

  /* Attribute Options */
  .product-node-page .group-middle
  .product--rendered-attribute .fieldset-wrapper {
    width: 100%;
    text-align: right;
  }

  .product-node-page .group-middle
  .product--rendered-attribute .radio {
    width: 100%;
    align-items: center;
    justify-content: flex-start !important;
    text-align: right !important;
  }

  .product-node-page .group-middle
  .product--rendered-attribute .js-form-item {
    text-align: right !important;
  }

  /* Remove Required Star */
  .product-node-page .group-middle
  .attribute-widgets .form-required::after {
    display: none !important;
    content: none !important;
  }

  /* Quantity */
  .product-node-page .group-middle
  .field--name-quantity label {
    display: none !important;
  }

  .product-node-page .group-middle
  .happyset-quantity-control {
    margin-right: auto;
    margin-left: auto;
  }

  .product-node-page .group-middle
  .field--name-quantity .form-control {
    text-align: center;
  }

  /* Price */
  .product-node-page .group-middle
  .field--name-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0;
    padding: 6px 0 15px;
  }

  .product-node-page .group-middle
  .field--name-price .price-number {
    color: #222;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
  }

  .product-node-page .group-middle
  .field--name-price .price-currency {
    color: #777;
    font-size: 13px;
    font-weight: 400;
  }
  
  .product-node-page .group-middle
  .product-purchase-feature,
  .product-node-page .group-middle
  .field--name-field-stock {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .product-node-page .group-middle
  .product-purchase-feature__icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    font-size: 13px;
  }

  .product-node-page .group-middle
  .product-purchase-feature__title,
  .product-node-page .group-middle
  .field--name-field-stock .field__item {
    font-size: 12.5px;
    font-weight: 500;
  }

  .product-node-page .group-middle
  .field--name-field-stock .field__label {
    color: #777;
    font-size: 12.5px;
    font-weight: 400;
  }

  /* Size Guide */
  .product-node-page .group-middle
  .happyset-size-guide--desktop {
    z-index: 5;
  }
  
  .product-node-page .group-header h1 {
   margin-bottom: 10px !important;
   padding: 15px 0 !important;
   font-size: 1.2em !important;
   line-height: 33px !important;
   min-height: 0 !important;
  }
  
  
  
  
  

  
  
  
  
  
  
  /* =======================================================
   Purchase Features
   ======================================================= */

.product-node-page .group-middle .product-purchase-features {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 12px 0 5px;
}

.product-node-page .group-middle .product-purchase-feature {
  display: flex;
  align-items: center;
  min-height: 42px;
  margin: 0;
  padding: 6px 12px 6px 10px;
  border-radius: 6px;
}

.product-node-page .group-middle .product-purchase-feature:nth-child(1) {
  background: linear-gradient(to left, #e5f8ef, #fbfdfc);
}

.product-node-page .group-middle .product-purchase-feature:nth-child(2) {
  background: linear-gradient(to left, #e8f2fc, #fcfdfe);
}

.product-node-page .group-middle .product-purchase-feature:nth-child(3) {
  background: linear-gradient(to left, #fff2e5, #fffdfb);
}

.product-node-page .group-middle .product-purchase-feature__icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 9px;
  font-size: 14px;
  background: transparent;
}

.product-node-page .group-middle .product-purchase-feature:nth-child(1) .product-purchase-feature__icon {
  color: #00a866;
}

.product-node-page .group-middle .product-purchase-feature:nth-child(2) .product-purchase-feature__icon {
  color: #4b83c4;
}

.product-node-page .group-middle .product-purchase-feature:nth-child(3) .product-purchase-feature__icon {
  color: #e58a32;
}

.product-node-page .group-middle .product-purchase-feature__content {
  flex: 1;
  min-width: 0;
}

.product-node-page .group-middle .product-purchase-feature__title {
  color: #444;
  font-family: IRANSansX;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.8;
}

.product-node-page .group-middle .product-purchase-feature__title span {
  color: #888;
  font-weight: 400;
}

.product-node-page .group-middle .field--name-field-stock {
  display: flex;
  align-items: center;
  min-height: 42px;
  margin: 0 0 5px;
  padding: 6px 12px 6px 10px;
  border-radius: 6px;
  background: linear-gradient(to left, #ffeaeb, #fffdfd);
}

.product-node-page .group-middle .field--name-field-stock::before {
  content: "\f494";
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 9px;
  color: #e05a61;
  font-family: "Font Awesome 5 Free";
  font-size: 14px;
  font-weight: 900;
}

.product-node-page .group-middle .field--name-field-stock .field__label {
  margin: 0;
  color: #444;
  font-family: IRANSansX;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.8;
}

.product-node-page .group-middle .field--name-field-stock .field__item {
  margin-right: 5px;
  color: #555;
  font-family: IRANSansX;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.8;
}

.product-node-page .group-middle .field--name-field-stock .field__item span {
  color: #444;
  font-weight: 600;
}



}











/* ==========================================================================
   Similar Products / Views Block
   ========================================================================== */

.block-views {
    padding-top: 10px;
    padding-bottom: 10px;
}

.block-views > .block__title {
    display: flex;
    align-items: baseline;
    margin: 0 0 28px;
    padding: 0;
    border-bottom: 3px solid #e8ece9;
    color: #212529;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.block-views > .block__title > span {
    display: inline-block;
    flex-shrink: 0;
    margin-bottom: -3px;
    padding-bottom: 10px;
    border-bottom: 3px solid #00bf6f;
    color: #212529;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767.98px) {

    .block-views {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .block-views > .block__title {
        margin-bottom: 22px;
        border-bottom-width: 2px;
        font-size: .9rem;
    }

    .block-views > .block__title > span {
        margin-bottom: -2px;
        padding-bottom: 8px;
        border-bottom-width: 2px;
        font-size: .9rem;
    }

}
































/* ==========================================================
   Happyset Article Share - Desktop
   ========================================================== */

.happyset-article-share-desktop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.happyset-article-share-item {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  padding: 0;
  margin: 0;

  border: 0;
  border-radius: 50%;

  background: transparent;
  color: #777;

  text-decoration: none;
  cursor: pointer;

  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    transform 0.2s ease;
}

.happyset-article-share-item svg {
  width: 20px;
  height: 20px;
  display: block;
}

.happyset-article-share-item:hover {
  color: #00bf6f;
  background: rgba(0, 191, 111, 0.08);
}

.happyset-article-share-item:focus-visible {
  outline: 2px solid #00bf6f;
  outline-offset: 2px;
}


/* ==========================================================
   Share Tooltip
   ========================================================== */

.happyset-article-share-item::before {
  content: attr(data-tooltip);

  position: absolute;

  right: calc(100% + 10px);
  top: 50%;

  transform: translateY(-50%) translateX(8px);

  padding: 7px 12px;

  background: #fff;
  color: #444;

  border-radius: 6px;

  font-family: inherit;
  font-size: 13px;
  font-weight: 400;

  white-space: nowrap;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;

  z-index: 10;
}


/* Tooltip Arrow */

.happyset-article-share-item::after {
  content: "";

  position: absolute;

  right: calc(100% + 5px);
  top: 50%;

  width: 0;
  height: 0;

  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #fff;

  transform: translateY(-50%) translateX(8px);

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;

  z-index: 10;
}


/* Show Tooltip */

.happyset-article-share-item:hover::before,
.happyset-article-share-item:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}


/* Copy Link */

.happyset-article-share-copy {
  font-family: inherit;
}



/* ==========================================================
   Happyset Article - Sticky Sidebars
   ========================================================== */

@media (min-width: 992px) {

  .happyset-article-layout .group-share {
    position: sticky;
    top: 20px;
    align-self: flex-start;
    padding-bottom: 20px;
  }

}
















/* ==========================================================
   Happyset Blog Article
   Article Image + Article Header
   ========================================================== */


/* ==========================================================
   Desktop
   ========================================================== */

@media (min-width: 992px) {

  /* --------------------------------------------------------
     Article Image
     -------------------------------------------------------- */

  .blog-node-page .group-article-image,
  .blog-node-page .group-article-header {
    height: 100%;
  }

  .blog-node-page .group-article-image {
    display: flex;
    align-items: flex-start;
  }

  .blog-node-page .group-article-image .field--name-field-image {
    width: 100%;
  }

  .blog-node-page .group-article-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
  }


  /* --------------------------------------------------------
     Article Header
     -------------------------------------------------------- */

  .blog-node-page .group-article-header {
    padding: 30px 30px;
  }


  /* --------------------------------------------------------
     Article Category
     -------------------------------------------------------- */

  .blog-node-page .field--name-field-article-cat {
    margin-bottom: 14px;
  }

  .blog-node-page .field--name-field-article-cat .field__item a {
    color: #00bf6f;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
  }

  .blog-node-page .field--name-field-article-cat .field__item a:hover {
    color: #00bf6f;
    text-decoration: none;
  }


  /* --------------------------------------------------------
     Article Title
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-title {
    margin-bottom: 20px;
  }

  .blog-node-page .field--name-node-title h1 {
    margin: 0;

    color: #222;

    font-size: 34px;
    font-weight: 700;
    line-height: 1.6;
  }


  /* --------------------------------------------------------
     Date + Reading Time
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-post-date,
  .blog-node-page .field--name-field-reading-time {

    display: inline-flex;
    align-items: center;

    width: auto;

    color: #888;

    font-family: IRANSansX;

    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";

    font-size: 13px;
    line-height: 1.8;
  }


  /* Put both items on the same row */

  .blog-node-page .field--name-node-post-date {
    margin-left: 18px;
  }


  /* Icons */

  .blog-node-page .field--name-node-post-date::before,
  .blog-node-page .field--name-field-reading-time::before {

    font-family: "Font Awesome 6 Free";
    font-weight: 400;

    color: #00bf6f;

    font-size: 14px;

    margin-left: 6px;
  }

  .blog-node-page .field--name-node-post-date::before {
    content: "\f073";
  }

  .blog-node-page .field--name-field-reading-time::before {
    content: "\f017";
  }


  /* --------------------------------------------------------
     Keep date + reading time together
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-post-date,
  .blog-node-page .field--name-field-reading-time {
    flex: 0 0 auto;
  }


  /* ========================================================
     Important:
     Make metadata fields behave as one inline row
     ======================================================== */

  .blog-node-page .group-article-header
  .field--name-node-post-date,
  .blog-node-page .group-article-header
  .field--name-field-reading-time {
    display: inline-flex;
  }

}






/* ==========================================================
   Mobile
   ========================================================== */

@media (max-width: 991.98px) {

  /* --------------------------------------------------------
     Article Image
     -------------------------------------------------------- */

  .blog-node-page .group-article-image {
    width: 100%;
  }

  .blog-node-page .group-article-image .field--name-field-image {
    width: 100%;
  }

  .blog-node-page .group-article-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
  }


  /* --------------------------------------------------------
     Article Header
     -------------------------------------------------------- */

  .blog-node-page .group-article-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    padding-top: 20px;
  }


  /* --------------------------------------------------------
     Article Category
     -------------------------------------------------------- */

  .blog-node-page .field--name-field-article-cat {
    width: 100%;
    margin-bottom: 10px;
  }

  .blog-node-page .field--name-field-article-cat .field__item a {
    color: #00bf6f;

    font-size: 13px;
    font-weight: 500;

    text-decoration: none;
  }

  .blog-node-page .field--name-field-article-cat .field__item a:hover {
    color: #00bf6f;
    text-decoration: none;
  }


  /* --------------------------------------------------------
     Article Title
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-title {
    width: 100%;
    margin-bottom: 14px;
  }

  .blog-node-page .field--name-node-title h1 {
    margin: 0;

    color: #222;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.65;
  }


  /* --------------------------------------------------------
     Article Metadata
     Date + Reading Time
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-post-date,
  .blog-node-page .field--name-field-reading-time {

    display: inline-flex;
    align-items: center;

    width: auto;

    color: #888;

    font-family: IRANSansX;

    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";

    font-size: 12px;
    line-height: 1.8;

    vertical-align: middle;

    flex: 0 0 auto;
  }


  /* Date */

  .blog-node-page .field--name-node-post-date {
    order: 3;
    margin-left: 14px;
  }


  /* Reading Time */

  .blog-node-page .field--name-field-reading-time {
    order: 4;
  }


  /* --------------------------------------------------------
     Metadata Icons
     -------------------------------------------------------- */

  .blog-node-page .field--name-node-post-date::before,
  .blog-node-page .field--name-field-reading-time::before {

    font-family: "Font Awesome 6 Free";
    font-weight: 400;

    color: #00bf6f;

    font-size: 13px;

    margin-left: 5px;
  }


  .blog-node-page .field--name-node-post-date::before {
    content: "\f073";
  }

  .blog-node-page .field--name-field-reading-time::before {
    content: "\f017";
  }


  /* --------------------------------------------------------
     Mobile Share - Dynamic Block Wrapper
     -------------------------------------------------------- */

  .blog-node-page
  .field--name-dynamic-block-fieldnode-shtrkh-gdhry-mqlh-dr-ds-mwbyl {

    order: 5;

    display: inline-flex;
    align-items: center;

    width: auto;

    margin: 0;
    padding: 0;
  }


  /* Remove Basic Block Wrapper Spacing */

  .blog-node-page
  .field--name-dynamic-block-fieldnode-shtrkh-gdhry-mqlh-dr-ds-mwbyl
  .block-content-basic,

  .blog-node-page
  .field--name-dynamic-block-fieldnode-shtrkh-gdhry-mqlh-dr-ds-mwbyl
  .content,

  .blog-node-page
  .field--name-dynamic-block-fieldnode-shtrkh-gdhry-mqlh-dr-ds-mwbyl
  .field--name-body {

    display: inline-flex;
    align-items: center;

    width: auto;

    margin: 0;
    padding: 0;
  }


  /* --------------------------------------------------------
     Share Wrapper
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-share-mobile {

    display: inline-flex;
    align-items: center;

    margin: 0 14px 0 0;
    padding: 0;
  }


  /* --------------------------------------------------------
     Share Button
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-mobile-share-button {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 5px;

    width: auto;
    height: auto;

    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    color: #888;

    font-family: IRANSansX;

    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";

    font-size: 12px;
    font-weight: 400;

    line-height: 1.8;

    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    box-shadow: none;
  }


  /* --------------------------------------------------------
     Share Icon
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-mobile-share-button svg {

    display: block;

    width: 18px;
    height: 18px;

    flex: 0 0 auto;

    fill: #00bf6f;
    color: #00bf6f;
  }
  


  /* --------------------------------------------------------
     Share Text
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-mobile-share-button span {

    display: inline;

    color: #888;

    font-family: IRANSansX;

    -moz-font-feature-settings: "ss01";
    -webkit-font-feature-settings: "ss01";
    font-feature-settings: "ss01";

    font-size: 12px;
    font-weight: 400;

    line-height: 1.8;

    white-space: nowrap;
  }


  /* --------------------------------------------------------
     Share Hover
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-mobile-share-button:hover {
    background: transparent;
    color: #888;
  }

  .blog-node-page .happyset-article-mobile-share-button:hover span {
    color: #888;
  }

  .blog-node-page .happyset-article-mobile-share-button:hover svg {
    fill: #00bf6f;
  }


  /* --------------------------------------------------------
     Share Focus
     -------------------------------------------------------- */

  .blog-node-page .happyset-article-mobile-share-button:focus {
    outline: none;
  }

  .blog-node-page .happyset-article-mobile-share-button:focus-visible {
    outline: 2px solid #00bf6f;
    outline-offset: 3px;
    border-radius: 3px;
  }

}




























/* ==========================================================
   Article Content + Latest Articles
   ========================================================== */

/* ==========================================================
   Article Content
   ========================================================== */

.blog-node-page .group-article-content {
  width: 100%;
}

.blog-node-page .group-article-content p {
  margin: 0 0 24px;
  color: #444;
  font-family: IRANSansX;
  font-size: 15px;
  font-weight: 400;
  line-height: 2.25;
  text-align: justify;
}

.blog-node-page .group-article-content p a,
.blog-node-page .group-article-content li a {
  color: #333;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dashed #aaa;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.blog-node-page .group-article-content p a:hover,
.blog-node-page .group-article-content li a:hover {
  color: #00bf6f;
  border-color: #00bf6f;
}

.blog-node-page .group-article-content h2 {
  margin: 38px 0 16px;
  color: #222;
  font-family: IRANSansX;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.8;
}

.blog-node-page .group-article-content h3 {
  margin: 30px 0 14px;
  color: #222;
  font-family: IRANSansX;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.blog-node-page .group-article-content ul {
  margin: 0 0 24px;
  padding-right: 24px;
  padding-left: 0;
  color: #444;
  font-family: IRANSansX;
  font-size: 15px;
  line-height: 2.2;
}

.blog-node-page .group-article-content ul li {
  margin-bottom: 8px;
  padding-right: 4px;
}

.blog-node-page .group-article-content ul li:last-child {
  margin-bottom: 0;
}

.blog-node-page .group-article-content ul li p {
  margin: 0;
  font-size: 15px;
  line-height: 2.2;
}

.blog-node-page .group-article-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 28px auto;
  border-radius: 8px;
}


/* ==========================================================
   Latest Articles
   ========================================================== */

.blog-node-page .group-latest-articles {
  width: 100%;
}

.blog-node-page .group-latest-articles .view-content {
  display: flex;
  flex-direction: column;
}

.blog-node-page .group-latest-articles .views-row {
  display: grid;
  grid-template-columns: 77px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #eee;
}

.blog-node-page .group-latest-articles .views-row:first-child {
  padding-top: 0;
}

.blog-node-page .group-latest-articles .views-row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.blog-node-page .group-latest-articles .views-field-field-image {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 77px;
}

.blog-node-page .group-latest-articles .views-field-field-image a {
  display: block;
  width: 77px;
  height: 48px;
  overflow: hidden;
  border-radius: 6px;
}

.blog-node-page .group-latest-articles .views-field-field-image img {
  display: block;
  width: 77px;
  height: 48px;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.blog-node-page .group-latest-articles .views-row:hover .views-field-field-image img {
  transform: scale(1.05);
}

.blog-node-page .group-latest-articles .views-field-title {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.blog-node-page .group-latest-articles .views-field-title h3 {
  margin: 0;
  color: #333;
  font-family: IRANSansX;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.75;
}

.blog-node-page .group-latest-articles .views-field-title a {
  display: -webkit-box;
  overflow: hidden;
  color: #333;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color 0.15s ease;
}

.blog-node-page .group-latest-articles .views-field-title a:hover {
  color: #00bf6f;
}

.blog-node-page .group-latest-articles .views-field-created {
  grid-column: 2;
  grid-row: 2;
  margin-top: 4px;
  color: #999;
  font-family: IRANSansX;
  font-size: 11px;
  line-height: 1.6;
  -moz-font-feature-settings: "ss01";
  -webkit-font-feature-settings: "ss01";
  font-feature-settings: "ss01";
}


/* ==========================================================
   Mobile
   ========================================================== */

@media (max-width: 991.98px) {
  .blog-node-page .group-article-content p {
    margin-bottom: 22px;
    font-size: 14px;
    line-height: 2.2;
  }

  .blog-node-page .group-article-content p a,
  .blog-node-page .group-article-content li a {
    font-size: 14px;
  }

  .blog-node-page .group-article-content h2 {
    margin: 34px 0 14px;
    font-size: 19px;
    line-height: 1.8;
  }

  .blog-node-page .group-article-content h3 {
    margin: 28px 0 12px;
    font-size: 17px;
    line-height: 1.8;
  }

  .blog-node-page .group-article-content ul {
    margin-bottom: 22px;
    padding-right: 22px;
    font-size: 14px;
    line-height: 2.2;
  }

  .blog-node-page .group-article-content ul li p {
    font-size: 14px;
  }

  .blog-node-page .group-latest-articles {
    margin-top: 40px;
  }
}
















/* =========================================================
   Happyset - Contact Page
   ========================================================= */

.happyset-contact {
    direction: rtl;
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px 0 30px;
    color: #333;
    font-family: inherit;
}

/* Intro */

.happyset-contact-intro {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding: 18px 22px;
    background: #f7fffb;
    border: 1px solid #e2f5ec;
    border-radius: 14px;
}

.happyset-contact-intro-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00bf6f;
    color: #fff;
    border-radius: 50%;
    font-size: 20px;
}

.happyset-contact-intro-content {
    flex: 1;
}

.happyset-contact-intro-content p {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: #666;
}

/* Contact Cards Grid */

.happyset-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 15px;
}

/* Contact Card */

.happyset-contact-card {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 92px;
    padding: 17px 20px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    text-decoration: none !important;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.happyset-contact-card:hover {
    border-color: rgba(0, 191, 111, .45);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
    transform: translateY(-2px);
}

/* Contact Card Icon */

.happyset-contact-card-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 15px;
    background: #effbf5;
    color: #00bf6f;
    border-radius: 12px;
    font-size: 20px;
    transition: background .25s ease, color .25s ease;
}

.happyset-contact-card:hover .happyset-contact-card-icon {
    background: #00bf6f;
    color: #fff;
}

.happyset-contact-card-icon img {
    width: 22px;
    height: 22px;
    display: block;
}

/* Contact Card Content */

.happyset-contact-card-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.happyset-contact-card-label {
    display: block;
    font-size: 12px;
    line-height: 1.6;
    color: #999;
}

.happyset-contact-card-value {
    display: block;
    direction: ltr;
    text-align: right;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 600;
    color: #333;
    word-break: break-word;
}

.happyset-contact-card:hover .happyset-contact-card-value {
    color: #00a962;
}

/* Address */

.happyset-contact-address {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 25px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.happyset-contact-address:hover {
    border-color: rgba(0, 191, 111, .35);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}

/* Address Icon */

.happyset-contact-address-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #effbf5;
    color: #00bf6f;
    border-radius: 12px;
    font-size: 21px;
}

/* Address Content */

.happyset-contact-address-content {
    flex: 1;
}

.happyset-contact-address-content > .happyset-contact-card-label {
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #777;
}

.happyset-contact-address-content p {
    margin: 0;
    font-size: 14px;
    line-height: 2.2;
    color: #444;
}

/* Post Code */

.happyset-contact-postcode {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding: 7px 12px;
    background: #f7f7f7;
    border-radius: 7px;
    font-size: 12px;
}

.happyset-contact-postcode span {
    color: #999;
}

.happyset-contact-postcode strong {
    direction: ltr;
    font-size: 13px;
    color: #555;
}

/* Tablet / Mobile */

@media (max-width: 767px) {
    .happyset-contact {
        padding: 5px 0 25px;
    }

    .happyset-contact-intro {
        gap: 14px;
        margin-bottom: 20px;
        padding: 17px 18px;
        border-radius: 13px;
    }

    .happyset-contact-intro-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .happyset-contact-intro-content p {
        font-size: 13px;
        line-height: 2;
    }

    .happyset-contact-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 12px;
    }

    .happyset-contact-card {
        min-height: 82px;
        padding: 15px 17px;
        border-radius: 13px;
    }

    .happyset-contact-address {
        padding: 20px;
        border-radius: 13px;
    }
}

/* Small Mobile */

@media (max-width: 480px) {
    .happyset-contact-intro {
        align-items: flex-start;
        gap: 12px;
        padding: 15px;
    }

    .happyset-contact-intro-icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 17px;
    }

    .happyset-contact-intro-content p {
        font-size: 12px;
        line-height: 2.1;
    }

    .happyset-contact-card {
        min-height: 76px;
        padding: 13px 14px;
    }

    .happyset-contact-card-icon {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        margin-left: 12px;
        font-size: 18px;
    }

    .happyset-contact-card-label {
        font-size: 11px;
    }

    .happyset-contact-card-value {
        font-size: 14px;
    }

    .happyset-contact-address {
        gap: 12px;
        padding: 17px 14px;
    }

    .happyset-contact-address-icon {
        flex-basis: 43px;
        width: 43px;
        height: 43px;
        font-size: 18px;
    }

    .happyset-contact-address-content > .happyset-contact-card-label {
        margin-bottom: 6px;
        font-size: 12px;
    }

    .happyset-contact-address-content p {
        font-size: 12px;
        line-height: 2.2;
    }

    .happyset-contact-postcode {
        gap: 8px;
        margin-top: 12px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .happyset-contact-postcode strong {
        font-size: 12px;
    }
}





















/* =========================================================
   Happyset - About Page
   ========================================================= */

.happyset-about-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
    color: #444;
    font-family: inherit;
}

.happyset-about-slogan {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-about-page {
        padding: 5px 15px 30px;
    }

    .happyset-about-slogan {
        margin-top: 28px !important;
        padding-top: 20px;
        font-size: 15px;
    }
}













/* =========================================================
   Happyset - Return Policy Page
   ========================================================= */

.happyset-return-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
    color: #444;
    font-family: inherit;
}

.happyset-return-note {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-return-page {
        padding: 5px 15px 30px;
    }

    .happyset-return-note {
        margin-top: 28px !important;
        padding-top: 20px;
        font-size: 15px;
    }
}










/* =========================================================
   Happyset - Secure Payment Page
   ========================================================= */

.happyset-secure-payment-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
}

.happyset-secure-payment-note {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-secure-payment-page {
        padding: 5px 15px 30px;
    }

    .happyset-secure-payment-note {
        margin-top: 28px !important;
        padding-top: 20px;
    }
}











/* =========================================================
   Happyset - Best Price Page
   ========================================================= */

.happyset-best-price-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
}

.happyset-best-price-note {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-best-price-page {
        padding: 5px 15px 30px;
    }

    .happyset-best-price-note {
        margin-top: 28px !important;
        padding-top: 20px;
    }
}
















/* =========================================================
   Happyset - Customer Support Page
   ========================================================= */

.happyset-support-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
}

.happyset-support-note {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-support-page {
        padding: 5px 15px 30px;
    }

    .happyset-support-note {
        margin-top: 28px !important;
        padding-top: 20px;
    }
}
















/* =========================================================
   Happyset - Shipping Page
   ========================================================= */

.happyset-shipping-page {
    direction: rtl;
    max-width: 850px;
    margin: 0 auto;
    padding: 10px 0 40px;
}

.happyset-shipping-note {
    margin-top: 34px !important;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    color: #00bf6f;
}

/* Mobile */

@media (max-width: 767px) {
    .happyset-shipping-page {
        padding: 5px 15px 30px;
    }

    .happyset-shipping-note {
        margin-top: 28px !important;
        padding-top: 20px;
    }
}




























/* =========================================
   Happyset - FAQ Page
   ========================================= */

.faq-page .accordion {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.faq-page .accordion-item {
    margin-bottom: 12px !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.faq-page .accordion-button {
    position: relative !important;
    width: 100% !important;
    padding: 16px 20px 16px 60px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #333333 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.8 !important;
    text-align: right !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease !important, color 0.2s ease !important;
}

.faq-page .accordion-button::after {
    display: none !important;
}

.faq-page .accordion-button::before {
    content: "+" !important;
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #f0faf6 !important;
    color: #00bf6f !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease !important, color 0.2s ease !important;
}

.faq-page .accordion-button:not(.collapsed) {
    background: #f8fdfb !important;
    color: #00bf6f !important;
    box-shadow: none !important;
}

.faq-page .accordion-button:not(.collapsed)::before {
    content: "−" !important;
    background: #00bf6f !important;
    color: #ffffff !important;
    font-size: 19px !important;
}

.faq-page .accordion-button:hover {
    background: #f8fdfb !important;
    color: #00bf6f !important;
}

.faq-page .accordion-button:hover::before {
    background: #00bf6f !important;
    color: #ffffff !important;
}

.faq-page .accordion-collapse {
    border: 0 !important;
}

.faq-page .accordion-body {
    padding: 0 20px 20px 20px !important;
    border: 0 !important;
    background: #f8fdfb !important;
    color: #555555 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 2.1 !important;
    text-align: right !important;
}

.faq-page .accordion-body p {
    margin: 0 !important;
    padding: 0 !important;
    color: #555555 !important;
    font-size: 14px !important;
    line-height: 2.1 !important;
    text-align: justify !important;
}

.faq-page .accordion-body a {
    color: #333;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px dashed #aaa;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.faq-page .accordion-body a:hover {
    color: #00bf6f;
    border-color: #00bf6f;
}

@media (max-width: 767.98px) {
    .faq-page .accordion-item {
        margin-bottom: 9px !important;
        border-radius: 9px !important;
    }

    .faq-page .accordion-button {
        padding: 13px 14px 13px 48px !important;
        font-size: 14px !important;
        line-height: 1.8 !important;
    }

    .faq-page .accordion-button::before {
        left: 14px !important;
        width: 25px !important;
        height: 25px !important;
        line-height: 25px !important;
        font-size: 18px !important;
    }

    .faq-page .accordion-button:not(.collapsed)::before {
        font-size: 17px !important;
    }

    .faq-page .accordion-body {
        padding: 0 14px 16px 14px !important;
        font-size: 13px !important;
        line-height: 2 !important;
    }

    .faq-page .accordion-body p {
        font-size: 13px !important;
        line-height: 2 !important;
        text-align: right !important;
    }
}






/* =========================================================
   HAPPYSET - ADDRESS BOOK
   ========================================================= */

.address-book__container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}


/* Add New Address */
.address-book__add-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 24px;
    padding: 11px 22px;

    background: #00bf6f;
    color: #fff !important;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;

    text-decoration: none !important;

    transition: all 0.2s ease;
}

.address-book__add-link:hover {
    background: #00aa63;
    color: #fff !important;
    transform: translateY(-1px);
}


/* =========================================================
   ADDRESS LIST - 2 COLUMNS
   ========================================================= */

.address-book__profiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;

    width: 100%;
}


/* =========================================================
   ADDRESS CARD
   ========================================================= */

.address-book__profile {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 22px 24px;

    background: #fff;

    border: 1px solid #e5e7eb;
    border-radius: 12px;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.address-book__profile:hover {
    border-color: #00bf6f;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
}


/* =========================================================
   DEFAULT ADDRESS
   ========================================================= */

.address-book__profile--default {
    background: #f7fffb;
    border-color: #00bf6f;
}


/* Default Badge */
.address-book__profile--default::before {
    content: "آدرس پیش‌فرض";

    display: inline-flex;
    align-items: center;

    position: absolute;
    top: 18px;
    left: 24px;

    padding: 5px 10px;

    background: #00bf6f;
    color: #fff;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}


/* =========================================================
   PROFILE / ADDRESS
   ========================================================= */

.address-book__profile .profile {
    margin: 0;
    width: 100%;
}

.address-book__profile .field--name-address {
    margin: 0;
}

.address-book__profile .address {
    margin: 0;

    color: #555;

    font-size: 14px;
    line-height: 2;
}


/* Person Name */
.address-book__profile .given-name,
.address-book__profile .family-name {
    color: #222;
    font-weight: 600;
}


/* =========================================================
   OPERATIONS
   ========================================================= */

.address-book__operations {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: auto;
    padding-top: 18px;

    border-top: 1px solid #eeeeee;
}


/* Operation Links */
.address-book__operations a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 36px;
    padding: 7px 15px;

    border-radius: 7px;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none !important;

    transition: all 0.2s ease;
}


/* Edit */
.address-book__edit-link {
    background: #f1f8f5;
    color: #00a963 !important;

    border: 1px solid #d8f1e5;
}

.address-book__edit-link:hover {
    background: #00bf6f;
    color: #fff !important;

    border-color: #00bf6f;
}


/* Delete */
.address-book__delete-link {
    background: #fff5f5;
    color: #dc3545 !important;

    border: 1px solid #f3d4d7;
}

.address-book__delete-link:hover {
    background: #dc3545;
    color: #fff !important;

    border-color: #dc3545;
}


/* Set Default */
.address-book__set-default-link {
    background: #f7f7f7;
    color: #555 !important;

    border: 1px solid #e5e5e5;
}

.address-book__set-default-link:hover {
    background: #eeeeee;
    color: #333 !important;
}


/* =========================================================
   TABLET / MOBILE - ADDRESS BOOK
   ========================================================= */

@media (max-width: 767.98px) {

    /* Content */
    #block-happyset-content {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    #block-happyset-content .content {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }


    /* Main container */
    .address-book__container {
        display: block;
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }


    /* Add address button */
    .address-book__add-link {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        max-width: 100%;
        box-sizing: border-box;

        margin: 0 0 18px;
    }


    /* Address cards - one column */
    .address-book__profiles {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;

        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;

        box-sizing: border-box;

        gap: 14px;
    }


    /* Address card */
    .address-book__profile {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin: 0;

        box-sizing: border-box;
        overflow: hidden;
    }


    /* Profile inside card */
    .address-book__profile .profile {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin: 0;

        box-sizing: border-box;
    }


    /* Address text */
    .address-book__profile .address {
        max-width: 100%;
        overflow-wrap: anywhere;
    }


    /* Operations */
    .address-book__operations {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .address-book__operations a {
        box-sizing: border-box;
    }

}














/* =========================================================
   HAPPYSET - MY ORDERS
   ========================================================= */

.view-commerce-user-orders {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

.view-commerce-user-orders .view-content {
    width: 100% !important;
}

.view-commerce-user-orders .table-responsive {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.view-commerce-user-orders .views-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* =========================================================
   TABLE HEADER
   ========================================================= */

.view-commerce-user-orders .views-table thead th {
    padding: 15px 18px !important;
    background: #f7faf9 !important;
    color: #333 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
    text-align: right !important;
}

.view-commerce-user-orders .views-table thead th a {
    color: #333 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.view-commerce-user-orders .views-table thead th a:hover {
    color: #333 !important;
}

.view-commerce-user-orders .views-table thead th:first-child {
    padding-right: 22px !important;
}

.view-commerce-user-orders .views-table thead th:last-child {
    padding-left: 22px !important;
}

/* مرتب‌سازی */

.view-commerce-user-orders .views-table thead .tablesort {
    display: none !important;
}

/* =========================================================
   TABLE BODY
   ========================================================= */

.view-commerce-user-orders .views-table tbody tr {
    background: #fff !important;
}

.view-commerce-user-orders .views-table tbody tr:hover {
    background: #fff !important;
}

.view-commerce-user-orders .views-table tbody td {
    padding: 16px 18px !important;
    background: #fff !important;
    color: #555 !important;
    border: 0 !important;
    border-bottom: 1px solid #eeeeee !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    vertical-align: middle !important;
}

.view-commerce-user-orders .views-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.view-commerce-user-orders .views-table tbody td:first-child {
    padding-right: 22px !important;
}

.view-commerce-user-orders .views-table tbody td:last-child {
    padding-left: 22px !important;
}

/* =========================================================
   ORDER NUMBER
   ========================================================= */

.view-commerce-user-orders .views-field-order-number {
    color: #222 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.view-commerce-user-orders .views-field-order-number a {
    color: #00a963 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-family:IRANSansX;
    -moz-font-feature-settings:"ss01";
    -webkit-font-feature-settings:"ss01";
    font-feature-settings:"ss01";
}

.view-commerce-user-orders .views-field-order-number a:hover {
    color: #008f54 !important;
}

/* =========================================================
   DATE
   ========================================================= */

.view-commerce-user-orders .views-field-placed {
    color: #555 !important;
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
    white-space: nowrap !important;
}

.view-commerce-user-orders .views-field-placed time {
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
}

/* =========================================================
   TOTAL PRICE
   ========================================================= */

.view-commerce-user-orders .views-field-total-price__number {
    color: #222 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.view-commerce-user-orders .views-table tbody .views-field-total-price__number::after {
    content: " تومان" !important;
    margin-right: 4px !important;
    color: #777 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
}

/* =========================================================
   ORDER STATUS
   ========================================================= */

.view-commerce-user-orders .views-field-state {
    color: #666 !important;
    white-space: nowrap !important;
}

.view-commerce-user-orders .views-field-state {
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* =========================================================
   DETAILS BUTTON
   ========================================================= */

.view-commerce-user-orders .order-details-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 7px 14px !important;
    background: #f1f8f5 !important;
    color: #00a963 !important;
    border: 1px solid #d8f1e5 !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.view-commerce-user-orders .order-details-link:hover {
    background: #00bf6f !important;
    color: #fff !important;
    border-color: #00bf6f !important;
}

/* =========================================================
   EMPTY RESULT
   ========================================================= */

.view-commerce-user-orders .view-empty {
    padding: 35px 20px !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 2 !important;
    text-align: center !important;
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 767.98px) {
    #block-happyset-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    #block-happyset-content .content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .view-commerce-user-orders {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .view-commerce-user-orders .view-content {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .view-commerce-user-orders .table-responsive {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .view-commerce-user-orders .views-table {
        width: 100% !important;
        min-width: 650px !important;
        border-radius: 10px !important;
    }

    .view-commerce-user-orders .views-table thead th {
        padding: 13px 14px !important;
        font-size: 12px !important;
    }

    .view-commerce-user-orders .views-table thead th a {
        font-size: 12px !important;
    }

    .view-commerce-user-orders .views-table tbody td {
        padding: 14px !important;
        font-size: 12px !important;
    }

    .view-commerce-user-orders .views-field-placed,
    .view-commerce-user-orders .views-field-placed time {
        font-family: IRANSansX !important;
        -moz-font-feature-settings: "ss01" !important;
        -webkit-font-feature-settings: "ss01" !important;
        font-feature-settings: "ss01" !important;
    }

    .view-commerce-user-orders .views-table tbody .views-field-total-price__number::after {
        font-size: 11px !important;
    }

    .view-commerce-user-orders .order-details-link {
        min-height: 34px !important;
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
}











































/* ================================
   ORDER DETAILS
================================ */

#block-happyset-content {
    direction: rtl !important;
    overflow-x: hidden !important;
}

#block-happyset-content .customer-information,
#block-happyset-content .order-information {
    width: 100% !important;
}

#block-happyset-content .customer-information__shipping {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 10px !important;
    padding: 22px 24px !important;
    margin-bottom: 25px !important;
}

#block-happyset-content .customer-information__shipping > .field__label,
#block-happyset-content .field--name-shipping-method > .field__label {
    color: #333 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
}

#block-happyset-content .customer-information__shipping .profile {
    margin: 0 !important;
}

#block-happyset-content .customer-information__shipping .address {
    color: #555 !important;
    font-family: IRANSansX !important;
    font-size: 14px !important;
    line-height: 2 !important;
    margin: 0 !important;
}

#block-happyset-content .customer-information__shipping .postal-code {
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
}

#block-happyset-content .customer-information__shipping .field--name-shipping-method {
    border-top: 1px solid #eee !important;
    margin-top: 18px !important;
    padding-top: 18px !important;
}

#block-happyset-content .customer-information__shipping .field--name-shipping-method .field__item {
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

#block-happyset-content .order-information {
    background: #fff !important;
}

#block-happyset-content .order-information > .field--name-placed,
#block-happyset-content .order-information > .field--name-state {
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid #eee !important;
    padding: 13px 0 !important;
    margin: 0 !important;
}

#block-happyset-content .order-information > .field--name-placed .field__label,
#block-happyset-content .order-information > .field--name-state .field__label {
    color: #555 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    min-width: 110px !important;
    margin: 0 !important;
}

#block-happyset-content .order-information > .field--name-placed .field__item,
#block-happyset-content .order-information > .field--name-state .field__item {
    color: #555 !important;
    font-size: 14px !important;
    margin: 0 !important;
}

#block-happyset-content .order-information > .field--name-placed time {
    direction: rtl !important;
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
}

#block-happyset-content .order-information > .field--name-state .field__item {
    color: #00bf6f !important;
    font-weight: 600 !important;
}

#block-happyset-content .field--name-order-items {
    margin-top: 25px !important;
}

#block-happyset-content .field--name-order-items .table-responsive {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#block-happyset-content .field--name-order-items .views-table {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #e8e8e8 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

#block-happyset-content .field--name-order-items .views-table thead th {
    background: #f7f7f7 !important;
    color: #333 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: right !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    border: 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    padding: 13px 15px !important;
}

#block-happyset-content .field--name-order-items .views-table tbody td {
    background: #fff !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    vertical-align: middle !important;
    border: 0 !important;
    border-bottom: 1px solid #eee !important;
    padding: 14px 15px !important;
}

#block-happyset-content .field--name-order-items .views-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

#block-happyset-content .field--name-order-items .views-table tbody tr,
#block-happyset-content .field--name-order-items .views-table tbody tr:hover,
#block-happyset-content .field--name-order-items .views-table tbody tr:hover td {
    background: #fff !important;
}

#block-happyset-content .field--name-order-items .views-field-title {
    min-width: 300px !important;
}

#block-happyset-content .field--name-order-items .views-field-quantity {
    text-align: right !important;
    direction: rtl !important;
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
    white-space: nowrap !important;
}

#block-happyset-content .field--name-order-items .views-field-unit-price__number,
#block-happyset-content .field--name-order-items .views-field-total-price__number {
    direction: rtl !important;
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
    white-space: nowrap !important;
}

#block-happyset-content .field--name-order-items .views-table tbody .views-field-unit-price__number::after,
#block-happyset-content .field--name-order-items .views-table tbody .views-field-total-price__number::after {
    content: " تومان" !important;
    color: #777 !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    margin-right: 4px !important;
}

#block-happyset-content .field--name-total-price {
    margin-top: 25px !important;
}

#block-happyset-content .field--name-total-price > div {
    width: 100% !important;
    max-width: 500px !important;
    margin-right: auto !important;
}

#block-happyset-content .order-total-line {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 10px 0 !important;
    color: #555 !important;
    font-size: 13px !important;
}

#block-happyset-content .order-total-line-label {
    color: #555 !important;
    font-weight: 500 !important;
}

#block-happyset-content .order-total-line-value {
    direction: rtl !important;
    color: #555 !important;
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

#block-happyset-content .order-total-line__total {
    border-top: 1px solid #ddd !important;
    margin-top: 5px !important;
    padding-top: 15px !important;
}

#block-happyset-content .order-total-line__total .order-total-line-label {
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

#block-happyset-content .order-total-line__total .order-total-line-value {
    color: #00bf6f !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

#block-happyset-content .price-currency {
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    margin-right: 4px !important;
}

#block-happyset-content .order-total-line__shipping .order-total-line-value,
#block-happyset-content .order-total-line__adjustment .order-total-line-value {
    font-family: IRANSansX !important;
    -moz-font-feature-settings: "ss01" !important;
    -webkit-font-feature-settings: "ss01" !important;
    font-feature-settings: "ss01" !important;
}

@media (max-width: 767px) {
    #block-happyset-content .customer-information__shipping {
        padding: 18px !important;
        margin-bottom: 20px !important;
    }
    #block-happyset-content .customer-information__shipping > .field__label,
    #block-happyset-content .field--name-shipping-method > .field__label {
        font-size: 14px !important;
    }
    #block-happyset-content .customer-information__shipping .address,
    #block-happyset-content .customer-information__shipping .field--name-shipping-method .field__item {
        font-size: 13px !important;
    }
    #block-happyset-content .order-information > .field--name-placed,
    #block-happyset-content .order-information > .field--name-state {
        padding: 11px 0 !important;
    }
    #block-happyset-content .order-information > .field--name-placed .field__label,
    #block-happyset-content .order-information > .field--name-state .field__label {
        min-width: 90px !important;
        font-size: 13px !important;
    }
    #block-happyset-content .order-information > .field--name-placed .field__item,
    #block-happyset-content .order-information > .field--name-state .field__item {
        font-size: 13px !important;
    }
    #block-happyset-content .field--name-order-items {
        margin-top: 20px !important;
    }
    #block-happyset-content .field--name-order-items .table-responsive {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
    }
    #block-happyset-content .field--name-order-items .views-table {
        min-width: 650px !important;
    }
    #block-happyset-content .field--name-order-items .views-table thead th,
    #block-happyset-content .field--name-order-items .views-table tbody td {
        padding: 12px !important;
    }
    #block-happyset-content .field--name-total-price {
        margin-top: 20px !important;
    }
    #block-happyset-content .field--name-total-price > div {
        max-width: none !important;
    }
    #block-happyset-content .order-total-line {
        font-size: 12px !important;
    }
    #block-happyset-content .order-total-line__total .order-total-line-label {
        font-size: 13px !important;
    }
    #block-happyset-content .order-total-line__total .order-total-line-value {
        font-size: 15px !important;
    }
}

























/* HappySet Account Dashboard */

.happyset-account-dashboard {
  color: #333;
}

.happyset-account-dashboard .dashboard-row {
  row-gap: 24px;
}

.happyset-account-dashboard .dashboard-row > .group-right,
.happyset-account-dashboard .dashboard-row > .group-left {
  display: flex;
}

.happyset-account-dashboard .dashboard-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 14px rgba(0, 0, 0, .04);
}

.happyset-account-dashboard .dashboard-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  border-bottom: 1px solid #e9ecef;
  background: #fff;
}

.happyset-account-dashboard .dashboard-card-title {
  position: relative;
  margin: 0;
  padding-right: 12px;
  color: #00995a;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.8;
}

.happyset-account-dashboard .dashboard-card-title::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 3px;
  height: 20px;
  border-radius: 3px;
  background: #00bf6f;
  transform: translateY(-50%);
}

.happyset-account-dashboard .dashboard-card-content {
  flex: 1;
  padding: 20px;
}

.happyset-account-dashboard .dashboard-card-footer {
  padding: 13px 20px;
  border-top: 1px solid #e9ecef;
  background: #fbfdfc;
}

.happyset-account-dashboard .dashboard-card-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #00995a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.8;
  text-decoration: none;
  transition: color .2s ease;
}

.happyset-account-dashboard .dashboard-card-link:hover,
.happyset-account-dashboard .dashboard-card-link:focus {
  color: #00bf6f;
  text-decoration: none;
}

/* Account */

.happyset-account-dashboard .dashboard-account-card .dashboard-card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.happyset-account-dashboard .dashboard-account-card .field--label-inline {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid #f0f1f2;
}

.happyset-account-dashboard .dashboard-account-card .field--label-inline:first-child {
  padding-top: 0;
}

.happyset-account-dashboard .dashboard-account-card .field--label-inline:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.happyset-account-dashboard .dashboard-account-card .field__label {
  flex: 0 0 105px;
  margin: 0;
  color: #999;
  font-size: 13px;
  font-weight: 500;
}

.happyset-account-dashboard .dashboard-account-card .field__item {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}

.happyset-account-dashboard .dashboard-account-card .field--name-field-phone-number .field__item {
  font-family: IRANSansX !important;
  -moz-font-feature-settings: "ss01" !important;
  -webkit-font-feature-settings: "ss01" !important;
  font-feature-settings: "ss01" !important;
}

/* Address */

.happyset-account-dashboard .dashboard-address-card .dashboard-card-content {
  display: flex;
  align-items: center;
}

.happyset-account-dashboard .dashboard-address-card .field--name-customer-profiles,
.happyset-account-dashboard .dashboard-address-card .field__item,
.happyset-account-dashboard .dashboard-address-card .field--name-address {
  width: 100%;
}

.happyset-account-dashboard .dashboard-address-card .address {
  margin: 0;
  color: #555;
  font-size: 13px;
  line-height: 2.15;
}

.happyset-account-dashboard .dashboard-address-card .given-name,
.happyset-account-dashboard .dashboard-address-card .family-name {
  color: #333;
  font-weight: 700;
}

.happyset-account-dashboard .dashboard-address-card .administrative-area,
.happyset-account-dashboard .dashboard-address-card .locality {
  color: #666;
}

.happyset-account-dashboard .dashboard-address-card .address-line1 {
  color: #444;
}

.happyset-account-dashboard .dashboard-address-card .postal-code {
  color: #777;
  font-family: IRANSansX !important;
  -moz-font-feature-settings: "ss01" !important;
  -webkit-font-feature-settings: "ss01" !important;
  font-feature-settings: "ss01" !important;
}

/* Orders */

.happyset-account-dashboard .group-footer {
  margin-top: 24px;
}

.happyset-account-dashboard .dashboard-orders-card {
  height: auto;
}

.happyset-account-dashboard .dashboard-orders-header {
  padding-top: 17px;
  padding-bottom: 17px;
}

.happyset-account-dashboard .dashboard-orders-link {
  flex-shrink: 0;
}

.happyset-account-dashboard .dashboard-orders-card .dashboard-card-content {
  padding: 0;
}

.happyset-account-dashboard .dashboard-orders-card .field--name-dynamic-block-fielduser-chnd-sfrsh-akhr-mshtry,
.happyset-account-dashboard .dashboard-orders-card .views-element-container,
.happyset-account-dashboard .dashboard-orders-card .view,
.happyset-account-dashboard .dashboard-orders-card .view-content {
  width: 100%;
}

.happyset-account-dashboard .dashboard-orders-card .table-responsive {
  width: 100%;
  margin: 0;
  padding: 0;
}

.happyset-account-dashboard .dashboard-orders-card table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.happyset-account-dashboard .dashboard-orders-card thead th {
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid #e9ecef;
  background: #e8fff4;
  color: #555;
  font-family: IRANSansX;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  white-space: nowrap;
}

.happyset-account-dashboard .dashboard-orders-card thead th a {
  color: #555;
  font-family: IRANSansX;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  text-decoration: none;
}

.happyset-account-dashboard .dashboard-orders-card tbody td {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid #f0f1f2;
  color: #555;
  
  font-family: IRANSansX !important;
  -moz-font-feature-settings: "ss01" !important;
  -webkit-font-feature-settings: "ss01" !important;
  font-feature-settings: "ss01" !important;
  
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
  vertical-align: middle;
}

.happyset-account-dashboard .dashboard-orders-card tbody tr:last-child td {
  border-bottom: 0;
}

.happyset-account-dashboard .dashboard-orders-card tbody tr:hover {
  background: #fbfdfc;
}

.happyset-account-dashboard .dashboard-orders-card tbody td a {
  color: #00995a;
  font-family: IRANSansX;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.happyset-account-dashboard .dashboard-orders-card tbody td a:hover,
.happyset-account-dashboard .dashboard-orders-card tbody td a:focus {
  color: #00bf6f;
  text-decoration: none;
}

/* Persian numerals */

.happyset-account-dashboard .dashboard-orders-card .views-field-order-number,
.happyset-account-dashboard .dashboard-orders-card .views-field-created,
.happyset-account-dashboard .dashboard-orders-card .views-field-total-price,
.happyset-account-dashboard .dashboard-orders-card .views-field-state,
.happyset-account-dashboard .dashboard-orders-card .views-field-total-price__number {
  font-family: IRANSansX !important;
  -moz-font-feature-settings: "ss01" !important;
  -webkit-font-feature-settings: "ss01" !important;
  font-feature-settings: "ss01" !important;
}

.happyset-account-dashboard .dashboard-orders-card .views-field-order-number,
.happyset-account-dashboard .dashboard-orders-card .views-field-total-price,
.happyset-account-dashboard .dashboard-orders-card .views-field-state {
  white-space: nowrap;
}

.happyset-account-dashboard .dashboard-orders-card .views-field-order-number {
  font-weight: 600;
}

.happyset-account-dashboard .dashboard-orders-card .views-field-state {
  color: #00995a;
  font-weight: 600;
}

/* Currency */

.happyset-account-dashboard .dashboard-orders-card tbody .views-field-total-price__number::after {
  content: " تومان" !important;
  margin-right: 4px !important;
  color: #777 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* Mobile */

@media (max-width: 767.98px) {
  .happyset-account-dashboard .dashboard-row {
    row-gap: 16px;
  }

  .happyset-account-dashboard .dashboard-card-header {
    padding: 15px 16px;
  }

  .happyset-account-dashboard .dashboard-card-content {
    padding: 17px 16px;
  }

  .happyset-account-dashboard .dashboard-card-footer {
    padding: 12px 16px;
  }

  .happyset-account-dashboard .dashboard-account-card .field--label-inline {
    padding: 10px 0;
  }

  .happyset-account-dashboard .dashboard-account-card .field__label {
    flex-basis: 95px;
  }

  .happyset-account-dashboard .dashboard-address-card .address {
    line-height: 2;
  }

  .happyset-account-dashboard .group-footer {
    margin-top: 16px;
  }

  .happyset-account-dashboard .dashboard-orders-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .happyset-account-dashboard .dashboard-orders-card .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .happyset-account-dashboard .dashboard-orders-card table {
    min-width: 650px;
  }
}

@media (max-width: 575.98px) {
  .happyset-account-dashboard .dashboard-card-title {
    font-size: 16px;
  }

  .happyset-account-dashboard .dashboard-card-title::before {
    height: 18px;
  }

  .happyset-account-dashboard .dashboard-account-card .field--label-inline {
    align-items: flex-start;
  }

  .happyset-account-dashboard .dashboard-account-card .field__label {
    flex-basis: 90px;
  }

  .happyset-account-dashboard .dashboard-account-card .field__item {
    font-size: 13px;
  }
}


























/* HappySet Account Edit */
.user-form {
  max-width: 720px;
  margin-inline: auto;
}

.user-form #edit-account {
  margin-bottom: 32px;
  padding: 24px;
  border: 1px solid #b8eed7;
  border-radius: 10px;
  background: #f8fffc;
}

.user-form .account-login-info {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d8f5e8;
}

.user-form .account-login-title {
  position: relative;
  margin-bottom: 10px;
  padding-right: 14px;
  color: #00995a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.user-form .account-login-title::before {
  position: absolute;
  top: 5px;
  right: 0;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #00bf6f;
  content: "";
}

.user-form .account-login-description {
  margin-bottom: 0;
  color: #666;
  font-size: 13px;
  line-height: 2;
}

.user-form #edit-account > .js-form-item-name {
  margin-bottom: 20px;
}

.user-form #edit-account #edit-pass {
  margin-bottom: 0;
}

.user-form #edit-account .form-item__label {
  display: block;
  margin-bottom: 7px;
  color: #333;
  font-size: 14px;
  font-weight: 600;
}

.user-form #edit-account input.form-text {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #dfe5e2;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.user-form #edit-account input.form-text:focus {
  border-color: #00bf6f;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 191, 111, .1);
}

.user-form #edit-account .form-item__description {
  margin-top: 6px;
  color: #999;
  font-size: 12px;
  line-height: 1.8;
}

.user-form #edit-account .password-strength {
  margin-top: 8px;
}

.user-form #edit-account .password-strength__title {
  margin-top: 5px;
  color: #777;
  font-size: 12px;
}

.user-form #edit-account .password-confirm__confirm {
  margin-top: 16px;
}

.user-form #edit-account .password-match-message {
  margin-top: 5px;
  color: #777;
  font-size: 12px;
}

.user-form #edit-account .password-suggestions {
  margin-top: 8px;
}

.user-form > .field--name-field-first-name {
  padding-top: 8px;
  border-top: 1px solid #e9ecef;
}

.user-form > .field--name-field-first-name,
.user-form > .field--name-field-last-name,
.user-form > .field--name-field-phone-number,
.user-form > .field--name-field-birth-date,
.user-form > .field--name-field-gender {
  margin-bottom: 20px;
}

.user-form > .field--name-field-first-name .form-item__label,
.user-form > .field--name-field-last-name .form-item__label,
.user-form > .field--name-field-phone-number .form-item__label,
.user-form > .field--name-field-birth-date .form-item__label,
.user-form > .field--name-field-gender .fieldset__label {
  color: #333;
  font-size: 14px;
  font-weight: 600;
}

.user-form > .field--name-field-first-name input,
.user-form > .field--name-field-last-name input,
.user-form > .field--name-field-phone-number input,
.user-form > .field--name-field-birth-date input {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #dfe5e2;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.user-form > .field--name-field-first-name input:focus,
.user-form > .field--name-field-last-name input:focus,
.user-form > .field--name-field-birth-date input:focus {
  border-color: #00bf6f;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 191, 111, .1);
}

.user-form > .field--name-field-phone-number input[readonly] {
  border-color: #d8f5e8;
  background: #f4fbf8;
  color: #666;
  cursor: not-allowed;
}

.user-form > .field--name-field-gender {
  padding: 14px 16px;
  border: 1px solid #e1f3eb;
  border-radius: 8px;
  background: #fbfffd;
}

.user-form > .field--name-field-gender .fieldset__wrapper {
  padding-top: 8px;
}

.user-form > .field--name-field-gender .form-radios {
  display: flex;
  align-items: center;
  gap: 28px;
}

.user-form > .field--name-field-gender .form-radios .form-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
}

.user-form > .field--name-field-gender .form-radios .form-item input.form-radio {
  position: static;
  inset: auto;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #00bf6f;
}

.user-form > .field--name-field-gender .form-radios .form-item label.option {
  position: static;
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #444;
  font-size: 14px;
  line-height: 1.8;
  white-space: nowrap;
  cursor: pointer;
}

.user-form > .field--name-field-gender .form-radios .form-item input.form-radio:checked + label.option {
  color: #00995a;
  font-weight: 600;
}

.user-form .form-actions {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #e9ecef;
}

.user-form .form-actions .button--primary {
  min-width: 120px;
  min-height: 44px;
  padding: 9px 24px;
  border: 0;
  border-radius: 6px;
  background: #00bf6f;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.user-form .form-actions .button--primary:hover {
  background: #00995a;
  box-shadow: 0 4px 12px rgba(0, 191, 111, .2);
}

.user-form .form-actions .button--primary:active {
  transform: translateY(1px);
}

@media (max-width: 767px) {
  .user-form {
    max-width: none;
  }

  .user-form #edit-account {
    padding: 18px;
    margin-bottom: 28px;
  }

  .user-form .account-login-title {
    font-size: 17px;
  }

  .user-form .account-login-description {
    font-size: 12px;
    line-height: 2;
  }

  .user-form > .field--name-field-gender {
    padding: 13px 14px;
  }

  .user-form > .field--name-field-gender .form-radios {
    gap: 20px;
  }
}

