/* NollMade single product (PDP) — layout, gallery, summary, tabs, related.
   Markup = stock Woo hooks (content-single-product.php v3.6.0); cards in
   related products come from our content-product.php override. */

/* --- Two-column layout: gallery | summary --- */
.nm-woo-wrap div.product {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 44px; align-items: start;
}
/* Woo's legacy layout CSS shrinks these to width:48% for its float layout —
   neutralize so each fills its grid track. */
.nm-woo-wrap div.product > div.woocommerce-product-gallery,
.nm-woo-wrap div.product div.images,
.nm-woo-wrap div.product > div.summary {
	width: 100%; float: none; margin-bottom: 0;
}
.nm-woo-wrap div.product > .woocommerce-product-gallery { grid-column: 1; }
.nm-woo-wrap div.product > .summary { grid-column: 2; }
.nm-woo-wrap div.product > .woocommerce-tabs,
.nm-woo-wrap div.product > .related,
.nm-woo-wrap div.product > .upsells,
.nm-woo-wrap div.product > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* --- Gallery --- */
.nm-woo-wrap .woocommerce-product-gallery { position: relative; }
.nm-woo-wrap .woocommerce-product-gallery__wrapper { margin: 0; }
.nm-woo-wrap .woocommerce-product-gallery__image { border-radius: var(--nm-radius); overflow: hidden; background: var(--nm-cream); }
.nm-woo-wrap .woocommerce-product-gallery__image img { width: 100%; height: auto; }
.nm-woo-wrap .woocommerce-product-gallery .flex-viewport { border-radius: var(--nm-radius); }
.nm-woo-wrap .woocommerce-product-gallery .flex-control-thumbs {
	list-style: none; display: flex; gap: 10px; margin: 12px 0 0; padding: 0; flex-wrap: wrap;
}
.nm-woo-wrap .woocommerce-product-gallery .flex-control-thumbs li { width: 76px; margin: 0; }
.nm-woo-wrap .woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: var(--nm-radius-sm); border: 2px solid transparent; cursor: pointer; opacity: .7; transition: opacity .12s ease, border-color .12s ease;
}
.nm-woo-wrap .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.nm-woo-wrap .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--nm-red); }
.nm-woo-wrap .woocommerce-product-gallery__trigger {
	position: absolute; top: 14px; right: 14px; z-index: 9;
	width: 40px; height: 40px; border-radius: 999px; background: var(--nm-white); box-shadow: var(--nm-shadow);
}
.nm-woo-wrap span.onsale {
	position: absolute; top: 14px; left: 14px; z-index: 9; min-height: 0; min-width: 0; line-height: 1;
	background: var(--nm-red); color: var(--nm-white); font-size: 11px; font-weight: 800;
	letter-spacing: .4px; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; margin: 0;
}

/* --- Summary --- */
.nm-woo-wrap .summary .product_title {
	font-size: clamp(24px, 2.6vw, 34px); line-height: 1.15; margin-bottom: 10px;
	text-wrap: balance; letter-spacing: -.3px;
}
.nm-woo-wrap .summary .woocommerce-product-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.nm-woo-wrap .summary .woocommerce-review-link { font-size: 13px; color: var(--nm-muted); text-decoration: none; }
.nm-woo-wrap .summary .price { font-size: 24px; font-weight: 800; color: var(--nm-red-dark); margin-bottom: 14px; display: block; }
.nm-woo-wrap .summary .price del { color: var(--nm-muted); font-weight: 600; margin-right: 8px; }
.nm-woo-wrap .summary .price ins { text-decoration: none; color: var(--nm-red); }
.nm-woo-wrap .summary .woocommerce-product-details__short-description { color: var(--nm-muted); font-size: 15px; }

/* --- Variations form --- */
.nm-woo-wrap .variations { width: 100%; margin-bottom: 6px; }
.nm-woo-wrap .variations th, .nm-woo-wrap .variations td { padding: 0 0 12px; vertical-align: middle; }
.nm-woo-wrap .variations th.label { padding-right: 16px; font-size: 14px; font-weight: 800; text-align: left; }
.nm-woo-wrap .variations select {
	appearance: none; -webkit-appearance: none; width: 100%; max-width: 320px;
	background: var(--nm-white) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236d675f' stroke-width='1.8' stroke-linecap='round' d='m1.5 1.8 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 1px solid var(--nm-line); border-radius: 999px;
	padding: 10px 38px 10px 16px; font-family: var(--nm-font-body); font-size: 14px; font-weight: 700; color: var(--nm-ink); cursor: pointer;
}
.nm-woo-wrap .variations select:focus { outline: 2px solid var(--nm-red); outline-offset: 1px; }
.nm-woo-wrap .reset_variations { font-size: 12.5px; color: var(--nm-muted); }
.nm-woo-wrap .woocommerce-variation.single_variation { margin-bottom: 12px; }
.nm-woo-wrap .woocommerce-variation-price .price { font-size: 20px; }
.nm-woo-wrap .woocommerce-variation-availability { font-size: 13.5px; color: var(--nm-muted); }
.nm-woo-wrap .stock.in-stock { color: #3f6212; font-weight: 700; }
.nm-woo-wrap .stock.out-of-stock { color: var(--nm-red); font-weight: 700; }

/* --- Quantity + Add to cart row --- */
.nm-woo-wrap form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 18px; }
.nm-woo-wrap form.cart.variations_form { display: block; }
.nm-woo-wrap form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nm-woo-wrap form.cart .quantity .qty {
	width: 84px; padding: 11px 8px; text-align: center;
	border: 1px solid var(--nm-line); border-radius: 999px;
	font-family: var(--nm-font-body); font-size: 15px; font-weight: 700; color: var(--nm-ink);
}
.nm-woo-wrap form.cart .single_add_to_cart_button {
	flex: 1 1 auto; max-width: 320px;
	background: var(--nm-red); color: var(--nm-white); border: 0; border-radius: 999px;
	padding: 13px 28px; font-family: var(--nm-font-body); font-weight: 800; font-size: 15px;
	cursor: pointer; transition: background .15s ease;
}
.nm-woo-wrap form.cart .single_add_to_cart_button:hover { background: var(--nm-red-dark); }
.nm-woo-wrap form.cart .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }

/* --- Meta (SKU / categories) --- */
.nm-woo-wrap .product_meta { font-size: 13px; color: var(--nm-muted); border-top: 1px solid var(--nm-line); padding-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.nm-woo-wrap .product_meta a { color: var(--nm-muted); }
.nm-woo-wrap .product_meta a:hover { color: var(--nm-red); }

/* --- Tabs --- */
.nm-woo-wrap .woocommerce-tabs { margin-top: 48px; }
.nm-woo-wrap .woocommerce-tabs ul.tabs {
	list-style: none; display: flex; gap: 6px; margin: 0 0 0; padding: 0; border-bottom: 1px solid var(--nm-line); flex-wrap: wrap;
}
.nm-woo-wrap .woocommerce-tabs ul.tabs li { margin: 0; }
.nm-woo-wrap .woocommerce-tabs ul.tabs li a {
	display: block; padding: 11px 18px; text-decoration: none;
	font-weight: 800; font-size: 14px; color: var(--nm-muted);
	border-bottom: 3px solid transparent; margin-bottom: -1px; transition: color .12s ease, border-color .12s ease;
}
.nm-woo-wrap .woocommerce-tabs ul.tabs li.active a { color: var(--nm-red-dark); border-bottom-color: var(--nm-red); }
.nm-woo-wrap .woocommerce-tabs ul.tabs li a:hover { color: var(--nm-red); }
.nm-woo-wrap .woocommerce-tabs .panel { padding: 24px 0 0; }
.nm-woo-wrap .woocommerce-tabs .panel > h2:first-of-type { display: none; } /* duplicate "Description" heading */
.nm-woo-wrap .woocommerce-tabs .panel { font-size: 15px; }

/* --- Reviews --- */
.nm-woo-wrap #reviews .commentlist { list-style: none; margin: 0; padding: 0; }
.nm-woo-wrap #reviews .comment_container { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--nm-line); }
.nm-woo-wrap #reviews .comment_container img.avatar { width: 44px; height: 44px; border-radius: 999px; }
.nm-woo-wrap #reviews .comment-text { flex: 1; }
.nm-woo-wrap #reviews .comment-text .meta { font-size: 13px; color: var(--nm-muted); margin: 2px 0 6px; }
.nm-woo-wrap #review_form .comment-reply-title { font-weight: 800; font-size: 16px; }
.nm-woo-wrap #review_form input[type="text"], .nm-woo-wrap #review_form input[type="email"], .nm-woo-wrap #review_form textarea {
	width: 100%; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm);
	padding: 10px 14px; font-family: var(--nm-font-body); font-size: 14px;
}
.nm-woo-wrap #review_form .form-submit input {
	background: var(--nm-red); color: var(--nm-white); border: 0; border-radius: 999px;
	padding: 12px 26px; font-weight: 800; font-size: 14px; cursor: pointer;
}

/* --- Related products --- */
.nm-woo-wrap .related > h2, .nm-woo-wrap .upsells > h2 {
	font-size: clamp(22px, 2.6vw, 30px); color: var(--nm-red-dark); margin: 48px 0 18px;
}

/* --- Responsive --- */
@media (max-width: 900px) {
	.nm-woo-wrap div.product { grid-template-columns: 1fr; gap: 26px; }
	.nm-woo-wrap div.product > .woocommerce-product-gallery,
	.nm-woo-wrap div.product > .summary { grid-column: 1; }
	.nm-woo-wrap form.cart .single_add_to_cart_button { max-width: none; width: 100%; }
	.nm-woo-wrap .variations select { max-width: none; }
}
