/* ================================
   RETROPLUS PRODUCT CAROUSEL
   High specificity to prevent theme override
================================ */

/* Carousel Container */
.retroplus-carousel-container {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 20px 0 40px 0 !important;
}

@media (min-width: 768px) {
  .retroplus-carousel-container {
    padding: 20px 50px 40px 50px !important;
  }
}

/* Reset and Container */
.swiper.retroplus-carousel {
  padding: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  position: relative !important;
}

.swiper.retroplus-carousel .swiper-wrapper {
  display: flex !important;
  padding-bottom: 20px !important;
}

.swiper.retroplus-carousel .swiper-slide {
  height: auto !important;
  display: flex !important;
  padding: 0 !important;
}

/* ================================
   PRODUCT CARD
================================ */
.retroplus-carousel .retroplus-card {
  position: relative !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 14px !important;
  padding: 16px !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.3s ease !important;
  height: 100% !important;
}

.retroplus-carousel .retroplus-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* ================================
   TOP BADGES CONTAINER
================================ */
.retroplus-carousel .retroplus-badges {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.retroplus-carousel .retroplus-badges > * {
  pointer-events: auto !important;
}

/* ================================
   WISHLIST HEART (TOP LEFT)
================================ */
.retroplus-carousel .retroplus-wishlist {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  margin: 0 !important;
}

.retroplus-carousel .retroplus-wishlist:hover {
  background: #f5f5f5 !important;
  border-color: #d0d0d0 !important;
}

.retroplus-carousel .retroplus-wishlist svg {
  color: #333333 !important;
  width: 18px !important;
  height: 18px !important;
}

.retroplus-carousel .retroplus-wishlist.active svg {
  fill: #e53935 !important;
  color: #e53935 !important;
}

/* ================================
   SALE BADGE (TOP LEFT, AFTER HEART)
================================ */
.retroplus-carousel .retroplus-sale-badge {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin-left: 8px !important;
}

.retroplus-carousel .retroplus-sale-badge .sale-text {
  background-color: #ffcc00 !important;
  color: #000000 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  display: block !important;
  text-align: center !important;
  line-height: 1.2 !important;
  letter-spacing: 0.5px !important;
}

.retroplus-carousel .retroplus-sale-badge .discount-text {
  background-color: #e53935 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  display: block !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

/* ================================
   BEST SELLER BADGE (TOP RIGHT)
================================ */
.retroplus-carousel .retroplus-bestseller-badge {
  background-color: #000000 !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-left: auto !important;
}

/* ================================
   PRODUCT IMAGE - TRANSPARENT BG
================================ */
.retroplus-carousel .retroplus-image {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 16px !important;
  text-decoration: none !important;
}

.retroplus-carousel .retroplus-image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  background: transparent !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Remove any gray background from WooCommerce */
.retroplus-carousel .retroplus-image img,
.retroplus-carousel .attachment-woocommerce_thumbnail,
.retroplus-carousel .wp-post-image {
  background-color: transparent !important;
  background: none !important;
}

/* ================================
   ACTION BUTTONS
================================ */
.retroplus-carousel .retroplus-button-row {
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 12px 0 !important;
}

/* Base button styles - Column layout */
.retroplus-carousel .retroplus-btn {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 8px 6px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  min-height: 50px !important;
}

.retroplus-carousel .retroplus-btn svg {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
}

.retroplus-carousel .retroplus-btn span {
  display: block !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Add to Cart Button - Orange */
.retroplus-carousel .retroplus-add-to-cart {
  background-color: #f57c00 !important;
  color: #ffffff !important;
}

.retroplus-carousel .retroplus-add-to-cart:hover {
  background-color: #e06f00 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.retroplus-carousel .retroplus-add-to-cart svg {
  stroke: #ffffff !important;
}

/* Info Button - Gray */
.retroplus-carousel .retroplus-info-btn {
  background-color: #f1f1f1 !important;
  color: #333333 !important;
}

.retroplus-carousel .retroplus-info-btn:hover {
  background-color: #e5e5e5 !important;
  color: #333333 !important;
  text-decoration: none !important;
}

.retroplus-carousel .retroplus-info-btn svg {
  stroke: #333333 !important;
}

/* ================================
   PRODUCT TITLE
================================ */
.retroplus-carousel .retroplus-product-title,
.retroplus-carousel h3.retroplus-product-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #8a8a8a !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  min-height: auto !important;
}

.retroplus-carousel .retroplus-product-title a,
.retroplus-carousel h3.retroplus-product-title a {
  color: #8a8a8a !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.retroplus-carousel .retroplus-product-title a:hover,
.retroplus-carousel h3.retroplus-product-title a:hover {
  color: #f57c00 !important;
  text-decoration: none !important;
}

/* ================================
   STOCK STATUS
================================ */
.retroplus-carousel .retroplus-stock {
  font-size: 13px !important;
  margin: 0 0 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.retroplus-carousel .retroplus-stock.in-stock {
  color: #2ecc71 !important;
}

.retroplus-carousel .retroplus-stock.out-of-stock {
  color: #e74c3c !important;
}

.retroplus-carousel .retroplus-stock .stock-dot {
  font-size: 10px !important;
  line-height: 1 !important;
}

/* ================================
   PRICE
================================ */
.retroplus-carousel .retroplus-price {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

.retroplus-carousel .retroplus-price .old-price,
.retroplus-carousel .retroplus-price del,
.retroplus-carousel .retroplus-price del .amount,
.retroplus-carousel .retroplus-price del .woocommerce-Price-amount {
  font-size: 14px !important;
  color: #999999 !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
}

.retroplus-carousel .retroplus-price .current-price,
.retroplus-carousel .retroplus-price ins,
.retroplus-carousel .retroplus-price ins .amount,
.retroplus-carousel .retroplus-price ins .woocommerce-Price-amount,
.retroplus-carousel .retroplus-price .amount,
.retroplus-carousel .retroplus-price .woocommerce-Price-amount {
  font-size: 16px !important;
  color: #000000 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Remove default WooCommerce price styling */
.retroplus-carousel .retroplus-price ins {
  background: none !important;
  text-decoration: none !important;
}

/* Ensure DKK currency displays properly */
.retroplus-carousel .retroplus-price .woocommerce-Price-currencySymbol {
  font-weight: 400 !important;
}

/* ================================
   CAROUSEL NAVIGATION
================================ */

/* Mobile Navigation - Bottom with line */
.retroplus-nav-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: 30px !important;
  position: relative !important;
  width: 100% !important;
  padding: 0 20px !important;
}

.retroplus-nav-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  border: 1px solid #e0e0e0 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  z-index: 10 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08) !important;
}

.retroplus-nav-btn:hover:not(.swiper-button-disabled) {
  background: #f5f5f5 !important;
  border-color: #d0d0d0 !important;
}

.retroplus-nav-btn.swiper-button-disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

.retroplus-nav-btn svg {
  stroke: #333333 !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none !important;
}

.retroplus-nav-line {
  height: 1px !important;
  background: #e0e0e0 !important;
  flex: 1 !important;
  max-width: 100px !important;
  margin: 0 !important;
}

/* Desktop Navigation - Positioned on sides */
@media (min-width: 768px) {
  .retroplus-carousel-container {
    position: relative !important;
  }
  
  .retroplus-nav-container {
    display: none !important; /* Hide bottom navigation on desktop */
  }
  
  /* Position buttons on left and right sides */
  .retroplus-nav-btn {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 100 !important;
  }
  
  .retroplus-nav-prev {
    left: -22px !important;
  }
  
  .retroplus-nav-next {
    right: -22px !important;
  }
  
  .retroplus-nav-btn:hover:not(.swiper-button-disabled) {
    transform: translateY(-50%) scale(1.05) !important;
  }
  
  .retroplus-nav-btn.swiper-button-disabled {
    transform: translateY(-50%) !important;
  }
  
  .retroplus-nav-line {
    display: none !important; /* Hide line on desktop */
  }
}

/* ================================
   RESPONSIVE
================================ */
@media (max-width: 767px) {
  .retroplus-carousel .retroplus-image img {
    height: 160px !important;
  }
  
  .retroplus-carousel .retroplus-btn {
    font-size: 11px !important;
    padding: 6px 4px !important;
    min-height: 48px !important;
  }
  
  .retroplus-carousel .retroplus-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
  
  .retroplus-carousel .retroplus-product-title,
  .retroplus-carousel h3.retroplus-product-title {
    font-size: 14px !important;
  }
  
  /* Mobile Navigation - Show at bottom */
  .retroplus-nav-container {
    display: flex !important;
    margin-top: 25px !important;
    padding: 0 15px !important;
  }
  
  .retroplus-nav-btn {
    width: 36px !important;
    height: 36px !important;
    position: static !important;
    transform: none !important;
  }
  
  .retroplus-nav-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
  
  .retroplus-nav-line {
    display: block !important;
    max-width: 80px !important;
  }
  
  .retroplus-carousel-container {
    padding: 20px 0 40px 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .retroplus-carousel .retroplus-image img {
    height: 180px !important;
  }
  
  .retroplus-carousel .retroplus-btn {
    font-size: 12px !important;
  }
}

/* ================================
   ADDITIONAL THEME OVERRIDES
================================ */
.retroplus-carousel .retroplus-card * {
  box-sizing: border-box !important;
}

/* Override any WooCommerce default button styles */
.retroplus-carousel .retroplus-btn.button,
.retroplus-carousel .retroplus-btn.add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Ensure proper spacing */
.retroplus-carousel .retroplus-card > *:last-child {
  margin-bottom: 0 !important;
}
