/* ---------- Single product layout & variation UI ---------- */

/* Basic two-column layout */
.single-product div.product {
  display: flex;
  gap: 36px;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* Gallery and summary widths (adjust if needed) */
.single-product div.product .woocommerce-product-gallery { flex: 1 1 48%; max-width:48%; }
.single-product div.product .summary { flex: 1 1 48%; max-width:48%; }

/* Sale badge visual moved above title */
.single-product .summary { position: relative; padding-top: 20px; }
.single-product .summary .onsale {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
  z-index: 5;
  display:inline-block;
  padding: 6px 10px;
  background:#e74c3c; color:#fff; font-weight:700;
  border-radius:6px; font-size:13px; box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

/* Title */
.single-product .product_title { font-size:24px; margin:12px 0 8px; font-weight:700; }

/* Short description */
.single-product .woocommerce-product-details__short-description { margin:18px 0 22px; color:#444; line-height:1.5; }

/* Variation UI wrapper */
.variations-buttons { margin-bottom: 14px; display:block; }

/* Color swatches row */
.variations-buttons .attribute-color { margin-bottom: 12px; }
.variations-buttons .swatch-list { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* Swatch basics */
.variations-buttons .swatch {
  width:36px; height:36px;
  border-radius:50%;
  border:2px solid transparent;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  overflow:hidden;
}

/* Selected swatch border - color applied inline based on contrast */
.variations-buttons .swatch.active {
  transform: scale(1.06);
  box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

/* Size pills */
.variations-buttons .size-list { display:flex; gap:8px; flex-wrap:wrap; }
.variations-buttons .size-btn {
  padding:8px 14px; border-radius:18px; border:1px solid #d6d6d6;
  background:#fff; cursor:pointer; font-weight:600; font-size:14px;
}
.variations-buttons .size-btn.active { background:#0b67d0; color:#fff; border-color:#0b67d0; }

/* Hide original selects but keep accessible to screen readers */
.variations_form .variations select {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
}

/* Quantity and add-to-cart layout */
.addtocart-row {
  display:flex; gap:16px; align-items:center; margin-top:18px;
}
.addtocart-row .quantity { order:1; }
.addtocart-row .single_add_to_cart_button { order:2; flex:1 1 auto; }

/* Mobile stacking */
@media (max-width:767px) {
  .single-product div.product { flex-direction: column; }
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary { max-width:100%; flex:1 1 100%; }
  .addtocart-row { flex-direction:column; align-items:stretch; }
  .addtocart-row .quantity { order:2; }
  .addtocart-row .single_add_to_cart_button { order:1; }
}

/* Add to cart button look */
.single_add_to_cart_button {
  background:#0b67d0; color:#fff; padding:12px 18px; border-radius:8px; border:none;
}
.single_add_to_cart_button:disabled { opacity:.6; cursor:not-allowed; }

/* Minor: rating layout */
.single-product .woocommerce-product-rating { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
