/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/*
 * Global CSS
 * */

body {
  --white-color: var(--e-global-color-secondary);
  --dark-green: var(--e-global-color-55f6247);
  --btn-color: var(--e-global-color-2aa7cfe);
  --footer-color: var(--e-global-color-268c5ab);
  overflow-x: clip;
}

.br-desktop-none br {
  display: none;
}

figure {
  line-height: 0;
}

.elementor-widget-theme-post-excerpt p:last-child,
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.elementor-widget-text-editor p strong {
  color: var(--e-global-color-primary);
}

.elementor-widget-text-editor ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 20px;
}

.elementor-widget-text-editor ul:last-child {
  margin-bottom: 0;
}

.elementor-widget-text-editor ul li {
  position: relative;
  padding-left: 25px;
}

.elementor-widget-text-editor ul li:before {
  content: "\f058";
  position: absolute;
  top: 5px;
  left: 0;
  color: var(--e-global-color-primary);
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  font-weight: 900;
  line-height: normal;
}

.elementor-widget-text-editor ul li::marker {
  color: var(--e-global-color-primary);
}

.elementor-widget-text-editor ul li:not(:last-child) {
  margin-bottom: 10px;
}

.elementor-widget-icon .elementor-icon-wrapper,
.elementor-widget-icon-box .elementor-icon-box-icon {
  line-height: 0;
}

.icon-height-size.elementor-widget-icon
  .elementor-icon-wrapper
  .elementor-icon
  svg {
  height: auto;
}

.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title {
  margin-top: 0;
}

.icon-box-icon-center.elementor-widget-icon-box .elementor-icon-box-wrapper {
  align-items: center;
}

.elementor-widget-icon-list ul li svg path {
  fill: inherit;
}

/* Button CSS */

.elementor-widget-button .elementor-button-wrapper {
  line-height: 0;
}

.elementor-widget-button .elementor-button {
  position: relative;
  background-image: linear-gradient(
    to right,
    var(--btn-color) 0%,
    var(--e-global-color-accent) 50%,
    var(--btn-color) 100%
  );
  background-size: 200% auto;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}

.elementor-widget-button .elementor-button:hover {
  background-position: right -10px center;
}

.no-bg.elementor-widget-button .elementor-button,
.underline-btn.elementor-widget-button .elementor-button {
  background-image: none;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
  align-items: center;
}

.elementor-widget-button
  .elementor-button
  .elementor-button-content-wrapper
  .elementor-button-icon {
  line-height: 0;
}

.elementor-widget-button .elementor-button .elementor-button-icon svg {
  width: 20px;
  transition: all 0.4s ease-in-out;
  transform: translateX(0);
}

.elementor-widget-button .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button .elementor-button:focus .elementor-button-icon svg {
  transform: translateX(10px);
}

.elementor-widget-button .elementor-button .elementor-button-icon svg path {
  transition: all 0.4s ease-in-out;
}

.underline-btn.elementor-widget-button
  .elementor-button
  .elementor-button-text {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 10%; /* 1.12px */
  text-underline-offset: 20%; /* 2.4px */
  text-underline-position: from-font;
}

/* Icon & Images Box CSS */
.elementor-widget-icon-box .elementor-icon-box-description a,
.elementor-widget-image-box .elementor-image-box-description a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}

/*  Tab Widget CSS */
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:hover,
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:focus {
  border-radius: var(--n-tabs-title-border-radius);
}

.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
  transition: all 0.3s ease-in-out;
}

.elementor-widget-n-tabs
  .e-n-tabs-heading
  .e-n-tab-title
  .e-n-tab-icon
  svg
  path {
  transition: all 0.3s;
}

/* Menu Border CSS */
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:focus,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:hover {
  border-inline-start: 0 !important;
}

/* Section Title CSS */
.section-title .elementor-heading-title {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}

.section-title .elementor-heading-title:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  bottom: 0;
  transform: translateY(-60%);
  background-color: currentcolor;
  mask-image: url("./images/icon-sub-heading.svg");
  mask-size: cover;
  width: 20px;
  height: 20px;
}

.column-2 .elementor-icon-list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
}

.column-2 .elementor-icon-list-items .elementor-icon-list-item {
  width: calc(50% - 15px);
}

/* Animation Circle Rotated CSS */
.animation-circle .e-text-path {
  animation: infiniterotate 25s infinite linear;
}

@keyframes infiniterotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media only screen and (max-width: 1320px) {
  .container-padding-left {
    padding-left: 10px;
  }

  .container-padding-right {
    padding-right: 10px;
  }
}

@media only screen and (max-width: 1024px) {
  .br-tablet-none br {
    display: none;
  }

  .container-padding-left {
    padding-left: var(--padding-left);
  }

  .container-padding-right {
    padding-right: var(--padding-right);
  }
}

@media only screen and (max-width: 767px) {
  .br-mobile-none br {
    display: none;
  }

  .elementor-widget-button .elementor-button .elementor-button-icon svg {
    width: 16px;
  }

  .elementor-widget-button .elementor-button:hover .elementor-button-icon svg,
  .elementor-widget-button .elementor-button:focus .elementor-button-icon svg {
    transform: translateX(5px);
  }

  .column-2 .elementor-icon-list-items .elementor-icon-list-item {
    width: 100%;
  }
}

/*
 * Header CSS
 * */

.mobile-menu {
  display: none !important;
}

.main-header.elementor-sticky,
.header-logo img {
  transition: filter 0.3s ease-in-out;
}

.main-header.elementor-sticky.elementor-sticky--active.elementor-sticky--effects {
  filter: drop-shadow(
    0px 0px 10px rgb(from var(--e-global-color-primary) r g b / 10%)
  );
}

.main-header.elementor-sticky.elementor-sticky--active.elementor-sticky--effects
  .header-logo
  img {
}

.header-menu
  .elementor-nav-menu--main
  > .elementor-nav-menu
  > li
  > .elementor-nav-menu--dropdown,
.header-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown {
  transition: all 0.3s ease-in-out;
}

.header-menu ul.elementor-nav-menu > li.menu-item > a {
  position: relative;
}

.header-menu ul.elementor-nav-menu > li.menu-item > a:before {
  display: block !important;
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  background-color: currentcolor !important;
  width: 0;
  height: 1px;
  transition: all 0.3s ease-in-out !important;
}

.header-menu
  ul.elementor-nav-menu
  > li.menu-item
  > a.elementor-item-active:before,
.header-menu ul.elementor-nav-menu > li.menu-item > a:hover:before,
.header-menu ul.elementor-nav-menu > li.menu-item > a:focus:before {
  left: 0;
  right: auto;
  width: 100%;
}

.header-menu
  ul.elementor-nav-menu
  > li.shop-has-submenu
  > a.has-submenu
  .sub-arrow {
  display: none;
}

.header-menu ul.elementor-nav-menu > li.menu-item > ul.sub-menu {
  left: 0 !important;
}

@media only screen and (max-width: 1024px) {
  .mobile-menu {
    display: block !important;
  }

  .main-header.elementor-sticky.elementor-sticky--effects
    .header-menu
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    margin-top: 20px !important;
  }

  .header-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu
    li
    > .sub-menu.elementor-nav-menu--dropdown
    li
    a {
    padding-left: 30px !important;
  }

  .header-menu ul.elementor-nav-menu > li.menu-item > a:before {
    display: none !important;
  }

  .header-menu ul.elementor-nav-menu li a:hover,
  .header-menu ul.elementor-nav-menu li a:focus {
    background-color: transparent;
  }

  .header-menu
    ul.elementor-nav-menu
    > li.shop-has-submenu
    > a.has-submenu
    .sub-arrow {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .main-header.elementor-sticky.elementor-sticky--effects
    .header-menu
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    margin-top: 26px !important;
  }
}

/*
 * Footer CSS
 * */

.footer-menu nav ul li {
  position: relative;
  padding-left: 30px;
}

.footer-menu nav ul li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  bottom: 0;
  transform: translateY(-60%);
  background-color: var(--e-global-color-primary);
  mask-image: url("./images/icon-sub-heading.svg");
  mask-size: cover;
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

.footer-menu nav ul li.current-menu-item:before,
.footer-menu nav ul li:hover:before,
.footer-menu nav ul li:focus:before {
  background-color: var(--e-global-color-secondary);
}

.footer-privacy-menu ul li:not(:last-child):after {
  border-radius: 50%;
}

@media only screen and (max-width: 1024px) {
  .footer-privacy-menu.elementor-nav-menu__align-end .elementor-nav-menu {
    justify-content: center;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  .footer-privacy-menu .elementor-nav-menu li:after {
    display: none;
  }
}

/*
 * Home CSS
 * */

/*
 *	Home Page CSS 
 * */

.home-menu-boxes .swiper-wrapper .swiper-slide {
  filter: drop-shadow(
    4px 4px 4px rgb(from var(--e-global-color-primary) r g b / 25%)
  );
}

.home-menu-boxes .home-menu-box {
  height: 100%;
}

.home-menu-boxes .elementor-swiper-button {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-menu-boxes .elementor-swiper-button.elementor-swiper-button-prev {
  left: var(--e-n-carousel-arrow-prev-left-position) !important;
}

.home-menu-boxes .elementor-swiper-button.elementor-swiper-button-prev svg {
  transform: rotate(180deg);
}

.home-menu-boxes .elementor-swiper-button.elementor-swiper-button-next {
  right: var(--e-n-carousel-arrow-next-right-position) !important;
}

.home-menu-box .elementor-widget-container {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.home-menu-box .elementor-widget-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  background-color: var(--e-global-color-primary);
  width: 100%;
  height: 0;
  transition: all 0.6s ease-in-out;
  z-index: -1;
}

.home-menu-box.active .elementor-widget-container:before,
.home-menu-box .elementor-widget-container:hover:before,
.home-menu-boxes
  .swiper-slide-active
  .home-menu-box
  .elementor-widget-container:before {
  top: auto;
  bottom: 0;
  height: 100%;
}

.home-menu-box .elementor-cta .elementor-cta__image img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.home-menu-box .elementor-cta {
  z-index: 1;
}

.home-menu-box .elementor-cta .elementor-cta__button {
  position: relative;
}

.home-menu-box .elementor-cta .elementor-cta__button:before {
  content: "";
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  bottom: 0;
  background-color: currentcolor;
  mask-image: url("./images/btn-arrow.svg");
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center center;
  width: 17px;
  height: 11px;
  transition: all 0.4s ease-in-out;
  transform: translateY(-50%);
  z-index: -1;
}

.home-menu-box.active .elementor-cta .elementor-cta__title,
.home-menu-box.active .elementor-cta .elementor-cta__description,
.home-menu-box.active .elementor-cta .elementor-cta__button,
.home-menu-boxes
  .swiper-slide-active
  .home-menu-box
  .elementor-cta
  .elementor-cta__title,
.home-menu-boxes
  .swiper-slide-active
  .home-menu-box
  .elementor-cta
  .elementor-cta__description,
.home-menu-boxes
  .swiper-slide-active
  .home-menu-box
  .elementor-cta
  .elementor-cta__button {
  color: var(--e-global-color-secondary);
}

.home-menu-box.active .elementor-cta .elementor-cta__button:before,
.home-menu-boxes
  .swiper-slide-active
  .home-menu-box
  .elementor-cta
  .elementor-cta__button:before {
  /* 	background-color: var(--e-global-color-secondary); */
}

.shop-specials-carousel .swiper-wrapper {
  gap: 30px;
}

.shop-specials-carousel .swiper-wrapper .swiper-slide {
  width: calc(33.33% - 20px) !important;
  margin-right: 0 !important;
}

.our-app-img .elementor-widget-container {
  position: relative;
  z-index: 1;
}

.our-app-img .elementor-widget-container:before {
  /* 	content: '';
	position: absolute;
	top: -37px;
    left: 50%;
    background-color: var(--e-global-color-accent);
    width: 470px;
    height: 690px;
    transform: translate(-50%, 0);
    z-index: -1; */
}

.our-app-img img {
  /* 	aspect-ratio: 1 / 1.375;
	object-fit: cover; */
}

.home-tab-content .e-n-tabs-heading {
  padding: 8px;
  border: 1px solid rgb(from var(--e-global-color-primary) r g b / 100%);
  border-radius: 10px;
}

.home-tab-img img {
  aspect-ratio: 1 / 1.225;
  object-fit: cover;
}

.quality-img-1 img {
  aspect-ratio: 1 / 1.11;
  object-fit: cover;
}

.quality-img-2 img {
  aspect-ratio: 1 / 1.01;
  object-fit: cover;
}

/* Customer Counter CSS */
.counter-progress-circle {
  line-height: 0;
}

.customer-couter-box canvas {
  transform: rotate(-90deg);
}

.customer-couter-box .circle {
  position: relative;
  display: inline-block;
  border-color: var(--e-global-color-primary);
  width: 70px;
  text-align: center;
  color: var(--e-global-color-primary);
}

.circle .progress_value {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: 18px;
  font-weight: 600;
  text-transform: var(--e-global-typography-text-text-transform);
  font-style: var(--e-global-typography-text-font-style);
  line-height: var(--e-global-typography-text-line-height);
  letter-spacing: var(--e-global-typography-text-letter-spacing);
  color: var(--e-global-color-primary);
}
/* Customer Counter CSS */

.faq-item .e-n-accordion-item-title .e-n-accordion-item-title-header {
  width: calc(100% - 30px);
}

/* Google Review CSS */

.sb-post-item {
  position: relative;
  background: url("./images/quotes.svg") no-repeat top left;
  background-size: 50px auto;
  padding-top: 80px;
}

.sb-post-item .sb-item-provider-icon {
  display: none;
}

.sb-post-item .sb-item-author-date-ctn {
  border-top: 1px solid rgb(from var(--e-global-color-primary) r g b / 14%);
  margin-top: 30px !important;
  padding-top: 30px !important;
  padding-right: 0 !important;
}

.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn {
  align-items: center;
  gap: 10px;
}

.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img {
  width: 60px;
  min-width: 60px;
  height: 60px;
  margin: 0px 5px 0px 0px !important;
}

.sb-post-item
  .sb-item-author-date-ctn
  .sb-item-author-ctn
  .sb-item-name-date
  .sb-item-author-name {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  letter-spacing: 0px;
  margin: 0px 0px 2px 0px !important;
}

.sb-post-item
  .sb-item-author-date-ctn
  .sb-item-author-ctn
  .sb-item-name-date
  .sb-item-author-date {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  text-transform: none;
}

.sb-post-item .sb-item-rating {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  background-color: var(--white-color);
  margin: 0 !important;
  padding: 10px 20px !important;
  border-radius: 100px;
  width: fit-content;
  text-align: end;
}

.sb-post-item .sb-item-rating .sb-relative {
  line-height: 0;
}

.sb-post-item
  .sb-item-rating
  .sb-relative
  .sb-item-rating-ctn
  .sb-item-rating-icon
  svg {
  margin: 0 4px;
}

.sb-post-item .sb-item-text {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

.sb-post-item .sb-item-text a {
  color: inherit;
}

.sbr_carousel .sbr-owl-nav > div {
  --google-review-arrow: -100px;
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--e-global-color-primary);
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: 18px auto !important;
  color: var(--white-color);
  padding: 0;
  margin: 0;
  width: 40px;
  height: 40px;
  transform: translateY(0) !important;
  transition: all 0.3s ease-in-out;
  box-shadow: none;
}

.sbr_carousel .sbr-owl-nav > div:hover,
.sbr_carousel:hover .sbr-owl-nav > div:hover {
  background: var(--white-color) !important;
  color: var(--e-global-color-primary);
}

.sbr_carousel:hover .sbr-owl-nav > div {
  background: var(--e-global-color-primary);
  box-shadow: none;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.sbr_carousel .sbr-owl-nav > div svg path {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.sbr_carousel .sbr-owl-nav > .sbr-owl-next {
  left: auto;
  right: 50px;
}

.sbr_carousel .sbr-owl-nav > div svg {
  background-color: currentcolor;
  mask-image: url("./images/arrow.svg");
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  transition: all 0.3s ease-in-out;
  width: 22px;
  height: 16px;
}

.sbr_carousel .sbr-owl-nav > .sbr-owl-prev svg {
  transform: scale(-1);
}

@media only screen and (max-width: 1530px) {
  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-prev {
    left: calc(var(--e-n-carousel-arrow-prev-left-position) + 50px) !important;
  }

  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-next {
    right: calc(
      var(--e-n-carousel-arrow-next-right-position) + 50px
    ) !important;
  }
}

@media only screen and (max-width: 1440px) {
  .home-menu-boxes {
    padding-bottom: 80px;
  }

  .home-menu-boxes .elementor-swiper-button {
    top: auto !important;
    bottom: 0 !important;
    transform: translateY(0) !important;
  }

  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-prev {
    left: calc(50% - 60px) !important;
  }

  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-next {
    right: calc(50% - 60px) !important;
  }
}

@media only screen and (max-width: 1024px) {
  .shop-specials-carousel .swiper-wrapper {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide {
    width: calc(50% - 15px) !important;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(1) {
    order: 1;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(2) {
    order: 3;
    width: 100% !important;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(3) {
    order: 2;
  }

  .our-app-img .elementor-widget-container:before {
    /* 		width: 380px;
    	height: 560px; */
  }

  .home-tab-content .e-n-tabs-heading {
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
  }

  .home-tab-content .e-n-tabs-heading .e-n-tab-title {
    border: 1px solid rgb(from var(--e-global-color-primary) r g b / 14%);
  }

  /* Google Review Testimonial CSS */

  .sb-post-item {
    padding-top: 70px;
  }

  .sb-post-item .sb-item-author-date-ctn {
    margin-top: 20px !important;
    padding-top: 20px !important;
  }

  .sb-post-item
    .sb-item-author-date-ctn
    .sb-item-author-ctn
    .sb-item-author-img {
    width: 50px;
    min-width: 50px;
    height: 50px;
  }

  .sb-post-item
    .sb-item-author-date-ctn
    .sb-item-author-ctn
    .sb-item-name-date
    .sb-item-author-name {
    font-size: 18px !important;
  }

  .sb-post-item
    .sb-item-author-date-ctn
    .sb-item-author-ctn
    .sb-item-name-date
    .sb-item-author-date {
    font-size: 14px !important;
  }
}

@media only screen and (max-width: 767px) {
  .home-menu-boxes {
    padding-bottom: 60px;
  }

  .home-menu-boxes .elementor-swiper-button {
    width: 40px;
    height: 40px;
  }

  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-prev {
    left: calc(50% - 45px) !important;
  }

  .home-menu-boxes .elementor-swiper-button.elementor-swiper-button-next {
    right: calc(50% - 45px) !important;
  }

  .shop-specials-carousel .swiper-wrapper {
    flex-direction: unset;
    flex-wrap: unset;
    gap: 0;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide {
    width: inherit !important;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(1) {
    order: unset;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(2) {
    order: unset;
    width: inherit !important;
  }

  .shop-specials-carousel .swiper-wrapper .swiper-slide:nth-of-type(3) {
    order: unset;
  }

  .home-tab-img img {
    aspect-ratio: 1 / 1.05;
  }

  .our-app-img .elementor-widget-container:before {
    /* 		width: 100%;
        height: calc(100% + 37px); */
  }

  .quality-img-2 img {
    aspect-ratio: 1 / 1.08;
  }

  /* Google Review Testimonial CSS */

  .sbr_carousel {
    padding-bottom: 55px;
  }

  .sb-post-item {
    background-size: 40px auto;
    padding-top: 60px;
  }

  .sb-post-item .sb-item-rating {
    padding: 5px 10px !important;
  }

  .sb-post-item
    .sb-item-rating
    .sb-relative
    .sb-item-rating-ctn
    .sb-item-rating-icon
    svg {
    margin: 0 3px;
  }

  .sb-post-item
    .sb-item-author-date-ctn
    .sb-item-author-ctn
    .sb-item-author-img {
    margin: 0 !important;
  }

  .sbr_carousel .sbr-owl-nav > div {
    --google-review-arrow: calc(50% + 10px);
    width: 35px;
    height: 35px;
  }

  .sbr_carousel .sbr-owl-nav > .sbr-owl-next {
    right: var(--google-review-arrow);
  }

  .sbr_carousel .sbr-owl-nav > .sbr-owl-prev {
    left: var(--google-review-arrow);
  }
}

/*
 * About Us CSS
 * */

.pages-header {
  position: relative;
}
/* 
.pages-header:before{
	z-index: 2;
}

.pages-header:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--e-global-color-primary);
	opacity: 0.65;
	width: 100%;
	height: 100%;
	z-index: 1;
	border-radius: 20px !important;
}

.pages-header > *{
	z-index: 3;
} */

.page-header-breadcrumbs
  .elementor-icon-list-items
  .elementor-icon-list-item:after {
  transform: rotate(15deg);
}

.why-choose-faq .e-n-accordion-item:not(:last-child) {
  border-bottom: 1px solid rgb(from var(--e-global-color-text) r g b / 0.14);
}

.why-choose-faq .e-n-accordion-item-title-header {
  width: calc(100% - calc(var(--n-accordion-icon-gap) + 34px));
}

.why-choose-faq .e-n-accordion-item-title-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgb(from var(--e-global-color-text) r g b / 0.14);
  border-radius: 50%;
}

.our-team-box .team-img img {
  aspect-ratio: 1 / 1.16;
  object-fit: cover;
}

.our-team-box .team-share-icon .elementor-icon {
  border-color: var(--e-global-color-secondary) !important;
}

.our-team-box .team-social-icon {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-40px);
  transition: all 0.4s ease-in-out;
}

.our-team-box:hover .team-social-icon {
  opacity: 1;
  visibility: visible;
  transform: translateY(-120px);
}

@media only screen and (max-width: 1024px) {
  .our-team-box .team-img img {
    aspect-ratio: 1 / 1.2;
  }
}

@media only screen and (max-width: 767px) {
}

/*
 * Apps and Rewards CSS
 * */

.rewards-about-img-1,
.rewards-about-img-2 {
  height: 100%;
}

.rewards-about-img-1 img {
  aspect-ratio: 1 / 1.607;
  object-fit: cover;
  height: 100%;
}

.rewards-about-img-2 img {
  aspect-ratio: 1 / 1.2;
  object-fit: cover;
  height: 100%;
}

.customer-counter .elementor-counter .elementor-counter-number-wrapper {
  align-items: center;
}

.customer-counter .elementor-counter {
  gap: 15px;
}

.customer-counter .elementor-counter .elementor-counter-number-wrapper {
  flex: 0;
}

.customer-counter
  .elementor-counter
  .elementor-counter-number-wrapper
  .elementor-counter-number-suffix {
  --counter-prefix-grow: 0;
  --counter-suffix-grow: 0;
  --counter-number-grow: 0;
}

.features-img {
  height: 100%;
}

.features-img img {
  height: 100%;
  aspect-ratio: 1 / 0.597;
  object-fit: cover;
}

.features-icon-box .elementor-widget-container,
.why-choose-icon-box .elementor-widget-container {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.features-icon-box .elementor-widget-container:before,
.why-choose-icon-box .elementor-widget-container:before {
  content: "";
  position: absolute;
  top: auto;
  right: 0;
  left: 0;
  bottom: 0;
  background: var(--e-global-color-accent);
  border-radius: 20px;
  width: 100%;
  height: 0;
  transition: all 0.4s ease-in-out;
  z-index: -1;
}

.features-icon-box:hover .elementor-widget-container:before,
.features-icon-box.active .elementor-widget-container:before,
.why-choose-icon-box:hover .elementor-widget-container:before,
.why-choose-icon-box.active .elementor-widget-container:before {
  top: 0;
  bottom: auto;
  height: 100%;
}

.key-features-box {
  counter-reset: section;
}

.key-features-icon-box {
  counter-increment: section;
}

.key-features-icon-box .elementor-widget-container:after {
  content: "0" counter(section) " ";
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  font-size: 26px;
  font-family: var(--e-global-typography-secondary-font-family);
  font-weight: var(--e-global-typography-secondary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
  letter-spacing: var(--e-global-typography-primary-letter-spacing);
  color: var(--e-global-color-primary);
  background: var(--e-global-color-secondary);
  border-radius: 50%;
  border: 10px solid var(--btn-color);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  transform: translate(-40px, -150px);
}

.key-features-icon-box .elementor-widget-container {
  position: relative;
  z-index: 1;
}

.key-features-icon-box .elementor-widget-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--btn-color);
  mask-image: url("./images/key-features-box-mask.svg");
  mask-size: auto;
  mask-repeat: no-repeat;
  mask-position: top center;
  z-index: -1;
}

@media only screen and (max-width: 1024px) {
  .rewards-about-img-1 img {
    aspect-ratio: 1 / 1.557;
  }

  .features-img,
  .features-img img {
    height: auto;
  }

  .features-img img {
    aspect-ratio: 1 / 1.4;
  }

  .key-features-icon-box .elementor-widget-container:after {
    border: 7px solid var(--e-global-color-accent);
    width: 70px;
    height: 70px;
    transform: translate(-35px, -155px);
  }
}

@media only screen and (max-width: 767px) {
  .rewards-about-img-1,
  .rewards-about-img-2 {
    height: auto;
  }

  .rewards-about-img-1 img {
    aspect-ratio: 1 / 1.1;
  }

  .rewards-about-img-2 img {
    aspect-ratio: 1 / 1.045;
  }

  .features-img img {
    aspect-ratio: 1 / 1.1;
  }

  .customer-counter .elementor-counter {
    align-items: center;
  }

  .customer-counter .elementor-counter-title {
    text-align: center;
  }
}

/*
 * Location Page CSS
 * */
.location-about-img img {
  aspect-ratio: 1 / 1.01;
  object-fit: cover;
}

.location-map-list ul {
  gap: 30px;
}

.location-map-list ul li {
  width: calc(50% - 15px);
  padding: 15px 30px !important;
  border: 1px solid var(--e-global-color-accent);
  border-radius: 10px;
  justify-content: center;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transition: all 0.4s ease-in-out;
}

.location-map-list ul li:hover {
  background: var(--e-global-color-primary);
  border: 1px solid var(--e-global-color-primary);
}

.location-map-list ul li span {
  transition: all 0.4s ease-in-out;
}

.location-map-list ul li:hover span {
  color: var(--e-global-color-accent) !important;
}

.product-img {
  position: relative;
  height: 100%;
}

.product-img:before {
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  right: -20px;
  bottom: -20px;
  background: linear-gradient(
    90deg,
    var(--btn-color) 0%,
    var(--e-global-color-accent) 100%
  );
  border-radius: 20px;
  width: calc(100% - 60px);
  height: calc(100% - 20px);
  z-index: -1;
}

.product-img img {
  aspect-ratio: 1 / 1.107;
  object-fit: cover;
  height: 100%;
}

.location-counter .elementor-counter {
  align-items: center;
}

.location-counter .elementor-counter-number-wrapper {
  flex: 0.5;
}

.location-counter .elementor-counter-number-suffix {
  flex: 0;
  margin-top: -5px;
  font-size: 18px;
}

@media only screen and (max-width: 1024px) {
  .location-map-list ul {
    gap: 20px;
  }

  .location-map-list ul li {
    width: calc(33.33% - 20px);
    padding: 15px 20px !important;
  }
}
@media only screen and (max-width: 767px) {
  .location-about-img img {
    aspect-ratio: 1 / 1.1;
    -webkit-mask-image: none !important;
  }

  .location-map-list ul {
    gap: 10px;
  }

  .location-map-list ul li {
    width: calc(50% - 5px);
    padding: 10px !important;
  }

  .product-img:before {
    right: -15px;
    bottom: -15px;
    width: calc(100% - 40px);
  }
}

/*
 * Deals Page CSS
 * */

/*
 * Blog List CSS
 * */

.featured-blog-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 30px;
}

.featured-blog-wrap .featured-blog-box:first-child {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.featured-blog-wrap .featured-blog-box:nth-of-type(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.featured-blog-wrap .featured-blog-box:nth-of-type(3) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.featured-blog-wrap .featured-blog-box:not(:first-child) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}

.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap,
.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-body {
  width: calc(50% - 15px);
}

.featured-blog-wrap .featured-blog-box .featured-blog-img-wrap {
  position: relative;
  margin-bottom: 15px;
}

.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap {
  margin-bottom: 0;
}

.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap,
.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap
  .featured-blog-image,
.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap
  .featured-blog-image
  a,
.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap
  .featured-blog-image
  figure {
  height: 100%;
}

.featured-blog-box .featured-blog-img-wrap .featured-blog-image a {
  display: block;
}

.featured-blog-box .featured-blog-img-wrap .featured-blog-image img {
  width: 100%;
  aspect-ratio: 1 / 0.55;
  object-fit: cover;
  border-radius: 20px;
}

.featured-blog-wrap
  .featured-blog-box:not(:first-child)
  .featured-blog-img-wrap
  img {
  height: 100%;
}

.featured-blog-body .blog-meta ul {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  padding: 0;
  margin: 0 0 15px;
}

.featured-blog-body .blog-meta ul li {
  position: relative;
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: var(--e-global-typography-text-font-weight);
  text-transform: var(--e-global-typography-text-text-transform);
  font-style: var(--e-global-typography-text-font-style);
  line-height: var(--e-global-typography-text-line-height);
  color: var(--e-global-color-text);
}

.featured-blog-body .blog-meta ul li:not(:last-child):before {
  content: "";
  position: absolute;
  top: 50%;
  left: auto;
  right: -7.5px;
  background-color: currentcolor;
  width: 1px;
  height: 60%;
  transform: translateY(-50%) rotate(15deg);
}

.featured-blog-body .blog-meta ul li a {
  color: inherit;
}

.featured-blog-body .blog-meta ul li.blog-author a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.featured-blog-body .blog-meta ul li.blog-author a img {
  width: 30px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
}

.featured-blog-body .blog-title {
  margin-bottom: 15px;
}

.featured-blog-body .blog-title h1 {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  text-transform: var(--e-global-typography-secondary-text-transform);
  font-style: var(--e-global-typography-secondary-font-style);
  line-height: var(--e-global-typography-secondary-line-height);
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
  color: var(--e-global-color-primary);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-blog-body .blog-desc {
  margin-bottom: 20px;
}

.featured-blog-body .blog-desc p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-blog-body .blog-button a {
  position: relative;
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-size: var(--e-global-typography-accent-font-size);
  font-weight: var(--e-global-typography-accent-font-weight);
  text-transform: var(--e-global-typography-accent-text-transform);
  font-style: var(--e-global-typography-accent-font-style);
  line-height: var(--e-global-typography-accent-line-height);
  color: var(--e-global-color-primary);
  background: url("./images/post-btn-arrow.svg") no-repeat right center;
  background-size: 17px auto;
  padding-right: 25px;
}

/* Loop Grid CSS */
.blog-loop-item {
  position: relative;
  height: 100%;
}

.blog-loop-item .blog-featured-img a {
  display: block;
  width: 100%;
}

.blog-loop-item .blog-featured-img img {
  aspect-ratio: 1 / 0.73;
  object-fit: cover;
}

.post-meta-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.post-meta-wrapper .author-info {
  color: var(--e-global-color-text);
}

.post-meta-wrapper .author-info a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: inherit;
}

.post-meta-wrapper .author-info .author-img {
  width: 30px;
  line-height: 0;
}

.post-meta-wrapper .author-info .author-img img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
}

.post-meta-wrapper .author-info .author-name,
.post-meta-wrapper .post-publish-date span {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: var(--e-global-typography-text-font-weight);
  text-transform: var(--e-global-typography-text-text-transform);
  font-style: var(--e-global-typography-text-font-style);
  line-height: var(--e-global-typography-text-line-height);
}

.blog-loop-item .readmore-btn {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.blog-loop-grid .elementor-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 10px;
}

.blog-loop-grid .elementor-pagination .page-numbers.prev,
.blog-loop-grid .elementor-pagination .page-numbers.next {
  text-indent: -9999px;
}

.blog-loop-grid .elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  background: var(--e-global-color-accent);
  transition: all 0.3s ease-in-out;
}

.blog-loop-grid .elementor-pagination .page-numbers:hover,
.blog-loop-grid .elementor-pagination .page-numbers:focus,
.blog-loop-grid .elementor-pagination .page-numbers.current {
  color: var(--e-global-color-primary);
  background-color: var(--btn-color);
}

.blog-loop-grid .elementor-pagination .page-numbers.prev,
.blog-loop-grid .elementor-pagination .page-numbers.next {
  position: relative;
}

.blog-loop-grid .elementor-pagination .page-numbers.prev:before,
.blog-loop-grid .elementor-pagination .page-numbers.next:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: currentcolor;
  mask-image: url("./images/arrow.svg");
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
  transform: translate(-50%, -50%);
}

.blog-loop-grid .elementor-pagination .page-numbers.next:before {
  transform: translate(-50%, -50%) scale(-1);
}

.blog-loop-grid .elementor-pagination span.page-numbers.prev,
.blog-loop-grid .elementor-pagination span.page-numbers.next {
  display: none;
}

.blog-loop-grid .elementor-pagination .page-numbers.dots {
  color: var(--e-global-color-accent);
}

.blog-loop-grid .elementor-pagination .page-numbers:focus,
.blog-loop-grid .elementor-pagination .page-numbers.dots:hover {
  color: var(--e-global-color-primary) !important;
}

@media only screen and (max-width: 1024px) {
  .featured-blog-wrap {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    column-gap: 0;
    margin-bottom: 0;
  }

  .featured-blog-wrap .featured-blog-box:first-child {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
  }

  .featured-blog-wrap .featured-blog-box:nth-of-type(2) {
    grid-column: 1 / 3;
    grid-row: 2 / 2;
  }

  .featured-blog-wrap .featured-blog-box:nth-of-type(3) {
    grid-column: 1 / 3;
    grid-row: 3 / 3;
  }

  .featured-blog-box .featured-blog-img-wrap .featured-blog-image img {
    aspect-ratio: 1 / 0.75;
  }

  /* Loop Grid CSS */
  .blog-loop-item .blog-featured-img img {
    aspect-ratio: 1 / 0.75;
  }
}

@media only screen and (max-width: 767px) {
  .featured-blog-wrap {
    margin-bottom: 0;
  }

  .featured-blog-wrap .featured-blog-box:not(:first-child) {
    gap: 20px;
  }

  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap,
  .featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-body {
    width: 100%;
  }

  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap,
  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap
    .featured-blog-image,
  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap
    .featured-blog-image
    a,
  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap
    .featured-blog-image
    figure,
  .featured-blog-wrap
    .featured-blog-box:not(:first-child)
    .featured-blog-img-wrap
    img {
    height: auto;
  }

  .featured-blog-box:not(:first-child)
    .featured-blog-body
    .blog-meta
    ul
    li.blog-author
    a
    img {
    width: 30px;
  }

  .featured-blog-body .blog-title h1 {
    font-size: 18px;
  }
}

/*
 * Author page CSS
 * */

.author-avatar figure img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 20px;
}

.author-social-media {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

.author-social-media li {
  line-height: 0;
}

.author-social-media li a {
  font-size: 0;
  position: relative;
}

.author-social-media li a:before {
  content: "\f39e";
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Font Awesome 5 Brands";
  font-size: 16px;
  font-weight: 400;
  line-height: 1em;
  background-color: transparent;
  border: 1px solid var(--e-global-color-secondary);
  border-radius: 50%;
  color: var(--e-global-color-secondary);
  width: 40px;
  height: 40px;
  transition: all 0.3s ease-in-out;
}

.author-social-media li a:hover:before {
  color: var(--e-global-color-primary);
  border-color: var(--e-global-color-secondary);
  background-color: var(--e-global-color-secondary);
}

.author-social-media li.instagram a:before {
  content: "\f16d";
}

.author-social-media li.linkedin a:before {
  content: "\f0e1";
}

.author-social-media li.youtube a:before {
  content: "\f167";
}

.author-social-media li.twitter a:before {
  content: "\f099";
}

.author-social-media li.tiktok a:before {
  content: "\e07b";
}

@media only screen and (max-width: 767px) {
  .author-avatar figure img {
    aspect-ratio: 1/0.9;
  }

  .author-social-media {
    gap: 10px;
  }
}

/*
 * Blog Single CSS
 * */

.post-featured-img img {
  aspect-ratio: 1 / 0.46;
  object-fit: cover;
}

.post-entry p {
  margin-bottom: 1.5em;
}

.post-entry a,
.post-entry a strong,
.post-entry p strong {
  color: var(--e-global-color-primary);
  transition: all 0.3s ease-in-out;
  font-weight: var(--e-global-typography-primary-font-weight);
}

.post-entry a:hover {
  text-decoration: underline;
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6 {
  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
  color: var(--e-global-color-primary);
  margin: 0.4em 0 0.6em;
}

.post-entry h1 {
  font-size: 60px;
}

.post-entry h2 {
  font-size: 50px;
}

.post-entry h3 {
  font-size: 40px;
}

.post-entry h4 {
  font-size: 28px;
}

.post-entry h5 {
  font-size: 22px;
}

.post-entry h6 {
  font-size: 20px;
}

.post-entry blockquote {
  position: relative;
  background-color: var(--e-global-color-accent);
  background-image: url("./images/quote-icon.svg");
  background-repeat: no-repeat;
  background-position: top 25px left 30px;
  background-size: 75px auto;
  border-radius: 20px;
  padding: 30px 30px 30px 120px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 30px;
}

.post-entry blockquote p {
  color: var(--e-global-color-primary);
  font-size: 22px;
  text-align: justify;
  font-weight: 600;
  line-height: var(--e-global-typography-text-line-height);
}

.post-entry .wp-container-core-columns-is-layout-1 figure {
  margin: 0 auto;
}

.post-entry .wp-container-core-columns-is-layout-1 figure img {
  aspect-ratio: 1 / 0.52;
  object-fit: cover;
  border-radius: 20px;
}

.post-entry .wp-block-columns h5.wp-block-heading {
  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
  margin: 20px 0 0 0;
}

.post-entry .wp-block-columns .wp-block-column:nth-child(2) {
  box-shadow: 0px 0px 20px 0px rgba(62, 89, 69, 0.1);
  padding: 40px 30px;
}

.post-entry ul {
  list-style: none;
}

.post-entry ul,
.post-entry ol {
  padding: 0;
  margin: 20px 0;
}

.post-entry ol {
  padding-left: 20px;
}

.post-entry ul li:not(:last-child),
.post-entry ol li:not(:last-child) {
  position: relative;
  margin-bottom: 15px;
}

.post-entry ul li {
  position: relative;
  padding-left: 25px;
  color: var(--e-global-color-text);
}

.post-entry ul li:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--e-global-color-accent);
  mask-image: url("./images/icon-sub-heading.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: top left;
  width: 15px;
  height: 15px;
}

.post-entry ol li {
  padding-left: 5px;
  color: var(--e-global-color-text);
}

.post-entry ol li::marker {
  font-size: 18px;
  font-weight: 500;
  color: var(--e-global-color-text);
}

.post-entry ul li a,
.post-entry ul li a strong,
.post-entry ul li strong,
.post-entry ol li a,
.post-entry ol li a strong,
.post-entry ol li strong {
  color: var(--e-global-color-primary);
  transition: all 0.3s ease-in-out;
}

.post-tag ul li .elementor-post-info__item--type-terms span {
  font-size: 0 !important;
}

.post-tag ul li .elementor-post-info__item--type-terms span a {
  display: inline-block !important;
  font-size: initial !important;
  background: var(--e-global-color-primary);
  color: var(--e-global-color-accent);
  border-radius: 10px;
  padding: 10px 30px;
  margin-right: 15px;
  border: 1px solid transparent;
  transition: all 0.4s ease-in-out;
}

.post-tag ul li .elementor-post-info__item--type-terms span a:last-child {
  margin-right: 0;
}

.post-tag ul li .elementor-post-info__item--type-terms span a:hover {
  background: var(--e-global-color-secondary);
  color: var(--e-global-color-primary) !important;
  border: 1px solid var(--e-global-color-primary);
}

.blog-single-social-media .author-social-media li a:before {
  border-color: var(--e-global-color-primary);
  color: var(--e-global-color-primary);
}

@media only screen and (max-width: 1024px) {
  .post-featured-img img {
    aspect-ratio: 1 / 0.6;
  }

  .post-entry h1 {
    font-size: 50px;
  }

  .post-entry h2 {
    font-size: 40px;
  }

  .post-entry h3 {
    font-size: 30px;
  }

  .post-entry h4 {
    font-size: 26px;
  }

  .post-entry h5 {
    font-size: 20px;
  }

  .post-entry h6 {
    font-size: 18px;
  }

  .post-entry blockquote {
    padding: 20px 20px 20px 90px;
    background-position: top 20px left 20px;
    background-size: 50px auto;
  }

  .post-entry blockquote p {
    font-size: 18px;
  }

  .post-entry .wp-block-columns .wp-block-column:nth-child(2) {
    padding: 20px;
  }

  .post-entry ul ul,
  .post-entry ol ul,
  .post-entry ol ol,
  .post-entry ul ol {
    margin: 10px 0;
  }
}

@media only screen and (max-width: 767px) {
  .post-featured-img img {
    aspect-ratio: 1 / 0.8;
  }

  .post-entry h1 {
    font-size: 34px;
  }

  .post-entry h2 {
    font-size: 28px;
  }

  .post-entry h3 {
    font-size: 26px;
  }

  .post-entry h4 {
    font-size: 22px;
  }

  .post-entry h5 {
    font-size: 20px;
  }

  .post-entry h6 {
    font-size: 18px;
  }

  .post-entry blockquote {
    background-position: top 15px left 20px;
    background-size: 30px;
    text-indent: 40px;
    padding: 20px;
  }

  .post-entry blockquote p {
    font-size: 16px;
  }

  .post-entry .wp-container-core-columns-is-layout-1 {
    flex-wrap: wrap;
  }

  .post-entry .wp-container-core-columns-is-layout-1 figure img {
    aspect-ratio: 1 / 0.8;
  }

  .post-entry ul li {
    padding-left: 20px;
  }

  .post-entry ul ul li,
  .post-entry ol ul li,
  .post-entry ol ol li,
  .post-entry ul ol li {
    font-size: 14px;
  }

  .post-entry ul ul li:before,
  .post-entry ol ul li:before {
    width: 12px;
    height: 12px;
  }

  .post-entry ul li:not(:last-child),
  .post-entry ol li:not(:last-child) {
    margin-bottom: 10px;
  }

  .post-entry ol li::marker {
    font-size: 16px;
  }

  .post-entry ol ol li::marker,
  .post-entry ul ol li::marker {
    font-size: 14px;
  }

  .post-entry ul ul,
  .post-entry ul ol,
  .post-entry ol ol,
  .post-entry ol ul {
    margin: 10px 0;
  }

  .post-tag ul li .elementor-post-info__item--type-terms span a {
    padding: 10px 15px;
    margin-bottom: 10px;
  }

  .post-single-category ul li:not(:last-child) {
    margin-bottom: 15px;
  }

  .post-single-category ul li a {
    padding: 15px 15px 15px 40px;
  }

  .post-single-category ul li a:before {
    font-size: 14px;
  }
}

/*
 * Contact Us CSS
 * */

.contact-icon-box .elementor-icon {
  position: relative;
  border-color: rgb(from var(--e-global-color-primary) r g b / 14%) !important;
}

.contact-icon-box .elementor-icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 50%;
  border: 2px solid var(--e-global-color-primary);
  clip-path: polygon(
    0% 0%,
    100% 0%,
    100% 100%,
    80% 85%,
    10% 85%,
    20% 100%,
    20% 100%,
    0% 90%
  );
  transform: translate(-50%, -50%);
}

.section-map .elementor-custom-embed,
.section-map.elementor-widget-google_maps iframe,
.section-map iframe {
  height: 100%;
  border-radius: 10px;
}

@media only screen and (max-width: 1024px) {
  .section-map .elementor-custom-embed,
  .section-map.elementor-widget-google_maps iframe {
    height: auto;
  }

  .section-map iframe {
    height: 450px;
  }
}

@media only screen and (max-width: 1024px) {
  .section-map iframe {
    height: 350px;
  }
}

/* 
 * Gravity Form CSS
 * */

.gform_wrapper .gform_heading {
  display: none;
}

.gform_wrapper form .gform-body .gform_fields {
  row-gap: 30px;
  column-gap: 30px;
  --gf-field-gap-x: 30px;
  --gf-field-gap-y: 30px;
  --gf-icon-ctrl-number: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='black'/%3E%3C/svg%3E");
  --gf-icon-ctrl-select: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='black'/%3E%3C/svg%3E");
}

.gform_wrapper form .gform-body .gform_fields .gfield {
  border-radius: 0;
  box-shadow: none;
}

.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select,
.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  textarea {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: var(--e-global-typography-text-font-weight);
  line-height: var(--e-global-typography-text-line-height);
  color: var(--e-global-color-primary);
  background-color: transparent;
  border: 1px solid var(--e-global-color-primary);
  border-radius: 10px;
  box-shadow: none;
  height: auto;
  padding: 16px 20px;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  input::placeholder,
.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  select::placeholder,
.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  textarea::placeholder {
  color: var(--e-global-color-primary);
}

.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select {
  background-image: var(--gf-ctrl-select-icon);
  background-position: var(--gf-ctrl-select-icon-position);
  background-repeat: no-repeat;
  background-size: var(--gf-ctrl-select-icon-size);
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  select
  option {
  background-color: var(--white-color);
}

.gform_wrapper .gform-grid-row {
  margin-inline: 0;
  column-gap: var(--gf-field-gap-x);
  row-gap: var(--gf-field-gap-y);
}

.gform_wrapper .gform-grid-col {
  padding-inline: 0;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-date
  .ginput_container_date {
  position: relative;
  flex-direction: column;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-date
  .ginput_container_date
  img {
  position: absolute;
  top: 50%;
  left: auto;
  right: 20px;
  opacity: 1;
  transform: translateY(-50%);
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-date
  .ginput_container_date
  input {
  width: 100%;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-time
  .ginput_container {
  column-gap: 0;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-time
  .ginput_container
  .gform-grid-col {
  inline-size: 50%;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield--type-number
  .ginput_container
  .instruction {
  display: none;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  input:focus,
.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  select:focus,
.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  textarea:focus,
.gform_wrapper form .gform_footer .gform_button:focus,
.gform_wrapper form .gform-body .gform-button:focus {
  outline: none !important;
  box-shadow: none;
}

.gform-theme--foundation .gfield textarea.large {
  min-block-size: auto;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container.ginput_container_textarea {
  line-height: 0;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  textarea {
  height: 150px;
}

.gform_wrapper
  form
  .gform-body
  .gform_fields
  .gfield
  .validation_message.gfield_validation_message {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: var(--e-global-typography-text-line-height);
  text-transform: capitalize;
  letter-spacing: 0.02em;
  color: #c8221e;
  margin-top: 0;
}

.contact-us-form .gform_validation_errors {
  padding: 10px;
  margin-bottom: 20px;
}

.gform_wrapper form .gform_footer {
  --gf-form-footer-margin-y-start: 30px;
  justify-content: center;
}

.gform_wrapper form .gform_footer .gform_button,
.gform_wrapper form .gform-body .gform-button {
  text-align: center;
  font-family:
    var(--e-global-typography-accent-font-family), Sans-serif !important;
  font-size: var(--e-global-typography-accent-font-size) !important;
  font-weight: var(--e-global-typography-accent-font-weight) !important;
  line-height: var(--e-global-typography-accent-line-height) !important;
  color: var(--e-global-color-secondary) !important;
  background-color: var(--e-global-color-primary) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 15px !important;
  transition: all 0.3s ease-in-out !important;
  box-shadow: none !important;
}

.gform_wrapper form .gform_footer .gform_button:hover {
  color: var(--e-global-color-primary) !important;
  background-color: var(--e-global-color-secondary) !important;
}

.gform_wrapper form .gform_footer .gform-loader,
.gform_wrapper form .gform-loader {
  display: none !important;
  --gf-color-primary-rgb: 21, 100, 155;
  --gf-form-spinner-bg-color: rgba(var(--gf-color-primary-rgb), 0.1) !important;
  border-block-end-color: var(--e-global-color-primary);
  border-block-start-color: var(--gf-form-spinner-bg-color);
  border-inline-end-color: var(--gf-form-spinner-bg-color);
  border-inline-start-color: var(--e-global-color-primary);
}

.gform_wrapper .gform_validation_errors {
  padding: 10px;
  margin-bottom: 30px;
}

.gform_wrapper .gform_validation_errors h2.gform_submission_error {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: 500;
  line-height: 1.2em;
}

.gform_wrapper .gform_confirmation_message {
  text-align: center;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: 30px;
  font-weight: var(--e-global-typography-primary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
  color: var(--e-global-color-primary);
}

/**/
.newsletter-form form {
  border: 1px solid rgb(from var(--e-global-color-primary) r g b / 14%);
  border-radius: 10px;
  padding: 5px;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}

.newsletter-form form .gform-body {
  width: calc(100% - 140px) !important;
}

.newsletter-form form .gform-body .gform_fields {
  row-gap: 0;
  column-gap: 0;
}

.newsletter-form
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  input {
  border-color: transparent;
  color: var(--e-global-color-primary);
  padding: 10px 20px !important;
}

.newsletter-form
  form
  .gform-body
  .gform_fields
  .gfield
  .ginput_container
  input::placeholder {
  color: rgb(from var(--e-global-color-primary) r g b / 50%);
}

.newsletter-form form .gform_footer {
  margin-top: 0 !important;
  width: auto !important;
}

.newsletter-form form .gform-footer .gform_button {
  padding: 11px 30px !important;
}

.newsletter-form form .gform-button {
  position: absolute;
  background: var(--e-global-color-accent);
}

.newsletter-form .gfield_description,
.newsletter-form .gform_validation_errors {
  display: none !important;
}

.newsletter-form .gform_confirmation_wrapper .gform_confirmation_message {
  color: var(--e-global-color-primary);
  background: var(--e-global-color-accent);
  font-size: 16px;
  padding: 10px;
}

@media only screen and (max-width: 1024px) {
  .gform_wrapper .gform_confirmation_message {
    font-size: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .gform_wrapper form .gform-body .gform_fields {
    column-gap: 0;
    row-gap: 20px;
    --gf-field-gap-x: 0;
    --gf-field-gap-y: 20px;
  }

  .gform_wrapper form .gform_footer {
    --gf-form-footer-margin-y-start: 20px;
  }

  .gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .validation_message.gfield_validation_message {
    font-size: 12px;
  }

  .gform_wrapper .gform_confirmation_message {
    font-size: 20px;
  }

  .newsletter-form form .gform-footer .gform_button {
    padding: 11px 20px !important;
  }

  .newsletter-form form .gform-body {
    width: calc(100% - 107px) !important;
  }

  .newsletter-form
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    input {
    font-size: 14px;
    padding: 10px !important;
  }
}

.age-gate {
  border-radius: 10px !important;
}

/************************************************************************************************/
/* SINGLE PRODUCT - CANNABIS DETAILS
/************************************************************************************************/

.cpd-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/** Product type + strain badges */
.cpd-top-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cpd-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}

/** Product type */
.cpd-badge--type {
  background: #f0f0f0;
  color: #333;
  border: 1px solid #ddd;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.8px;
}

/** Strain */
.cpd-badge--strain {
  background: #f0faf3;
  color: #1a6b35;
  border: 1px solid #b7e4c7;
}

.cpd-badge--indica {
  background: #f3eefa;
  color: #4a1a7a;
  border-color: #cba8f0;
}
.cpd-badge--sativa {
  background: #fff4ec;
  color: #b35a00;
  border-color: #f0c090;
}
.cpd-badge--hybrid {
  background: #f0faf3;
  color: #1a6b35;
  border-color: #b7e4c7;
}

.cpd-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/** THC / CBD split box */
.cpd-chem {
  display: flex;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  overflow: hidden;
}

.cpd-chem__cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 12px;
  gap: 6px;
}

.cpd-chem__cell--border {
  border-left: 1px solid #e8e8e8;
}

.cpd-chem__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #999;
}

.cpd-chem__value {
  font-size: 28px;
  font-weight: 700;
  color: #111;
  line-height: 1;
}

/** Weight */
.cpd-weight {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cpd-weight__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #999;
}

.cpd-weight__value {
  font-size: 15px;
  font-weight: 600;
  color: #333;
}

/** Effects / Uses / Time of Use sections */
.cpd-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cpd-section__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #999;
}

.cpd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cpd-tag {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
}

/** Effects - green tint */
.cpd-tags--effects .cpd-tag {
  background: #f0faf3;
  color: #1a6b35;
  border: 1px solid #b7e4c7;
}

/** Uses - orange/red tint */
.cpd-tags--uses .cpd-tag {
  background: #fff4f0;
  color: #a63200;
  border: 1px solid #f0c0a8;
}

/** Time of use - blue tint */
.cpd-tags--time .cpd-tag {
  background: #f0f6ff;
  color: #1a3a6b;
  border: 1px solid #a8c0f0;
}

/************************************************************************************************/
/* BACK BUTTON
/************************************************************************************************/

.back-btn,
.back-btn * {
  cursor: pointer !important;
}

/************************************************************************************************/
/* PRODUCT LOOP ITEM - CARD
/************************************************************************************************/

/** Card wrapper */
.e-loop-item .elementor-element-60d26e0 {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.09);
  height: 100%;
}

.elementor-element-60d26e0 > .e-con-inner {
  padding: 0 !important;
  gap: 0 !important;
}

/** Image */
.elementor-element-807aa82 {
  line-height: 0;
}

.elementor-element-807aa82 img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block;
  border-radius: 0 !important;
}

/** Title + price container */
.elementor-element-0df26f2 {
  padding: 16px 16px 12px !important;
  gap: 4px !important;
}

/** Product title */
.elementor-element-d08ef0a .product_title {
  font-size: 17px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/** Price */
.elementor-element-aee0ac3 .price {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

/** Detail section */
.elementor-element-8827cc5 {
  padding: 0 16px 16px !important;
  gap: 10px !important;
}

/** THC + CBD split box */
.elementor-element-600ec33 {
  flex-direction: row !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 10px !important;
  overflow: hidden;
  gap: 0 !important;
  flex-wrap: nowrap !important;
}

/** THC cell */
.elementor-element-74d4b2d {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 8px !important;
  border-right: 1px solid #e8e8e8;
  text-align: center;
  gap: 8px !important;
}

/** CBD cell */
.elementor-element-21e8f8c {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 8px !important;
  text-align: center;
  gap: 8px !important;
}

/** THC label */
.elementor-element-74d4b2d::before {
  content: "THC";
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #999;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  line-height: 1;
}

/** CBD label */
.elementor-element-21e8f8c::before {
  content: "CBD";
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #999;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  line-height: 1;
}

/** THC + CBD values */
.elementor-element-74d4b2d .elementor-widget-container,
.elementor-element-21e8f8c .elementor-widget-container {
  background: none !important;
  color: #111 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: block;
  text-align: center;
  line-height: 1 !important;
}

/** Strain + weight row */
.elementor-element-769c88f {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
}

/** Strain - pill with green dot + text */
.elementor-element-c5aa820 .elementor-widget-container {
  background: #f0faf3 !important;
  color: #1a6b35 !important;
  border: 1px solid #b7e4c7 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: capitalize !important;
  letter-spacing: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 5px;
}

.elementor-element-c5aa820 .elementor-widget-container::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4caf50;
  flex-shrink: 0;
}

/** Weight */
.elementor-element-213b2be .elementor-widget-container {
  background: none !important;
  color: #555 !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: inline-block !important;
}

/** Strip paragraph margins inside all detail widgets */
.elementor-element-74d4b2d .elementor-widget-container p,
.elementor-element-21e8f8c .elementor-widget-container p,
.elementor-element-c5aa820 .elementor-widget-container p,
.elementor-element-213b2be .elementor-widget-container p {
  margin: 0;
  font-size: inherit;
  color: inherit;
  line-height: 1.2;
}

/************************************************************************************************/
/* SHOP FILTER - LOADING STATE
/************************************************************************************************/

.elementor-widget-loop-grid {
  transition: opacity 0.2s ease;
}

.elementor-widget-loop-grid.fm-grid-loading {
  opacity: 0.4;
  pointer-events: none;
}

/************************************************************************************************/
/* ADD TO CART - PREVIEW BUTTON ANIMATION
/************************************************************************************************/

/** Hide "View Cart" link that WooCommerce appends after clicking add to cart */
a.added_to_cart.wc-forward {
  display: none !important;
}

/** Button needs relative positioning for the overlay */
.add-to-cart-preview {
  position: relative !important;
  overflow: hidden !important;
}

/** Hide the button's existing content (the + icon/text) when animating */
.add-to-cart-preview.fm-added > *:not(.fm-check-overlay) {
  opacity: 0 !important;
  transition: opacity 0.15s ease !important;
}

/** Also hide text nodes rendered via ::before / ::after on the button itself */
.add-to-cart-preview.fm-added::before,
.add-to-cart-preview.fm-added::after {
  opacity: 0 !important;
  transition: opacity 0.15s ease !important;
}

/** Checkmark overlay — positioned to fill the button */
.fm-check-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.add-to-cart-preview.fm-added .fm-check-overlay {
  opacity: 1;
}

/** Checkmark path draws in via stroke-dashoffset */
.fm-check-path {
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  transition: stroke-dashoffset 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}

.add-to-cart-preview.fm-added .fm-check-path {
  stroke-dashoffset: 0;
}

/************************************************************************************************/
/* VARIATION PICKER MODAL (shop page)
/************************************************************************************************/

.fm-var-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
}

.fm-var-modal.is-open {
  display: flex;
}

.fm-var-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(2px);
}

.fm-var-modal__box {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px 24px;
  width: 100%;
  max-width: 360px;
  margin: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  animation: fm-modal-in 0.2s ease;
}

@keyframes fm-modal-in {
  from { opacity: 0; transform: scale(0.94) translateY(8px); }
  to   { opacity: 1; transform: scale(1)    translateY(0);   }
}

.fm-var-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #777;
  padding: 4px 6px;
  transition: color 0.15s;
}

.fm-var-modal__close:hover { color: #111; }

.fm-var-modal__title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #111;
  margin: 0 0 16px;
}

.fm-var-modal__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

/** Pill */
.fm-var-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 16px;
  background: #f5f5f5;
  border: 2px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.fm-var-pill:hover {
  background: #111;
  border-color: #111;
}

.fm-var-pill:hover .fm-var-pill__size,
.fm-var-pill:hover .fm-var-pill__price { color: #fff; }

.fm-var-pill:disabled { opacity: 0.45; cursor: not-allowed; }

.fm-var-pill__size {
  font-weight: 700;
  font-size: 14px;
  color: #111;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.15s;
}

.fm-var-pill__price {
  font-weight: 600;
  font-size: 12px;
  color: #555;
  line-height: 1;
  transition: color 0.15s;
}

.fm-var-modal__status {
  font-size: 13px;
  color: #888;
  margin: 8px 0 0;
  text-align: center;
}

body.fm-modal-open { overflow: hidden; }

/************************************************************************************************/
/* CART / CHECKOUT PAGE (WooCommerce Block Cart)
/************************************************************************************************/

/** Hide the Proceed to Checkout block — replaced by our CTAs */
.wp-block-woocommerce-proceed-to-checkout-block,
.wc-block-cart__submit,
.wc-block-cart__submit-container,
.wc-proceed-to-checkout,
.checkout-button {
  display: none !important;
}

/** Compact block cart table */
.wc-block-cart-items__row td {
  padding: 6px 8px !important;
  vertical-align: middle !important;
}

/** Smaller product image */
.wc-block-cart-item__image {
  width: 60px !important;
}

.wc-block-cart-item__image img {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/** Product name */
.wc-block-components-product-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  text-decoration: none !important;
}

/** Price smaller */
.wc-block-cart-item__prices .price,
.wc-block-cart-item__total .price {
  font-size: 13px !important;
  color: #555 !important;
}

/** Compact quantity selector */
.wc-block-components-quantity-selector {
  gap: 2px !important;
}

.wc-block-components-quantity-selector__input {
  width: 40px !important;
  font-size: 13px !important;
  padding: 3px 4px !important;
}

.wc-block-components-quantity-selector__button {
  width: 26px !important;
  height: 26px !important;
  font-size: 14px !important;
}

/** Hide product short description in cart */
.wc-block-components-product-metadata__description {
  display: none !important;
}

/** Cart totals — remove WC's internal max-width and align left */
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-cart-order-summary-totals-block {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/** Cart totals sidebar */
.wp-block-woocommerce-cart-order-summary-heading-block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value {
  font-size: 16px !important;
  font-weight: 700 !important;
}

/** fm-sidebar-ctas removed — banner is now injected directly into sidebar */

/** Cart page title left-aligned */
.cart .entry-title,
.page-id-cart .entry-title,
.woocommerce-cart .entry-title {
  text-align: left !important;
}

/************************************************************************************************/
/* CART PAGE - FULL WIDTH CENTERED LAYOUT
/************************************************************************************************/

.cart .entry-content,
.woocommerce-cart .entry-content {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/** ORDER BANNER - instructions at top of cart */

.fm-order-banner {
  background: #3e633f;
  border-radius: 12px;
  padding: 28px 32px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}

.fm-order-banner__steps {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  width: 100%;
}

.fm-step {
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  flex: 1;
  padding: 0 16px;
}

.fm-step:not(:first-child) {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.fm-step em {
  font-style: italic;
  opacity: 0.85;
}

.fm-step strong {
  color: #bde473;
  font-weight: 700;
}

.fm-step__num {
  background: #bde473;
  color: #3e633f;
  font-weight: 700;
  font-size: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.fm-step__divider {
  display: none;
}

.fm-order-banner__ctas {
  display: flex;
  flex-direction: row;
  gap: 12px;
  width: 100%;
}

/** BUTTONS */

.fm-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none !important;
  border: 2px solid transparent;
  transition: opacity 0.15s;
  white-space: nowrap;
}

.fm-btn:hover {
  opacity: 0.85;
}

.fm-btn--primary {
  background: #bde473 !important;
  color: #3e633f !important;
  border-color: #bde473 !important;
}

.fm-btn--secondary {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
}

.fm-btn--outline {
  background: transparent !important;
  color: #3e633f !important;
  border-color: #bde473 !important;
}

.fm-btn--full {
  flex: 1;
  justify-content: center;
  margin-top: 8px;
}

.fm-btn.is-copied {
  background: #3e633f !important;
  color: #bde473 !important;
  border-color: #3e633f !important;
}

/** Neutralize alignwide negative margins and collapse WC sidebar grid to single column */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-cart.alignwide {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/** Force single-column layout — override WC blocks CSS Grid */
.wc-block-components-sidebar-layout.wc-block-cart {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-components-main.wc-block-cart__main,
.wc-block-components-sidebar.wc-block-cart__sidebar {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

.wc-block-cart-items {
  width: 100% !important;
  table-layout: fixed !important;
}

.wc-block-cart-item__image {
  overflow: hidden !important;
}

/** Mobile */
@media (max-width: 768px) {
  /** Mobile alignwide margins */

  .wc-block-cart-items {
    width: 100% !important;
  }

  .wp-block-woocommerce-cart.alignwide {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .fm-order-banner {
    padding: 20px 16px;
  }

  .fm-order-banner__steps {
    flex-direction: column;
    gap: 14px;
  }

  .fm-step {
    flex-direction: row;
    text-align: left;
    font-size: 15px;
    padding: 0;
    border-left: none !important;
  }

  .fm-step__num {
    width: 30px;
    height: 30px;
    font-size: 14px;
    flex-shrink: 0;
  }

  .fm-order-banner__ctas {
    flex-direction: column;
    width: 100%;
  }

  .fm-btn {
    width: 100%;
    justify-content: center;
  }

  /** Prevent cart table from overflowing on small screens */
  .wc-block-cart-items__row td {
    padding: 4px 6px !important;
  }

  .wc-block-cart-item__image {
    width: 70px !important;
    padding: 0 !important;
    vertical-align: top !important;
  }

  .wc-block-cart-item__image a {
    display: block;
    height: 100%;
  }

  .wc-block-cart-item__image img {
    width: 70px !important;
    height: 100% !important;
    min-height: 80px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 4px !important;
  }

  .wc-block-components-product-name {
    font-size: 13px !important;
  }

  .wc-block-cart-item__prices .price {
    font-size: 12px !important;
  }
}

/************************************************************************************************/
/* ELEMENTOR LOOP GRID - PAGINATION
/************************************************************************************************/

.elementor-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #e8e8e8;
}

/** All page number links and prev/next */
.elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #3e633f;
  background: transparent;
  border: 2px solid transparent;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}

/** Hover */
.elementor-pagination .page-numbers:hover {
  background: #f2f8ee;
  border-color: #bde473;
  color: #3e633f;
}

/** Active / current page */
.elementor-pagination .page-numbers.current {
  background: #3e633f;
  color: #bde473;
  border-color: #3e633f;
}

/** Prev / Next — pill buttons */
.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next {
  background: #bde473;
  color: #3e633f;
  border-color: #bde473;
  padding: 0 18px;
}

.elementor-pagination .page-numbers.prev:hover,
.elementor-pagination .page-numbers.next:hover {
  background: #3e633f;
  color: #bde473;
  border-color: #3e633f;
}

/** Dots ellipsis */
.elementor-pagination .page-numbers.dots {
  background: transparent;
  border-color: transparent;
  color: #999;
  cursor: default;
  pointer-events: none;
}

.wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
  padding-left: 0;
  padding-top: 25px;
}

/* Remove padding from WooCommerce cart items area */
.wc-block-components-main.wc-block-cart__main.wp-block-woocommerce-cart-items-block {
  padding: 0;
}

/************************************************************************************************/
/* EMPTY CART - PRODUCT RECOMMENDATIONS GRID
/************************************************************************************************/

.fm-ec-loop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 32px;
}

@media (max-width: 1024px) {
    .fm-ec-loop-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .fm-ec-loop-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
