/*
Theme Name: Natsy Child
Theme URI: http://natsy.novaworks.net
Description: This is a child theme for Natsy Theme.
Author: Novaworks
Author URI: http://www.novaworks.net/
Template: natsy
Version: 1.0
*/

/****************************************************************/
/*************** ADD YOUR CUSTOM CSS IN THIS AREA ***************/
/****************************************************************/

/* =========================================
   KILL THE LAST HEADER JUMP
   Elementor sticky spacer + fixed heights
========================================= */

:root{
  --subzz-header-top-h: 128px;   /* transparent / top of page */
  --subzz-header-solid-h: 72px;  /* scrolled / account pages */
}

/* Subzz shop top carousel: prevent first-slide resize flash */
body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 {
  --subzz-carousel-gap: 10px;
}

/* Keep carousel contained while Swiper calculates */
body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 .e-n-carousel {
  overflow: hidden;
}

/* Match the final Swiper desktop layout before JS finishes */
body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 .swiper-slide {
  flex: 0 0 calc((100% - 20px) / 3);
  width: calc((100% - 20px) / 3);
  max-width: calc((100% - 20px) / 3);
  margin-right: var(--subzz-carousel-gap);
  box-sizing: border-box;
}

/* Lock image shape so height does not jump */
body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 img {
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 650;
  height: auto;
  object-fit: cover;
}

/* Tablet: 2 slides */
@media (max-width: 1024px) {
  body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 .swiper-slide {
    flex-basis: calc((100% - 10px) / 2);
    width: calc((100% - 10px) / 2);
    max-width: calc((100% - 10px) / 2);
  }
}

/* Mobile: 1 slide */
@media (max-width: 767px) {
  body.woocommerce-shop .shop-promo-wrap .elementor-element-fe7a6f3 .swiper-slide {
    flex-basis: 100%;
    width: 100%;
    max-width: 100%;
  }
}
.subzz-card__media,
.subzz-card__media > .e-con-inner,
.subzz-card__media .subzz-card__img,
.subzz-card__media .elementor-widget-container,
.subzz-card__media .kitify-post-featured-image,
.subzz-card__media .kitify-post-featured-image a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.dlicon.ui-1_zoom::before {
  content: "\ed39";
  color: #fff;
}

.kitify-offcanvas h2.title .count-item-canvas {
  position: relative !important;
  top: 0 !important;
}

.elementor-12544 .elementor-element.elementor-element-140ec30 .kitify-nova-cart .header-cart-box .count-badge {
  background-color: #FF9D00 !important;
  color: #fff !important;
}

.subzz-card__media .kitify-post-featured-image img,
.subzz-card__media img.attachment-natsy-product-03 {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.minicart-canvas .count-item-canvas {
  margin-left: 0 !important;
}

.elementor-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 42px;
    flex-wrap: wrap;
}

.elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    height: 46px;
    padding: 0 16px;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    background: #F9FAFB;
    color: #545454;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
}

.elementor-12544 .elementor-element.elementor-element-32e1aea .kitify-nova-cart .header-cart-box .count-badge {
    background-color: #FF9D00 !important;
    color: #fff !important;
}

.elementor-108 .elementor-element.elementor-element-03095eb .kitify-nova-cart .header-cart-box .count-badge {
    background-color: #FF9D00 !important;
    color: #fff !important;
}

/* Show WooCommerce password toggle text */
.woocommerce .password-input {
  position: relative;
  display: block;
}

.woocommerce .password-input .show-password-input {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  min-width: unset;
  background: transparent !important;
  border: 0 !important;
  padding: 0;
  color: #111 !important;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-indent: 0 !important;
  overflow: visible !important;
}

.woocommerce .password-input .show-password-input::after {
  content: "Show";
}

.woocommerce .password-input .show-password-input.display-password::after {
  content: "Hide";
}

/* Make room for the text */
.woocommerce .password-input input {
  padding-right: 70px !important;
}

.kitify-nova-cart .header-cart-box .count-badge {
    top: -10px !important;
    right: -10px !important;
}

.elementor-pagination .page-numbers:hover {
    background: #FFFFFF;
    border-color: #2A8BEA;
    color: #2A8BEA;
}

.elementor-pagination .page-numbers.current {
    background: #2A8BEA;
    border-color: #2A8BEA;
    color: #FFFFFF;
}



/* Visa + Mastercard vertical center */
.elementor-element-37cbdd7 {
    display: flex;
    align-items: center;
    gap: 12px; /* optional spacing */
}

.elementor-element-37cbdd7 .elementor-widget-image,
.elementor-element-37cbdd7 .elementor-widget-image img {
    display: flex;
    align-items: center;
}

.elementor-element-37cbdd7 img {
    vertical-align: middle;
}

/* Only shrink the extra attribute buttons */
.variations_form .subzz-attribute-tiles-wrapper .subzz-term-btn{
  min-height: 40px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
}

.variations_form .subzz-attribute-tiles-wrapper .subzz-attr-tile-label{
  font-size: 10px !important;
  margin-bottom: 6px !important;
  letter-spacing: 0.06em !important;
}

.variations_form .subzz-attribute-tiles-wrapper .subzz-attr-group{
  gap: 6px !important;
}

/* Put attributes first, then qty/button underneath */
.variations_form .woocommerce-variation-add-to-cart{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
}

.variations_form .subzz-attribute-tiles-wrapper,
.variations_form .woocommerce-product-details__add-to-cart{
  width: 100% !important;
}

/* Stack qty and button vertically */
.variations_form .woocommerce-product-details__add-to-cart{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.variations_form .woocommerce-product-details__add-to-cart .quantity{
  width: 100% !important;
}

.variations_form .woocommerce-product-details__add-to-cart .single_add_to_cart_button{
  width: 100% !important;
}

.elementor-element-29be2de {
    display: flex;
    align-items: center;
    gap: 12px;
}

.elementor-element-37cbdd7 img {
    height: 24px;
    width: auto;
    object-fit: contain;
}

.elementor-element-37cbdd7 {
    display: flex;
    align-items: center;
}

.shop-promo-wrap {
  background: #f5f5f5;
  border-radius: 24px;
  padding: 28px 28px 32px;
  overflow: hidden;
}

.shop-promo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.shop-promo-card {
  border-radius: 24px;
  padding: 28px;
  min-height: 50px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.shop-promo-badge {
  display: inline-block;
  padding: 0px 0px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 22px;
}

.shop-promo-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.1;
  margin: 16px 0 14px 0;
  color: #fff;
}

.shop-promo-text {
  font-size: 20px;
  line-height: 1.4;
  color: rgba(255,255,255,.92);
  max-width: 85%;
  margin-top: 14px;
}

.shop-promo-card--navy {
  background: #173d69;
}
.shop-promo-card--black {
  background: #171717;
}
.shop-promo-card--green {
  background: #184c3d;
}
.shop-promo-card--blue {
  background: #2563eb;
}

.shop-promo-card--navy .shop-promo-badge {
  background: #58d4ff;
  color: #173d69;
}
.shop-promo-card--black .shop-promo-badge {
  background: #ffb100;
  color: #171717;
}
.shop-promo-card--green .shop-promo-badge {
  background: #8ee7b8;
  color: #184c3d;
}
.shop-promo-card--blue .shop-promo-badge {
  background: #dbeafe;
  color: #2563eb;
}

@media (max-width: 767px) {
  .shop-promo-wrap {
    padding: 18px 16px 20px;
    border-radius: 20px;
  }

  .shop-promo-card {
    min-height: 180px;
    padding: 20px;
    border-radius: 20px;
  }

  .shop-promo-title {
    font-size: 24px;
  }

  .shop-promo-text {
    font-size: 16px;
    max-width: 100%;
  }

  .shop-promo-badge {
    font-size: 12px;
    padding: 8px 12px;
    margin-bottom: 16px;
  }
}

/* OUTER SECTION */
.shop-promo-section {
  background: #f3f3f3;
  border-radius: 28px;
  padding: 24px 24px 28px;
  overflow: hidden;
}

.shop-promo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.shop-promo-head .elementor-heading-title {
  font-size: 28px;
  line-height: 1.1;
  font-weight: 700;
  color: #4a4a4a;
  margin: 0;
}

/* CAROUSEL */
.shop-promo-carousel .swiper-slide {
  height: auto;
}

.shop-promo-carousel .swiper-pagination {
  margin-top: 14px;
  position: static;
}

/* CARD */
.shop-promo-card {
  border-radius: 28px;
  min-height: 100px;
  padding: 24px 24px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
}

.shop-promo-card .e-con-inner {
  width: 100%;
  max-width: 100%;
  padding: 0;
  gap: 0;
}

/* BACKGROUNDS */
.shop-promo-card--navy { background: #173d69; }
.shop-promo-card--black { background: #111214; }
.shop-promo-card--green { background: #165944; }
.shop-promo-card--blue { background: #2f62df; }

/* BADGE */
.shop-promo-badge {
  display: inline-flex;
  width: auto !important;
  max-width: max-content;
  align-self: flex-start;
  margin-bottom: 20px;
}

.shop-promo-badge p {
  margin: 0;
  display: inline-block;
  padding: 12px 26px;
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
}

.shop-promo-card--navy .shop-promo-badge p {
  background: #58d4ff;
  color: #173d69;
}

.shop-promo-card--black .shop-promo-badge p {
  background: #ffb400;
  color: #111214;
}

.shop-promo-card--green .shop-promo-badge p {
  background: #84d5ac;
  color: #165944;
}

.shop-promo-card--blue .shop-promo-badge p {
  background: #d6dfef;
  color: #2f62df;
}

/* TITLE */
.shop-promo-title {
  margin-bottom: 10px;
}

.shop-promo-title .elementor-heading-title {
  margin: 0;
  font-size: 42px;
  line-height: 1.08;
  font-weight: 500;
  color: #53cfff;
}

.shop-promo-card--black .shop-promo-title .elementor-heading-title {
  color: #53cfff;
}

.shop-promo-card--green .shop-promo-title .elementor-heading-title {
  color: #53cfff;
}

.shop-promo-card--blue .shop-promo-title .elementor-heading-title {
  color: #53cfff;
}

/* TEXT */
.shop-promo-text p {
  margin: 0;
  font-size: 21px;
  line-height: 1.5;
  font-weight: 400;
  color: rgba(255,255,255,0.72);
  max-width: 90%;
}

/* MOBILE */
@media (max-width: 767px) {
  .shop-promo-section {
    padding: 18px 16px 22px;
    border-radius: 22px;
  }

  .shop-promo-head .elementor-heading-title {
    font-size: 22px;
  }

  .shop-promo-card {
    min-height: 100px;
    padding: 18px 18px 22px;
    border-radius: 22px;
  }

  .shop-promo-badge p {
    font-size: 13px;
    padding: 10px 18px;
  }

  .shop-promo-title .elementor-heading-title {
    font-size: 28px;
  }

  .shop-promo-text p {
    font-size: 16px;
    max-width: 100%;
  }
}
/* -------------------------
   1) TERM CARD LAYOUT
-------------------------- */
.pd-term-buttons-slot .subzz-attr-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* -------------------------
   2) OTHER ATTRIBUTES LAYOUT
-------------------------- */
.subzz-attr-buttons {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.subzz-attr-group[data-attr="attribute_hand"] .subzz-attr-buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.subzz-attr-buttons .subzz-term-btn {
  min-height: 10px !important;
  font-size: 14px !important;
}

/* -------------------------
   3) TERM BUTTONS = BIG
-------------------------- */
.pd-term-buttons-slot .subzz-term-btn {
  width: 100%;
  min-width: 0;
  min-height: 120px;
  padding: 20px 24px;
  border-radius: 30px;
  font-size: 28px;
  font-weight: 700;
}

/* -------------------------
   4) OTHER ATTRIBUTE BUTTONS = SMALLER
-------------------------- */
.subzz-attr-buttons .subzz-term-btn {
  width: 100%;
  min-width: 0;
  min-height: 64px;
  padding: 14px 18px;
  border-radius: 22px;
  font-size: 20px;
  font-weight: 600;
}

/* -------------------------
   5) SPACING
-------------------------- */
.subzz-other-attrs {
  margin-top: 36px;
}

.subzz-attr-group {
  margin-bottom: 26px;
}

.subzz-attr-title {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7b7b7b;
}

.subzz-price-suffix-card {
  margin-left: 8px;
  font-size: 0.7em;
  font-weight: 400;
  color: #7a7a7a;
}

/* -------------------------
   6) MOBILE
-------------------------- */
@media (max-width: 767px) {
  .pd-term-buttons-slot .subzz-attr-group {
    grid-template-columns: 1fr;
  }

  .subzz-attr-buttons,
  .subzz-attr-group[data-attr="attribute_hand"] .subzz-attr-buttons {
    grid-template-columns: 1fr;
  }

  .pd-term-buttons-slot .subzz-term-btn {
    min-height: 92px;
    font-size: 22px;
  }

  .subzz-attr-buttons .subzz-term-btn {
    min-height: 56px;
    font-size: 18px;
  }
}

.subzz-other-attrs {
  margin-top: 18px;
}

.subzz-other-attrs tr {
  display: block;
  margin-bottom: 14px;
}

.subzz-other-attrs th,
.subzz-other-attrs td {
  display: block;
  width: 100%;
}

.subzz-other-attrs th.label label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.subzz-other-attrs select {
  width: 100%;
  min-height: 52px;
  border: 1px solid #d9dde5;
  border-radius: 12px;
  padding: 0 14px;
  background: #fff;
}

.subzz-header-auth-buttons {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
  .elementor-element-f7961b4 {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 90px;
    padding-bottom: 24px;
    box-sizing: border-box;
  }

  .elementor-element-0a6088f {
    gap: 12px;
  }

  .elementor-element-d6f69f0,
  .elementor-element-45dac44,
  .elementor-element-74a1dec,
  .elementor-element-66a4ee7,
  .elementor-element-6021e85 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  .elementor-element-45dac44 img {
    max-width: 140px;
    height: auto;
  }
}

@media (max-width: 767px) {
  .elementor-element-f7961b4 {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 100px;
    padding-bottom: 30px;
    box-sizing: border-box;
  }

.elementor-1074 .elementor-element.elementor-element-f7961b4 {
  padding-top: 0px !important;
}

  .elementor-element-f7961b4 > .e-con-inner,
  .elementor-element-f7961b4 > .elementor-container,
  .elementor-element-f7961b4 > .elementor-widget-wrap {
    width: 100%;
  }

  .elementor-element-0a6088f {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

.subzz-header-auth-buttons .subzz-auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* Header root must reserve space consistently */
header[data-elementor-id="108"],
header[data-elementor-id="108"] > div,
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  width: 100% !important;
  box-sizing: border-box !important;
}

/* TOP OF PAGE: transparent pages */
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  min-height: var(--subzz-header-top-h) !important;
  max-height: var(--subzz-header-top-h) !important;
  padding-bottom: 0 !important;
}

/* TOP OF PAGE: normal solid pages */
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.page-id-8829)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer)
 {
  min-height: var(--subzz-header-solid-h) !important;
  height: var(--subzz-header-solid-h) !important;
  max-height: var(--subzz-header-solid-h) !important;
  padding-bottom: 0 !important;
  background: #545454 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
}

/* SCROLLED + account pages */
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body.woocommerce-account
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  min-height: var(--subzz-header-solid-h) !important;
  height: var(--subzz-header-solid-h) !important;
  max-height: var(--subzz-header-solid-h) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Inner row always fills the fixed header height */
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) > .e-con-inner{
  min-height: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}

/* CRITICAL: spacer must match header height from first paint */
header[data-elementor-id="108"] .elementor-sticky__spacer{
  min-height: var(--subzz-header-top-h) !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky__spacer,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky__spacer,
body.woocommerce-account
header[data-elementor-id="108"] .elementor-sticky__spacer{
  min-height: var(--subzz-header-solid-h) !important;
}

/* Logo wrappers reserve space */
header[data-elementor-id="108"] .kitify-logo,
header[data-elementor-id="108"] .kitify-logo a{
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  height: 100% !important;
}

/* Exact logo sizing by state */
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 64px !important;
  width: auto !important;
  max-height: none !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default,
body.woocommerce-account
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 34px !important;
  width: auto !important;
  max-height: none !important;
}

/* Keep only one logo image */
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-light{
  display: none !important;
}
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  display: block !important;
}

/* Prevent animation until page is truly ready */
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) *,
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky__spacer,
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky__spacer *{
  transition: none !important;
  animation: none !important;
}

/* Hero wrapper */
.elementor-element.elementor-element-f7961b4 {
    min-height: 100vh !important;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Make both inner columns fill the hero height */
.elementor-element.elementor-element-f7961b4 > .elementor-element {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Optional: if right column should hold a full-height image/background */
.elementor-element.elementor-element-66a4ee7 {
    min-height: 100%;
}

/* FAQ hero/banner full screen */
.elementor-element.elementor-element-45ad4e3 {
    min-height: 100svh !important;
    display: flex;
    align-items: center;
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

/* Make the boxed inner wrapper fill the height */
.elementor-element.elementor-element-45ad4e3 > .e-con-inner {
    min-height: 100svh !important;
    width: 100% !important;
    display: flex;
    align-items: center;
}

/* Make both columns stretch nicely */
.elementor-element.elementor-element-45ad4e3 .elementor-element.elementor-element-58d3a28,
.elementor-element.elementor-element-45ad4e3 .elementor-element.elementor-element-b7a1056 {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Left content alignment */
.elementor-element.elementor-element-45ad4e3 .elementor-element.elementor-element-58d3a28 {
    align-items: flex-start;
}
/* =========================================
   FINAL LOAD-JUMP FIX
========================================= */

/* Keep the header inner row at a fixed height from first paint */
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) > .e-con-inner{
  min-height: inherit !important;
  height: 100% !important;
  align-items: center !important;
}

/* Reserve logo space BEFORE the image finishes rendering */
header[data-elementor-id="108"] .kitify-logo,
header[data-elementor-id="108"] .kitify-logo a{
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* Top-of-page transparent pages */
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo a{
  min-height: 64px !important;
}

/* Top-of-page normal pages */
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo a{
  min-height: 52px !important;
}

/* Scrolled + account pages */
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo a,
body.woocommerce-account
header[data-elementor-id="108"] .kitify-logo,
body.woocommerce-account
header[data-elementor-id="108"] .kitify-logo a{
  min-height: 34px !important;
}

/* Make sure the image itself never collapses on first paint */
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  display: block !important;
  height: auto !important;
}

/* Keep ALL header transitions disabled until fully loaded */
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) *,
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky__spacer,
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky__spacer *{
  transition: none !important;
  animation: none !important;
}

.elementor-9258 .elementor-element.elementor-element-797fe7d .elementor-button {
  background-color: #FFFFFF33 !important;
}

body .elementor-button {
  border-radius: 8px 8px 8px 8px !important;
}

/* Default: make ALL logos look "greyed out" */
.grey-hover .swiper-slide .swiper-slide-image {
  filter: grayscale(100%) brightness(1.15);
  opacity: 0.55;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}

/* Hover: ONLY the hovered slide goes full colour */
.grey-hover .swiper-slide:hover .swiper-slide-image {
  filter: grayscale(0) brightness(1);
  opacity: 1;
  transform: scale(1.03);
}

.elementor-1074 .elementor-element {
  align-content: center;
}

/* HOW IT WORKS — Gradient divider behind the 4 steps */

/* 1) Wrapper must be the positioning context */
.how-works__wrap{
  position: relative !important;
  overflow: visible !important;
  --how-line-top: 84px;
}

/* 2) Divider as a visible gradient bar */
.how-works__line{
  position: absolute !important;
  top: var(--how-line-top) !important;
  left: 100px !important;
  right: 100px !important;
  height: 4px !important;
  opacity: 0.2 !important;
  z-index: 1 !important;
  margin: 0 !important;
  display: block !important;
}

.how-works__line .elementor-divider,
.how-works__line .elementor-divider-separator{
  width: 100% !important;
  display: block !important;
}

.how-works__line .elementor-divider-separator{
  height: 4px !important;
  border: 0 !important;
  background: linear-gradient(to right, #2A8BEA, #48CAED, #FF9D00, #F73C5C) !important;
}

/* 3) Keep step content above the line */
.how-works__wrap > .e-con{
  position: relative;
  z-index: 2;
}

/* Desktop only */
@media (max-width: 1024px){
  .how-works__line{ display:none !important; }
}

/* ===== Shared ===== */
.subzz-how-it-works .subzz-accent { color: #2A8BEA; }

.subzz-step-badge{
  width:64px; height:54px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 35px rgba(0,0,0,.12);
}
.subzz-step-badge h1,
.subzz-step-badge h2,
.subzz-step-badge h3,
.subzz-step-badge .elementor-heading-title{
  margin:0;
  color:#fff;
  font-weight:800;
  font-size:24px;
  line-height:1;
}

/* ===== Media card ===== */
.subzz-step-media{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 25px 70px rgba(0,0,0,.18);
}

.subzz-step-media img{
  width:100%;
  height:100%;
}

/* Overlay card */
.subzz-overlay-card{
  background:#fff;
  border-radius:16px;
  padding:24px;
  box-shadow:0 18px 50px rgba(0,0,0,.14);
  text-align:center;
}
.subzz-overlay-card .elementor-heading-title{
  margin:0;
}

/* ===== Accordion styling ===== */
.subzz-accordion .elementor-accordion-item{
  border:1px solid #e9ecef !important;
  border-radius:12px !important;
  overflow:hidden;
  margin-bottom:10px;
}
.subzz-accordion .elementor-tab-title{
  padding:16px 20px !important;
}
.subzz-accordion .elementor-tab-content{
  padding:0 20px 16px !important;
  border-top:0 !important;
}

/* Step color variables */
.step-01{ --step:#2A8BEA; --img-scale:1.50; }
.step-02{ --step:#48CAED; --img-scale:1.10; }
.step-03{ --step:#FF9D00; --img-scale:1.00; }
.step-04{ --step:#F73C5C; --img-scale:1.50; }

/* Badge background per step */
.step-01 .subzz-step-badge{ background:var(--step); }
.step-02 .subzz-step-badge{ background:var(--step); }
.step-03 .subzz-step-badge{ background:var(--step); }
.step-04 .subzz-step-badge{ background:var(--step); }

/* Accordion hover border per step */
.step-01 .subzz-accordion .elementor-accordion-item:hover{ border-color:var(--step) !important; }
.step-02 .subzz-accordion .elementor-accordion-item:hover{ border-color:var(--step) !important; }
.step-03 .subzz-accordion .elementor-accordion-item:hover{ border-color:var(--step) !important; }
.step-04 .subzz-accordion .elementor-accordion-item:hover{ border-color:var(--step) !important; }

/* Optional: make accordion icon match step */
.step-01 .subzz-accordion .elementor-accordion-icon{ color:var(--step) !important; }
.step-02 .subzz-accordion .elementor-accordion-icon{ color:var(--step) !important; }
.step-03 .subzz-accordion .elementor-accordion-icon{ color:var(--step) !important; }
.step-04 .subzz-accordion .elementor-accordion-icon{ color:var(--step) !important; }

/* Make the accordion title line a flex row */
.e-n-accordion-item > summary.e-n-accordion-item-title{
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

/* Push the icon to the far right */
.e-n-accordion-item > summary.e-n-accordion-item-title .e-n-accordion-item-title-icon{
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Ensure the text area can shrink without forcing the icon */
.e-n-accordion-item > summary.e-n-accordion-item-title .e-n-accordion-item-title-header{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.elementor-10652 .elementor-element.elementor-element-04d8a1e > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10652 .elementor-element.elementor-element-930aaf0 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-ca11d8e > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-f90238e > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-46ec1fa > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-ef2f4ba > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-e1f14da > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-7756e6a > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-10902 .elementor-element.elementor-element-6cb6c76 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{
  border-radius: 12px 12px 1px 1px;
}

/* Parent = true 4-col grid */
.subzz-feature-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

/* Force each card to occupy ONE grid column */
.subzz-feature-grid > .subzz-feature-item{
  grid-column: span 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Tablet: 2 cols */
@media (max-width: 1024px){
  .subzz-feature-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: 1 col */
@media (max-width: 767px){
  .subzz-feature-grid{
    grid-template-columns: 1fr !important;
  }
}

/* 4 cols desktop, 2 cols tablet, 1 col mobile */
.subzz-feature-item{
  flex: 1 1 calc(25% - 24px);
  min-width: 240px;
}
@media (max-width: 1024px){
  .subzz-feature-item{ flex-basis: calc(50% - 16px); }
}
@media (max-width: 767px){
  .subzz-feature-item{ flex-basis: 100%; }
}

/* CARD (glass) */
.subzz-feature-card{
  background: rgba(255,255,255,0.10);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 32px;
  transition: background .3s ease, transform .3s ease;
}
.subzz-feature-card:hover{
  background: rgba(255,255,255,0.15);
}

/* ICON BLOCK + HOVER SCALE */
.subzz-feature-icon{
  width:64px;
  height:64px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  transition: transform .3s ease;
}
.subzz-feature-card:hover .subzz-feature-icon{
  transform: scale(1.10);
}

/* SVG sizing + color */
.subzz-feature-icon .subzz-svg{
  width:32px;
  height:32px;
  color:#fff;
}

/* TEXT */
.subzz-feature-card h3{
  margin: 0 0 16px 0;
  color:#fff;
  font-size:24px;
  font-weight:800;
}
.subzz-feature-card p{
  margin:0;
  color: rgba(255,255,255,0.80);
  line-height:1.7;
}

.elementor-element-d362a92,
.elementor-element-30b803bb,
.elementor-element-5247e764{
  max-width: 700px !important;
}

@media (max-width: 1599px) and (min-width: 768px) {
  .elementor-10652 .elementor-element.elementor-element-5d828c69 {
    --content-width: 90%;
  }
}

/* Search bar */
.subzz-faq-search-wrap{
  position:relative;
  max-width: 720px;
  margin: 0 auto;
}
.subzz-faq-search-wrap input{
  width:100%;
  padding:18px 18px 18px 56px;
  font-size:18px;
  border-radius:16px;
  border:2px solid #e5e7eb;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  background-color: #fff;
}
.subzz-faq-search-wrap input:focus{
  border-color:#2A8BEA;
  box-shadow:0 0 0 4px rgba(42,139,234,.15);
}
.subzz-faq-search-icon{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  color: rgba(84,84,84,.4);
  display:flex;
}
.subzz-faq-noresults{
  text-align:center;
  margin-top:14px;
  color: rgba(84,84,84,.75);
  font-size:16px;
}
.subzz-faq-accordion details.e-n-accordion-item,
.subzz-faq-accordion .elementor-accordion-item{
  border:2px solid #e5e7eb !important;
  border-radius:16px !important;
  overflow:hidden;
}

/* Card hover */
.contact-card{
  transition: all .3s ease;
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}
.contact-card:hover{
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.contact-card .contact-icon{
  transition: transform .3s ease;
}
.contact-card:hover .contact-icon{
  transform: scale(1.1);
}

/* Form card */
.subzz-form-card {
  background: linear-gradient(135deg, #ffffff, #f8f9fa);
  border: 2px solid #f1f3f5;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
}

@media (min-width: 768px){
  .subzz-form-card { padding: 40px; }
}

/* 2-col grid on desktop */
.subzz-form-grid {
  display: grid;
  gap: 24px;
  margin-bottom: 0px;
}
@media (min-width: 768px){
  .subzz-form-grid-2 { grid-template-columns: 1fr 1fr; }
}

/* Label */
.subzz-field label{
  display:block;
  font-size: 14px;
  font-weight: 700;
  color: #545454;
  margin-bottom: 0px;
}

/* Inputs */
.subzz-field input[type="text"],
.subzz-field input[type="email"],
.subzz-field input[type="tel"],
.subzz-field select,
.subzz-field textarea{
  width:100%;
  padding: 14px 16px;
  border-radius: 12px;
  border: 2px solid #e9ecef;
  background: #fff;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  font-size: 16px;
  color: #545454;
}
.subzz-field textarea{ resize:none; }

.subzz-field input:focus,
.subzz-field select:focus,
.subzz-field textarea:focus{
  border-color: #2A8BEA;
  box-shadow: 0 0 0 4px rgba(42,139,234,.12);
}

.subzz-field select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, #545454 50%),
                    linear-gradient(135deg, #545454 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(1em + 4px),
                       calc(100% - 12px) calc(1em + 4px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding: 0px 16px !important;
}

/* Submit button */
.subzz-actions{
  margin-top: 8px;
}
.subzz-actions .wpcf7-submit{
  background: #F73C5C;
  color:#fff;
  border:0;
  border-radius: 14px;
  padding: 16px 28px;
  font-size: 18px;
  font-weight: 700;
  cursor:pointer;
  box-shadow: 0 18px 40px rgba(247,60,92,.25);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  width: 100%;
}
@media (min-width: 768px){
  .subzz-actions .wpcf7-submit{ width:auto; }
}
.subzz-actions .wpcf7-submit:hover{
  transform: scale(1.03);
  box-shadow: 0 24px 55px rgba(247,60,92,.32);
  filter: brightness(0.98);
}

.wpcf7-not-valid-tip{
  font-size: 13px;
  margin-top: 6px;
}
.wpcf7 form .wpcf7-response-output{
  border-radius: 12px;
  padding: 12px 14px;
}
.subzz-actions .wpcf7-submit::before{
  content: "➤";
  display:inline-block;
  margin-right:10px;
  transform: translateY(-1px);
}

/* About glows */
.about-problem-image-wrap,
.about-solution-image-wrap,
.about-impact-image-wrap{
  position: relative;
}

.about-problem-glow{
  position: absolute;
  width: 256px;
  height: 256px;
  right: -32px;
  bottom: -32px;
  border-radius: 999px;
  background: #F73C5C;
  filter: blur(48px);
  opacity: .30;
  z-index: 0;
}

.about-solution-glow{
  position: absolute;
  width: 256px;
  height: 256px;
  left: -32px;
  bottom: -32px;
  border-radius: 999px;
  background: #48CAED;
  filter: blur(48px);
  opacity: .20;
  z-index: 0;
}

.about-impact-glow{
  position:absolute;
  width: 256px;
  height: 256px;
  right: -32px;
  bottom: -32px;
  border-radius: 999px;
  background: #48CAED;
  filter: blur(48px);
  opacity: .30;
  z-index: 0;
}

.about-problem-image-wrap img,
.about-solution-image-wrap img,
.about-impact-image-wrap img{
  position: relative;
  z-index: 1;
}

.about-problem-left p,
.about-solution-content p,
.about-impact-left p{
  margin: 0 0 16px;
}
.about-problem-left p:last-child,
.about-solution-content p:last-child,
.about-impact-left p:last-child{
  margin-bottom: 0;
}

.about-solution-badge{
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

@media (min-width: 1024px){
  .about-solution-media{ order: 1; }
  .about-solution-content{ order: 2; }
}

.value-card{
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  height: 100%;
}
.value-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
}
.about-values-grid{ align-items: stretch; }

.elementor-element-448e867,
.elementor-element-0532053,
.elementor-element-2eb2970 {
  align-content: center;
}

.join-card{
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 10px 25px rgba(0,0,0,.10);
}
.join-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
}
.join-card .elementor-button{
  transition: filter .2s ease, transform .2s ease;
}
.join-card .elementor-button:hover{
  filter: brightness(0.98);
  transform: translateY(-1px);
}

.merchant-benefit-card{
  border: 2px solid #f1f3f5;
  border-radius: 16px;
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
.merchant-benefit-card:hover{
  border-color: #e9ecef;
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.merchant-benefit-card .merchant-benefit-icon{
  transition: transform .3s ease;
}
.merchant-benefit-card:hover .merchant-benefit-icon{
  transform: scale(1.10);
}

.merchant-partner-card{
  transition: transform .3s ease, box-shadow .3s ease;
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}
.merchant-partner-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
}
.merchant-partner-card .merchant-partner-icon{
  transition: transform .3s ease;
}
.merchant-partner-card:hover .merchant-partner-icon{
  transform: scale(1.1);
}

@media (max-width: 767px){
  .merchant-platform-card{ padding: 32px; }
}

.merchant-partner-grid{
  align-items: stretch !important;
}
.merchant-partner-grid .merchant-partner-card{
  height: 100% !important;
  display: flex;
  flex-direction: column;
}

/* --- Subzz Product Card --- */
.subzz-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.subzz-card:hover{
  border-color:#2A8BEA;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,.12), 0 8px 10px -6px rgba(0,0,0,.08);
}

.subzz-card__media{
  position:relative;
  aspect-ratio: 1 / 1;
  overflow:hidden;
  background:#f9fafb;
}
.subzz-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .5s ease;
}

.subzz-card__overlay{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:16px;
  background: linear-gradient(to top, rgba(0,0,0,.80), rgba(0,0,0,0));
  opacity:0;
  transition: opacity .3s ease;
}
.subzz-card:hover .subzz-card__overlay{ opacity:1; }

.subzz-card__btn .elementor-button{
  width:100%;
  background:#2A8BEA;
  color:#fff;
  font-weight:600;
  border-radius:6px;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
}
.subzz-card__btn .elementor-button:hover{
  background:#48CAED;
}

.subzz-card__content{ padding:0px 16px 16px 16px; }

.subzz-card__brand{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: rgba(84,84,84,.60);
  margin-bottom:4px;
}

.subzz-card__title{
  font-weight:600;
  color:#545454;
  margin-bottom:12px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.subzz-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background: rgba(255,157,0,.10);
  color:#FF9D00;
  border:1px solid rgba(255,157,0,.30);
}

.subzz-price{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.subzz-price__label,
.subzz-price__suffix{
  font-size:14px;
  color: rgba(84,84,84,.70);
}
.subzz-price__value{
  font-size:28px;
  font-weight:700;
  color:#2A8BEA;
  line-height:1;
}

/* Equal height cards */
.elementor-element-0091bde,
.elementor-element-0091bde > .e-con-inner{
  align-items: stretch !important;
}
.elementor-element-0091bde > .merchant-partner-card{
  align-self: stretch !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.growth-card{
  transition: border-color .3s ease;
  border-color: #f1f3f5;
}
.growth-card:hover{
  border-color: #e9ecef;
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
}

.price-suffix, .price-from-prefix {
  color: #545454b3;
  font-size: 14px;
}
.growth-content{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.growth-metric{
  margin-top: auto;
}

.elementor-11372 .elementor-element.elementor-element-b0632e3 {
  --display: flex;
  --flex-direction: column;
}

.woocommerce-Price-amount {
  color: #2a8bea !important;
  font-weight: bold !important;
  font-size: 20px !important;
}

.subzz-card__btn .elementor-button .elementor-button-content-wrapper{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px;
  width: 100%;
}
.subzz-card__btn .elementor-button .elementor-button-icon{
  margin: 0 !important;
  order: 0;
}
.subzz-card__btn .elementor-button .elementor-button-text{
  order: 1;
}

.elementor-element-04bfeaa .elementor-button-icon,
.elementor-element-04bfeaa .elementor-button-icon i,
.elementor-element-04bfeaa .elementor-button:hover .elementor-button-icon,
.elementor-element-04bfeaa .elementor-button:hover .elementor-button-icon i {
  transition: none !important;
  transform: none !important;
}
.elementor-element-04bfeaa .elementor-button-icon {
  opacity: 1 !important;
}

/* Hero */
.subzz-hero-offer .subzz-hero-content{
  max-width: 48rem;
}
.subzz-hero-offer .subzz-primary-btn .elementor-button{
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.subzz-hero-offer .subzz-primary-btn .elementor-button:hover{
  transform: scale(1.05);
}
.subzz-hero-offer .subzz-secondary-btn .elementor-button{
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background-color .3s ease;
}
.subzz-hero-offer .subzz-secondary-btn .elementor-button:hover{
  background: rgba(255,255,255,0.20);
}
.subzz-hero-offer .subzz-hero-stats{
  border-top: 1px solid rgba(255,255,255,0.20);
}
.subzz-hero-offer{
  padding-top: 150px;
}
@media (max-width: 1024px){
  .subzz-hero-offer{ padding-top: 90px; }
}
@media (max-width: 767px){
  .subzz-hero-offer{ padding-top: 80px; }
}

/* =========================================
   SHOP BY CATEGORY
========================================= */

.subzz-cat-section .e-grid,
.subzz-cat-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (min-width: 768px){
  .subzz-cat-section .e-grid,
  .subzz-cat-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (min-width: 1025px){
  .subzz-cat-section .e-grid,
  .subzz-cat-grid{
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

.subzz-cat-card{
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  transition: transform .3s ease !important;
  transform: translateZ(0);
}

.subzz-cat-img{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}
.subzz-cat-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.subzz-cat-overlay{
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 12px !important;
  text-align: center !important;
  transition: background .3s ease !important;
  pointer-events: none !important;
}

.subzz-cat-title{
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}
.subzz-cat-title .elementor-heading-title{
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
@media (min-width: 768px){
  .subzz-cat-title .elementor-heading-title{
    font-size: 16px !important;
  }
}

.subzz-cat-link{
  position: absolute;
  inset: 0;
  z-index: 5;
}

/* Force shop loop into your desired grid */
.woocommerce ul.products{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
@media (min-width: 1024px){
  .woocommerce ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
.woocommerce ul.products li.product{
  width: auto !important;
  margin: 0 !important;
}

/* Card */
.bv-product{ position: relative; }
.bv-card{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}
.bv-product:hover .bv-card,
.bv-card:hover{
  box-shadow: 0 12px 25px rgba(0,0,0,.12);
  border-color: #2A8BEA;
}

.bv-card__media{
  position: relative;
  background: #f3f4f6;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.bv-card__image{
  display:block;
  width:100%;
  height:100%;
}
.bv-card__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display:block !important;
  transition: transform .5s ease;
}
.bv-product:hover .bv-card__img,
.bv-card:hover .bv-card__img{
  transform: scale(1.10);
}

.bv-card__overlay{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0,0,0,.8), rgba(0,0,0,0));
  opacity: 0;
  pointer-events:none;
  transition: opacity .3s ease;
}
.bv-product:hover .bv-card__overlay,
.bv-card:hover .bv-card__overlay{
  opacity: 1;
  pointer-events:auto;
}

.bv-card__btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #2A8BEA;
  color: #fff !important;
  font-weight: 700;
  border-radius: 8px;
  padding: 10px 12px;
  text-decoration: none !important;
  transition: background .2s ease;
}
.bv-card__btn:hover{ background: #48CAED; }
.bv-card__btnIcon{ flex: 0 0 auto; }

.bv-card__badge{
  position: absolute;
  left: 12px;
  top: 12px;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #FF9D00;
  background: rgba(255,157,0,.10);
  border: 1px solid rgba(255,157,0,.30);
}

.bv-card__body{ padding: 16px; }
.bv-card__brand{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(84,84,84,.60);
  margin: 0 0 6px;
}
.bv-card__title{
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  color: #545454;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bv-card__title a{ color: inherit; text-decoration: none; }
.bv-card__title a:hover{ text-decoration: none; }

.bv-card__price .price,
.bv-card__price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.bv-card__price .price-from-prefix,
.bv-card__from,
.bv-card__suffix,
.bv-card__price .price-suffix{
  font-size: 14px;
  color: rgba(84,84,84,.70);
}
.bv-card__price .woocommerce-Price-amount,
.bv-card__amount{
  font-size: 24px;
  font-weight: 800;
  color: #2A8BEA;
}

.bv-product .woosw-btn{
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 10 !important;
}

/* FIX: Kitify product cards too narrow */
.elementor-element-5772827b .kitify-products__list_wrapper > ul.products{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  float: none !important;
}
@media (min-width: 1024px){
  .elementor-element-5772827b .kitify-products__list_wrapper > ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
.elementor-element-5772827b .kitify-products__list_wrapper > ul.products > li.product,
.elementor-element-5772827b .kitify-products__list_wrapper > ul.products > li.product_item{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  flex: unset !important;
  display: block !important;
}
.elementor-element-5772827b .kitify-products__list_wrapper > ul.products > li .product-item{
  width: 100% !important;
  max-width: none !important;
}
.elementor-element-5772827b .product-item__thumbnail,
.elementor-element-5772827b .product-item__thumbnail-placeholder{
  width: 100% !important;
  max-width: none !important;
}
.elementor-element-5772827b .product-item__thumbnail-placeholder img{
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
}
.elementor-element-5772827b .woocommerce-loop-product__title{
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* Stop shrink-wrap flex layout on shop products */
.woocommerce .kitify-products__list_wrapper > ul.products,
.woocommerce ul.products.ul_products,
.woocommerce ul.products.products-grid{
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 24px !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  float: none !important;
}
@media (min-width: 768px){
  .woocommerce .kitify-products__list_wrapper > ul.products,
  .woocommerce ul.products.ul_products,
  .woocommerce ul.products.products-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px){
  .woocommerce .kitify-products__list_wrapper > ul.products,
  .woocommerce ul.products.ul_products,
  .woocommerce ul.products.products-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.woocommerce ul.products > li.product,
.woocommerce ul.products > li.product_item{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
}
.woocommerce ul.products > li .product-item,
.woocommerce ul.products > li .product-item__thumbnail,
.woocommerce ul.products > li .product-item__description{
  width: 100% !important;
  max-width: none !important;
}
.woocommerce ul.products > li .product-item__thumbnail-placeholder img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
.woocommerce .woocommerce-loop-product__title{
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* GRID (shop + category pages) */
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products{
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  gap: 24px !important;
}
@media (min-width: 768px){
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px){
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

body.woocommerce-shop ul.products > li.product,
body.tax-product_cat ul.products > li.product,
body.tax-product_tag ul.products > li.product{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}

.bv-bc{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:rgba(84,84,84,.7)}
.bv-bc a{color:rgba(84,84,84,.7);text-decoration:none}
.bv-bc a:hover{color:#2A8BEA}

.bv-badge{
  display:inline-flex;align-items:center;
  padding:8px 16px;border-radius:999px;
  font-size:14px;font-weight:800;
  background:rgba(255,157,0,.10);
  color:#FF9D00;border:2px solid rgba(255,157,0,.30);
}

.bv-hidden-select{position:absolute!important;left:-9999px!important}

.bv-var-group{
  display:grid;
  gap:12px;
  margin-bottom:16px;
}

.bv-var-btn{
  padding:14px;
  border-radius:10px;
  border:2px solid #d1d5db;
  background:#fff;
  font-weight:800;
  color:#545454;
  transition:.2s;
  text-align:center;
}
.bv-var-btn:hover{border-color:#9ca3af}
.bv-var-btn.is-active{
  border-color:#2A8BEA;
  background:rgba(42,139,234,.06);
  box-shadow:0 6px 16px rgba(0,0,0,.10);
}
.bv-var-btn.is-disabled{opacity:.35;cursor:not-allowed}

.single-product .price,
.elementor-widget-woocommerce-product-price .price{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.single-product .price .woocommerce-Price-amount{
  font-size:40px;
  font-weight:900;
  color:#2A8BEA;
}

/* Cart */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 24px;
}
@media (min-width: 768px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    padding: 64px 48px;
  }
}
@media (min-width: 1024px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    padding: 72px 64px;
  }
}
@media (min-width: 1024px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart{
    display: grid !important;
    grid-template-columns: 1.6fr 0.9fr !important;
    gap: 32px !important;
    align-items: start !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-main.wc-block-cart__main{ grid-column: 1; }
  .wp-block-woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{ grid-column: 2; }
}

.wp-block-woocommerce-cart .wc-block-components-main.wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar{
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  padding: 24px !important;
}

.wp-block-woocommerce-cart table.wc-block-cart-items{
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header th{
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: rgba(84,84,84,.6) !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 12px 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row td{
  border-bottom: 1px solid #eef2f7 !important;
  padding: 18px 0 !important;
  vertical-align: middle !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child td{
  border-bottom: 0 !important;
}

.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
}
.wp-block-woocommerce-cart a.wc-block-components-product-name{
  color: #545454 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.wp-block-woocommerce-cart a.wc-block-components-product-name:hover{
  color: #2A8BEA !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details{
  margin: 10px 0 0 !important;
  padding: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details li{
  font-size: 13px !important;
  color: rgba(84,84,84,.75) !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details__name{
  font-weight: 800 !important;
  color: rgba(84,84,84,.7) !important;
}
.wp-block-woocommerce-cart .wc-block-components-product-price__value{
  font-weight: 900 !important;
  color: #545454 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  color: rgba(84,84,84,.7) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover{
  color: #F73C5C !important;
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title{
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #545454 !important;
  margin: 0 0 12px !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__label{
  color: rgba(84,84,84,.7) !important;
  font-weight: 700 !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__value{
  font-weight: 900 !important;
  color: #545454 !important;
}
.wp-block-woocommerce-cart a.wc-block-cart__submit-button{
  border-radius: 12px !important;
  background: #2A8BEA !important;
  color: #fff !important;
  font-weight: 900 !important;
  padding: 16px 18px !important;
  font-size: 18px !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.14) !important;
  border: 0 !important;
}
.wp-block-woocommerce-cart a.wc-block-cart__submit-button:hover{
  background: #48CAED !important;
  box-shadow: 0 22px 45px rgba(0,0,0,.18) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  display: none !important;
}

.wc-block-components-sidebar,
.wc-block-components-sidebar-layout .wc-block-components-main {
  width: 100% !important;
}

/* ===== Subzz My Account + Login ===== */

.woocommerce-account{
  background:#f5f5f5;
}

/* Logged-in wrapper */
.subzz-myaccount{
  padding: 48px 0;
}
.subzz-myaccount__inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width:768px){ .subzz-myaccount__inner{ padding:0 48px; } }
@media (min-width:1024px){ .subzz-myaccount__inner{ padding:0 64px; } }

@media (min-width:1024px){
  .subzz-myaccount__inner{
    display:grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items:start;
  }
  .subzz-myaccount__nav,
  .subzz-myaccount__content{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:24px;
  }
}

.subzz-myaccount__nav .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.subzz-myaccount__nav .woocommerce-MyAccount-navigation a{
  display:block;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  color:#545454;
  font-weight:800;
  text-decoration:none;
}
.subzz-myaccount__nav .woocommerce-MyAccount-navigation .is-active a{
  border-color:#2A8BEA;
  background: rgba(42,139,234,.06);
  color:#2A8BEA;
}

/* Logged-out auth */
.subzz-auth{
  min-height: calc(100vh - 120px);
  display:flex;
}
.subzz-auth__left{
  flex: 1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 32px 0;
}
.subzz-auth__card{
  width:100%;
  max-width: 860px;
  background:#fff;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 25px 60px rgba(0,0,0,.12);
}
@media (min-width:768px){ .subzz-auth__card{ padding:40px; } }

.subzz-auth__header{ text-align:center; margin-bottom: 18px; }
.subzz-auth__title{
  margin:0 0 8px;
  font-size: 32px;
  font-weight: 900;
  color:#545454;
}
@media (min-width:768px){ .subzz-auth__title{ font-size: 40px; } }
.subzz-auth__subtitle{
  margin:0;
  color:#545454;
}

.subzz-bars{
  display:flex;
  gap:8px;
  justify-content:center;
  margin: 18px 0 28px;
}
.subzz-bars span{ width:48px; height:4px; border-radius:999px; display:block; }
.subzz-bars .b1{ background:#FF9D00; }
.subzz-bars .b2{ background:#F73C5C; }
.subzz-bars .b3{ background:#2A8BEA; }
.subzz-bars .b4{ background:#48CAED; }

.subzz-auth__form label{
  font-size:14px;
  font-weight:800;
  color:#545454;
  margin:0 0 8px;
}
.subzz-auth__form input.input-text{
  width:100%;
  border:2px solid #e0e0e0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  color:#545454 !important;
  background:#fff !important;
  transition: all .2s ease;
  outline:none !important;
  box-shadow:none !important;
}
.subzz-auth__form input.input-text:focus{
  border-color:#2A8BEA !important;
  box-shadow: 0 0 0 3px rgba(42,139,234,.18) !important;
}

.subzz-passwrap{ position:relative; display:block; }
.subzz-passwrap input{ padding-right: 44px !important; }
.subzz-eye{
  position:absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  border:0;
  background:transparent;
  cursor:pointer;
  opacity:.7;
  font-size: 18px;
}
.subzz-eye:hover{ opacity: 1; }

.subzz-auth__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  margin: 10px 0 18px;
}
.subzz-auth__forgot{
  color:#2A8BEA;
  font-weight:800;
  text-decoration:none;
}
.subzz-auth__forgot:hover{ text-decoration:underline; }

.subzz-btn{
  display:block;
  width:100%;
  text-align:center;
  padding: 14px 16px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration:none;
  border:0;
}
.subzz-btn--login{
  background:#FF9D00;
  color:#fff;
  box-shadow: 0 16px 30px rgba(0,0,0,.14);
}
.subzz-btn--login:hover{ opacity:.92; transform: translateY(-1px); }

.subzz-auth__divider{
  position:relative;
  margin: 43px 0 43px;
  text-align:center;
  color:#545454;
}
.subzz-auth__divider:before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:50%;
  height:1px;
  background:#e0e0e0;
}
.subzz-auth__divider span{
  position:relative;
  background:#fff;
  padding: 0 12px;
  font-size: 13px;
  font-weight:700;
}

.subzz-btn--register{
  background:#F73C5C;
  color:#fff !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.12);
}
.subzz-btn--register:hover{ opacity:.92; transform: translateY(-1px); }

.subzz-auth__footer{
  text-align:center;
  margin-top: 18px;
  font-size: 13px;
  color:#545454;
}
.subzz-auth__footer a{ color:#2A8BEA; font-weight:900; text-decoration:none; }
.subzz-auth__footer a:hover{ text-decoration:underline; }

.subzz-auth__right{
  display:none;
  flex: 0 0 33.333%;
  background: #ddd;
  background-size: cover;
  background-position: center;
  border-left: 1px solid rgba(0,0,0,.04);
}
@media (min-width:1024px){
  .subzz-auth__right{ display:block; }
}

body.woocommerce-account nav.woocommerce-breadcrumb,
body.woocommerce-account .page-title{
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .nova-container,
body.woocommerce-account:not(.logged-in) .site-content,
body.woocommerce-account:not(.logged-in) .entry-content{
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-account:not(.logged-in) .grid-x,
body.woocommerce-account:not(.logged-in) .cell{
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-account:not(.logged-in) #site-content,
body.woocommerce-account:not(.logged-in) .site-content-wrapper{
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .subzz-auth{
  min-height: calc(100vh - var(--subzz-header-h, 0px) - var(--subzz-footer-h, 0px)) !important;
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) .subzz-auth__right{
  border-left: 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}

:root{
  --subzz-header-h: 96px;
  --subzz-footer-h: 0px;
}

/* Logged out My Account fixes */
body.woocommerce-account:not(.logged-in) .site-content > .page-header-content{
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-account:not(.logged-in) .site-content{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.woocommerce-account:not(.logged-in) .entry-content,
body.woocommerce-account:not(.logged-in) article,
body.woocommerce-account:not(.logged-in) #post-14{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.woocommerce-account:not(.logged-in) .nova-container,
body.woocommerce-account:not(.logged-in) .grid-x,
body.woocommerce-account:not(.logged-in) .cell.small-12{
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth{
  width: 100% !important;
  margin: 0 !important;
  min-height: 100vh !important;
}
body.woocommerce-account:not(.logged-in) #site-content,
body.woocommerce-account:not(.logged-in) .site-content-wrapper{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

button.woocommerce-button.button.woocommerce-form-login__submit.subzz-btn.subzz-btn--login{
  background-color: rgb(255, 157, 0) !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.woocommerce-account:not(.logged-in) .subzz-auth__left{
  flex-direction: column;
}
body.woocommerce-account:not(.logged-in) .subzz-auth__footer{
  width: 100%;
  max-width: 860px;
  margin-top: 16px;
  text-align: center;
  font-size: 13px;
  color: #545454;
}
body.woocommerce-account:not(.logged-in) .subzz-auth__footer a{
  color: #2A8BEA;
  font-weight: 900;
  text-decoration: none;
}
body.woocommerce-account:not(.logged-in) .subzz-auth__footer a:hover{
  text-decoration: underline;
}

.site-content a:not(.button),
.site-content a:not(.button):hover {
  color: #2A8BEA;
}

/* Hide default show-password */
body.woocommerce-account:not(.logged-in) .subzz-auth .password-input .show-password-input{
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-passwrap{
  position: relative !important;
  display: block !important;
  width: 100% !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-passwrap .password-input{
  display: block !important;
  width: 100% !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-passwrap input#password{
  width: 100% !important;
  padding-right: 52px !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-eye{
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  opacity: .7 !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-eye:hover{
  opacity: 1 !important;
}
body.woocommerce-account:not(.logged-in) .subzz-auth .subzz-eye img{
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li a {
  width: 100%;
  padding: 10px;
}

/* =========================================================
   SUBZZ HEADER - CLEAN REPLACEMENT
========================================================= */

/* Base sticky element */
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  z-index: 9999 !important;
  box-sizing: border-box !important;
}

/* Admin bar offset */
body.admin-bar header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  top: 32px !important;
}

body:not(.admin-bar) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  top: 0px !important;
}

/* Prevent load jump */
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body:not(.subzz-header-ready) header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) *{
  transition: none !important;
}

body.subzz-header-ready header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body.subzz-header-ready header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer) *{
  transition:
    background-color .35s ease,
    box-shadow .35s ease,
    padding .35s ease,
    min-height .35s ease,
    max-height .35s ease,
    color .25s ease,
    font-size .25s ease,
    line-height .25s ease,
    opacity .25s ease !important;
}

/* Use only ONE logo image */
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-light{
  display: none !important;
}
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  display: block !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* DEFAULT TOP-OF-PAGE STATE - transparent header pages */
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  background: transparent !important;
  box-shadow: none !important;
  min-height: 100px !important;
  max-height: 120px !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  overflow: visible !important;
}

body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 64px !important;
}

body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .nav-menu > li > a,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .nav-menu > li > a,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] #menu-main-menu-1 > li > a{
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a:hover,
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a:hover{
  color: #48CAED !important;
}

body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-element-eac28f3 .elementor-button{
  background: #FF9D00 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  line-height: 1.1 !important;
}

body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .merchant_login .elementor-button{
  background: rgba(255,255,255,.20) !important;
  border: 1px solid rgba(255,255,255,.30) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 10px !important;
  line-height: 1.1 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .merchant_login .elementor-button:hover{
  background: rgba(255,255,255,.33) !important;
}
body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-element-eac28f3 .elementor-button:hover{
  opacity: .9 !important;
}

/* DEFAULT NON-TRANSPARENT PAGES */
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  background: #ffffff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  min-height: 96px !important;
  max-height: 96px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  overflow: visible !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 52px !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .nav-menu > li > a,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .nav-menu > li > a,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] #menu-main-menu-1 > li > a{
  color: #545454 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a:hover,
body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a:hover{
  color: #2A8BEA !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-element-eac28f3 .elementor-button{
  background: #FF9D00 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
}

body:not(.kitify-doc-enable-header-transparency):not(.subzz-scrolled):not(.woocommerce-account)
header[data-elementor-id="108"] .merchant_login .elementor-button{
  background: #2A8BEA !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
}

/* SCROLLED STATE */
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
  background: #545454 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
  min-height: 72px !important;
  max-height: 72px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 34px !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .nav-menu > li > a,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .nav-menu > li > a,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] #menu-main-menu-1 > li > a{
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .header-primary-nav .menu > li > a:hover,
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a:hover{
  color: #48CAED !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-button{
  font-size: 14px !important;
  line-height: 1.05 !important;
  padding: 7px 12px !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .elementor-element-eac28f3 .elementor-button,
body.subzz-scrolled:not(.page-id-8829)
header[data-elementor-id="108"] .elementor-element-1605d0f9 .elementor-button{
  background: #FF9D00 !important;
  color: #fff !important;
}

body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .merchant_login .elementor-button{
  background: #2A8BEA !important;
  color: #fff !important;
  border: 0 !important;
}
body.subzz-scrolled:not(.woocommerce-account)
header[data-elementor-id="108"] .merchant_login .elementor-button:hover{
  background: #000000 !important;
}

/* MY ACCOUNT - always compact dark header */
body.woocommerce-account
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
body.page-id-8829
header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer)
{
  background: #545454 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
  min-height: 72px !important;
  max-height: 72px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-account
header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
  height: 34px !important;
}

body.woocommerce-account
header[data-elementor-id="108"] .header-primary-nav .menu > li > a,
body.woocommerce-account
header[data-elementor-id="108"] .header-primary-nav .nav-menu > li > a,
body.woocommerce-account
header[data-elementor-id="108"] .kitify-nova-menu .menu > li > a,
body.woocommerce-account
header[data-elementor-id="108"] .kitify-nova-menu .nav-menu > li > a,
body.woocommerce-account
header[data-elementor-id="108"] #menu-main-menu-1 > li > a{
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

body.woocommerce-account
header[data-elementor-id="108"] .elementor-button{
  font-size: 14px !important;
  line-height: 1.05 !important;
  padding: 7px 12px !important;
}

body.woocommerce-account
header[data-elementor-id="108"] .elementor-element-eac28f3 .elementor-button{
  background: #FF9D00 !important;
  color: #fff !important;
}

body.woocommerce-account
header[data-elementor-id="108"] .merchant_login .elementor-button{
  background: #2A8BEA !important;
  color: #fff !important;
  border: 0 !important;
}
body.woocommerce-account
header[data-elementor-id="108"] .merchant_login .elementor-button:hover{
  background: #000000 !important;
}

/* Mobile / tablet sizing */
@media (max-width: 1024px){

  body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
    min-height: 96px !important;
    max-height: 96px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
    height: 52px !important;
  }

  body.subzz-scrolled:not(.woocommerce-account)
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
  body.woocommerce-account
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
    min-height: 72px !important;
    max-height: 72px !important;
  }

  body.subzz-scrolled:not(.woocommerce-account)
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default,
  body.woocommerce-account
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
    height: 34px !important;
  }
}

@media (max-width: 767px){

  body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
    min-height: 88px !important;
    max-height: 88px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  body.kitify-doc-enable-header-transparency:not(.subzz-scrolled):not(.woocommerce-account)
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
    height: 46px !important;
  }

  body.subzz-scrolled:not(.woocommerce-account)
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer),
  body.woocommerce-account
  header[data-elementor-id="108"] .elementor-sticky--active:not(.elementor-sticky__spacer){
    min-height: 68px !important;
    max-height: 68px !important;
  }

  body.subzz-scrolled:not(.woocommerce-account)
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default,
  body.woocommerce-account
  header[data-elementor-id="108"] .kitify-logo__img.kitify-logo-default{
    height: 32px !important;
  }
}

/* =========================================================
   Subzz Mobile Offcanvas Menu (Kitify Nova)
========================================================= */

@media (max-width: 1024px){

  header[data-elementor-id="108"] .kitify-nova-menu__mobile-trigger a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  header[data-elementor-id="108"] .kitify-nova-menu__mobile-trigger i,
  header[data-elementor-id="108"] .kitify-nova-menu__mobile-trigger svg{
    color: #fff !important;
    fill: #fff !important;
    font-size: 22px !important;
  }

  header[data-elementor-id="108"] .header-primary-nav .menu-login,
  header[data-elementor-id="108"] .header-primary-nav .menu-merchant{
    display: none !important;
  }

  body [id^="MenuOffCanvas_"]{
    z-index: 999999 !important;
  }

  body [id^="MenuOffCanvas_"] .kitify-offcanvas__overlay,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__backdrop,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__cover{
    background: rgba(0,0,0,.55) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  body [id^="MenuOffCanvas_"] .kitify-offcanvas__content,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__inner,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__container,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__panel{
    width: 86vw !important;
    max-width: 380px !important;
    background: #545454 !important;
    color: #fff !important;
    padding: 22px 18px !important;
  }

  body [id^="MenuOffCanvas_"] .kitify-offcanvas__close,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__close-button,
  body [id^="MenuOffCanvas_"] [class*="close"]{
    color: #fff !important;
  }

  body [id^="MenuOffCanvas_"] nav.main-navigation ul,
  body [id^="MenuOffCanvas_"] .main-navigation ul.menu,
  body [id^="MenuOffCanvas_"] .kitify-nova-menu ul.menu{
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
  }

  body [id^="MenuOffCanvas_"] nav.main-navigation a{
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    padding: 10px 6px !important;
    border-radius: 10px !important;
    transition: background .2s ease, color .2s ease;
  }
  body [id^="MenuOffCanvas_"] nav.main-navigation a:hover{
    color: #48CAED !important;
    background: rgba(255,255,255,.08) !important;
  }

  body [id^="MenuOffCanvas_"] .menu-login > a{
    background: #FF9D00 !important;
    color: #fff !important;
    text-align: center !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    margin-top: 0px !important;
  }

  body [id^="MenuOffCanvas_"] .menu-merchant > a{
    background: #2A8BEA !important;
    color: #fff !important;
    text-align: center !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
  }

  body [id^="MenuOffCanvas_"] .kitify-offcanvas__content,
  body [id^="MenuOffCanvas_"] .kitify-offcanvas__inner{
    display: flex !important;
    flex-direction: column !important;
  }
  body [id^="MenuOffCanvas_"] nav.main-navigation{
    flex: 1 1 auto !important;
  }
}

/* Mobile menu: dropdown panel under header */
@media (max-width: 1024px){

  :root{
    --subzz-mobile-menu-top: 78px;
  }

  .js-off-canvas-overlay.is-overlay-fixed{
    background: transparent !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"]{
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: 100px !important;
    bottom: auto !important;
    width: min(92vw, 420px) !important;
    max-width: 420px !important;
    height: auto !important;
    max-height: calc(100vh - var(--subzz-mobile-menu-top) - 18px) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.18) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(-12px) !important;
    transition: transform .28s ease, opacity .28s ease, visibility .28s ease !important;
  }

  .site-canvas-menu.off-canvas.is-open[id^="MenuOffCanvas_"]{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] .row.has-scrollbar{
    padding: 16px 14px 14px !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] .close-button{
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    color: #545454 !important;
  }
  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] .close-button svg{
    width: 20px !important;
    height: 20px !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu{
    margin: 0 !important;
    padding: 6px 0 0 !important;
    list-style: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li:not(.menu-login):not(.menu-merchant){
    grid-column: 1 / -1 !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li > a{
    display: block !important;
    padding: 10px 6px !important;
    border-radius: 10px !important;
    color: #545454 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    transition: color .2s ease, background .2s ease !important;
  }
  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li > a:hover{
    color: #2A8BEA !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li.menu-login,
  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li.menu-merchant{
    padding-top: 12px !important;
    margin-top: 6px !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li.menu-login > a{
    background: #FF9D00 !important;
    color: #fff !important;
    text-align: center !important;
    padding: 10px 12px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border: 2px #FF9D00 solid !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] ul.mobile-menu > li.menu-merchant > a{
    background: transparent !important;
    border: 2px solid #545454 !important;
    color: #545454 !important;
    text-align: center !important;
    padding: 10px 12px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
  }

  .site-canvas-menu.off-canvas[id^="MenuOffCanvas_"] .js-drilldown-back{
    display: none !important;
  }
}

.site-canvas-menu.position-left .header-mobiles-primary-menu {
  padding: 0 !important;
}

@media print, screen and (max-width: 47.9988em) {
  .admin-bar .site-canvas-menu.position-left {
    padding-top: 0px !important;
  }
}

.site-canvas-menu.position-left .header-mobiles-primary-menu .is-drilldown ul li::before {
  content: none;
  border-bottom: 0px solid !important;
}

.site-canvas-menu.position-left .header-mobiles-primary-menu .is-drilldown ul li a {
  text-transform: capitalize !important;
}

.site-canvas-menu.position-left .header-mobiles-primary-menu .is-drilldown ul li > a {
  min-height: auto !important;
}

/* Re-enable Elementor header */
header.elementor-location-header,
.elementor-location-header{
  display: block !important;
}

/* =========================================================
   Product card alignment (Elementor Loop Item 10389)
========================================================= */

.elementor-10389 .subzz-card{
  display: flex !important;
  flex-direction: column !important;
}
.elementor-10389 .subzz-card__media{
  flex: 0 0 auto !important;
}
.elementor-10389 .subzz-card__content{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}
.elementor-10389 .subzz-card__brand{
  min-height: 16px;
  margin-bottom: 10px;
}
.elementor-10389 .subzz-card__brand:empty{
  display: block !important;
}
.elementor-10389 .subzz-card__title .kitify-post-title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 54px;
  margin: 0;
}
.elementor-10389 .elementor-element-ec6b147{
  min-height: 20px;
  margin-bottom: 10px;
}
.elementor-10389 .subzz-price{
  margin-top: auto !important;
  width: 100% !important;
}
.elementor-widget-loop-grid .e-loop-item .subzz-card{
  height: 100% !important;
}
.elementor-10389 .subzz-card__content > .subzz-card__title:first-child{
  margin-top: 26px !important;
}

/* Footer column */
.elementor-element.elementor-element-29be2de{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}
.elementor-element.elementor-element-29be2de .elementor-widget-heading{
  width: 132px !important;
  text-align: center !important;
}
.elementor-element.elementor-element-29be2de .elementor-widget-image{
  align-self: flex-end !important;
}
.elementor-element.elementor-element-29be2de .elementor-heading-title{
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
.elementor-element[data-id="b048d17"] > .e-con-inner{
  display: flex !important;
  align-items: center !important;
}

/* Shop layout */
.elementor-element-5a8fa903{
  background: #F9FAFB !important;
  padding: 48px 0 !important;
  --content-width: 1270px !important;
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.elementor-element-35d0690c{
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
}
.elementor-element-7be76e05{
  flex: 0 0 280px !important;
  max-width: 280px !important;
}
.elementor-element-58cbc7b2{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

@media (max-width: 1024px){
  .elementor-element-35d0690c{
    flex-direction: column !important;
  }
  .elementor-element-7be76e05{
    max-width: 100% !important;
    flex-basis: auto !important;
  }
}

@media (max-width: 1599px) {
  .elementor-487 .elementor-element.elementor-element-35d0690c {
    --padding-right: 0px !important;
  }
}

/* Sidebar card */
.elementor-element-7be76e05 .kitify-toggle-sidebar__inner{
  background: transparent !important;
  padding: 0 !important;
}
.elementor-element-7be76e05 .widget{
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  padding: 18px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
  margin-bottom: 16px !important;
}
.elementor-element-7be76e05 .widget-title{
  color: #545454 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
}
.elementor-element-7be76e05 .novaapf-layered-nav ul{
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.elementor-element-7be76e05 .novaapf-layered-nav a{
  display: block !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  color: #545454 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
  transition: background .2s ease, color .2s ease;
}
.elementor-element-7be76e05 .novaapf-layered-nav a:hover{
  background: #F9FAFB !important;
  color: #2A8BEA !important;
}
.elementor-element-7be76e05 .novaapf-layered-nav a.active,
.elementor-element-7be76e05 .novaapf-layered-nav a.selected,
.elementor-element-7be76e05 .novaapf-layered-nav li.chosen > a{
  background: #2A8BEA !important;
  color: #fff !important;
}

/* Toolbar */
.subzz-shop-toolbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:18px !important;
}
.subzz-shop-toolbar .woocommerce-ordering{
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  position: relative;
  display: inline-flex;
  line-height: 1;
}
.subzz-shop-toolbar .woocommerce-ordering select{
  border:1px solid #d1d5db !important;
  border-radius:10px !important;
  padding:10px 40px 10px 12px !important;
  background:#fff !important;
  color:#545454 !important;
  font-weight:600 !important;
  margin-bottom: 0px !important;
}
.subzz-shop-toolbar .woocommerce-ordering::before{
  content: "Sort by:";
  font-size: 14px;
  font-weight: 600;
  color: #545454;
  white-space: nowrap;
}
.subzz-shop-toolbar .woocommerce-ordering select.orderby{
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 10px 40px 10px 14px;
  font-size: 14px;
  color: #545454;
  cursor: pointer;
  line-height: 1.2;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.subzz-shop-toolbar .woocommerce-ordering select.orderby:hover{
  border-color: #2A8BEA;
}
.subzz-shop-toolbar .woocommerce-ordering select.orderby:focus{
  outline: none;
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(42,139,234,.35);
}
.subzz-shop-toolbar .woocommerce-ordering::after{
  content: "";
  position: absolute;
  right: 14px;
  top: 36%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #545454;
  border-bottom: 2px solid #545454;
  pointer-events: none;
}
.subzz-shop-toolbar .woocommerce-ordering input[name="paged"]{
  display: none;
}
@media (max-width: 767px){
  .subzz-shop-toolbar{
    flex-direction: column;
    align-items: flex-start;
  }
  .subzz-shop-toolbar .woocommerce-ordering{
    width: 100%;
    justify-content: space-between;
  }
  .subzz-shop-toolbar .woocommerce-ordering select.orderby{
    width: 100%;
  }
}
.subzz-shop-toolbar > .e-con{
  display: flex !important;
}
.subzz-product-count{
  line-height: 1;
}

/* Filters */
.subzz-filters { display:block; }
@media (max-width: 1024px){ .subzz-filters{ display:none; } }

.subzz-filter-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:24px;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  position: sticky;
}

.subzz-filter-title{
  margin:0 0 18px;
  font-size:20px;
  font-weight:700;
  color:#545454;
}

.subzz-filter-block{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid #e5e7eb;
}
.subzz-filter-block:last-of-type{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}

.subzz-filter-block__head{
  display:flex;
  width:100%;
  justify-content:space-between;
  align-items:center;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  margin:0 0 10px;
}
.subzz-filter-block__head h4{
  margin:0;
  font-size:14px;
  font-weight:600;
  color:#545454;
}
.subzz-filter-chevron{
  color:#545454;
  font-size:14px;
  line-height:1;
}

.subzz-cat-link{
  display:block;
  padding:8px 12px;
  border-radius:8px;
  font-size:13px;
  color:#545454;
  text-decoration:none;
  transition: background-color .2s, color .2s, border-color .2s;
}
.subzz-cat-link:hover{ background:#f9fafb; }
.subzz-cat-link.is-active{
  background:#2A8BEA;
  color:#fff;
  font-weight:700;
}

.subzz-filter-brands{
  max-height:320px;
  overflow:auto;
}
.subzz-brand-row{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  padding:8px 10px;
  border-radius:8px;
  transition: background-color .2s;
}
.subzz-brand-row:hover{ background:#f9fafb; }
.subzz-brand-row span{
  font-size:13px;
  color:#545454;
}
.subzz-brand-row input{
  width:16px;
  height:16px;
  accent-color:#FF9D00;
}

.subzz-clear-filters{
  display:block;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e5e7eb;
  font-size:13px;
  font-weight:600;
  color:#2A8BEA;
  text-decoration:none;
}
.subzz-clear-filters:hover{ color:#48CAED; }

/* Elementor-safe filters */
.elementor .subzz-filters,
.elementor .subzz-filter-card{ width:100%; }

.elementor .subzz-filter-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:24px;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  position: relative;
}

.elementor .subzz-filter-title{
  margin:0 0 18px;
  font-size:20px;
  font-weight:700;
  color:#545454;
}

.elementor .subzz-filter-block{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid #e5e7eb;
}

.elementor .subzz-filter-block__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  margin:0 0 12px;
  cursor:default;
}
.elementor .subzz-filter-block__head h4{
  margin:0;
  font-size:14px;
  font-weight:600;
  color:#545454;
}
.elementor .subzz-filter-chevron{
  display:none;
}
.elementor .subzz-cat-link{
  display:block;
  padding:8px 12px;
  border-radius:8px;
  font-size:13px;
  color:#545454;
  text-decoration:none !important;
  transition:all .2s ease;
}
.elementor .subzz-cat-link:hover{ background:#f9fafb; }
.elementor .subzz-cat-link.is-active{
  background:#2A8BEA;
  color:#fff !important;
  font-weight:700;
}
.elementor .subzz-filter-brands{
  max-height:320px;
  overflow:auto;
}
.elementor .subzz-brand-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  cursor:pointer;
  transition:background .2s ease;
  margin:0;
}
.elementor .subzz-brand-row:hover{ background:#f9fafb; }
.elementor .subzz-brand-row span{
  font-size:13px;
  color:#545454;
}
.elementor .subzz-brand-row input{
  width:16px;
  height:16px;
  accent-color:#FF9D00;
}
.elementor .subzz-clear-filters{
  display:block;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e5e7eb;
  font-size:13px;
  font-weight:600;
  color:#2A8BEA;
  text-decoration:none !important;
}
.elementor .subzz-clear-filters:hover{ color:#48CAED; }

.elementor .subzz-filters,
.elementor .subzz-filter-card,
.elementor .subzz-filter-block,
.elementor .subzz-filter-block__body {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
}

/* Hard reset */
.elementor #subzz-filters .subzz-filter-card{
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
}
.elementor #subzz-filters .subzz-filter-title{
  margin: 0 0 18px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #545454 !important;
}
.elementor #subzz-filters .subzz-filter-block{
  margin: 0 0 18px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #e5e7eb !important;
}
.elementor #subzz-filters .subzz-filter-block__head{
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #545454 !important;
}
.elementor #subzz-filters .subzz-filter-block__head h4{
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #545454 !important;
}
.elementor #subzz-filters .subzz-filter-block__body{
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.elementor #subzz-filters .subzz-cat-link{
  display: block !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  color: #545454 !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease !important;
}
.elementor #subzz-filters .subzz-cat-link:hover{ background:#f9fafb !important; }
.elementor #subzz-filters .subzz-cat-link.is-active{
  background:#2A8BEA !important;
  color:#fff !important;
  font-weight:700 !important;
}
.elementor #subzz-filters .subzz-filter-brands{
  max-height: 320px !important;
  overflow-y: auto !important;
}
.elementor #subzz-filters .subzz-brand-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 10px !important;
  border-radius:8px !important;
  margin:0 !important;
  cursor:pointer !important;
}
.elementor #subzz-filters .subzz-brand-row:hover{ background:#f9fafb !important; }
.elementor #subzz-filters .subzz-brand-row input{
  width:16px !important;
  height:16px !important;
  accent-color:#FF9D00 !important;
}
.elementor #subzz-filters .subzz-clear-filters{
  display:block !important;
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e5e7eb !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2A8BEA !important;
  text-decoration: none !important;
}
.elementor #subzz-filters .subzz-clear-filters:hover{ color:#48CAED !important; }

/* Shop filter sidebar */
#subzz-filters, #subzz-filters *{ box-sizing:border-box; }

#subzz-filters{
  width:100%;
}
#subzz-filters .subzz-filter-card{
  background:#fff !important;
  border:1px solid #E5E7EB !important;
  border-radius:12px !important;
  padding:24px !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
  position:relative !important;
  z-index:2 !important;
}
#subzz-filters .subzz-filter-title{
  margin:0 0 16px !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  color:#545454 !important;
}
#subzz-filters .subzz-filter-block{
  margin:0 0 16px !important;
  padding:0 0 16px !important;
  border-bottom:1px solid #E5E7EB !important;
}
#subzz-filters .subzz-filter-block:last-of-type{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}
#subzz-filters .subzz-filter-block__head{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  cursor:pointer !important;
}
#subzz-filters .subzz-filter-block__head h4{
  margin:0 !important;
  font-size:14px !important;
  font-weight:600 !important;
  color:#545454 !important;
}
#subzz-filters .subzz-filter-chevron{
  display:inline-flex !important;
  line-height:1 !important;
  font-size:16px !important;
  transform:rotate(180deg);
  transition:transform .2s ease;
}
#subzz-filters .subzz-filter-block__head[aria-expanded="false"] .subzz-filter-chevron{
  transform:rotate(0deg);
}
#subzz-filters .subzz-filter-block__body{
  margin-top:12px !important;
  display:block;
}
#subzz-filters .subzz-filter-block__head[aria-expanded="false"] + .subzz-filter-block__body{
  display:none;
}
#subzz-filters .subzz-cat-link{
  display:block !important;
  padding:8px 12px !important;
  border-radius:8px !important;
  font-size:13px !important;
  color:#545454 !important;
  text-decoration:none !important;
  transition:background .15s ease, color .15s ease !important;
}
#subzz-filters .subzz-cat-link:hover{
  background:#F9FAFB !important;
}
#subzz-filters .subzz-cat-link.is-active{
  background:#2A8BEA !important;
  color:#fff !important;
  font-weight:700 !important;
}
#subzz-filters .subzz-filter-brands{
  max-height:320px !important;
  overflow:auto !important;
  padding-right:4px !important;
}
#subzz-filters .subzz-brand-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:6px 8px !important;
  border-radius:8px !important;
  cursor:pointer !important;
  user-select:none !important;
}
#subzz-filters .subzz-brand-row:hover{
  background:#F9FAFB !important;
}
#subzz-filters .subzz-brand-row input{
  width:16px !important;
  height:16px !important;
  accent-color:#FF9D00 !important;
  cursor:pointer !important;
  flex:0 0 auto !important;
}
#subzz-filters .subzz-brand-row span{
  font-size:13px !important;
  color:#545454 !important;
}
#subzz-filters .subzz-clear-filters{
  display:block !important;
  margin-top:16px !important;
  padding-top:16px !important;
  border-top:1px solid #E5E7EB !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:#2A8BEA !important;
  text-decoration:none !important;
}
#subzz-filters .subzz-clear-filters:hover{
  color:#48CAED !important;
}

#bv-results.is-loading{
  opacity:.55;
  pointer-events:none;
}

/* Fix sidebar category links stacking */
#subzz-filters .subzz-cat-link{
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: 100% !important;
}
#subzz-filters .novaapf-layered-nav ul,
#subzz-filters .novaapf-layered-nav li{
  position: static !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
#subzz-filters .novaapf-layered-nav ul{
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
#subzz-filters .novaapf-layered-nav li::before,
#subzz-filters .novaapf-layered-nav a::before{
  content: none !important;
}
#subzz-filters .novaapf-layered-nav a{
  position: static !important;
  display: block !important;
  width: 100% !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

/* Keep category card overlay link working */
.subzz-cat-card .subzz-cat-link{
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
}

#subzz-filters .subzz-filter-block__body[hidden]{
  display: none !important;
}
#subzz-filters .subzz-filter-block__head .subzz-filter-chevron{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .2s ease !important;
}
#subzz-filters .subzz-filter-block__head[aria-expanded="true"] .subzz-filter-chevron{
  transform: rotate(180deg) !important;
}
#subzz-filters .subzz-filter-block__head[aria-expanded="false"] .subzz-filter-chevron{
  transform: rotate(0deg) !important;
}

/* Mobile Filter Drawer */
@media (min-width: 1025px){
  #subzz-mobile-filter-btn,
  #subzz-mobile-overlay,
  #subzz-mobile-drawer{ display:none !important; }
}

#subzz-mobile-filter-btn{
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 99998;
  border: 0;
  color: #fff;
  cursor: pointer;
  border-radius: 0 999px 999px 0;
  padding: 18px 14px 18px 12px;
  background: linear-gradient(90deg, #FF9D00, #F73C5C);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  display: none;
  align-items: center;
  gap: 10px;
}
#subzz-mobile-filter-btn svg{ width: 22px; height: 22px; }

@media (max-width: 1024px){
  #subzz-mobile-filter-btn{ display:flex; }
}

#subzz-mobile-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 99997;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

#subzz-mobile-drawer{
  position: fixed;
  top: 0; left: 0;
  height: 100%;
  width: 85%;
  max-width: 380px;
  background: #fff;
  z-index: 99999;
  transform: translateX(-102%);
  transition: transform .28s ease;
  display: flex;
  flex-direction: column;
}

#subzz-mobile-drawer .subzz-mobile-drawer__head{
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 14px 14px;
  color: #fff;
  background: linear-gradient(90deg, #FF9D00, #F73C5C);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#subzz-mobile-drawer .subzz-mobile-drawer__title{
  display:flex; align-items:center; gap:10px;
  font-weight: 800;
  font-size: 18px;
}
#subzz-mobile-drawer .subzz-mobile-drawer__close{
  border: 0;
  background: transparent;
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  cursor: pointer;
}
#subzz-mobile-drawer .subzz-mobile-drawer__close:hover{
  background: rgba(255,255,255,.18);
}
#subzz-mobile-drawer .subzz-mobile-drawer__body{
  padding: 14px;
  overflow: auto;
}
#subzz-mobile-drawer #subzz-filters{
  display: block !important;
}
#subzz-mobile-drawer #subzz-filters .subzz-filter-card{
  position: static !important;
  top: auto !important;
}

body.subzz-filters-open #subzz-mobile-overlay{
  opacity: 1;
  pointer-events: auto;
}
body.subzz-filters-open #subzz-mobile-drawer{
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce){
  #subzz-mobile-overlay, #subzz-mobile-drawer{ transition: none !important; }
}

@media (max-width: 900px){
  .elementor-element-5a8fa903{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

@media (max-width: 1024px) {
  .elementor-10389 .elementor-element.elementor-element-324300f {
    --row-gap: 0px !important;
  }
}

header[data-elementor-id="12544"] .elementor-element.elementor-element-b683ac6,
header[data-elementor-id="12544"] .elementor-element.elementor-element-f22320d {
  width: auto !important;
  flex: 0 0 auto !important;
}

header[data-elementor-id="12544"] .elementor-element.elementor-element-599df43 {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

header[data-elementor-id="12544"] .elementor-element.elementor-element-72c1d7c img {
  width: 130px !important;
  max-width: 130px !important;
  height: auto !important;
}

header[data-elementor-id="12544"] .elementor-element.elementor-element-b03991c,
header[data-elementor-id="12544"] .elementor-element.elementor-element-b03991c .kitify-nova-menu,
header[data-elementor-id="12544"] .elementor-element.elementor-element-b03991c .header-primary-nav {
  width: 100% !important;
}

.single-product .reset_variations {
  display: none !important;
}

header[data-elementor-id="12544"] .elementor-element.elementor-element-f22320d {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Smooth transition */
header.elementor-location-header .elementor-sticky:not(.elementor-sticky__spacer) {
  transition: background-color .25s ease, box-shadow .25s ease, height .25s ease, min-height .25s ease;
}

/* Transparent state at top */
body.has-transparent-header:not(.subzz-scrolled) header.elementor-location-header .elementor-sticky:not(.elementor-sticky__spacer) {
  box-shadow: none !important;
}

/* Scrolled state */
body.has-transparent-header.subzz-scrolled header.elementor-location-header .elementor-sticky:not(.elementor-sticky__spacer) {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}

/* Optional logo shrink */
body.has-transparent-header header.elementor-location-header .kitify-logo__img {
  transition: transform .25s ease, max-height .25s ease;
}

body.has-transparent-header.subzz-scrolled header.elementor-location-header .kitify-logo__img {
/*   transform: scale(0.9); */
}

header.elementor-location-header > .elementor-sticky:not(.elementor-sticky__spacer) {
  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    height 0.3s ease,
    min-height 0.3s ease;
}

/* Top of page = transparent */
body.has-transparent-header:not(.subzz-scrolled)
header.elementor-location-header > .elementor-sticky:not(.elementor-sticky__spacer) {
  box-shadow: none !important;
}

/* After scroll = white */
body.has-transparent-header.subzz-scrolled
header.elementor-location-header > .elementor-sticky:not(.elementor-sticky__spacer) {
  background: #545454 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Optional: shrink logo slightly on scroll */
header.elementor-location-header .kitify-logo__img {
  transition: transform 0.3s ease;
}

body.has-transparent-header.subzz-scrolled
header.elementor-location-header .kitify-logo__img {
/*   transform: scale(0.9); */
}

header.elementor-location-header > .elementor-sticky.elementor-sticky--active {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

header.elementor-location-header > .elementor-sticky__spacer {
  width: 100% !important;
}

@media (max-width: 767px) {
  header.elementor-location-header > .elementor-sticky.elementor-sticky--active {
    width: 100vw !important;
  }
}

html.subzz-anim-ready header.elementor-location-header > .elementor-sticky:not(.elementor-sticky__spacer),
html.subzz-anim-ready header.elementor-location-header > .elementor-sticky__spacer {
  transition:
    height 0.35s ease,
    min-height 0.35s ease,
    background-color 0.35s ease,
    box-shadow 0.35s ease,
    padding 0.35s ease;
  will-change: height, background-color, box-shadow;
}

html.subzz-anim-ready header.elementor-location-header .kitify-logo__img,
html.subzz-anim-ready header.elementor-location-header .elementor-button,
html.subzz-anim-ready header.elementor-location-header .menu > li > a {
  transition:
    transform 0.35s ease,
    opacity 0.35s ease,
    color 0.35s ease,
    background-color 0.35s ease;
}

body.subzz-scrolled header.elementor-location-header .kitify-logo__img {
/*   transform: scale(0.92); */
  transform-origin: center left;
}

:root {
  --subzz-header-live-h: 72px;
  --kitify-header-height: 72px;
}

/* Transparent pages should start at full header height immediately */
body.has-transparent-header:not(.woocommerce-account) {
  --subzz-header-live-h: 50px;
  --kitify-header-height: 50px;
}

/* Keep the sticky container and spacer in sync from first paint */
header.elementor-location-header > .elementor-sticky:not(.elementor-sticky__spacer),
header.elementor-location-header > .elementor-sticky__spacer {
 
}

header.elementor-location-header > .elementor-sticky__spacer {
  height: var(--subzz-header-live-h);
}

/* Single product - subscription term block */
.single-product .variations {
  width: 100%;
  border: 0;
  margin: 0 0 18px;
}

.single-product .variations tbody,
.single-product .variations tr,
.single-product .variations th,
.single-product .variations td {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
}

.single-product .variations th.label {
  margin: 0 0 10px;
}

.single-product .variations th.label label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #545454;
  margin: 0;
}

.single-product .variations td.value {
  position: relative;
}

.single-product .variations td.value > select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
}

.single-product .variations td.value > .reset_variations {
  display: none !important;
}

.single-product .subzz-term-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
}

.single-product .subzz-term-option {
  appearance: none;
  border: 1px solid #d9d9d9;
  background: #fff;
  color: #545454;
  border-radius: 12px;
  min-height: 58px;
  padding: 14px 12px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.25s ease;
}

.single-product .subzz-term-option:hover {
  border-color: #2A8BEA;
  transform: translateY(-1px);
}

.single-product .subzz-term-option.is-active {
  border-color: #2A8BEA;
  background: #eef6ff;
  color: #2A8BEA;
  box-shadow: 0 0 0 1px #2A8BEA inset;
}

.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.single-product .woocommerce-product-details__add-to-cart {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  width: 100%;
}

.single-product .woocommerce-product-details__add-to-cart .quantity {
  margin: 0 !important;
}

@media (max-width: 767px) {
  .single-product .subzz-term-options {
    grid-template-columns: 1fr;
  }
}

/* SUBZZ - Subscription term buttons */
.single-product form.variations_form.subzz-term-enhanced table.variations,
.single-product form.variations_form.subzz-term-enhanced table.variations tbody,
.single-product form.variations_form.subzz-term-enhanced table.variations tr,
.single-product form.variations_form.subzz-term-enhanced table.variations th,
.single-product form.variations_form.subzz-term-enhanced table.variations td {
  display: block;
  width: 100%;
  border: 0;
}

.single-product form.variations_form.subzz-term-enhanced table.variations {
  margin: 0 0 24px;
}

.single-product form.variations_form.subzz-term-enhanced table.variations th.label {
  padding: 0 0 14px;
  margin: 0;
}

.single-product form.variations_form.subzz-term-enhanced table.variations th.label label {
  display: block;
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #545454;
}

.single-product form.variations_form.subzz-term-enhanced table.variations td.value {
  padding: 0;
  margin: 0;
}

/* Hide the native select ONLY after enhancement is active */
.single-product form.variations_form.subzz-term-enhanced table.variations td.value > select,
.single-product form.variations_form.subzz-term-enhanced table.variations td.value > .reset_variations {
  display: none !important;
}

.single-product .subzz-term-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: stretch;
  margin: 0 0 6px;
}

.single-product .subzz-term-btn {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid #d7e3ef;
  background: #ffffff;
  color: #545454;
  border-radius: 14px;
  padding: 16px 22px;
  min-width: 150px;
  min-height: 56px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: all 0.22s ease;
  box-shadow: none;
}

.single-product .subzz-term-btn:hover {
  border-color: #2a8bea;
  color: #2a8bea;
  transform: translateY(-1px);
}

.single-product .subzz-term-btn.is-active {
  background: #eaf4ff;
  border-color: #2a8bea;
  color: #2a8bea;
  box-shadow: 0 0 0 1px rgba(42, 139, 234, 0.08) inset;
}

.single-product .subzz-term-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

@media (max-width: 767px) {
  .single-product .subzz-term-buttons {
    gap: 10px;
  }

  .single-product .subzz-term-btn {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
    padding: 14px 16px;
    font-size: 15px;
  }
}

/* hide native dropdown only after enhancement */
.subzz-term-select-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* buttons row */
.subzz-term-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 14px 0 0;
}

.subzz-term-btn {
  appearance: none;
  border: 1px solid #d9d9d9;
  background: #fff;
  color: #545454;
  padding: 14px 20px;
  min-width: 150px;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.subzz-term-btn:hover {
  border-color: #48caed;
  color: #48caed;
}

.subzz-term-btn.is-active {
  background: #48caed;
  border-color: #48caed;
  color: #fff;
}

.subzz-term-btn.is-disabled,
.subzz-term-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* optional cleanup */
form.variations_form table.variations .reset_variations {
  display: none !important;
}

/* ===== Subscription term card ===== */
#pd-term-card,
.pd-term-card {
  background: #f6f7f9;
  border: 1px solid #d9dee7;
  border-radius: 26px;
  padding: 34px 34px 28px;
  margin: 0 0 26px;
}

#pd-term-card .pd-term-title,
.pd-term-card .pd-term-title {
  margin: 0 0 24px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #545454;
}

/* hide native label row pieces */
#pd-term-card table.variations,
.pd-term-card table.variations {
  margin: 0;
  border: 0;
}

#pd-term-card table.variations th.label,
.pd-term-card table.variations th.label,
#pd-term-card table.variations select,
.pd-term-card table.variations select,
#pd-term-card .reset_variations,
.pd-term-card .reset_variations {
  display: none !important;
}

/* ===== custom term buttons ===== */
#pd-term-card .subzz-term-buttons,
.pd-term-card .subzz-term-buttons,
#pd-term-card .bv-var-group,
.pd-term-card .bv-var-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 0 28px;
}

#pd-term-card .subzz-term-btn,
.pd-term-card .subzz-term-btn,
#pd-term-card .bv-var-btn,
.pd-term-card .bv-var-btn {
  appearance: none;
  border: 3px solid #cfd5de;
  background: #f6f7f9;
  color: #545454;
  border-radius: 22px;
  min-height: 124px;
  padding: 18px 20px;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: none;
}

#pd-term-card .subzz-term-btn:hover,
.pd-term-card .subzz-term-btn:hover,
#pd-term-card .bv-var-btn:hover,
.pd-term-card .bv-var-btn:hover {
  border-color: #2f80ed;
}

#pd-term-card .subzz-term-btn.is-active,
.pd-term-card .subzz-term-btn.is-active,
#pd-term-card .bv-var-btn.is-active,
.pd-term-card .bv-var-btn.is-active {
  border-color: #2f80ed;
  background: #eef5ff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

#pd-term-card .subzz-term-btn:disabled,
.pd-term-card .subzz-term-btn:disabled,
#pd-term-card .bv-var-btn:disabled,
.pd-term-card .bv-var-btn:disabled,
#pd-term-card .subzz-term-btn.is-disabled,
.pd-term-card .subzz-term-btn.is-disabled,
#pd-term-card .bv-var-btn.is-disabled,
.pd-term-card .bv-var-btn.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

/* ===== price ===== */
#pd-term-card .pd-term-price,
.pd-term-card .pd-term-price {
  margin: 0 0 22px;
}

#pd-term-card .single_variation,
.pd-term-card .single_variation {
  display: block !important;
  margin: 0;
}

#pd-term-card .woocommerce-variation-price .price,
.pd-term-card .woocommerce-variation-price .price {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

#pd-term-card .woocommerce-variation-price .woocommerce-Price-amount,
.pd-term-card .woocommerce-variation-price .woocommerce-Price-amount {
  font-size: 72px;
  line-height: 0.95;
  font-weight: 800;
  color: #2f80ed;
}

#pd-term-card .woocommerce-variation-price .price::after,
.pd-term-card .woocommerce-variation-price .price::after {
  content: "per month";
  font-size: 38px;
  line-height: 1;
  font-weight: 400;
  color: #8d8d8d;
  margin-bottom: 8px;
}

/* ===== helper row ===== */
#pd-term-card .pd-tooltip,
.pd-term-card .pd-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #8d8d8d;
  font-size: 24px;
  line-height: 1.2;
  cursor: default;
}

#pd-term-card .pd-tooltip-label,
.pd-term-card .pd-tooltip-label {
  display: inline-block;
}

#pd-term-card .pd-tooltip-icon,
.pd-term-card .pd-tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b0b0b0;
}

#pd-term-card .pd-tooltip-icon svg,
.pd-term-card .pd-tooltip-icon svg {
  width: 30px;
  height: 30px;
}

#pd-term-card .pd-tip-box,
.pd-term-card .pd-tip-box {
  position: absolute;
  left: 0;
  top: calc(100% + 12px);
  z-index: 20;
  width: min(520px, 90vw);
  background: #fff;
  border: 1px solid #d9dee7;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
  color: #666;
  font-size: 16px;
  line-height: 1.55;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all 0.2s ease;
}

#pd-term-card .pd-tip-box p,
.pd-term-card .pd-tip-box p {
  margin: 0 0 10px;
}

#pd-term-card .pd-tip-box p:last-child,
.pd-term-card .pd-tip-box p:last-child {
  margin-bottom: 0;
}

#pd-term-card .pd-tooltip:hover .pd-tip-box,
#pd-term-card .pd-tooltip:focus-within .pd-tip-box,
.pd-term-card .pd-tooltip:hover .pd-tip-box,
.pd-term-card .pd-tooltip:focus-within .pd-tip-box {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* mobile */
@media (max-width: 767px) {
  #pd-term-card,
  .pd-term-card {
    padding: 24px 20px 22px;
    border-radius: 20px;
  }

  #pd-term-card .pd-term-title,
  .pd-term-card .pd-term-title {
    font-size: 18px;
    margin-bottom: 18px;
  }

  #pd-term-card .subzz-term-buttons,
  .pd-term-card .subzz-term-buttons,
  #pd-term-card .bv-var-group,
  .pd-term-card .bv-var-group {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  #pd-term-card .subzz-term-btn,
  .pd-term-card .subzz-term-btn,
  #pd-term-card .bv-var-btn,
  .pd-term-card .bv-var-btn {
    min-height: 76px;
    font-size: 22px;
    border-radius: 16px;
  }

  #pd-term-card .woocommerce-variation-price .woocommerce-Price-amount,
  .pd-term-card .woocommerce-variation-price .woocommerce-Price-amount {
    font-size: 52px;
  }

  #pd-term-card .woocommerce-variation-price .price::after,
  .pd-term-card .woocommerce-variation-price .price::after {
    font-size: 26px;
    margin-bottom: 5px;
  }

  #pd-term-card .pd-tooltip,
  .pd-term-card .pd-tooltip {
    font-size: 20px;
  }
}

/* ===== subscription card ===== */
form.variations_form .pd-term-card {
  background: #f6f7f9;
  border: 1px solid #d8dde6;
  border-radius: 28px;
  padding: 34px;
  margin: 0 0 24px;
}

form.variations_form .pd-term-title {
  margin: 0 0 24px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #545454;
}

/* hide native row parts */
form.variations_form table.variations {
  margin: 0 !important;
  border: 0 !important;
}

form.variations_form table.variations th.label,
form.variations_form table.variations select.subzz-term-select-hidden,
form.variations_form table.variations .reset_variations {
  display: none !important;
}

form.variations_form table.variations td.value {
  padding: 0 !important;
  border: 0 !important;
}

/* buttons */
form.variations_form .pd-term-buttons-slot .subzz-term-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 0 28px;
}

form.variations_form .subzz-term-btn {
  appearance: none;
  border: 3px solid #c8ced7;
  background: #f6f7f9;
  color: #545454;
  border-radius: 22px;
  min-height: 122px;
  padding: 18px 16px;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: none;
}

form.variations_form .subzz-term-btn:hover {
  border-color: #2f80ed;
}

form.variations_form .subzz-term-btn.is-active {
  border-color: #2f80ed;
  background: #edf5ff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

form.variations_form .subzz-term-btn.is-disabled,
form.variations_form .subzz-term-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

/* mirrored price inside card */
form.variations_form .pd-term-price {
  margin: 0 0 22px;
}

form.variations_form .pd-term-price:empty {
  display: none;
}

form.variations_form .pd-term-price .price {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

form.variations_form .pd-term-price .woocommerce-Price-amount {
  font-size: 72px;
  line-height: 0.95;
  font-weight: 800;
  color: #2f80ed;
}

form.variations_form .pd-term-price .price::after {
  content: "per month";
  font-size: 38px;
  line-height: 1;
  font-weight: 400;
  color: #8d8d8d;
  margin-bottom: 8px;
}

/* hide original Woo price block */
form.variations_form .single_variation_wrap > .single_variation {
  display: none !important;
}

/* tooltip */
form.variations_form .pd-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #8d8d8d;
  font-size: 24px;
  line-height: 1.2;
}

form.variations_form .pd-tooltip-label {
  display: inline-block;
}

form.variations_form .pd-tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b3b3b3;
}

form.variations_form .pd-tooltip-icon svg {
  width: 28px;
  height: 28px;
}

form.variations_form .pd-tip-box {
  position: absolute;
  left: 0;
  top: calc(100% + 12px);
  z-index: 30;
  width: min(520px, 90vw);
  background: #fff;
  border: 1px solid #d8dde6;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
  color: #666;
  font-size: 16px;
  line-height: 1.55;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all 0.2s ease;
}

form.variations_form .pd-tip-box p {
  margin: 0 0 10px;
}

form.variations_form .pd-tip-box p:last-child {
  margin-bottom: 0;
}

form.variations_form .pd-tooltip:hover .pd-tip-box,
form.variations_form .pd-tooltip:focus-within .pd-tip-box {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* mobile */
@media (max-width: 767px) {
  form.variations_form .pd-term-card {
    padding: 22px 18px;
    border-radius: 20px;
  }

  form.variations_form .pd-term-title {
    font-size: 18px;
    margin-bottom: 18px;
  }

  form.variations_form .pd-term-buttons-slot .subzz-term-buttons {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  form.variations_form .subzz-term-btn {
    min-height: 76px;
    font-size: 22px;
    border-radius: 16px;
  }

  form.variations_form .pd-term-price .woocommerce-Price-amount {
    font-size: 52px;
  }

  form.variations_form .pd-term-price .price::after {
    font-size: 26px;
    margin-bottom: 5px;
  }

  form.variations_form .pd-tooltip {
    font-size: 18px;
  }
}

.pd-tip-box::before {
  background: transparent !important;
}

/* card */
form.variations_form .pd-term-card {
  background: #f6f7f9;
  border: 1px solid #d9dee6;
  border-radius: 22px;
  padding: 22px 22px 18px;
  margin: 0 0 18px;
}

/* hide original Woo row */
form.variations_form.has-subzz-term-card .subzz-term-native-row {
  display: none !important;
}

form.variations_form .subzz-term-select-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

form.variations_form .pd-term-title {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #545454;
}

/* buttons */
form.variations_form .pd-term-buttons-slot .subzz-term-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}

form.variations_form .subzz-term-btn {
  appearance: none;
  border: 2px solid #c9ced6;
  background: #f6f7f9;
  color: #545454;
  border-radius: 16px;
  min-height: 74px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: none;
}

form.variations_form .subzz-term-btn:hover {
  border-color: #2f80ed;
}

form.variations_form .subzz-term-btn.is-active {
  border-color: #2f80ed;
  background: #edf5ff;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}

form.variations_form .subzz-term-btn.is-disabled,
form.variations_form .subzz-term-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

/* price */
form.variations_form .pd-term-price {
  margin: 0 0 14px;
}

form.variations_form .pd-term-price:empty {
  display: none;
}

form.variations_form .pd-term-price .price {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: nowrap;
}

form.variations_form .pd-term-price .woocommerce-Price-amount {
  font-size: 58px;
  line-height: 0.95;
  font-weight: 800;
  color: #2f80ed;
}

form.variations_form .pd-term-price .price::after {
  content: "per month";
  font-size: 20px;
  line-height: 1;
  font-weight: 400;
  color: #8d8d8d;
}

/* hide original visible variation price */
form.variations_form .single_variation_wrap > .single_variation {
  display: none !important;
}

/* tooltip */
form.variations_form .pd-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8d8d8d;
  font-size: 15px;
  line-height: 1.2;
}

form.variations_form .pd-tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b3b3b3;
}

form.variations_form .pd-tooltip-icon svg {
  width: 16px;
  height: 16px;
}

form.variations_form .pd-tip-box {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  z-index: 30;
  width: min(360px, 90vw);
  background: #fff;
  border: 1px solid #d8dde6;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
  color: #666;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all 0.2s ease;
}

form.variations_form .pd-tip-box p {
  margin: 0 0 8px;
}

form.variations_form .pd-tip-box p:last-child {
  margin-bottom: 0;
}

form.variations_form .pd-tooltip:hover .pd-tip-box,
form.variations_form .pd-tooltip:focus-within .pd-tip-box {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (max-width: 767px) {
  form.variations_form .pd-term-card {
    padding: 18px 16px 16px;
    border-radius: 18px;
  }

  form.variations_form .pd-term-title {
    font-size: 13px;
    margin-bottom: 14px;
  }

  form.variations_form .pd-term-buttons-slot .subzz-term-buttons {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  form.variations_form .subzz-term-btn {
    min-height: 64px;
    font-size: 17px;
    border-radius: 14px;
  }

  form.variations_form .pd-term-price .woocommerce-Price-amount {
    font-size: 46px;
  }

  form.variations_form .pd-term-price .price::after {
    font-size: 18px;
  }

  form.variations_form .pd-tooltip {
    font-size: 14px;
  }
}

.kitify-nova-cart {
  padding: 0px;
}

/* =========================================================
   SUBZZ MINI CART SLIDE-OUT
   Targets: .minicart-canvas
========================================================= */

/* Panel */
.minicart-canvas.site-canvas-menu.off-canvas{
  width: min(420px, 100vw) !important;
  max-width: 420px !important;
  background: #ffffff !important;
  border-left: 1px solid #e5e7eb !important;
  box-shadow: -18px 0 40px rgba(0,0,0,.16) !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 999999 !important;
}

/* Header */
.minicart-canvas .title{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 22px 24px 18px !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #545454 !important;
  border-bottom: 1px solid #eef2f7 !important;
  background: #fff !important;
}

.minicart-canvas .count-item-canvas{
  min-width: 26px !important;
  height: 26px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FF9D00 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* Promo carousel wrapper */
.shop-promo-wrap,
.shop-promo-wrap .e-n-carousel,
.shop-promo-wrap .swiper,
.shop-promo-wrap .swiper-wrapper {
    height: 100%;
}

/* Make each slide stretch */
.shop-promo-wrap .swiper-slide {
    height: auto;
    display: flex;
}

/* Main promo card height */
.shop-promo-card {
    width: 100%;
    min-height: 160px; /* adjust desktop height */
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}

/* Make Elementor background slideshow fill the full card */
.shop-promo-card .elementor-background-slideshow,
.shop-promo-card .elementor-background-slideshow .swiper,
.shop-promo-card .elementor-background-slideshow .swiper-wrapper,
.shop-promo-card .elementor-background-slideshow__slide,
.shop-promo-card .elementor-background-slideshow__slide__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Control background image cropping */
.shop-promo-card .elementor-background-slideshow__slide__image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Keep inner content above background if you add text later */
.shop-promo-card > .e-con-inner {
    position: relative;
    z-index: 2;
    min-height: 160px;
}

/* Close */
.minicart-canvas .close-button{
  position: absolute !important;
  top: 16px !important;
  right: 14px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #545454 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease !important;
}

.minicart-canvas .close-button:hover{
  background: #f3f4f6 !important;
  color: #000 !important;
}

.minicart-canvas .close-button svg{
  width: 16px !important;
  height: 16px !important;
}

/* Make content fill panel neatly */
.minicart-canvas .widget_shopping_cart{
  height: calc(100% - 72px) !important;
  margin: 0 !important;
}

.minicart-canvas .widget_shopping_cart_content{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  background: #fff !important;
}

/* Product list area */
.minicart-canvas .elementor-menu-cart__products{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 10px 24px 0 !important;
}

/* Each cart item */
.minicart-canvas .elementor-menu-cart__product{
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) 32px !important;
  grid-template-areas:
    "image name remove"
    "image price remove" !important;
  gap: 10px 14px !important;
  align-items: start !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
  margin: 0 !important;
}

.minicart-canvas .elementor-menu-cart__product-image{
  grid-area: image !important;
  margin: 0 !important;
}

.minicart-canvas .elementor-menu-cart__product-name{
  grid-area: name !important;
  margin: 0 !important;
}

.minicart-canvas .elementor-menu-cart__product-price{
  grid-area: price !important;
  margin: 0 !important;
}

.minicart-canvas .elementor-menu-cart__product-remove{
  grid-area: remove !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: end !important;
}

/* Product image */
.minicart-canvas .elementor-menu-cart__product-image a{
  display: block !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
  border: 1px solid #e5e7eb !important;
}

.minicart-canvas .elementor-menu-cart__product-image img{
  display: block !important;
  width: 84px !important;
  height: 84px !important;
  object-fit: cover !important;
}

/* Product name */
.minicart-canvas .elementor-menu-cart__product-name a{
  display: block !important;
  color: #545454 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.minicart-canvas .elementor-menu-cart__product-name a:hover{
  color: #2A8BEA !important;
}

/* Price row */
.minicart-canvas .elementor-menu-cart__product-price .quantity{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  color: #545454 !important;
  font-size: 14px !important;
}

.minicart-canvas .elementor-menu-cart__product-price .product-quantity{
  color: rgba(84,84,84,.65) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

.minicart-canvas .elementor-menu-cart__product-price .woocommerce-Price-amount{
  color: #2A8BEA !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

/* Qty +/- buttons */
.minicart-canvas .qty-button{
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  border: 1px solid #e5e7eb !important;
  background: #f8fafc !important;
  color: #545454 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
}

.minicart-canvas .qty-button:hover{
  background: #2A8BEA !important;
  border-color: #2A8BEA !important;
  color: #fff !important;
}

/* Remove button
   Keep only one remove link visible */
.minicart-canvas .elementor-menu-cart__product-remove .remove_from_cart_button{
  display: none !important;
}

.minicart-canvas .elementor-menu-cart__product-remove .elementor_remove_from_cart_button{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid #e5e7eb !important;
  text-decoration: none !important;
  font-size: 0 !important;
  transition: all .2s ease !important;
}

.minicart-canvas .elementor-menu-cart__product-remove .elementor_remove_from_cart_button::before{
  content: "×" !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  color: #545454 !important;
}

.minicart-canvas .elementor-menu-cart__product-remove .elementor_remove_from_cart_button:hover{
  background: #F73C5C !important;
  border-color: #F73C5C !important;
}

.minicart-canvas .elementor-menu-cart__product-remove .elementor_remove_from_cart_button:hover::before{
  color: #fff !important;
}

/* Subtotal */
.minicart-canvas .elementor-menu-cart__subtotal{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 24px !important;
  margin: 0 !important;
  border-top: 1px solid #eef2f7 !important;
  background: #fff !important;
}

.minicart-canvas .elementor-menu-cart__subtotal strong{
  color: #545454 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.minicart-canvas .elementor-menu-cart__subtotal .woocommerce-Price-amount{
  color: #2A8BEA !important;
  font-size: 22px !important;
  font-weight: 800 !important;
}

/* Footer buttons */
.minicart-canvas .elementor-menu-cart__footer-buttons{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  padding: 0 24px 24px !important;
  background: #fff !important;
}

.minicart-canvas .elementor-menu-cart__footer-buttons .elementor-button{
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: all .2s ease !important;
}

.minicart-canvas .elementor-button--view-cart{
  background: #fff !important;
  color: #545454 !important;
  border: 1px solid #d1d5db !important;
}

.minicart-canvas .elementor-button--view-cart:hover{
  border-color: #2A8BEA !important;
  color: #2A8BEA !important;
}

.minicart-canvas .elementor-button--checkout{
  background: #FF9D00 !important;
  color: #fff !important;
  border: 1px solid #FF9D00 !important;
}

.minicart-canvas .elementor-button--checkout:hover{
  background: #F73C5C !important;
  border-color: #F73C5C !important;
}

/* Empty cart state */
.minicart-canvas .woocommerce-mini-cart__empty-message,
.minicart-canvas .cart_empty{
  padding: 30px 24px !important;
  margin: 0 !important;
  color: rgba(84,84,84,.75) !important;
  font-size: 15px !important;
  text-align: center !important;
}

/* Scrollbar */
.minicart-canvas .elementor-menu-cart__products::-webkit-scrollbar{
  width: 8px;
}
.minicart-canvas .elementor-menu-cart__products::-webkit-scrollbar-thumb{
  background: #d1d5db;
  border-radius: 999px;
}
.minicart-canvas .elementor-menu-cart__products::-webkit-scrollbar-track{
  background: transparent;
}

/* Mobile */
@media (max-width: 767px){
  .minicart-canvas.site-canvas-menu.off-canvas{
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .minicart-canvas .title{
    font-size: 21px !important;
    padding: 20px 18px 16px !important;
  }

  .minicart-canvas .elementor-menu-cart__products{
    padding: 8px 18px 0 !important;
  }

  .minicart-canvas .elementor-menu-cart__product{
    grid-template-columns: 72px minmax(0, 1fr) 30px !important;
    gap: 10px 12px !important;
  }

  .minicart-canvas .elementor-menu-cart__product-image img{
    width: 72px !important;
    height: 72px !important;
  }

  .minicart-canvas .elementor-menu-cart__product-name a{
    font-size: 14px !important;
  }

  .minicart-canvas .elementor-menu-cart__product-price .woocommerce-Price-amount{
    font-size: 18px !important;
  }

  .minicart-canvas .elementor-menu-cart__subtotal{
    padding: 16px 18px !important;
  }

  .minicart-canvas .elementor-menu-cart__footer-buttons{
    padding: 0 18px 18px !important;
  }
}

/* Top banner section full screen */
.elementor-10652 .elementor-element.elementor-element-1a212438 {
    min-height: 100vh;
    width: 100%;
}

.elementor-10652 .elementor-element.elementor-element-1a212438 > .e-con-inner {
    min-height: 100vh;
    align-items: center;
}

/* Mobile category scroller */
.subzz-cat-scroller-wrap {
    display: none;
}

@media (max-width: 767px) {
    .subzz-cat-scroller-wrap {
        display: block;
        width: 100%;
        overflow: hidden;
        padding: 8px 0;
    }

    .subzz-cat-scroller {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 16px 10px;
    }

    .subzz-cat-scroller::-webkit-scrollbar {
        display: none;
    }

    .subzz-cat-pill {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 14px 24px;
        border-radius: 999px;
        background: #f5f5f5;
        border: 1px solid #dcdcdc;
        color: #545454;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(0,0,0,0.04);
        transition: all 0.2s ease;
    }

    .subzz-cat-pill.active,
    .subzz-cat-pill:hover,
    .subzz-cat-pill:focus {
        background: #2A8BEA;
        border-color: #2A8BEA;
        color: #fff;
    }
}

.subzz-cat-pill {
    background: #f8f8f8;
  border: 1px solid #d8d8d8;
  min-height: 35px;
  padding: 0 20px;
  font-size: 12px;
  font-weight: 500;
}

/* CART breadcrumb - make it look like the product page */
.woocommerce-cart .page-header-content{
  background: #f6f6f6;
  border-top: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
  padding: 30px 0;
  margin-bottom: 34px;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb {
    font-size: 14px !important;
}

@media screen and (min-width: 80em) {
    .site-wrapper .site-content-wrapper .site-content {
        padding: 0 !important;
    }
}

/* Woo breadcrumb delimiter */
.woocommerce-breadcrumb .delimiter{
  font-size: 0 !important;
  margin: 0 10px;
}

.woocommerce-breadcrumb .delimiter::before{
  content: "/" !important;
  font-size: 16px;
  color: #8a8a8a;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb{
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #6f6f6f;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb a{
  color: #13160B;
  text-decoration: none;
  font-weight: 400;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb a:hover{
  color: #48caed;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb .delimiter{
  display: inline-block;
  margin: 0 10px;
  color: #8a8a8a;
}

.woocommerce-cart .page-header-content .woocommerce-breadcrumb{
  max-width: 1268px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* current page text */
.woocommerce-cart .page-header-content .woocommerce-breadcrumb{
  font-weight: 400;
}

/* hide the big Cart title so it matches the product page style more closely */
.woocommerce-cart .page-header-content .page-title{
  display: none;
}

.nova-container {
   margin-left: 0 !important;
   margin-right: 0 !important;
   max-width: 100% !important;
}

/****************************************************************/
/****************************************************************/
/****************************************************************/