/*
Theme Name: ellostore
Theme URI: https://elementor.com/hello-theme/
Description: szablon sklepu ellostore
Author: Benit
Template: hello-elementor
Version: 1.1.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: ellostore
*/

/* ----------------------------------------------------
   1. BRAND VARIABLES & CORE OVERRIDES
   ---------------------------------------------------- */
:root {
  --ello-primary: #511C9C;
  --ello-secondary: #B5A4D3;
  --ello-accent: #EE4A8A;
  --ello-text: #1C1C1C;
  --ello-bg-soft: #fcfbfe;
  --ello-border-radius: 16px;
  --ello-transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ello-thumb-pad: 12px;
  /* Zmień contain -> cover w regułach .img poniżej, jeśli chcesz kadrowanie bez marginesów */
}

/* ----------------------------------------------------
   2. HOMEPAGE PROMOTIONAL BANNER CARDS
   ---------------------------------------------------- */
.ello-image-card {
  display: block;
  position: relative;
  width: 100%;
  border-radius: var(--ello-border-radius);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.04);
  transition: var(--ello-transition);
  background: #ffffff;
  border: 1px solid rgba(81, 28, 156, 0.05);
}

.ello-image-bg {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Hover effects for category banners */
.ello-image-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(81, 28, 156, 0.12);
  border-color: var(--ello-secondary);
}

.ello-image-card:hover .ello-image-bg {
  transform: scale(1.04);
}

/* ----------------------------------------------------
   3. JETWOO PRODUCT CARDS (HOMEPAGE GRID)
   ---------------------------------------------------- */
.jet-woo-products__item.jet-woo-builder-product {
  padding: 12px;
}

.jet-woo-products__inner-box {
  background: #ffffff !important;
  border: none !important;
  border-radius: var(--ello-border-radius) !important;
  padding: 16px !important;
  transition: var(--ello-transition) !important;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  text-align: left !important;
}

/* Product Card Hover State */
.jet-woo-products__inner-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 35px rgba(81, 28, 156, 0.08) !important;
}

/* Product Thumbnail Container */
.jet-woo-products__thumb-wrap {
  border-radius: 12px !important;
  overflow: hidden;
  position: relative;
  margin-bottom: 0px;
  background-color: var(--ello-bg-soft);
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--ello-thumb-pad) !important;
  box-sizing: border-box !important;
}

.jet-woo-product-thumbnail {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.jet-woo-product-thumbnail img {
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

/* Image Zoom on Hover */
.jet-woo-products__inner-box:hover .jet-woo-product-thumbnail img {
  transform: scale(1.06) !important;
}

/* Product Title Styling (Left Aligned) */
.jet-woo-product-title {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 14px 0 8px 0 !important;
  font-weight: 500 !important;
  text-align: left !important;
  height: 42px;
  /* Fixed height for visual grid alignment */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.jet-woo-product-title a {
  color: var(--ello-text) !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.jet-woo-products__inner-box:hover .jet-woo-product-title a {
  color: var(--ello-primary) !important;
}

/* Product Price Styling (Left Aligned) */
.jet-woo-product-price {
  text-align: left !important;
  margin-top: 0px !important;
  margin-bottom: 12px !important;
  padding-top: 0px !important;
}

.jet-woo-product-price .price,
.jet-woo-product-price .price .amount {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ello-accent) !important;
}

/* Custom Age Badge Tag (Left Aligned) */
.ello-product-age {
  align-self: flex-start;
  background-color: #f4f0fa;
  color: var(--ello-primary);
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
  display: inline-block;
  text-align: left;
}

/* Display and style the cart form to make it full width */
body .jet-woo-products__inner-box form.cart {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide quantity selector input fields on loop cards */
body .jet-woo-products__inner-box .quantity,
body .jet-woo-products__inner-box .quantity-select {
  display: none !important;
}

/* ----------------------------------------------------
   4. WISHLIST & COMPARE ABSOLUTE ICONS (TOP-LEFT)
   ---------------------------------------------------- */
/* Hide all text labels and enforce icons-only for Wishlist & Compare */
body .jet-wishlist-button__label,
body .jet-compare-button__label,
body .jet-wishlist-button__link .jet-wishlist-button__label,
body .jet-compare-button__link .jet-compare-button__label,
body .jet-cw-button__label,
body .jet-cw-button__state-normal .jet-cw-button__label,
body .jet-cw-button__state-added .jet-cw-button__label {
  display: none !important;
}

/* Enforce circular icon buttons stacked vertically in top-left */
body .jet-woo-products__inner-box .jet-woo-products-cqw-wrapper {
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 15 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Style links/buttons into clean white circles */
body .jet-woo-products__inner-box .jet-compare-button__link,
body .jet-woo-products__inner-box .jet-wishlist-button__link,
body .jet-woo-products__inner-box .jet-cw-button,
body .jet-woo-products__inner-box .jet-wishlist-button__container a,
body .jet-woo-products__inner-box .jet-compare-button__container a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.12) !important;
  transition: var(--ello-transition) !important;
  color: var(--ello-primary) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .jet-woo-products__inner-box .jet-compare-button__link:hover,
body .jet-woo-products__inner-box .jet-wishlist-button__link:hover,
body .jet-woo-products__inner-box .jet-cw-button:hover,
body .jet-woo-products__inner-box .jet-wishlist-button__container a:hover,
body .jet-woo-products__inner-box .jet-compare-button__container a:hover {
  color: var(--ello-accent) !important;
  transform: scale(1.1) !important;
  box-shadow: 0 6px 16px rgba(238, 74, 138, 0.25) !important;
  background-color: #ffffff !important;
}

body .jet-woo-products__inner-box .jet-compare-button__icon,
body .jet-woo-products__inner-box .jet-wishlist-button__icon,
body .jet-woo-products__inner-box .jet-cw-button__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .jet-woo-products__inner-box .jet-compare-button__icon svg,
body .jet-woo-products__inner-box .jet-wishlist-button__icon svg,
body .jet-woo-products__inner-box .jet-cw-button__icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
}

/* ----------------------------------------------------
   5. BUTTONS & ACTIONS
   ---------------------------------------------------- */
/* Full Width loop button style (Add to cart, Learn more, single add to cart links & submits) */
body .jet-woo-products__inner-box .jet-woo-product-button,
body .jet-woo-products__inner-box form.cart {
  margin-top: auto !important;
  /* Always push to bottom */
  width: 100% !important;
}

body .jet-woo-products__inner-box .jet-woo-product-button a.button,
body .jet-woo-products__inner-box form.cart button.button,
body .jet-woo-products__inner-box form.cart .button,
body .jet-woo-products__inner-box .add_to_cart_button,
body .jet-woo-products__inner-box a.button,
body .jet-woo-products__inner-box button.button {
  display: block !important;
  width: 100% !important;
  padding: 12px 15px !important;
  background-color: var(--ello-primary, #511C9C) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  border-radius: 30px !important;
  border: none !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.12) !important;
  text-decoration: none !important;
}

body .jet-woo-products__inner-box .jet-woo-product-button a.button:hover,
body .jet-woo-products__inner-box form.cart button.button:hover,
body .jet-woo-products__inner-box form.cart .button:hover,
body .jet-woo-products__inner-box .add_to_cart_button:hover,
body .jet-woo-products__inner-box a.button:hover,
body .jet-woo-products__inner-box button.button:hover {
  background-color: var(--ello-accent, #EE4A8A) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(238, 74, 138, 0.25) !important;
}

/* ----------------------------------------------------
   6. NAVIGATION MENU POLISH
   ---------------------------------------------------- */
.elementor-nav-menu a.elementor-item {
  transition: var(--ello-transition) !important;
  position: relative;
}

.elementor-nav-menu a.elementor-item:hover,
.elementor-nav-menu a.elementor-item.elementor-item-active {
  color: var(--ello-primary) !important;
}

/* Underline menu animation */
@media (min-width: 1025px) {
  .elementor-nav-menu a.elementor-item::before {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 10%;
    width: 80%;
    height: 2px;
    background-color: var(--ello-primary);
    transform: scaleX(0);
    transition: var(--ello-transition);
  }

  .elementor-nav-menu a.elementor-item:hover::before,
  .elementor-nav-menu a.elementor-item.elementor-item-active::before {
    transform: scaleX(1);
  }
}

/* ----------------------------------------------------
   7. SINGLE PRODUCT PAGE REDESIGN
   ---------------------------------------------------- */

/* General Container Styling */
.single-product div[data-elementor-type="product"] {
  background-color: #ffffff;
  padding: 20px 0;
}

/* 7.1 Image Gallery & Sale Tag */
.single-product .woocommerce-product-gallery {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: 16px;
  transition: transform 0.5s ease;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img:hover {
  transform: scale(1.02);
}

/* Sale/Promo badge styling */
.single-product .onsale {
  position: absolute;
  top: 15px;
  left: 15px;
  right: auto;
  bottom: auto;
  z-index: 10;
  background-color: var(--ello-primary, #511C9C) !important;
  color: #ffffff !important;
  padding: 6px 16px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  border-radius: 30px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
  box-shadow: 0 4px 10px rgba(81, 28, 156, 0.2);
}

/* Gallery Thumbnails below the main image */
.single-product .flex-control-thumbs {
  display: flex !important;
  gap: 12px;
  margin-top: 15px !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .flex-control-thumbs li {
  width: 20% !important;
  float: none !important;
  margin: 0 !important;
}

.single-product .flex-control-thumbs li img {
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: var(--ello-transition);
}

.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover {
  border-color: var(--ello-primary);
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(81, 28, 156, 0.08);
}

/* 7.2 Right Column Meta & Text Elements */

/* Style Jet Single Meta to show ONLY the dynamic product category link above the title */
.single-product .elementor-widget-jet-single-meta {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  padding: 0 !important;
}

.single-product .elementor-widget-jet-single-meta .product_meta {
  display: block !important;
  font-size: 0 !important;
  /* Hide label prefixes like "Kategoria:" */
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .elementor-widget-jet-single-meta .sku_wrapper {
  display: none !important;
  /* Hide SKU in the meta widget since it's displayed below the title */
}

.single-product .elementor-widget-jet-single-meta .posted_in {
  display: inline-block !important;
  font-size: 0 !important;
  margin: 0 !important;
}

.single-product .elementor-widget-jet-single-meta .posted_in a {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ello-primary) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
  display: inline-block !important;
}

.single-product .elementor-widget-jet-single-meta .posted_in a:hover {
  color: var(--ello-accent) !important;
}

/* Product title */
.single-product .product_title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--ello-text, #1C1C1C) !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.5px;
}

/* SKU Badge below title */
.ello-single-product-sku {
  display: inline-block;
  background-color: #f4f0fa;
  color: var(--ello-primary);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 6px;
  margin-bottom: 16px;
  border: 1px solid rgba(81, 28, 156, 0.08);
}

/* 7.3 Ratings Widget */
.single-product .woocommerce-product-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  background-color: #fcfbfe;
  padding: 6px 12px;
  border-radius: 30px;
  border: 1px solid rgba(81, 28, 156, 0.04);
}

.single-product .woocommerce-product-rating .star-rating {
  font-size: 13px !important;
  width: 73px !important;
  height: 1.2em !important;
  color: var(--ello-accent, #EE4A8A) !important;
  margin: 0 !important;
  letter-spacing: 1px;
}

.single-product .woocommerce-product-rating .star-rating::before {
  color: #dcd7e7 !important;
}

.single-product .woocommerce-review-link {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #716982 !important;
  text-decoration: none !important;
  transition: var(--ello-transition);
}

.single-product .woocommerce-review-link:hover {
  color: var(--ello-primary) !important;
}

/* Hide the unused default Star Rating widget under reviews widget */
.single-product .elementor-widget-star-rating {
  display: none !important;
}

/* 7.4 Price Layout */
.single-product .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 20px !important;
}

.single-product .price del,
.single-product .price del .amount {
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #a197b3 !important;
}

.single-product .price ins,
.single-product .price ins .amount,
.single-product .price>.amount {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--ello-text) !important;
  text-decoration: none !important;
}

/* 7.5 Stock Status */
.single-product .stock {
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border-radius: 30px !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
}

.single-product .stock.in-stock {
  background-color: #e8f7ee !important;
  color: #137333 !important;
}

.single-product .stock.out-of-stock {
  background-color: #fde8e8 !important;
  color: #c5221f !important;
}

/* 7.6 Quantity Selector and Add to Cart Form */
.single-product form.cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

/* Quantity input container */
.single-product .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(81, 28, 156, 0.12) !important;
  border-radius: 30px !important;
  padding: 2px !important;
  background-color: #ffffff !important;
  height: 48px !important;
  width: 120px !important;
  min-width: 120px !important;
}

/* Hide quantity selector if max is 1 or less (e.g. only 1 item in stock or sold individually) */
.single-product .quantity:has(input.qty[max="1"]),
.single-product .quantity:has(input.qty[max="0"]),
.single-product .quantity:has(input.qty[readonly]) {
  display: none !important;
}

/* Quantity buttons (minus, plus) */
.single-product .quantity button.minus,
.single-product .quantity button.plus {
  background: none !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--ello-primary) !important;
  cursor: pointer !important;
  transition: var(--ello-transition) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.single-product .quantity button.minus:hover,
.single-product .quantity button.plus:hover {
  background-color: #f4f0fa !important;
  color: var(--ello-accent) !important;
}

/* Quantity input field */
.single-product .quantity .qty {
  width: 40px !important;
  height: 36px !important;
  border: none !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ello-text) !important;
  background: none !important;
  padding: 0 !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.single-product .quantity .qty::-webkit-outer-spin-button,
.single-product .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Add to Cart Button */
.single-product button.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 48px !important;
  padding: 0 32px !important;
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  border-radius: 30px !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.15) !important;
  border: none !important;
  cursor: pointer !important;
  flex-grow: 1 !important;
  max-width: 280px !important;
}

.single-product button.single_add_to_cart_button::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background-color: currentColor !important;
  /* inherits text color (white) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.06 1.4-2.54h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.06 1.4-2.54h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  margin-right: 10px !important;
}

.single-product button.single_add_to_cart_button:hover {
  background-color: var(--ello-accent) !important;
  box-shadow: 0 8px 20px rgba(238, 74, 138, 0.25) !important;
  transform: translateY(-1px);
}



/* 7.8 Tabs and Attributes Table */
.single-product .woocommerce-tabs {
  margin-top: 40px !important;
  border-top: 1px solid rgba(81, 28, 156, 0.08) !important;
  padding-top: 30px !important;
}

.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 30px !important;
  border-bottom: 2px solid rgba(81, 28, 156, 0.05) !important;
  padding: 0 0 10px 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
  background: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #716982 !important;
  text-decoration: none !important;
  padding-bottom: 12px !important;
  display: block;
  transition: var(--ello-transition);
}

.single-product .woocommerce-tabs ul.tabs li:hover a,
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ello-primary) !important;
}

/* Active tab bottom indicator */
.single-product .woocommerce-tabs ul.tabs li::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ello-primary);
  transform: scaleX(0);
  transition: var(--ello-transition);
}

.single-product .woocommerce-tabs ul.tabs li.active::after {
  transform: scaleX(1);
}

.single-product .woocommerce-Tabs-panel {
  animation: elloFadeIn 0.4s ease;
}

.single-product .woocommerce-Tabs-panel h2 {
  display: none !important;
}

/* Attributes Table style */
.ello-product-attributes-wrapper {
  margin-top: 35px;
  border-top: 1px dashed rgba(81, 28, 156, 0.12);
  padding-top: 25px;
}

.single-product table.shop_attributes {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
}

.single-product table.shop_attributes tr {
  border-bottom: 1px solid rgba(81, 28, 156, 0.06) !important;
  background: none !important;
}

.single-product table.shop_attributes tr:last-child {
  border-bottom: none !important;
}

.single-product table.shop_attributes th,
.single-product table.shop_attributes td {
  padding: 12px 15px !important;
  text-align: left !important;
  border: none !important;
  font-size: 14px !important;
  background: none !important;
}

.single-product table.shop_attributes th {
  font-weight: 600 !important;
  color: #716982 !important;
  width: 250px !important;
  padding-left: 0 !important;
}

.single-product table.shop_attributes td {
  color: var(--ello-text) !important;
  font-weight: 500 !important;
}

.single-product table.shop_attributes td p {
  margin: 0 !important;
  font-weight: 500 !important;
}

@keyframes elloFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

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

/* 7.9 Jet Breadcrumbs Styling */
.single-product .elementor-widget-jet-breadcrumbs {
  margin-top: 10px !important;
  margin-bottom: 25px !important;
  padding: 0 !important;
}

.single-product .jet-breadcrumbs {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.single-product .jet-breadcrumbs__wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.single-product .jet-breadcrumbs__item-link {
  color: #716982 !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
}

.single-product .jet-breadcrumbs__item-link:hover {
  color: var(--ello-primary) !important;
}

.single-product .jet-breadcrumbs__item-target {
  color: #a197b3 !important;
  font-weight: 400 !important;
}

.single-product .jet-breadcrumbs__item-sep {
  display: flex !important;
  align-items: center !important;
  color: #b5a4d3 !important;
  margin: 0 4px !important;
}

.single-product .jet-breadcrumbs__item-sep svg {
  width: 8px !important;
  height: 8px !important;
  fill: currentColor !important;
}

/* 7.10 WooCommerce Reviews & Comments Styling */

/* Muted grey background card for each review */
.single-product ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 30px 0 !important;
}

.single-product ol.commentlist li.comment {
  margin-bottom: 20px !important;
  list-style: none !important;
}

.single-product ol.commentlist li.comment .comment_container {
  display: flex !important;
  gap: 20px !important;
  background-color: #fcfbfe !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.02) !important;
  transition: var(--ello-transition) !important;
}

.single-product ol.commentlist li.comment .comment_container:hover {
  border-color: var(--ello-secondary) !important;
  box-shadow: 0 8px 20px rgba(81, 28, 156, 0.05) !important;
}

/* Avatar styling */
.single-product ol.commentlist li.comment img.avatar {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
  background-color: #ffffff !important;
}

/* Comment text layout */
.single-product ol.commentlist li.comment .comment-text {
  flex-grow: 1 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
}

/* Flex header for review author and star rating alignment */
.single-product ol.commentlist li.comment .comment-text .meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px dashed rgba(81, 28, 156, 0.08) !important;
  padding-bottom: 8px !important;
  font-size: 13px !important;
  color: #716982 !important;
}

.single-product ol.commentlist li.comment .comment-text .meta strong.woocommerce-review__author {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ello-text) !important;
}

.single-product ol.commentlist li.comment .comment-text .meta time {
  font-size: 12px !important;
  color: #a197b3 !important;
}

/* Style rating stars inside review text */
.single-product ol.commentlist li.comment .comment-text .star-rating {
  font-size: 12px !important;
  width: 70px !important;
  color: var(--ello-accent) !important;
  margin: 0 !important;
}

.single-product ol.commentlist li.comment .comment-text .star-rating::before {
  color: #dcd7e7 !important;
}

/* Comment content text */
.single-product ol.commentlist li.comment .description {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--ello-text) !important;
  margin: 0 !important;
}

/* Add review form styling */
.single-product #review_form_wrapper {
  background-color: #ffffff !important;
  border-radius: 12px !important;
  margin-top: 30px !important;
}

.single-product #review_form_wrapper #reply-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ello-text) !important;
  margin-bottom: 15px !important;
  display: block;
}

.single-product #review_form_wrapper .comment-notes {
  font-size: 13px !important;
  color: #716982 !important;
  margin-bottom: 20px !important;
}

/* Star selection styling */
.single-product #review_form_wrapper .comment-form-rating {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
}

.single-product #review_form_wrapper .comment-form-rating label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ello-text) !important;
  margin: 0 !important;
}

.single-product #review_form_wrapper .comment-form-rating p.stars {
  margin: 0 !important;
}

.single-product #review_form_wrapper .comment-form-rating p.stars a {
  color: var(--ello-accent) !important;
  font-size: 16px !important;
  margin-right: 4px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}

.single-product #review_form_wrapper .comment-form-rating p.stars a:hover {
  transform: scale(1.15) !important;
}

/* Form fields styling */
.single-product #review_form_wrapper .comment-form input[type="text"],
.single-product #review_form_wrapper .comment-form input[type="email"],
.single-product #review_form_wrapper .comment-form textarea {
  width: 100% !important;
  border: 1px solid rgba(81, 28, 156, 0.15) !important;
  border-radius: 8px !important;
  padding: 12px 15px !important;
  font-size: 14px !important;
  color: var(--ello-text) !important;
  background-color: #ffffff !important;
  outline: none !important;
  transition: var(--ello-transition) !important;
}

.single-product #review_form_wrapper .comment-form input[type="text"]:focus,
.single-product #review_form_wrapper .comment-form input[type="email"]:focus,
.single-product #review_form_wrapper .comment-form textarea:focus {
  border-color: var(--ello-primary) !important;
  box-shadow: 0 0 0 3px rgba(81, 28, 156, 0.08) !important;
}

/* Form fields layout */
.single-product #review_form_wrapper .comment-form-comment {
  margin-bottom: 20px !important;
}

.single-product #review_form_wrapper .comment-form-author,
.single-product #review_form_wrapper .comment-form-email {
  width: 48% !important;
  display: inline-block !important;
  margin-bottom: 20px !important;
}

.single-product #review_form_wrapper .comment-form-author {
  margin-right: 4% !important;
}

@media (max-width: 768px) {

  .single-product #review_form_wrapper .comment-form-author,
  .single-product #review_form_wrapper .comment-form-email {
    width: 100% !important;
    display: block !important;
    margin-right: 0 !important;
  }
}

.single-product #review_form_wrapper .comment-form-cookies-consent {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #716982 !important;
  margin-bottom: 20px !important;
}

.single-product #review_form_wrapper .comment-form-cookies-consent input {
  margin: 0 !important;
}

/* Review Submit button */
.single-product #review_form_wrapper input#submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  padding: 0 30px !important;
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px;
  border-radius: 30px !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.15) !important;
  border: none !important;
  cursor: pointer !important;
}

.single-product #review_form_wrapper input#submit:hover {
  background-color: var(--ello-accent) !important;
  box-shadow: 0 8px 20px rgba(238, 74, 138, 0.25) !important;
  transform: translateY(-1px);
}

/* ----------------------------------------------------
   8. OFF-CANVAS PANEL REDESIGN
   ---------------------------------------------------- */

/* Force clean white background on the off-canvas content panel */
.e-off-canvas__content {
  background-color: #ffffff !important;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.05) !important;
}

/* 8.1 Headings ("KOSZYK" & "MENU") */
.e-off-canvas div[data-id="4d3a846"] .elementor-heading-title,
.e-off-canvas div[data-id="b2c207c"] .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #716982 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-top: 25px !important;
  margin-bottom: 15px !important;
  border: none !important;
}

.e-off-canvas div[data-id="4d3a846"] .elementor-heading-title {
  margin-top: 15px !important;
}

/* 8.2 WooCommerce Menu Cart Refinement */
.e-off-canvas .elementor-widget-woocommerce-menu-cart {
  margin-bottom: 25px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* Style the Cart toggle button to look like a premium full-width card */
.e-off-canvas .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  background-color: #f4f0fa !important;
  /* Soft lavender/grey background */
  border: 1px solid rgba(81, 28, 156, 0.06) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.02) !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: var(--ello-transition) !important;
}

.e-off-canvas .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover {
  background-color: #ede7f6 !important;
  border-color: rgba(81, 28, 156, 0.15) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 15px rgba(81, 28, 156, 0.05) !important;
}

/* Place Cart Icon on the Left */
.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-icon {
  order: 1 !important;
  /* Move icon to first position */
  margin-right: 28px !important;
  display: flex !important;
  align-items: center !important;
  color: var(--ello-primary) !important;
  position: relative !important;
}

.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
}

/* Place price in the middle and align left */
.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-text {
  order: 2 !important;
  /* Move text to second position */
  flex-grow: 1 !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Prepend Suma Koszyka text label */
.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-text::before {
  content: "Suma koszyka";
  display: block;
  font-size: 10px;
  font-weight: 600;
  color: #716982;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-text .woocommerce-Price-amount {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ello-text) !important;
  line-height: 1.2 !important;
}

/* Place circular items indicator badge on the far right */
.e-off-canvas .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
  position: static !important;
  /* override absolute position */
  order: 3 !important;
  /* Move count to third position */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  min-width: 26px !important;
  box-shadow: 0 2px 6px rgba(81, 28, 156, 0.2) !important;
}

/* 8.3 Sidebar Menu (Icon List) */
.e-off-canvas .elementor-element-97fa942 {
  margin-bottom: 30px !important;
}

.e-off-canvas .elementor-element-97fa942 ul.elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.04) !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-item:last-child {
  border-bottom: none !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-item a {
  display: flex !important;
  align-items: center !important;
  flex-grow: 1 !important;
  color: var(--ello-text) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: var(--ello-transition) !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-item a:hover {
  color: var(--ello-primary) !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-icon {
  margin-right: 12px !important;
  color: #716982 !important;
  display: flex !important;
  align-items: center !important;
  transition: var(--ello-transition) !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-item a:hover .elementor-icon-list-icon {
  color: var(--ello-primary) !important;
}

.e-off-canvas .elementor-element-97fa942 .elementor-icon-list-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

/* 8.4 Bottom Auth Links (Logout button) */
.e-off-canvas .elementor-widget-jet-auth-links {
  margin-top: auto !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(81, 28, 156, 0.08) !important;
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
}

.e-off-canvas .jet-auth-links__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #716982 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
}

.e-off-canvas .jet-auth-links__link:hover {
  color: var(--ello-accent) !important;
}

.e-off-canvas .jet-auth-links__icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

/* ----------------------------------------------------
   9. WOOCOMMERCE SIDE SLIDE-OUT CART (MINI CART)
   ---------------------------------------------------- */

/* Main drawer panel container styling */
.elementor-menu-cart__main {
  background-color: #ffffff !important;
  box-shadow: -8px 0 30px rgba(81, 28, 156, 0.08) !important;
  padding: 30px 24px !important;
  border-left: 1px solid rgba(81, 28, 156, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Close button custom styling */
.elementor-menu-cart__close-button,
.elementor-menu-cart__close-button-custom {
  align-self: flex-end !important;
  margin-bottom: 25px !important;
  color: #716982 !important;
  transition: var(--ello-transition) !important;
}

.elementor-menu-cart__close-button:hover,
.elementor-menu-cart__close-button-custom:hover {
  color: var(--ello-primary) !important;
}

.elementor-menu-cart__close-button::before,
.elementor-menu-cart__close-button::after {
  background: currentColor !important;
  transition: var(--ello-transition) !important;
}

/* Product list container spacing and scrollbar */
.elementor-menu-cart__products {
  max-height: calc(100vh - 270px) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Scrollbar customization */
.elementor-menu-cart__products::-webkit-scrollbar {
  width: 5px !important;
}

.elementor-menu-cart__products::-webkit-scrollbar-track {
  background: rgba(81, 28, 156, 0.02) !important;
}

.elementor-menu-cart__products::-webkit-scrollbar-thumb {
  background: var(--ello-secondary) !important;
  border-radius: 10px !important;
}

/* Product item layout and grid alignment */
.elementor-menu-cart__product {
  padding: 20px 30px 20px 0 !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08) !important;
  align-items: center !important;
  gap: 16px !important;
  grid-template-columns: 68px auto !important;
  position: relative !important;
}

.elementor-menu-cart__product:last-child {
  border-bottom: none !important;
}

/* Product image styling */
.elementor-menu-cart__product-image {
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 6px !important;
  background-color: #ffffff !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-menu-cart__product-image img {
  border-radius: 6px !important;
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
}

/* Product name link styling */
.elementor-menu-cart__product-name {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 4px !important;
}

.elementor-menu-cart__product-name a {
  color: var(--ello-text) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.elementor-menu-cart__product-name a:hover {
  color: var(--ello-primary) !important;
}

/* Product price / quantity info block */
.elementor-menu-cart__product-price {
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #716982 !important;
}

.elementor-menu-cart__product-price .woocommerce-Price-amount {
  color: var(--ello-accent) !important;
  font-weight: 700 !important;
}

/* Product remove button customization */
.elementor-menu-cart__product-remove {
  border: 1px solid rgba(81, 28, 156, 0.1) !important;
  background-color: #ffffff !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--ello-transition) !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  bottom: auto !important;
}

.elementor-menu-cart__product-remove:hover {
  background-color: #fde8e8 !important;
  border-color: #c5221f !important;
}

.elementor-menu-cart__product-remove::before,
.elementor-menu-cart__product-remove::after {
  background-color: #716982 !important;
  width: 45% !important;
  height: 1.5px !important;
}

.elementor-menu-cart__product-remove:hover::before,
.elementor-menu-cart__product-remove:hover::after {
  background-color: #c5221f !important;
}

/* Subtotal block styling */
.elementor-menu-cart__subtotal {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-top: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08) !important;
  padding: 16px 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--ello-text) !important;
  margin-top: 15px !important;
  margin-bottom: 25px !important;
}

.elementor-menu-cart__subtotal strong {
  font-weight: 600 !important;
  color: var(--ello-text) !important;
}

.elementor-menu-cart__subtotal .woocommerce-Price-amount {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ello-text) !important;
}

/* Footer buttons styling */
.elementor-menu-cart__footer-buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-menu-cart__footer-buttons .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 30px !important;
  transition: var(--ello-transition) !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.04) !important;
  border: 2px solid transparent !important;
}

/* Zobacz koszyk (View Cart) Button */
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
  background-color: #ffffff !important;
  color: var(--ello-primary) !important;
  border-color: var(--ello-primary) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(81, 28, 156, 0.15) !important;
}

/* Zamówienie (Checkout) Button */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  border-color: var(--ello-primary) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
  background-color: var(--ello-accent) !important;
  border-color: var(--ello-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(238, 74, 138, 0.2) !important;
}

/* Empty cart message styling */
.woocommerce-mini-cart__empty-message {
  font-size: 15px !important;
  color: #716982 !important;
  text-align: center !important;
  padding: 60px 20px !important;
  font-weight: 500 !important;
}

/* ----------------------------------------------------
   10. WOOCOMMERCE CART PAGE REDESIGN (CART BLOCK)
   ---------------------------------------------------- */

/* Vertical spacing between website header and cart block */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

/* Product name link (Navy Blue/Dark Purple) */
.woocommerce-cart .wc-block-components-product-name {
  color: var(--ello-primary) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
  display: block !important;
}

.woocommerce-cart .wc-block-components-product-name:hover {
  color: var(--ello-accent) !important;
}

/* Row padding (vertical spacings only) */
@container (min-width: 700px) {
  .woocommerce-cart .wc-block-cart__main .wc-block-cart-items td {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }
}

@container (max-width: 699px) {
  .woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

/* Spacings inside the product item column */
.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__wrap {
  gap: 8px !important;
}

/* Short Description styling */
.woocommerce-cart .wc-block-components-product-metadata__description {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #716982 !important;
  margin-top: 2px !important;
  margin-bottom: 4px !important;
}

/* Quantity & remove controls layout and spacing */
.woocommerce-cart .wc-block-cart-item__quantity {
  margin-top: 8px !important;
  gap: 16px !important;
}

.woocommerce-cart .wc-block-components-quantity-selector {
  border: 1px solid rgba(81, 28, 156, 0.12) !important;
  border-radius: 30px !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #716982 !important;
  transition: var(--ello-transition) !important;
  width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: #c5221f !important;
  transform: scale(1.15) !important;
}

/* Product thumbnail image card styling */
.woocommerce-cart .wc-block-cart-item__image img {
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: 10px !important;
  padding: 4px !important;
  background-color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.02) !important;
  transition: var(--ello-transition) !important;
}

.woocommerce-cart .wc-block-cart-items__row:hover .wc-block-cart-item__image img {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(81, 28, 156, 0.08) !important;
  border-color: var(--ello-secondary) !important;
}

/* Proceed to checkout submit button styling */
.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit,
.woocommerce-cart a.checkout-button,
.woocommerce-cart button.checkout-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 30px !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.15) !important;
  border: none !important;
}

.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit:hover,
.woocommerce-cart a.checkout-button:hover,
.woocommerce-cart button.checkout-button:hover {
  background-color: var(--ello-accent) !important;
  box-shadow: 0 8px 20px rgba(238, 74, 138, 0.25) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ----------------------------------------------------
   11. WOOCOMMERCE MY ACCOUNT STYLING
   ---------------------------------------------------- */

/* Hide page title on My Account endpoints */
body.woocommerce-account .entry-title,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .page-title,
body.woocommerce-account h1.page-title,
body.woocommerce-account .post-title,
body.woocommerce-account h1.post-title {
  display: none !important;
}

/* Container wrapper layout with header spacing */
.woocommerce-account .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 80px !important;
  margin-bottom: 60px !important;
  align-items: flex-start;
}

/* Navigation Sidebar */
.woocommerce-MyAccount-navigation {
  flex: 1 1 280px;
  max-width: 320px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff;
  border-radius: var(--ello-border-radius);
  box-shadow: 0 4px 20px rgba(81, 28, 156, 0.03);
  border: 1px solid rgba(81, 28, 156, 0.05);
  overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid rgba(81, 28, 156, 0.04);
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 15px 24px;
  color: var(--ello-text);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none !important;
  transition: var(--ello-transition);
  position: relative;
}

/* Navigation Hover & Active states */
.woocommerce-MyAccount-navigation ul li a:hover {
  background-color: #fcfbfe;
  color: var(--ello-primary);
  padding-left: 28px;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #f4f0fa;
  color: var(--ello-primary);
  padding-left: 28px;
}

.woocommerce-MyAccount-navigation ul li.is-active a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: var(--ello-primary);
}

/* Main Content Panel */
.woocommerce-MyAccount-content {
  flex: 1 1 600px;
  background: #ffffff;
  border-radius: var(--ello-border-radius);
  padding: 35px;
  box-shadow: 0 4px 25px rgba(81, 28, 156, 0.03);
  border: 1px solid rgba(81, 28, 156, 0.05);
}

@media (max-width: 991px) {
  .woocommerce-account .woocommerce {
    flex-direction: column;
  }

  .woocommerce-MyAccount-navigation {
    max-width: 100%;
    width: 100%;
  }
}

/* Dashboard Greeting Callout */
.woocommerce-MyAccount-content>p:first-of-type {
  font-size: 16px;
  background-color: #fcfbfe;
  padding: 20px 24px;
  border-radius: 12px;
  border-left: 4px solid var(--ello-primary);
  margin-bottom: 30px;
  color: #716982;
  line-height: 1.6;
}

.woocommerce-MyAccount-content>p:first-of-type strong {
  color: var(--ello-primary);
}

.woocommerce-MyAccount-content p a {
  color: var(--ello-primary);
  font-weight: 600;
  text-decoration: underline;
  transition: var(--ello-transition);
}

.woocommerce-MyAccount-content p a:hover {
  color: var(--ello-accent);
}

/* Forms & Input Controls */
.woocommerce-MyAccount-content form {
  margin: 0;
}

.woocommerce-MyAccount-content form::after {
  content: "";
  display: table;
  clear: both;
}

.woocommerce-MyAccount-content legend {
  font-size: 18px;
  font-weight: 700;
  color: var(--ello-primary);
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08);
  width: 100%;
}

.woocommerce-MyAccount-content label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #716982;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  width: 100%;
  padding: 12px 16px;
  font-size: 14px;
  border: 1px solid rgba(81, 28, 156, 0.15);
  border-radius: 8px;
  background-color: #ffffff;
  color: var(--ello-text);
  box-shadow: none;
  transition: var(--ello-transition);
}

.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
  border-color: var(--ello-primary);
  box-shadow: 0 0 0 3px rgba(81, 28, 156, 0.08);
  outline: none;
}

.woocommerce-form-row {
  margin-bottom: 20px;
}

.woocommerce-form-row--first,
.woocommerce-form-row--last {
  width: 48%;
  float: left;
}

.woocommerce-form-row--first {
  margin-right: 4%;
}

@media (max-width: 767px) {

  .woocommerce-form-row--first,
  .woocommerce-form-row--last {
    width: 100%;
    float: none;
    margin-right: 0;
  }
}

/* Brand Buttons */
.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content input[type="submit"].button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  padding: 0 32px !important;
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-radius: 30px !important;
  border: none !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.12) !important;
  cursor: pointer;
}

.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content input[type="submit"].button:hover {
  background-color: var(--ello-accent) !important;
  box-shadow: 0 6px 18px rgba(238, 74, 138, 0.2) !important;
}

/* Orders and Action Tables */
.woocommerce-MyAccount-content table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--ello-border-radius) !important;
  overflow: hidden !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  margin-bottom: 25px !important;
  background: #ffffff !important;
}

.woocommerce-MyAccount-content table.shop_table th {
  background-color: #fcfbfe !important;
  color: var(--ello-primary) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 15px 20px !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.woocommerce-MyAccount-content table.shop_table td {
  padding: 15px 20px !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.05) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 14px !important;
  color: var(--ello-text) !important;
}

.woocommerce-MyAccount-content table.shop_table tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-MyAccount-content table.shop_table td a.button {
  background-color: var(--ello-primary) !important;
  color: #ffffff !important;
  padding: 8px 18px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 30px !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: var(--ello-transition) !important;
  box-shadow: 0 3px 8px rgba(81, 28, 156, 0.1) !important;
  border: none !important;
  text-decoration: none !important;
}

.woocommerce-MyAccount-content table.shop_table td a.button:hover {
  background-color: var(--ello-accent) !important;
  box-shadow: 0 5px 12px rgba(238, 74, 138, 0.2) !important;
}

/* Addresses Section */
.woocommerce-Addresses {
  margin-top: 30px;
}

.woocommerce-Addresses .title h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--ello-primary);
  margin-bottom: 15px;
}

.woocommerce-Addresses .title a.edit {
  font-size: 13px;
  font-weight: 600;
  color: var(--ello-accent);
  text-decoration: none !important;
  transition: var(--ello-transition);
}

.woocommerce-Addresses .title a.edit:hover {
  color: var(--ello-primary);
}

.woocommerce-account .addresses {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.woocommerce-account .addresses .col-1,
.woocommerce-account .addresses .col-2 {
  flex: 1 1 250px;
  margin: 0;
  padding: 0;
}

.woocommerce-Address {
  background-color: #ffffff;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid rgba(81, 28, 156, 0.06);
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.02);
  transition: var(--ello-transition);
}

.woocommerce-Address:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(81, 28, 156, 0.06);
  border-color: var(--ello-secondary);
}

.woocommerce-Address-title,
.woocommerce-Address header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08) !important;
  padding-bottom: 12px !important;
  margin-bottom: 15px !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.woocommerce-Address-title h3,
.woocommerce-Address header h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ello-primary) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.woocommerce-Address-title a.edit,
.woocommerce-Address header a.edit {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ello-accent) !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
}

.woocommerce-Address-title a.edit:hover,
.woocommerce-Address header a.edit:hover {
  color: var(--ello-primary) !important;
}

.woocommerce-Address address {
  font-style: normal;
  line-height: 1.6;
  color: var(--ello-text);
  font-size: 14px;
  margin-top: 10px;
}

/* Alert Notifications */
.woocommerce-Message,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  border-radius: 12px !important;
  padding: 15px 20px 15px 55px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin-bottom: 25px !important;
  position: relative !important;
  border: 1px solid transparent !important;
  background-repeat: no-repeat !important;
  background-position: 20px center !important;
  background-size: 20px 20px !important;
}

.woocommerce-info {
  background-color: #f4f0fa !important;
  border-color: rgba(81, 28, 156, 0.1) !important;
  color: var(--ello-primary) !important;
  border-left: 4px solid var(--ello-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23511C9C'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E") !important;
}

.woocommerce-error {
  background-color: #fde8e8 !important;
  border-color: rgba(197, 34, 31, 0.1) !important;
  color: #c5221f !important;
  border-left: 4px solid #c5221f !important;
  list-style: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c5221f'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E") !important;
}

.woocommerce-Message,
.woocommerce-message {
  background-color: #e8f7ee !important;
  border-color: rgba(19, 115, 51, 0.1) !important;
  color: #137333 !important;
  border-left: 4px solid #137333 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23137333'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") !important;
}

.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-Message::before,
.woocommerce-message::before {
  display: none !important;
  content: none !important;
}

/* Logout View (Login & Register forms) */
.woocommerce-form-login,
.woocommerce-form-register {
  background: #ffffff;
  border-radius: var(--ello-border-radius);
  padding: 35px;
  box-shadow: 0 4px 25px rgba(81, 28, 156, 0.03);
  border: 1px solid rgba(81, 28, 156, 0.05);
  max-width: 500px;
  margin: 40px auto !important;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--ello-primary);
  margin-bottom: 25px;
  text-align: center;
}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
  width: 100%;
  margin-top: 15px;
}

.woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #716982;
  margin-top: 10px;
  margin-bottom: 15px;
}

.woocommerce-LostPassword a {
  color: var(--ello-accent);
  font-weight: 600;
  text-decoration: none !important;
  font-size: 13px;
  transition: var(--ello-transition);
}

.woocommerce-LostPassword a:hover {
  color: var(--ello-primary);
}

/* ----------------------------------------------------
   12. HEADER ICONS VERTICAL ALIGNMENT
   ---------------------------------------------------- */
header .elementor-widget-woocommerce-menu-cart,
header .elementor-widget-search-form,
header .elementor-widget-nav-menu,
header .elementor-widget-e-off-canvas,
header .elementor-widget-icon,
.elementor-location-header .elementor-widget-woocommerce-menu-cart,
.elementor-location-header .elementor-widget-search-form,
.elementor-location-header .elementor-widget-nav-menu,
.elementor-location-header .elementor-widget-e-off-canvas,
.elementor-location-header .elementor-widget-icon {
  margin: 0 !important;
  vertical-align: middle !important;
}

header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-wrap {
  align-items: center !important;
}

/* Centering the search toggle icon */
header .elementor-search-form__toggle,
.elementor-location-header .elementor-search-form__toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ----------------------------------------------------
   13. JET COMPARE WISHLIST STYLING
   ---------------------------------------------------- */

.jet-wishlist-item {
  background: #ffffff !important;
  border-radius: var(--ello-border-radius) !important;
  padding: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  border: none !important;
  transition: var(--ello-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.jet-wishlist-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 35px rgba(81, 28, 156, 0.08) !important;
}

/* Thumbnail Wrapper */
.jet-wishlist-products-thumb-wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
  background-color: var(--ello-bg-soft) !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0px !important;
  padding: var(--ello-thumb-pad) !important;
  box-sizing: border-box !important;
}

.jet-wishlist-products-thumb-wrapper img {
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.jet-wishlist-item:hover .jet-wishlist-products-thumb-wrapper img {
  transform: scale(1.06) !important;
}

/* Product title */
.jet-cw-product-title {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 14px 0 8px 0 !important;
  font-weight: 500 !important;
  text-align: left !important;
  height: 42px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.jet-cw-product-title a {
  color: var(--ello-text) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.jet-wishlist-item:hover .jet-cw-product-title a {
  color: var(--ello-primary) !important;
}

/* Product Price */
.jet-cw-price {
  text-align: left !important;
  margin-top: 0px !important;
  margin-bottom: 14px !important;
  padding-top: 0px !important;
}

.jet-cw-price .amount,
.jet-cw-price ins,
.jet-cw-price ins .amount {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ello-accent) !important;
  text-decoration: none !important;
}

/* Add to Cart overlay styled beautifully */
.jet-wishlist-products-thumb-wrapper .hovered-content {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  right: 12px !important;
  width: calc(100% - 24px) !important;
  z-index: 10 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: var(--ello-transition) !important;
  margin: 0 !important;
}

.jet-wishlist-item:hover .jet-wishlist-products-thumb-wrapper .hovered-content {
  opacity: 1 !important;
  visibility: visible !important;
}

.jet-wishlist-products-thumb-wrapper .hovered-content a.button,
.jet-wishlist-products-thumb-wrapper .hovered-content .button,
.jet-wishlist-products-thumb-wrapper .hovered-content .jet-cw-add-to-cart a {
  display: block !important;
  width: 100% !important;
  padding: 10px 14px !important;
  background-color: #ffffff !important;
  color: var(--ello-primary) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  border-radius: 30px !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(81, 28, 156, 0.15) !important;
  text-decoration: none !important;
  transition: var(--ello-transition) !important;
  box-sizing: border-box !important;
}

.jet-wishlist-products-thumb-wrapper .hovered-content a.button:hover,
.jet-wishlist-products-thumb-wrapper .hovered-content .button:hover,
.jet-wishlist-products-thumb-wrapper .hovered-content .jet-cw-add-to-cart a:hover {
  background-color: var(--ello-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(238, 74, 138, 0.25) !important;
}

/* Remove button styled as circle in top-left */
.jet-wishlist-products-remove-btn-wrapper {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 15 !important;
  width: auto !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin: 0 !important;
}

.jet-wishlist-products-remove-btn-wrapper button.jet-cw-remove-button,
.jet-wishlist-products-remove-btn-wrapper .jet-wishlist-item-remove-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(81, 28, 156, 0.1) !important;
  transition: var(--ello-transition) !important;
  color: var(--ello-primary) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.jet-wishlist-products-remove-btn-wrapper button.jet-cw-remove-button svg,
.jet-wishlist-products-remove-btn-wrapper .jet-wishlist-item-remove-button svg {
  fill: var(--ello-primary) !important;
  width: 14px !important;
  height: 14px !important;
  transition: var(--ello-transition) !important;
}

.jet-wishlist-products-remove-btn-wrapper button.jet-cw-remove-button:hover,
.jet-wishlist-products-remove-btn-wrapper .jet-wishlist-item-remove-button:hover {
  color: var(--ello-accent) !important;
  transform: scale(1.1) !important;
  box-shadow: 0 6px 16px rgba(238, 74, 138, 0.2) !important;
}

.jet-wishlist-products-remove-btn-wrapper button.jet-cw-remove-button:hover svg,
.jet-wishlist-products-remove-btn-wrapper .jet-wishlist-item-remove-button:hover svg {
  fill: var(--ello-accent) !important;
}

.jet-wishlist-products-remove-btn-wrapper button .text,
.jet-wishlist-products-remove-btn-wrapper button span.text {
  display: none !important;
}

/* Empty State */
.jet-wishlist-empty,
h5.jet-wishlist-empty {
  font-size: 15px !important;
  color: #716982 !important;
  text-align: center !important;
  padding: 60px 20px !important;
  font-weight: 500 !important;
  background-color: #fcfbfe !important;
  border-radius: var(--ello-border-radius) !important;
  border: 1px dashed rgba(81, 28, 156, 0.15) !important;
  margin: 40px 0 !important;
}

/* ----------------------------------------------------
   14. RESPONSYWNOŚĆ — TABLET & MOBILE (SKLEP)
   ----------------------------------------------------
   Breakpointy zgodne z domyślnymi Elementora:
   - tablet:  max-width: 1024px
   - telefon: max-width: 767px
   - małe telefony: max-width: 480px
   Uwaga: liczba kolumn w gridzie produktów JetWoo jest sterowana
   w ustawieniach widżetu (Elementor > responsywność), a nie tu.
   ---------------------------------------------------- */

/* ===== TABLET (<=1024px) ===== */
@media (max-width: 1024px) {

  /* Na dotyku wyłączamy "podskok" karty, żeby tap nie skakał */
  .jet-woo-products__inner-box:hover,
  .jet-wishlist-item:hover,
  .ello-image-card:hover,
  .woocommerce-Address:hover {
    transform: none;
  }

  /* Strona produktu: przycisk do koszyka może rosnąć na całą szerokość */
  .single-product button.single_add_to_cart_button {
    max-width: none !important;
  }

  /* Moje konto — mniejszy padding treści */
  .woocommerce-MyAccount-content {
    padding: 28px;
  }

  /* Karty produktów — trochę ciaśniej */
  .jet-woo-products__item.jet-woo-builder-product {
    padding: 8px;
  }
}

/* ===== TELEFON (<=767px) ===== */
@media (max-width: 767px) {

  :root {
    --ello-thumb-pad: 8px; /* mniejszy margines wokół miniatur na telefonie */
  }

  /* --- Grid / karty produktów --- */
  .jet-woo-products__item.jet-woo-builder-product {
    padding: 6px;
  }

  .jet-woo-products__inner-box {
    padding: 12px !important;
    border-radius: 12px !important;
  }

  .jet-woo-product-title {
    font-size: 14px !important;
    height: 40px;
    margin: 10px 0 6px 0 !important;
  }

  .jet-woo-product-price .price,
  .jet-woo-product-price .price .amount {
    font-size: 15px !important;
  }

  body .jet-woo-products__inner-box .jet-woo-product-button a.button,
  body .jet-woo-products__inner-box form.cart button.button,
  body .jet-woo-products__inner-box form.cart .button,
  body .jet-woo-products__inner-box .add_to_cart_button,
  body .jet-woo-products__inner-box a.button,
  body .jet-woo-products__inner-box button.button {
    padding: 11px 12px !important;
    font-size: 12px !important;
  }

  /* Ikony wishlist / porównaj — mniejsze i bliżej rogu */
  body .jet-woo-products__inner-box .jet-woo-products-cqw-wrapper {
    top: 10px !important;
    left: 10px !important;
    gap: 6px !important;
  }

  body .jet-woo-products__inner-box .jet-compare-button__link,
  body .jet-woo-products__inner-box .jet-wishlist-button__link,
  body .jet-woo-products__inner-box .jet-cw-button,
  body .jet-woo-products__inner-box .jet-wishlist-button__container a,
  body .jet-woo-products__inner-box .jet-compare-button__container a {
    width: 32px !important;
    height: 32px !important;
  }

  .ello-product-age {
    font-size: 10px;
    padding: 3px 8px;
  }

  /* --- Strona produktu --- */
  .single-product div[data-elementor-type="product"] {
    padding: 10px 0;
  }

  .single-product .product_title {
    font-size: 22px !important;
  }

  /* Formularz "dodaj do koszyka": ilość + przycisk w jednym rzędzie,
     przycisk wypełnia resztę; w razie ciasnoty zawija się pod spód */
  .single-product form.cart {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .single-product button.single_add_to_cart_button {
    flex: 1 1 auto !important;
    max-width: none !important;
    padding: 0 20px !important;
  }

  /* Miniatury galerii — trochę ciaśniej */
  .single-product .flex-control-thumbs {
    gap: 8px;
  }

  /* Zakładki: przewijanie w poziomie zamiast wylewania się poza ekran */
  .single-product .woocommerce-tabs ul.tabs {
    gap: 20px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  .single-product .woocommerce-tabs ul.tabs li a {
    font-size: 15px !important;
  }

  /* Tabela atrybutów: węższa kolumna etykiet */
  .single-product table.shop_attributes th {
    width: 40% !important;
  }

  .single-product table.shop_attributes th,
  .single-product table.shop_attributes td {
    padding: 10px 8px !important;
    font-size: 13px !important;
  }

  /* Recenzje: zwarcie karty i przeniesienie oceny pod autora */
  .single-product ol.commentlist li.comment .comment_container {
    gap: 14px !important;
    padding: 16px !important;
  }

  .single-product ol.commentlist li.comment img.avatar {
    width: 40px !important;
    height: 40px !important;
  }

  .single-product ol.commentlist li.comment .comment-text .meta {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  /* --- Mini-koszyk (wysuwany) --- */
  .elementor-menu-cart__main {
    padding: 22px 16px !important;
  }

  .elementor-menu-cart__footer-buttons {
    grid-template-columns: 1fr !important;
  }

  .elementor-menu-cart__product {
    grid-template-columns: 60px auto !important;
    gap: 12px !important;
    padding: 16px 26px 16px 0 !important;
  }

  /* --- Panel off-canvas --- */
  .e-off-canvas .elementor-widget-woocommerce-menu-cart {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* --- Moje konto --- */
  .woocommerce-account .woocommerce {
    gap: 20px;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }

  .woocommerce-MyAccount-content {
    padding: 20px;
  }

  .woocommerce-MyAccount-navigation ul li a {
    padding: 13px 18px;
  }

  .woocommerce-MyAccount-content table.shop_table th,
  .woocommerce-MyAccount-content table.shop_table td {
    padding: 12px 12px !important;
    font-size: 13px !important;
  }

  /* --- Strona koszyka (blok Woo) --- */
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-cart .wc-block-cart {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

  /* Logowanie / rejestracja — mniejszy padding */
  .woocommerce-form-login,
  .woocommerce-form-register {
    padding: 24px;
    margin: 24px auto !important;
  }
}

/* ===== MAŁE TELEFONY (<=480px) ===== */
@media (max-width: 480px) {

  .single-product .product_title {
    font-size: 20px !important;
  }

  /* Bardzo wąsko: przycisk do koszyka schodzi pod selektor ilości */
  .single-product button.single_add_to_cart_button {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  /* Przyciski w mini-koszyku pełna szerokość, jeden pod drugim */
  .elementor-menu-cart__footer-buttons .elementor-button {
    height: 44px !important;
    font-size: 12px !important;
  }
}


/* ====================================================
   FIX MINIATUR — blok nadrzędny (koniec pliku, wygrywa)
   Wymusza pełne zdjęcie w kwadratowym kadrze, bez ucinania.
   Zmień contain -> cover jeśli wolisz kadrowanie bez marginesów.
   ==================================================== */
.jet-woo-products .jet-woo-products__item .jet-woo-product-thumbnail {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  display: block !important;
  background: #fff !important;
  border-radius: 12px !important;
}

.jet-woo-products .jet-woo-products__item .jet-woo-product-thumbnail a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.jet-woo-products .jet-woo-products__item .jet-woo-product-thumbnail img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 12px !important;
  box-sizing: border-box !important;
}


/* ====================================================
   STRONA PODZIĘKOWANIA / SZCZEGÓŁY ZAMÓWIENIA
   (order-received / thank you + podgląd zamówienia)
   ==================================================== */

/* Komunikat "Dziękujemy. Zamówienie przyjęte" */
.woocommerce-order .woocommerce-notice--success,
.woocommerce-order p.woocommerce-thankyou-order-received {
  background: var(--ello-bg-soft) !important;
  border: 1px solid rgba(81, 28, 156, 0.10) !important;
  border-left: 4px solid var(--ello-primary) !important;
  border-radius: var(--ello-border-radius) !important;
  padding: 20px 24px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ello-primary) !important;
  margin-bottom: 28px !important;
}

/* Podsumowanie: numer, data, e-mail, suma, metoda płatności */
.woocommerce-order ul.woocommerce-order-overview {
  list-style: none !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  border: none !important;
}

.woocommerce-order ul.woocommerce-order-overview li {
  flex: 1 1 160px !important;
  background: #ffffff !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-right: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  color: #8a8a8a !important;
  box-shadow: 0 3px 10px rgba(81, 28, 156, 0.03) !important;
}

.woocommerce-order ul.woocommerce-order-overview li strong {
  display: block !important;
  margin-top: 6px !important;
  font-size: 16px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--ello-text) !important;
  font-weight: 700 !important;
}

/* Nagłówki sekcji */
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-customer-details__title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ello-primary) !important;
  margin: 0 0 16px 0 !important;
}

/* Tabela szczegółów zamówienia */
.woocommerce-order table.woocommerce-table--order-details,
.woocommerce-order table.order_details {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--ello-border-radius) !important;
  overflow: hidden !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  background: #ffffff !important;
  margin-bottom: 36px !important;
}

.woocommerce-order table.order_details th {
  background-color: var(--ello-bg-soft) !important;
  color: var(--ello-primary) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 15px 20px !important;
  border: none !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.08) !important;
  text-align: left !important;
}

.woocommerce-order table.order_details td {
  padding: 15px 20px !important;
  border: none !important;
  border-bottom: 1px solid rgba(81, 28, 156, 0.05) !important;
  font-size: 14px !important;
  color: var(--ello-text) !important;
}

.woocommerce-order table.order_details tfoot th,
.woocommerce-order table.order_details tfoot td {
  background: #ffffff !important;
  font-size: 14px !important;
}

.woocommerce-order table.order_details tfoot tr:last-child th,
.woocommerce-order table.order_details tfoot tr:last-child td {
  color: var(--ello-primary) !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  border-bottom: none !important;
}

.woocommerce-order table.order_details td.product-name a {
  color: var(--ello-text) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.woocommerce-order table.order_details td.product-name a:hover {
  color: var(--ello-primary) !important;
}

/* Adresy: rozliczeniowy + wysyłka */
.woocommerce-order .woocommerce-customer-details address {
  background: #ffffff !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: var(--ello-text) !important;
  box-shadow: 0 3px 10px rgba(81, 28, 156, 0.03) !important;
}

.woocommerce-order .woocommerce-column__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ello-primary) !important;
  margin-bottom: 10px !important;
}

/* Responsywność: karty i adresy pełna szerokość na telefonie */
@media (max-width: 600px) {
  .woocommerce-order ul.woocommerce-order-overview li {
    flex: 1 1 100% !important;
  }
  .woocommerce-order .col2-set .col-1,
  .woocommerce-order .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 16px !important;
  }
}


/* ====================================================
   DANE DO PRZELEWU (BACS) na stronie podziękowania
   ==================================================== */
.woocommerce-order .woocommerce-bacs-bank-details,
.woocommerce-order section.woocommerce-bacs-bank-details {
  background: #ffffff !important;
  border: 1px solid rgba(81, 28, 156, 0.08) !important;
  border-radius: var(--ello-border-radius) !important;
  padding: 24px 28px !important;
  margin: 0 0 36px 0 !important;
  box-shadow: 0 3px 10px rgba(81, 28, 156, 0.03) !important;
}

.woocommerce-order .wc-bacs-bank-details-heading {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--ello-primary) !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

.woocommerce-order .wc-bacs-bank-details-account-name,
.woocommerce-order .woocommerce-bacs-bank-details h3 {
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  color: var(--ello-secondary) !important;
  margin: 14px 0 10px 0 !important;
  padding: 0 !important;
}

.woocommerce-order ul.wc-bacs-bank-details,
.woocommerce-order ul.bacs_details {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 40px !important;
}

.woocommerce-order ul.wc-bacs-bank-details li,
.woocommerce-order ul.bacs_details li {
  list-style: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ello-text) !important;
  flex: 1 1 240px !important;
  border-bottom: none !important;
}

.woocommerce-order ul.wc-bacs-bank-details li strong,
.woocommerce-order ul.bacs_details li strong {
  display: block !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  color: #8a8a8a !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
}


/* ====================================================
   ODSTĘPY / KONTENER strony podziękowania
   Wyśrodkowanie treści + równe odstępy między sekcjami
   ==================================================== */
.woocommerce-order {
  max-width: 1180px !important;
  margin: 48px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

/* Odstępy pionowe między sekcjami */
.woocommerce-order .woocommerce-notice--success,
.woocommerce-order p.woocommerce-thankyou-order-received {
  margin-bottom: 32px !important;
}

.woocommerce-order ul.woocommerce-order-overview {
  margin-bottom: 40px !important;
}

.woocommerce-order .woocommerce-bacs-bank-details {
  margin: 8px 0 40px 0 !important;
}

.woocommerce-order .woocommerce-order-details {
  margin-bottom: 44px !important;
}

.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-customer-details__title {
  margin: 0 0 18px 0 !important;
}

.woocommerce-order table.order_details {
  margin-bottom: 0 !important;
}

/* Adresy: dwie równe kolumny z odstępem, stackowane na telefonie */
.woocommerce-order .woocommerce-customer-details .col2-set,
.woocommerce-order .woocommerce-customer-details .woocommerce-columns--addresses {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  margin: 0 !important;
}
.woocommerce-order .woocommerce-customer-details .col2-set .col-1,
.woocommerce-order .woocommerce-customer-details .col2-set .col-2 {
  flex: 1 1 320px !important;
  width: auto !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Telefon: węższy padding, mniejszy margines górny */
@media (max-width: 782px) {
  .woocommerce-order {
    margin: 28px auto !important;
    padding: 0 16px !important;
  }
}
