/*
Theme Name: Gifymo Child
Theme URI: http://demo2.themelexus.com/gifymo/
Template: gifymo
Author: Themelexus
Author URI: https://www.themelexus.com/
Description: Gifymo Child Theme for product card redesign
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: gifymo-child
*/

/* ==========================================================================
   Disable page transition / preloader overlay & search modal flash
   ========================================================================== */
#wptime-plugin-preloader,
#wptime-plugin-preloader * {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Prevent full-screen search modal from flashing on initial page load / page transitions */
.elementor-search-form--skin-full_screen .elementor-search-form__container:not(.elementor-search-form--full-screen) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: none !important;
  transition: none !important;
}

.elementor-search-form--skin-full_screen .elementor-search-form__container.elementor-search-form--full-screen {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
}



.custom-product-card-li {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 30px !important;
}

.custom-product-card {
  background: #ffffff !important;
  border: 1px solid #eef2f5 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  position: relative !important;
}

.custom-product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
  border-color: #dbe3eb !important;
}

.custom-product-image-wrapper {
  position: relative !important;
  background-color: #f8f9fa !important;
  border-radius: 6px !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  width: 100% !important;
}

.custom-product-image-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.custom-product-image-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: transform 0.5s ease !important;
}

.custom-product-card:hover .custom-product-image-link img {
  transform: scale(1.06) !important;
}

/* Wishlist Button styling */
.custom-wishlist-button-container {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 10 !important;
}

/* Target WPC Smart Wishlist button */
.custom-wishlist-button-container .woosw-btn,
.custom-wishlist-button-container .dummy-wishlist-btn {
  background: #ffffff !important;
  border: 1px solid #eef2f5 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #888888 !important;
  font-size: 0 !important;
  /* Hide text */
  line-height: 0 !important;
  /* Hide text */
}

/* WPC Smart Wishlist button customization */
.custom-wishlist-button-container .woosw-btn::before {
  font-family: "opal-icon" !important;
  content: "\e064" !important;
  /* heart outline icon */
  font-size: 16px !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: inline-block !important;
}

.custom-wishlist-button-container .woosw-btn.woosw-added::before {
  content: "\e063" !important;
  /* filled heart icon */
  color: #ff4757 !important;
}

.custom-wishlist-button-container .woosw-btn:hover,
.custom-wishlist-button-container .dummy-wishlist-btn:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08) !important;
  color: #ff4757 !important;
}

.custom-product-details {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  text-align: left !important;
}

.custom-product-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1c2b38 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
  min-height: 42px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.custom-product-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.custom-product-title a:hover {
  color: #00a0e9 !important;
}

/* Rating Stars styling */
.custom-product-rating {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
  font-size: 13px !important;
}

.custom-stars {
  display: flex !important;
  gap: 2px !important;
}

.custom-stars .star {
  font-size: 15px !important;
  line-height: 1 !important;
}

.custom-stars .star.filled {
  color: #ffb800 !important;
  /* Premium gold yellow */
}

.custom-stars .star.empty {
  color: #e0e0e0 !important;
  /* Light grey */
}

.custom-review-count {
  color: #8a96a3 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

/* Price styling */
.custom-product-price {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1c2b38 !important;
  margin-bottom: 10px !important;
}

.custom-product-price del {
  font-size: 13px !important;
  color: #a0aec0 !important;
  text-decoration: line-through !important;
  margin-left: 6px !important;
  font-weight: 400 !important;
}

.custom-product-price ins {
  background: transparent !important;
  text-decoration: none !important;
  color: #ff4757 !important;
  /* Sale price in red/pink for premium contrast */
}

/* Stock status styling */
.custom-product-stock {
  font-size: 12px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
}

.stock-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-weight: 600 !important;
}

.stock-status.instock {
  color: #2ec4b6 !important;
  /* Elegant green */
}

.stock-status.outofstock {
  color: #e71d36 !important;
  /* Red */
}

.stock-status .check-icon {
  font-size: 10px !important;
  background: rgba(46, 196, 182, 0.1) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Add to Cart button styling */
.custom-product-add-to-cart {
  margin-top: auto !important;
}

.custom-product-add-to-cart .button {
  background-color: #00a0e9 !important;
  /* Premium bright blue matching screenshot */
  border: none !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  width: 100% !important;
  padding: 12px 16px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 6px rgba(0, 160, 233, 0.15) !important;
  line-height: 1 !important;
}

.custom-product-add-to-cart .button:hover {
  background-color: #008cd1 !important;
  box-shadow: 0 6px 12px rgba(0, 160, 233, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   GRID & LIST VIEW TOGGLE AND LAYOUT STYLES
   ========================================================================== */

/* Grid / List Switcher Button Styles */
.osf-sorting .gridlist-toggle,
.gridlist-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 15px !important;
}

.osf-sorting .gridlist-toggle a,
.gridlist-toggle a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #718096 !important;
  font-size: 16px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03) !important;
}

.osf-sorting .gridlist-toggle a:hover,
.osf-sorting .gridlist-toggle a.active,
.gridlist-toggle a:hover,
.gridlist-toggle a.active {
  background: #00a0e9 !important;
  border-color: #00a0e9 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(0, 160, 233, 0.25) !important;
}

/* Excerpt default (hidden in grid) */
.custom-product-excerpt {
  display: none;
}

/* List View Layout Overrides */
body.shop-view-list ul.products,
ul.products.custom-view-list {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  gap: 20px !important;
}

body.shop-view-list ul.products>li.product,
body.shop-view-list ul.products li.custom-product-card-li,
ul.products.custom-view-list>li.product,
ul.products.custom-view-list li.custom-product-card-li {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-bottom: 0 !important;
  float: none !important;
  clear: none !important;
}

body.shop-view-list .custom-product-card,
ul.products.custom-view-list .custom-product-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 20px !important;
  width: 100% !important;
}

body.shop-view-list .custom-product-image-wrapper,
ul.products.custom-view-list .custom-product-image-wrapper {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: 220px !important;
  aspect-ratio: 1 / 1 !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}

body.shop-view-list .custom-product-details,
ul.products.custom-view-list .custom-product-details {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  flex-grow: 1 !important;
  text-align: left !important;
}

body.shop-view-list .custom-product-title,
ul.products.custom-view-list .custom-product-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  min-height: auto !important;
  margin-bottom: 8px !important;
  -webkit-line-clamp: unset !important;
}

body.shop-view-list .custom-product-excerpt,
ul.products.custom-view-list .custom-product-excerpt {
  display: block !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 12px !important;
}

body.shop-view-list .custom-product-price,
ul.products.custom-view-list .custom-product-price {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #2ec4b6 !important;
  margin-bottom: 10px !important;
}

body.shop-view-list .custom-product-stock,
ul.products.custom-view-list .custom-product-stock {
  margin-bottom: 14px !important;
}

body.shop-view-list .custom-product-add-to-cart,
ul.products.custom-view-list .custom-product-add-to-cart {
  margin-top: 4px !important;
  width: auto !important;
}

body.shop-view-list .custom-product-add-to-cart .button,
ul.products.custom-view-list .custom-product-add-to-cart .button {
  padding: 11px 28px !important;
  font-size: 14px !important;
  width: auto !important;
}

/* Responsive for list view on mobile */
@media (max-width: 600px) {

  body.shop-view-list .custom-product-card,
  ul.products.custom-view-list .custom-product-card {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.shop-view-list .custom-product-image-wrapper,
  ul.products.custom-view-list .custom-product-image-wrapper {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.shop-view-list .custom-product-add-to-cart .button,
  ul.products.custom-view-list .custom-product-add-to-cart .button {
    width: 100% !important;
  }
}

/* Add cart icon to Add to Cart button */
.custom-product-add-to-cart .button::before {
  font-family: "opal-icon" !important;
  content: "\e03d" !important;
  /* Add to cart icon */
  font-size: 16px !important;
  line-height: 1 !important;
}

/* Loading/Added states for AJAX add to cart */
.custom-product-add-to-cart .button.loading::after {
  content: "" !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #ffffff !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: button-spin 0.6s linear infinite !important;
  margin-left: 6px !important;
}

@keyframes button-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Custom Single Product Page Layout */
body.single-product div.type-product.custom-single-product-wrapper {
  margin: 30px auto !important;
  max-width: 1200px !important;
  font-family: "Jost", sans-serif !important;
  display: flex !important;
  flex-direction: column !important;
  /* Stack top, middle, and bottom vertically */
}

/* Hide duplicate wishlist buttons and other default actions */
.custom-single-product-wrapper .summary>.woosw-btn,
.custom-single-product-wrapper .summary>.yith-wcwl-add-to-wishlist,
.custom-single-product-wrapper form.cart+.woosw-btn,
.custom-single-product-wrapper .woosw-btn:not(.custom-title-wishlist-container .woosw-btn) {
  display: none !important;
}

/* Make product gallery image span full width of left column */
.custom-product-images-col .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.custom-product-images-col .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

.custom-product-images-col .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  border: 1px solid #eef2f5 !important;
}

.custom-single-product-top {
  display: flex !important;
  flex-direction: row !important;
  gap: 50px !important;
  margin-bottom: 40px !important;
  float: none !important;
  clear: both !important;
}

@media (max-width: 768px) {
  .custom-single-product-top {
    flex-direction: column !important;
    gap: 30px !important;
  }
}

body.single-product div.type-product.custom-single-product-wrapper .custom-product-images-col {
  flex: 1.1 !important;
  width: auto !important;
  float: none !important;
  position: relative !important;
}

.custom-badge-bestseller {
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  background-color: #6c5ce7 !important;
  /* purple */
  color: #ffffff !important;
  padding: 6px 16px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  z-index: 10 !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 4px 10px rgba(108, 92, 231, 0.2) !important;
}

body.single-product div.type-product.custom-single-product-wrapper .custom-product-summary-col {
  flex: 1 !important;
  width: auto !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.custom-summary-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 15px !important;
  margin-bottom: 12px !important;
}

.custom-product-main-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1c2b38 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.custom-title-wishlist-container .woosw-btn {
  background: #ffffff !important;
  border: 1.5px solid #eaeaea !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 12px !important;
  /* Rounded square corners matching screenshot */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  color: #ff4757 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.custom-title-wishlist-container .woosw-btn::before {
  font-family: "opal-icon" !important;
  content: "\e064" !important;
  /* heart outline */
  font-size: 24px !important;
}

.custom-title-wishlist-container .woosw-btn.woosw-added::before {
  content: "\e063" !important;
  /* heart filled */
  color: #ff4757 !important;
}

.custom-summary-sku {
  font-size: 13px !important;
  color: #718096 !important;
  margin-top: -4px !important;
  margin-bottom: 12px !important;
  font-weight: 500 !important;
}

.custom-summary-sku .sku_wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.custom-summary-sku .sku {
  font-weight: 600 !important;
  color: #2d3748 !important;
}

.custom-summary-rating {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.custom-rating-stars-outer {
  position: relative !important;
  display: inline-block !important;
  font-size: 17px !important;
  line-height: 1 !important;
  letter-spacing: 2px !important;
  user-select: none !important;
}

.custom-rating-stars-base {
  color: #e2e8f0 !important;
}

.custom-rating-stars-inner {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  color: #ffb800 !important;
  height: 100% !important;
}

.custom-rating-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #ff4757 !important;
  font-weight: 600 !important;
}

.custom-rating-text .rating-number {
  color: #ff4757 !important;
  font-weight: 700 !important;
}

.custom-rating-text a.reviews-link {
  color: #00a0e9 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

.custom-rating-text a.reviews-link:hover {
  color: #0081bb !important;
  text-decoration: underline !important;
}

.custom-summary-price {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #2ec4b6 !important;
  /* Large bright green price */
  margin-bottom: 16px !important;
}

.custom-stock-shipping-banner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
}

.stock-indicator.instock {
  color: #00c484 !important;
  /* Bright green check style */
}

.banner-separator {
  color: #ccd6e0 !important;
  font-weight: 300 !important;
}

.shipping-indicator {
  color: #4a5568 !important;
  /* Slate grey */
  display: inline-flex !important;
  align-items: center !important;
}

.summary-divider {
  border: 0 !important;
  border-top: 1px solid #eef2f5 !important;
  margin: 20px 0 !important;
  width: 100% !important;
}

/* Quantity and Single Add To Cart */
.custom-summary-add-to-cart form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
}

.custom-summary-add-to-cart form.cart .quantity_label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4a5568 !important;
  margin: 0 8px 0 0 !important;
}

.custom-summary-add-to-cart .quantity {
  margin: 0 !important;
  display: inline-flex !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  height: 48px !important;
  width: 120px !important;
  overflow: hidden !important;
  align-items: center !important;
  background: #ffffff !important;
  justify-content: space-between !important;
}

.custom-summary-add-to-cart .quantity .quantity-action {
  width: 36px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1c2b38 !important;
  cursor: pointer !important;
  user-select: none !important;
  padding: 0 !important;
}

.custom-summary-add-to-cart .quantity input.qty {
  flex: 1 !important;
  width: 48px !important;
  height: 100% !important;
  border: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Add to Cart button inside product page form */
.custom-summary-add-to-cart form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, #7f5af0 0%, #6246ea 100%) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 0 24px !important;
  height: 48px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(98, 70, 234, 0.15) !important;
  border: none !important;
  flex-grow: 1 !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin-top: 10px !important;
}

.custom-summary-add-to-cart form.cart .single_add_to_cart_button:hover {
  opacity: 0.95 !important;
  box-shadow: 0 6px 16px rgba(98, 70, 234, 0.25) !important;
}

/* Replace WooCommerce cart background-image icon dynamically */
.custom-summary-add-to-cart form.cart .single_add_to_cart_button::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZmZmZiI+PHBhdGggZD0iTTcgMThjLTEuMSAwLTEuOTkuOS0xLjk5IDJTNS45IDIyIDcgMjJzMi0uOSAyLTItLjktMi0yLTJ6TTEgMnYyaDJsMy42IDcuNTktMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDEydi0ySDcuNDJjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg1LjIxbC0uOTQtMkgxem0xNiAxNmMtMS4xIDAtMS45OS45LTEuOTkgMnMuODkgMiAxLjk5IDIgMi0uOSAyLTItLjktMi0yLTJ6Ii8+PC9zdmc+') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  margin-right: 8px !important;
  float: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.custom-summary-add-to-cart form.cart .single_add_to_cart_button::after {
  display: none !important;
  content: none !important;
}

/* Buy It Now Button */
.custom-buy-it-now-container {
  width: 100% !important;
  margin-bottom: 20px !important;
}

.custom-buy-now-btn {
  background: #ffb300 !important;
  /* Premium gold/yellow */
  color: #ffffff !important;
  border-radius: 8px !important;
  width: 100% !important;
  height: 48px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(255, 179, 0, 0.15) !important;
  border: none !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
}

.custom-buy-now-btn:hover {
  background-color: #ffa000 !important;
  box-shadow: 0 6px 16px rgba(255, 179, 0, 0.25) !important;
  color: #ffffff !important;
}

.custom-buy-now-btn::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZmZmZiI+PHBhdGggZD0iTTcgMnYxMWgzdjlsNy0xMmgtNGw0LTh6Ii8+PC9zdmc+') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  margin-right: 6px !important;
}

/* Payment logos box */
.custom-payment-logos-box {
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  align-items: center !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  margin-bottom: 20px !important;
  background: transparent !important;
  flex-wrap: wrap !important;
}

.payment-svg-logo {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  border-radius: 4px !important;
  transition: transform 0.2s ease !important;
}

.payment-svg-logo:hover {
  transform: translateY(-2px) !important;
}

/* Trust badges list box (Horizontal Single Row) */
.custom-trust-badges-box {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  background: #f8fafc !important;
  gap: 8px !important;
}

.trust-badge-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 0% !important;
}

.trust-badge-item .badge-icon {
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.badge-texts {
  display: flex !important;
  flex-direction: column !important;
}

.badge-texts strong {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
}

.badge-texts span {
  font-size: 9px !important;
  color: #64748b !important;
  line-height: 1.2 !important;
}

/* Custom Single Product Middle Section */
.custom-single-product-middle {
  border: 1px solid #eef2f5 !important;
  border-radius: 8px !important;
  padding: 30px !important;
  background: #ffffff !important;
  margin-bottom: 40px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
}

/* Custom Features row banner styling */
.custom-features-banner {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 15px !important;
  margin-bottom: 40px !important;
  border-bottom: 1px solid #eef2f5 !important;
  padding-bottom: 30px !important;
}

@media (max-width: 1024px) {
  .custom-features-banner {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  .custom-features-banner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.feature-badge-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.feature-badge-circle {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04) !important;
}

.feature-badge-circle.pink {
  background-color: #fff0f5 !important;
  border: 1px solid #ffd1dc !important;
}

.feature-badge-circle.purple {
  background-color: #f3efff !important;
  border: 1px solid #dcd1ff !important;
}

.feature-badge-circle.green {
  background-color: #f1fcf6 !important;
  border: 1px solid #cbf3db !important;
}

.feature-badge-circle.blue {
  background-color: #edf7ff !important;
  border: 1px solid #cfe7ff !important;
}

.feature-badge-circle.orange {
  background-color: #fffbf0 !important;
  border: 1px solid #ffe8cc !important;
}

.feature-badge-circle.red {
  background-color: #fff5f5 !important;
  border: 1px solid #ffd8d8 !important;
}

.feature-badge-item strong {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1c2b38 !important;
  margin-bottom: 4px !important;
}

.feature-badge-item span {
  font-size: 11px !important;
  color: #788090 !important;
  line-height: 1.3 !important;
}

/* Split Columns Layout */
.custom-middle-split-row {
  display: flex !important;
  gap: 50px !important;
}

@media (max-width: 768px) {
  .custom-middle-split-row {
    flex-direction: column !important;
    gap: 30px !important;
  }
}

.custom-split-tabs-col {
  flex: 1.2 !important;
}

/* Custom WooCommerce Tabs style */
.custom-split-tabs-col .woocommerce-tabs ul.tabs {

  display: flex !important;
  gap: 20px !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  background: transparent !important;
}

.custom-split-tabs-col .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  padding: 0 0 10px 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.custom-split-tabs-col .woocommerce-tabs ul.tabs li a {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #788090 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.custom-split-tabs-col .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid #6c5ce7 !important;
}

.custom-split-tabs-col .woocommerce-tabs ul.tabs li.active a {
  color: #000 !important;
}

.custom-split-tabs-col .woocommerce-Tabs-panel {
  text-align: left !important;
  color: #000 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.custom-split-tabs-col .woocommerce-Tabs-panel ul {
  padding-left: 20px !important;
  margin-top: 15px !important;
}

.custom-split-tabs-col .woocommerce-Tabs-panel ul li {
  list-style: disc inside !important;
  margin-bottom: 8px !important;
  color: #1c2b38 !important;
  font-weight: 500 !important;
}

.custom-split-specs-col {
  flex: 0.8 !important;
  text-align: left !important;
}

.specs-table-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1c2b38 !important;
  margin: 0 0 20px 0 !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid #eef2f5 !important;
  padding-bottom: 10px !important;
}

.custom-specs-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.custom-specs-table th,
.custom-specs-table td {
  padding: 12px 16px !important;
  font-size: 13px !important;
  border-bottom: 1px solid #eef2f5 !important;
}

.custom-specs-table th {
  font-weight: 700 !important;
  color: #1c2b38 !important;
  width: 40% !important;
  background-color: #fafbfc !important;
}

.custom-specs-table td {
  color: #788090 !important;
  font-weight: 500 !important;
}

/* Verification helper adjustments */
.woocommerce-product-gallery__trigger {
  display: none !important;
  /* Hide search zoom trigger if it blocks custom layout */
}




.the-contact-us-page,
.the-contact-us-page *,
.the-contact-us-page p,
.the-contact-us-page div,
.the-contact-us-page span,
.the-contact-us-page label,
.the-contact-us-page input,
.the-contact-us-page select,
.the-contact-us-page textarea {
  font-family: 'Jost', sans-serif !important;
}

.the-contact-us-page {}

/* Breadcrumb */
.the-contact-us-page .breadcrumb {
  text-align: center !important;
  font-size: 14px !important;
  color: #8A8A8A !important;
  margin-bottom: 18px !important;
}

.the-contact-us-page .breadcrumb .sep {
  margin: 0 6px !important;
  color: #C9C9C9 !important;
}

.the-contact-us-page .breadcrumb .current {
  color: #EC1E63 !important;
  font-weight: 500 !important;
}

/* Hero */
.the-contact-us-page h1.elementor-heading-title,
.the-contact-us-page .elementor-widget-heading h1 {

  text-align: center !important;
  font-weight: 700 !important;
  font-size: 62px !important;
  color: #1A1A1A !important;
  margin-bottom: 10px !important;
  border: none !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.the-contact-us-page .dotted-divider {
  width: 260px !important;
  height: 0 !important;
  margin: 0 auto 24px !important;
  border-top: 3px dotted #EC1E63 !important;
}

.the-contact-us-page .hero-sub {
  text-align: center !important;
  font-size: 15.5px !important;
  color: #6B6B6B !important;
  line-height: 1.7 !important;
  max-width: 680px !important;
  margin: 0 auto 44px !important;
}

/* Two-column cards */
.the-contact-us-page .grid-2 {
  display: grid !important;
  grid-template-columns: 1.15fr 1fr !important;
  gap: 24px !important;
  margin-bottom: 32px !important;
}

@media (max-width: 991px) {
  .the-contact-us-page .grid-2 {
    grid-template-columns: 1fr !important;
  }
}

.the-contact-us-page .card {
  background: #FFFFFF !important;
  border: 1px solid #F0F0F0 !important;
  border-radius: 14px !important;
  padding: 32px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.the-contact-us-page .card-header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}

.the-contact-us-page .card-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #FDE6EE !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #EC1E63 !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
}

.the-contact-us-page .card-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 4px !important;
}

.the-contact-us-page .card-desc {
  font-size: 13.5px !important;
  color: #8A8A8A !important;
}

/* Form */
.the-contact-us-page .cf7-contact-form .form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}

@media (max-width: 576px) {
  .the-contact-us-page .cf7-contact-form .form-row {
    grid-template-columns: 1fr !important;
  }
}

.the-contact-us-page .cf7-contact-form .field {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
  background: #FFFFFF !important;
  height: 52px !important;
  box-sizing: border-box !important;
}

.the-contact-us-page .cf7-contact-form .field input,
.the-contact-us-page .cf7-contact-form .field select {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  flex: 1 !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
}

.the-contact-us-page .cf7-contact-form .field input::placeholder {
  color: #A6A6A6 !important;
}

.the-contact-us-page .cf7-contact-form .fic {
  color: #A6A6A6 !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.the-contact-us-page .cf7-contact-form .req {
  color: #EC1E63 !important;
}

.the-contact-us-page .cf7-contact-form .full-row {
  margin-bottom: 16px !important;
}

.the-contact-us-page .cf7-contact-form .select-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  padding: 0 16px !important;
  background: #FFFFFF !important;
  height: 52px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.the-contact-us-page .cf7-contact-form .select-wrapper select {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  flex: 1 !important;
  font-size: 14px !important;
  color: #A6A6A6 !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
}

.the-contact-us-page .cf7-contact-form .select-wrapper::after {
  content: "⌄" !important;
  font-size: 16px !important;
  color: #8A8A8A !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 16px !important;
}

.the-contact-us-page .cf7-contact-form .textarea-field {
  display: flex !important;
  gap: 10px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  background: #FFFFFF !important;
  min-height: 120px !important;
  box-sizing: border-box !important;
}

.the-contact-us-page .cf7-contact-form .textarea-field textarea {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  flex: 1 !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  resize: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 90px !important;
}

.the-contact-us-page .cf7-contact-form .textarea-field textarea::placeholder {
  color: #A6A6A6 !important;
}

.the-contact-us-page .cf7-contact-form .textarea-field .fic {
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.the-contact-us-page .cf7-contact-form input[type="submit"].wpcf7-submit,
.the-contact-us-page .cf7-contact-form .send-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(90deg, #EC1E63 0%, #F5487F 100%) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  margin-top: 4px !important;
  margin-bottom: 16px !important;
  transition: opacity 0.2s !important;
  text-transform: none !important;
  box-shadow: 0 4px 12px rgba(236, 30, 99, 0.2) !important;
}

.the-contact-us-page .cf7-contact-form input[type="submit"].wpcf7-submit:hover,
.the-contact-us-page .cf7-contact-form .send-btn:hover {
  opacity: 0.9 !important;
}

.the-contact-us-page .cf7-contact-form .safe-note {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12.5px !important;
  color: #9A9A9A !important;
}

.the-contact-us-page .cf7-contact-form span.wpcf7-form-control-wrap {
  display: block !important;
  flex: 1 !important;
}

/* Contact info list */
.the-contact-us-page .info-item {
  display: flex !important;
  gap: 18px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #F1F1F1 !important;
  align-items: flex-start !important;
}

.the-contact-us-page .info-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.the-contact-us-page .info-item:first-of-type {
  padding-top: 0 !important;
}

.the-contact-us-page .info-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: #F5F1F5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #EC1E63 !important;
  font-size: 17px !important;
  flex-shrink: 0 !important;
}

.the-contact-us-page .info-icon.pink {
  background: #FDE6EE !important;
}

.the-contact-us-page .info-label {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 6px !important;
}

.the-contact-us-page .info-text {
  font-size: 14px !important;
  color: #6B6B6B !important;
  line-height: 1.6 !important;
}

.the-contact-us-page .info-text b {
  color: #1A1A1A !important;
  font-weight: 600 !important;
}

/* Feature bar */
.the-contact-us-page .feature-bar {
  background: #FDF3F6 !important;
  border-radius: 16px !important;
  padding: 40px 48px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  margin-top: 16px !important;
}

@media (max-width: 1024px) {
  .the-contact-us-page .feature-bar {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 576px) {
  .the-contact-us-page .feature-bar {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }
}

.the-contact-us-page .feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.the-contact-us-page .feature-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #EC1E63 !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
}

.the-contact-us-page .feature-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 4px !important;
}

.the-contact-us-page .feature-desc {
  font-size: 13px !important;
  color: #7A7A7A !important;
  line-height: 1.5 !important;
}

.single-post .post-thumbnail {
  text-align: center;
  margin-bottom: 20px;
}

.single-post .post-thumbnail img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

/* ==========================================
   WISHLIST REDESIGN - LOVABLE STYLE
   ========================================== */

/* Hide default page title bar and entry title on wishlist pages */
.page-id-17 #page-title-bar,
.page-id-3378 #page-title-bar,
.page-id-17 .page-header,
.page-id-3378 .page-header,
.page-id-17 .entry-title,
.page-id-3378 .entry-title,
.page-id-17 .entry-header,
.page-id-3378 .entry-header {
  display: none !important;
}

/* Custom Wishlist Page container spacing */
.custom-wishlist-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 15px !important;
  font-family: 'Jost', sans-serif !important;
}

/* Header section */
.custom-wishlist-header {
  text-align: center !important;
  margin-bottom: 40px !important;
}

/* Saved for Later badge */
.custom-wishlist-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #e0f2fe !important;
  /* Light blue bg */
  color: #0284c7 !important;
  /* Bright blue text */
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  border: 1px solid #bae6fd !important;
  margin-bottom: 12px !important;
}

.custom-wishlist-badge i {
  font-size: 10px !important;
}

/* Heading title */
.custom-wishlist-title {
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.02em !important;
}

/* Breadcrumbs */
.custom-wishlist-breadcrumbs {
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

.custom-wishlist-breadcrumbs a {
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.custom-wishlist-breadcrumbs a:hover {
  color: #0284c7 !important;
}

.custom-wishlist-breadcrumbs .sep {
  margin: 0 6px !important;
  color: #94a3b8 !important;
}

.custom-wishlist-breadcrumbs .current {
  color: #0f172a !important;
}

/* Saved products count text */
.custom-wishlist-count-wrapper {
  text-align: left !important;
  font-size: 14px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin-bottom: 16px !important;
}

.custom-wishlist-count-num {
  font-weight: 700 !important;
  color: #0f172a !important;
}

/* Table wrapper & table styling */
.custom-wishlist-table-wrapper {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
  margin-bottom: 24px !important;
}

/* Make table structure grid-based for pixel-perfect alignment */
.custom-wishlist-table-wrapper table.woosw-items {
  width: 100% !important;
  border-collapse: collapse !important;
  display: block !important;
}

.custom-wishlist-table-wrapper table.woosw-items thead {
  display: block !important;
  width: 100% !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.custom-wishlist-table-wrapper table.woosw-items tbody {
  display: block !important;
  width: 100% !important;
}

/* Row elements - grid columns */
.custom-wishlist-header-row,
tr.woosw-item {
  display: grid !important;
  grid-template-columns: 60px 80px 1.8fr 1fr 1.2fr 1.2fr 160px !important;
  align-items: center !important;
  padding: 14px 20px !important;
  text-align: left !important;
}

tr.woosw-item {
  border-bottom: 1px solid #f1f5f9 !important;
  background: #ffffff !important;
  transition: background-color 0.2s ease !important;
}

tr.woosw-item:hover {
  background-color: #fafbfc !important;
}

tr.woosw-item:last-child {
  border-bottom: none !important;
}

/* Table headers styling */
.custom-wishlist-header-row th {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border: none !important;
  padding: 0 !important;
}

.custom-wishlist-header-row th.header-product {
  grid-column: 2 / span 2 !important;
  /* Spans image + name */
}

/* Columns positioning */
.woosw-item--remove {
  grid-column: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.woosw-item--image {
  grid-column: 2 / span 2 !important;
  /* Spans image + name */
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.woosw-item--price {
  grid-column: 4 !important;
}

.woosw-item--stock {
  grid-column: 5 !important;
}

.woosw-item--time {
  grid-column: 6 !important;
}

.woosw-item--atc {
  grid-column: 7 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

/* Column Specific Item Styles */

/* Remove button */
.woosw-item--remove span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid #cbd5e1 !important;
  color: #64748b !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 18px !important;
  background: #ffffff !important;
}

.woosw-item--remove span::before {
  content: "×" !important;
  /* multiplication cross symbol */
}

.woosw-item--remove span:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}

/* Image */
.woosw-item--image img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  padding: 4px !important;
  flex-shrink: 0 !important;
}

/* Product Name */
.woosw-item--name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.woosw-item--name a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.woosw-item--name a:hover {
  color: #0284c7 !important;
}

/* Unit Price */
.woosw-item--price {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.woosw-item--price del {
  font-size: 13px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  margin-left: 6px !important;
  font-weight: 400 !important;
}

.woosw-item--price ins {
  background: transparent !important;
  text-decoration: none !important;
}

/* Stock Status badge */
.stock-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}

.stock-badge.instock {
  color: #15803d !important;
  /* green */
  background: #f0fdf4 !important;
  /* light green */
}

.stock-badge.outofstock {
  color: #b91c1c !important;
  /* red */
  background: #fef2f2 !important;
  /* light red */
}

/* Date Added */
.woosw-item--time {
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

/* Action Button: ADD TO CART / SOLD OUT */
.woosw-item--atc a.button {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: none !important;
  box-shadow: 0 4px 10px rgba(2, 132, 199, 0.15) !important;
  letter-spacing: 0.5px !important;
  transition: all 0.2s ease !important;
  line-height: 1.2 !important;
}

.woosw-item--atc a.button:hover {
  background: #0369a1 !important;
  box-shadow: 0 6px 14px rgba(2, 132, 199, 0.25) !important;
}

.woosw-item--atc a.button::before {
  font-family: "opal-icon" !important;
  content: "\e03d" !important;
  /* shopping cart */
  font-size: 13px !important;
}

/* Sold Out button */
.woosw-item--atc a.button.sold_out {
  background: #93c5fd !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Footer Actions layout */
.custom-wishlist-footer-actions {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 30px !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

/* Continue shopping button */
.custom-continue-shopping {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 24px !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  transition: all 0.2s ease !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.custom-continue-shopping:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

/* Add all to cart button */
.custom-add-all-to-cart {
  background: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 24px !important;
  padding: 11px 26px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.15) !important;
  transition: all 0.2s ease !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.custom-add-all-to-cart:hover {
  background: #0369a1 !important;
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.25) !important;
  color: #ffffff !important;
}

.custom-add-all-to-cart::before {
  font-family: "opal-icon" !important;
  content: "\e03d" !important;
  /* cart icon */
  font-size: 14px !important;
}

/* Empty Wishlist view */
.custom-wishlist-empty {
  text-align: center !important;
  padding: 80px 20px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
}

.wishlist-empty-icon {
  font-size: 48px !important;
  margin-bottom: 20px !important;
}

.custom-wishlist-empty h2 {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 10px !important;
}

.custom-wishlist-empty p {
  color: #64748b !important;
  font-size: 15px !important;
  margin-bottom: 24px !important;
}

.custom-wishlist-empty .button {
  background: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 10px 24px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.custom-wishlist-empty .button:hover {
  background: #0369a1 !important;
}

/* Responsive breakpoint for tablets/mobile */
@media (max-width: 991px) {
  .custom-wishlist-header-row {
    display: none !important;
    /* Hide headers on small screens */
  }

  tr.woosw-item {
    grid-template-columns: 50px 70px 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .woosw-item--remove {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  .woosw-item--image {
    grid-column: 2 / span 2 !important;
    grid-row: 1 !important;
  }

  .woosw-item--price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    font-size: 14px !important;
  }

  .woosw-item--stock {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .woosw-item--time {
    grid-column: 2 !important;
    grid-row: 3 !important;
  }

  .woosw-item--atc {
    grid-column: 3 !important;
    grid-row: 3 !important;
    display: flex !important;
    justify-content: flex-end !important;
  }
}

/* ==========================================
   CART PAGE REDESIGN - LOVABLE STYLE
   ========================================== */

/* Page Background & Header Hiding */
.cart-collaterals:after,
.cart-collaterals:before {
  display: none;
}

.woocommerce-cart #page-title-bar,
.woocommerce-cart .page-header,
.woocommerce-cart .entry-title,
.woocommerce-cart .entry-header {
  display: none !important;
}

/* Custom Cart Header Section */
.custom-cart-header {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 40px 15px 16px 15px !important;
  text-align: left !important;
  font-family: 'Jost', sans-serif !important;
}

.custom-cart-breadcrumbs {
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin-bottom: 12px !important;
}

.custom-cart-breadcrumbs a {
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.custom-cart-breadcrumbs a:hover {
  color: #0284c7 !important;
}

.custom-cart-breadcrumbs .sep {
  margin: 0 6px !important;
  color: #94a3b8 !important;
}

.custom-cart-breadcrumbs .current {
  color: #0f172a !important;
}

.custom-cart-title {
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.02em !important;
}

.custom-cart-subheading {
  font-size: 14px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* Main Two-Column Layout Grid (Desktop) */
@media (min-width: 992px) {
  .woocommerce-cart .woocommerce {
    display: block !important;
  }

  .custom-cart-layout-container {
    display: grid !important;
    grid-template-columns: 2.2fr 1fr !important;
    gap: 32px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px 60px 15px !important;
    align-items: start !important;
  }

  /* Reset parent theme's float/width/flex/max-width overrides on inner columns */
  .woocommerce-cart .custom-cart-left-column .woocommerce-cart-form {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    margin: 0 !important;
  }

  .woocommerce-cart .custom-cart-right-column .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    margin: 0 !important;
  }
}

/* Cart Table Styling */
.custom-cart-table-wrapper {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
  margin-bottom: 24px !important;
}

.custom-cart-table-wrapper table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  display: table !important;
  border: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

.custom-cart-table-wrapper table.cart thead {
  display: table-header-group !important;
  width: 100% !important;
  background: #ffffff !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.custom-cart-table-wrapper table.cart tbody {
  display: table-row-group !important;
  width: 100% !important;
}

/* Row Columns */
.custom-cart-table-wrapper table.cart thead tr,
.custom-cart-table-wrapper table.cart tbody tr.cart_item {
  display: table-row !important;
  border-bottom: 1px solid #f1f5f9 !important;
  text-align: left !important;
}

/* Cell alignment & display */
.custom-cart-table-wrapper table.cart th,
.custom-cart-table-wrapper table.cart td {
  display: table-cell !important;
  padding: 20px 24px !important;
  vertical-align: middle !important;
  border: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.custom-cart-table-wrapper table.cart tr.cart_item:last-child td {
  border-bottom: none !important;
}

/* Table Headers Styling */
.custom-cart-table-wrapper table.cart th {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: #ffffff !important;
  padding: 20px 24px !important;
}

/* Specific column sizes to align perfectly */
.custom-cart-table-wrapper table.cart th.product-name,
.custom-cart-table-wrapper table.cart td.product-name {
  width: 55% !important;
}

.custom-cart-table-wrapper table.cart th.product-quantity,
.custom-cart-table-wrapper table.cart td.product-quantity {
  width: 20% !important;
  text-align: center !important;
}

.custom-cart-table-wrapper table.cart th.product-subtotal,
.custom-cart-table-wrapper table.cart td.product-subtotal {
  width: 25% !important;
  text-align: right !important;
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #64748b !important;
}

/* Product details cell container */
.custom-cart-product-cell {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  text-align: left !important;
}

.custom-cart-product-cell .product-thumbnail img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 4px !important;
  flex-shrink: 0 !important;
}

.product-info-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  text-align: left !important;
}

.product-title-heading {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.product-title-heading a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.product-title-heading a:hover {
  color: #0284c7 !important;
}

/* Variation lists info */
.custom-cart-product-cell dl.variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  color: #64748b !important;
}

.custom-cart-product-cell dl.variation dt {
  font-weight: 500 !important;
  margin: 0 !important;
}

.custom-cart-product-cell dl.variation dd {
  margin: 0 10px 0 0 !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

/* Stock Badge */
.product-info-wrapper .stock-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  border-radius: 20px !important;
  width: fit-content !important;
}

.product-info-wrapper .stock-badge.instock {
  color: #16a34a !important;
  background: #f0fdf4 !important;
}

.product-info-wrapper .stock-badge.low-stock {
  color: #0284c7 !important;
  background: #fff7ed !important;
}

.product-info-wrapper .stock-badge.outofstock {
  color: #dc2626 !important;
  background: #fef2f2 !important;
}

/* Quantity input wrapper styling */
.custom-quantity-wrapper {
  display: flex !important;
  justify-content: center !important;
}

.custom-quantity-wrapper .quantity {
  display: inline-flex !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  padding: 2px 10px !important;
  gap: 4px !important;
  width: 110px !important;
  height: 38px !important;
  justify-content: space-between !important;
}

.custom-quantity-wrapper .quantity input.qty {
  width: 32px !important;
  height: auto !important;
  border: none !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  -moz-appearance: textfield !important;
}

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

.custom-quantity-wrapper .quantity input.minus,
.custom-quantity-wrapper .quantity input.plus {
  background: transparent !important;
  border: none !important;
  color: #64748b !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  width: 20px !important;
  height: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.2s ease !important;
}

.custom-quantity-wrapper .quantity input.minus:hover,
.custom-quantity-wrapper .quantity input.plus:hover {
  color: #0f172a !important;
}

/* Subtotal + remove styling */
.custom-subtotal-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-left: 20px !important;
}

.custom-subtotal-cell .subtotal-amount {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.custom-subtotal-cell .product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  color: #94a3b8 !important;
  font-size: 15px !important;
  background: transparent !important;
  border: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.custom-subtotal-cell .product-remove a.remove:hover {
  color: #ef4444 !important;
  background: #fef2f2 !important;
}

/* Coupon & Update Cart Actions Row */
.custom-cart-table-wrapper table.cart tr.cart-actions-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 24px !important;
}

.custom-cart-table-wrapper table.cart tr.cart-actions-row td.actions {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}

.custom-cart-table-wrapper table.cart td.actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.custom-cart-table-wrapper table.cart td.actions .coupon input.input-text {
  border: 1px solid #cbd5e1 !important;
  border-radius: 20px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  width: 160px !important;
  height: 36px !important;
  color: #0f172a !important;
}

.custom-cart-table-wrapper table.cart td.actions .coupon input.input-text::placeholder {
  color: #94a3b8 !important;
}

.custom-cart-table-wrapper table.cart td.actions .coupon button.apply-coupon-btn {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  height: 36px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.custom-cart-table-wrapper table.cart td.actions .coupon button.apply-coupon-btn:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
}

.custom-cart-table-wrapper table.cart td.actions button.update-cart-btn {
  background: #ffffff !important;
  color: #64748b !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 8px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  height: 36px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.custom-cart-table-wrapper table.cart td.actions button.update-cart-btn:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
}

/* Continue Shopping Button */
.custom-cart-footer-actions {
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 16px !important;
}

.custom-continue-shopping {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 24px !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.custom-continue-shopping:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

.custom-continue-shopping i {
  font-size: 14px !important;
  color: #475569 !important;
}

/* Cross Sells Section (You may also like) */
.custom-cart-cross-sells {
  margin-top: 40px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  padding: 32px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
}

.cross-sells-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
  font-family: 'Jost', sans-serif !important;
}

.custom-cross-sells-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.custom-cross-sell-card {
  border: 1px solid #f1f5f9 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #ffffff !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.custom-cross-sell-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03) !important;
}

.custom-cross-sell-card .card-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
}

.custom-cross-sell-card .card-thumbnail img {
  width: 100% !important;
  height: 140px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
}

.custom-cross-sell-card .card-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.4 !important;
  height: 38px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.custom-cross-sell-card .card-price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  margin-bottom: 12px !important;
}

.custom-cross-sell-card .card-actions {
  margin-top: auto !important;
}

.custom-cross-sell-card .card-actions .button {
  background: #ffffff !important;
  color: #0284c7 !important;
  border: 1px solid #0284c7 !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}

.custom-cross-sell-card .card-actions .button:hover {
  background: #0284c7 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(234, 88, 12, 0.15) !important;
}

/* Cart Totals sidebar card layout */
.custom-cart-right-column .cart_totals {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  padding: 32px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.custom-cart-right-column .cart_totals h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
  font-family: 'Jost', sans-serif !important;
}

.custom-cart-right-column .cart_totals table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 0 24px 0 !important;
  border: none !important;
}

.custom-cart-right-column .cart_totals table.shop_table tr {
  border-bottom: 1px solid #f1f5f9 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 0 !important;
}

.custom-cart-right-column .cart_totals table.shop_table tr:last-child {
  border-bottom: none !important;
}

.custom-cart-right-column .cart_totals table.shop_table th {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  padding: 0 !important;
  border: none !important;
  text-align: left !important;
  background: transparent !important;
}

.custom-cart-right-column .cart_totals table.shop_table td {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  padding: 0 !important;
  border: none !important;
  text-align: right !important;
}

.custom-cart-right-column .cart_totals table.shop_table tr.order-total th {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.custom-cart-right-column .cart_totals table.shop_table tr.order-total td {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

/* Proceed to Checkout button styling */
.custom-cart-right-column .wc-proceed-to-checkout {
  padding: 0 !important;
}

.custom-cart-right-column .wc-proceed-to-checkout a.checkout-button {
  background: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 24px !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  width: 100% !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.2) !important;
  transition: all 0.2s ease !important;
  display: block !important;
  margin: 0 !important;
}

.custom-cart-right-column .wc-proceed-to-checkout a.checkout-button:hover {
  background: #0369a1 !important;
  box-shadow: 0 6px 16px rgba(234, 88, 12, 0.3) !important;
  color: #ffffff !important;
}

/* Responsive formatting for mobile viewports */
@media (max-width: 991px) {
  .custom-cart-layout-container {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 0 15px 40px 15px !important;
  }

  .custom-cart-table-wrapper table.cart thead tr {
    display: none !important;
    /* Hide headers on small viewports */
  }

  .custom-cart-table-wrapper table.cart tbody tr.cart_item {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    position: relative !important;
  }

  .custom-cart-product-cell {
    flex-direction: row !important;
  }

  .custom-quantity-wrapper {
    justify-content: flex-start !important;
  }

  .custom-subtotal-cell {
    padding-left: 0 !important;
    justify-content: space-between !important;
  }

  .custom-cart-table-wrapper table.cart tr.cart-actions-row {
    padding: 16px !important;
  }

  .custom-cart-table-wrapper table.cart td.actions {
    flex-direction: column !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  .custom-cart-table-wrapper table.cart td.actions .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .custom-cart-table-wrapper table.cart td.actions .coupon input.input-text {
    width: 100% !important;
  }

  .custom-cart-table-wrapper table.cart td.actions button.update-cart-btn {
    width: 100% !important;
  }

  .custom-cross-sells-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .custom-cart-cross-sells {
    padding: 20px !important;
  }
}

@media (max-width: 576px) {
  .custom-cross-sells-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Make cross sells full-width */
@media (min-width: 992px) {
  .custom-cart-full-width-cross-sells {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}

/* REDESIGNED EMPTY CART STYLES */
.custom-empty-cart-page-wrapper {
  font-family: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin: 0 auto;
  max-width: 100%;
}

.custom-empty-cart-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fdfbf7 0%, #ffffff 100%);
  padding: 64px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 992px) {
  .custom-empty-cart-section {
    padding: 10px;
  }
}

/* Decorative blur circles */
.empty-cart-blur {
  position: absolute;
  border-radius: 9999px;
  filter: blur(64px);
  pointer-events: none;
  z-index: 1;
  opacity: 0.8;
}

.empty-cart-blur-left {
  left: -80px;
  top: 40px;
  width: 224px;
  height: 224px;
  background-color: rgba(60, 162, 245, 0.12);
}

.empty-cart-blur-right {
  right: -60px;
  bottom: 0;
  width: 256px;
  height: 256px;
  background-color: rgba(0, 160, 233, 0.12);
}

.custom-empty-cart-container {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 1280px;
  width: 100%;
}

/* Floating micro-animation */
@keyframes float-slow {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-8px);
  }

  100% {
    transform: translateY(0px);
  }
}

.empty-cart-illustration-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 106px;
  height: 106px;
  animation: float-slow 6s ease-in-out infinite;
}

@media (min-width: 992px) {
  .empty-cart-illustration-container {
    width: 120px;
    height: 120px;
  }
}

.empty-cart-illustration-bg {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(255, 213, 200, 0.4) 0%, rgba(60, 162, 245, 0.2) 50%, rgba(0, 160, 233, 0.1) 100%);
  filter: blur(24px);
  z-index: 1;
}

.empty-cart-illustration-img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 24px rgba(34, 34, 34, 0.08));
}

.empty-cart-title {
  margin-top: 22px;
  font-size: 28px;
  font-weight: 600;
  color: #32353a;
  letter-spacing: -0.01em;
}

@media (min-width: 992px) {
  .empty-cart-title {
    font-size: 16px;
  }
}

.empty-cart-description {
  margin-top: 12px;
  font-size: 16px;
  color: #888888;
  max-width: 448px;
}

.empty-cart-return-btn {
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #00a0e9;
  color: #ffffff !important;
  border-radius: 12px;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 14px 34px -14px rgba(0, 160, 233, 0.55);
  transition: all 0.3s ease;
  text-decoration: none !important;
}

.empty-cart-return-btn:hover {
  transform: translateY(-2px);
  background-color: #008cd4;
  box-shadow: 0 18px 38px -12px rgba(0, 160, 233, 0.65);
}

.empty-cart-return-btn .arrow-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2.5;
  transition: transform 0.3s ease;
}

.empty-cart-return-btn:hover .arrow-icon {
  transform: translateX(4px);
}

/* Dynamic Product Recommendations Grid */
.empty-cart-suggestions-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 64px 20px;
}

.suggestions-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #eef2f5;
  padding-bottom: 20px;
}

.suggestions-title {
  font-size: 24px;
  font-weight: 600;
  color: #32353a;
  margin: 0;
}

@media (min-width: 992px) {
  .suggestions-title {
    font-size: 30px;
  }
}

.suggestions-subtitle {
  font-size: 14px;
  color: #888888;
  margin: 8px 0 0 0;
}

.suggestions-view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #00a0e9 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.suggestions-view-all-link:hover {
  color: #008cd4 !important;
  text-decoration: underline !important;
}

.suggestions-view-all-link .arrow-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2.5;
  transition: transform 0.2s ease;
}

.suggestions-view-all-link:hover .arrow-icon {
  transform: translateX(4px);
}

.empty-cart-products-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-top: 32px;
}

@media (min-width: 640px) {
  .empty-cart-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .empty-cart-products-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Suggested Product Card */
.suggestion-product-card {
  background: #ffffff;
  border: 1px solid #eef2f5;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  height: 100%;
}

.suggestion-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(34, 34, 34, 0.06);
  border-color: #dbe3eb;
}

.suggestion-product-image-wrapper {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: rgba(240, 240, 240, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.suggestion-product-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 10;
  border-radius: 9999px;
  background: linear-gradient(135deg, #00a0e9 0%, #00c2ff 100%);
  color: #ffffff;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.suggestion-product-image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.suggestion-product-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 24px !important;
  transition: transform 0.3s ease !important;
}

.suggestion-product-card:hover .suggestion-product-img {
  transform: scale(1.05) !important;
}

.suggestion-product-details {
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
}

.suggestion-product-title {
  font-size: 14px;
  font-weight: 600;
  color: #32353a;
  line-height: 1.4;
  margin: 0 0 8px 0;
  min-height: 40px;
  display: flex;
  align-items: center;
}

.suggestion-product-title a {
  color: #32353a;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.suggestion-product-title a:hover {
  color: #00a0e9;
}

.suggestion-product-rating {
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
}

.suggestion-stars {
  display: flex;
  gap: 2px;
  color: #ffb800;
  font-size: 14px;
}

.suggestion-stars .star {
  display: inline-block;
}

.suggestion-stars .star.empty {
  color: #eef2f5;
}

.suggestion-product-price {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  margin: 0 0 16px 0;
}

.suggestion-product-price del {
  color: #888888;
  font-size: 14px;
  font-weight: 400;
  margin-right: 4px;
}

.suggestion-product-price ins {
  text-decoration: none;
}

/* Ajax Add to Cart override style in Recommendations */
.suggestion-product-add-to-cart {
  width: 100%;
}

.suggestion-product-add-to-cart .button {
  width: 100% !important;
  background-color: transparent !important;
  color: #32353a !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 12px !important;
  padding: 10px 16px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  text-align: center !important;
  box-shadow: none !important;
}

.suggestion-product-add-to-cart .button:hover {
  background-color: #00a0e9 !important;
  border-color: #00a0e9 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 16px rgba(0, 160, 233, 0.2) !important;
}

/* WooCommerce AJAX states */
.suggestion-product-add-to-cart .button.loading {
  opacity: 0.75 !important;
  position: relative !important;
}

.suggestion-product-add-to-cart .button.added::after {
  display: none !important;
}

/* Success added text notice hook spacing */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-top-color: #00a0e9 !important;
}

.woocommerce-message::before {
  color: #00a0e9 !important;
}

/* HIDE DEFAULT TITLE BAR ON CATEGORY PAGES */
/* ==========================================================================
   COZY CATEGORY BANNER
   ========================================================================== */

/* Remove default page title bar on category pages */
.tax-product_cat .page-title-bar {
  display: none !important;
}

/* Base banner wrapper */
.cozy-category-banner {
  position: relative;
  width: 100%;
  margin-bottom: 32px;
  background: linear-gradient(135deg, #fff8f0 0%, #ffecd2 35%, #fcf0e8 65%, #fff5ee 100%);
  overflow: hidden;
  min-height: 220px;
  display: flex;
  align-items: stretch;
  border-radius: 16px;
}

/* When background image is set — switch to dark mode */
.cozy-category-banner.has-bg-image {
  min-height: 200px;
  background: linear-gradient(135deg, #0b171c 0%, #020202 100%);
}

/* Full-bleed background image via CSS variable */
.cozy-category-banner.has-bg-image::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--banner-bg);
  background-size: cover;
  background-position: center;
  opacity: 0.35;
  z-index: 0;
}

/* Image overlay when has-bg-image */
.cozy-banner-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgb(6 7 7 / 21%) 0%, rgb(31 37 41 / 0%) 60%, rgba(0, 80, 160, 0.2) 100%);
  z-index: 1;
}

/* Decorative background elements */
.cozy-banner-deco {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.cozy-deco-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(55px);
  opacity: 0.5;
}

.cozy-deco-blob--1 {
  width: 340px;
  height: 340px;
  background: radial-gradient(circle, #ffcf96 0%, #ffa94d 100%);
  top: -80px;
  right: -60px;
}

.cozy-deco-blob--2 {
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, #ffd6a5 0%, #ffb347 100%);
  bottom: -100px;
  left: -40px;
}

.cozy-deco-circle {
  position: absolute;
  border-radius: 50%;
  border: 2px solid;
  opacity: 0.18;
}

.cozy-deco-circle--1 {
  width: 180px;
  height: 180px;
  border-color: #e07b00;
  top: 20px;
  right: 180px;
}

.cozy-deco-circle--2 {
  width: 100px;
  height: 100px;
  border-color: #c05000;
  bottom: 20px;
  left: 220px;
}

.cozy-deco-dots {
  position: absolute;
  width: 120px;
  height: 120px;
  top: 30px;
  left: 40px;
  background-image: radial-gradient(circle, rgba(200, 100, 0, 0.22) 1.5px, transparent 1.5px);
  background-size: 16px 16px;
  opacity: 0.6;
}

/* Dark mode decoratives */
.cozy-category-banner.has-bg-image .cozy-deco-blob--1 {
  background: radial-gradient(circle, rgba(255, 207, 150, 0.3) 0%, rgba(255, 169, 77, 0.12) 100%);
}

.cozy-category-banner.has-bg-image .cozy-deco-blob--2 {
  background: radial-gradient(circle, rgba(255, 214, 165, 0.2) 0%, rgba(255, 179, 71, 0.08) 100%);
}

.cozy-category-banner.has-bg-image .cozy-deco-circle--1,
.cozy-category-banner.has-bg-image .cozy-deco-circle--2 {
  border-color: rgba(255, 220, 150, 0.35);
}

.cozy-category-banner.has-bg-image .cozy-deco-dots {
  opacity: 0.2;
}

/* Inner content wrapper */
.cozy-banner-inner {
  position: relative;
  z-index: 2;
  padding-top: 28px;
  padding-bottom: 36px;
  width: 100%;
}

/* Breadcrumbs */
.cozy-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #a0714a;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.cozy-breadcrumbs a {
  color: #a0714a;
  text-decoration: none;
  transition: color 0.2s;
}

.cozy-breadcrumbs a:hover {
  color: #c05000;
}

.cozy-bc-sep {
  color: #c4956a;
  font-size: 14px;
}

.cozy-bc-current {
  color: #6b4a2a;
  font-weight: 600;
}

.cozy-category-banner.has-bg-image .cozy-breadcrumbs,
.cozy-category-banner.has-bg-image .cozy-breadcrumbs a,
.cozy-category-banner.has-bg-image .cozy-bc-sep {
  color: rgba(255, 230, 200, 0.8);
}

.cozy-category-banner.has-bg-image .cozy-bc-current {
  color: rgba(255, 240, 220, 1);
}

.cozy-category-banner.has-bg-image .cozy-breadcrumbs a:hover {
  color: #ffd6a0;
}

/* Banner body: text + image split */
.cozy-banner-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.cozy-banner-text {
  flex: 1;
  min-width: 0;
}

/* Category label pill */
.cozy-banner-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 160, 60, 0.15);
  border: 1px solid rgba(200, 110, 20, 0.2);
  color: #b05000;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 14px;
  backdrop-filter: blur(4px);
}

.cozy-label-icon {
  font-size: 13px;
  line-height: 1;
}

.cozy-category-banner.has-bg-image .cozy-banner-label {
  background: rgba(255, 190, 100, 0.15);
  border-color: rgba(255, 190, 100, 0.25);
  color: #ffd090;
}

/* Category title */
.cozy-banner-title {
  font-family: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 12px !important;
  color: #2d1200 !important;
  text-shadow: none !important;
  text-transform: none !important;
}

.cozy-category-banner.has-bg-image .cozy-banner-title {
  color: #fff8ef !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.4) !important;
}

@media (min-width: 768px) {
  .cozy-banner-title {
    font-size: 46px !important;
  }
}

/* Description */
.cozy-banner-desc {
  font-size: 14.5px;
  line-height: 1.65;
  color: #6b4a2a;
  max-width: 560px;
  margin-bottom: 18px;
}

.cozy-banner-desc p {
  margin: 0;
}

.cozy-category-banner.has-bg-image .cozy-banner-desc {
  color: #FFF;
}

/* Product count badge */
.cozy-banner-meta {
  margin-top: 4px;
}

.cozy-prod-count {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(180, 90, 20, 0.1);
  border: 1px solid rgba(180, 90, 20, 0.18);
  color: #8b4500;
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 999px;
}

.cozy-prod-count svg {
  flex-shrink: 0;
  stroke: #b05000;
}

.cozy-category-banner.has-bg-image .cozy-prod-count {
  background: rgba(255, 200, 120, 0.12);
  border-color: rgba(255, 200, 120, 0.22);
  color: #ffd090;
}

.cozy-category-banner.has-bg-image .cozy-prod-count svg {
  stroke: #ffc870;
}

/* Right side: optional image */
.cozy-banner-img-wrap {
  flex-shrink: 0;
  width: 260px;
  height: 190px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
  border: 3px solid rgba(255, 255, 255, 0.18);
  display: none;
  /* hidden until tablet+ */
}

.cozy-banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.term-designer-cat .site-content {
  padding-top: 40px;
}

@media (min-width: 768px) {
  .cozy-banner-inner {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 30px;
  }

  .cozy-banner-img-wrap {
    display: block;
  }

  .cozy-category-banner {
    min-height: 200px;
  }

  .cozy-category-banner.has-bg-image {
    min-height: 200px;
  }
}

@media (max-width: 767px) {
  .cozy-banner-body {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}


/* Category SEO Description Details Section */
.category-seo-section {

  border-top: 1px solid #eef2f5;
  border-bottom: 1px solid #eef2f5;
  padding: 50px 20px;
  margin-top: 50px;
}

.category-seo-section .custom-content-wrapper {
  max-width: 900px;
  margin: 0 auto;
  color: #4e5156;
  font-size: 15px;
  line-height: 1.8;
  text-align: left;
}

.category-seo-section .custom-content-wrapper h2,
.category-seo-section .custom-content-wrapper h3 {
  color: #32353a;
  font-weight: 600;
  margin-top: 24px;
  margin-bottom: 12px;
}

.category-seo-section .custom-content-wrapper p {
  margin-bottom: 16px;
}

/* Category FAQ Section */
.category-faq-section {
  background-color: #ffffff;
  padding: 60px 20px;
}

.category-faq-section .section-title {
  font-family: 'Jost', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #32353a;
  margin-bottom: 30px;
  letter-spacing: -0.01em;
}

@media (min-width: 768px) {
  .category-faq-section .section-title {
    font-size: 32px;
    margin-bottom: 40px;
  }
}

.faq-accordion {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  background: #ffffff;
  border: 1px solid #eef2f5;
  border-radius: 12px;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.01);
  overflow: hidden;
}

.faq-item[open] {
  border-color: #00a0e9;
  box-shadow: 0 8px 16px rgba(0, 160, 233, 0.06);
}

.faq-question {
  padding: 20px;
  font-weight: 600;
  font-size: 15px;
  color: #32353a;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  outline: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
  color: #00a0e9;
  transition: transform 0.3s ease;
}

.faq-item[open] .faq-question::after {
  content: "−";
  color: #00a0e9;
}

.faq-answer {
  padding: 0 20px 20px 20px;
  color: #555555;
  font-size: 14px;
  line-height: 1.6;
  border-top: 1px solid transparent;
  animation: faqFadeIn 0.3s ease-out;
}

.faq-item[open] .faq-answer {
  border-top-color: #fcfbf8;
}

@keyframes faqFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

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

/* GLOBAL FONT FAMILY OVERRIDE - SET TO JOST */
*:not(.fa):not(.fas):not(.far):not(.fab):not(.opal-icon):not([class^="opal-icon-"]):not([class*=" opal-icon-"]):not(i) {
  font-family: "Jost", sans-serif !important;
}

/* BLOG DETAIL PAGE LAYOUT - LEFT CONTENT, RIGHT SIDEBAR */
.single-post .breadcrumb {
  display: none !important;
}

.single-post .page-title-bar-inner.w-100 {
  display: none !important;

}

.single-post .site-content-contain {
  padding-top: 20px;
}

.custom-blog-layout-row {
  display: flex !important;
  gap: 40px !important;
  width: 100% !important;
}

@media (max-width: 991px) {
  .custom-blog-layout-row {
    flex-direction: column !important;
    gap: 40px !important;
  }
}

.custom-blog-content-col {
  flex: 2.2 !important;
  min-width: 0 !important;
}

.custom-blog-sidebar-col {
  flex: 0.8 !important;
  min-width: 300px !important;
}

.custom-blog-sidebar {
  background-color: #faf9f6;
  padding: 25px;
  border-radius: 12px;
  border: 1px solid #eef2f5;
  position: sticky;
  top: 100px;
}

.custom-blog-sidebar .widget-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 20px !important;
  position: relative !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #e2e8f0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.recent-posts-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.recent-post-item {
  display: flex !important;
  gap: 15px !important;
  align-items: flex-start !important;
}

.recent-post-thumb img {
  width: 70px !important;
  height: 70px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  transition: transform 0.3s ease !important;
}

.recent-post-item:hover .recent-post-thumb img {
  transform: scale(1.05) !important;
}

.recent-post-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 0 4px 0 !important;
}

.recent-post-title a {
  color: #1e293b !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.recent-post-title a:hover {
  color: #00a0e9 !important;
}

.recent-post-date {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

/* Post content layout aesthetics */
.single-post .post-thumbnail img {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  margin-bottom: 30px !important;
}

.single-post .entry-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 16px !important;
  line-height: 1.3 !important;
}

.single-post .entry-meta {
  font-size: 13px !important;
  color: #64748b !important;
  margin-bottom: 24px !important;
  display: flex !important;
  gap: 15px !important;
  flex-wrap: wrap !important;
}

.single-post .entry-content {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #334155 !important;
}

/* ==========================================================================
   Sticky (Fixed) Header Styling
   ========================================================================== */
.opal-wrapper {
  overflow: visible !important;
}

#page.site {
  overflow: visible !important;
}

#masthead.site-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background-color: #ffffff !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.admin-bar #masthead.site-header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar #masthead.site-header {
    top: 46px !important;
  }
}

#masthead.site-header.is-sticky-scrolled {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* ==========================================================================
   Header Wishlist Icon & Button Styling
   ========================================================================== */
.site-header-wishlist {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin: 0 10px !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  position: relative !important;
}

.site-header-wishlist .site-header-wishlist-config {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.opal-header-wishlist.header-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  text-decoration: none !important;
  color: #1a1a1a !important;
  cursor: pointer !important;
  padding: 6px !important;
  border: none !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

.opal-header-wishlist.header-button i {
  font-size: 20px !important;
  line-height: 1 !important;
  color: #1a1a1a !important;
  display: inline-block !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.opal-header-wishlist.header-button:hover i {
  color: #00a0e9 !important;
  transform: scale(1.15) !important;
}

.opal-header-wishlist.header-button .text-wishlist {
  display: none !important;
}

.opal-header-wishlist.header-button .count {
  position: absolute !important;
  top: -2px !important;
  right: -4px !important;
  background-color: #00a0e9 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 17px !important;
  text-align: center !important;
  border-radius: 50% !important;
  padding: 0 3px !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.2s ease !important;
}

.opal-header-wishlist.header-button:hover .count {
  transform: scale(1.1) !important;
}

/* Ensure Header Group alignment in Elementor Header */
.elementor-widget-opal-header-group .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}

.elementor-widget-opal-header-group .site-header-wishlist,
.elementor-widget-opal-header-group .search-form,
.elementor-widget-opal-header-group .account,
.elementor-widget-opal-header-group .cart-woocommerce {
  display: inline-flex !important;
  align-items: center !important;
  border: none !important;
}