/* ============================================================
   BACKWOODS — Single product page  (Revision 2)
   No WooCommerce. Light layout, pitch text.
   Mobile-first.
   ============================================================ */

/* ----------------------------------------------------------
   BREADCRUMBS
   ---------------------------------------------------------- */
.bw-breadcrumbs-bar {
	padding-block: 20px;
	border-bottom: 1px solid rgba(31, 26, 21, 0.1);
}

.bw-breadcrumbs,
.bw-breadcrumbs nav,
.wp-block-woocommerce-breadcrumbs.bw-breadcrumbs {
	font-family   : var(--bw-mono);
	font-size     : 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color         : var(--bw-ash);
}

.bw-breadcrumbs a,
.wp-block-woocommerce-breadcrumbs.bw-breadcrumbs a {
	color          : var(--bw-ash);
	text-decoration: none;
	transition     : color 150ms ease;
}

.bw-breadcrumbs a:hover,
.wp-block-woocommerce-breadcrumbs.bw-breadcrumbs a:hover { color: var(--bw-pitch); }

/* ----------------------------------------------------------
   PRODUCT MAIN — two columns
   Mobile: gallery top, data below.
   Desktop: 58% gallery | 42% data.
   ---------------------------------------------------------- */
.bw-product-main {
	display       : flex;
	flex-direction: column;
	gap           : 40px;
	padding-block : 48px;
}

@media (min-width: 769px) {
	.bw-product-main {
		flex-direction: row;
		align-items   : flex-start;
		gap           : 64px;
		padding-block : 80px;
	}
}

/* ----------------------------------------------------------
   GALLERY COLUMN
   ---------------------------------------------------------- */
.bw-product-gallery-wrap {
	width: 100%;
}

@media (min-width: 769px) {
	.bw-product-gallery-wrap {
		flex: 0 0 58%;
	}
}

/* Featured image — 4:5 ratio */
.bw-product-gallery-wrap .wp-block-post-featured-image img,
.bw-gallery-large img {
	width           : 100%;
	aspect-ratio    : 4 / 5;
	object-fit      : cover;
	object-position : center;
	display         : block;
	background-color: var(--bw-paper);
}

.bw-product-gallery-wrap .wp-block-post-featured-image {
	margin    : 0;
	line-height: 0;
}

/* ----------------------------------------------------------
   DATA COLUMN
   ---------------------------------------------------------- */
.bw-product-data {
	width         : 100%;
	display       : flex;
	flex-direction: column;
	gap           : 20px;
}

@media (min-width: 769px) {
	.bw-product-data {
		flex          : 1;
		position      : sticky;
		top           : 80px;
		align-self    : flex-start;
		max-height    : calc(100vh - 100px);
		overflow-y    : auto;
	}
}

/* Product title */
.bw-product-title.wp-block-post-title,
.bw-product-title {
	font-family   : var(--bw-display) !important;
	font-weight   : 600 !important;
	font-stretch  : 125% !important;
	font-size     : clamp(1.375rem, 3.5vw, 2rem) !important;
	line-height   : 1.05 !important;
	letter-spacing: -0.02em !important;
	color         : var(--bw-pitch) !important;
	margin        : 0 !important;
}

/* Spec strip */
.bw-product-data .bw-spec-strip-wrap {
	/* gap on flex parent handles spacing */
}

/* Price — plain text, mono */
.bw-product-price {
	font-family: var(--bw-mono);
	font-size  : 1.0625rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color      : var(--bw-pitch);
}

/* ----------------------------------------------------------
   ENQUIRY BLOCK — replaces Add to Cart
   ---------------------------------------------------------- */
.bw-enquiry {
	background-color: var(--bw-card);
	border          : 1px solid rgba(31, 26, 21, 0.1);
	padding         : 24px;
}

.bw-enquiry__label {
	font-family   : var(--bw-mono);
	font-size     : 0.6875rem;
	font-weight   : 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color         : var(--bw-ash);
	margin-bottom : 12px;
}

.bw-enquiry__body {
	font-family: var(--bw-body);
	font-size  : 0.9375rem;
	line-height: 1.7;
	color      : var(--bw-pitch);
	margin     : 0;
}

/* ----------------------------------------------------------
   PRODUCT DETAILS — below the fold
   ---------------------------------------------------------- */
.bw-product-details {
	padding-block : 64px;
	padding-inline: var(--bw-gutter);
}

.bw-detail-rule.wp-block-separator {
	border    : none;
	border-top: 1px solid rgba(31, 26, 21, 0.15);
	margin-block: 40px;
	max-width : none;
	height    : 0;
	background: none !important;
}

/* Long description */
.bw-product-description p {
	font-family: var(--bw-body);
	font-size  : 1.0625rem;
	line-height: 1.7;
	color      : var(--bw-pitch);
}

.bw-product-description p + p {
	margin-top: 1.25em;
}

/* Spec table (wp:table inside post content) */
.bw-product-specs table,
table.bw-product-specs {
	width          : 100%;
	border-collapse: collapse;
	font-size      : 0.75rem;
}

.bw-product-specs th,
.bw-product-specs td {
	padding      : 14px 0;
	border-bottom: 1px solid rgba(31, 26, 21, 0.1);
	text-align   : left;
	vertical-align: top;
}

.bw-product-specs th {
	font-family   : var(--bw-mono);
	font-weight   : 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color         : var(--bw-ash);
	width         : 40%;
	padding-right : 24px;
}

.bw-product-specs td {
	font-family   : var(--bw-mono);
	font-weight   : 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color         : var(--bw-pitch);
}

/* Spec table rendered as wp:table block inside post content */
.wp-block-table.bw-product-specs figure,
figure.wp-block-table.bw-product-specs {
	margin: 0;
}

/* Shipping note */
.bw-shipping-note {
	font-family: var(--bw-body);
	font-size  : 0.9375rem;
	color      : var(--bw-ash);
	margin-top : 32px;
	margin-bottom: 0;
	line-height: 1.7;
}
