/* Product page below the fold + top sticky bar (reference layout). Pairs with inc/areas/pdp-below.php and assets/js/areas/pdp-below.js */

/* ---------- "Why we made this" (under the buy cards) ---------- */
.yb.single-product .yb-pdp-why { margin: 32px 0 0; }
.yb.single-product .yb-pdp-why__title { margin: 0 0 10px; font-size: 24px; font-weight: 700; line-height: 1.2; text-transform: none; letter-spacing: 0; color: #111; }
.yb.single-product .yb-pdp-why__text,
.yb.single-product .yb-pdp-why__text p { margin: 0 0 10px; font-size: 16px; line-height: 1.55; color: #111; }

/* ---------- Detail accordions: one white card per panel, several open ---------- */
/* PARITY-RECHECK row 20: lululemon draws each panel as its own white card with
   box-shadow 0 1px 2px rgba(0,0,0,.3), 1px apart, header padding 32px 24px — not one
   bordered list inside a single soft-shadow wrapper. The wrapper is now just a spacer. */
.yb.single-product .woocommerce-tabs.wd-accordion {
	margin-top: 56px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.yb.single-product .woocommerce-tabs .wd-accordion-item {
	margin: 0 0 1px;
	border: 0;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.yb.single-product .woocommerce-tabs .wd-accordion-item:last-child { margin-bottom: 0; }
.yb.single-product .woocommerce-tabs .wd-accordion-item::before,
.yb.single-product .woocommerce-tabs .wd-accordion-item::after { display: none !important; }
.yb.single-product .woocommerce-tabs .wd-accordion-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 32px 24px !important;
	border: 0 !important;
	cursor: pointer;
}
.yb.single-product .woocommerce-tabs .wd-accordion-title-text,
.yb.single-product .woocommerce-tabs .wd-accordion-title-text span {
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	color: #111 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.yb.single-product .woocommerce-tabs .wd-accordion-opener {
	flex: 0 0 auto;
	width: 13px !important;
	height: 13px !important;
	margin: -6px 0 0 24px;
	font-size: 0 !important;
	color: #111 !important;
	border-right: 2px solid #111;
	border-bottom: 2px solid #111;
	transform: rotate(45deg) !important;
	transition: transform .2s ease;
}
.yb.single-product .woocommerce-tabs .wd-accordion-opener::before,
.yb.single-product .woocommerce-tabs .wd-accordion-opener::after { content: none !important; display: none !important; }
.yb.single-product .woocommerce-tabs .wd-accordion-title.wd-active .wd-accordion-opener { margin-top: 6px; transform: rotate(-135deg) !important; }
/* Body sits inside the card, so it carries the card's 24px inner padding (row 20). */
.yb.single-product .woocommerce-tabs .wd-accordion-content { max-width: 584px; padding: 0 24px 32px !important; }

/* PARITY-RECHECK row 21: accordion body copy 16px #555 → lululemon's 17px #000,
   with --yb-muted (#57585B) kept for the genuinely secondary SKU line below. */
.yb.single-product .yb-pdp-acc { font-size: 17px; line-height: 1.5; color: var(--yb-ink); }
.yb.single-product .yb-pdp-acc p { margin: 0 0 16px; color: var(--yb-ink); }
.yb.single-product .yb-pdp-acc__sub,
.yb.single-product .yb-pdp-acc__desc h2,
.yb.single-product .yb-pdp-acc__desc h3,
.yb.single-product .yb-pdp-acc__desc h4 {
	margin: 0 0 8px;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #111;
	text-transform: none;
	letter-spacing: 0;
}
.yb.single-product .yb-pdp-acc__list { margin: 0 0 20px; padding: 0 0 0 20px; list-style: disc; }
.yb.single-product .yb-pdp-acc__list li { margin: 0 0 6px; padding: 0; color: var(--yb-ink); }
.yb.single-product .yb-pdp-acc__list li::before { content: none; }
.yb.single-product .yb-pdp-acc__desc { margin-top: 8px; }

/* Care list with laundry icons */
.yb.single-product .yb-pdp-care { margin: 0; padding: 0; list-style: none; }
.yb.single-product .yb-pdp-care li { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; padding: 0; color: var(--yb-ink); }
.yb.single-product .yb-pdp-care li::before { content: none; }
.yb.single-product .yb-pdp-care li.no-icon { padding-left: 34px; position: relative; }
.yb.single-product .yb-pdp-care li.no-icon::before { content: ""; position: absolute; left: 8px; top: 50%; width: 5px; height: 5px; margin-top: -2px; border-radius: 50%; background: currentColor; }
.yb.single-product .yb-pdp-care__icon { flex: 0 0 22px; color: #111; }

/* SKU line under the panel (row 21: secondary copy keeps the muted token) */
.yb.single-product .yb-pdp-sku { margin: 20px 0 0; font-size: 13px; color: var(--yb-muted); text-align: center; }

/* ---------- Reviews ---------- */
.yb.single-product .wd-single-reviews,
.yb.single-product .wd-single-reviews.wd-layout-two-column { display: block !important; max-width: 1000px; margin: 64px 0 0; }
.yb.single-product .wd-single-reviews > * { width: 100% !important; max-width: 100% !important; flex: none !important; }
.yb.single-product #reviews { display: block !important; margin-top: 0; }
.yb.single-product #reviews #comments { width: 100% !important; max-width: none !important; }
.yb.single-product #reviews .wd-reviews-content.wd-sticky { position: static !important; }
.yb.single-product #reviews .woocommerce-Reviews-title,
.yb.single-product #reviews .wd-reviews-heading h2 { margin: 0 0 16px; font-size: 26px !important; font-weight: 400 !important; text-transform: none; letter-spacing: 0; }
.yb.single-product #reviews .wd-reviews-heading { margin: 0; padding: 0; border: 0; }
.yb.single-product #reviews.yb-reviews-js .woocommerce-noreviews { display: none; }

.yb.single-product .yb-reviews__summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 0 0 24px; border-bottom: 1px solid #111; }
.yb.single-product .yb-reviews__summary.is-empty { grid-template-columns: minmax(0, 1fr); border-bottom: 0; }
.yb.single-product .yb-reviews__label { margin: 0 0 16px; font-size: 14px; color: #111; }
.yb.single-product .yb-reviews__hint { margin: 0 0 14px; font-size: 15px; color: #111; }
.yb.single-product .yb-reviews__bars { margin: 0; padding: 0; list-style: none; }
.yb.single-product .yb-reviews__bars li { margin: 0; padding: 0; }
.yb.single-product .yb-reviews__bars li::before { content: none; }
.yb.single-product .yb-reviews__bar {
	display: grid;
	grid-template-columns: 56px 1fr 24px;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none;
	color: #111 !important;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}
.yb.single-product .yb-reviews__bar[disabled] { cursor: default; opacity: 1; }
.yb.single-product .yb-reviews__bar.is-active .yb-reviews__bar-label { font-weight: 700; text-decoration: underline; }
.yb.single-product .yb-reviews__track { display: block; height: 14px; border-radius: 7px; background: #CFCFCF; overflow: hidden; }
.yb.single-product .yb-reviews__track span { display: block; height: 100%; border-radius: 7px; background: #111; }
.yb.single-product .yb-reviews__bar-count { text-align: left; }

.yb.single-product .yb-reviews__overall-row { display: flex; align-items: center; gap: 16px; }
.yb.single-product .yb-reviews__avg { font-size: 44px; font-weight: 400; line-height: 1; color: #111; }
.yb.single-product .yb-reviews__overall-meta { display: flex; flex-direction: column; gap: 4px; }
.yb.single-product .yb-reviews__overall-meta .yb-stars { font-size: 15px; letter-spacing: 1px; }
.yb.single-product .yb-reviews__count-link { font-size: 13px; color: #111; text-decoration: underline; }

.yb.single-product .yb-reviews__boxes { display: flex; gap: 10px; margin: 0 0 18px; }
.yb.single-product .yb-reviews__box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	min-height: 0;
	padding: 0;
	border: 1px solid #111;
	border-radius: 2px;
	background: #fff !important;
	color: #111 !important;
	box-shadow: none;
	cursor: pointer;
}
.yb.single-product .yb-reviews__box:hover,
.yb.single-product .yb-reviews__box.is-on { background: #111 !important; color: #fff !important; }
.yb.single-product .yb-reviews__box.is-on svg,
.yb.single-product .yb-reviews__box:hover svg { fill: currentColor; }
.yb.single-product .yb-reviews__note { margin: 0 0 16px; font-size: 15px; color: #111; }
.yb.single-product .yb-reviews__write-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	border: 1px solid #111;
	border-radius: 4px;
	background: #fff !important;
	color: #111 !important;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	box-shadow: none;
	cursor: pointer;
}
.yb.single-product .yb-reviews__write-btn:hover,
.yb.single-product .yb-reviews__write-btn[aria-expanded="true"] { background: #111 !important; color: #fff !important; }

.yb.single-product .yb-reviews__fit { max-width: 220px; margin: 0 auto; padding: 20px 0 28px; text-align: left; }
.yb.single-product .yb-reviews__fit > .yb-reviews__label { text-align: center; margin-bottom: 20px; }
.yb.single-product .yb-reviews__fit-title { margin: 0 0 8px; font-size: 14px; color: #111; }
.yb.single-product .yb-reviews__scale { position: relative; height: 18px; background: #CFCFCF; }
.yb.single-product .yb-reviews__scale span { position: absolute; left: 50%; top: 0; width: 8px; height: 18px; margin-left: -4px; background: #111; }
.yb.single-product .yb-reviews__scale-labels { display: flex; justify-content: space-between; margin-top: 6px; font-size: 11px; color: #111; }

.yb.single-product .yb-reviews__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; border-top: 1px solid #E5E5E5; border-bottom: 1px solid #111; }
.yb.single-product .yb-reviews__range { margin: 0; font-size: 15px; color: #111; }
.yb.single-product .yb-reviews__sort { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0 12px; height: 44px; border: 1px solid #111; border-radius: 2px; background: #fff; font-size: 13px; white-space: nowrap; }
.yb.single-product .yb-reviews__sort select { height: 42px; min-width: 190px; padding: 0 24px 0 4px; border: 0; background-color: transparent; font-size: 14px; color: #111; box-shadow: none; }

/* Hidden WooCommerce form until "Write a review" / a star box is used (JS adds .yb-reviews-js) */
.yb.single-product #reviews.yb-reviews-js #review_form_wrapper { display: none; width: 100% !important; max-width: 640px; margin: 24px 0 8px; padding: 24px; border: 1px solid #E5E5E5; background: #fff; }
.yb.single-product #reviews.yb-reviews-js.yb-form-open #review_form_wrapper { display: block; }
.yb.single-product #reviews #reply-title { font-size: 20px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.yb.single-product #reviews #review_form input#submit { border-radius: 4px; background: #111; color: #fff; letter-spacing: .08em; }

/* Review list */
.yb.single-product #reviews .commentlist { display: block !important; margin: 0; padding: 0; list-style: none; }
.yb.single-product #reviews.yb-reviews-js .commentlist { opacity: 1 !important; }
.yb.single-product #reviews .commentlist > li.review { width: 100% !important; max-width: none !important; }
.yb.single-product #reviews .commentlist > li.review { margin: 0; padding: 24px 0; border-bottom: 1px solid #E5E5E5; }
.yb.single-product #reviews .commentlist > li.review::before { content: none; }
.yb.single-product #reviews .commentlist .comment_container { display: block; }
.yb.single-product #reviews .commentlist img.avatar { display: none; }
.yb.single-product #reviews .commentlist .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.yb.single-product #reviews .commentlist .star-rating { float: none; margin: 0 0 8px; color: #111; font-size: 13px; }
.yb.single-product #reviews .commentlist .star-rating::before { color: #CFCFCF; }
.yb.single-product #reviews .commentlist .meta { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0 0 12px; font-size: 14px; color: #111; }
.yb.single-product #reviews .commentlist .woocommerce-review__author { font-size: 14px; font-weight: 400; }
.yb.single-product #reviews .commentlist .woocommerce-review__dash { display: none; }
.yb.single-product #reviews .commentlist .woocommerce-review__published-date { font-size: 13px; color: #555; }
.yb.single-product #reviews .commentlist .woocommerce-review__verified {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0;
	font-style: normal;
}
.yb.single-product #reviews .commentlist .woocommerce-review__verified::before {
	content: "\2713";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #111;
	color: #fff;
	font-size: 9px;
	line-height: 1;
}
.yb.single-product #reviews .commentlist .woocommerce-review__verified::after { content: "Verified purchase"; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #111; }
.yb.single-product #reviews .commentlist .description,
.yb.single-product #reviews .commentlist .description p { font-size: 15px; line-height: 1.55; color: #111; }
.yb.single-product #reviews .commentlist > li.review.yb-is-hidden { display: none; }

/* ---------- Recommendation carousels: hearts, no quick shop, no hover layer ---------- */
.yb.single-product .related-and-upsells .title,
.yb.single-product .related-and-upsells .slider-title { font-size: 36px !important; font-weight: 700 !important; text-align: center; text-transform: none; letter-spacing: 0; }
.yb.single-product .related-and-upsells .product-grid-item .product-element-top { background: #EDEDED; }
.yb.single-product .related-and-upsells .product-grid-item .product-image-link img { background: #EDEDED; }
.yb.single-product .related-and-upsells .product-grid-item .wd-add-btn,
.yb.single-product .related-and-upsells .product-grid-item .wrap-quickview-button,
.yb.single-product .related-and-upsells .product-grid-item .wd-quick-view-icon,
.yb.single-product .related-and-upsells .product-grid-item .yb-quick,
.yb.single-product .related-and-upsells .product-grid-item .wd-compare-btn,
.yb.single-product .related-and-upsells .product-grid-item .hover-content,
.yb.single-product .related-and-upsells .product-grid-item .wd-more-desc,
.yb.single-product .related-and-upsells .product-grid-item .wrapp-swatches,
.yb.single-product .related-and-upsells .product-grid-item .wd-quick-shop,
.yb.single-product .related-and-upsells .product-grid-item .quick-shop-wrapper { display: none !important; }
.yb.single-product .related-and-upsells .product-grid-item .product-element-top.wd-quick-shop { display: block !important; }
.yb.single-product .related-and-upsells .product-grid-item .product-element-bottom,
.yb.single-product .related-and-upsells .product-grid-item .fade-in-block { transform: none !important; }
.yb.single-product .related-and-upsells .product-grid-item .wd-buttons {
	top: 12px !important;
	right: 12px !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
.yb.single-product .related-and-upsells .product-grid-item .wd-buttons .wrap-wishlist-button,
.yb.single-product .related-and-upsells .product-grid-item .wd-buttons .wd-wishlist-btn { visibility: visible !important; opacity: 1 !important; }
.yb.single-product .related-and-upsells .product-grid-item .wd-wishlist-btn > a {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
	visibility: visible !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
.yb.single-product .related-and-upsells .product-grid-item .wd-wishlist-btn > a::before { font-size: 16px !important; color: #111 !important; }
.yb.single-product .related-and-upsells .product-grid-item .wd-entities-title { font-size: 16px; font-weight: 600; line-height: 1.35; }
.yb.single-product .related-and-upsells .owl-dots:not(.disabled) { display: flex !important; justify-content: center; gap: 4px; margin-top: 28px; }

/* ---------- Top sticky bar (replaces WoodMart's bottom sticky add to cart) ---------- */
.yb.single-product .wd-sticky-btn { display: none !important; }
.yb.single-product.wd-sticky-btn-shown { padding-bottom: 0 !important; }
.yb.single-product .yb-chat { bottom: 20px; }

.yb-pdp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	top: var(--yb-pdp-sticky-top, 0px);
	z-index: 380;
	background: #fff;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .08);
	border-top: 1px solid #EFEFEF;
	transform: translateY(-120%);
	visibility: hidden;
	transition: transform .25s ease, visibility 0s linear .25s;
}
.yb-pdp-sticky.is-visible { transform: none; visibility: visible; transition: transform .25s ease, visibility 0s; }
.yb-pdp-sticky__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1392px; margin: 0 auto; padding: 14px 32px; }
.yb .yb-pdp-sticky__title { margin: 0; overflow: hidden; font-size: 28px; font-weight: 700; line-height: 1.2; color: #111; white-space: nowrap; text-overflow: ellipsis; }
.yb-pdp-sticky__actions { display: flex; align-items: center; gap: 24px; flex: 0 0 auto; }
.yb-pdp-sticky__colour { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; color: #111; }
.yb-pdp-sticky__dot { display: inline-block; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); }
.yb .yb-pdp-sticky__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 190px;
	height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 4px;
	background: #C5303A !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.yb .yb-pdp-sticky__btn:hover { background: #A8262F !important; }

@media (max-width: 1024px) {
	/* row 20: the 20px gutter now belongs to each card, not the wrapper. */
	.yb.single-product .woocommerce-tabs.wd-accordion { padding: 0; }
	.yb.single-product .woocommerce-tabs .wd-accordion-title { padding: 28px 20px !important; }
	.yb.single-product .woocommerce-tabs .wd-accordion-content { padding: 0 20px 28px !important; }
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text,
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text span { font-size: 24px !important; }
	.yb.single-product .yb-reviews__summary { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.yb.single-product .related-and-upsells .title,
	.yb.single-product .related-and-upsells .slider-title { font-size: 28px !important; }
}
@media (max-width: 768px) {
	.yb.single-product .woocommerce-tabs .wd-accordion-title { padding: 24px 16px !important; }
	.yb.single-product .woocommerce-tabs .wd-accordion-content { padding: 0 16px 24px !important; }
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text,
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text span { font-size: 20px !important; }
	.yb.single-product .yb-reviews__toolbar { flex-direction: column; align-items: flex-start; }
	.yb-pdp-sticky__inner { padding: 10px 16px; gap: 12px; }
	.yb .yb-pdp-sticky__title { font-size: 16px; }
	.yb-pdp-sticky__colour { display: none; }
	.yb .yb-pdp-sticky__btn { min-width: 0; height: 44px; padding: 0 16px; font-size: 13px; }
	.yb.single-product .yb-reviews__box { width: 46px; height: 46px; }
}
