/* =========================================================
   PRESENTYBOX — FULL SHOP STYLES
   Final Clean Version — 17/05/2026
   WooCommerce + WOOF + Elementor + Showit Compatible
   ========================================================= */


/* =========================================================
   GLOBAL STYLES
   ========================================================= */

body {
  color: #000 !important;
}

body a {
  text-decoration: none !important;
}

html, body {
  overflow-x: hidden !important;
}


/* =========================================================
   SHOP LAYOUT
   ========================================================= */

.shop-layout {
  display: flex !important;
  gap: 40px !important;
  align-items: flex-start !important;
  margin: 40px 0 !important;
}

.shop-filters {
  width: 260px !important;
  flex-shrink: 0 !important;
  position: sticky !important;
  top: 20px !important;
  padding: 20px !important;
  border: 1px solid #eee !important;
  border-radius: 12px !important;
}

.shop-products {
  flex: 1 !important;
}


/* =========================================================
   WOOCOMMERCE RESET
   ========================================================= */

body .woocommerce,
body div.woocommerce,
.shop-products .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  flex: none !important;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

body .woocommerce ul.products,
body ul.products,
.shop-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

body .woocommerce ul.products li.product,
body ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

body .woocommerce ul.products li.product.first,
body .woocommerce ul.products li.product.last {
  clear: none !important;
  margin: 0 !important;
}


/* =========================================================
   PRODUCT IMAGES
   ========================================================= */

body .woocommerce ul.products li.product img,
body .attachment-woocommerce_thumbnail {
  width: 100% !important;
  aspect-ratio: 3 / 5 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}


/* =========================================================
   PRODUCT TITLES
   ========================================================= */

body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body ul.products li.product h2,
body ul.products li.product h3 {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  margin: 15px 0 8px !important;
  color: #000 !important;
}


/* =========================================================
   PRODUCT PRICE
   ========================================================= */

body .woocommerce ul.products li.product .price {
  display: block !important;
  margin-bottom: 12px !important;
  font-size: 15px !important;
  color: #000 !important;
}

body ul.products li.product .price del {
  color: #999 !important;
  margin-right: 8px !important;
}


/* =========================================================
   HIDE SHOP ADD TO CART
   ========================================================= */

body .woocommerce ul.products li.product .add_to_cart_button,
body .woocommerce ul.products li.product .ajax_add_to_cart {
  opacity: 0 !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}


/* =========================================================
   SALE LABEL
   ========================================================= */

body .woocommerce span.onsale {
  background: #000 !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
}


/* =========================================================
   HIDE UNNECESSARY ELEMENTS
   ========================================================= */

body .woocommerce-result-count,
body .woocommerce-ordering,
body .woocommerce-notices-wrapper {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}


/* =========================================================
   WOOF FILTERS
   ========================================================= */

.woof_container h4,
.woof h4 {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin: 25px 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.woof_list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woof_list li {
  margin-bottom: 8px !important;
  padding: 4px 0 !important;
}

.woof_list label {
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.woof_list input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin-right: 8px !important;
  accent-color: #000 !important;
}

.woof select {
  width: 100% !important;
  padding: 8px !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
}

.woof_reset_button,
.woof_reset_search_form {
  display: inline-block !important;
  padding: 10px 20px !important;
  background: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 11px !important;
  cursor: pointer !important;
}

.woof_reset_button:hover,
.woof_reset_search_form:hover {
  background: #000 !important;
  color: #fff !important;
}


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

@media (max-width: 1024px) {
  .shop-layout {
    flex-direction: column !important;
    gap: 30px !important;
  }
  .shop-filters {
    width: 100% !important;
    position: static !important;
  }
  body .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  body .woocommerce ul.products,
  body ul.products,
  .shop-products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  body .woocommerce ul.products,
  body ul.products,
  .shop-products ul.products {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   ESSENTIAL ADDONS PRODUCT GRID + HUSKY FILTER
   CLICKABLE PRODUCT CARDS
   ========================================================= */

.eael-product-grid .eael-product-wrap,
.eael-product-grid ul.products li.product,
.eael-product-grid .product {
  position: relative !important;
  cursor: pointer !important;
}

.eael-product-grid .product-image-wrap,
.eael-product-grid .eael-product-image,
.eael-product-grid .woocommerce-LoopProduct-link {
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 2 !important;
}

.eael-product-grid .product-image-wrap img,
.eael-product-grid .eael-product-image img,
.eael-product-grid ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  cursor: pointer !important;
  transition: opacity 0.3s ease, transform 0.4s ease !important;
  display: block !important;
}

.eael-product-grid .hover-content-wrap,
.eael-product-grid .image-hover-wrap,
.eael-product-grid .product-overlay,
.eael-product-grid .eael-onsale {
  pointer-events: none !important;
}

.eael-product-grid .hover-content-wrap a,
.eael-product-grid .image-hover-wrap a,
.eael-product-grid .product-overlay a,
.eael-product-grid .hover-content-wrap .button,
.eael-product-grid .add_to_cart_button,
.eael-product-grid .add_to_wishlist {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 5 !important;
}


/* =========================================================
   HUSKY (WOOF) FILTER PRODUCTS
   ========================================================= */

.woof_products_top_panel ul.products li.product,
.woof_shortcode_output ul.products li.product,
.woof_products_inner ul.products li.product,
.woof_redraw_zone ul.products li.product {
  position: relative !important;
  cursor: pointer !important;
}

.woof_products_top_panel ul.products li.product a,
.woof_shortcode_output ul.products li.product a,
.woof_products_inner ul.products li.product a,
.woof_redraw_zone ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

.woof_shortcode_output ul.products li.product img,
.woof_redraw_zone ul.products li.product img {
  width: 100% !important;
  cursor: pointer !important;
  transition: opacity 0.3s ease, transform 0.4s ease !important;
}


/* =========================================================
   HOVER EFFECTS
   ========================================================= */

.eael-product-grid ul.products li.product:hover img,
.eael-product-grid .eael-product-wrap:hover img,
.woof_shortcode_output ul.products li.product:hover img {
  opacity: 0.9 !important;
  transform: scale(1.03) !important;
}

.eael-product-grid h2.woocommerce-loop-product__title,
.eael-product-grid .eael-product-title,
.woof_shortcode_output h2.woocommerce-loop-product__title {
  cursor: pointer !important;
}

.eael-product-grid h2.woocommerce-loop-product__title a,
.eael-product-grid .eael-product-title a {
  color: inherit !important;
  text-decoration: none !important;
  display: block !important;
  pointer-events: auto !important;
}

.eael-product-grid ul.products li.product:hover h2.woocommerce-loop-product__title,
.eael-product-grid .eael-product-wrap:hover .eael-product-title,
.woof_shortcode_output ul.products li.product:hover h2.woocommerce-loop-product__title {
  color: #AF9A80 !important;
}

@media (max-width: 768px) {
  .eael-product-grid .product-image-wrap,
  .eael-product-grid .eael-product-image {
    pointer-events: auto !important;
    cursor: pointer !important;
  }
  .eael-product-grid ul.products li.product:hover img {
    transform: none !important;
    opacity: 1 !important;
  }
}


/* =========================================================
   SALE BADGE — CUSTOM COLOR AF9A80
   ========================================================= */

#eael-product-grid .product .product-image-wrap .image-wrap span,
.eael-product-grid .product .product-image-wrap .image-wrap span,
.eael-product-grid .product .image-wrap > span,
.eael-product-grid span.onsale,
.eael-product-grid .onsale,
.woof_shortcode_output ul.products li.product span.onsale,
.woof_redraw_zone ul.products li.product span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce div.product .onsale,
.single-product .onsale,
.eael-product-grid .product .hot,
.eael-product-grid .product .new,
.eael-product-grid .product .featured,
.eael-product-grid .eael-onsale,
.eael-product-grid .eael-onsale.onsale {
  background-color: #AF9A80 !important;
  color: #ffffff !important;
  border-color: #AF9A80 !important;
}

.eael-product-grid span.onsale,
.eael-product-grid .onsale,
.woocommerce span.onsale,
.woof_shortcode_output span.onsale {
  font-family: 'Pragmatica', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  border-radius: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.2 !important;
}


/* =========================================================
   WOOF FILTER LABELS
   ========================================================= */

#woof_widget-2 .woof_container_pa_industry label {
  font-size: 9px !important;
  line-height: 1.1 !important;
}

#woof_widget-2 .woof_container_pa_platform label {
  font-size: 9px !important;
  line-height: 1.1 !important;
}


/* =========================================================
   HUSKY FILTER — RENAME HEADINGS
   ========================================================= */

.woof_container_pa_industry h4,
.woof_container_pa_product-industry h4,
.woof_container_pa_industry .woof_widget_title,
.woof_container_pa_product-industry .woof_widget_title {
  color: transparent !important;
  position: relative !important;
}

.woof_container_pa_industry h4::after,
.woof_container_pa_product-industry h4::after,
.woof_container_pa_industry .woof_widget_title::after,
.woof_container_pa_product-industry .woof_widget_title::after {
  content: "Industry";
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #000 !important;
  font-family: 'Pragmatica', sans-serif !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}

.woof_container_pa_platform h4,
.woof_container_pa_product-platform h4,
.woof_container_pa_platform .woof_widget_title,
.woof_container_pa_product-platform .woof_widget_title {
  color: transparent !important;
  position: relative !important;
}

.woof_container_pa_platform h4::after,
.woof_container_pa_product-platform h4::after,
.woof_container_pa_platform .woof_widget_title::after,
.woof_container_pa_product-platform .woof_widget_title::after {
  content: "Platform";
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #000 !important;
  font-family: 'Pragmatica', sans-serif !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
}


/* =========================================================
   FIX HEADING ALIGNMENT
   ========================================================= */

.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h4,
.elementor-widget-heading .elementor-heading-title {
  text-align: inherit !important;
  width: 100% !important;
}

body ul.products li.product h2,
body ul.products li.product h4 {
  text-align: inherit !important;
}


/* =========================================================
   SINGLE PRODUCT — HIDE DEFAULT WOOCOMMERCE
   ========================================================= */

.single-product div[id^="product-"] > span.onsale {
  display: none !important;
}

.single-product div[id^="product-"] > .woocommerce-product-gallery {
  display: none !important;
}

.single-product div[id^="product-"] > .summary.entry-summary {
  display: none !important;
}

.single-product div[id^="product-"] > section.related {
  display: none !important;
}

.single-product .woocommerce-tabs .tabs.wc-tabs {
  display: none !important;
}

.single-product .woocommerce-tabs #tab-description > h2 {
  display: none !important;
}

.single-product .woocommerce-tabs #tab-additional_information {
  display: none !important;
}

.single-product .woocommerce-tabs.wc-tabs-wrapper {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .woocommerce-tabs #tab-description {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product .pb-hero-content {
  display: none !important;
}

.single-product .pb-hero-slider-section {
  display: none !important;
}


/* =========================================================
   SINGLE PRODUCT — FULL WIDTH ELEMENTOR IN WOO TAB
   This is the key fix: Elementor template lives inside
   #tab-description which is inside WooCommerce product div.
   We need to break all width restrictions in the chain.
   ========================================================= */

/* Showit page wrapper */
.single-product div.sp {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* WooCommerce wrappers */
.single-product .woocommerce,
.single-product div[id^="product-"],
.single-product .woocommerce-tabs,
.single-product .woocommerce-Tabs-panel,
.single-product #tab-description {
  overflow: visible !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Elementor main wrapper — THIS IS THE KEY FIX */
/* Elementor sets this to 1200px, we override to 100% */
.single-product #tab-description > .elementor {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  overflow: visible !important;
}

/* All top-level sections inside Elementor */
.single-product #tab-description .elementor-section.elementor-top-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Elementor containers */
.single-product #tab-description .elementor-top-section > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Columns */
.single-product #tab-description .elementor-top-section .elementor-column {
  padding: 0 !important;
}

/* Images */
.single-product #tab-description .elementor-widget-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Top-level page wrappers */
.single-product .site-content,
.single-product .entry-content,
.single-product .post-content,
.single-product #content,
.single-product #main {
  overflow: visible !important;
  max-width: 100% !important;
}


/* =========================================================
   SINGLE PRODUCT — FIX SHOWIT ITALIC ON ELEMENTOR ICONS
   ========================================================= */

.se-wpt .elementor-widget i,
.se-wpt .elementor-swiper-button i,
.se-wpt .elementor-swiper-button-prev i,
.se-wpt .elementor-swiper-button-next i,
.se-wpt [class*="eicon-"] {
  font-style: normal !important;
}

.single-product .elementor-widget-rating i.eicon-star,
.single-product .elementor-widget-rating .e-icon-wrapper i,
.single-product .elementor-widget-rating .e-rating i,
.se-wpt .elementor-widget-rating i {
  font-style: normal !important;
}


/* =========================================================
   SINGLE PRODUCT — FEATURES BAR FULL WIDTH
   ========================================================= */

.single-product .pb-features-bar {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}


/* =========================================================
   SINGLE PRODUCT — HIDE BREADCRUMB BULLETS
   ========================================================= */

.single-product .pp-breadcrumbs ul,
.single-product ul.pp-breadcrumbs,
.single-product .pp-breadcrumbs-powerpack {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.single-product .pp-breadcrumbs li,
.single-product .pp-breadcrumbs-item {
  list-style: none !important;
  list-style-type: none !important;
}

.single-product .pp-breadcrumbs li::before,
.single-product .pp-breadcrumbs li::marker {
  content: none !important;
  display: none !important;
}


/* =========================================================
   SLIDER LINK WHITE
   ========================================================= */

body .pb-hero-slider-section a.pb-slide-link,
body .pb-hero-slider-section .pb-slide-link {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: 1px solid #ffffff !important;
}

body .pb-hero-slider-section a.pb-slide-link:hover {
  color: #ffffff !important;
  opacity: 0.7 !important;
}

body .pb-hero-slider-section a.pb-slide-link:visited,
body .pb-hero-slider-section a.pb-slide-link:focus,
body .pb-hero-slider-section a.pb-slide-link:active {
  color: #ffffff !important;
}


/* =========================================================
   HOW IT WORKS — MOBILE FIX
   ========================================================= */

@media (max-width: 768px) {
  html body .pb-how-it-works-section {
    padding-left: 26px !important;
    padding-right: 26px !important;
    overflow-x: hidden !important;
  }
  html body .pb-how-it-works-section .pb-how-content {
    max-width: 100% !important;
    width: 100% !important;
  }
  html body .pb-how-it-works-section .pb-how-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: 50px !important;
  }
  html body .pb-how-it-works-section .pb-how-step {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  html body .pb-how-it-works-section .pb-how-step-text {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    font-size: 14px !important;
    padding: 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  html body .pb-how-it-works-section .pb-how-step-title {
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    word-wrap: break-word !important;
  }
  html body .pb-how-it-works-section .pb-how-title {
    font-size: 44px !important;
  }
}

@media (max-width: 480px) {
  html body .pb-how-it-works-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  html body .pb-how-it-works-section .pb-how-step-text {
    font-size: 13px !important;
  }
  html body .pb-how-it-works-section .pb-how-step-title {
    font-size: 11px !important;
  }
  html body .pb-how-it-works-section .pb-how-title {
    font-size: 34px !important;
  }
}


/* =========================================================
   HERO BUTTON — RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
  body .pb-hero-content a.pb-hero-cta {
    padding: 14px 38px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 768px) {
  body .pb-hero-content a.pb-hero-cta {
    padding: 11px 28px !important;
    font-size: 9px !important;
    letter-spacing: 2px !important;
  }
}

@media (max-width: 480px) {
  body .pb-hero-content a.pb-hero-cta {
    padding: 10px 24px !important;
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
  }
}
