/*
Theme Name:   Your Brand (WoodMart child)
Template:     woodmart
Version:      3.8.0
Description:  Stage 1 design — the approved sample-site look on WoodMart + WPBakery.
Text Domain:  yb
*/

/* ==========================================================================
   1. Design tokens (from the approved sample). Brand colours go here later.
   ========================================================================== */

.yb {
	--yb-ink: #1B1E1C;
	--yb-mist: #F8F8F6;
	--yb-stone: #EDEFEC;
	--yb-forest: #2E4A3F;
	--yb-line: #D9DDD9;
	--yb-muted: #5B615D;
	--yb-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--yb-radius: 4px;
	--yb-radius-lg: 6px;
	--yb-pill: 999px;

	/* WoodMart variables (Theme Settings should hold the same values; these keep both in sync). */
	--wd-primary-color: var(--yb-ink);
	--wd-alternative-color: var(--yb-forest);
	--wd-title-color: var(--yb-ink);
	--wd-text-color: var(--yb-ink);
	--wd-link-color: var(--yb-ink);
	--wd-link-color-hover: var(--yb-forest);
	--wd-text-font: var(--yb-font);
	--wd-title-font: var(--yb-font);
	--wd-entities-title-font: var(--yb-font);
	--wd-brd-radius: var(--yb-radius);
	--wd-form-brd-radius: var(--yb-radius);
	--btn-accented-bgcolor: var(--yb-ink);
	--btn-accented-bgcolor-hover: #000;
	--btn-accented-color: #fff;
	--btn-accented-brd-radius: var(--yb-pill);
	--btn-default-brd-radius: var(--yb-pill);
}

body.yb {
	background: var(--yb-mist);
	color: var(--yb-ink);
	font-family: var(--yb-font);
	line-height: 1.5;
	overflow-x: clip; /* full-bleed sections use 100vw */
}

.yb h1,
.yb h2,
.yb h3,
.yb h4 {
	font-family: var(--yb-font);
	font-weight: 500;
	letter-spacing: -0.02em;
	text-transform: none;
	color: inherit;
}

.yb-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ==========================================================================
   2. Building blocks
   ========================================================================== */

.yb-wrap {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 32px;
}

.yb-sec {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 72px 0;
	color: var(--yb-ink);
}
.yb-sec--band { background: var(--yb-stone); }
.yb-sec--dark { background: var(--yb-forest); color: #fff; }
.yb-sec--flush { padding: 0; }
.yb-sec--tight { padding: 8px 0 32px; }

/* WPBakery rows that only hold our sections get no extra spacing. */
.yb .vc_row:has(> .wpb_column .yb-sec) { margin-bottom: 0; }
.yb .vc_column_container:has(.yb-sec) > .vc_column-inner { padding-top: 0; }
.yb .wpb_wrapper > .yb-sec + .yb-sec,
.yb .wpb_wrapper > .yb-sec { margin-top: 0; margin-bottom: 0; }

.yb-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 28px;
}
.yb .yb-head__title { font-size: 30px; line-height: 1.2; margin: 0; }

.yb .yb-link {
	font-size: 14px;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
	white-space: nowrap;
}

.yb-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.yb .yb-btn {
	display: inline-block;
	padding: 13px 26px;
	border: 1px solid transparent;
	border-radius: var(--yb-pill);
	font: 500 14px/1.2 var(--yb-font);
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: none;
	transition: opacity .15s;
}
.yb .yb-btn:hover { opacity: .88; }
.yb .yb-btn--light { background: #fff; color: var(--yb-ink); }
.yb .yb-btn--dark { background: var(--yb-ink); color: #fff; }
.yb .yb-btn--outline { background: transparent; color: var(--yb-ink); border-color: var(--yb-line); }

/* Placeholders until real photos are added (same gradients as the sample). */
.yb-ph { display: block; width: 100%; height: 100%; background: linear-gradient(200deg, #E6E8E4, #C3C9C3); }
.yb-ph--2 { background: linear-gradient(200deg, #E0DCD4, #B8B1A5); }
.yb-ph--3 { background: linear-gradient(200deg, #D5DCDD, #9DAAAD); }
.yb-ph--4 { background: linear-gradient(200deg, #DCE2DC, #A9B5AB); }

/* ==========================================================================
   3. Promo bar
   ========================================================================== */

.yb-promo {
	position: relative;
	background: #2E4A3F;
	color: #fff;
	font: 13px/18px "Helvetica Neue", Helvetica, Arial, sans-serif;
	padding: 9px 44px;
	text-align: center;
	z-index: 400;
}
.yb-promo[hidden] { display: none; }
.yb-promo__track { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 40px; }
.yb .yb-promo__close {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	min-height: 0;
	padding: 2px 8px;
	background: none;
	border: 0;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	opacity: .8;
	cursor: pointer;
	box-shadow: none;
}

/* ==========================================================================
   4. Hero
   ========================================================================== */

.yb-hero {
	position: relative;
	height: 78vh;
	min-height: 500px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	color: #fff;
}
.yb-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yb-hero__media.yb-ph { background: linear-gradient(160deg, #B9C2BA, #7E8C82 55%, #4F5F55); }
.yb-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .28), rgba(0, 0, 0, 0) 55%);
	pointer-events: none;
}
.yb-hero__copy { position: relative; z-index: 1; width: 100%; padding-bottom: 60px; }
.yb .yb-hero__eyebrow { font-size: 13px; margin: 0 0 10px; opacity: .85; color: #fff; }
.yb .yb-hero__title {
	font-size: clamp(40px, 6vw, 76px);
	line-height: 1;
	max-width: 11ch;
	margin: 0 0 24px;
	color: #fff;
}

/* ==========================================================================
   5. Product cards, carousels, grids
   ========================================================================== */

.yb-carousel {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--yb-line) transparent;
}
.yb-carousel::-webkit-scrollbar { height: 4px; }
.yb-carousel::-webkit-scrollbar-thumb { background: var(--yb-line); }
.yb-carousel > .yb-card { flex: 0 0 260px; scroll-snap-align: start; }

.yb-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.yb-card { position: relative; font-size: 14px; }
.yb .yb-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	margin-bottom: 10px;
	overflow: hidden;
	border-radius: var(--yb-radius);
	background: var(--yb-stone);
}
.yb-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 8px;
	border-radius: var(--yb-pill);
	background: #fff;
	color: var(--yb-ink);
	font-size: 11px;
	line-height: 1.2;
}
.yb-card__dots { display: flex; gap: 4px; margin: 6px 0; }
.yb-card__dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid var(--yb-line); }
.yb .yb-card__title { font-size: 15px; line-height: 1.35; margin: 0; }
.yb .yb-card__title a { color: var(--yb-ink); text-decoration: none; }
.yb .yb-card__sub { margin: 0; color: var(--yb-muted); }
.yb .yb-card__price { margin: 2px 0 0; color: var(--yb-ink); }
.yb .yb-card__price del { color: var(--yb-muted); opacity: 1; }
.yb .yb-card__price ins { text-decoration: none; }
.yb .yb-card__quick {
	display: block;
	margin-top: 8px;
	padding: 7px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-pill);
	color: var(--yb-ink);
	font-size: 13px;
	text-align: center;
	text-decoration: none;
}
.yb .yb-card__quick:hover { background: var(--yb-ink); border-color: var(--yb-ink); color: #fff; }

/* ==========================================================================
   6. Category tiles, chips, story tiles, split
   ========================================================================== */

.yb-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.yb .yb-cat {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 3 / 4;
	padding: 20px;
	overflow: hidden;
	border-radius: var(--yb-radius-lg);
	color: #fff;
	text-decoration: none;
}
.yb-cat__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yb-cat__img.yb-ph--1 { background: linear-gradient(180deg, #C9D0C9, #6E7C72); }
.yb-cat__img.yb-ph--2 { background: linear-gradient(180deg, #D8D4CC, #7A756B); }
.yb-cat__img.yb-ph--3 { background: linear-gradient(180deg, #B7C4C6, #56666A); }
.yb-cat__img.yb-ph--4 { background: linear-gradient(180deg, #D9D6CF, #8B8A80); }
.yb-cat::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0) 50%);
}
.yb-cat__name { position: relative; z-index: 1; font-size: 20px; font-weight: 500; }

.yb-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.yb .yb-chip {
	padding: 12px 22px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-pill);
	background: #fff;
	color: var(--yb-ink);
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
}
.yb .yb-chip:hover { border-color: var(--yb-ink); }

.yb-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.yb .yb-tile { display: block; color: var(--yb-ink); text-decoration: none; }
.yb-tile__media { display: block; aspect-ratio: 5 / 6; margin-bottom: 16px; overflow: hidden; border-radius: var(--yb-radius-lg); }
.yb-tile__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-tile__img.yb-ph--1 { background: linear-gradient(180deg, #C9D0C9, #6E7C72); }
.yb-tile__img.yb-ph--2 { background: linear-gradient(180deg, #D8D4CC, #7A756B); }
.yb .yb-tile__title { font-size: 24px; margin: 0 0 6px; }
.yb .yb-tile__text { max-width: 44ch; margin: 0 0 12px; color: var(--yb-muted); }

.yb-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; }
.yb-split__media { position: relative; overflow: hidden; }
.yb-split__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yb-split__img.yb-ph { background: linear-gradient(135deg, #3D5A4D, #1F2E27); }
.yb-split__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 64px;
	background: var(--yb-stone);
}
.yb .yb-split__title { font-size: 38px; line-height: 1.15; max-width: 14ch; margin: 0 0 14px; }
.yb .yb-split__text { max-width: 44ch; margin: 0 0 24px; color: var(--yb-muted); }

/* ==========================================================================
   7. Stories, reviews, perks, Instagram
   ========================================================================== */

.yb-stories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.yb .yb-story { display: block; color: var(--yb-ink); text-decoration: none; }
.yb-story__media { display: block; aspect-ratio: 4 / 3; margin-bottom: 12px; overflow: hidden; border-radius: var(--yb-radius-lg); }
.yb-story__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-story__img.yb-ph--1 { background: linear-gradient(160deg, #3D5A4D, #1F2E27); }
.yb-story__img.yb-ph--2 { background: linear-gradient(160deg, #6E7C72, #3B4640); }
.yb-story__img.yb-ph--3 { background: linear-gradient(160deg, #8B8A80, #4E4D45); }
.yb .yb-story__title { font-size: 18px; margin: 0 0 4px; }
.yb .yb-story__text { margin: 0; font-size: 14px; color: var(--yb-muted); }

.yb-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.yb .yb-rev { margin: 0; padding: 24px; background: #fff; border: 1px solid var(--yb-line); border-radius: var(--yb-radius-lg); }
.yb-rev__stars { margin-bottom: 10px; color: var(--yb-forest); letter-spacing: 1px; }
.yb .yb-rev__text { margin: 0 0 12px; padding: 0; border: 0; font-size: 15px; font-style: normal; color: var(--yb-ink); }
.yb .yb-rev__text::before { display: none; }
.yb-rev__by { font-size: 13px; color: var(--yb-muted); }

.yb-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.yb .yb-perk__title { font-size: 17px; margin: 0 0 6px; }
.yb .yb-perk__text { margin: 0; font-size: 14px; color: var(--yb-muted); }

.yb-insta { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.yb-insta__cell { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--yb-radius); }
.yb-insta__img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ==========================================================================
   8. Newsletter (band + footer)
   ========================================================================== */

.yb-news { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.yb .yb-news__title { font-size: 32px; line-height: 1.2; margin: 0 0 10px; color: #fff; }
.yb .yb-news__text { max-width: 44ch; margin: 0; opacity: .85; color: #fff; }

.yb-news-form { margin: 0; }
.yb .yb-choice { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; padding: 0; border: 0; }
.yb .yb-choice__legend { width: 100%; margin-bottom: 8px; padding: 0; font-size: 13px; opacity: .85; color: inherit; }
.yb-choice__opt { position: relative; margin: 0; cursor: pointer; }
.yb-choice__opt input { position: absolute; opacity: 0; pointer-events: none; }
.yb-choice__opt span {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: var(--yb-pill);
	font-size: 13px;
}
.yb-choice__opt input:checked + span { background: #fff; color: var(--yb-forest); border-color: #fff; }
.yb-choice__opt input:focus-visible + span { outline: 2px solid #fff; outline-offset: 2px; }

.yb .yb-news-form__input {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 0 12px;
	padding: 13px 14px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: var(--yb-radius);
	background: transparent;
	color: #fff;
	font-size: 14px;
	box-shadow: none;
}
.yb .yb-news-form__input::placeholder { color: rgba(255, 255, 255, .7); }
.yb .yb-news-form__note { margin: 12px 0 0; font-size: 11px; opacity: .7; color: inherit; }
.yb .yb-news-form__msg { margin: 10px 0 0; font-size: 13px; color: inherit; }

/* ==========================================================================
   9. Footer ([yb_footer] in a WoodMart HTML block)
   ========================================================================== */

.yb-footer {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 64px 0 28px;
	background: var(--yb-ink);
	color: #C9CDC9;
	font-size: 14px;
}
.yb-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.yb .yb-footer__title { margin: 0 0 14px; font-size: 14px; color: #fff; letter-spacing: 0; }
.yb .yb-footer__title--apps { margin-top: 18px; }
.yb .yb-footer__list,
.yb .yb-footer__legal { list-style: none; margin: 0; padding: 0; }
.yb .yb-footer__list li { margin: 0 0 8px; }
.yb .yb-footer a { color: #C9CDC9; text-decoration: none; }
.yb .yb-footer a:hover { color: #fff; }
.yb .yb-footer .yb-news-form__input { border-color: #4A4F4B; margin: 10px 0; padding: 12px 14px; }
.yb .yb-footer .yb-btn { padding: 10px 20px; font-size: 13px; }
.yb .yb-footer .yb-news-form__note { color: #8E948F; opacity: 1; }
.yb-footer__apps { display: flex; flex-wrap: wrap; gap: 10px; }
.yb .yb-footer__apps a { padding: 8px 14px; border: 1px solid #4A4F4B; border-radius: var(--yb-radius-lg); font-size: 12px; }
.yb-footer__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	border-top: 1px solid #333836;
}
.yb .yb-footer__pay { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 0 auto; padding: 0; }
.yb .yb-footer__pay li { margin: 0; padding: 4px 10px; border: 1px solid #4A4F4B; border-radius: var(--yb-radius); font-size: 11px; }
.yb-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	padding-top: 22px;
	border-top: 1px solid #333836;
	font-size: 12px;
}
.yb .yb-footer__copy { margin: 0; }
.yb .yb-footer__legal { display: flex; flex-wrap: wrap; gap: 16px; }

/* ==========================================================================
   10. Mega menu (WoodMart HTML blocks)
   ========================================================================== */

.yb .yb-mega-col h4 { margin: 0 0 8px; font-size: 13px; color: var(--yb-ink); }
.yb .yb-mega-col h4:not(:first-child) { margin-top: 14px; }
.yb .yb-mega-col ul { list-style: none; margin: 0; padding: 0; }
.yb .yb-mega-col li { margin: 0 0 5px; font-size: 13px; }
.yb .yb-mega-col a { color: var(--yb-muted); text-decoration: none; }
.yb .yb-mega-col a:hover { color: var(--yb-ink); }
.yb .yb-mega-all { padding-top: 12px; border-top: 1px solid var(--yb-line); font-weight: 500; }
.yb .yb-mega-feat { display: block; padding: 16px; border-radius: var(--yb-radius-lg); background: var(--yb-stone); color: var(--yb-ink); text-decoration: none; }
.yb-mega-feat__media { display: block; aspect-ratio: 4 / 3; margin-bottom: 10px; overflow: hidden; border-radius: var(--yb-radius); }
.yb-mega-feat__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-mega-feat__img.yb-ph { background: linear-gradient(180deg, #C9D0C9, #6E7C72); }
.yb-mega-feat__title { display: block; margin-bottom: 4px; font-weight: 500; font-size: 14px; }
.yb-mega-feat__text { font-size: 12px; color: var(--yb-muted); }

/* ==========================================================================
   11. WoodMart header builder
   (Colours/heights are also set in Header Builder; these match the sample.)
   ========================================================================== */

.yb .whb-top-bar { background: var(--yb-mist); border-bottom: 1px solid var(--yb-line); }
.yb .whb-top-bar,
.yb .whb-top-bar a { color: var(--yb-muted); font-size: 12px; }
.yb .whb-general-header,
.yb .whb-sticked .whb-general-header { background: var(--yb-mist); border-bottom: 1px solid var(--yb-line); }
.yb .whb-header .wd-nav-main > li > a,
.yb .whb-header .wd-nav > li > a {
	color: var(--yb-ink);
	font: 400 14px/1.2 var(--yb-font);
	text-transform: none;
	letter-spacing: 0;
}
.yb .whb-header .wd-logo { font-weight: 600; letter-spacing: .08em; }
.yb .whb-header .wd-search-form input[type="text"],
.yb .whb-header .searchform input[type="text"] {
	height: 34px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-pill);
	background: transparent;
	font-size: 13px;
}
.yb .wd-dropdown-menu,
.yb .wd-dropdown { border: 1px solid var(--yb-line); border-radius: 0; box-shadow: none; background: #fff; }

/* ==========================================================================
   12. WooCommerce + WoodMart templates (shop, product, cart, checkout, account)
   ========================================================================== */

/* Buttons + fields */
.yb .button,
.yb button.button,
.yb .btn.btn-color-primary,
.yb input[type="submit"],
.yb .single_add_to_cart_button,
.yb .checkout-button,
.yb #place_order {
	border-radius: var(--yb-pill);
	background: var(--yb-ink);
	color: #fff;
	font: 500 14px/1.2 var(--yb-font);
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
.yb input[type="text"],
.yb input[type="email"],
.yb input[type="tel"],
.yb input[type="password"],
.yb input[type="number"],
.yb input[type="search"],
.yb select,
.yb textarea {
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius);
	background-color: #fff;
	font-family: var(--yb-font);
	box-shadow: none;
}
.yb .yb-news-form input.yb-news-form__input { background-color: transparent; }

/* Page title + breadcrumbs */
.yb .page-title { background: none; padding: 24px 0 8px; }
.yb .page-title .entry-title,
.yb .page-title .title {
	color: var(--yb-ink);
	font-size: 30px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: -0.02em;
}
.yb .woocommerce-breadcrumb,
.yb .wd-breadcrumbs,
.yb .page-title .breadcrumbs { color: var(--yb-muted); font-size: 13px; }
.yb .woocommerce-breadcrumb a,
.yb .wd-breadcrumbs a { color: var(--yb-muted); }

/* Product grid (category/shop) */
.yb .product-grid-item .product-element-top,
.yb .wd-product .product-element-top { overflow: hidden; border-radius: var(--yb-radius); background: var(--yb-stone); }
.yb .product-grid-item .wd-entities-title,
.yb .wd-product .wd-entities-title { font: 500 15px/1.35 var(--yb-font); text-transform: none; }
.yb .product-grid-item .wd-entities-title a,
.yb .wd-product .wd-entities-title a { color: var(--yb-ink); }
.yb .product-grid-item .wd-product-cats,
.yb .wd-product .wd-product-cats { font-size: 14px; color: var(--yb-muted); }
.yb .product-grid-item .price,
.yb .wd-product .price { color: var(--yb-ink); font-size: 14px; font-weight: 400; }
.yb .product-labels .product-label,
.yb .onsale {
	min-width: 0;
	min-height: 0;
	padding: 4px 8px;
	border-radius: var(--yb-pill);
	background: #fff;
	color: var(--yb-ink);
	font-size: 11px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

/* Filters sidebar + toolbar + pagination */
.yb .sidebar-container .widget-title,
.yb .wd-widget .widget-title,
.yb .filter-widget .widget-title {
	margin: 0;
	padding: 12px 0;
	border-top: 1px solid var(--yb-line);
	font: 500 14px/1.3 var(--yb-font);
	text-transform: none;
	letter-spacing: 0;
	color: var(--yb-ink);
}
.yb .wd-swatch.wd-bg,
.yb .swatch-on-grid,
.yb .wd-swatch.color-swatch { border-radius: 50%; }
.yb .woocommerce-ordering select,
.yb .wd-products-per-page select { border-radius: var(--yb-radius); }
.yb .woocommerce-pagination ul li a,
.yb .woocommerce-pagination ul li span {
	min-width: 36px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius);
	color: var(--yb-ink);
}
.yb .woocommerce-pagination ul li span.current { background: var(--yb-ink); border-color: var(--yb-ink); color: #fff; }
.yb .term-description,
.yb .wd-term-desc { max-width: 70ch; color: var(--yb-muted); font-size: 14px; }

/* Single product */
.yb .product_title { font-size: 28px; font-weight: 500; line-height: 1.2; text-transform: none; }
.yb .summary-inner > .price,
.yb .summary .price { color: var(--yb-ink); font-size: 20px; font-weight: 400; }
.yb .woocommerce-product-details__short-description { color: var(--yb-muted); font-size: 14px; }
.yb .variations label,
.yb .variations th { font-size: 13px; font-weight: 500; text-transform: none; }
.yb .wd-swatch.wd-text,
.yb .swatch-on-single.swatch-size-default {
	min-width: 48px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius);
	font-size: 13px;
}
.yb .wd-swatch.wd-active.wd-text,
.yb .wd-swatch.wd-text:hover { background: var(--yb-ink); border-color: var(--yb-ink); color: #fff; }
.yb .wd-swatch.wd-bg.wd-active { outline: 2px solid var(--yb-ink); outline-offset: 2px; }
.yb .single_add_to_cart_button { width: 100%; padding: 16px; }
.yb .wd-accordion-item,
.yb .woocommerce-tabs .wd-accordion-title { border-top: 1px solid var(--yb-line); }
.yb .wd-accordion-title-text,
.yb .woocommerce-tabs .tabs li a { font: 500 14px/1.3 var(--yb-font); text-transform: none; letter-spacing: 0; color: var(--yb-ink); }
.yb .woocommerce-product-gallery img { border-radius: var(--yb-radius); }
.yb .related-and-upsells .title,
.yb .related .title,
.yb .upsells .title { font-size: 30px; font-weight: 500; text-transform: none; }

/* Cart + checkout */
.yb .shop_table { border-color: var(--yb-line); }
.yb .shop_table th { font-weight: 500; text-transform: none; letter-spacing: 0; }
.yb .cart-totals-inner,
.yb .cart_totals,
.yb .woocommerce-checkout-review-order,
.yb .checkout-order-review {
	padding: 24px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius-lg);
	background: #fff;
}
.yb .woocommerce-billing-fields,
.yb .woocommerce-shipping-fields,
.yb .woocommerce-additional-fields,
.yb #payment { padding: 24px; border: 1px solid var(--yb-line); border-radius: var(--yb-radius-lg); background: #fff; }
.yb .woocommerce-billing-fields h3,
.yb #order_review_heading,
.yb .cart_totals h2 { font-size: 20px; font-weight: 500; text-transform: none; letter-spacing: 0; }

/* Account */
.yb .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.yb .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--yb-line);
	color: var(--yb-ink);
	font-size: 15px;
	text-transform: none;
}
.yb .woocommerce-MyAccount-navigation ul li.is-active a { font-weight: 500; }

/* Footer container around the [yb_footer] HTML block */
.yb .footer-container { background: var(--yb-ink); }
.yb .footer-container .main-footer,
.yb .footer-container .footer-column { padding-top: 0; padding-bottom: 0; }

/* ==========================================================================
   13. Content pages imported from the sample (help, contact, stores, about, policies…)
   Markup lives in a WPBakery "Raw HTML" element wrapped in .yb-page.
   ========================================================================== */

.yb-page { padding-bottom: 48px; color: var(--yb-ink); font-size: 15px; line-height: 1.5; }
.yb-page .wrap { max-width: none; margin: 0; padding: 0; }
.yb-page .page { padding: 24px 0 24px; }
.yb .yb-page h1 { margin: 0 0 24px; font-size: 34px; line-height: 1.15; }
.yb .yb-page h2 { margin: 0 0 12px; }
.yb .yb-page h3 { margin: 0 0 6px; }
.yb .yb-page p { margin: 0 0 12px; }
.yb .yb-page ul { margin: 0; padding: 0; list-style: none; }
.yb .yb-page a { color: inherit; text-decoration: none; }
.yb .yb-page .link { font-size: 14px; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.yb .yb-page .btn {
	display: inline-block;
	padding: 13px 26px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-pill);
	background: transparent;
	color: var(--yb-ink);
	font: 500 14px/1.2 var(--yb-font);
	text-transform: none;
	letter-spacing: 0;
}
.yb .yb-page .btn-dark { background: var(--yb-ink); border-color: var(--yb-ink); color: #fff; }
.yb .yb-page .btn.full { display: block; width: 100%; text-align: center; }

.yb-page .hero2 {
	display: flex;
	align-items: flex-end;
	width: 100vw;
	height: 50vh;
	min-height: 320px;
	margin: 0 calc(50% - 50vw) 48px;
	background: linear-gradient(160deg, #B9C2BA, #4F5F55);
	color: #fff;
}
.yb-page .hero2 .wrap { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 32px 40px; }
.yb .yb-page .hero2 h1 { margin: 0; font-size: clamp(36px, 5vw, 64px); color: #fff; }
.yb-page .prose { max-width: 70ch; font-size: 16px; line-height: 1.7; }
.yb .yb-page .prose h2 { margin: 32px 0 12px; font-size: 26px; }

.yb-page .two { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; }
.yb-page .box { padding: 24px; border: 1px solid var(--yb-line); border-radius: var(--yb-radius-lg); background: #fff; }
.yb-page .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.yb-page .field { display: block; margin-bottom: 14px; font-size: 13px; }
.yb .yb-page .field input,
.yb .yb-page .field select,
.yb .yb-page .field textarea {
	width: 100%;
	height: auto;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid var(--yb-line);
	border-radius: var(--yb-radius);
	background: #fff;
	font-size: 14px;
}

.yb-page .tabs { display: flex; flex-wrap: wrap; gap: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--yb-line); font-size: 14px; }
.yb-page .tabs span { padding: 12px 0; cursor: pointer; }
.yb-page .tabs span.on { border-bottom: 2px solid var(--yb-ink); font-weight: 500; }
.yb-page table { width: 100%; border-collapse: collapse; font-size: 14px; }
.yb .yb-page th,
.yb .yb-page td { padding: 12px 8px; border: 0; border-bottom: 1px solid var(--yb-line); text-align: left; }
.yb .yb-page th { font-weight: 500; }

.yb-page .faq details { border-top: 1px solid var(--yb-line); }
.yb-page .faq summary { padding: 16px 0; font-size: 15px; font-weight: 500; list-style: none; cursor: pointer; }
.yb-page .faq summary::-webkit-details-marker { display: none; }
.yb-page .faq summary::after { content: "+"; float: right; }
.yb-page .faq details[open] summary::after { content: "−"; }
.yb .yb-page .faq p { margin: 0; padding-bottom: 16px; color: var(--yb-muted); font-size: 14px; }

.yb-page .helpgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 40px; }
.yb .yb-page .helpgrid a { padding: 20px; border: 1px solid var(--yb-line); border-radius: var(--yb-radius-lg); background: #fff; }
.yb-page .helpgrid b { display: block; margin-bottom: 4px; font-weight: 500; }
.yb-page .helpgrid span { font-size: 13px; color: var(--yb-muted); }

.yb-page .map { aspect-ratio: 16 / 8; margin-bottom: 24px; border-radius: var(--yb-radius-lg); background: linear-gradient(160deg, #DCE2DC, #A9B5AB); }
.yb-page .store { padding: 16px 0; border-bottom: 1px solid var(--yb-line); font-size: 14px; }
.yb-page .store b { font-weight: 500; }
.yb .yb-page .store p { margin: 0; color: var(--yb-muted); }

.yb-page .track { position: relative; display: flex; justify-content: space-between; margin: 28px 0; font-size: 13px; }
.yb-page .track::before { content: ""; position: absolute; top: 10px; left: 0; right: 0; height: 2px; background: var(--yb-line); }
.yb-page .track div { position: relative; text-align: center; }
.yb-page .track i { display: block; width: 22px; height: 22px; margin: 0 auto 6px; border-radius: 50%; background: var(--yb-line); }
.yb-page .track .done i { background: var(--yb-forest); }

.yb-page .gcgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.yb-page .gc { aspect-ratio: 16 / 10; padding: 14px; border-radius: 8px; background: linear-gradient(135deg, #3D5A4D, #1F2E27); color: #fff; font-size: 13px; }
.yb-page .gc:nth-child(2) { background: linear-gradient(135deg, #6E7C72, #3B4640); }
.yb-page .gc:nth-child(3) { background: linear-gradient(135deg, #8B8A80, #4E4D45); }
.yb-page .gc:nth-child(4) { background: linear-gradient(135deg, #B8B1A5, #7A756B); }
.yb-page .sz { display: inline-block; margin: 4px 4px 0 0; padding: 6px 10px; border: 1px solid var(--yb-line); border-radius: var(--yb-radius); font-size: 12px; cursor: pointer; }
.yb-page .sz.on { background: var(--yb-ink); border-color: var(--yb-ink); color: #fff; }

.yb-page .quiz { max-width: 640px; }
.yb-page .quiz .opt { display: block; margin-bottom: 10px; padding: 16px; border: 1px solid var(--yb-line); border-radius: var(--yb-radius-lg); background: #fff; cursor: pointer; }
.yb-page .quiz .opt.on { border-color: var(--yb-ink); }

.yb-page .stories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.yb-page .story .visual { aspect-ratio: 4 / 3; margin-bottom: 12px; border-radius: var(--yb-radius-lg); background: linear-gradient(160deg, #3D5A4D, #1F2E27); }
.yb-page .story:nth-child(2) .visual { background: linear-gradient(160deg, #6E7C72, #3B4640); }
.yb-page .story:nth-child(3) .visual { background: linear-gradient(160deg, #8B8A80, #4E4D45); }
.yb .yb-page .story h3 { font-size: 18px; margin: 0 0 4px; }
.yb .yb-page .story p { font-size: 14px; color: var(--yb-muted); }
.yb-page .tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.yb-page .tile .visual { aspect-ratio: 5 / 6; margin-bottom: 16px; border-radius: var(--yb-radius-lg); background: linear-gradient(180deg, #C9D0C9, #6E7C72); }
.yb-page .tile:nth-child(2) .visual { background: linear-gradient(180deg, #D8D4CC, #7A756B); }
.yb .yb-page .tile h3 { font-size: 24px; margin: 0 0 6px; }
.yb .yb-page .tile p { max-width: 44ch; color: var(--yb-muted); }
.yb-page .regions { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px 32px; }
.yb .yb-page .regions h3 { font-size: 16px; margin: 0 0 8px; }
.yb .yb-page .regions li { margin: 0 0 6px; font-size: 14px; color: var(--yb-muted); }

/* ==========================================================================
   14. Responsive (same breakpoints as the sample)
   ========================================================================== */

@media (max-width: 900px) {
	.yb-sec { padding: 48px 0; }
	.yb-sec--flush { padding: 0; }
	.yb-sec--tight { padding: 8px 0 24px; }
	.yb-wrap { padding: 0 20px; }

	.yb-promo__track { display: block; height: 18px; overflow: hidden; }
	.yb-promo__msg { display: block; height: 18px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
	.yb-promo[data-count="2"] .yb-promo__msg { animation: yb-promo-2 8s infinite; }
	.yb-promo[data-count="3"] .yb-promo__msg { animation: yb-promo-3 12s infinite; }

	.yb-grid,
	.yb-cats,
	.yb-stories,
	.yb-reviews,
	.yb-perks,
	.yb-tiles,
	.yb-news { grid-template-columns: 1fr 1fr; }
	.yb-split { grid-template-columns: 1fr; }
	.yb-split__media { min-height: 260px; }
	.yb-split__copy { padding: 40px 20px; }
	.yb-insta { grid-template-columns: repeat(3, 1fr); }
	.yb-footer__grid { grid-template-columns: 1fr 1fr; }
	.yb .yb-footer__pay { margin-left: 0; }

	.yb-page .two,
	.yb-page .row2,
	.yb-page .helpgrid,
	.yb-page .stories { grid-template-columns: 1fr; }
	.yb-page .gcgrid,
	.yb-page .tiles { grid-template-columns: 1fr 1fr; }
	.yb-page .hero2 .wrap { padding: 0 20px 32px; }
}

@media (max-width: 560px) {
	.yb-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.yb-cats,
	.yb-stories,
	.yb-reviews,
	.yb-perks,
	.yb-tiles,
	.yb-news,
	.yb-footer__grid { grid-template-columns: 1fr; }
	.yb-carousel > .yb-card { flex-basis: 200px; }
	.yb .yb-head__title { font-size: 24px; }
	.yb .yb-split__title { font-size: 30px; }
}

@keyframes yb-promo-2 {
	0%, 45% { transform: translateY(0); }
	50%, 95% { transform: translateY(-100%); }
	100% { transform: translateY(0); }
}
@keyframes yb-promo-3 {
	0%, 28% { transform: translateY(0); }
	33%, 61% { transform: translateY(-100%); }
	66%, 95% { transform: translateY(-200%); }
	100% { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.yb-promo__msg { animation: none !important; }
	.yb-promo__track { height: auto; }
	.yb-promo__msg:not(:first-child) { display: none; }
}

/* ==========================================================================
   15. Lululemon-style pass (16 Sep 2026)
   Neutral palette, bold type, square corners, uppercase actions,
   left-aligned titles, filter sidebar, size boxes, summary accordions.
   ========================================================================== */

.yb {
	--yb-ink: #111111;
	--yb-mist: #FFFFFF;
	--yb-stone: #F5F5F5;
	--yb-forest: #111111;
	--yb-line: #D5D5D5;
	--yb-muted: #5F5F5F;
	--yb-radius: 0px;
	--yb-radius-lg: 0px;
	--yb-pill: 2px;
	--yb-accent: #111111; /* brand colour for "Add to bag" goes here */
}

.yb h1,
.yb h2,
.yb h3,
.yb .yb-head__title,
.yb .yb-hero__title,
.yb .page-title .title,
.yb .product_title,
.yb .yb-news__title { font-weight: 700; letter-spacing: -0.01em; }

/* No gap between header and full-width first sections */
.yb .main-page-wrapper:has(.entry-content .yb-sec--flush),
.yb .main-page-wrapper:has(.entry-content .yb-page) { padding-top: 0; margin-top: 0; }

/* Promo bar: white, like the reference */
.yb-promo { background: #fff; color: #111; border-bottom: 1px solid #EDEDED; font-weight: 500; }
.yb .yb-promo__close { color: #111; }

/* Header */
.yb .whb-general-header,
.yb .whb-sticked .whb-general-header { background: #fff; border-bottom: 1px solid #EDEDED; }
.yb .whb-header .wd-nav-main > li > a {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.yb .whb-header .wd-nav-main > li > a:hover,
.yb .whb-header .wd-nav-main > li.current-menu-item > a { color: #111; box-shadow: inset 0 -2px 0 #D22030; }
.yb .whb-header .wd-header-my-account .wd-tools-text { font-size: 14px; font-weight: 400; text-transform: none; }

/* Buttons: square, bold, uppercase */
.yb .button,
.yb button.button,
.yb .btn,
.yb input[type="submit"],
.yb .checkout-button,
.yb #place_order,
.yb .yb-btn {
	border-radius: var(--yb-pill);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: 13px;
}
.yb .single_add_to_cart_button,
.yb .checkout-button,
.yb #place_order { background: var(--yb-accent); padding: 18px; }

/* Page titles: breadcrumb above, bold title left */
.yb .page-title { padding: 28px 0 12px; text-align: left; }
.yb .page-title .container { display: flex; flex-direction: column; align-items: flex-start; }
.yb .page-title .title { font-size: 34px; margin: 0; }
.yb .page-title .wd-back-btn { display: none; }
.yb .page-title .wd-nav-product-cat { justify-content: flex-start; margin: 14px 0 0; gap: 0 24px; }
.yb .page-title .wd-nav-product-cat > li > a {
	padding: 10px 0;
	color: #111;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
}
.yb .page-title .wd-nav-product-cat > li.wd-active > a { font-weight: 700; box-shadow: inset 0 -2px 0 #111; }
.yb .page-title .wd-nav-product-cat .nav-link-count,
.yb .page-title .wd-nav-product-cat .category-products-count { display: none; }
.yb .page-title.color-scheme-light .title,
.yb .page-title.color-scheme-light a { color: #111; }

/* Filters sidebar: accordion-style rows */
.yb .sidebar-container .widget { margin: 0; padding: 0 0 14px; border-bottom: 1px solid var(--yb-line); }
.yb .sidebar-container .widget-title {
	padding: 18px 0 6px;
	border-top: 0;
	font-size: 16px;
	font-weight: 500;
}
.yb .sidebar-container .product-categories a,
.yb .sidebar-container .wd-filter-list a { color: #111; font-size: 14px; }
.yb .sidebar-container .current-cat > a { font-weight: 700; }

/* Toolbar */
.yb .shop-loop-head { border-bottom: 0; margin-bottom: 16px; }
.yb .wd-products-per-page,
.yb .wd-products-shop-view { display: none; }
.yb .woocommerce-ordering select { min-width: 220px; height: 44px; border: 1px solid #111; font-weight: 500; }

/* Product grid: image, swatches, name, price — left aligned */
.yb .wd-product,
.yb .product-grid-item { text-align: left; }
.yb .wd-product .product-element-top,
.yb .product-grid-item .product-element-top { aspect-ratio: 4 / 5; border-radius: 0; background: #F5F5F5; }
.yb .wd-product .product-element-top img { width: 100%; height: 100%; object-fit: cover; }
.yb .wd-product .wd-entities-title { margin-top: 10px; font-size: 15px; font-weight: 600; }
.yb .wd-product .price { font-size: 15px; font-weight: 400; }
.yb .wd-product .wd-add-btn,
.yb .wd-product .wd-buttons,
.yb .wd-product .wd-compare-btn { display: none; }
.yb .wd-product .wd-swatches-grid { justify-content: flex-start; margin: 10px 0 0; }
.yb .wd-product .wd-swatches-grid .wd-swatch { width: 24px; height: 24px; }
.yb .product-labels { top: auto; bottom: 10px; left: 10px; }
.yb .product-labels .product-label { border-radius: 2px; font-weight: 500; font-size: 12px; }

/* Single product */
.yb.single-product .main-page-wrapper { background: #fff; }
.yb .single-breadcrumbs-wrapper,
.yb .product-image-summary .woocommerce-breadcrumb { font-size: 12px; }
.yb .product_title { font-size: 30px; line-height: 1.15; margin-bottom: 8px; }
.yb .summary .price { font-size: 18px; font-weight: 700; }
.yb .summary .variations th,
.yb .summary .variations label { font-size: 15px; font-weight: 700; }
.yb .summary .quantity,
.yb .summary .product_meta,
.yb .summary .wd-compare-btn { display: none; }
.yb .summary .wd-swatches-product .wd-swatch.wd-text {
	min-width: 88px;
	height: 40px;
	margin: 0 8px 8px 0;
	border: 1px solid #C8C8C8;
	border-radius: 2px;
	background: #fff;
	color: #111;
	font-size: 14px;
	font-weight: 700;
}
.yb .summary .wd-swatches-product .wd-swatch.wd-text.wd-active { border: 2px solid #111; background: #fff; color: #111; }
.yb .summary .wd-swatches-product .wd-swatch.wd-bg { width: 40px; height: 40px; }
.yb .summary .wd-swatches-product .wd-swatch.wd-bg.wd-active { outline: 1px solid #111; outline-offset: 3px; }
.yb .summary .variations_button { flex-wrap: wrap; padding: 16px; border: 1px solid #EDEDED; }
.yb .summary .single_add_to_cart_button { width: 100%; }
.yb .summary .wd-wishlist-btn { margin-top: 12px; }
.yb .summary .wd-accordion-title { padding: 18px 0; }
.yb .summary .wd-accordion-title-text { font-size: 16px; font-weight: 700; }

/* Cart + checkout: "Bag" + order summary */
.yb .cart-totals-inner,
.yb .cart_totals,
.yb .woocommerce-checkout-review-order,
.yb .checkout-order-review { border: 0; background: #F5F5F5; }
.yb .woocommerce-billing-fields,
.yb .woocommerce-shipping-fields,
.yb .woocommerce-additional-fields,
.yb #payment { border-color: #EDEDED; }
.yb .wd-empty-page,
.yb .cart-empty { font-weight: 700; }

/* Account */
.yb .woocommerce-MyAccount-navigation-link a { font-weight: 500; }
.yb .wd-my-account-links a { border: 1px solid #EDEDED; border-radius: 0; }
.yb .wd-my-account-links a:hover { border-color: #111; }

/* Newsletter band on white/grey instead of dark */
.yb .yb-sec--dark .yb-news__title,
.yb .yb-sec--dark .yb-news__text { color: #fff; }

@media (max-width: 900px) {
	.yb .page-title .title { font-size: 26px; }
	.yb .page-title .wd-nav-product-cat { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
	.yb .summary .wd-swatches-product .wd-swatch.wd-text { min-width: 72px; }
}

/* 15b. Fixes after live check (16 Sep 2026) */

/* WoodMart adds 40px under the header and above the footer */
.yb .whb-header { margin-bottom: 0; }
.yb .main-page-wrapper { margin-top: 0; }
.yb:not(:has(.yb-sec--flush, .yb-page)) .main-page-wrapper { padding-top: 32px; }
.yb .wd-prefooter { padding-bottom: 0; }

/* Neutral grey page ground like the reference (cards/panels stay white) */
body.yb.woocommerce-cart,
body.yb.woocommerce-checkout,
body.yb.woocommerce-account,
body.yb.archive.woocommerce,
body.yb.post-type-archive-product { background: #FAFAFA; }
.yb .main-page-wrapper { background: transparent; }

/* Grid: swatches under the image, not over it */
.yb .product-grid-item .product-element-top { aspect-ratio: auto; overflow: visible; background: none; }
.yb .product-grid-item .product-image-link { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #F5F5F5; }
.yb .product-grid-item .product-element-top .wrapp-swatches {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	padding: 12px 0 0;
	background: none;
}
.yb .product-grid-item .product-element-bottom { margin-top: 0 !important; padding-top: 6px; transform: none !important; }
.yb .product-grid-item .fade-in-block { display: none; }
.yb .page-title .wd-nav-product-cat .cat-item-uncategorized,
.yb .sidebar-container .cat-item-uncategorized,
.yb .page-title .wd-nav-product-cat .shop-all-link { display: none; }

/* Product page: labels above options, sentence-case bold accordions */
.yb .summary .variations,
.yb .summary .variations tbody,
.yb .summary .variations tr,
.yb .summary .variations th,
.yb .summary .variations td { display: block; width: 100%; padding: 0; text-align: left; }
.yb .summary .variations th { margin: 18px 0 10px; }
.yb .summary .variations th .wd-attr-selected { font-weight: 400; }
.yb .summary .wd-accordion-item { border-top: 1px solid #D5D5D5; }
.yb .summary .wd-accordion-item:last-child { border-bottom: 1px solid #D5D5D5; }
.yb .summary .wd-accordion-title,
.yb .summary .wd-accordion-title-text { text-transform: none; letter-spacing: 0; }
.yb .summary .wd-accordion-title { border: 0; }
.yb .summary .variations_button { background: #fff; }

/* Cart = "My bag": item cards left, order summary right */
.yb .woocommerce-cart-form .shop_table thead { display: none; }
.yb .woocommerce-cart-form .shop_table,
.yb .woocommerce-cart-form .shop_table tbody { display: block; border: 0; }
.yb .woocommerce-cart-form .shop_table tr.cart_item {
	display: grid;
	grid-template-columns: 140px 1fr auto auto 32px;
	align-items: start;
	gap: 16px;
	margin-bottom: 16px;
	padding: 20px;
	background: #fff;
}
.yb .woocommerce-cart-form .shop_table tr.cart_item td { padding: 0; border: 0; text-align: left; }
.yb .woocommerce-cart-form .shop_table .product-thumbnail { grid-column: 1; grid-row: 1 / span 2; width: auto; }
.yb .woocommerce-cart-form .shop_table .product-thumbnail img { width: 140px; max-width: none; aspect-ratio: 4 / 5; object-fit: cover; background: #F5F5F5; }
.yb .woocommerce-cart-form .shop_table .product-name { grid-column: 2; grid-row: 1; }
.yb .woocommerce-cart-form .shop_table .product-quantity { grid-column: 3; grid-row: 1; width: auto; }
.yb .woocommerce-cart-form .shop_table .product-subtotal { grid-column: 4; grid-row: 1; width: auto; }
.yb .woocommerce-cart-form .shop_table .product-remove { grid-column: 5; grid-row: 1; width: auto; }
.yb .woocommerce-cart-form { padding-right: 32px; }
.yb .woocommerce-cart-form .product-name a { color: #111; font-size: 16px; font-weight: 700; }
.yb .woocommerce-cart-form .product-price { display: none; }
.yb .woocommerce-cart-form .product-subtotal { font-weight: 700; }
.yb .woocommerce-cart-form .actions { display: block; padding: 0; background: none; }
.yb .cart-totals-inner,
.yb .cart_totals { padding: 0; background: none; }
.yb .cart_totals h2 { font-size: 22px; font-weight: 700; }
.yb .cart_totals .shop_table th,
.yb .cart_totals .shop_table td { padding: 12px 0; border-color: #D5D5D5; }
.yb .cart_totals .order-total th,
.yb .cart_totals .order-total td { font-size: 17px; font-weight: 700; }
.yb .wd-checkout-steps a,
.yb .wd-checkout-steps span { font-size: 28px; font-weight: 700; text-transform: none; }
.yb .wd-checkout-steps .step-cart:not(.step-active),
.yb .wd-checkout-steps .step-checkout:not(.step-active) { opacity: .45; }

/* Checkout: white panels on grey */
.yb .woocommerce-billing-fields,
.yb .woocommerce-shipping-fields,
.yb .woocommerce-additional-fields,
.yb #payment,
.yb .checkout-order-review { background: #fff; border: 0; }
.yb .checkout-order-review { padding: 28px; }
.yb #order_review_heading { text-align: left; font-size: 22px; font-weight: 700; }
.yb .woocommerce-checkout label { font-size: 13px; font-weight: 500; }
.yb .woocommerce-checkout input.input-text,
.yb .woocommerce-checkout select { height: 48px; border-color: #A0A0A0; }

/* Account */
.yb .woocommerce-account .woocommerce { background: transparent; }
.yb .woocommerce-MyAccount-content { padding: 28px; background: #fff; }
.yb .wd-my-account-links a { background: #fff; }

/* Newsletter band: light grey, centred, black text (reference style) */
.yb .yb-sec--dark:has(.yb-news) { background: #F5F5F5; color: #111; }
.yb .yb-sec--dark .yb-news { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 24px; }
.yb .yb-sec--dark .yb-news__title,
.yb .yb-sec--dark .yb-news__text { color: #111; opacity: 1; max-width: none; }
.yb .yb-sec--dark .yb-news__title { font-size: 40px; }
.yb .yb-sec--dark .yb-news-form { width: 100%; max-width: 520px; }
.yb .yb-sec--dark .yb-choice { justify-content: center; }
.yb .yb-sec--dark .yb-choice__opt span { border-color: #111; color: #111; }
.yb .yb-sec--dark .yb-choice__opt input:checked + span { background: #111; color: #fff; border-color: #111; }
.yb .yb-sec--dark .yb-news-form__input { border-color: #111; background: #fff; color: #111; }
.yb .yb-sec--dark .yb-news-form__input::placeholder { color: #5F5F5F; }
.yb .yb-sec--dark .yb-btn--light { background: #111; color: #fff; }

@media (max-width: 900px) {
	.yb .woocommerce-cart-form .shop_table tr.cart_item { grid-template-columns: 96px 1fr 28px; }
	.yb .woocommerce-cart-form .product-thumbnail img { width: 96px; }
	.yb .woocommerce-cart-form { padding-right: 0; }
	.yb .woocommerce-cart-form .shop_table .product-quantity { grid-column: 2; grid-row: 2; }
	.yb .woocommerce-cart-form .shop_table .product-subtotal { grid-column: 2; grid-row: 3; }
	.yb .woocommerce-cart-form .shop_table .product-remove { grid-column: 3; }
	.yb .yb-sec--dark .yb-news__title { font-size: 28px; }
}

/* 15c. Grid alignment: everything left like the reference */
.yb .product-grid-item .wd-swatches-grid { justify-content: flex-start !important; }
.yb .product-grid-item .wrapp-swatches { border: 0 !important; }
.yb .product-grid-item .product-element-bottom,
.yb .product-grid-item .wd-entities-title,
.yb .product-grid-item .product-rating-price,
.yb .product-grid-item .wrapp-product-price { text-align: left !important; justify-content: flex-start !important; }
.yb .product-grid-item .product-element-bottom { padding-left: 0; padding-right: 0; border: 0; }
.yb .product-grid-item .wrapp-swatches { justify-content: flex-start !important; }
.yb .product-grid-item .product-element-bottom { padding-left: 0 !important; padding-right: 0 !important; align-items: flex-start !important; }
.yb .product-grid-item .product-rating-price,
.yb .product-grid-item .wrapp-product-price,
.yb .product-grid-item .price { width: 100%; }

/* 15d. Header right side: search box first, then account, wishlist, bag */
.yb .whb-general-header .whb-col-right .wd-header-search-form { order: -1; margin-right: 24px; }
.yb .whb-general-header .wd-header-search-form .searchform { width: 250px; }
.yb .whb-general-header .wd-header-search-form input[type="text"] {
	height: 44px;
	padding-left: 40px;
	border: 1px solid #111;
	border-radius: 2px;
	background: #fff;
	color: #111;
	font-size: 14px;
}
.yb .whb-general-header .wd-header-search-form input[type="text"] { width: 100%; padding-right: 12px; }
.yb .whb-general-header .wd-header-search-form .searchsubmit { right: auto; left: 0; width: 40px; }
.yb .whb-general-header .wd-header-cart .wd-cart-subtotal { display: none; }
@media (max-width: 1024px) {
	.yb .whb-general-header .wd-header-search-form .searchform { width: 180px; }
}

/* 15e. Mega menu: white full-width panel, bold headings, black links */
.yb .whb-header .wd-dropdown-menu.wd-design-full-width {
	background: #fff;
	border: 0;
	border-top: 1px solid #EDEDED;
	box-shadow: 0 12px 24px rgba(0, 0, 0, .06);
	padding: 32px 0 40px;
}
.yb .wd-dropdown-menu.wd-design-full-width .yb-mega-col h4 { font-size: 15px; font-weight: 700; color: #111; margin-bottom: 14px; letter-spacing: 0; text-transform: none; }
.yb .wd-dropdown-menu.wd-design-full-width .yb-mega-col li { margin-bottom: 10px; font-size: 14px; }
.yb .wd-dropdown-menu.wd-design-full-width .yb-mega-col a { color: #111; }
.yb .wd-dropdown-menu.wd-design-full-width .yb-mega-col a:hover { text-decoration: underline; }

/* 15f. Homepage in the reference order: contained hero with copy below,
   centred section titles, two-up feature tiles with outlined buttons, white footer */
.yb-sec--hero2 { padding: 0 0 56px; }
.yb-hero2__media { position: relative; aspect-ratio: 16 / 7; overflow: hidden; background: #E9E9E9; }
.yb-hero2__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-hero2__img.yb-ph { background: linear-gradient(160deg, #C9CCC8, #8C938D 55%, #5E655F); }
.yb-hero2__copy { padding-top: 24px; }
.yb .yb-hero2__eyebrow { margin: 0 0 6px; font-size: 14px; font-weight: 500; }
.yb .yb-hero2__title { margin: 0 0 10px; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.1; font-weight: 400; letter-spacing: -0.01em; }
.yb .yb-hero2__text { margin: 0 0 20px; max-width: 60ch; font-size: 16px; }

.yb .yb-btn--outline { background: #fff; color: #111; border: 1px solid #111; padding: 12px 18px; }
.yb .yb-btn--outline:hover { background: #111; color: #fff; opacity: 1; }

.yb .yb-center .yb-head { flex-direction: column; align-items: center; gap: 6px; }
.yb .yb-center .yb-head__title { font-size: 36px; text-align: center; }

.yb .yb-tile__media { aspect-ratio: 4 / 3; border-radius: 0; margin-bottom: 18px; }
.yb .yb-tile__title { font-size: 26px; font-weight: 700; margin: 0 0 8px; }
.yb .yb-tile__text { color: #111; font-size: 15px; margin-bottom: 16px; }

/* Carousel cards: wider, left-aligned, like the reference */
.yb .yb-carousel { gap: 20px; }
.yb .yb-carousel > .yb-card { flex-basis: calc((100% - 60px) / 4); min-width: 240px; }
.yb .yb-card__media { border-radius: 0; background: #F5F5F5; }
.yb .yb-card__title { font-weight: 600; }
.yb .yb-card__quick { display: inline-block; margin-top: 10px; padding: 0 0 2px; border: 0; border-bottom: 1px solid #111; border-radius: 0; text-align: left; }
.yb .yb-card__quick:hover { background: none; color: #111; }
.yb .yb-card__badge { border-radius: 2px; font-weight: 500; top: auto; bottom: 12px; }
.yb .yb-card__dot { width: 22px; height: 22px; }

/* Footer: white with black text, reference columns */
.yb .footer-container { background: #fff; border-top: 1px solid #D5D5D5; }
.yb .yb-footer { background: #fff; color: #111; }
.yb .yb-footer .yb-footer__title { color: #111; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.yb .yb-footer a { color: #111; }
.yb .yb-footer a:hover { color: #111; text-decoration: underline; }
.yb .yb-footer .yb-news-form__input { border-color: #111; background: #fff; color: #111; }
.yb .yb-footer .yb-news-form__input::placeholder { color: #5F5F5F; }
.yb .yb-footer .yb-news-form__note { color: #5F5F5F; }
.yb .yb-footer .yb-btn--light { background: #111; color: #fff; }
.yb .yb-footer__row,
.yb .yb-footer__bottom { border-top-color: #D5D5D5; }
.yb .yb-footer__pay li,
.yb .yb-footer__apps a { border-color: #D5D5D5; color: #111; }

@media (max-width: 900px) {
	.yb-hero2__media { aspect-ratio: 4 / 5; }
	.yb .yb-carousel > .yb-card { flex-basis: 44%; min-width: 0; }
	.yb .yb-center .yb-head__title { font-size: 26px; }
}

/* 15g. Live-product fixes */
.yb .whb-general-header .wd-header-search-form .wd-search-cat { display: none; }
.yb .product-grid-item .product-image-link img,
.yb .product-grid-item .product-image-link picture { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb .page-title .wd-nav-product-cat,
.yb .page-title .wd-btn-show-cat { display: none; }
.yb .sidebar-container .cat-item-20,
.yb .sidebar-container .cat-item-uncategorized { display: none; }
.yb .yb-card__media img { object-fit: cover; }
.yb.single-product .wd-accordion-title-text,
.yb.single-product .wd-accordion-title-text span { text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 700; }
.yb.single-product .variations_button .quantity { display: none; }
.yb.single-product .variations_button .single_add_to_cart_button { margin-left: 0; }
.yb .woocommerce-checkout-review-order::after,
.yb .checkout-order-review::after { display: none; }

/* 15h. Product details, service box, bag/checkout help (reference layout) */
.yb .yb-details { font-size: 15px; line-height: 1.6; color: #111; }
.yb .yb-details p { margin: 0 0 12px; }
.yb .yb-details__list { margin: 0 0 12px; padding-left: 18px; }
.yb .yb-details__list li { margin: 0 0 6px; }
.yb .yb-service { list-style: none; margin: 20px 0 8px; padding: 0; border-top: 1px solid #D5D5D5; }
.yb .yb-service li { margin: 0; border-bottom: 1px solid #D5D5D5; }
.yb .yb-service a { display: block; padding: 14px 0; color: #111; text-decoration: none; }
.yb .yb-service strong { display: block; font-size: 15px; font-weight: 700; }
.yb .yb-service span { display: block; font-size: 13px; color: #5F5F5F; }
.yb .yb-sizeguide { margin: 0 0 -8px; text-align: right; font-size: 14px; font-weight: 500; }
.yb .yb-help-note { margin-top: 20px; font-size: 14px; }
.yb .yb-help-note p { margin: 0 0 8px; }
.yb .yb-secure-note { margin: 0 0 16px; padding: 12px 16px; background: #fff; border-left: 3px solid #111; font-size: 14px; }

/* 15i. Utility bar, rotating promo, footer columns, filters, category intro */
.yb-utility { background: #F5F5F5; font-size: 12px; }
.yb-utility__inner { display: flex; justify-content: flex-end; align-items: center; gap: 22px; min-height: 36px; }
.yb .yb-utility a,
.yb .yb-utility__region { color: #111; text-decoration: none; }
.yb .yb-utility a:hover { text-decoration: underline; }

/* One promo message at a time, like the reference carousel */
.yb-promo__track { display: block; height: 18px; overflow: hidden; }
.yb-promo__msg { display: block; height: 18px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.yb-promo[data-count="2"] .yb-promo__msg { animation: yb-promo-2 8s infinite; }
.yb-promo[data-count="3"] .yb-promo__msg { animation: yb-promo-3 12s infinite; }

/* Footer: four link columns only; legal + copyright underneath */
.yb .yb-footer__grid { grid-template-columns: repeat(4, 1fr); }
.yb .yb-footer__grid > :first-child { display: none; }
.yb .yb-footer__row { display: none; }
.yb .yb-footer .yb-footer__list a { font-size: 14px; }

/* Filters: size boxes, no counts */
.yb .sidebar-container .wd-filter-list .count,
.yb .sidebar-container .wd-filter-list .wd-filter-count,
.yb .sidebar-container .product-categories .count { display: none; }
.yb .sidebar-container .wd-swatches-filter.wd-text-style-1 .wd-swatch,
.yb .sidebar-container .wd-filter-list.wd-inline .wd-swatch { min-width: 56px; height: 40px; border: 1px solid #C8C8C8; border-radius: 2px; font-weight: 700; }
.yb .sidebar-container .widget-title { font-size: 18px; font-weight: 500; }

/* Category intro above the toolbar; hide the default one under the grid */
.yb .yb-term-intro { width: 100%; margin: 0 0 12px; font-size: 15px; color: #111; }
.yb .yb-term-intro p { margin: 0; }
.yb .term-description:not(.yb-term-intro) { display: none; }

@media (max-width: 900px) {
	.yb .yb-footer__grid { grid-template-columns: 1fr 1fr; }
	.yb-utility__inner { justify-content: center; gap: 14px; overflow-x: auto; white-space: nowrap; }
}

/* 15j. Newsletter band before every footer; 404 page */
.yb .footer-container .yb-sec--dark:has(.yb-news) { margin-bottom: 0; }
.yb-404 { padding: 0 0 64px; }
.yb-404__panel {
	position: relative;
	min-height: 520px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 40px;
	background: linear-gradient(160deg, #6E7570, #2F3431);
	color: #fff;
}
.yb .yb-404__title { margin: 0 0 16px; font-size: 44px; font-weight: 700; color: #fff; }
.yb .yb-404__text { margin: 0; font-size: 15px; font-weight: 500; color: #fff; }
.yb .yb-404__btn { align-self: flex-end; }

/* 15k. 404 full width; shop toolbar like the reference (intro row, count + sort on the right); sign-in forms */
.yb.error404 .site-content,
.yb.error404 .content-layout-wrapper > * { flex: 0 0 100%; max-width: 100%; width: 100%; }
.yb .shop-loop-head { flex-wrap: wrap; align-items: center; }
.yb .shop-loop-head .yb-term-intro { flex: 0 0 100%; order: -1; }
.yb .shop-loop-head .wd-shop-tools:last-child,
.yb .shop-loop-head .woocommerce-ordering { margin-left: auto; }
.yb .woocommerce-result-count { display: block !important; margin: 0 16px 0 0; font-size: 15px; font-weight: 700; color: #111; }

.yb .woocommerce-form-login,
.yb .woocommerce-form-register { padding: 32px; background: #fff; border: 0; }
.yb .wd-registration-page .title,
.yb .woocommerce-account h2 { font-size: 26px; font-weight: 700; text-transform: none; }
.yb .woocommerce-form-login input.input-text,
.yb .woocommerce-form-register input.input-text { height: 48px; border-color: #A0A0A0; }
.yb .woocommerce-form-login .button,
.yb .woocommerce-form-register .button { width: 100%; padding: 16px; }

/* 15l. Reference details: grey ground, promo arrows, carousel arrows, quick shop icon,
   newsletter checkboxes + inline form, footer bottom row */
body.yb { background: #FAFAFA; }
.yb .whb-header,
.yb .whb-general-header { background: #fff; }

.yb-promo { padding: 9px 56px; }
.yb-promo--js .yb-promo__track { display: flex; justify-content: center; height: auto; }
.yb-promo--js .yb-promo__msg { display: none; height: auto; animation: none !important; }
.yb-promo--js .yb-promo__msg.is-active { display: block; }
.yb .yb-promo__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	min-height: 0;
	padding: 0 10px;
	background: none;
	border: 0;
	box-shadow: none;
	color: #111;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.yb .yb-promo__arrow--prev { left: calc(50% - 260px); }
.yb .yb-promo__arrow--next { right: calc(50% - 260px); }

.yb-carousel-wrap { position: relative; }
.yb .yb-carousel { scrollbar-width: none; }
.yb .yb-carousel::-webkit-scrollbar { display: none; }
.yb .yb-carousel__arrow {
	position: absolute;
	top: 36%;
	z-index: 2;
	width: 44px;
	height: 44px;
	min-height: 0;
	padding: 0;
	border: 1px solid #D5D5D5;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	color: #111;
	font-size: 26px;
	line-height: 40px;
	cursor: pointer;
}
.yb .yb-carousel__arrow--prev { left: -22px; }
.yb .yb-carousel__arrow--next { right: -22px; }
.yb .yb-carousel__arrow:disabled { opacity: 0; pointer-events: none; }

.yb .yb-card__quick { display: inline-flex; align-items: center; gap: 6px; }
.yb .yb-card__quick::before {
	content: "";
	width: 14px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' d='M1.5 5h11l-1 10h-9zM4.5 5V3.5a2.5 2.5 0 015 0V5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' d='M1.5 5h11l-1 10h-9zM4.5 5V3.5a2.5 2.5 0 015 0V5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Newsletter: "I usually shop for: □ Women □ Men", label, input + button inline, note */
.yb .yb-sec--dark:has(.yb-news) { background: #EFEFEF; border-top: 1px solid #D5D5D5; }
.yb .yb-sec--dark .yb-news__text { font-size: 20px; font-weight: 700; }
.yb .yb-news-form--band {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0 16px;
	max-width: 520px;
	margin: 0 auto;
	text-align: left;
}
.yb .yb-news-form--band .yb-choice { grid-column: 1 / -1; justify-content: center; align-items: center; gap: 24px; }
.yb .yb-news-form--band .yb-choice__legend { width: auto; float: left; margin: 0; font-size: 16px; opacity: 1; }
.yb .yb-news-form--band .yb-choice__opt span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: none !important;
	color: #111 !important;
	font-size: 16px;
}
.yb .yb-news-form--band .yb-choice__opt span::before {
	content: "";
	width: 16px;
	height: 16px;
	border: 1px solid #111;
	background: #fff center / 12px no-repeat;
}
.yb .yb-news-form--band .yb-choice__opt input:checked + span::before {
	background-color: #111;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2 6l3 3 5-6'/%3E%3C/svg%3E");
}
.yb .yb-news-form--band .yb-sr {
	position: static !important;
	grid-column: 1 / -1;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	margin: 8px 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}
.yb .yb-news-form--band .yb-sr::after { content: " *"; }
.yb .yb-news-form--band .yb-news-form__input { grid-column: 1; margin: 0; height: 54px; border-radius: 2px; }
.yb .yb-news-form--band .yb-btn { grid-column: 2; height: 54px; padding: 0 44px; background: #111; color: #fff; }
.yb .yb-news-form--band .yb-news-form__note,
.yb .yb-news-form--band .yb-news-form__msg { grid-column: 1 / -1; text-align: center; font-size: 12px; color: #111; opacity: 1; }

/* Footer bottom: legal links left, company line right */
.yb .yb-footer__bottom { flex-direction: row-reverse; font-size: 13px; }
.yb .yb-footer__legal li + li::before { content: "|"; margin-right: 8px; }

@media (max-width: 560px) {
	.yb .yb-news-form--band { grid-template-columns: 1fr; }
	.yb .yb-news-form--band .yb-btn { grid-column: 1; margin-top: 12px; }
	.yb .yb-promo__arrow--prev { left: 8px; }
	.yb .yb-promo__arrow--next { right: 36px; }
	.yb .yb-carousel__arrow { display: none; }
}

/* 15m. Wishlist hearts, quick shop on grid, filter accordions, rating row */
.yb .product-grid-item .product-wrapper { position: relative; }
.yb .product-grid-item .fade-in-block { display: block !important; position: static; opacity: 1; visibility: visible; transform: none; }
.yb .product-grid-item .wd-bottom-actions { display: block; margin-top: 8px; }
.yb .product-grid-item .wd-bottom-actions .wrap-wishlist-button {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
}
.yb .product-grid-item .wd-bottom-actions .wd-add-btn,
.yb .product-grid-item .wd-bottom-actions .wd-compare-btn,
.yb .product-grid-item .hover-content { display: none !important; }
.yb .product-grid-item .wd-quick-view-icon > a {
	width: auto;
	height: auto;
	padding: 0 0 2px;
	border-bottom: 1px solid #111;
	color: #111;
	font-size: 14px;
	font-weight: 500;
}
.yb .product-grid-item .wd-quick-view-icon > a::before { content: none; }
.yb .product-grid-item .wd-quick-view-icon > a > span,
.yb .product-grid-item .wd-quick-view-icon > a { font-size: 14px; }
/* Quick shop text link (text set by yb.js) */
.yb .product-grid-item .wd-quick-view-icon > a.yb-quick { display: inline-flex; align-items: center; gap: 6px; width: auto; height: auto; font-size: 14px; }
.yb .product-grid-item .wd-quick-view-icon > a.yb-quick::after { content: none; display: none; }
.yb .product-grid-item .wd-quick-view-icon > a.yb-quick::before {
	content: "";
	display: block;
	width: 14px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' d='M1.5 5h11l-1 10h-9zM4.5 5V3.5a2.5 2.5 0 015 0V5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.4' d='M1.5 5h11l-1 10h-9zM4.5 5V3.5a2.5 2.5 0 015 0V5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.yb .product-grid-item .product-element-bottom,
.yb .product-grid-item .fade-in-block,
.yb .product-grid-item .wd-bottom-actions,
.yb .product-grid-item .wrap-wishlist-button + * { position: static !important; }

.yb .wd-wishlist-icon > a,
.yb .yb-card__wish .wd-wishlist-icon > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff;
	color: #111;
}
.yb .yb-card { position: relative; }
.yb .yb-card__wish { position: absolute; top: 12px; right: 12px; z-index: 3; }

.yb .sidebar-container .widget.yb-acc > .widget-title { position: relative; cursor: pointer; padding-right: 28px; }
.yb .sidebar-container .widget.yb-acc > .widget-title::after { content: "−"; position: absolute; right: 0; top: 16px; font-size: 22px; font-weight: 300; }
.yb .sidebar-container .widget.yb-acc.is-closed > .widget-title::after { content: "+"; }
.yb .sidebar-container .widget.yb-acc.is-closed > :not(.widget-title) { display: none; }

.yb .yb-rating-row { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 13px; }
.yb .yb-stars {
	--yb-pct: calc(var(--yb-rating, 0) / 5 * 100%);
	display: inline-block;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 1;
	background: linear-gradient(90deg, #111 var(--yb-pct), #C8C8C8 var(--yb-pct));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.yb .yb-stars::before { content: "★★★★★"; }
.yb .yb-rating-row__count { color: #111; text-decoration: underline; }
.yb .summary .star-rating,
.yb .summary .woocommerce-product-rating { display: none; }

/* 15n. Toolbar: intro row, then "N products | Sort by [select]" on the right */
.yb .shop-loop-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 0; }
.yb .shop-loop-head .wd-shop-tools:first-child { order: 0; flex: 1 1 auto; }
.yb .shop-loop-head .yb-term-intro { order: -1; }
.yb .shop-loop-head .woocommerce-result-count {
	order: 2;
	margin: 0 16px 0 auto !important;
	padding-right: 16px;
	border-right: 1px solid #D5D5D5;
}
.yb .shop-loop-head .wd-shop-tools:last-child { order: 3; margin-left: 0; }
.yb .shop-loop-head .woocommerce-ordering::before { content: "Sort by"; margin-right: 12px; font-size: 15px; }
.yb .shop-loop-head .woocommerce-ordering { display: flex; align-items: center; }
.yb .product-grid-item .wd-quick-view-icon > a.yb-quick { font-size: 14px !important; line-height: 1.4 !important; }

/* 15o. Product page below the fold: full-width white accordion panel, reviews, carousels */
.yb.single-product .wd-single-tabs,
.yb.single-product .woocommerce-tabs { margin-top: 48px; padding: 8px 32px; background: #fff; }
.yb.single-product .woocommerce-tabs .wd-accordion-title { padding: 26px 0; }
.yb.single-product .woocommerce-tabs .wd-accordion-title-text,
.yb.single-product .woocommerce-tabs .wd-accordion-title-text span { font-size: 24px !important; font-weight: 700 !important; }
.yb.single-product .woocommerce-tabs .wd-accordion-content { max-width: 560px; padding-bottom: 24px; }
.yb.single-product .related-and-upsells .title,
.yb.single-product .related-and-upsells .wd-el-title,
.yb.single-product .upsells .title,
.yb.single-product .related .title { text-align: center; font-size: 32px; font-weight: 700; }
.yb.single-product .related-and-upsells .title::after,
.yb.single-product .wd-el-title .title-after_title { display: none; }
.yb.single-product .wd-single-reviews,
.yb.single-product #reviews { margin-top: 40px; }
.yb.single-product #reviews .woocommerce-Reviews-title,
.yb.single-product #reviews h2 { font-size: 24px; font-weight: 700; text-transform: none; }
.yb .wd-sticky-btn { background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.yb .wd-sticky-btn .product_title,
.yb .wd-sticky-btn-title { font-size: 22px; font-weight: 700; }
.yb.single-product .woocommerce-tabs .wd-accordion-content,
.yb.single-product .woocommerce-tabs .wc-tab-inner,
.yb.single-product .woocommerce-tabs .wd-scroll-content { max-height: none !important; overflow: visible !important; }
.yb.single-product .related-and-upsells .title::before,
.yb.single-product .wd-el-title::before,
.yb.single-product .related-and-upsells .title-wrapper::before { display: none !important; }

/* 15p. Blog (stories) cards like the reference: image, category, bold title, excerpt, left aligned */
.yb .blog-post-loop.blog-style-bg,
.yb .blog-post-loop .article-inner { box-shadow: none !important; background: transparent; border: 0; text-align: left; }
.yb .blog-post-loop .post-date,
.yb .blog-post-loop .entry-meta,
.yb .blog-post-loop .post-image-mask { display: none !important; }
.yb .blog-post-loop .entry-thumbnail img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.yb .blog-post-loop .article-body-container { padding: 16px 0 0; text-align: left; }
.yb .blog-post-loop .meta-post-categories { position: static; justify-content: flex-start; }
.yb .blog-post-loop .meta-post-categories a { background: none; color: #5F5F5F; padding: 0; font-size: 12px; font-weight: 500; }
.yb .blog-post-loop .wd-entities-title { margin: 6px 0 8px; font-size: 22px; font-weight: 700; text-align: left; }
.yb .blog-post-loop .entry-content { text-align: left; color: #111; font-size: 15px; }
.yb .blog-post-loop .read-more-section a { padding: 0 0 2px; border-bottom: 1px solid #111; font-size: 14px; }
.yb.single-post .wd-entities-title,
.yb.single-post .entry-title { font-size: 40px; font-weight: 700; text-align: left; }
.yb.single-post .entry-content { max-width: 760px; font-size: 17px; line-height: 1.7; }
.yb.single-post .entry-content h2 { margin-top: 32px; font-size: 26px; }

/* 15q. Mobile (reference mobile layout) */
@media (max-width: 1024px) {
	.yb-utility { display: none; }
	.yb .shop-loop-head .woocommerce-ordering::before { content: none; }
	.yb .shop-loop-head .woocommerce-result-count { margin: 0 !important; padding: 0; border: 0; }
	.yb .page-title .title { font-size: 28px; }
	.yb .yb-sec--hero2 { padding-bottom: 36px; }
	.yb .yb-hero2__copy { padding-top: 16px; }
	.yb .yb-btns { gap: 8px; }
	.yb .yb-btns .yb-btn { flex: 1 1 auto; text-align: center; }
	.yb .yb-center .yb-head__title { font-size: 26px; }
	.yb .yb-tiles { grid-template-columns: 1fr; gap: 36px; }
	.yb.single-product .woocommerce-tabs { padding: 4px 16px; }
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text,
	.yb.single-product .woocommerce-tabs .wd-accordion-title-text span { font-size: 20px !important; }
	.yb .product_title { font-size: 24px; }
	.yb .summary .wd-swatches-product .wd-swatch.wd-text { min-width: 64px; }
	.yb .yb-footer__bottom { flex-direction: column; }
}
@media (max-width: 900px) {
	.yb .woocommerce-cart-form .shop_table tr.cart_item { grid-template-columns: 96px 1fr 28px; gap: 8px 14px; }
	.yb .woocommerce-cart-form .shop_table .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	.yb .woocommerce-cart-form .shop_table .product-thumbnail img { width: 96px !important; }
	.yb .woocommerce-cart-form .shop_table .product-name { grid-column: 2; grid-row: 1; }
	.yb .woocommerce-cart-form .shop_table .product-quantity { grid-column: 2; grid-row: 2; }
	.yb .woocommerce-cart-form .shop_table .product-subtotal { grid-column: 2; grid-row: 3; }
	.yb .woocommerce-cart-form .shop_table .product-remove { grid-column: 3; grid-row: 1; }
	.yb .woocommerce-cart-form .shop_table td::before { display: none !important; }
	.yb .woocommerce-cart-form .shop_table td { display: block !important; width: auto !important; text-align: left !important; }
}

/* 15r. Account text, labels, colour line, gallery heart, recently viewed, category FAQ,
   trust line, social icons, quick view, wishlist page, coupon link, thank-you page */
.yb .whb-general-header .wd-header-my-account .wd-tools-text { display: inline-block !important; margin-left: 6px; font-size: 14px; font-weight: 500; text-transform: none; }
.yb .whb-general-header .wd-header-my-account > a { display: inline-flex; align-items: center; }

.yb .product-labels .product-label,
.yb .yb-card__badge { background: #fff; color: #111; font-size: 12px; font-weight: 500; border-radius: 2px; padding: 4px 8px; text-transform: none; }

.yb .yb-colour { margin: 4px 0 8px; }
.yb .yb-colour__label { margin: 0 0 10px; font-size: 15px; }
.yb .yb-colour__swatch { display: inline-block; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #D5D5D5; }
.yb .yb-colour__swatch.is-active { outline: 1px solid #111; outline-offset: 3px; }

.yb .yb-gallery-heart { position: absolute; top: 16px; right: 16px; z-index: 5; }
.yb .yb-gallery-heart > a { width: 40px; height: 40px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 0; }
.yb .yb-gallery-heart > a span { display: none; }

.yb .yb-cat-faq { margin: 56px 0 24px; max-width: 860px; }
.yb .yb-cat-faq__title { font-size: 26px; font-weight: 700; margin: 0 0 12px; }
.yb .yb-cat-faq__item { border-top: 1px solid #D5D5D5; }
.yb .yb-cat-faq__item:last-child { border-bottom: 1px solid #D5D5D5; }
.yb .yb-cat-faq__item summary { cursor: pointer; padding: 18px 28px 18px 0; font-size: 16px; font-weight: 700; list-style: none; position: relative; }
.yb .yb-cat-faq__item summary::-webkit-details-marker { display: none; }
.yb .yb-cat-faq__item summary::after { content: "+"; position: absolute; right: 0; font-weight: 300; font-size: 22px; line-height: 1; }
.yb .yb-cat-faq__item[open] summary::after { content: "−"; }
.yb .yb-cat-faq__item p { margin: 0 0 18px; font-size: 15px; }

.yb .yb-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; list-style: none; margin: 14px 0 0; padding: 0; font-size: 13px; color: #111; }
.yb .yb-trust li::before { content: "✓ "; font-weight: 700; }

.yb .yb-footer__list--social { display: flex; flex-wrap: wrap; gap: 14px; }
.yb .yb-footer__list--social li { margin: 0; }
.yb .yb-social { display: block; width: 24px; height: 24px; font-size: 0 !important; background: #111; -webkit-mask: var(--yb-icon) center / contain no-repeat; mask: var(--yb-icon) center / contain no-repeat; }
.yb .yb-social--instagram { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7a5 5 0 100 10 5 5 0 000-10zm0 8.2a3.2 3.2 0 110-6.4 3.2 3.2 0 010 6.4zM17.3 5.5a1.2 1.2 0 100 2.4 1.2 1.2 0 000-2.4zM12 2c-2.7 0-3 0-4.1.1C4.4 2.2 2.2 4.4 2.1 7.9 2 9 2 9.3 2 12s0 3 .1 4.1c.1 3.5 2.3 5.7 5.8 5.8 1.1.1 1.4.1 4.1.1s3 0 4.1-.1c3.5-.1 5.7-2.3 5.8-5.8.1-1.1.1-1.4.1-4.1s0-3-.1-4.1c-.1-3.5-2.3-5.7-5.8-5.8C15 2 14.7 2 12 2zm0 1.8c2.7 0 3 0 4 .1 2.5.1 3.9 1.5 4 4 .1 1 .1 1.3.1 4s0 3-.1 4c-.1 2.5-1.5 3.9-4 4-1 .1-1.3.1-4 .1s-3 0-4-.1c-2.5-.1-3.9-1.5-4-4-.1-1-.1-1.3-.1-4s0-3 .1-4c.1-2.5 1.5-3.9 4-4 1-.1 1.3-.1 4-.1z'/%3E%3C/svg%3E"); }
.yb .yb-social--tiktok { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 2h-3.3v13.2a2.9 2.9 0 11-2.9-2.9c.3 0 .6 0 .9.1V9a6.3 6.3 0 105.3 6.2V8.6a7.9 7.9 0 004.4 1.4V6.7a4.4 4.4 0 01-4.4-4.7z'/%3E%3C/svg%3E"); }
.yb .yb-social--facebook { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.4-3.2h-3.2V8.5c0-.9.3-1.6 1.6-1.6h1.7V4.1c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.3H7.3v3.2h2.8V22h3.4z'/%3E%3C/svg%3E"); }
.yb .yb-social--youtube { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.2a3 3 0 00-2.1-2.1C19 4.6 12 4.6 12 4.6s-7 0-8.9.5A3 3 0 001 7.2 31 31 0 00.5 12 31 31 0 001 16.8a3 3 0 002.1 2.1c1.9.5 8.9.5 8.9.5s7 0 8.9-.5a3 3 0 002.1-2.1 31 31 0 00.5-4.8 31 31 0 00-.5-4.8zM9.7 15.1V8.9l5.8 3.1-5.8 3.1z'/%3E%3C/svg%3E"); }
.yb .yb-social--pinterest { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 00-3.6 19.3c-.1-.8-.2-2 0-2.9l1.2-5s-.3-.6-.3-1.5c0-1.4.8-2.4 1.8-2.4.9 0 1.3.6 1.3 1.4 0 .9-.5 2.1-.8 3.3-.2 1 .5 1.8 1.5 1.8 1.8 0 3.1-1.9 3.1-4.6 0-2.4-1.7-4.1-4.2-4.1a4.3 4.3 0 00-4.5 4.3c0 .9.3 1.8.7 2.3.1.1.1.2.1.3l-.3 1.1c0 .2-.2.2-.4.1-1.3-.6-2.1-2.5-2.1-4 0-3.3 2.4-6.3 6.9-6.3 3.6 0 6.4 2.6 6.4 6 0 3.6-2.3 6.5-5.4 6.5-1.1 0-2.1-.6-2.4-1.2l-.7 2.5c-.2.9-.9 2.1-1.3 2.8A10 10 0 1012 2z'/%3E%3C/svg%3E"); }
.yb .yb-social--x { --yb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 3h3.1l-6.8 7.7L22 21h-6.2l-4.9-6.4L5.3 21H2.2l7.2-8.3L1.8 3h6.4l4.4 5.8L17.8 3zm-1.1 16.2h1.7L7.4 4.7H5.6l11.1 14.5z'/%3E%3C/svg%3E"); }

/* Quick view modal */
.yb .product-quick-view { border-radius: 0; }
.yb .product-quick-view .product_title { font-size: 26px; font-weight: 700; }
.yb .product-quick-view .price { font-size: 18px; font-weight: 700; }
.yb .product-quick-view .view-details-btn { display: inline-block; margin-top: 12px; border-bottom: 1px solid #111; color: #111; font-weight: 500; }

/* Wishlist page */
.yb .wd-wishlist-content .wd-wishlist-head,
.yb .wishlist-content .wishlist-title { font-size: 30px; font-weight: 700; text-transform: none; }
.yb .wd-wishlist-remove,
.yb .wd-wishlist-product-remove a { color: #111; font-size: 13px; text-decoration: underline; }

/* Bag: coupon as a "+ Enter promo code" link style */
.yb .woocommerce-cart-form .coupon { display: flex; gap: 8px; align-items: stretch; }
.yb .woocommerce-cart-form .coupon .input-text { height: 46px; }
.yb .cart_totals .shop_table .shipping-calculator-button { color: #111; text-decoration: underline; }
.yb .cart_totals .wd-free-progress-bar,
.yb .widget_shopping_cart .wd-free-progress-bar { margin: 12px 0; }
.yb .wd-free-progress-bar .progress-area { height: 6px; background: #E5E5E5; }
.yb .wd-free-progress-bar .progress-bar { background: #111; }

/* Order received */
.yb .woocommerce-order .woocommerce-thankyou-order-received,
.yb .woocommerce-order-received .woocommerce-notice { font-size: 26px; font-weight: 700; color: #111; background: none; border: 0; padding: 0; }
.yb .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 16px; padding: 24px; background: #fff; list-style: none; }
.yb .woocommerce-order-details,
.yb .woocommerce-customer-details { padding: 24px; background: #fff; margin-top: 20px; }
.yb .product-grid-item .wd-quick-view-icon > a.yb-quick { white-space: nowrap; }

/* Mega menu: panel spans the header width under the whole bar */
.yb .whb-general-header { position: relative; }
.yb .whb-general-header .whb-row,
.yb .whb-general-header .container,
.yb .whb-general-header .whb-flex-row,
.yb .whb-general-header .whb-column,
.yb .whb-general-header .wd-header-nav,
.yb .whb-general-header .wd-nav-main > li.menu-mega-dropdown { position: static !important; }
.yb .whb-general-header .wd-dropdown-menu.wd-design-full-width {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	margin-left: 0 !important;
	transform: none;
}
.yb .whb-general-header .wd-dropdown-menu.wd-design-full-width > .container { max-width: 1320px; margin: 0 auto; }
.yb .yb-mega-feat__img { aspect-ratio: 4 / 3; }
.yb.page:has(.yb-sec--hero2) .page-title { display: none; }
.yb .page-title .breadcrumbs,
.yb .page-title .woocommerce-breadcrumb { text-transform: none; }

/* Wishlist + account headings; no stray breadcrumb row on plain pages */
.yb .wd-wishlist-head .title,
.yb .wd-wishlist-head h4,
.yb .wishlist-title,
.yb .wd-wishlist-content > .wd-wishlist-head { font-size: 22px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.yb.page .page-title .breadcrumbs,
.yb.page .page-title .yoast-breadcrumb,
.yb.page .page-title .rank-math-breadcrumb { display: none; }
.yb .woocommerce-MyAccount-navigation ul li.is-active a,
.yb .woocommerce-MyAccount-navigation ul li a:hover { background: #fff; font-weight: 700; }
.yb .wd-my-account-links { gap: 16px; }
.yb .wd-my-account-links a { padding: 24px; font-size: 15px; font-weight: 500; color: #111; }

/* ==========================================================================
   16. Info pages (Contact, Stores, About group, Help group) — reference layouts:
       centred head + white icon cards (contact), left "About us" nav + content,
       centred store locator card, image banners, FAQ, CTA band. Chat button, utility extras.
   ========================================================================== */
.yb-info { padding: 32px 0 56px; color: #111; font-size: 16px; line-height: 1.6; }
.yb .yb-info a { color: inherit; }
.yb .yb-info h1 { margin: 0 0 12px; font-size: clamp(32px, 4vw, 44px); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.yb .yb-info h2 { margin: 0 0 14px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; line-height: 1.15; }
.yb .yb-info h3 { margin: 0 0 8px; font-size: 22px; font-weight: 700; line-height: 1.2; }
.yb .yb-info p { margin: 0 0 14px; }
.yb .yb-info ul.yb-list { margin: 0 0 16px; padding-left: 20px; list-style: disc; }
.yb .yb-info ul.yb-list li { margin-bottom: 6px; }
.yb-info__head { max-width: 760px; margin: 24px auto 40px; text-align: center; }
.yb-info__head p { font-size: 17px; }
.yb-info__eyebrow { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.yb-info__sec { margin: 0 0 56px; }
.yb-info__sec--center { text-align: center; }
.yb-info__lead { max-width: 70ch; font-size: 18px; }

/* Left nav + content (reference About us) */
.yb-info--side { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.yb-info__nav { position: sticky; top: 110px; }
.yb .yb-info__nav h2 { margin: 0 0 20px; font-size: 34px; }
.yb .yb-info__nav ul { margin: 0; padding: 0; list-style: none; }
.yb .yb-info__nav li { margin: 0 0 12px; }
.yb .yb-info__nav a { font-size: 16px; text-decoration: none; }
.yb .yb-info__nav a:hover, .yb .yb-info__nav a.is-active { text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }

/* Image banner with big uppercase statement */
.yb-banner { position: relative; overflow: hidden; margin: 0 0 48px; background: #E9E9E9; aspect-ratio: 16 / 7; }
.yb-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yb-banner__copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 36px; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent); color: #fff; }
.yb .yb-banner__copy h1, .yb .yb-banner__copy h2 { margin: 0; color: #fff; font-size: clamp(30px, 4.4vw, 60px); font-weight: 800; line-height: 1; text-transform: uppercase; }
.yb .yb-banner__copy p { margin: 10px 0 0; max-width: 60ch; color: #fff; }

/* White cards with centred icon (reference Contact us) */
.yb-icards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 48px; }
.yb-icards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yb-icards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.yb .yb-icard { display: flex; flex-direction: column; padding: 48px 26px 40px; background: #fff; border-bottom: 1px solid #D5D5D5; color: #111; text-decoration: none; transition: box-shadow .2s; }
.yb a.yb-icard:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); }
.yb-icard__icon { display: block; width: 40px; height: 40px; margin: 0 auto 26px; }
.yb-icard__icon svg { width: 40px; height: 40px; stroke: #111; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.yb .yb-icard h3 { margin-bottom: 10px; }
.yb .yb-icard p { margin: 0 0 6px; font-size: 15px; }
.yb .yb-icard strong { font-weight: 700; }
.yb-icard__cta { margin-top: auto; padding-top: 14px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

/* Text + image split */
.yb-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: center; margin: 0 0 56px; }
.yb-split--rev > :first-child { order: 2; }
.yb-split__media { background: #EDEDED; aspect-ratio: 4 / 5; overflow: hidden; }
.yb-split__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Buttons */
.yb .yb-info .yb-btn { display: inline-block; min-width: 180px; padding: 15px 28px; border: 1px solid #111; background: #111; color: #fff !important; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; text-decoration: none !important; cursor: pointer; }
.yb .yb-info .yb-btn:hover { background: #333; }
.yb .yb-info .yb-btn--ghost { background: transparent; color: #111 !important; }
.yb .yb-info .yb-btn--ghost:hover { background: #111; color: #fff !important; }
.yb-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.yb-info__sec--center .yb-btns { justify-content: center; }

/* Grey CTA band */
.yb-cta { margin: 0 0 56px; padding: 48px 32px; background: #EFEFEF; text-align: center; }
.yb .yb-cta p { max-width: 60ch; margin-left: auto; margin-right: auto; }

/* Numbered steps */
.yb-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0 0 48px; counter-reset: ybstep; }
.yb-steps > div { padding: 28px 24px; background: #fff; counter-increment: ybstep; }
.yb-steps > div::before { content: counter(ybstep, decimal-leading-zero); display: block; margin-bottom: 14px; font-size: 32px; font-weight: 800; }

/* FAQ */
.yb-faq { margin: 0 0 48px; border-top: 1px solid #D5D5D5; }
.yb-faq details { border-bottom: 1px solid #D5D5D5; background: #fff; }
.yb-faq summary { position: relative; padding: 20px 56px 20px 24px; font-size: 17px; font-weight: 700; cursor: pointer; list-style: none; }
.yb-faq summary::-webkit-details-marker { display: none; }
.yb-faq summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 400; }
.yb-faq details[open] summary::after { content: "\2212"; }
.yb-faq details > div { padding: 0 24px 20px; }

/* Tables (size guide) */
.yb-table-wrap { overflow-x: auto; margin: 0 0 32px; background: #fff; }
.yb-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.yb-table th, .yb-table td { padding: 14px 16px; border-bottom: 1px solid #E3E3E3; text-align: left; white-space: nowrap; }
.yb-table th { background: #111; color: #fff; font-weight: 700; }
.yb-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.yb .yb-tabs button { padding: 10px 18px; border: 1px solid #111; background: #fff; color: #111; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.yb .yb-tabs button.is-active { background: #111; color: #fff; }

/* Store locator (reference: centred white card, then results) */
.yb-locator { max-width: 1320px; margin: 0 auto 24px; padding: 56px 24px; background: #fff; text-align: center; }
.yb .yb-locator h1 { font-weight: 500; }
.yb-locator form { display: grid; gap: 10px; max-width: 330px; margin: 24px auto 0; text-align: left; }
.yb-locator label { font-size: 14px; }
.yb .yb-locator input { height: 44px; padding: 0 12px; border: 1px solid #D5D5D5; background: #fff; }
.yb-stores { display: grid; gap: 20px; }
.yb-store { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); background: #fff; }
.yb-store__body { padding: 32px; }
.yb .yb-store__body h3 { font-size: 24px; }
.yb-store__meta { display: grid; gap: 8px; margin: 14px 0 20px; font-size: 15px; }
.yb-store__meta span { display: flex; gap: 10px; align-items: flex-start; }
.yb-store__meta svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; stroke: #111; fill: none; stroke-width: 1.6; }
.yb-store__map { min-height: 300px; background: #E5E5E5; }
.yb-store__map iframe { display: block; width: 100%; height: 100%; min-height: 300px; border: 0; }
.yb-tag { display: inline-block; margin: 0 6px 6px 0; padding: 4px 10px; border: 1px solid #111; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* Contact form */
.yb-form { display: grid; gap: 14px; padding: 36px; background: #fff; }
.yb-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.yb-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 700; }
.yb .yb-form input, .yb .yb-form select, .yb .yb-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #BDBDBD; border-radius: 0; background: #fff; font-weight: 400; }
.yb-form__note { font-size: 13px; color: #555; }

/* Gift card visual */
.yb-giftcard { position: relative; aspect-ratio: 1.586; max-width: 460px; margin: 0 auto; padding: 28px; background: #111; color: #fff; box-shadow: 0 24px 50px rgba(0,0,0,.25); display: flex; flex-direction: column; justify-content: space-between; }
.yb-giftcard--light { background: #F1EEE8; color: #111; }
.yb-giftcard b { font-size: 26px; font-weight: 800; letter-spacing: .06em; }
.yb-giftcard span { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.yb-giftcard em { position: absolute; right: 28px; bottom: 24px; font-style: normal; font-size: 34px; font-weight: 800; }
.yb-giftcards { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
.yb-amounts { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.yb .yb-amounts button { min-width: 72px; height: 46px; border: 1px solid #BDBDBD; background: #fff; font-weight: 700; cursor: pointer; }
.yb .yb-amounts button.is-active { border-color: #111; box-shadow: inset 0 0 0 1px #111; }

/* Lookbook grid */
.yb-look { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 48px; }
.yb-look a { position: relative; display: block; overflow: hidden; background: #EDEDED; aspect-ratio: 4 / 5; }
.yb-look img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.yb-look a:hover img { transform: scale(1.04); }
.yb-look span { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px; background: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; }

/* Quiz */
.yb-quiz { max-width: 720px; margin: 0 auto 48px; padding: 36px; background: #fff; }
.yb-quiz fieldset { margin: 0 0 24px; padding: 0; border: 0; }
.yb-quiz legend { margin-bottom: 12px; font-size: 18px; font-weight: 700; }
.yb-quiz__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.yb-quiz__opts label { cursor: pointer; }
.yb-quiz__opts input { position: absolute; opacity: 0; }
.yb-quiz__opts span { display: inline-block; padding: 12px 18px; border: 1px solid #BDBDBD; font-size: 14px; }
.yb-quiz__opts input:checked + span { border-color: #111; box-shadow: inset 0 0 0 1px #111; font-weight: 700; }
.yb-quiz__result { margin-top: 24px; padding: 24px; background: #F5F5F5; text-align: center; }
.yb-quiz__result b { display: block; font-size: 48px; font-weight: 800; line-height: 1; }

/* Utility bar extras + floating chat button */
.yb .yb-utility__phone { font-weight: 700; }
.yb-chat { position: fixed; right: 20px; bottom: 20px; z-index: 390; display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 24px; background: #111; color: #fff !important; font-size: 14px; font-weight: 700; box-shadow: 0 6px 20px rgba(0,0,0,.25); text-decoration: none !important; }
.yb-chat:hover { background: #333; }
.yb-chat svg { color: #fff; }
.single-product .yb-chat { bottom: 90px; }

@media (max-width: 1024px) {
	.yb-info--side { grid-template-columns: 1fr; gap: 24px; }
	.yb-info__nav { position: static; }
	.yb .yb-info__nav ul { display: flex; gap: 8px 18px; flex-wrap: wrap; }
	.yb .yb-info__nav h2 { font-size: 28px; margin-bottom: 12px; }
	.yb-icards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.yb-look { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.yb-icards, .yb-icards--2, .yb-icards--4, .yb-split, .yb-steps, .yb-store, .yb-giftcards, .yb-form__row { grid-template-columns: minmax(0, 1fr); }
	.yb-split--rev > :first-child { order: 0; }
	.yb .yb-icard { padding: 32px 20px; }
	.yb-banner { aspect-ratio: 4 / 3; }
	.yb-banner__copy { padding: 20px; }
	.yb-form, .yb-quiz { padding: 22px; }
	.yb-store__body { padding: 22px; }
	.yb-chat { right: 14px; bottom: 14px; height: 44px; padding: 0 14px; }
	.yb-chat span { display: none; }
	.single-product .yb-chat { bottom: 84px; }
}

/* ==========================================================================
   17. Homepage in the reference order (17 Sep): hero button inside the image,
       8-product grids, tall tiles, "Wear it. Share it." mosaic
   ========================================================================== */
.yb .yb-hero2__media .yb-hero2__inbtn { position: absolute; right: 28px; bottom: 28px; display: flex; gap: 10px; }
.yb .yb-hero2__inbtn .yb-btn { background: #fff; color: #111; border: 1px solid #111; padding: 14px 20px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.yb .yb-hero2__inbtn .yb-btn:hover { background: #111; color: #fff; }
.yb .yb-sec--hero2 .yb-hero2__media { aspect-ratio: 2720 / 1200; }
.yb .yb-sec--hero2 .yb-hero2__title { font-size: clamp(24px, 2.4vw, 32px); font-weight: 400; margin: 0 0 6px; }
.yb .yb-sec--hero2 .yb-hero2__copy { padding-top: 18px; }
.yb .yb-tile__media { aspect-ratio: 4 / 5 !important; background: #EDEDED; }
.yb .yb-tile__title { font-size: 28px !important; }
.yb .yb-tile .yb-btn--outline { display: inline-block; padding: 14px 20px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.yb .yb-center .yb-sec__head, .yb .yb-center .yb-section-head { justify-content: center; text-align: center; }
.yb .yb-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 16px; }
.yb-ugc__head { margin: 0 0 24px; text-align: center; }
.yb .yb-ugc__head h2 { margin: 0 0 8px; font-size: clamp(26px, 2.6vw, 36px); font-weight: 700; }
.yb .yb-ugc__head p { margin: 0; font-size: 15px; }
.yb-ugc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 220px; gap: 6px; max-width: 1000px; margin: 0 auto; }
.yb .yb-ugc a { position: relative; display: block; overflow: hidden; background: #E9E9E9; }
.yb-ugc img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.yb-ugc a:hover img { transform: scale(1.05); }
.yb-ugc a:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
.yb-ugc a:nth-child(4) { grid-column: 4; grid-row: 1 / span 2; }
.yb-ugc a:nth-child(2) { grid-column: 2; grid-row: 1; }
.yb-ugc a:nth-child(3) { grid-column: 3; grid-row: 1; }
.yb-ugc a:nth-child(5) { grid-column: 2 / span 2; grid-row: 2 / span 2; }
.yb-ugc a:nth-child(6) { grid-column: 1; grid-row: 3; }
.yb-ugc a:nth-child(7) { grid-column: 4; grid-row: 3; }
.yb-ugc a:nth-child(n+8) { display: none; }
.yb .yb-sec--hero2 { padding-bottom: 24px; }
.yb-ugc__badge { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: #fff; font-size: 12px; font-weight: 700; color: #111; }
.yb-ugc__badge svg { width: 14px; height: 14px; fill: none; stroke: #111; stroke-width: 1.6; }
.yb-ugc__cta { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px; background: rgba(255,255,255,.92); color: #111; font-size: 13px; font-weight: 700; text-align: center; opacity: 0; transition: opacity .2s; }
.yb-ugc a:hover .yb-ugc__cta { opacity: 1; }
@media (max-width: 900px) {
	.yb .yb-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.yb-ugc { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; }
	.yb-ugc a:nth-child(n) { grid-column: auto; grid-row: auto; }
	.yb-ugc a:nth-child(1), .yb-ugc a:nth-child(5) { grid-column: 1 / span 2; grid-row: span 2; }
	.yb-ugc a:nth-child(n+8) { display: block; }
	.yb .yb-hero2__media .yb-hero2__inbtn { right: 12px; bottom: 12px; }
	.yb .yb-sec--hero2 .yb-hero2__media { aspect-ratio: 4 / 3; }
}
