/* Minimal WooCommerce compatibility tweaks for Horizons theme */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  border-radius: 9999px;
  padding: 0.75rem 1.25rem;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.10);
  color: #fff;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: rgba(255,255,255,0.15);
}

.woocommerce .quantity .qty {
  max-width: 6rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.05);
  color: #fff;
  padding: 0.5rem 0.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: rgba(255,255,255,0.9);
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 1rem;
}

/* Prevent shop grid clipping under fixed headers/containers */
.woocommerce .page-content, .woocommerce-page .page-content { overflow: visible; }

/* Responsive aspect ratio fallback (if aspect-ratio unsupported) */
.a3dp-aspect { position: relative; width: 100%; background: rgba(0,0,0,0.2); }
.a3dp-aspect::before { content: ""; display: block; padding-bottom: 75%; } /* 4:3 */
.a3dp-aspect > .a3dp-aspect-inner { position: absolute; inset: 0; }

/* Ensure product grid images are never cropped */
.woocommerce ul.products li.product img, .woocommerce-page ul.products li.product img { object-fit: contain !important; }
