@charset "UTF-8";
/**
 * Mircato Pro - Premium WooCommerce Bundle
 * 
 * Strict decomposition of original CSS.
 * Entry Point.
 */
/* ==========================================================================
   0. GLOBAL WOOCOMMERCE RESETS & UTILITIES
   ========================================================================== */
/* --------------------------------------------------------------------------
   1. DESIGN TOKENS & RESET (Global)
   -------------------------------------------------------------------------- */
:root {
  --mp-p-title-size: 2.2rem;
  --mp-p-price-size: 1.6rem;
  --mp-p-card-radius: 12px;
  --mp-p-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
  --mp-p-accent: #1a1a1a;
  --mp-p-blue-accent: #6366f1;
  --mp-color-primary: #6366f1;
  --mp-color-secondary: #ec4899;
  --mp-p-black: #1a1a1a;
  --mp-p-gray-light: #f8f9fa;
  --mp-p-border: #eeeeee;
  --mp-font-primary: 'Outfit', sans-serif;
  --mp-font-secondary: 'Inter', sans-serif;
  --mp-color-light: #f3f4f6;
  --mp-color-light-dark: #e5e5e5;
  --mp-color-white: #ffffff;
  --mp-color-dark: #111111;
  --mp-color-gray: #666666;
  --mp-radius-md: 6px;
  --mp-radius-full: 50%;
  --mp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --mp-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --mp-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --mp-transition-base: all 0.2s ease;
}

html body .screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal;
}

/* Global Star Rating (Dashicons based) */
html body .star-rating {
  float: none;
  width: 5.4em;
  font-family: dashicons;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1rem;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
}

html body .star-rating::before {
  content: "\f154\f154\f154\f154\f154";
  color: #ddd;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  letter-spacing: 0.1em;
  text-indent: 0;
}

html body .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
  text-indent: -999em;
}

html body .star-rating span::before {
  content: "\f155\f155\f155\f155\f155";
  top: 0;
  position: absolute;
  left: 0;
  color: #ffc107;
  letter-spacing: 0.1em;
  text-indent: 0;
}

/* ==========================================================================
   1. SHOP HEADER & TOOLBAR
   ========================================================================== */
.entry-header {
  text-align: left;
  margin-bottom: 50px;
  padding-top: 30px;
}

.mircato-shop-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 15px 0;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--mp-color-light-dark);
  width: 100%;
  clear: both;
}

.mircato-shop-top-bar .mircato-filter-trigger-wrapper {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-start;
}

.mircato-shop-top-bar .woocommerce-result-count {
  margin: 0;
  flex: 0 0 auto;
  text-align: left;
  color: var(--mp-color-text-secondary);
  font-size: 14px;
}

.mircato-shop-top-bar .woocommerce-ordering {
  margin: 0;
  margin-left: auto;
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
}

.entry-title {
  font-family: var(--mp-font-secondary);
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--mp-color-text-main);
  margin: 0;
  letter-spacing: -1px;
}

/* Select Styling - Premium Pill */
.woocommerce-ordering select {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 14px;
  padding: 10px 45px 10px 20px;
  border: 1px solid var(--mp-color-light-dark, #eee);
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-color-text-main);
  outline: none;
  cursor: pointer;
  transition: all var(--mp-transition-normal, 0.3s ease);
  width: auto;
  min-width: 200px;
}

.woocommerce-ordering select:hover {
  border-color: var(--mp-color-primary);
  background-color: var(--mp-color-white);
}

/* View Toggle Buttons */
.mircato-view-toggle {
  display: flex;
  gap: 10px;
}

.mircato-view-toggle button {
  background: var(--mp-color-white);
  border: 1px solid var(--mp-color-light-dark);
  color: var(--mp-color-text-light);
  width: 40px;
  height: 40px;
  border-radius: var(--mp-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--mp-transition-normal);
  padding: 0;
}

.mircato-view-toggle button.active,
.mircato-view-toggle button:hover {
  background: var(--mp-color-primary);
  border-color: var(--mp-color-primary);
}

.mircato-view-toggle button.active span,
.mircato-view-toggle button:hover span {
  color: var(--mp-color-white);
}

.mircato-view-toggle button span {
  font-size: 20px;
  width: 20px;
  height: 20px;
}

/* 1.5. SHOP LAYOUT & SIDEBAR */
.mircato-shop-layout {
  display: flex;
  gap: 30px;
  margin-top: 0;
  align-items: flex-start;
}

.mircato-shop-sidebar {
  width: 280px;
  flex-shrink: 0;
  background: #fff;
  border-right: 1px solid #eee;
  padding: 0 20px 20px 0;
}

.layout-no-sidebar.mircato-shop-layout {
  display: block;
}

.mircato-shop-content {
  flex: 1;
  min-width: 0;
}

/* Hide triggers when in sidebar layout */
.mircato-has-fixed-sidebar .mircato-filter-trigger-wrapper,
.mircato-has-fixed-sidebar .mircato-off-canvas-header {
  display: none;
}

/* Sidebar Widgets */
.mircato-shop-sidebar .widget {
  margin-bottom: 50px;
  padding-left: 0;
}

.mircato-shop-sidebar .widget-title {
  font-family: var(--mp-font-secondary);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 25px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--mp-color-light-dark);
  display: block;
  width: 100%;
}

/* Remove widget centering when inside shop sidebar */
body .mircato-shop-sidebar .mircato-product-slider-widget,
body .mircato-fixed-sidebar-panel .mircato-product-slider-widget,
body .widget-area .mircato-product-slider-widget {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

body .mircato-shop-sidebar .mircato-off-canvas-content,
body .mircato-fixed-sidebar-panel .mircato-off-canvas-content {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
}

/* Ensure all nested widgets in sidebar have no centering */
body .mircato-shop-sidebar .widget,
body .mircato-fixed-sidebar-panel .widget {
  margin-left: 0;
  padding-left: 0;
}

/* Common Shop Container used in some widgets/shortcodes */
.mircato-shop-container {
  display: flex;
  gap: 40px;
}

@media (max-width: 1024px) {
  .mircato-shop-layout {
    gap: 30px;
  }
  .mircato-shop-sidebar {
    width: 250px;
  }
}
@media (max-width: 900px) {
  .mircato-shop-layout {
    flex-direction: column;
  }
  .mircato-shop-sidebar {
    width: 100%;
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .mircato-shop-top-bar {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
  }
}
/* ==========================================================================
   4. PAGINATION
   ========================================================================== */
.woocommerce-pagination {
  margin: 80px 0;
  text-align: center;
}

.woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  border: none;
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0;
}

.woocommerce-pagination ul.page-numbers a,
.woocommerce-pagination ul.page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  border-radius: var(--mp-radius-full);
  background: var(--mp-color-white);
  color: var(--mp-color-text-main);
  text-decoration: none;
  font-weight: 700;
  border: 1px solid var(--mp-color-light-dark);
  transition: all var(--mp-transition-normal);
}

.woocommerce-pagination ul.page-numbers a:hover,
.woocommerce-pagination ul.page-numbers span.current {
  background: var(--mp-color-primary);
  color: var(--mp-color-white);
  border-color: var(--mp-color-primary);
  box-shadow: var(--mp-shadow-md);
}

/* ==========================================================================
   COMMON QUANTITY SELECTOR (Single Product & Quick View & Cart)
   ========================================================================== */
.quantity {
  background: var(--mp-color-light);
  border-radius: 100px;
  padding: 6px 15px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--mp-color-light-dark);
  justify-content: center;
  gap: 10px;
  width: 160px;
  flex: 0 0 160px;
  box-sizing: border-box;
}

.woocommerce .quantity .qty {
  width: 45px;
  text-align: center;
  border: none;
  background: transparent;
  font-weight: 700;
  font-size: 1rem;
  color: var(--mp-color-text-main, #333);
  padding: 0;
}

/* Hyper-Specific Targeting to defeat Elementor/Global plugin button padding */
button.mircato-qty-btn,
html body .quantity button.mircato-qty-btn,
html body form.cart .quantity button.mircato-qty-btn,
html body .woocommerce form.cart .quantity button.mircato-qty-btn,
html body .woocommerce-page form.cart .quantity button.mircato-qty-btn,
html body .woocommerce .quantity button.mircato-qty-btn {
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  min-width: 32px;
  max-width: 32px;
  min-height: 32px;
  max-height: 32px;
  flex: 0 0 32px;
  /* Re-enable flex basis, but strict */
  padding: 0;
  /* Crucial: Defeat global button padding */
  margin: 0;
  border-radius: 50%;
  border: none;
  background: var(--mp-color-white);
  color: var(--mp-color-text-main);
  font-size: 18px;
  line-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--mp-transition-fast);
  box-shadow: var(--mp-shadow-sm);
}

button.mircato-qty-btn:hover,
html body .quantity button.mircato-qty-btn:hover,
html body form.cart .quantity button.mircato-qty-btn:hover,
html body .woocommerce form.cart .quantity button.mircato-qty-btn:hover,
html body .woocommerce-page form.cart .quantity button.mircato-qty-btn:hover,
html body .woocommerce .quantity button.mircato-qty-btn:hover {
  background: var(--mp-color-primary);
  color: #fff;
}

.woocommerce .quantity input::-webkit-outer-spin-button,
.woocommerce .quantity input::-webkit-inner-spin-button,
.woocommerce .quantity input[type=number] {
  -webkit-appearance: none;
  margin: 0;
  appearance: none;
  -moz-appearance: textfield;
}

.woocommerce .quantity {
  display: inline-flex;
  vertical-align: middle;
}

/* ==========================================================================
   WOOCOMMERCE NOTICES (Premium Styling)
   ========================================================================== */
.woocommerce-notices-wrapper {
  width: 100%;
  margin-bottom: 30px;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: var(--mp-color-white);
  border-left: 4px solid var(--mp-color-success);
  padding: 15px 20px;
  margin-bottom: 20px;
  box-shadow: var(--mp-shadow-sm);
  border-radius: var(--mp-radius-sm);
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 0.95rem;
  color: var(--mp-color-text-main);
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  font-family: "WooCommerce";
  display: inline-block;
  padding: 0;
  margin-right: 0;
  font-size: 1.2rem;
}

.woocommerce-info {
  border-color: var(--mp-color-info);
}

.woocommerce-error {
  border-color: var(--mp-color-danger);
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  float: right;
  margin-left: auto;
  background: transparent;
  color: var(--mp-color-text-main);
  border: 1px solid var(--mp-color-light-dark);
  padding: 5px 15px;
  font-size: 0.85rem;
  border-radius: var(--mp-radius-sm);
}

.woocommerce-message .button:hover,
.woocommerce-error .button:hover,
.woocommerce-info .button:hover {
  background: var(--mp-color-black);
  color: var(--mp-color-white);
  border-color: var(--mp-color-black);
}

/* ==========================================================================
   PRODUCT SLIDER WIDGET FIXES
   ========================================================================== */
/* 5. SHOP UTILITIES */
.mircato-shop-content .products {
  margin-bottom: 20px;
}

/* ==========================================================================
   MIRCATO PRO - ADVANCED PRODUCT CARD STYLES
   Universal Selection: Targets Shop, Widgets, and Wishlist
   ========================================================================== */
/* ==========================================================================
   MIRCATO PRO - COMMON PRODUCT CARD STYLES
   Universal Selection: Targets Shop, Widgets, and Wishlist
   ========================================================================== */
/* Base Product Item Reset (Universal) */
ul.products li.product,
.mircato-product-slider-widget .product {
  display: flex;
  flex-direction: column;
  float: none;
  height: 100%;
  list-style: none;
  list-style-type: none;
  margin: 0;
  position: relative;
  box-sizing: border-box;
  transition: all var(--mp-transition-normal);
}

ul.products li.product::marker,
.mircato-product-slider-widget .product::marker {
  content: none;
  display: none;
}

/* Ensure images have a baseline block display to avoid gaps */
ul.products li.product img,
.mircato-product-slider-widget .product img {
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 100%;
  display: block;
  height: auto;
}

ul.products li.product .woocommerce-loop-product__link,
.mircato-product-slider-widget .product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}

/* 0.5. UNIVERSAL PRODUCT CARD STACKING FIX */
/* Ensure all interactive elements sit above card-wide stretched links (usually z-index 1-50) */
li.product.mp-product-card .add_to_cart_button,
li.product.mp-product-card .mircato-loop-buttons,
li.product.mp-product-card .mircato-quick-view-btn,
li.product.mp-product-card .mircato-wishlist-btn,
li.product.mp-product-card .mircato-atc-overlay,
li.product.mp-product-card .button:not(.woocommerce-loop-product__link) {
  position: relative;
  z-index: 100;
}

/* --------------------------------------------------------------------------
   DEFAULT GRID LAYOUT (Restored)
   -------------------------------------------------------------------------- */
ul.products {
  display: grid;
  grid-template-columns: repeat(var(--mp-grid-columns, 4), 1fr);
  gap: 0px;
  margin: 0;
  padding: 0;
  list-style: none;
  clear: both;
  width: 100%;
}

@media (max-width: 1024px) {
  ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* MP Product Grid (Widget/Shortcode override) */
ul.products.mp-product-grid {
  display: grid;
  gap: 20px;
}

/* --------------------------------------------------------------------------
   NEW BADGE
   -------------------------------------------------------------------------- */
li.product .mircato-new-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  background: linear-gradient(135deg, #34d399, #059669);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--mp-radius-sm, 4px);
  line-height: 1.2;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   HOVER EFFECTS (per-product class)
   -------------------------------------------------------------------------- */
/* Zoom In */
li.product.mircato-hover-zoom .mircato-product-image-wrap img {
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

li.product.mircato-hover-zoom:hover .mircato-product-image-wrap img {
  transform: scale(1.08);
}

/* Fade / Dim */
li.product.mircato-hover-fade .mircato-product-image-wrap img {
  transition: opacity 0.4s ease;
}

li.product.mircato-hover-fade:hover .mircato-product-image-wrap img {
  opacity: 0.75;
}

/* --------------------------------------------------------------------------
   DISTRACTION-FREE CHECKOUT
   -------------------------------------------------------------------------- */
body.mircato-distraction-free .site-header,
body.mircato-distraction-free .mircato-header,
body.mircato-distraction-free .mircato-topbar,
body.mircato-distraction-free .site-footer,
body.mircato-distraction-free .mircato-footer,
body.mircato-distraction-free .mircato-copyright {
  display: none;
}

/* --------------------------------------------------------------------------
   STYLE 1: ELEGANT CLASSIC (Premium Default)
   selector: .mircato-card-style-standard
   -------------------------------------------------------------------------- */
.mircato-card-style-standard {
  position: relative;
  background: var(--mp-color-white);
  border-radius: var(--mp-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: var(--mp-shadow-sm);
  height: 100%;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid transparent;
}

li.product.mircato-card-style-standard:hover,
.mircato-product-slider-widget .product.mircato-card-style-standard:hover {
  transform: translateY(-5px);
  box-shadow: var(--mp-shadow-xl);
  border-color: rgba(var(--mp-color-dark-rgb), 0.05);
}

/* Image Wrapper with Zoom and Gradient Overlay */
.mircato-card-style-standard .mircato-product-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: var(--mp-color-light);
}

.mircato-card-style-standard .mircato-product-image-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.02) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
  pointer-events: none;
}

li.product.mircato-card-style-standard:hover .mircato-product-image-wrap::before,
.mircato-product-slider-widget .product.mircato-card-style-standard:hover .mircato-product-image-wrap::before {
  opacity: 1;
}

li.product.mircato-card-style-standard:hover img,
.mircato-product-slider-widget .product.mircato-card-style-standard:hover img {
  transform: scale(1.1);
}

/* Ribbon Sale Badge */
li.product.mircato-card-style-standard .onsale,
.mircato-product-slider-widget .product.mircato-card-style-standard .onsale {
  position: absolute;
  top: 20px;
  left: -5px;
  background: var(--mp-color-danger);
  color: var(--mp-color-white);
  padding: 6px 14px 6px 10px;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 0 4px 4px 0;
  z-index: 5;
  margin: 0;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.mircato-card-style-standard .onsale::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.2);
}

/* Percentage Sale Badge (Specific) */
.mircato-card-style-standard .mircato-percentage-badge {
  background: var(--mp-color-accent);
  padding: 4px 8px;
  font-size: 0.8rem;
  min-height: auto;
  min-width: auto;
  line-height: 1;
  box-shadow: var(--mp-shadow-sm);
}

/* Card Body */
li.product.mircato-card-style-standard .mircato-product-details,
.mircato-product-slider-widget .product.mircato-card-style-standard .mircato-product-details {
  /*  padding: 15px; */
  text-align: center;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

li.product.mircato-card-style-standard .woocommerce-loop-product__title,
.mircato-product-slider-widget .product.mircato-card-style-standard .woocommerce-loop-product__title {
  font-family: var(--mp-font-secondary);
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--mp-color-text-main);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

li.product.mircato-card-style-standard .price,
.mircato-product-slider-widget .product.mircato-card-style-standard .price {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--mp-color-primary);
  margin-bottom: 5px;
  display: block;
}

.mircato-card-style-standard .price del {
  font-size: 0.9rem;
  color: var(--mp-color-text-light);
  font-weight: 400;
  margin-right: 8px;
  opacity: 0.6;
}

.mircato-card-style-standard .price ins {
  text-decoration: none;
}

/* Rating Stars */
.mircato-card-style-standard .star-rating {
  margin: 0 auto 10px;
  font-size: 0.85rem;
}

/* Add to Cart Button (Universal high-specificity without !important) */
html body .mircato-card-style-standard .button {
  background-color: var(--mp-color-primary);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%);
  color: var(--mp-color-white);
  border: none;
  padding: 12px 20px;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all var(--mp-transition-normal);
  border-radius: 0 0 var(--mp-radius-lg) var(--mp-radius-lg);
  width: 100%;
  margin: auto 0 0 0;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mircato-card-style-standard .button:hover {
  background: var(--mp-color-text-main);
  transform: none;
  box-shadow: none;
}

/* Quick View and Wishlist Overlay for Style 1 - CLEAN REFACTOR */
html body #page .mircato-card-style-standard .mircato-qv-btn-wrapper,
html body #page .mircato-card-style-standard .mircato-loop-buttons {
  position: absolute;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Center Quick View for Style 1 (Classic) */
html body #page .mircato-card-style-standard .mircato-qv-btn-wrapper {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20px) scale(0.9);
}

html body #page li.product.mircato-card-style-standard:hover .mircato-qv-btn-wrapper,
html body #page .mircato-product-slider-widget .product.mircato-card-style-standard:hover .mircato-qv-btn-wrapper {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

/* Icon Buttons Standard (Style 1) */
html body #page .mircato-card-style-standard .mircato-quick-view-btn,
html body #page .mircato-card-style-standard .mircato-wishlist-btn,
html body #page .mircato-card-style-standard .mircato-compare-btn {
  background-color: #ffffff;
  color: #111111;
  border: none;
  width: 38px;
  height: 38px;
  min-width: 38px;
  max-width: 38px;
  min-height: 38px;
  max-height: 38px;
  border-radius: 50%;
  font-size: 16px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  text-decoration: none;
  outline: none;
}

html body #page .mircato-card-style-standard .mircato-quick-view-btn:hover,
html body #page .mircato-card-style-standard .mircato-wishlist-btn:hover,
html body #page .mircato-card-style-standard .mircato-compare-btn:hover {
  background-color: var(--mp-color-primary, #6366f1);
  color: #ffffff;
  transform: translateY(-2px);
}

/* Loop Buttons Container (Top Right Cluster) */
html body #page .mircato-card-style-standard .mircato-loop-buttons {
  top: 15px;
  right: 15px;
  left: auto;
  display: flex;
  flex-direction: row;
  gap: 8px;
}

/* Selection for hover state to ensure visibility */
html body #page li.product.mircato-card-style-standard:hover .mircato-loop-buttons,
html body #page .mircato-product-slider-widget .product.mircato-card-style-standard:hover .mircato-loop-buttons {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* Quick View Modal Shell Styles */
html body #page .mircato-quick-view-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow-x: hidden;
  overflow-y: auto;
}

html body #page .mircato-quick-view-modal .mircato-qv-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  cursor: pointer;
}

html body #page .mircato-quick-view-modal .mircato-qv-container {
  position: relative;
  width: 95%;
  max-width: 1100px;
  margin: 50px auto;
  background: #ffffff;
  min-height: 480px;
  border-radius: 4px;
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
  z-index: 10;
  overflow: hidden;
}

html body #page .mircato-quick-view-modal .mircato-qv-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: #000000;
  color: #ffffff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  z-index: 99;
  transition: all 0.3s ease;
  padding: 0;
  margin: 0;
}

html body #page .mircato-quick-view-modal .mircato-qv-close:hover {
  background: var(--mp-color-primary, #6366f1);
  transform: rotate(90deg);
}

html body #page .mircato-quick-view-modal .mircato-qv-content-wrap {
  height: 100%;
}

/* ==========================================================================
   STYLE 2: MINIMAL (User Requested "Standard" Layout)
   selector: .mircato-card-style-minimal
   -------------------------------------------------------------------------- */
/* 1. Layout Container */
li.product.mircato-card-style-minimal,
.mircato-product-slider-widget .product.mircato-card-style-minimal {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 8px;
  /* Softer corners per image */
  overflow: hidden;
  transition: all 0.3s ease;
  height: 100%;
  border: 1px solid transparent;
  /* Prevent layout jump on hover if border needed */
}

/* 2. Image Wrapper */
li.product.mircato-card-style-minimal .mircato-product-image-wrap,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-product-image-wrap {
  position: relative;
  overflow: hidden;
  margin-bottom: 15px;
  border-radius: 8px;
  /* Matching rounded corners for image */
}

li.product.mircato-card-style-minimal img,
.mircato-product-slider-widget .product.mircato-card-style-minimal img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease;
}

li.product.mircato-card-style-minimal:hover img,
.mircato-product-slider-widget .product.mircato-card-style-minimal:hover img {
  transform: scale(1.05);
  /* Gentle zoom */
}

/* 3. Content Details */
li.product.mircato-card-style-minimal .mircato-product-details,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-product-details {
  padding: 0 5px 15px;
  /* Slight padding */
  text-align: left;
  /* Image 1 shows left alignment */
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

/* Title */
li.product.mircato-card-style-minimal .woocommerce-loop-product__title,
.mircato-product-slider-widget .product.mircato-card-style-minimal .woocommerce-loop-product__title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
  color: #111;
}

/* Price */
li.product.mircato-card-style-minimal .price,
.mircato-product-slider-widget .product.mircato-card-style-minimal .price {
  font-size: 15px;
  color: #111;
  font-weight: 600;
  margin-bottom: 15px;
  display: block;
}

li.product.mircato-card-style-minimal .price del,
.mircato-product-slider-widget .product.mircato-card-style-minimal .price del {
  color: #999;
  opacity: 0.7;
  font-weight: 400;
  margin-right: 5px;
  font-size: 0.9em;
}

/* 4. Action Button (The Fix) */
/* Targeted specifically to override any default theme button styles */
html body #page li.product.mircato-card-style-minimal .button,
html body #page .mircato-product-slider-widget .product.mircato-card-style-minimal .button {
  display: block;
  width: 100%;
  background-color: var(--mp-color-primary, #007bff);
  /* Blue per image */
  color: #fff;
  text-align: center;
  padding: 12px 20px;
  border-radius: 6px;
  /* Slightly rounded */
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  border: none;
  margin-top: auto;
  /* Push to bottom if flex container */
  transition: all 0.3s ease;
  opacity: 1;
  visibility: visible;
  /* Ensure it's never hidden */
  position: static;
  /* Ensure it's NOT absolute/floating */
  transform: none;
  box-shadow: none;
}

html body #page li.product.mircato-card-style-minimal .button:hover,
html body #page .mircato-product-slider-widget .product.mircato-card-style-minimal .button:hover {
  background-color: var(--mp-color-black, #111);
  /* Darker on hover */
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* 5. Loop Action Buttons (Wishlist/QuickView) - Top Right Overlay */
li.product.mircato-card-style-minimal .mircato-loop-buttons,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-loop-buttons {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 10;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.3s ease;
}

li.product.mircato-card-style-minimal:hover .mircato-loop-buttons,
.mircato-product-slider-widget .product.mircato-card-style-minimal:hover .mircato-loop-buttons {
  opacity: 1;
  transform: translateX(0);
}

li.product.mircato-card-style-minimal .mircato-loop-buttons button,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-loop-buttons button,
li.product.mircato-card-style-minimal .mircato-loop-buttons a,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-loop-buttons a {
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  border: 1px solid rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  aspect-ratio: 1/1;
  text-decoration: none;
  outline: none;
  margin: 0;
}

li.product.mircato-card-style-minimal .mircato-loop-buttons button:hover,
.mircato-product-slider-widget .product.mircato-card-style-minimal .mircato-loop-buttons button:hover {
  background: var(--mp-color-primary, #007bff);
  color: #fff;
}

/* 6. Sales Tag (Fix: Overlay on Image) */
li.product.mircato-card-style-minimal .onsale,
.mircato-product-slider-widget .product.mircato-card-style-minimal .onsale {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 20;
  margin: 0;
  padding: 4px 10px;
  min-height: auto;
  line-height: 1.2;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  background-color: #fff;
  /* Clean look */
  color: #111;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: inline-block;
  width: auto;
  height: auto;
}

/* --------------------------------------------------------------------------
   STYLE 3: LUXURY MAGAZINE (Editorial Overlay)
   selector: .mircato-card-style-modern
   -------------------------------------------------------------------------- */
/* Background - Scoped to Loop items (li) to prevent single product background bleed */
li.product.mircato-card-style-modern,
.mircato-product-slider-widget .product.mircato-card-style-modern {
  background: var(--mp-color-black);
  position: relative;
  /* Positioning context for absolutely positioned button */
}

.mircato-card-style-modern {
  border-radius: var(--mp-radius-lg);
  overflow: hidden;
  transition: all var(--mp-transition-slow) cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Shadow - Also scoped to avoid main page bleed */
li.product.mircato-card-style-modern,
.mircato-product-slider-widget .product.mircato-card-style-modern {
  box-shadow: var(--mp-shadow-md);
}

li.product.mircato-card-style-modern:hover,
.mircato-product-slider-widget .product.mircato-card-style-modern:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(212, 175, 55, 0.1);
}

/* Card link behavior for Modern style - Restored with pointer-events control */
li.product.mircato-card-style-modern .woocommerce-loop-product__link,
.mircato-product-slider-widget .product.mircato-card-style-modern .woocommerce-loop-product__link {
  display: block;
  position: static;
}

/* Card-wide clickable overlay - allows clicking anywhere on card to visit product */
li.product.mircato-card-style-modern .woocommerce-loop-product__link::after,
.mircato-product-slider-widget .product.mircato-card-style-modern .woocommerce-loop-product__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  pointer-events: auto;
  /* This overlay makes the card clickable, but buttons with higher z-index intercept their own clicks */
}

/* Disable whole-card overlay when a variation is ready to be added to cart directly */
li.product.mircato-card-style-modern.variation-ready .woocommerce-loop-product__link::after {
  pointer-events: none;
}

/* Image with Gradient Overlay */
li.product.mircato-card-style-modern .mircato-product-image-wrap,
.mircato-product-slider-widget .product.mircato-card-style-modern .mircato-product-image-wrap {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
}

li.product.mircato-card-style-modern .mircato-product-image-wrap::after,
.mircato-product-slider-widget .product.mircato-card-style-modern .mircato-product-image-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.3) 30%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 2;
  transition: height 0.4s ease;
}

li.product.mircato-card-style-modern:hover .mircato-product-image-wrap::after,
.mircato-product-slider-widget .product.mircato-card-style-modern:hover .mircato-product-image-wrap::after {
  height: 70%;
}

li.product.mircato-card-style-modern img,
.mircato-product-slider-widget .product.mircato-card-style-modern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

li.product.mircato-card-style-modern:hover img,
.mircato-product-slider-widget .product.mircato-card-style-modern:hover img {
  transform: scale(1.12);
}

/* Luxury Loop Details: Scoped strictly to loop items to prevent leakage to single product main page */
li.product.mircato-card-style-modern .mircato-product-details,
.mircato-product-slider-widget .product.mircato-card-style-modern .mircato-product-details,
.mp-product-grid .product.mircato-card-style-modern .mircato-product-details,
.swiper-slide.mircato-card-style-modern .mircato-product-details {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 25px 20px 20px;
  z-index: 60;
  /* Above link overlay (z:50) but below button (z:100) */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.05) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transform: translateY(0);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  /* Clicks pass through to card overlay, except for button which has pointer-events: auto */
}

/* Typography - Light on Dark */
li.product.mircato-card-style-modern .woocommerce-loop-product__title,
.mircato-product-slider-widget .product.mircato-card-style-modern .woocommerce-loop-product__title {
  font-weight: 600;
  font-size: 1.15rem;
  color: #fff;
  margin: 0 auto 8px;
  text-align: center;
  line-height: 1.3;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  letter-spacing: -0.01em;
}

li.product.mircato-card-style-modern .price,
.mircato-product-slider-widget .product.mircato-card-style-modern .price {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--mp-color-white);
  margin: 0 auto;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  display: block;
}

.mircato-card-style-modern .price del {
  color: rgba(255, 255, 255, 0.6);
  font-weight: 400;
  font-size: 0.95rem;
  margin-right: 8px;
}

.mircato-card-style-modern .price ins {
  text-decoration: none;
  background: linear-gradient(135deg, var(--mp-color-gold) 0%, var(--mp-color-gold-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Star Rating */
.woocommerce ul.products li.product.mircato-card-style-modern .star-rating,
.mircato-product-slider-widget .product.mircato-card-style-modern .star-rating {
  margin: 8px auto;
  display: block;
  float: none;
}

.mircato-card-style-modern .star-rating span::before {
  color: var(--mp-color-gold);
}

/* Force Specificity for Modern Card Buttons (No !important) */
/* Button is NOW OUTSIDE the details container (DOM change via PHP) */
html body #page li.product.mircato-card-style-modern .button,
html body #page li.product.mircato-card-style-modern a.button,
html body #page .mircato-product-slider-widget .product.mircato-card-style-modern .button {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  pointer-events: auto;
  margin: 0;
  width: auto;
  min-width: 160px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 8px;
  background: transparent;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.35);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 11px 19px;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;
}

/* Hover State */
html body #page li.product.mircato-card-style-modern .button:hover,
html body #page .mircato-product-slider-widget .product.mircato-card-style-modern .button:hover {
  background-color: #000000;
  color: #d4af37;
  border-color: #d4af37;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.2);
  transform: translateX(-50%);
}

/* Adjust Details Padding to make room for the button */
html body #page li.product.mircato-card-style-modern .mircato-product-details,
html body #page .mircato-product-slider-widget .product.mircato-card-style-modern .mircato-product-details {
  padding-bottom: 55px; /* Adjusting for swatches + potential button */
  pointer-events: none;
}

/* Sale Badge - Luxury Style */
.mircato-card-style-modern .onsale {
  position: absolute;
  top: 20px;
  left: 20px;
  background: linear-gradient(135deg, var(--mp-color-gold) 0%, var(--mp-color-gold-light) 100%);
  color: var(--mp-color-black);
  padding: 8px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: var(--mp-radius-full);
  z-index: 25;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

/* Luxury Loop Buttons (Style 3) */
li.product.mircato-card-style-modern .mircato-loop-buttons,
.mircato-product-slider-widget .product.mircato-card-style-modern .mircato-loop-buttons {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 500;
  opacity: 0;
  visibility: hidden;
  transform: translateX(15px);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

li.product.mircato-card-style-modern:hover .mircato-loop-buttons,
.mircato-product-slider-widget .product.mircato-card-style-modern:hover .mircato-loop-buttons {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Button Styling (Circle, Glass, Gold) - NO !IMPORTANT */
html body #page li.product.mircato-card-style-modern .mircato-loop-buttons button.mircato-quick-view-btn,
html body #page li.product.mircato-card-style-modern .mircato-loop-buttons button.mircato-wishlist-btn,
html body #page li.product.mircato-card-style-modern .mircato-loop-buttons button.mircato-compare-btn,
html body #page li.product.mircato-card-style-modern .mircato-loop-buttons button.mircato-loop-compare-btn {
  background: rgba(30, 30, 30, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--mp-color-gold);
  border: 1px solid rgba(212, 175, 55, 0.4);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--mp-transition-normal) cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  margin: 0;
}

/* Ensure Icons are visible and centered */
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-quick-view-btn i,
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-wishlist-btn i,
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-compare-btn i,
html body #page .mircato-card-style-modern .mircato-loop-buttons button.mircato-loop-compare-btn i {
  font-size: 18px;
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", sans-serif;
  font-weight: 400;
  color: var(--mp-color-gold);
  margin: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

/* Hover Effects for Buttons - NO !IMPORTANT */
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-quick-view-btn:hover,
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-wishlist-btn:hover,
html body #page .mircato-card-style-modern .mircato-loop-buttons .mircato-compare-btn:hover,
html body #page .mircato-card-style-modern .mircato-loop-buttons button.mircato-loop-compare-btn:hover {
  background: var(--mp-color-black);
  border-color: var(--mp-color-gold);
  transform: scale(1.1) translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
  color: var(--mp-color-gold-light);
}

/* Wishlist Active State for Style 3 (Full Golden Heart) */
html body #page .mircato-card-style-modern .mircato-wishlist-btn.active {
  background: rgba(30, 30, 30, 0.95);
  border-color: var(--mp-color-gold);
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
}

html body #page .mircato-card-style-modern .mircato-wishlist-btn.active i {
  color: var(--mp-color-gold);
  font-weight: 900;
  /* Solid heart */
  filter: drop-shadow(0 0 4px rgba(212, 175, 55, 0.6));
}

/* Luxury Loading Animation (Style 3) */
.mircato-card-style-modern .mircato-wishlist-btn.loading,
.mircato-card-style-modern .mircato-quick-view-btn.loading {
  opacity: 0.8;
}

.mircato-card-style-modern .mircato-wishlist-btn.loading i,
.mircato-card-style-modern .mircato-quick-view-btn.loading .dashicons {
  opacity: 0;
}

.mircato-card-style-modern .mircato-wishlist-btn.loading::after,
.mircato-card-style-modern .mircato-quick-view-btn.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(212, 175, 55, 0.2);
  border-top-color: #d4af37;
  border-radius: 50%;
  margin: -10px 0 0 -10px;
  animation: luxurySpin 0.8s linear infinite;
}

@keyframes luxurySpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* --------------------------------------------------------------------------
   STYLE 4: BOXED OVERLAY (Grid Powered)
   selector: .mircato-card-style-boxed
   -------------------------------------------------------------------------- */
/* Background & Border - High Specificity ROOT */
#page .mp-product-card.mircato-card-style-boxed {
  background: #ffffff;
  border: 1px solid #eeeeee;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  box-sizing: border-box;
}

#page .mp-product-card.mircato-card-style-boxed:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

/* Image Wrapper */
#page .mp-product-card.mircato-card-style-boxed .mircato-product-image-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1/1;
  background: #f8f8f8;
}

#page .mp-product-card.mircato-card-style-boxed .mircato-product-image-wrap img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

#page .mp-product-card.mircato-card-style-boxed:hover .mircato-product-image-wrap img {
  transform: scale(1.1);
}

/* Sale Badges Overlay */
#page .mp-product-card.mircato-card-style-boxed .onsale,
#page .mp-product-card.mircato-card-style-boxed .mircato-percentage-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #e74c3c;
  color: #ffffff;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 50px;
  z-index: 30;
  margin: 0;
}

/* Add to Cart Overlay - POSITIONED AT BOTTOM */
html body #page .mp-product-card.mircato-card-style-boxed .mircato-atc-overlay.button {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translate(-50%, 20px) scale(0.9);
  z-index: 100;
  min-width: 140px;
  padding: 12px 25px;
  background-color: #111111;
  color: #ffffff;
  text-align: center;
  border-radius: 50px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  pointer-events: none;
  box-sizing: border-box;
  white-space: nowrap;
  text-decoration: none;
  line-height: normal;
}

html body #page .mp-product-card.mircato-card-style-boxed:hover .mircato-atc-overlay.button {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
}

html body #page .mp-product-card.mircato-card-style-boxed .mircato-atc-overlay.button:hover {
  background-color: var(--mp-color-primary, #6366f1);
  color: #ffffff;
  transform: translate(-50%, -5px) scale(1.05);
}

/* Action Buttons Overlay (Wishlist, Quickview) */
html body #page .mp-product-card.mircato-card-style-boxed .mircato-loop-buttons {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  z-index: 90;
}

html body #page .mp-product-card.mircato-card-style-boxed:hover .mircato-loop-buttons {
  opacity: 1;
  transform: translateX(0);
}

/* Standardize Icon Buttons (YITH & DEFAULT) - SPECIFICITY CHAIN */
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons .button,
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons button,
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons .mircato-wishlist-btn,
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons .mircato-compare-btn,
html body #page li.product.mircato-card-style-boxed .yith-wcqv-button,
html body #page li.product.mircato-card-style-boxed .yith-wcqv-button.button {
  background-color: #000000;
  color: #ffffff;
  width: 42px;
  height: 42px;
  min-width: 42px;
  max-width: 42px;
  min-height: 42px;
  max-height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background-image: none;
  line-height: normal;
  outline: none;
}

html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons .button:hover,
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons button:hover,
html body #page li.product.mircato-card-style-boxed .mircato-loop-buttons .mircato-wishlist-btn:hover,
html body #page li.product.mircato-card-style-boxed .yith-wcqv-button:hover {
  background-color: #ffffff;
  color: #000000;
  transform: scale(1.1);
}

/* Icon Centering & Font Correction */
html body #page .mircato-card-style-boxed .mircato-loop-buttons i,
html body #page .mircato-card-style-boxed .yith-wcqv-button::before,
html body #page .mircato-card-style-boxed .yith-wcqv-button i {
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  margin: 0;
  width: auto;
  height: auto;
}

/* YITH Quick View Text Suppression */
html body #page .mircato-card-style-boxed .yith-wcqv-button span {
  display: none;
  visibility: hidden;
  font-size: 0;
}

/* YITH Icon Force */
html body #page .mircato-card-style-boxed .yith-wcqv-button::before {
  content: "\f06e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/* Details Section */
html body #page .mp-product-card.mircato-card-style-boxed .mircato-product-details {
  padding: 20px 15px;
  text-align: center;
  background: #ffffff;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: auto;
  /* Ensure clickable */
}

/* Category styling for Boxed style (Isolated from Magazine) */
html body #page .mp-product-card.mircato-card-style-boxed .mircato-card-category {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #888888;
  margin-bottom: 8px;
  font-weight: 600;
}

html body #page .mp-product-card.mircato-card-style-boxed .woocommerce-loop-product__title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #333333;
  display: block;
  line-height: 1.3;
  text-decoration: none;
}

/* Price styling for Boxed style (Restored to Primary from Style 3 Gold) */
html body #page .mp-product-card.mircato-card-style-boxed .price {
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-color-primary, #6366f1);
}

html body #page .mp-product-card.mircato-card-style-boxed .price del {
  font-size: 13px;
  color: #999999;
  font-weight: 400;
  margin-right: 5px;
}

html body #page .mp-product-card.mircato-card-style-boxed .price ins {
  text-decoration: none;
  color: inherit;
  background: transparent;
  -webkit-text-fill-color: initial;
}

/* Star Rating for Boxed style (Isolated from Magazine Gold) */
html body #page .mp-product-card.mircato-card-style-boxed .star-rating {
  margin: 8px auto 0;
  font-size: 13px;
  color: #ffb400;
}

html body #page .mp-product-card.mircato-card-style-boxed .star-rating span::before {
  color: inherit;
}

/* Mircato Brand Widget Styles */
/* Shared Card Styles */
.mircato-brand-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--mircato-border-radius, 12px);
  background: #fff;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.mircato-brand-card.mircato-card-clickable {
  cursor: pointer;
}

.mircato-brand-card__image {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  aspect-ratio: 1/1;
}

.mircato-brand-card__image img {
  max-width: 80%;
  max-height: 80%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.5s ease;
  filter: grayscale(100%);
  opacity: 0.6;
}

.mircato-brand-card:hover .mircato-brand-card__image img {
  transform: scale(1.1);
  filter: grayscale(0%);
  opacity: 1;
}

.mircato-brand-card__content {
  padding: 15px;
  text-align: center;
}

.mircato-brand-card__title {
  font-size: 16px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  color: #333;
  margin: 0;
  padding: 10px 10px 0;
  text-align: center;
  line-height: 1.4;
  display: block;
}

.mircato-brand-card__count {
  display: block;
  font-size: 0.85rem;
  color: var(--mircato-text-color-light, #777);
  margin-top: 4px;
}

/* Layout: Grid */
.mircato-brand-grid {
  display: grid;
  gap: 20px;
  width: 100%;
}

/* Mobile First Grid (Default 2 cols) */
.mircato-brand-grid {
  grid-template-columns: repeat(2, 1fr);
}

.mircato-brand-grid[data-columns-mobile="1"] {
  grid-template-columns: repeat(1, 1fr);
}

.mircato-brand-grid[data-columns-mobile="2"] {
  grid-template-columns: repeat(2, 1fr);
}

/* Tablet (Default 3 cols) */
@media (min-width: 768px) {
  .mircato-brand-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .mircato-brand-grid[data-columns-tablet="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .mircato-brand-grid[data-columns-tablet="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
  .mircato-brand-grid[data-columns-tablet="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* Desktop */
@media (min-width: 1024px) {
  .mircato-brand-grid[data-columns="1"] {
    grid-template-columns: repeat(1, 1fr);
  }
  .mircato-brand-grid[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .mircato-brand-grid[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
  .mircato-brand-grid[data-columns="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
  .mircato-brand-grid[data-columns="5"] {
    grid-template-columns: repeat(5, 1fr);
  }
  .mircato-brand-grid[data-columns="6"] {
    grid-template-columns: repeat(6, 1fr);
  }
}
/* Layout: Slider */
.mircato-brand-slider .swiper-container {
  width: 100%;
  overflow: hidden;
}

/* Hover Styles - Premium Effects */
.mircato-brand-card--hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
  border-color: transparent;
}

.mircato-brand-card--overlay .mircato-brand-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(5px);
  transition: all 0.3s ease;
}

.mircato-brand-card--overlay:hover .mircato-brand-card__content {
  background: var(--mp-color-accent, #f59e0b);
}

.mircato-brand-card--overlay:hover .mircato-brand-card__title,
.mircato-brand-card--overlay:hover .mircato-brand-card__count {
  color: #fff;
}

/* ==========================================================================
   CATEGORY SHOWCASE WIDGET
   ========================================================================== */
.mircato-category-widget {
  position: relative;
  width: 100%;
}

.mircato-section-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 25px;
}

/* --- GRID LAYOUT --- */
.mircato-category-grid {
  display: grid;
  width: 100%;
  /* Gap is set via inline style from widget control */
}

/* Mobile Columns (Default 2) */
.mircato-category-grid {
  grid-template-columns: repeat(2, 1fr);
}

/* Mobile Columns Override */
.mircato-category-grid[data-columns-mobile="1"] {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  /* Tablet Columns */
  .mircato-category-grid[data-columns-tablet="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .mircato-category-grid[data-columns-tablet="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
  .mircato-category-grid[data-columns-tablet="4"] {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1024px) {
  /* Desktop Columns (Specific Classes) */
  .mircato-category-grid--1 {
    grid-template-columns: 1fr;
  }
  .mircato-category-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .mircato-category-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .mircato-category-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .mircato-category-grid--5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .mircato-category-grid--6 {
    grid-template-columns: repeat(6, 1fr);
  }
}
/* --- CARD STYLING --- */
.mircato-category-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}

/* Clickable */
.mircato-card-clickable {
  cursor: pointer;
}

/* Image Wrapper */
.mircato-category-card__image {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* Aspect Ratio set via inline style */
}

.mircato-category-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: block;
}

/* Content */
.mircato-category-card__content {
  padding: 15px 0;
}

.mircato-category-card__title {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
  color: var(--color-heading, #111);
  transition: color 0.3s ease;
}

.mircato-category-card__link {
  text-decoration: none;
  color: inherit;
}

.mircato-category-card__count {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  color: #777;
}

/* --- STYLE: OVERLAY --- */
.mircato-category-card--overlay .mircato-category-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  color: #fff;
  z-index: 2;
  pointer-events: none;
  /* Let clicks pass to card */
}

.mircato-category-card--overlay .mircato-category-card__title {
  color: #fff;
}

.mircato-category-card--overlay .mircato-category-card__count {
  color: rgba(255, 255, 255, 0.8);
}

/* --- HOVER EFFECTS --- */
/* Lift */
.mircato-category-card--hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Zoom (Image Only) */
.mircato-category-card--hover-zoom:hover .mircato-category-card__image img {
  transform: scale(1.1);
}

/* --- SLIDER / CAROUSEL --- */
.mircato-category-slider .swiper-container {
  overflow: hidden;
  /* Hide overflow for slider */
  padding-bottom: 40px;
  /* Space for pagination/shadows */
}

.swiper-pagination-bullet-active {
  background: #000;
}

/**
 * Mircato Pro Widgets Styles
 */
/* 8. Pricing Table */
.mircato-pricing-table {
  background: var(--mp-color-white);
  padding: var(--mp-space-2xl);
  border: 1px solid var(--mp-color-light-dark);
  border-radius: var(--mp-radius-md);
  text-align: center;
  position: relative;
  transition: all var(--mp-transition-base);
}

.mircato-pricing-table.featured {
  border-color: var(--mp-color-accent);
  box-shadow: var(--mp-shadow-xl);
  transform: scale(1.05);
  z-index: 2;
}

.mircato-pricing-badge {
  position: absolute;
  top: -12px;
  right: 20px;
  background: var(--mp-color-accent);
  color: var(--mp-color-white);
  padding: 4px 12px;
  border-radius: var(--mp-radius-full);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
}

.mircato-pricing-title {
  font-size: 1.5rem;
  margin-bottom: 20px;
}

.mircato-pricing-cost {
  margin-bottom: 30px;
}

.mircato-pricing-cost .price {
  font-size: 3rem;
  font-weight: 700;
  color: var(--mp-color-text-main);
}

.mircato-pricing-cost .period {
  color: var(--mp-color-text-light);
  font-size: 1rem;
}

.mircato-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 30px;
}

.mircato-pricing-features li {
  padding: 10px 0;
  border-bottom: 1px solid #f1f1f1;
}

.mircato-pricing-features li:last-child {
  border-bottom: none;
}

/* 9. Newsletter Section */
.mircato-newsletter {
  text-align: center;
  padding: var(--mp-space-3xl);
  background: var(--mp-color-light);
  border-radius: var(--mp-radius-md);
}

.mircato-newsletter-title {
  font-size: 2rem;
  margin-bottom: 10px;
}

.mircato-newsletter-desc {
  margin-bottom: 30px;
  color: var(--mp-color-text-light);
}

.mircato-newsletter-form .mircato-input-group {
  display: flex;
  max-width: 500px;
  margin: 0 auto;
}

.mircato-newsletter-form input[type=email] {
  flex: 1;
  padding: 12px 20px;
  border: 1px solid var(--mp-color-light-dark);
  border-right: none;
  border-radius: var(--mp-radius-md) 0 0 var(--mp-radius-md);
  outline: none;
}

.mircato-newsletter-form button {
  border-radius: 0 var(--mp-radius-md) var(--mp-radius-md) 0;
  border: none;
  cursor: pointer;
}

/* 6. Feature Boxes */
.mircato-feature-boxes {
  display: grid;
  grid-gap: var(--mp-space-lg);
  padding: 30px 0;
}

.mircato-feature-boxes.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.mircato-feature-boxes.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.mircato-feature-boxes.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.mircato-feature-box {
  display: flex;
  align-items: flex-start;
  padding: var(--mp-space-lg);
  border: 1px solid var(--mp-color-light-dark);
  border-radius: var(--mp-radius-md);
  transition: transform var(--mp-transition-base);
}

.mircato-feature-box:hover {
  transform: translateY(-5px);
  box-shadow: var(--mp-shadow-md);
}

.mircato-feature-icon {
  font-size: 2rem;
  color: var(--mp-color-accent);
  margin-right: 20px;
  min-width: 40px;
}

.mircato-feature-title {
  margin: 0 0 5px;
  font-size: 1.1rem;
  font-weight: 700;
}

.mircato-feature-desc {
  margin: 0;
  font-size: 0.9rem;
  color: var(--mp-color-text-light);
}

@media (max-width: 768px) {
  .mircato-feature-boxes.columns-3,
  .mircato-feature-boxes.columns-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .mircato-feature-boxes.columns-2,
  .mircato-feature-boxes.columns-3,
  .mircato-feature-boxes.columns-4 {
    grid-template-columns: 1fr;
  }
}
/* 7. Brand Logos */
.mircato-brand-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--mp-space-lg);
  padding: 30px 0;
}

.mircato-brand-item img {
  max-height: 80px;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: var(--mp-transition-base);
}

.mircato-brand-item img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* 5. Countdown Sale */
.mircato-countdown-wrapper {
  position: relative;
  padding: 60px 20px;
  background-color: var(--mp-color-dark);
  /* Fallback */
  background-size: cover;
  background-position: center;
  color: var(--mp-color-white);
  border-radius: var(--mp-radius-md);
  overflow: hidden;
}

.mircato-countdown-wrapper .mircato-countdown-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.mircato-countdown-content {
  position: relative;
  z-index: 2;
}

.mircato-countdown-title {
  font-size: 2.5rem;
  margin-bottom: 30px;
  font-weight: 700;
  color: var(--mp-color-white);
}

.mircato-countdown-timer {
  display: flex;
  justify-content: center;
  gap: var(--mp-space-lg);
  flex-wrap: wrap;
}

.mircato-countdown-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 80px;
}

.mircato-countdown-number {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 5px;
  font-variant-numeric: tabular-nums;
  /* Monospaced numbers to prevent jitter */
}

.mircato-countdown-label {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.8;
}

@media (max-width: 600px) {
  .mircato-countdown-timer {
    gap: 15px;
  }
  .mircato-countdown-number {
    font-size: 2rem;
  }
  .mircato-countdown-item {
    min-width: 60px;
  }
}
/* 4. Testimonial Carousel */
.mircato-testimonial-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 40px 0;
  text-align: center;
  background: var(--mp-color-light);
  border-radius: var(--mp-radius-md);
}

.mircato-testimonial-slide {
  display: none;
  /* Hidden by default for JS */
  animation: fadeEffect 0.8s ease-out;
}

.mircato-testimonial-slide:first-child {
  display: block;
}

.mircato-testimonial-image img {
  width: 80px;
  height: 80px;
  border-radius: var(--mp-radius-full);
  margin-bottom: 20px;
  object-fit: cover;
  border: 3px solid var(--mp-color-white);
  box-shadow: var(--mp-shadow-sm);
}

.mircato-testimonial-text {
  font-size: 1.25rem;
  font-style: italic;
  color: var(--mp-color-text-main);
  max-width: 800px;
  margin: 0 auto 20px;
  line-height: 1.6;
}

.mircato-testimonial-name {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}

.mircato-testimonial-role {
  font-size: 0.9rem;
  color: var(--mp-color-text-light);
  display: block;
  margin-top: 5px;
}

@keyframes fadeEffect {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 1;
  }
}
/* 3. Promo Banner */
.mircato-promo-banner {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: var(--mp-radius-md);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--mp-color-white);
  cursor: pointer;
  /* Suggests clickability */
}

.mircato-promo-banner .mircato-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
  transition: background 0.3s ease;
}

.mircato-promo-banner:hover .mircato-overlay {
  background: rgba(0, 0, 0, 0.45);
}

.mircato-promo-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 20px;
  width: 100%;
}

.mircato-promo-subtitle {
  display: block;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  opacity: 0.9;
}

.mircato-promo-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 0 20px;
  color: var(--mp-color-white);
}

.mircato-promo-banner .mircato-button {
  padding: 10px 24px;
  font-size: 0.9rem;
}

/* 1. Hero Slider */
.mircato-hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Desktop Hero Constraint */
@media (min-width: 1024px) {
  .mircato-hero-slider {
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 0 20px;
    /* Visual matching with header/grid */
  }
}
.mircato-slide {
  position: relative;
  width: 100%;
  height: 600px;
  /* Increased Height for Premium Look */
  display: none;
  /* Hidden by default for JS */
  align-items: center;
  justify-content: center;
  color: var(--mp-color-white);
  background-color: var(--mp-color-dark);
  overflow: hidden;
}
.mircato-slide:first-child {
  display: flex;
}

.mircato-slide-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.mircato-slide-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  /* Overlay for text readability */
}

.mircato-slide-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 850px;
  padding: 40px;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.mircato-slide-title {
  font-size: 4rem;
  font-weight: 800;
  margin-bottom: 25px;
  color: var(--mp-color-white);
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  letter-spacing: -1px;
  line-height: 1.1;
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.mircato-slide-description {
  font-size: 1.4rem;
  margin-bottom: 40px;
  color: rgba(255, 255, 255, 0.9);
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.2s both;
}

.mircato-button {
  text-decoration: none;
  display: inline-flex;
  padding: 16px 45px;
  font-size: 16px;
  border-radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.4s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --------------------------------------------------------------------------
   WIDGET UTILITIES
   -------------------------------------------------------------------------- */
.mircato-product-grid,
.mircato-product-slider-widget {
  margin-bottom: 40px;
  clear: both;
}

@media (max-width: 768px) {
  .mircato-product-grid,
  .mircato-product-slider-widget {
    margin-bottom: 30px;
  }
}
/* --------------------------------------------------------------------------
   WIDGET COMPONENTS (Generic)
   -------------------------------------------------------------------------- */
/* Section Titles */
.mircato-section-title {
  max-width: 1200px;
  margin: 0 auto 30px;
  padding: 0 15px;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--mp-color-text-main);
  position: relative;
  font-family: var(--mp-font-secondary);
}

@media (max-width: 768px) {
  .mircato-section-title {
    font-size: 1.8rem;
  }
}
html body .mircato-section-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: var(--mp-color-primary);
  margin: 15px auto 0;
}

/* --------------------------------------------------------------------------
   SWIPER ENGINE & SLIDER WIDGETS
   -------------------------------------------------------------------------- */
html body .mircato-product-slider-widget {
  margin-bottom: 40px;
  clear: both;
  position: relative;
}

/* Swiper Container Hooks */
html body .mircato-product-slider-widget .swiper-container,
html body .mircato-product-slider-widget .swiper,
html body .mircato-product-slider-widget .mircato-swiper {
  position: relative;
  overflow: hidden;
  /* CRITICAL: Must be hidden for slider functionality */
  list-style: none;
  padding: 10px 0 45px;
  margin: 0;
  z-index: 1;
  display: block;
}

/* Wrapper - The 'Train' */
html body .mircato-product-slider-widget .swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
  flex-wrap: nowrap;
  /* CRITICAL: Prevents vertical stacking */
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Slides - The 'Cars' */
html body .mircato-product-slider-widget .swiper-slide {
  flex-shrink: 0;
  /* CRITICAL: Prevents slides from squishing */
  width: 100%;
  height: auto;
  position: relative;
  transition-property: transform;
  display: flex;
  flex-direction: column;
}

/* Swiper Navigation (Universal for Widgets) */
.mircato-product-slider-widget .swiper-button-next,
.mircato-product-slider-widget .swiper-button-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--mp-color-black);
  background: var(--mp-color-white);
  width: 44px;
  height: 44px;
  border-radius: var(--mp-radius-full);
  box-shadow: var(--mp-shadow-md);
  z-index: 20;
  margin: 0;
  transition: all var(--mp-transition-base);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mircato-product-slider-widget .swiper-button-prev {
  left: 15px;
}

.mircato-product-slider-widget .swiper-button-next {
  right: 15px;
}

.mircato-product-slider-widget .swiper-button-next::after,
.mircato-product-slider-widget .swiper-button-prev::after {
  font-size: 18px;
  font-weight: 700;
}

.mircato-product-slider-widget .swiper-button-next:hover,
.mircato-product-slider-widget .swiper-button-prev:hover {
  background: var(--mp-color-black);
  color: var(--mp-color-white);
}

/* --------------------------------------------------------------------------
   SINGLE PRODUCT DEFENSE LAYER
   Ensures main interactive elements are never blocked by card styling
   -------------------------------------------------------------------------- */
body.single-product div.product .summary {
  position: relative;
  z-index: 100;
  pointer-events: auto;
}

body.single-product div.product form.cart .single_add_to_cart_button {
  position: relative;
  z-index: 110;
  pointer-events: auto;
}

/* Ensure images in gallery aren't blocked */
body.single-product div.product .woocommerce-product-gallery {
  position: relative;
  z-index: 50;
  pointer-events: auto;
}

.mircato-product-slider-widget .swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* Hide navigation when there are not enough slides to slide */
.mircato-product-slider-widget.mircato-nav-hidden .swiper-button-next,
.mircato-product-slider-widget.mircato-nav-hidden .swiper-button-prev,
.mircato-product-slider-widget .swiper-button-lock {
  display: none;
}

@media (max-width: 768px) {
  .mircato-product-slider-widget .swiper-button-next,
  .mircato-product-slider-widget .swiper-button-prev {
    display: none;
    /* Hide on mobile for better touch experience */
  }
}
/* --- Infinite Scroll & Load More Styles --- */
html body .mircato-load-more-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  width: 100%;
  clear: both;
}

html body .mircato-load-more-btn {
  min-width: 220px;
  padding: 14px 40px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 50px;
  background: var(--mp-color-black, #111);
  color: #fff;
  border: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

html body .mircato-load-more-btn:hover {
  background: var(--mp-color-primary, #6366f1);
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  color: #fff;
}

html body .mircato-load-more-btn.loading {
  opacity: 0.7;
  cursor: wait;
}

html body .mircato-load-more-btn.loading::after {
  display: none;
}

html body .mircato-infinite-loader,
html body .mircato-no-more-products {
  display: block;
  width: 100%;
  text-align: center;
  padding: 40px 0;
  font-weight: 500;
  color: #777;
  clear: both;
  font-size: 16px;
  border-top: 1px solid var(--mp-border-color, rgba(0, 0, 0, 0.05));
  margin-top: 40px;
}

html body .mircato-infinite-loader .spinner {
  width: 38px;
  height: 38px;
  border: 3px solid rgba(0, 0, 0, 0.08);
  border-top-color: var(--mp-color-primary, #6366f1);
  border-radius: 50%;
  animation: mp-spin 0.8s linear infinite;
  margin: 0 auto;
}

@keyframes mp-spin {
  to {
    transform: rotate(360deg);
  }
}
/* Mini Cart Specific Adjustment - Force Visibility (No !important) */
html body #page .widget_shopping_cart .quantity,
html body #page .widget_shopping_cart_content .quantity {
  display: inline-flex;
  visibility: visible;
  opacity: 1;
  border-color: rgba(0, 0, 0, 0.1);
  height: 44px;
  margin-right: 5px;
}

.widget_shopping_cart .quantity .qty {
  height: 28px;
  width: 30px;
  font-size: 12px;
}

.widget_shopping_cart .quantity .mircato-qty-btn {
  height: 28px;
  width: 24px;
}

/* ==========================================================================
   WOOCOMMERCE BLOCKS - PREMIUM CARD BRIDGE
   Universal support for Style 1-4 on Gutenberg Blocks
   ========================================================================== */
/* 0. Common Block Adjustments */
html body .wc-block-grid.theme-rendered-block .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(var(--wp--style--block-gap, 4), 1fr);
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .theme-rendered-block.has-4-columns .wc-block-grid__products {
  grid-template-columns: repeat(4, 1fr);
}

html body .theme-rendered-block.has-3-columns .wc-block-grid__products {
  grid-template-columns: repeat(3, 1fr);
}

html body .theme-rendered-block.has-2-columns .wc-block-grid__products {
  grid-template-columns: repeat(2, 1fr);
}

html body .wc-block-grid .wc-block-grid__product {
  padding: 0;
  position: relative;
  margin: 0;
}

/* 3. STYLE 3 (Modern) - Block Bridge */
/* Force absolute layering and button visibility for blocks */
html body .mircato-body-card-style-modern .wc-block-grid__product {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: transparent;
  border-radius: 12px;
  min-height: 480px;
  /* Premium aspect ratio */
}

html body .mircato-body-card-style-modern .wc-block-grid__product .mircato-product-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  margin: 0;
}

/* Ensure image fills correctly */
html body .mircato-body-card-style-modern .wc-block-grid__product .mircato-product-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body .mircato-body-card-style-modern .wc-block-grid__product .mircato-loop-buttons {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  opacity: 1;
  visibility: visible;
}

html body .mircato-body-card-style-modern .wc-block-grid__product .wc-block-grid__product-add-to-cart,
html body .mircato-body-card-style-modern .wc-block-grid__product .wp-block-button {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  margin: 0;
  display: flex;
  justify-content: center;
}

html body .mircato-body-card-style-modern .wc-block-grid__product .wc-block-grid__product-add-to-cart a,
html body .mircato-body-card-style-modern .wc-block-grid__product .wp-block-button__link {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  padding: 10px 22px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8rem;
  white-space: nowrap;
  text-decoration: none;
}

/* ==========================================================================
   SHOP SIDEBAR FILTERS (VERTICAL)
   ========================================================================== */
.mircato-filters-form-vertical {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding-right: 15px;
}
@media (min-width: 901px) {
  .mircato-filters-form-vertical {
    margin-top: 45px;
  }
}

.mircato-vertical-filter-group {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 25px;
}
.mircato-vertical-filter-group:last-child {
  border-bottom: none;
}
.mircato-vertical-filter-group h4 {
  font-family: var(--mp-font-primary, "Outfit", sans-serif);
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--mp-color-text-main, #111);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  display: inline-block;
}
.mircato-vertical-filter-group h4::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 30px;
  height: 2px;
  background: var(--mp-color-accent, #f59e0b);
}

/* --- List Styles --- */
.mircato-vertical-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mircato-vertical-list li {
  margin-bottom: 12px;
  font-size: 15px;
  line-height: 1.4;
  position: relative;
}
.mircato-vertical-list li:last-child {
  margin-bottom: 0;
}
.mircato-vertical-list li .mircato-cat-item-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.mircato-vertical-list li a {
  color: var(--mp-color-text-secondary, #666);
  text-decoration: none;
  transition: all 0.3s ease;
  flex: 1;
}
.mircato-vertical-list li a:hover, .mircato-vertical-list li a.active {
  color: var(--mp-color-accent, #f59e0b);
  padding-left: 5px;
}
.mircato-vertical-list li .mircato-cat-toggle {
  cursor: pointer;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  color: #ccc;
}
.mircato-vertical-list li .mircato-cat-toggle:hover {
  color: var(--mp-color-accent, #f59e0b);
}
.mircato-vertical-list li .mircato-cat-toggle i {
  font-size: 18px;
}
.mircato-vertical-list li.is-open > .mircato-cat-item-wrap .mircato-cat-toggle {
  transform: rotate(180deg);
}
.mircato-vertical-list {
  /* Sub-menus (Hierarchy) */
}
.mircato-vertical-list .sub-menu {
  list-style: none;
  padding-left: 15px;
  margin-top: 10px;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  display: none;
}
.mircato-vertical-list .sub-menu li {
  font-size: 14px;
  margin-bottom: 8px;
}

/* --- Checkbox & Radio Lists --- */
.mircato-filters-form-vertical .mircato-checkbox-list li {
  margin-bottom: 10px;
}
.mircato-filters-form-vertical .mircato-checkbox-list label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  color: var(--mp-color-text-secondary, #666);
  transition: color 0.3s ease;
  font-size: 14px;
  user-select: none;
}
.mircato-filters-form-vertical .mircato-checkbox-list label:hover {
  color: var(--mp-color-text-main, #111);
}
.mircato-filters-form-vertical .mircato-checkbox-list label:hover input[type=checkbox],
.mircato-filters-form-vertical .mircato-checkbox-list label:hover input[type=radio] {
  border-color: var(--mp-color-accent, #f59e0b);
}
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=checkbox],
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ddd;
  border-radius: 4px;
  background: #fff;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
  margin: 0;
  flex-shrink: 0;
}
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=checkbox]:checked,
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=radio]:checked {
  background: var(--mp-color-accent, #f59e0b);
  border-color: var(--mp-color-accent, #f59e0b);
}
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=checkbox]:checked::after,
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=radio]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=radio] {
  border-radius: 50%;
}
.mircato-filters-form-vertical .mircato-checkbox-list label input[type=radio]:checked::after {
  content: "";
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
}

/* --- Filter Actions --- */
.mircato-filter-actions {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 10px;
}
.mircato-filter-actions .mircato-apply-filters-btn {
  width: 100%;
  padding: 15px;
  background: var(--mp-color-black, #111);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.mircato-filter-actions .mircato-apply-filters-btn:hover {
  background: var(--mp-color-accent, #f59e0b);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(245, 158, 11, 0.3);
}
.mircato-filter-actions .mircato-clear-filters-btn {
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #999;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}
.mircato-filter-actions .mircato-clear-filters-btn:hover {
  color: var(--mp-color-danger, #ef4444);
}

/* ==========================================================================
   OFF-CANVAS DRAWER FILTERS
   ========================================================================== */
.mircato-filter-trigger-wrapper {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin-right: 15px;
}

.mircato-filter-trigger-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--mp-color-text-main, #111);
  border: 1px solid #e5e5e5;
  padding: 8px 15px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  font-size: 13px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}
.mircato-filter-trigger-btn:hover {
  background: var(--mp-color-accent, #f59e0b);
  border-color: var(--mp-color-accent, #f59e0b);
  color: #fff;
}
.mircato-filter-trigger-btn i,
.mircato-filter-trigger-btn .dashicons {
  font-size: 16px;
}

/* Base states */
.mircato-off-canvas-panel {
  position: fixed;
  top: 0;
  left: -350px;
  width: 320px;
  height: 100vh;
  background: #fff;
  z-index: 99999;
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.1);
  transition: left 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  display: flex;
  flex-direction: column;
}
.mircato-off-canvas-panel.is-open {
  left: 0;
}
.mircato-off-canvas-panel {
  /* Support right-aligned language if needed, but left is standard for filter drawers */
}
.rtl .mircato-off-canvas-panel {
  left: auto;
  right: -350px;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
}
.rtl .mircato-off-canvas-panel.is-open {
  right: 0;
}

.mircato-off-canvas-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  border-bottom: 1px solid #f0f0f0;
}
.mircato-off-canvas-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mircato-off-canvas-close {
  background: transparent;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: #999;
  cursor: pointer;
  transition: color 0.3s ease;
  padding: 0;
}
.mircato-off-canvas-close:hover {
  color: var(--mp-color-danger, #ef4444);
}

.mircato-off-canvas-body {
  padding: 25px;
  overflow-y: auto;
  flex: 1;
  /* Override vertical margin inside the drawer */
}
.mircato-off-canvas-body .mircato-filters-form-vertical {
  margin-top: 0;
  padding-right: 0;
}

.mircato-off-canvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.mircato-off-canvas-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

body.mircato-off-canvas-locked {
  overflow: hidden;
}

/* ==========================================================================
   AJAX FILTER LOADING STATES
   ========================================================================== */
.mircato-shop-content.mircato-loading {
  position: relative;
  pointer-events: none;
}
.mircato-shop-content.mircato-loading > * {
  opacity: 0.3;
  transition: opacity 0.3s ease;
}

.mircato-skeleton-loader {
  position: absolute;
  top: 50px;
  /* Offset from top */
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--mp-color-accent, #f59e0b);
  border-radius: 50%;
  animation: spin 1s infinite linear;
  z-index: 10;
}

@keyframes spin {
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}
/* Mircato Pro Quick View Styles - Refined for Consistency */
html body #page .mircato-quick-view-wrapper .mircato-qv-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  text-align: left;
  opacity: 1;
  visibility: visible;
  /* Hide Navigation Arrows if only one image - Applied via PHP class */
}
html body #page .mircato-quick-view-wrapper .mircato-qv-content.mircato-qv-has-single-image .flex-direction-nav {
  display: none;
  visibility: hidden;
  opacity: 0;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-gallery-side {
  min-width: 0;
  overflow: visible;
  opacity: 1;
  position: relative;
  width: 100%;
  display: block;
}

.mircato-qv-main-wrapper {
  width: 100%;
  margin-bottom: 20px;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #fbfbfb;
  border-radius: 6px;
  overflow: hidden;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-main-slider {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-main-slider.flexslider-initialized,
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider.flexslider-initialized {
  opacity: 1;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-main-slider.flexslider-initialized *,
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider.flexslider-initialized * {
  opacity: 1;
}

html body #page .mircato-quick-view-wrapper .slides {
  list-style: none;
  padding: 0;
  margin: 0;
}

html body #page .mircato-quick-view-wrapper .slides li {
  margin: 0;
}

.mircato-quick-view-wrapper .mircato-qv-main-slider img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

html body #page .mircato-qv-nav-slider-container {
  width: 100%;
  position: relative;
  margin-top: auto;
  padding: 10px 0 0;
  overflow: visible;
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0 auto;
  padding: 15px 5px;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(to right, transparent, black 25px, black calc(100% - 25px), transparent);
  mask-image: linear-gradient(to right, transparent, black 25px, black calc(100% - 25px), transparent);
  scroll-behavior: smooth;
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs li {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  overflow: visible;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: #fff;
  padding: 2px;
  cursor: pointer;
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 4px;
  transition: all 0.3s ease;
  opacity: 0.5;
}

/* Active Thumbnail Style - EXACT Parity with Single Product V4 */
html body #page .mircato-quick-view-wrapper .flex-control-thumbs li.active-thumb {
  border: 2px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(135deg, var(--mp-color-primary, #6366f1), var(--mp-color-primary-dark, #4f46e5));
  background-origin: border-box;
  background-clip: content-box, border-box;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  transform: translateY(-3px);
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs li.active-thumb img {
  opacity: 1;
}

/* Visual indicator arrows (Exact Parity with Single Product Page) */
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container::before,
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  width: 40px;
  height: 100%;
  pointer-events: none;
  z-index: 50;
  opacity: 0;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Left Indicator with Gradient */
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.98) 20%, rgba(255, 255, 255, 0) 100%);
}

/* Right Indicator with Gradient */
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.98) 20%, rgba(255, 255, 255, 0) 100%);
}

/* Chevron Shape inside Indicators */
html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container.has-more-left::before {
  opacity: 1;
  content: "‹";
  font-size: 30px;
  color: #999999;
  font-weight: 300;
  padding-right: 15px;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-nav-slider-container.has-more-right::after {
  opacity: 1;
  content: "›";
  font-size: 30px;
  color: #999999;
  font-weight: 300;
  padding-left: 15px;
}

/* Hide empty list items that FlexSlider might create */
html body #page .mircato-quick-view-wrapper .flex-control-thumbs li:empty {
  display: none;
}

html body #page .mircato-quick-view-wrapper .flex-control-thumbs li:not(:has(img)) {
  display: none;
}

/* Slider Navigation Arrows - Overlays image, takes no layout space */
html body #page .mircato-quick-view-wrapper .flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  pointer-events: none;
  /* Don't block image clicks/drags */
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav li {
  margin: 0;
  padding: 0;
  display: block;
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  position: absolute;
  top: 50%;
  margin-top: -22px;
  z-index: 101;
  opacity: 0;
  cursor: pointer;
  color: var(--mp-color-text-main, #111111);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  pointer-events: auto;
  /* Re-enable clicks for buttons */
}

/* Better vertical centering logic */
.mircato-quick-view-wrapper .mircato-qv-main-wrapper:hover .flex-direction-nav a {
  opacity: 1;
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a:hover {
  background: var(--mp-color-text-main, #111111);
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a:before {
  font-family: "dashicons";
  font-size: 24px;
  display: inline-block;
  content: "\f341";
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a.flex-next:before {
  content: "\f345";
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a.flex-prev {
  left: 15px;
}

html body #page .mircato-quick-view-wrapper .flex-direction-nav a.flex-next {
  right: 15px;
}

html body #page .mircato-quick-view-wrapper .mircato-qv-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 40px;
  text-align: left;
  opacity: 1;
  visibility: visible;
  background: #fff;
  border-radius: 6px;
}

.mircato-quick-view-wrapper .mircato-qv-main-slider:hover .flex-direction-nav a {
  opacity: 1;
}

.mircato-quick-view-wrapper .summary {
  min-width: 0;
}

html body #page .mircato-quick-view-wrapper .product_title {
  margin-top: 10px;
  font-size: 1.8rem;
  font-family: "Outfit", sans-serif;
  /* Fixed: Use Theme Font */
  font-weight: 700;
  color: var(--mp-color-text-main, #111111);
  display: block;
  line-height: 1.2;
  margin-bottom: 10px;
}

html body #page .mircato-quick-view-wrapper .price {
  font-size: 1.5rem;
  margin-bottom: 20px;
  display: block;
  color: var(--mp-color-primary, #6366f1);
  font-weight: 600;
}

.mircato-quick-view-wrapper .woocommerce-product-details__short-description {
  font-size: 14px;
  line-height: 1.6;
  color: var(--mp-color-text-secondary, #666666);
  margin-bottom: 25px;
}

/* Premium Add to Cart Section (Grid Layout to fix alignment) */
.mircato-quick-view-wrapper .mircato-qv-atc {
  margin-top: 20px;
  width: 100%;
}

html body #page .mircato-quick-view-wrapper form.cart {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

/* Stock Status */
html body #page .mircato-quick-view-wrapper .stock {
  font-size: 13px;
  color: #10b981;
  /* Green for in-stock */
  font-weight: 600;
  margin-right: auto;
  /* Pushes it to the left if needed, or handled by flex box order */
}

html body #page .mircato-quick-view-wrapper .stock.out-of-stock {
  color: #ef4444;
}

/* Quantity Selector - Explicit Override for Quick View */
html body #page .mircato-quick-view-wrapper .quantity {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 100px;
  padding: 4px;
  margin: 0;
  min-height: 48px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

html body #page .mircato-quick-view-wrapper .quantity .qty {
  width: 40px;
  border: none;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  height: 100%;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  appearance: none;
}

/* Add to Cart Button - Force Gradient */
html body #page .mircato-quick-view-wrapper button.single_add_to_cart_button,
html body #page .mircato-quick-view-wrapper .mircato-qv-atc button.button,
html body #page .mircato-quick-view-wrapper .mircato-qv-atc a.button {
  background-image: linear-gradient(135deg, var(--mp-color-primary, #1e293b), var(--mp-color-primary-dark, #000000));
  color: #fff;
  border: none;
  border-radius: 100px;
  padding: 0 35px;
  /* Height handled by flex/min-height */
  height: 48px;
  line-height: 48px;
  font-weight: 600;
  transition: all 0.2s ease;
  font-size: 14px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
html body #page .mircato-quick-view-wrapper button.single_add_to_cart_button:hover,
html body #page .mircato-quick-view-wrapper .mircato-qv-atc button.button:hover,
html body #page .mircato-quick-view-wrapper .mircato-qv-atc a.button:hover {
  background-image: linear-gradient(135deg, var(--mp-color-accent, #334155), var(--mp-color-primary, #1a1a1a));
  transform: translateY(-2px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
  color: #fff;
}

/* Wishlist Button (YITH or Generic) - Premium Styling */
html body #page .mircato-quick-view-wrapper .yith-wcwl-add-to-wishlist {
  margin: 0;
  display: inline-flex;
}

html body #page .mircato-quick-view-wrapper .yith-wcwl-add-to-wishlist a,
html body #page .mircato-quick-view-wrapper .mircato-wishlist-btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e5e5e5;
  color: var(--mp-color-text-main, #111111);
  font-size: 18px;
  transition: all 0.3s ease;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

html body #page .mircato-quick-view-wrapper .yith-wcwl-add-to-wishlist a:hover,
html body #page .mircato-quick-view-wrapper .mircato-wishlist-btn:hover {
  background: var(--mp-color-primary, #6366f1);
  color: #fff;
  border-color: var(--mp-color-primary, #6366f1);
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* Fix YITH Icon alignment */
html body #page .mircato-quick-view-wrapper .yith-wcwl-add-to-wishlist i {
  margin: 0;
  line-height: 1;
}

/* Hide Generic Text in Wishlist */
html body #page .mircato-quick-view-wrapper .yith-wcwl-add-to-wishlist span {
  display: none;
}

/* Variables Meta */
.mircato-qv-content .product_meta {
  font-size: 13px;
  color: #999999;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

.mircato-qv-content .product_meta > span {
  display: block;
  margin-bottom: 5px;
}

@media (max-width: 768px) {
  html body #page .mircato-quick-view-wrapper .mircato-qv-content {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .mircato-quick-view-wrapper .mircato-qv-main-wrapper {
    min-height: 300px;
  }
}
/* ==========================================================================
   VARIABLE SWATCHES (PREMIUM)
   ========================================================================== */
.mircato-swatches-wrapper {
  margin-bottom: 20px;
}

/* Hide Default Select */
.mircato-hidden-select {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.mircato-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

/* Base Swatch Item */
.mircato-swatch-item {
  cursor: pointer;
  border: 1px solid var(--mp-color-light-dark, #ddd);
  text-align: center;
  transition: all 0.2s ease;
  position: relative;
  user-select: none;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--mp-color-text-main, #333);
}

/* --- STYLE: BUTTON (Label) --- */
.mircato-swatch-item.swatch-button {
  background: #fff;
  padding: 8px 16px;
  min-width: 40px;
  border-radius: 4px;
  /* Default radius, overrideable */
}

.mircato-swatch-item.swatch-button:hover {
  border-color: var(--mp-color-primary, #111);
  color: var(--mp-color-primary, #111);
  background: #fff;
}

.mircato-swatch-item.swatch-button.selected {
  border-color: var(--mp-color-primary, #111);
  background: var(--mp-color-primary, #111);
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* --- STYLE: COLOR --- */
.mircato-swatch-item.swatch-color {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  /* Circle by default for colors */
  border: 1px solid rgba(0, 0, 0, 0.05);
  /* Subtle border for white colors */
  box-shadow: inset 0 0 0 2px #fff;
  /* White inner ring */
}

.mircato-swatch-item.swatch-color.selected {
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--mp-color-primary, #111);
  transform: scale(1.1);
}

.mircato-swatch-item.swatch-color:hover {
  transform: scale(1.1);
}

/* --- STYLE: IMAGE --- */
.mircato-swatch-item.swatch-image {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 4px;
  /* Default for image could be rounded */
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 2px #fff;
}

.mircato-swatch-item.swatch-image.selected {
  box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--mp-color-primary, #111);
  transform: scale(1.1);
}

.mircato-swatch-item.swatch-image:hover {
  transform: scale(1.1);
}

/* Out of Stock / Disabled */
.mircato-swatch-item.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  border-color: #eee;
  background: #f9f9f9;
  color: #aaa;
  pointer-events: none;
}

/* Strikethrough for disabled buttons */
.mircato-swatch-item.swatch-button.disabled {
  text-decoration: line-through;
}

.mircato-swatch-item.swatch-color.disabled::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: #999;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* Shape Overrides (from PHP class hook potentially) */
.swatch-shape-rounded .mircato-swatch-item.swatch-button {
  border-radius: 4px;
}

.swatch-shape-circle .mircato-swatch-item.swatch-button {
  border-radius: 20px;
}

.swatch-shape-circle .mircato-swatch-item.swatch-image {
  border-radius: 50%;
}

.swatch-shape-square .mircato-swatch-item.swatch-button,
.swatch-shape-square .mircato-swatch-item.swatch-color,
.swatch-shape-square .mircato-swatch-item.swatch-image {
  border-radius: 0;
}

/* ==========================================================================
   LOOP SWATCHES (HIGH SPECIFICITY - NO !IMPORTANT)
   ========================================================================== */
html body #page .mircato-product-details .mircato-loop-swatches {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 8px;
  margin: 5px 0;
  justify-content: center;
  width: 100%;
  position: relative;
  z-index: 100;
  pointer-events: auto; /* Enable clicks inside containers that have pointer-events: none */
}

/* Target correctly: .mircato-swatch-item INSIDE .mircato-loop-swatches */
/* REPLACEMENT WITHOUT !important */
html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item,
html body #page li.product .mircato-product-details .mircato-loop-swatches div.mircato-swatch-item.swatch-color,
html body #page li.product .mircato-product-details .mircato-loop-swatches div.mircato-swatch-item.swatch-image,
html body #page li.product .mircato-product-details .mircato-loop-swatches div.mircato-swatch-item.swatch-button {
  width: auto;
  min-width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  position: relative;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 4px;
  min-height: 20px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  pointer-events: auto;
  font-size: 10px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
}

html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.swatch-color,
html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.swatch-image {
  padding: 0;
  width: 20px;
}

/* Color & Image Swatch Overrides for Loop */
html body #page .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.swatch-color,
html body #page .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.swatch-image {
  box-shadow: none;
}

html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.swatch-button {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 9px;
  padding: 0 10px;
  min-width: 34px;
  height: 22px;
}

html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item:hover {
  border-color: var(--mp-color-gold);
  transform: scale(1.1);
}

html body #page li.product .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.selected {
  background: var(--mp-color-primary, #6366f1);
  color: #fff;
  border-color: var(--mp-color-primary, #6366f1);
  box-shadow: 0 0 10px rgba(99, 102, 241, 0.4);
}

/* Modern Card style specific selected state */
/* Wait, user said NO !important. Let's use higher specificity instead */
html body #page li.product.mircato-card-style-modern .mircato-product-details .mircato-loop-swatches .mircato-swatch-item.selected {
  background: var(--mp-color-gold);
  color: #000;
  border-color: var(--mp-color-gold);
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.5);
}

.mircato-card-style-minimal .mircato-loop-swatches {
  justify-content: flex-start;
  padding: 0 5px;
}

/* ==========================================================================
   PRODUCT COMPARISON TOOL
   ========================================================================== */
.mircato-compare-table-container {
  overflow-x: auto;
  margin: 40px 0;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
}

.mircato-compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 800px;
}

.mircato-compare-table th,
.mircato-compare-table td {
  padding: 20px;
  border: 1px solid #f0f0f0;
  text-align: center;
  vertical-align: top;
}

.mircato-compare-table .compare-label {
  background: #fbfbfb;
  font-weight: 600;
  width: 150px;
  text-align: left;
  color: var(--mp-color-text-main, #222);
}

.mircato-compare-table .compare-product {
  width: 200px;
}

.mircato-compare-table .compare-product img {
  margin-bottom: 15px;
  border-radius: 4px;
  transition: transform 0.3s ease;
}

.mircato-compare-table .compare-product:hover img {
  transform: translateY(-5px);
}

.mircato-compare-table .compare-product h5 {
  margin-bottom: 10px;
  font-family: inherit;
  font-weight: 600;
}

.mircato-compare-table .remove-compare {
  color: #ff4d4d;
  font-size: 0.8rem;
  text-decoration: none;
  display: block;
  margin-top: 10px;
}

.mircato-compare-table .price {
  font-size: 1.1rem;
  color: var(--mp-color-primary, #6366f1);
  font-weight: 700;
}

/* Compare Buttons (Generic Base) */
.mircato-compare-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 15px;
  font-size: 0.85rem;
  cursor: pointer;
  background: #efefef;
  color: #333;
  border-radius: var(--mp-radius-sm, 4px);
  transition: all 0.3s ease;
  border: none;
  margin-top: 5px;
  text-decoration: none;
  line-height: 1;
}

.mircato-compare-btn:hover {
  background: var(--mp-color-primary, #111);
  color: #fff;
}

/* Loop Specific Compare button (Overridden by card styles where needed) */
.mircato-loop-compare-btn {
  margin: 0;
}

.mircato-compare-empty {
  padding: 60px;
  text-align: center;
  background: #f9f9f9;
  border-radius: 12px;
  border: 2px dashed #ddd;
  color: #777;
  margin: 40px 0;
}

/* ==========================================================================
   FLOATING COMPARE BAR
   ========================================================================== */
.mircato-compare-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9990;
  background: rgba(15, 15, 15, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  padding: 14px 0;
}

.mircato-compare-bar.visible {
  transform: translateY(0);
}

.mircato-compare-bar__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.mircato-compare-bar__items {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  flex: 1;
  padding: 4px 0;
}

.mircato-compare-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 6px 10px 6px 6px;
  min-width: 180px;
  max-width: 220px;
  position: relative;
  transition: all 0.3s ease;
}

.mircato-compare-bar__item:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(212, 175, 55, 0.4);
}

.mircato-compare-bar__item img {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.mircato-compare-bar__name {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.78rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  line-height: 1.3;
}

.mircato-compare-bar__remove {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 2px 4px;
  line-height: 1;
  transition: color 0.2s ease;
  flex-shrink: 0;
}

.mircato-compare-bar__remove:hover {
  color: #ff6b6b;
}

.mircato-compare-bar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.mircato-compare-bar__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  background: linear-gradient(135deg, var(--mp-color-gold, #d4af37), var(--mp-color-gold-light, #f0d060));
  color: #000;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  white-space: nowrap;
}

.mircato-compare-bar__cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.4);
}

.mircato-compare-bar__clear {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
  padding: 8px 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mircato-compare-bar__clear:hover {
  border-color: #ff6b6b;
  color: #ff6b6b;
}

/* ==========================================================================
   TOAST NOTIFICATION
   ========================================================================== */
.mircato-compare-toast {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: rgba(20, 20, 20, 0.95);
  color: #fff;
  padding: 12px 24px;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  border: 1px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.mircato-compare-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Active State for Compare Button on Cards */
html body #page .mircato-loop-compare-btn.active {
  background: rgba(212, 175, 55, 0.3);
  border-color: var(--mp-color-gold, #d4af37);
}

html body #page .mircato-loop-compare-btn.active i {
  color: var(--mp-color-gold, #d4af37);
}

/* On single product pages, push compare bar above the sticky ATC bar */
body.single-product .mircato-compare-bar {
  bottom: 70px;
}
