/**
 * WooCommerce Single Product Styly
 *
 * Styly pro detail produktu - extrahované z content-single-product.php
 *
 * @package ReactWind
 */

/* ========================================
   Swatches - moderní výběr variant
   ======================================== */

.variable-swatches .swatch-group {
  /* Skupina pro jednu variantu */
}

.variable-swatches .swatch-btn {
  min-width: 3rem;
  border-radius: var(--rounded-btn, 0.5rem);
  cursor: pointer;
  user-select: none;
}

.variable-swatches .swatch-btn:hover:not(.border-primary) {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px hsl(var(--bc) / 0.1);
}

.variable-swatches .swatch-btn.border-primary {
  box-shadow: 0 0 0 2px hsl(var(--p) / 0.3);
}

.variable-swatches .swatch-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* ========================================
   Cena variace
   ======================================== */

.variation-price-display .variation-price {
  line-height: 1.2;
}

.variation-price-display .variation-price del {
  font-size: 0.6em;
  margin-right: 0.5rem;
}

/* ========================================
   Quantity input styling
   ======================================== */

/* Odstranění spinnerů */
.qty-input {
  -moz-appearance: textfield;
  appearance: textfield;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

/* Quantity wrapper */
.qty-wrapper {
  border-radius: var(--rounded-btn, 0.5rem);
  overflow: hidden;
}

.qty-wrapper .qty-btn {
  border: none;
  border-radius: 0;
}

.qty-wrapper .qty-btn[data-action="minus"] {
  border-top-left-radius: var(--rounded-btn, 0.5rem);
  border-bottom-left-radius: var(--rounded-btn, 0.5rem);
}

.qty-wrapper .qty-btn[data-action="plus"] {
  border-top-right-radius: var(--rounded-btn, 0.5rem);
  border-bottom-right-radius: var(--rounded-btn, 0.5rem);
}

/* Ghost primary hover - světle primary pozadí, primary ikona */
.qty-wrapper .qty-btn.btn-ghost.btn-primary:hover {
  background-color: color-mix(in oklab, var(--color-primary), transparent 90%);
  color: var(--color-primary);
}

/* Variations form - quantity a button */
.variations_form .qty-input {
  -moz-appearance: textfield;
}

.variations_form .qty-input::-webkit-outer-spin-button,
.variations_form .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ========================================
   Add to cart button enhancement
   ======================================== */

.variations_form .single_add_to_cart_button {
  transition: all 0.2s ease;
}

.variations_form .single_add_to_cart_button:not(:disabled):hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px hsl(var(--p) / 0.4);
}

.variations_form .single_add_to_cart_button:not(:disabled):active {
  transform: translateY(0);
}

/* ========================================
   Galerie - pokročilé styly
   ======================================== */

/* Zoom container */
.gallery-zoom-container {
  overflow: hidden;
  cursor: zoom-in;
}

.gallery-zoom-container img {
  transition: transform 0.2s ease-out;
}

/* Slider */
.gallery-slider {
  position: relative;
}

.gallery-slider-track {
  display: flex;
  will-change: transform;
}

/* Lightbox */
#product-lightbox {
  backdrop-filter: blur(4px);
}

#product-lightbox .lightbox-image {
  animation: lightbox-fade-in 0.2s ease-out;
}

@keyframes lightbox-fade-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* ========================================
   Tabs fix
   ======================================== */

.tabs-bordered .tab-content {
  border-top: 1px solid hsl(var(--bc) / 0.2);
}

/* ========================================
   Responsive adjustments
   ======================================== */

@media (max-width: 640px) {
  .variation-price-display .variation-price {
    font-size: 1.75rem;
  }

  .variable-swatches .swatch-btn {
    padding: 0.625rem 1rem;
  }
}

/* ========================================
   Grouped produkty - tabulka
   ======================================== */

.woocommerce-grouped-product-list {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce-grouped-product-list tr {
  border-bottom: 1px solid hsl(var(--bc) / 0.1);
}

.woocommerce-grouped-product-list tr:last-child {
  border-bottom: none;
}

.woocommerce-grouped-product-list td {
  padding: 1rem 0.5rem;
  vertical-align: middle;
}

.woocommerce-grouped-product-list td:first-child {
  padding-left: 0;
}

.woocommerce-grouped-product-list td:last-child {
  padding-right: 0;
}

.woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label {
  font-weight: 500;
}

.woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label a {
  color: hsl(var(--bc));
  text-decoration: none;
  transition: color 0.2s;
}

.woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label a:hover {
  color: hsl(var(--p));
}

.woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price {
  font-weight: 600;
  color: hsl(var(--p));
}

.woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity input {
  width: 4rem;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid hsl(var(--bc) / 0.2);
  border-radius: var(--rounded-btn, 0.5rem);
}

/* Grouped produkt - tlačítko přidat do košíku */
.grouped_form .single_add_to_cart_button {
  margin-top: 1rem;
}
