/**
 * single-product.css
 * ------------------
 * Gallery, buy column, variations/qty/ATC, information sections, related.
 */

/* ==========================================================================
   Page shell
   ========================================================================== */

.wrb-single-product {
	width: min(100%, var(--wrb-container-width));
	margin-inline: auto;
}

.wrb-single-breadcrumb {
	margin-bottom: var(--wrb-spacing-md);
}

/* ==========================================================================
   Main: gallery | buy (~58% / ~42%)
   ========================================================================== */

.wrb-single-main.wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr);
	align-items: start;
	gap: var(--wrb-spacing-lg);
	width: 100%;
}

.wrb-single-main__media,
.wrb-single-main__buy {
	min-width: 0;
}

/* Gallery shell — swap modifier later (e.g. --layout-stacked) */
.wrb-product-gallery {
	width: 100%;
}

.wrb-product-gallery--layout-default {
	border-radius: var(--wrb-radius-md);
	overflow: hidden;
}

/* ==========================================================================
   Buy column
   Sticky opt-in: add `wrb-single-main__buy--sticky` in Site Editor.
   ========================================================================== */

.wrb-single-buy {
	display: flex;
	flex-direction: column;
	gap: var(--wrb-spacing-sm);
}

.wrb-single-main__buy--sticky .wrb-single-buy {
	position: sticky;
	top: var(--wrb-spacing-md);
}

.wrb-single-buy__title {
	margin: 0;
}

.wrb-single-buy__price {
	font-weight: 600;
}

.wrb-single-buy__short-description {
	color: var(--wrb-color-muted);
}

.wrb-single-buy__stock {
	font-size: var(--wp--preset--font-size--sm);
}

.wrb-single-buy__cart {
	width: 100%;
}

/* Native Woo add-to-cart form (variations + qty + button) — scoped only */
.wrb-single-buy__add-to-cart-form .cart,
.wrb-single-buy__add-to-cart-form form.cart {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wrb-spacing-md);
	width: 100%;
}

/* Stack variation rows so selects are never clipped by table columns */
.wrb-single-buy__add-to-cart-form table.variations {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.wrb-single-buy__add-to-cart-form table.variations tbody,
.wrb-single-buy__add-to-cart-form table.variations tr {
	display: block;
	width: 100%;
}

.wrb-single-buy__add-to-cart-form table.variations th.label,
.wrb-single-buy__add-to-cart-form table.variations td.value {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0;
	text-align: left;
	vertical-align: top;
}

.wrb-single-buy__add-to-cart-form table.variations th.label {
	margin-bottom: 0.35rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	color: var(--wrb-color-foreground);
}

.wrb-single-buy__add-to-cart-form table.variations td.value {
	margin-bottom: var(--wrb-spacing-sm);
}

.wrb-single-buy__add-to-cart-form table.variations td.value:last-child {
	margin-bottom: 0;
}

.wrb-single-buy__add-to-cart-form table.variations select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 2.75rem;
	padding: 0.65rem 2.5rem 0.65rem 0.85rem;
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--wrb-color-background);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23222222' d='M1.1 1.1L6 6l4.9-4.9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 0.75rem 0.5rem;
	border: 1px solid var(--wrb-color-border);
	border-radius: var(--wrb-radius-sm);
	color: var(--wrb-color-foreground);
	font: inherit;
	line-height: 1.35;
	cursor: pointer;
}

.wrb-single-buy__add-to-cart-form table.variations .reset_variations {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
}

.wrb-single-buy__add-to-cart-form .single_variation_wrap,
.wrb-single-buy__add-to-cart-form .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wrb-spacing-sm);
	width: 100%;
}

.wrb-single-buy__add-to-cart-form .quantity {
	flex: 0 0 auto;
}

.wrb-single-buy__add-to-cart-form .quantity .qty,
.wrb-single-buy__add-to-cart-form .quantity input.qty {
	width: 4.5rem;
	max-width: 100%;
	min-height: 2.75rem;
	text-align: center;
}

.wrb-single-buy__add-to-cart-form .single_add_to_cart_button {
	position: relative;
	flex: 1 1 auto;
	min-height: 2.75rem;
	border-radius: var(--wrb-radius-md);
}

.wrb-single-buy__add-to-cart-form .single_add_to_cart_button.is-loading {
	color: transparent;
	pointer-events: none;
	cursor: wait;
}

.wrb-single-buy__add-to-cart-form .single_add_to_cart_button.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.1rem;
	height: 1.1rem;
	margin: -0.55rem 0 0 -0.55rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: currentColor;
	border-radius: 50%;
	color: #fff;
	animation: wrb-atc-spin 0.7s linear infinite;
}

@keyframes wrb-atc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Buy Now slot (empty by default) */
.wrb-single-buy__buy-now:empty {
	display: none;
}

.wrb-single-buy__payment-info {
	width: 100%;
	padding-block: var(--wrb-spacing-sm);
	border-top: 1px solid var(--wrb-color-border);
}

.wrb-single-buy__shipping-info,
.wrb-single-buy__return-info {
	width: 100%;
	font-size: var(--wp--preset--font-size--sm);
}

.wrb-single-buy__meta {
	margin-top: var(--wrb-spacing-sm);
	padding-top: var(--wrb-spacing-sm);
	border-top: 1px solid var(--wrb-color-border);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wrb-color-muted);
}

/* ==========================================================================
   Information sections
   ========================================================================== */

.wrb-product-sections {
	display: grid;
	gap: var(--wrb-spacing-xl);
	width: 100%;
	margin-top: var(--wrb-spacing-2xl);
}

.wrb-product-section {
	width: 100%;
	padding-bottom: var(--wrb-spacing-lg);
	border-bottom: 1px solid var(--wrb-color-border);
}

.wrb-product-section:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.wrb-product-section__title {
	margin: 0 0 var(--wrb-spacing-md);
}

.wrb-product-section__body {
	width: 100%;
}

/*
 * Additional Information uses product-details block but we only show attributes.
 * Prefer hiding tab chrome over fighting Woo panel JS with !important.
 */
.wrb-product-section--additional .woocommerce-tabs .tabs {
	display: none;
}

.wrb-product-section--additional .woocommerce-Tabs-panel {
	display: none;
}

.wrb-product-section--additional .woocommerce-Tabs-panel--additional_information {
	display: block;
	margin: 0;
	padding: 0;
}

.wrb-product-reviews__loop {
	width: 100%;
}

.wrb-trust-info__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--wrb-spacing-md);
	color: var(--wrb-color-muted);
}

.wrb-related-products {
	width: 100%;
	margin-top: var(--wrb-spacing-2xl);
}
