/*
 * LIVI WooCommerce Overrides
 * assets/css/livi-woocommerce.css
 *
 * Приводить Porto/WooCommerce до єдиного стилю LIVI.
 * Застосовується на всіх сторінках сайту.
 */


/* ── PRODUCT LOOP (каталог, архів, категорії) ────────────── */

.woocommerce ul.products li.product,
.porto-products ul.products li.product {
  font-family:   var(--livi-font) !important;
  border-radius: var(--livi-radius-md) !important;
  overflow:      hidden !important;
  background:    var(--livi-white) !important;
  border:        none !important;
  box-shadow:    var(--livi-shadow-xs) !important;
  transition:    transform var(--livi-ease),
                 box-shadow var(--livi-ease) !important;
  padding:       0 !important;
}

.woocommerce ul.products li.product:hover {
  transform:  translateY(-4px) !important;
  box-shadow: var(--livi-shadow-md) !important;
}

/* Зображення */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img {
  aspect-ratio: 4/5 !important;
  object-fit:   cover !important;
  width:        100% !important;
  border-radius: 0 !important;
  transition:   transform var(--livi-ease-slow) !important;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* Назва */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family:  var(--livi-font) !important;
  font-size:    var(--livi-text-sm) !important;
  font-weight:  500 !important;
  color:        var(--livi-text) !important;
  line-height:  1.4 !important;
  padding:      var(--sp-4) var(--sp-4) var(--sp-2) !important;
  margin:       0 !important;
  letter-spacing: 0 !important;
}

/* Ціна */
.woocommerce ul.products li.product .price {
  font-family:  var(--livi-font) !important;
  font-size:    var(--livi-text-base) !important;
  font-weight:  600 !important;
  color:        var(--livi-black) !important;
  padding:      0 var(--sp-4) var(--sp-3) !important;
}
.woocommerce ul.products li.product .price del {
  color:           var(--livi-muted-light) !important;
  opacity:         1 !important;
  font-weight:     400 !important;
  text-decoration: line-through !important;
}
.woocommerce ul.products li.product .price ins {
  color:           var(--livi-accent) !important;
  text-decoration: none !important;
  font-weight:     600 !important;
}

/* Кнопка в картці */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button {
  margin:       0 var(--sp-4) var(--sp-4) !important;
  width:        calc(100% - var(--sp-4) * 2) !important;
  text-align:   center !important;
  display:      block !important;
  opacity:      0 !important;
  transform:    translateY(6px) !important;
  transition:   opacity var(--livi-ease),
                transform var(--livi-ease) !important;
}

/* Catalog card CTA: reveal on hover */
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:hover a.add_to_cart_button {
  opacity:   1 !important;
  transform: translateY(0) !important;
}

/* Mobile: always visible (no hover on touch) */
@media (max-width: 991px) {
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.add_to_cart_button {
    opacity:   1 !important;
    transform: translateY(0) !important;
  }
}

/* Sale badge — circular discount badge */
.woocommerce span.onsale {
  font-family:     var(--livi-font) !important;
  font-size:       var(--livi-text-2xs) !important;
  font-weight:     700 !important;
  letter-spacing:  -0.01em !important;
  text-transform:  none !important;
  background:      var(--livi-accent) !important;
  color:           var(--livi-white) !important;
  border-radius:   50% !important;
  width:           52px !important;
  height:          52px !important;
  padding:         0 !important;
  min-width:       0 !important;
  min-height:      0 !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  top:             var(--sp-3) !important;
  left:            var(--sp-3) !important;
  right:           auto !important;
}

/* Зірки рейтингу */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--livi-accent) !important;
}


/* ── CATEGORY / ARCHIVE PAGE ────────────────────────────── */

.woocommerce .woocommerce-products-header__title,
.woocommerce-page h1.page-title,
.woocommerce-page h1 {
  font-family:    var(--livi-font) !important;
  font-size:      clamp(26px, 4vw, var(--livi-text-3xl)) !important;
  font-weight:    600 !important;
  color:          var(--livi-black) !important;
  letter-spacing: -0.02em !important;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-xs) !important;
  color:       var(--livi-muted) !important;
  letter-spacing: 0.02em !important;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--livi-muted) !important;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--livi-black) !important;
}

/* Сортування */
.woocommerce .woocommerce-ordering select {
  font-family:   var(--livi-font) !important;
  font-size:     var(--livi-text-sm) !important;
  border:        1px solid var(--livi-line) !important;
  border-radius: var(--livi-radius-pill) !important;
  padding:       8px 18px !important;
  color:         var(--livi-text) !important;
  background:    var(--livi-white) !important;
}

/* Результат кількості */
.woocommerce .woocommerce-result-count {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-sm) !important;
  color:       var(--livi-muted) !important;
}

/* Пагінація */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family:   var(--livi-font) !important;
  font-size:     var(--livi-text-sm) !important;
  border:        1px solid var(--livi-line) !important;
  border-radius: var(--livi-radius-pill) !important;
  color:         var(--livi-text) !important;
  padding:       8px 16px !important;
  transition:    all var(--livi-ease) !important;
  display:       inline-flex !important;
  align-items:   center !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background:   var(--livi-black) !important;
  border-color: var(--livi-black) !important;
  color:        var(--livi-white) !important;
}

/* Сайдбар категорій */
.widget_product_categories .product-categories li a,
.widget_product_categories .product-categories li {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-sm) !important;
  color:       var(--livi-text) !important;
}
.widget_product_categories .product-categories .current-cat > a,
.widget_product_categories .product-categories .current-cat-parent > a {
  color:       var(--livi-accent) !important;
  font-weight: 600 !important;
}
/* Чорний фон активного пункту — override Porto */
.widget_product_categories li.current-cat > a,
.woocommerce-page .widget_product_categories li.current-cat > a {
  background:    transparent !important;
  color:         var(--livi-accent) !important;
  border-radius: 0 !important;
}


/* ── SINGLE PRODUCT PAGE ────────────────────────────────── */

.woocommerce div.product .product_title {
  font-family:    var(--livi-font) !important;
  font-size:      clamp(22px, 3vw, var(--livi-text-2xl)) !important;
  font-weight:    600 !important;
  color:          var(--livi-black) !important;
  letter-spacing: -0.015em !important;
  line-height:    1.2 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-xl) !important;
  font-weight: 600 !important;
  color:       var(--livi-black) !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color:   var(--livi-muted-light) !important;
  opacity: 1 !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  color:           var(--livi-accent) !important;
  text-decoration: none !important;
}

/* Опис */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-base) !important;
  color:       var(--livi-muted) !important;
  line-height: 1.7 !important;
}

/* Варіації */
.woocommerce div.product .variations td.value select,
table.variations select {
  font-family:   var(--livi-font) !important;
  font-size:     var(--livi-text-sm) !important;
  border:        1px solid var(--livi-line) !important;
  border-radius: var(--livi-radius-sm) !important;
  padding:       10px 16px !important;
  color:         var(--livi-text) !important;
  width:         100% !important;
  background:    var(--livi-white) !important;
}
.woocommerce div.product .variations label,
table.variations label {
  font-family:    var(--livi-font) !important;
  font-size:      13px !important;
  font-weight:    400 !important;
  color:          #888 !important;
  text-transform: none !important;
  letter-spacing: 0.05em !important;
  line-height:    normal !important;
}

/* Related / Upsells */
/* Hide Porto Single Product Builder demo block (Elementor template between product info and related) */
/* Selector verified against Porto SPB output — adjust if DOM differs */
.single-product .porto-single-product-builder,
.single-product .porto-builder-single-product {
  display: none !important;
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
  font-family:    var(--livi-font) !important;
  font-size:      var(--livi-text-xl) !important;
  font-weight:    600 !important;
  letter-spacing: -0.015em !important;
  margin-bottom:  var(--sp-6) !important;
}

/* Align related product cards consistently */
.single-product .related.products .products .product {
  display:        flex !important;
  flex-direction: column !important;
}
.single-product .related.products .products .product .woocommerce-loop-product__title {
  flex-grow: 1 !important;
}

/* Fix capitalization of Porto sp-linked-heading (Porto sets text-transform: capitalize) */
h2.sp-linked-heading {
  text-transform: none !important;
  font-size:      1.2rem !important;
  text-align:     left !important;
}

/* Remove white gaps above/below related products section */
.single-product .porto-block {
  margin-top:  0 !important;
  padding-top: 0 !important;
}
.single-product div.product {
  padding-bottom: 0 !important;
}

/* White background throughout single product page for premium look */
.single-product #main,
.single-product .main-content,
.single-product .porto-block,
.single-product .related.products,
.single-product div.product {
  background-color: #ffffff !important;
}

body.single-product {
  background-color: #ffffff !important;
}

/* ── VARIATION SWATCHES ─────────────────────────────────────── */

/* Hide native select (kept in DOM for WooCommerce JS) */
/* Belt-and-suspenders: hide unconditionally so Porto can't override the JS-applied class */
.variations .value select {
  display: none !important;
}
.variations_form table.variations select.livi-select-hidden {
  display: none !important;
}


/* Hide label until JS renames it — prevents 'Міжнародний розмір' flicker */
.variations .label label {
  visibility: hidden;
}

/* Swatch group container */
.livi-swatches {
  display:   flex !important;
  flex-wrap: wrap !important;
  gap:       var(--sp-2) !important;
  margin:    var(--sp-2) 0 !important;
}

/* Individual swatch pill */
.livi-swatch {
  display:         inline-flex !important;
  align-items:     center !important;
  justify-content: center !important;
  min-width:       44px !important;
  height:          36px !important;
  padding:         0 var(--sp-3) !important;
  border:          1px solid #d0d0d0 !important;
  border-radius:   var(--livi-radius-sm) !important;
  background:      var(--livi-white) !important;
  color:           var(--livi-text) !important;
  font-family:     var(--livi-font) !important;
  font-size:       13px !important;
  font-weight:     500 !important;
  cursor:          pointer !important;
  transition:      border-color var(--livi-ease),
                   background   var(--livi-ease),
                   color        var(--livi-ease) !important;
  -webkit-appearance: none !important;
}

.livi-swatch:hover:not(.livi-swatch--unavailable):not(.livi-swatch--active) {
  border-color: #888 !important;
}

/* Selected state */
.livi-swatch--active {
  border-color: var(--livi-black) !important;
  background:   var(--livi-black) !important;
  color:        var(--livi-white) !important;
}

/* Out-of-stock / unavailable state */
.livi-swatch--unavailable {
  opacity:         0.35 !important;
  cursor:          not-allowed !important;
  text-decoration: line-through !important;
}

/* Align label and swatches on the same horizontal line */
.variations {
  border-collapse: collapse !important;
}

.variations tr {
  display:     flex !important;
  align-items: center !important;
  gap:         12px !important;
}

.variations th.label,
.variations td.value {
  vertical-align: middle !important;
  padding-top:    0 !important;
  padding-bottom: 0 !important;
}

/* Hide the "Очистити" reset link — swatches handle deselection */
a.reset_variations,
.reset_variations {
  display: none !important;
}



/* ── CART ───────────────────────────────────────────────── */

.woocommerce-cart h1,
.woocommerce-cart .cart-empty {
  font-family:    var(--livi-font) !important;
  font-size:      var(--livi-text-2xl) !important;
  font-weight:    600 !important;
  letter-spacing: -0.015em !important;
}

.woocommerce table.cart td,
.woocommerce table.cart th {
  font-family: var(--livi-font) !important;
  font-size:   var(--livi-text-sm) !important;
  border-color: var(--livi-line) !important;
}

.woocommerce table.cart .product-name a {
  font-size:   var(--livi-text-base) !important;
  font-weight: 500 !important;
  color:       var(--livi-text) !important;
}

.woocommerce .cart-collaterals .cart_totals h2 {
  font-family:    var(--livi-font) !important;
  font-size:      var(--livi-text-lg) !important;
  font-weight:    600 !important;
  letter-spacing: -0.01em !important;
}


/* ── CHECKOUT ───────────────────────────────────────────── */

.woocommerce-checkout h1,
.woocommerce-checkout h3 {
  font-family:    var(--livi-font) !important;
  font-weight:    600 !important;
  letter-spacing: -0.015em !important;
}

.woocommerce form .form-row label {
  font-family:  var(--livi-font) !important;
  font-size:    var(--livi-text-sm) !important;
  font-weight:  500 !important;
  color:        var(--livi-text) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .form-row input {
  font-family:   var(--livi-font) !important;
  font-size:     var(--livi-text-sm) !important;
  border:        1px solid var(--livi-line) !important;
  border-radius: var(--livi-radius-sm) !important;
  padding:       11px 15px !important;
  color:         var(--livi-text) !important;
  transition:    border-color var(--livi-ease) !important;
  background:    var(--livi-white) !important;
  width:         100% !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--livi-accent) !important;
  outline:      none !important;
  box-shadow:   0 0 0 3px var(--livi-accent-pale) !important;
}


/* ── PORTO HEADER + LIVI SVG LOGO ───────────────────────── */

.livi-logo-link {
  display:         block;
  line-height:     0;
  text-decoration: none;
}

.livi-logo {
  display:    block;
  height:     70px;
  width:      auto;
  max-width:  180px;
  transition: opacity var(--livi-ease);
}

/* Default state: dark logo on, light logo off */
.livi-logo--dark  { opacity: 1; }
.livi-logo--light { display: none; }

/* Transparent header (before scroll) — show light logo.
   Porto adds these classes depending on header settings. */
.transparent-header #header:not(.sticky) .livi-logo--dark,
.header-full-width-transparent #header:not(.sticky) .livi-logo--dark,
#header.header-transparent:not(.sticky) .livi-logo--dark {
  display: none;
}

.transparent-header #header:not(.sticky) .livi-logo--light,
.header-full-width-transparent #header:not(.sticky) .livi-logo--light,
#header.header-transparent:not(.sticky) .livi-logo--light {
  display: block;
}

/* Sticky/scrolled header always uses dark logo */
#header.sticky .livi-logo--dark  { display: block; }
#header.sticky .livi-logo--light { display: none; }

/* Mobile: slightly smaller logo */
@media (max-width: 767px) {
  .livi-logo {
    height:    54px;
    max-width: 140px;
  }
}


/* ── LIVI MEGA MENU / DROPDOWN REDESIGN ─────────────────── */

/* Desktop only */
@media (min-width: 992px) {

  /* 1. Hide all images, banners, promo blocks inside dropdowns */
  #main-menu .sub-menu img,
  #main-menu .sub-menu .porto-banner,
  #main-menu .sub-menu .elementor-widget-image,
  #main-menu .sub-menu .elementor-widget-container img,
  #main-menu .sub-menu .wp-block-image,
  #main-menu .sub-menu figure,
  #main-menu .mega-menu img,
  #main-menu .mega-menu .porto-banner,
  #main-menu .mega-menu .elementor-image,
  .main-nav .sub-menu img,
  .main-nav .mega-menu img {
    display: none !important;
  }

  /* Hide promo/banner columns inside mega menu */
  #main-menu .mega-menu .menu-banner,
  #main-menu .mega-menu .menu-promo,
  #main-menu .mega-menu [class*="banner"],
  #main-menu .mega-menu [class*="promo"] {
    display: none !important;
  }

  /* 2. Dropdown wrapper */
  #main-menu .sub-menu,
  #main-menu .mega-menu,
  .main-nav .sub-menu,
  .main-nav ul.sub-menu {
    background:    var(--livi-white) !important;
    border:        1px solid var(--livi-line) !important;
    border-top:    2px solid var(--livi-accent) !important;
    box-shadow:    0 8px 32px rgba(0,0,0,0.07) !important;
    border-radius: 0 !important;
    padding:       24px 0 !important;
    min-width:     220px !important;
  }

  /* 3. Mega menu — wider, multi-column */
  #main-menu .mega-menu {
    padding:    28px 32px !important;
    display:    flex !important;
    flex-wrap:  wrap !important;
    gap:        0 40px !important;
    min-width:  600px !important;
  }

  /* 4. Column headings inside mega menu */
  #main-menu .mega-menu .menu-column > a,
  #main-menu .mega-menu > li > a,
  #main-menu .mega-menu .menu-heading {
    font-family:    var(--livi-font) !important;
    font-size:      11px !important;
    font-weight:    600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color:          var(--livi-black) !important;
    margin-bottom:  12px !important;
    display:        block !important;
    padding:        0 0 8px 0 !important;
    border-bottom:  1px solid var(--livi-line) !important;
    pointer-events: none !important;
  }

  /* 5. Regular dropdown links */
  #main-menu .sub-menu li a,
  #main-menu .mega-menu li a,
  .main-nav .sub-menu li a {
    font-family:    var(--livi-font) !important;
    font-size:      13px !important;
    font-weight:    400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color:          var(--livi-text) !important;
    line-height:    1.6 !important;
    padding:        6px 24px !important;
    display:        block !important;
    transition:     color var(--livi-ease),
                    padding-left var(--livi-ease) !important;
    background:     transparent !important;
  }

  /* 6. Hover state */
  #main-menu .sub-menu li a:hover,
  #main-menu .mega-menu li a:hover,
  .main-nav .sub-menu li a:hover {
    color:        var(--livi-accent) !important;
    padding-left: 30px !important;
    background:   transparent !important;
  }

  /* 7. Active/current link */
  #main-menu .sub-menu li.current-menu-item > a,
  #main-menu .mega-menu li.current-menu-item > a {
    color:       var(--livi-accent) !important;
    font-weight: 500 !important;
  }

  /* 8. Remove any leftover Porto mega menu columns padding issues */
  #main-menu .mega-menu .menu-col,
  #main-menu .mega-menu .mega-menu-col {
    padding:   0 !important;
    min-width: 160px !important;
  }

}

/* Mobile menu — do not touch */
@media (max-width: 991px) {
  /* No changes to mobile menu */
}

/* ── END LIVI MEGA MENU REDESIGN ─────────────────────────── */


/* ── LIVI MEGA MENU REDESIGN ────────────────────────────── */
@media (min-width: 992px) {

  /* Dropdown popup wrapper */
  ul#menu-main-menu li.has-sub div.popup {
    background:    var(--livi-white) !important;
    border:        1px solid var(--livi-line) !important;
    border-top:    2px solid var(--livi-accent) !important;
    box-shadow:    0 8px 32px rgba(0,0,0,0.07) !important;
    border-radius: 0 !important;
  }

  ul#menu-main-menu li.has-sub div.popup div.inner {
    padding: 24px 32px !important;
  }

  /* Hide placeholder "Block" link */
  ul#menu-main-menu .menu-block-item > a.nolink,
  ul#menu-main-menu .menu-block-item > a.desktop-link-hide {
    display: none !important;
  }

  /* Hide promo/banner elements inside mega menu */
  ul#menu-main-menu .menu-block-after .porto-banner,
  ul#menu-main-menu .menu-block-after .elementor-widget-porto_ultimate_heading,
  ul#menu-main-menu .menu-block-after .elementor-widget-porto_button,
  ul#menu-main-menu .menu-block-after .elementor-widget-image,
  ul#menu-main-menu .menu-block-after .elementor-widget-image-box,
  ul#menu-main-menu .menu-block-after figure,
  ul#menu-main-menu .menu-block-after img {
    display: none !important;
  }

  /* Hide promo image column on the right */
  ul#menu-main-menu .menu-block-after .e-con:last-child:has(img),
  ul#menu-main-menu .menu-block-after [data-element_type="container"]:last-child:has(.elementor-widget-image) {
    display: none !important;
  }

  /* Hide "ЗАГОЛОВОК" placeholder headings */
  ul#menu-main-menu .menu-block-after .elementor-heading-title {
    display: none !important;
  }

  /* Hide banner background-image containers inside mega menu */
  ul#menu-main-menu .menu-block-after [data-id="74d7834"],
  ul#menu-main-menu .menu-block-after [data-id="f7a0280"],
  ul#menu-main-menu .menu-block-after [data-id="c01c2fd"],
  ul#menu-main-menu .menu-block-after [data-id="0b4d535"],
  ul#menu-main-menu .menu-block-after [data-id="081f2c4"],
  ul#menu-main-menu .menu-block-after [data-id="5db367ec"] {
    display: none !important;
  }

  /* Constrain mega menu width */
  ul#menu-main-menu li.has-sub div.popup {
    width:     auto !important;
    max-width: 600px !important;
    min-width: 300px !important;
  }

  ul#menu-main-menu li.has-sub div.popup div.inner ul.sub-menu {
    width: auto !important;
  }

  /* Flex layout for columns */
  ul#menu-main-menu .menu-block-after .e-con-full.e-flex {
    display:   flex !important;
    flex-wrap: wrap !important;
    gap:       0 32px !important;
    width:     auto !important;
  }

  /* Remove empty space from hidden containers */
  ul#menu-main-menu .menu-block-after .e-con:empty,
  ul#menu-main-menu .menu-block-after .e-con-full:empty {
    display: none !important;
  }

  /* Popup height fits content */
  ul#menu-main-menu li.has-sub div.popup {
    height:     auto !important;
    min-height: 0 !important;
  }

  ul#menu-main-menu li.has-sub div.popup div.inner {
    height:     auto !important;
    min-height: 0 !important;
  }

  /* Sub menu width fits content */
  ul#menu-main-menu li.has-sub div.popup div.inner ul.sub-menu {
    height:     auto !important;
    min-height: 0 !important;
    width:      auto !important;
  }

  /* Hide empty elementor containers */
  ul#menu-main-menu .menu-block-after .elementor-element:not(:has(*:not([style*="display: none"]))):not(:has(.elementor-icon-list-items)):not(:has(.elementor-heading-title)) {
    display: none !important;
  }

  /* Elementor heading inside mega menu — treat as column title */
  ul#menu-main-menu .menu-block-after .elementor-widget-heading .elementor-heading-title {
    font-family:    var(--livi-font) !important;
    font-size:      11px !important;
    font-weight:    600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color:          var(--livi-black) !important;
    margin-bottom:  10px !important;
    padding-bottom: 8px !important;
    border-bottom:  1px solid var(--livi-line) !important;
  }

  /* All links inside Elementor mega menu blocks */
  ul#menu-main-menu .menu-block-after a,
  ul#menu-main-menu .menu-block-after .elementor-widget-nav-menu a,
  ul#menu-main-menu .menu-block-after .elementor-nav-menu a {
    font-family:    var(--livi-font) !important;
    font-size:      13px !important;
    font-weight:    400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color:          var(--livi-text) !important;
    line-height:    1.7 !important;
    padding:        4px 0 !important;
    display:        block !important;
    transition:     color var(--livi-ease),
                    padding-left var(--livi-ease) !important;
    background:     transparent !important;
    border:         none !important;
  }

  ul#menu-main-menu .menu-block-after a:hover,
  ul#menu-main-menu .menu-block-after .elementor-nav-menu a:hover {
    color:        var(--livi-accent) !important;
    padding-left: 6px !important;
    background:   transparent !important;
  }

  /* Regular sub-menu links (non-Elementor dropdowns) */
  ul#menu-main-menu .sub-menu li:not(.menu-block-item) > a {
    font-family:    var(--livi-font) !important;
    font-size:      13px !important;
    font-weight:    400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color:          var(--livi-text) !important;
    line-height:    1.7 !important;
    padding:        6px 16px !important;
    display:        block !important;
    transition:     color var(--livi-ease),
                    padding-left var(--livi-ease) !important;
  }

  ul#menu-main-menu .sub-menu li:not(.menu-block-item) > a:hover {
    color:        var(--livi-accent) !important;
    padding-left: 22px !important;
    background:   transparent !important;
  }

}
/* ── END MEGA MENU REDESIGN ─────────────────────────────── */

/* ── MINI CART MOBILE FIX ───────────────────────────────── */
@media (max-width: 991px) {

  /* Fix cart icon not clipped */
  .porto-mini-cart,
  .header-icon.cart-icon,
  [class*="mini-cart"] {
    overflow: visible !important;
    clip: unset !important;
  }

  /* Fix mini cart dropdown top position — offset for admin bar */
  .logged-in .cart-dropdown,
  .logged-in .minicart-offcanvas,
  .logged-in .mini-cart-container {
    top: 46px !important;
  }

  /* Fix mini cart dropdown top position — no admin bar */
  .cart-dropdown,
  .minicart-offcanvas,
  .mini-cart-container {
    top: 0 !important;
  }

}
/* ── END MINI CART MOBILE FIX ───────────────────────────── */

/* ── CART ICON MOBILE FIX ───────────────────────────────── */
@media (max-width: 991px) {

  /* Ensure cart icon is fully visible */
  #header .elementor-widget-porto_hb_mini_cart,
  .elementor-widget-porto_hb_mini_cart {
    overflow: visible !important;
    margin-right: 0 !important;
    padding-right: 8px !important;
  }

  /* Fix mini cart header overlap with admin bar */
  .logged-in .cart-popup,
  .logged-in .cart-dropdown-inner,
  .logged-in .minicart-body {
    margin-top: 32px !important;
  }

}
/* ── END CART ICON MOBILE FIX ───────────────────────────── */

/* ── CART FIXES ─────────────────────────────────────────── */

/* Fix checkout button - white text on black */
#header a.button.checkout.wc-forward,
.cart-dropdown a.button.checkout.wc-forward,
.widget_shopping_cart a.button.checkout.wc-forward,
a.button.checkout.wc-forward,
.woocommerce-mini-cart__buttons a.checkout {
  color: #ffffff !important;
  background: #111111 !important;
  background-color: #111111 !important;
  border-color: #111111 !important;
  -webkit-text-fill-color: #ffffff !important;
}

#header a.button.checkout.wc-forward:hover,
.cart-dropdown a.button.checkout.wc-forward:hover,
a.button.checkout.wc-forward:hover {
  color: #ffffff !important;
  background: #FF99DD !important;
  background-color: #FF99DD !important;
  border-color: #FF99DD !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Remove empty space in mini cart body */
.widget_shopping_cart_content {
  display: flex !important;
  flex-direction: column !important;
}

.woocommerce-mini-cart {
  flex: 1 !important;
  overflow-y: auto !important;
  max-height: 300px !important;
}

@media (max-width: 991px) {
  .elementor-widget-porto_hb_mini_cart {
    align-self: center !important;
    vertical-align: middle !important;
    display: flex !important;
    align-items: center !important;
  }

  .porto-mini-cart > a {
    display: flex !important;
    align-items: center !important;
  }
}

/* Fix cart header text color */
.total-count.text-v-dark {
  color: var(--livi-black) !important;
}

.total-count.text-v-dark * {
  color: var(--livi-black) !important;
}

/* ── END CART FIXES ──────────────────────────────────────── */

/* Hide Porto filter-item-list on single product page - swatches handle this */
.variations td.value ul.filter-item-list {
    display: none !important;
}

/* ── YITH FREQUENTLY BOUGHT TOGETHER ───────────────────────── */

.yith-wcfbt-product-name-label {
  display: none !important;
}

.yith-wfbt-item label .yith-wfbt-this-product-label {
  display: none !important;
}
