/**
 * WeStyle Single Product Page — boutique / editorial.
 * Loaded only on is_product(). Uses ONLY the --ws-* tokens from tokens.css.
 * Mobile-first: base styles target 375px, enhanced at 768px / 1024px.
 */

.single-product {
	--wsp-gap-module: var(--ws-space-5);
	--wsp-gap-section: var(--ws-section-gap);
}

/* ===== Type ===== */
.single-product .product_title.entry-title,
.westyle-section-title,
.westyle-deposit-lead,
.westyle-modal-panel h3,
.single-product .summary .price,
.westyle-bd-total dd,
.westyle-sticky-price {
	font-family: var(--ws-font-display);
}
.single-product,
.single-product input,
.single-product button,
.single-product select,
.single-product textarea,
.westyle-size-guide-modal,
.westyle-sticky-cta,
.westyle-datepicker {
	font-family: var(--ws-font-body);
}
.westyle-eyebrow {
	margin: 0 0 var(--ws-space-1);
	font-size: var(--ws-fs-xs);
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--ws-gold-text);
}

/* ===== Full-width page shell ===== */
body.single-product,
.single-product #page,
.single-product #content,
.single-product .ast-container,
.single-product #primary,
.single-product #main,
.single-product .ast-woocommerce-container {
	width: 100%;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	background: var(--ws-bg);
}
.single-product .woocommerce-notices-wrapper {
	max-width: var(--ws-container);
	margin: var(--ws-space-4) auto 0;
	padding: 0 var(--ws-gutter);
}
.single-product .woocommerce-breadcrumb {
	max-width: var(--ws-container);
	margin: var(--ws-space-4) auto 0;
	padding: 0 var(--ws-gutter);
	font-size: var(--ws-fs-xs);
	color: var(--ws-muted);
}

/* ===== Layout: stacked on mobile, gallery | info on desktop ===== */
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ws-space-6);
	align-items: start;
	max-width: var(--ws-container);
	margin: var(--ws-space-5) auto var(--ws-space-7);
	padding: 0 var(--ws-gutter);
	width: 100%;
	box-sizing: border-box;
}
.single-product .westyle-product-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ws-space-6);
	align-items: start;
	grid-column: 1 / -1;
	min-width: 0;
}
.single-product .westyle-product-top > .westyle-gallery-wrap,
.single-product .westyle-product-top > .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
}
.single-product div.product > .westyle-process-sec,
.single-product div.product > .westyle-section,
.single-product div.product > .related.products,
.single-product div.product > .upsells.products {
	grid-column: 1 / -1;
	margin-top: 0;
	min-width: 0;
}
.single-product .summary.entry-summary {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
}
.single-product .summary.entry-summary > * {
	margin-top: var(--wsp-gap-module);
	margin-bottom: 0;
}
.single-product .summary.entry-summary > :first-child { margin-top: 0; }
.single-product .summary.entry-summary > .westyle-title-row { margin-top: 0; }
.single-product .summary.entry-summary > .price,
.single-product .summary.entry-summary > .westyle-price-notes,
.single-product .summary.entry-summary > .westyle-rating-row {
	margin-top: var(--ws-space-3);
}

@media (min-width: 1024px) {
	.single-product div.product {
		gap: var(--ws-space-7);
		margin-top: var(--ws-space-6);
	}
	.single-product .westyle-product-top {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--ws-space-7);
	}
	.single-product .westyle-product-top > .westyle-gallery-wrap {
		position: sticky;
		top: calc(var(--ws-header-h) + var(--ws-space-4));
	}
}

/* ===== Shared card recipe ===== */
.westyle-availability-box,
.westyle-delivery-box,
.westyle-rental-info-box,
.westyle-breakdown,
.westyle-quick-facts {
	background: var(--ws-cream);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	padding: var(--ws-space-4);
}
.westyle-availability-box { background: var(--ws-bg); box-shadow: var(--ws-shadow); transition: box-shadow var(--ws-dur) var(--ws-ease), border-color var(--ws-dur) var(--ws-ease); scroll-margin-top: 96px; }
.westyle-availability-box.is-flash { border-color: var(--ws-rose); box-shadow: 0 0 0 4px var(--ws-rose-tint), var(--ws-shadow); }
@media (min-width: 768px) {
	.westyle-availability-box,
	.westyle-delivery-box,
	.westyle-rental-info-box,
	.westyle-breakdown,
	.westyle-quick-facts { padding: var(--ws-space-5); }
}

.westyle-block-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--ws-space-2);
	flex-wrap: wrap;
	margin-bottom: var(--ws-space-3);
}
.westyle-block-title {
	font-family: var(--ws-font-display);
	font-size: var(--ws-fs-xl);
	font-weight: 600;
	line-height: 1.15;
	color: var(--ws-ink);
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
}
.westyle-block-sub { font-size: var(--ws-fs-xs); color: var(--ws-muted); }

/* ===== 1. Gallery ===== */
.westyle-gallery-wrap { position: relative; }
.westyle-gallery-wrap .woocommerce-product-gallery {
	position: relative;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	border-radius: var(--ws-radius);
	overflow: hidden;
	background: var(--ws-cream);
}
.westyle-gallery-wrap .woocommerce-product-gallery__wrapper { margin: 0; }
.westyle-gallery-wrap .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}
.westyle-gallery-wrap .woocommerce-product-gallery__trigger {
	min-width: 44px !important;
	min-height: 44px !important;
	position: absolute;
	top: var(--ws-space-3);
	right: var(--ws-space-3);
	z-index: 6;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ws-bg);
	box-shadow: var(--ws-shadow-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	text-indent: -9999px;
	overflow: hidden;
}
.westyle-gallery-wrap .woocommerce-product-gallery__trigger::before {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	background: var(--ws-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5M11 8v6M8 11h6'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.westyle-gallery-wrap .woocommerce-product-gallery__trigger::after { display: none; }
.westyle-gallery-wrap .woocommerce-product-gallery__trigger img { display: none !important; }
.westyle-gallery-wrap .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--ws-space-2);
	margin: var(--ws-space-2) 0 0 !important;
	padding: 0;
	list-style: none;
}
.westyle-gallery-wrap .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.westyle-gallery-wrap .flex-control-thumbs img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--ws-radius-sm);
	border: 2px solid transparent;
	opacity: 0.65;
	cursor: pointer;
	transition: opacity var(--ws-dur) var(--ws-ease), border-color var(--ws-dur) var(--ws-ease);
}
.westyle-gallery-wrap .flex-control-thumbs img:hover { opacity: 1; }
.westyle-gallery-wrap .flex-control-thumbs img.flex-active { border-color: var(--ws-rose); opacity: 1; }

.westyle-product-badges {
	position: absolute;
	top: var(--ws-space-3);
	left: var(--ws-space-3);
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: var(--ws-space-2);
	pointer-events: none;
}
.westyle-badge {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: var(--ws-radius-pill);
	color: var(--ws-bg);
	background: var(--ws-rose);
	box-shadow: var(--ws-shadow-sm);
}
.westyle-badge-bestseller { background: var(--ws-gold); }
.westyle-badge-available { background: var(--ws-bg); color: var(--ws-success); }
.westyle-badge-soon { background: var(--ws-bg); color: var(--ws-ink-soft); }

.westyle-quick-facts { margin-top: var(--ws-space-4); }
.westyle-quick-facts ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--ws-space-4) var(--ws-space-5);
}
.westyle-quick-facts li { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.westyle-quick-facts li span {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ws-muted);
}
.westyle-quick-facts li strong {
	font-family: var(--ws-font-display);
	font-size: var(--ws-fs-lg);
	font-weight: 600;
	color: var(--ws-ink);
	overflow-wrap: anywhere;
}

/* ===== 2. Title / wishlist / price ===== */
.westyle-title-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--ws-space-3);
}
.single-product .product_title.entry-title {
	font-size: var(--ws-fs-2xl);
	font-weight: 600;
	color: var(--ws-ink);
	margin: 0;
	line-height: 1.1;
	min-width: 0;
}
.westyle-wishlist-btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	min-width: 44px;
	background: var(--ws-bg);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius-pill);
	padding: 0 var(--ws-space-4);
	font-size: var(--ws-fs-xs);
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--ws-ink-soft);
	cursor: pointer;
	transition: all var(--ws-dur) var(--ws-ease);
}
.westyle-wishlist-btn svg { width: 16px; height: 16px; }
.westyle-wishlist-btn:hover { border-color: var(--ws-rose); color: var(--ws-rose); background: var(--ws-bg); }
.westyle-wishlist-btn.active { background: var(--ws-rose-tint); border-color: var(--ws-rose); color: var(--ws-rose); }
.westyle-wishlist-btn.active svg path { fill: var(--ws-rose); }

.westyle-rating-row { display: flex; align-items: center; gap: var(--ws-space-2); }
.westyle-rating-row .star-rating { color: var(--ws-gold); font-size: var(--ws-fs-sm); margin: 0; }
.westyle-rating-count { font-size: var(--ws-fs-xs); color: var(--ws-muted); text-decoration: underline; text-underline-offset: 2px; }

.single-product .summary .price {
	font-size: 30px;
	font-weight: 600;
	color: var(--ws-ink);
	display: block;
	margin-bottom: 0;
	line-height: 1.2;
}
.single-product .summary .price del { color: var(--ws-muted); font-weight: 400; font-size: 0.7em; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .westyle-rental-suffix {
	font-family: var(--ws-font-body);
	font-size: var(--ws-fs-sm);
	font-weight: 500;
	color: var(--ws-muted);
}
.westyle-price-notes { display: flex; flex-direction: column; gap: var(--ws-space-1); }
.westyle-buy-price { font-size: var(--ws-fs-sm); color: var(--ws-muted); }
.westyle-buy-price b { color: var(--ws-rose); font-weight: 700; }
.westyle-deposit-note { display: flex; flex-wrap: wrap; gap: 0 6px; font-size: var(--ws-fs-sm); }
.westyle-deposit-note strong { color: var(--ws-ink); font-weight: 600; }
.westyle-deposit-note span { color: var(--ws-success); }
.westyle-includes { font-size: var(--ws-fs-sm); color: var(--ws-ink-soft); }
.westyle-includes strong { color: var(--ws-ink); font-weight: 600; }

/* ===== 3. Booking box: dates + presets + availability ===== */
.westyle-date-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--ws-line);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	overflow: hidden;
}
.westyle-date-field {
	background: var(--ws-bg);
	padding: var(--ws-space-3) var(--ws-space-4);
	cursor: pointer;
	min-height: 64px;
	transition: background var(--ws-dur) var(--ws-ease);
}
.westyle-date-field:hover,
.westyle-date-field:focus-within { background: var(--ws-rose-tint); }
.westyle-date-field label {
	display: block;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ws-muted);
	cursor: pointer;
}
.single-product .westyle-date-input {
	border: none;
	outline: none;
	background: transparent;
	box-shadow: none;
	width: 100%;
	padding: 4px 0 0;
	min-height: 0;
	font-size: var(--ws-fs-md);
	font-weight: 600;
	color: var(--ws-ink);
	cursor: pointer;
}
.westyle-date-input::placeholder { color: var(--ws-ink-soft); font-weight: 500; }

.westyle-presets {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ws-space-2);
	margin-top: var(--ws-space-3);
}
.westyle-presets-label { font-size: var(--ws-fs-xs); color: var(--ws-muted); margin-right: 2px; flex-basis: 100%; }
.single-product .westyle-preset {
	flex: 1 1 0;
	min-width: 64px;
	min-height: 52px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 6px var(--ws-space-2);
	border: 1.5px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	color: var(--ws-ink);
	cursor: pointer;
	transition: all var(--ws-dur) var(--ws-ease);
	line-height: 1.2;
}
.westyle-preset strong { font-size: var(--ws-fs-sm); font-weight: 600; }
.westyle-preset em { font-style: normal; font-size: var(--ws-fs-xs); color: var(--ws-muted); }
.single-product .westyle-preset:hover { border-color: var(--ws-rose); background: var(--ws-rose-tint); color: var(--ws-ink); }
.single-product .westyle-preset.is-active { border-color: var(--ws-rose); background: var(--ws-rose); color: var(--ws-bg); }
.westyle-preset.is-active em { color: var(--ws-bg); opacity: 0.85; }

.westyle-avail-msg {
	display: flex;
	align-items: flex-start;
	gap: var(--ws-space-3);
	margin-top: var(--ws-space-3);
	font-size: var(--ws-fs-sm);
	line-height: 1.45;
	padding: var(--ws-space-3) var(--ws-space-4);
	border-radius: var(--ws-radius);
}
.westyle-avail-msg div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.westyle-avail-msg strong { font-weight: 600; }
.westyle-avail-msg span:not(.westyle-avail-icon):not(.westyle-spinner) { font-size: var(--ws-fs-xs); opacity: 0.9; }
.westyle-avail-icon {
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--ws-bg);
	background: currentColor;
}
.westyle-avail-ok { background: var(--ws-success-tint); color: var(--ws-success); }
.westyle-avail-ok .westyle-avail-icon { background: var(--ws-success); color: var(--ws-bg); }
.westyle-avail-bad { background: var(--ws-danger-tint); color: var(--ws-danger); }
.westyle-avail-bad .westyle-avail-icon { background: var(--ws-danger); color: var(--ws-bg); }
.westyle-avail-warn { background: var(--ws-gold-tint); color: var(--ws-ink-soft); }
.westyle-avail-pending { background: var(--ws-cream); color: var(--ws-ink-soft); align-items: center; }
.westyle-spinner {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid var(--ws-line);
	border-top-color: var(--ws-rose);
	animation: westyle-spin 0.8s linear infinite;
}
@keyframes westyle-spin { to { transform: rotate(360deg); } }
.single-product .westyle-use-next {
	align-self: flex-start;
	margin-top: var(--ws-space-2);
	min-height: 40px;
	padding: 0 var(--ws-space-4);
	border: 1px solid var(--ws-danger);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-bg);
	color: var(--ws-danger);
	font-size: var(--ws-fs-xs);
	font-weight: 600;
	cursor: pointer;
}
.single-product .westyle-use-next:hover { background: var(--ws-danger); color: var(--ws-bg); }

/* ===== 4. Delivery / pincode ===== */
.westyle-pincode-row { display: flex; gap: var(--ws-space-2); }
.single-product .westyle-pincode-row input {
	flex: 1;
	min-width: 0;
	height: 48px;
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	padding: 0 var(--ws-space-4);
	font-size: var(--ws-fs-md);
	color: var(--ws-ink);
	outline: none;
	box-shadow: none;
}
.single-product .westyle-pincode-row input:focus { border-color: var(--ws-rose); }
.single-product .westyle-check-pincode-btn {
	flex: none;
	height: 48px;
	padding: 0 var(--ws-space-5);
	background: var(--ws-ink);
	color: var(--ws-bg);
	border: none;
	border-radius: var(--ws-radius);
	font-size: var(--ws-fs-xs);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background var(--ws-dur) var(--ws-ease);
}
.single-product .westyle-check-pincode-btn:hover { background: var(--ws-rose); }
.single-product .westyle-check-pincode-btn:disabled { opacity: 0.6; cursor: default; }

/* ===== 5. Size help ===== */
.westyle-size-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ws-space-1) var(--ws-space-4);
}
.single-product .westyle-size-guide-link {
	box-shadow: none !important;
	outline-offset: 2px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0;
	background: none;
	border: none;
	font-size: var(--ws-fs-sm);
	font-weight: 600;
	color: var(--ws-rose);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.single-product .westyle-size-guide-link:hover { color: var(--ws-rose-deep); background: none; }
.westyle-size-guide-link svg { width: 20px; height: 20px; }
.westyle-fit-wa {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--ws-fs-xs);
	color: var(--ws-ink-soft);
	text-decoration: none;
}
.westyle-fit-wa::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ws-whatsapp);
	margin-right: 6px;
}
.westyle-fit-wa:hover { color: var(--ws-rose); }

/* Size chips (inc/product-variations.php markup) */
.single-product table.variations { margin: 0 0 var(--ws-space-3); border: 0; }
.single-product table.variations th,
.single-product table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
.single-product table.variations th.label,
.single-product table.variations .label label {
	font-size: var(--ws-fs-xs);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ws-ink);
	margin-bottom: var(--ws-space-2);
}
.single-product .reset_variations { font-size: var(--ws-fs-xs); color: var(--ws-muted); margin-top: var(--ws-space-2); display: inline-block; }
.single-product .crf-chip {
	min-width: 52px;
	height: 48px;
	padding: 0 var(--ws-space-4);
	border-radius: var(--ws-radius);
	border: 1.5px solid var(--ws-line);
	background: var(--ws-bg);
	font-size: var(--ws-fs-sm);
	font-weight: 600;
	color: var(--ws-ink);
}
.single-product .crf-radio-label:hover .crf-chip { border-color: var(--ws-rose); color: var(--ws-rose); background: var(--ws-rose-tint); }
.single-product .crf-radio-label input[type="radio"]:checked + .crf-chip { background: var(--ws-rose); border-color: var(--ws-rose); color: var(--ws-bg); }
.single-product .crf-radio-label input[type="radio"]:focus-visible + .crf-chip { box-shadow: 0 0 0 3px var(--ws-rose-tint); }
.single-product .woocommerce-variation-price { display: none; }
.single-product .woocommerce-variation-availability .stock,
.single-product .summary .stock { font-size: var(--ws-fs-xs); color: var(--ws-success); margin: 0 0 var(--ws-space-2); }
.single-product .ast-stock-detail { display: none; }

/* ===== Price breakdown ===== */
.single-product form.cart { margin-top: var(--wsp-gap-module); margin-bottom: 0; }
.single-product form.cart:not(.variations_form),
.single-product .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 0; }
.single-product form.cart .quantity { display: none !important; }
.westyle-breakdown { margin-bottom: var(--ws-space-4); background: var(--ws-cream); }
.westyle-breakdown-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ws-space-2); flex-wrap: wrap; margin-bottom: var(--ws-space-3); }
.westyle-breakdown-dates { font-size: var(--ws-fs-xs); color: var(--ws-ink-soft); font-weight: 500; }
.westyle-breakdown-empty { display: none; margin: 0 0 var(--ws-space-3); font-size: var(--ws-fs-sm); color: var(--ws-muted); }
.westyle-breakdown.is-empty .westyle-breakdown-empty { display: block; }
.westyle-breakdown-rows { margin: 0; }
.westyle-bd-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--ws-space-3);
	padding: var(--ws-space-2) 0;
	font-size: var(--ws-fs-sm);
	color: var(--ws-ink-soft);
	border-bottom: 1px dashed var(--ws-line);
}
.westyle-bd-row dt { font-weight: 400; margin: 0; }
.westyle-bd-row dd { margin: 0; font-weight: 600; color: var(--ws-ink); white-space: nowrap; }
.westyle-bd-days { color: var(--ws-muted); }
.westyle-bd-total { border-bottom: 0; padding-top: var(--ws-space-3); }
.westyle-bd-total dt { font-weight: 600; color: var(--ws-ink); font-size: var(--ws-fs-md); }
.westyle-bd-total dd { font-size: 28px; color: var(--ws-ink); line-height: 1; }
.westyle-breakdown.is-empty .westyle-bd-total dd { color: var(--ws-muted); }
.westyle-breakdown-note {
	margin: var(--ws-space-2) 0 0;
	font-size: var(--ws-fs-xs);
	color: var(--ws-success);
	display: flex;
	gap: 6px;
}
.westyle-breakdown-note::before { content: '✓'; font-weight: 700; }

/* ===== CTA ===== */
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button.alt {
	width: 100%;
	min-height: 56px;
	margin: 0 !important;
	background: var(--ws-rose) !important;
	border: none !important;
	border-radius: var(--ws-radius) !important;
	font-family: var(--ws-font-body);
	font-size: var(--ws-fs-sm) !important;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--ws-bg) !important;
	box-shadow: var(--ws-shadow);
	transition: background var(--ws-dur) var(--ws-ease), transform var(--ws-dur) var(--ws-ease);
}
.single-product .single_add_to_cart_button:hover { background: var(--ws-rose-deep) !important; transform: translateY(-1px); }
.single-product .single_add_to_cart_button.disabled { opacity: 0.55; }
.westyle-cta-helper {
	text-align: center;
	font-size: var(--ws-fs-xs);
	color: var(--ws-muted);
	margin: var(--ws-space-2) 0 0;
}
.westyle-trust-row {
	list-style: none;
	margin: var(--ws-space-4) 0 0;
	padding: var(--ws-space-3) 0 0;
	border-top: 1px solid var(--ws-line);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ws-space-2);
}
.westyle-trust-row li {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	font-size: 11.5px;
	line-height: 1.3;
	color: var(--ws-ink-soft);
	margin: 0;
}
.westyle-trust-row svg { width: 22px; height: 22px; color: var(--ws-gold); }

/* ===== 7. Rental info box ===== */
.westyle-rental-info-box { background: var(--ws-cream-deep); }
.westyle-rental-info-box h4 {
	font-size: var(--ws-fs-xs);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ws-ink);
	margin: 0 0 var(--ws-space-3);
}
.westyle-rental-info-box ul { list-style: none; margin: 0; padding: 0; }
.westyle-rental-info-box li {
	display: flex;
	align-items: center;
	gap: var(--ws-space-3);
	font-size: var(--ws-fs-sm);
	color: var(--ws-ink-soft);
	margin: 0 0 var(--ws-space-2);
}
.westyle-rental-info-box li:last-child { margin-bottom: 0; }
.westyle-check-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ws-gold);
	color: var(--ws-bg);
}
.westyle-check-icon svg { width: 12px; height: 12px; }

/* ===== Sections below the fold ===== */
.westyle-section,
.westyle-process-sec {
	padding-top: var(--wsp-gap-section);
	border-top: 1px solid var(--ws-line);
}
.westyle-section-title {
	font-size: var(--ws-fs-2xl);
	font-weight: 600;
	color: var(--ws-ink);
	margin: 0 0 var(--ws-space-5);
	line-height: 1.15;
}

/* ===== 8. Process ===== */
.westyle-process-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ws-space-5) var(--ws-space-3);
	background: var(--ws-ink);
	border-radius: var(--ws-radius-lg);
	padding: var(--ws-space-6) var(--ws-space-4);
}
@media (min-width: 768px) {
	.westyle-process-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: var(--ws-space-7) var(--ws-space-5); }
}
.westyle-process-step { display: flex; flex-direction: column; align-items: center; gap: var(--ws-space-2); color: var(--ws-bg); text-align: center; }
.westyle-process-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid var(--ws-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ws-gold);
}
.westyle-process-icon svg { width: 24px; height: 24px; }
.westyle-process-num { font-family: var(--ws-font-display); font-size: var(--ws-fs-lg); font-style: italic; color: var(--ws-gold); line-height: 1; }
.westyle-process-label { font-size: var(--ws-fs-sm); font-weight: 500; }

/* ===== Accordions ===== */
.westyle-deposit-lead { font-size: var(--ws-fs-xl); font-weight: 600; margin: 0; color: var(--ws-ink); }
.westyle-deposit-sub { font-size: var(--ws-fs-sm); color: var(--ws-success); margin: var(--ws-space-1) 0 var(--ws-space-5); }
.westyle-accordion { max-width: 860px; }
.westyle-accordion-item { border-bottom: 1px solid var(--ws-line); }
.westyle-accordion-item:first-child { border-top: 1px solid var(--ws-line); }
.single-product .westyle-accordion-head {
	width: 100%;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ws-space-3);
	background: none;
	border: none;
	padding: var(--ws-space-3) 2px;
	font-size: var(--ws-fs-md);
	font-weight: 500;
	color: var(--ws-ink);
	cursor: pointer;
	text-align: left;
}
.single-product .westyle-accordion-head:hover { color: var(--ws-rose); background: none; }
.westyle-accordion-icon { flex: none; color: var(--ws-rose); font-size: 22px; font-weight: 300; transition: transform var(--ws-dur) var(--ws-ease); }
.westyle-accordion-item.open .westyle-accordion-icon { transform: rotate(45deg); }
.westyle-accordion-body { max-height: 0; overflow: hidden; transition: max-height 0.3s var(--ws-ease); }
.westyle-accordion-item.open .westyle-accordion-body { max-height: 1600px; }
.westyle-accordion-body p,
.westyle-accordion-rich {
	margin: 0;
	padding: 0 2px var(--ws-space-4);
	font-size: var(--ws-fs-sm);
	color: var(--ws-ink-soft);
	line-height: 1.7;
}
.westyle-accordion-rich p { padding: 0 0 var(--ws-space-2); }
.westyle-spec-table { width: 100%; border-collapse: collapse; margin: 0 0 var(--ws-space-4); border: 0; }
.westyle-spec-table th,
.westyle-spec-table td { text-align: left; padding: var(--ws-space-2) 2px; font-size: var(--ws-fs-sm); border: 0; border-bottom: 1px solid var(--ws-line); background: none; }
.westyle-spec-table tr:last-child th,
.westyle-spec-table tr:last-child td { border-bottom: none; }
.westyle-spec-table th { color: var(--ws-muted); font-weight: 500; width: 40%; }
.westyle-spec-table td { color: var(--ws-ink); font-weight: 500; }
.westyle-spec-table td p { margin: 0; }

/* ===== 11. Store ===== */
.westyle-store-card {
	display: flex;
	align-items: center;
	gap: var(--ws-space-4);
	background: var(--ws-cream);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	padding: var(--ws-space-4) var(--ws-space-5);
	flex-wrap: wrap;
	max-width: 860px;
}
.westyle-store-icon {
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ws-bg);
	border: 1px solid var(--ws-gold);
	color: var(--ws-gold);
	display: flex;
	align-items: center;
	justify-content: center;
}
.westyle-store-icon svg { width: 24px; height: 24px; }
.westyle-store-info { flex: 1; min-width: 180px; }
.westyle-store-info h3 { margin: 0; font-family: var(--ws-font-display); font-size: var(--ws-fs-xl); font-weight: 600; color: var(--ws-ink); }
.westyle-store-area { font-size: var(--ws-fs-sm); color: var(--ws-muted); display: block; margin-top: 2px; }
.westyle-store-meta { display: flex; flex-wrap: wrap; gap: var(--ws-space-1) var(--ws-space-4); margin-top: var(--ws-space-2); font-size: var(--ws-fs-xs); color: var(--ws-ink-soft); }
.westyle-store-rating { color: var(--ws-gold-text); font-weight: 600; }
.westyle-store-link { flex: none; color: var(--ws-rose); font-weight: 600; font-size: var(--ws-fs-sm); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.westyle-store-link:hover { text-decoration: underline; color: var(--ws-rose-deep); }

/* ===== 15. Reviews ===== */
.westyle-reviews-sec #reviews { padding: 0; border: none; background: none; max-width: 860px; }
.westyle-reviews-sec #reviews #comments > h2,
.westyle-reviews-sec .woocommerce-Reviews-title {
	font-family: var(--ws-font-body);
	font-size: var(--ws-fs-sm);
	font-weight: 500;
	color: var(--ws-muted);
	margin: 0 0 var(--ws-space-4);
}
.westyle-reviews-sec .woocommerce-noreviews {
	background: var(--ws-cream);
	border: 1px dashed var(--ws-line);
	border-radius: var(--ws-radius);
	padding: var(--ws-space-4);
	color: var(--ws-ink-soft);
	font-size: var(--ws-fs-sm);
}
.westyle-reviews-sec .star-rating,
.westyle-reviews-sec p.stars a { color: var(--ws-gold); }
.westyle-reviews-sec #comments .commentlist { list-style: none; margin: 0; padding: 0; }
.westyle-reviews-sec .commentlist li { margin: 0 0 var(--ws-space-4); }
.westyle-reviews-sec .comment_container {
	display: flex;
	gap: var(--ws-space-3);
	background: var(--ws-cream);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	padding: var(--ws-space-4);
}
.westyle-reviews-sec .comment_container img.avatar { width: 44px; height: 44px; border-radius: 50%; border: 0; padding: 0; position: static; }
.westyle-reviews-sec .comment-text { border: 0 !important; margin: 0 !important; padding: 0 !important; flex: 1; }
.westyle-reviews-sec .comment-text .meta { font-size: var(--ws-fs-xs); color: var(--ws-muted); }
.westyle-reviews-sec .comment-text .description { font-size: var(--ws-fs-sm); color: var(--ws-ink-soft); }
.westyle-reviews-sec #review_form_wrapper {
	margin-top: var(--ws-space-5);
	background: var(--ws-bg);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	padding: var(--ws-space-4);
}
.westyle-reviews-sec #reply-title { font-family: var(--ws-font-display); font-size: var(--ws-fs-xl); font-weight: 600; color: var(--ws-ink); display: block; margin-bottom: var(--ws-space-2); }
.westyle-reviews-sec #review_form label { font-size: var(--ws-fs-xs); font-weight: 600; color: var(--ws-ink); }
.westyle-reviews-sec #review_form textarea,
.westyle-reviews-sec #review_form input[type="text"],
.westyle-reviews-sec #review_form input[type="email"] {
	width: 100%;
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	padding: var(--ws-space-3);
	font-size: var(--ws-fs-md);
}
.westyle-reviews-sec #review_form textarea:focus,
.westyle-reviews-sec #review_form input:focus { border-color: var(--ws-rose); outline: none; }
.westyle-reviews-sec #review_form_wrapper .form-submit input {
	background: var(--ws-rose);
	color: var(--ws-bg);
	border: 0;
	border-radius: var(--ws-radius);
	min-height: 48px;
	padding: 0 var(--ws-space-6);
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: var(--ws-fs-xs);
	font-weight: 700;
}
.westyle-reviews-sec #review_form_wrapper .form-submit input:hover { background: var(--ws-rose-deep); }

/* ===== 16. You may also like ===== */
.single-product .related.products {
	padding-top: var(--wsp-gap-section);
	border-top: 1px solid var(--ws-line);
}
.single-product .related.products > h2 {
	font-family: var(--ws-font-display);
	font-size: var(--ws-fs-2xl);
	font-weight: 600;
	color: var(--ws-ink);
	margin: 0 0 var(--ws-space-5);
}
.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ws-space-4);
	list-style: none;
	padding: 0;
	margin: 0;
}
.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after { display: none; }
.single-product .related.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 0 !important;
	border: 0;
	background: var(--ws-bg);
	border-radius: var(--ws-radius);
	overflow: hidden;
	transition: transform var(--ws-dur) var(--ws-ease), box-shadow var(--ws-dur) var(--ws-ease);
	min-width: 0;
}
.single-product .related.products li.product:hover { transform: translateY(-3px); box-shadow: var(--ws-shadow); }
.single-product .related.products li.product img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--ws-radius);
	margin: 0 0 var(--ws-space-2) !important;
}
.single-product .related.products .woocommerce-loop-product__title {
	font-family: var(--ws-font-display);
	font-size: var(--ws-fs-lg) !important;
	font-weight: 600;
	color: var(--ws-ink);
	padding: 0 !important;
	margin: 0 0 2px !important;
}
.single-product .related.products .price {
	font-size: var(--ws-fs-sm) !important;
	font-weight: 600;
	color: var(--ws-ink);
	margin: 0 !important;
}
.single-product .related.products .price .westyle-rental-suffix { font-size: var(--ws-fs-xs); }
.single-product .related.products .button,
.single-product .related.products .ast-on-card-button,
.single-product .related.products .ast-shop-product-out-of-stock { display: none !important; }
@media (min-width: 1024px) {
	.single-product .related.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ws-space-5); }
}

/* ===== 17. Complete the Look ===== */
.westyle-complete-look-items {
	display: flex;
	align-items: center;
	gap: var(--ws-space-3);
	overflow-x: auto;
	padding-bottom: var(--ws-space-2);
	-webkit-overflow-scrolling: touch;
}
.westyle-look-item { flex: none; width: 112px; text-align: center; text-decoration: none; color: var(--ws-ink); }
.westyle-look-item img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--ws-radius); margin: 0 auto; display: block; }
.westyle-look-item div { margin-top: var(--ws-space-2); }
.westyle-look-item strong { display: block; font-size: var(--ws-fs-xs); font-weight: 600; color: var(--ws-ink); }
.westyle-look-item span { display: block; font-size: var(--ws-fs-xs); color: var(--ws-muted); margin-top: 2px; }
.westyle-look-main img { box-shadow: 0 0 0 2px var(--ws-gold); }
.westyle-look-plus { flex: none; font-size: 22px; font-weight: 300; color: var(--ws-muted); }
.single-product .westyle-complete-look-btn {
	margin-top: var(--ws-space-4);
	background: var(--ws-rose);
	color: var(--ws-bg);
	border: none;
	border-radius: var(--ws-radius);
	min-height: 52px;
	padding: 0 var(--ws-space-5);
	font-size: var(--ws-fs-xs);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}
.single-product .westyle-complete-look-btn:hover { background: var(--ws-rose-deep); }
.single-product .westyle-complete-look-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.westyle-look-note { font-size: var(--ws-fs-xs); color: var(--ws-muted); margin: var(--ws-space-2) 0 0; }

/* ===== Sticky mobile CTA ===== */
.westyle-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 998;
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: var(--ws-space-3);
	background: var(--ws-bg);
	border-top: 1px solid var(--ws-line);
	box-shadow: 0 -10px 26px -12px rgba(33, 26, 23, 0.18);
	padding: var(--ws-space-3) var(--ws-gutter);
	padding-bottom: calc(var(--ws-space-3) + env(safe-area-inset-bottom, 0px));
	transform: translateY(110%);
	transition: transform var(--ws-dur) var(--ws-ease);
}
.westyle-sticky-cta.visible { transform: translateY(0); }
.westyle-sticky-info { display: flex; flex-direction: column; min-width: 0; }
.westyle-sticky-price { font-size: 22px; font-weight: 600; color: var(--ws-ink); line-height: 1.1; }
.westyle-sticky-price small { font-family: var(--ws-font-body); font-size: var(--ws-fs-xs); color: var(--ws-muted); font-weight: 500; }
.westyle-sticky-total { font-size: var(--ws-fs-xs); color: var(--ws-ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.westyle-sticky-cta .westyle-sticky-cta-btn {
	flex: none;
	background: var(--ws-rose);
	color: var(--ws-bg);
	border: none;
	border-radius: var(--ws-radius);
	min-height: 48px;
	padding: 0 var(--ws-space-5);
	font-size: var(--ws-fs-xs);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}
.westyle-sticky-cta .westyle-sticky-cta-btn:hover { background: var(--ws-rose-deep); }
@media (max-width: 1023px) {
	.westyle-sticky-cta { display: flex; }
	body.westyle-has-sticky { padding-bottom: 84px; }
	body.westyle-has-sticky #ast-scroll-top { bottom: 96px; }
}

/* ===== Size guide modal ===== */
.westyle-size-guide-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: flex-end;
	justify-content: center;
}
.westyle-size-guide-modal.open { display: flex; }
.westyle-size-guide-modal[hidden] { display: none !important; }
body.westyle-modal-open { overflow: hidden; }
.westyle-modal-overlay { position: absolute; inset: 0; background: rgba(33, 26, 23, 0.55); }
.westyle-modal-panel {
	position: relative;
	background: var(--ws-bg);
	border-radius: var(--ws-radius-lg) var(--ws-radius-lg) 0 0;
	padding: var(--ws-space-5) var(--ws-space-4) calc(var(--ws-space-5) + env(safe-area-inset-bottom, 0px));
	width: 100%;
	max-width: 520px;
	max-height: 88vh;
	overflow-y: auto;
	box-shadow: var(--ws-shadow-lg);
	animation: westyle-sheet var(--ws-dur) var(--ws-ease);
}
@keyframes westyle-sheet { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (min-width: 768px) {
	.westyle-size-guide-modal { align-items: center; padding: var(--ws-space-5); }
	.westyle-modal-panel { border-radius: var(--ws-radius-lg); padding: var(--ws-space-6); }
}
.westyle-modal-panel .westyle-modal-close {
	position: absolute;
	top: var(--ws-space-2);
	right: var(--ws-space-2);
	width: 44px;
	height: 44px;
	background: none;
	border: none;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	color: var(--ws-ink-soft);
	padding: 0;
}
.westyle-modal-panel .westyle-modal-close:hover { color: var(--ws-rose); background: none; }
.westyle-modal-panel h3 { margin: 0 0 var(--ws-space-4); font-size: var(--ws-fs-2xl); font-weight: 600; color: var(--ws-ink); line-height: 1.1; }
.westyle-modal-panel h4 {
	margin: var(--ws-space-5) 0 var(--ws-space-2);
	font-size: var(--ws-fs-xs);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ws-ink);
}
.westyle-size-table-wrap { overflow-x: auto; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); }
.westyle-size-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.westyle-size-table th,
.westyle-size-table td { text-align: center; padding: var(--ws-space-2) var(--ws-space-1); font-size: var(--ws-fs-sm); border: 0; border-bottom: 1px solid var(--ws-line); white-space: nowrap; }
.westyle-size-table tr:last-child td { border-bottom: 0; }
.westyle-size-table th { background: var(--ws-cream); color: var(--ws-ink-soft); font-weight: 600; font-size: var(--ws-fs-xs); }
.westyle-size-table td:first-child { font-weight: 600; color: var(--ws-ink); text-align: left; padding-left: var(--ws-space-3); }
.westyle-size-table th:first-child { text-align: left; padding-left: var(--ws-space-3); }
.westyle-size-tip { font-size: var(--ws-fs-xs); color: var(--ws-muted); margin: var(--ws-space-2) 0 0; line-height: 1.5; }
.westyle-size-calc-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ws-space-2); }
.westyle-size-calc-row label { display: flex; flex-direction: column; gap: 4px; font-size: var(--ws-fs-xs); color: var(--ws-muted); margin: 0; }
.westyle-size-calc-row input {
	height: 48px;
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	padding: 0 var(--ws-space-3);
	font-size: var(--ws-fs-md);
	min-width: 0;
	width: 100%;
}
.westyle-size-calc-row input:focus { border-color: var(--ws-rose); outline: none; }
.westyle-modal-panel .westyle-check-size-btn {
	width: 100%;
	margin-top: var(--ws-space-3);
	background: var(--ws-ink);
	color: var(--ws-bg);
	border: none;
	border-radius: var(--ws-radius);
	min-height: 48px;
	font-size: var(--ws-fs-xs);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}
.westyle-modal-panel .westyle-check-size-btn:hover { background: var(--ws-rose); }
.westyle-size-result { font-size: var(--ws-fs-sm); margin: var(--ws-space-3) 0 0; color: var(--ws-ink); }
.westyle-size-result:empty { display: none; }
.westyle-size-result strong { color: var(--ws-rose); font-size: var(--ws-fs-md); }
.westyle-size-result span { display: block; color: var(--ws-muted); font-size: var(--ws-fs-xs); margin-top: 2px; }
.westyle-wa-cta {
	display: flex;
	align-items: center;
	gap: var(--ws-space-3);
	margin-top: var(--ws-space-5);
	padding: var(--ws-space-3) var(--ws-space-4);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-cream);
	text-decoration: none;
	color: var(--ws-ink);
	transition: border-color var(--ws-dur) var(--ws-ease);
}
.westyle-wa-cta:hover { border-color: var(--ws-whatsapp); color: var(--ws-ink); }
.westyle-wa-cta svg { flex: none; width: 32px; height: 32px; color: var(--ws-whatsapp); }
.westyle-wa-cta span { display: flex; flex-direction: column; gap: 2px; }
.westyle-wa-cta strong { font-size: var(--ws-fs-sm); }
.westyle-wa-cta em { font-style: normal; font-size: var(--ws-fs-xs); color: var(--ws-muted); }

/* ===== Branded datepicker ===== */
.westyle-datepicker.ui-datepicker {
	z-index: 1001 !important;
	width: min(320px, calc(100vw - 32px));
	padding: var(--ws-space-2);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	box-shadow: var(--ws-shadow-lg);
	background: var(--ws-bg);
	font-size: var(--ws-fs-sm);
}
.westyle-datepicker.ui-datepicker .ui-datepicker-header {
	background: var(--ws-cream);
	border: 0;
	border-radius: var(--ws-radius-sm);
	color: var(--ws-ink);
	padding: var(--ws-space-2) 0;
}
.westyle-datepicker.ui-datepicker .ui-datepicker-title { font-family: var(--ws-font-display); font-size: var(--ws-fs-lg); font-weight: 600; color: var(--ws-ink); }
.westyle-datepicker.ui-datepicker .ui-datepicker-prev,
.westyle-datepicker.ui-datepicker .ui-datepicker-next { top: 50%; transform: translateY(-50%); cursor: pointer; border: 0; background: none; }
.westyle-datepicker.ui-datepicker .ui-datepicker-prev-hover,
.westyle-datepicker.ui-datepicker .ui-datepicker-next-hover { background: var(--ws-rose-tint); border: 0; }
.westyle-datepicker.ui-datepicker th { font-size: 11px; color: var(--ws-muted); font-weight: 600; }
.westyle-datepicker.ui-datepicker td { padding: 1px; }
.westyle-datepicker.ui-datepicker td a,
.westyle-datepicker.ui-datepicker td span {
	text-align: center;
	padding: 0;
	line-height: 38px;
	height: 38px;
	border: 0 !important;
	border-radius: var(--ws-radius-sm);
	background: none !important;
	color: var(--ws-ink);
}
/* Hover only on real mouse devices, never on the chosen days (phones keep :hover after a tap). */
@media (hover: hover) {
	.westyle-datepicker.ui-datepicker td:not(.ws-in-range):not(.ws-range-start):not(.ws-range-end) a:hover { background: var(--ws-rose-tint) !important; color: var(--ws-rose) !important; }
}
.westyle-datepicker.ui-datepicker .ui-datepicker-unselectable span,
.westyle-datepicker.ui-datepicker .ws-unavail span { color: var(--ws-muted); opacity: 0.5; text-decoration: line-through; }
.westyle-datepicker.ui-datepicker .ui-datepicker-today a { box-shadow: inset 0 0 0 1px var(--ws-gold); }
.westyle-datepicker.ui-datepicker .ws-in-range a { background: var(--ws-rose-tint) !important; color: var(--ws-rose-deep) !important; border-radius: 0; }
.westyle-datepicker.ui-datepicker .ws-range-start a,
.westyle-datepicker.ui-datepicker .ws-range-end a,
.westyle-datepicker.ui-datepicker .ui-state-active {
	background: var(--ws-rose) !important;
	color: var(--ws-bg) !important;
	border-radius: var(--ws-radius-sm);
}
.westyle-datepicker.ui-datepicker .ui-datepicker-other-month a { color: var(--ws-muted); }

/* ===== Deposit refund note in cart/checkout totals ===== */
.westyle-deposit-note-row td {
	font-size: var(--ws-fs-xs);
	color: var(--ws-muted);
	padding-top: 6px !important;
}

@media (prefers-reduced-motion: reduce) {
	.westyle-sticky-cta,
	.westyle-modal-panel,
	.westyle-accordion-body,
	.single-product .related.products li.product { transition: none; animation: none; }
}

/* ===== Fix round 1 ===== */
/* Quick facts: gallery copy on desktop, summary copy (after booking) on mobile */
.westyle-quick-facts--gallery { display: none; }
@media (min-width: 1024px) {
	.westyle-quick-facts--gallery { display: block; }
	.westyle-quick-facts--summary { display: none; }
}
/* Unavailable dates: dim breakdown + CTA (click is blocked in JS too) */
.westyle-breakdown.is-unavailable .westyle-breakdown-rows,
.westyle-breakdown.is-unavailable .westyle-breakdown-note { opacity: 0.45; }
.single-product .single_add_to_cart_button.westyle-is-blocked { opacity: 0.5; box-shadow: none; }
/* Inline size message + chip flash */
.westyle-variation-msg { margin: 0 0 var(--ws-space-3); }
.single-product .crf-radio-group { border-radius: var(--ws-radius); transition: box-shadow var(--ws-dur) var(--ws-ease); }
.single-product .crf-radio-group.is-flash { box-shadow: 0 0 0 4px var(--ws-rose-tint); }
/* Tap targets */
.single-product .reset_variations { min-height: 44px; display: inline-flex; align-items: center; }
.single-product .westyle-rating-count { min-height: 44px; display: inline-flex; align-items: center; }
.single-product .woocommerce-breadcrumb a { display: inline-block; padding: 12px 0; }
@media (max-width: 1023px) {
	/* Keep title + price on the first screen at 375px */
	.westyle-gallery-wrap .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; object-position: center 20%; }
	.single-product div.product { gap: var(--ws-space-5); margin-top: var(--ws-space-3); }
}

/* ===== Fix round 2 ===== */
/* How renting works: light panel so the step numbers can use AA gold text */
.westyle-process-steps { background: var(--ws-cream); border: 1px solid var(--ws-line); }
.westyle-process-step { color: var(--ws-ink); }
.westyle-process-icon { background: var(--ws-bg); }
.westyle-process-num { color: var(--ws-gold-text); font-weight: 600; }
.westyle-process-label { color: var(--ws-ink); }
/* Review form submit: rose, not Astra blue */
.single-product #respond input#submit,
.single-product #review_form #respond .form-submit input#submit {
	background: var(--ws-rose);
	color: var(--ws-bg);
	border: 0;
	border-radius: var(--ws-radius);
	min-height: 48px;
	padding: 0 var(--ws-space-6);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: var(--ws-fs-xs);
}
.single-product #respond input#submit:hover { background: var(--ws-rose-deep); }

/* ===== Fix round 3: already in cart ===== */
.westyle-avail-info { background: var(--ws-rose-tint); color: var(--ws-ink); }
.westyle-avail-info .westyle-avail-icon { background: var(--ws-rose); color: var(--ws-bg); }
.single-product .westyle-avail-link { color: var(--ws-rose-deep); font-weight: 600; font-size: var(--ws-fs-sm); text-decoration: underline; text-underline-offset: 2px; min-height: 44px; display: inline-flex; align-items: center; }
.single-product .westyle-view-cart-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	background: var(--ws-ink) !important;
	color: var(--ws-bg) !important;
	border-radius: var(--ws-radius);
	font-size: var(--ws-fs-sm);
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	text-decoration: none;
}
.single-product .westyle-view-cart-btn:hover { background: var(--ws-rose-deep) !important; }

/* ===== Size selection: Standard | Custom ===== */
.westyle-size-block {
	margin-bottom: var(--ws-space-4);
	padding: var(--ws-space-4);
	background: var(--ws-bg);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	box-shadow: var(--ws-shadow-sm);
	scroll-margin-top: 96px;
	transition: box-shadow var(--ws-dur) var(--ws-ease), border-color var(--ws-dur) var(--ws-ease);
}
.westyle-size-block.is-flash { border-color: var(--ws-rose); box-shadow: 0 0 0 4px var(--ws-rose-tint); }
@media (min-width: 768px) { .westyle-size-block { padding: var(--ws-space-5); } }
.westyle-size-block .westyle-block-head { align-items: center; }
.westyle-size-block .westyle-size-help { gap: 0 var(--ws-space-3); }
.westyle-size-block .westyle-fit-wa { display: none; }
.westyle-size-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ws-space-2); margin-bottom: var(--ws-space-3); }
.westyle-size-tab { position: relative; margin: 0; cursor: pointer; }
.westyle-size-tab input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.westyle-size-tab span {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 56px;
	justify-content: center;
	padding: var(--ws-space-2) var(--ws-space-3);
	border: 1.5px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-cream);
	transition: all var(--ws-dur) var(--ws-ease);
}
.westyle-size-tab strong { font-size: var(--ws-fs-sm); font-weight: 600; color: var(--ws-ink); }
.westyle-size-tab em { font-style: normal; font-size: var(--ws-fs-xs); color: var(--ws-muted); }
.westyle-size-tab:hover span { border-color: var(--ws-rose); }
.westyle-size-tab input:checked + span { border-color: var(--ws-rose); background: var(--ws-rose-tint); box-shadow: inset 0 0 0 1px var(--ws-rose); }
.westyle-size-tab input:focus-visible + span { box-shadow: 0 0 0 3px var(--ws-rose-tint); }
.westyle-size-panel[hidden] { display: none !important; }
.westyle-size-chips { display: flex; flex-wrap: wrap; gap: var(--ws-space-2); }
.westyle-size-chip { position: relative; margin: 0; cursor: pointer; }
.westyle-size-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.westyle-size-chip span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 48px;
	padding: 0 var(--ws-space-4);
	border: 1.5px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	font-size: var(--ws-fs-sm);
	font-weight: 600;
	color: var(--ws-ink);
	transition: all var(--ws-dur) var(--ws-ease);
}
.westyle-size-chip:hover span { border-color: var(--ws-rose); color: var(--ws-rose); background: var(--ws-rose-tint); }
.westyle-size-chip input:checked + span { background: var(--ws-rose); border-color: var(--ws-rose); color: var(--ws-bg); }
.westyle-size-chip input:focus-visible + span { box-shadow: 0 0 0 3px var(--ws-rose-tint); }

/* ===== Jooti size (free matching jooti) ===== */
.westyle-jutti-block {
	margin-bottom: var(--ws-space-4);
	padding: var(--ws-space-4);
	background: var(--ws-bg);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	box-shadow: var(--ws-shadow-sm);
	scroll-margin-top: 96px;
	transition: box-shadow var(--ws-dur) var(--ws-ease), border-color var(--ws-dur) var(--ws-ease);
}
.westyle-jutti-block.is-flash { border-color: var(--ws-rose); box-shadow: 0 0 0 4px var(--ws-rose-tint); }
@media (min-width: 768px) { .westyle-jutti-block { padding: var(--ws-space-5); } }
.westyle-jutti-chips .westyle-size-chip span { min-width: 48px; padding: 0 var(--ws-space-3); }
.westyle-jutti-help { margin-top: var(--ws-space-3); font-size: var(--ws-fs-sm); color: var(--ws-ink-soft); }
.westyle-jutti-help summary {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	cursor: pointer;
	color: var(--ws-rose);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.westyle-jutti-help summary:focus-visible { outline: 2px solid var(--ws-rose); outline-offset: 2px; border-radius: 4px; }
.westyle-jutti-steps { margin: var(--ws-space-2) 0 var(--ws-space-3); padding-left: 1.25em; display: grid; gap: 4px; }
.westyle-jutti-calc { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-space-2) var(--ws-space-3); }
.westyle-jutti-calc label { font-weight: 600; color: var(--ws-ink); }
.westyle-jutti-calc input {
	width: 140px;
	height: 48px;
	padding: 0 var(--ws-space-3);
	border: 1.5px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	color: var(--ws-ink);
	font: 400 16px/1.2 var(--ws-font-body);
}
.westyle-jutti-calc select {
	min-width: 200px;
	height: 48px;
	padding: 0 var(--ws-space-3);
	border: 1.5px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	color: var(--ws-ink);
	font: 400 16px/1.2 var(--ws-font-body);
}
.westyle-jutti-shoe { margin-bottom: var(--ws-space-2); }
.westyle-jutti-or { margin: 0 0 var(--ws-space-2); font-size: var(--ws-fs-xs); color: var(--ws-muted); text-transform: uppercase; letter-spacing: .06em; }
.westyle-jutti-calc select:focus,
.westyle-jutti-calc input:focus { border-color: var(--ws-rose); outline: none; box-shadow: 0 0 0 3px var(--ws-rose-tint); }
.westyle-jutti-result { margin: var(--ws-space-2) 0 0; min-height: 1.2em; font-weight: 600; color: var(--ws-success); }
.westyle-jutti-result.is-warn { color: var(--ws-danger); }
.westyle-jutti-table-wrap { margin-top: var(--ws-space-3); overflow-x: auto; }
.westyle-jutti-table { width: 100%; max-width: 360px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.westyle-jutti-table th, .westyle-jutti-table td { padding: 6px var(--ws-space-2); border-bottom: 1px solid var(--ws-line); text-align: left; }
.westyle-jutti-table th { font-size: var(--ws-fs-xs); font-weight: 600; color: var(--ws-muted); }
.westyle-jutti-tip {
	margin: var(--ws-space-3) 0 0;
	padding: var(--ws-space-2) var(--ws-space-3);
	border-left: 2px solid var(--ws-gold);
	background: var(--ws-gold-tint);
	border-radius: 0 var(--ws-radius-sm) var(--ws-radius-sm) 0;
	font-size: var(--ws-fs-xs);
	line-height: 1.5;
}
.westyle-jutti-msg:empty { display: none; }
.westyle-jutti-msg { margin-top: var(--ws-space-3); }
.westyle-size-custom-note {
	margin: 0 0 var(--ws-space-3);
	padding: var(--ws-space-2) var(--ws-space-3);
	border-left: 2px solid var(--ws-gold);
	background: var(--ws-gold-tint);
	border-radius: 0 var(--ws-radius-sm) var(--ws-radius-sm) 0;
	font-size: var(--ws-fs-xs);
	line-height: 1.5;
	color: var(--ws-ink-soft);
}
.westyle-measure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ws-space-3); }
@media (min-width: 768px) { .westyle-measure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.westyle-measure { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: var(--ws-fs-xs); font-weight: 600; color: var(--ws-ink); }
.westyle-measure small { font-weight: 400; color: var(--ws-muted); }
.single-product .westyle-measure input,
.single-product .westyle-measure textarea {
	width: 100%;
	min-height: 48px;
	padding: var(--ws-space-2) var(--ws-space-3);
	border: 1px solid var(--ws-line);
	border-radius: var(--ws-radius);
	background: var(--ws-bg);
	font-size: var(--ws-fs-md);
	color: var(--ws-ink);
	box-shadow: none;
}
.single-product .westyle-measure input:focus,
.single-product .westyle-measure textarea:focus { border-color: var(--ws-rose); outline: none; }
.westyle-measure.is-invalid input { border-color: var(--ws-danger); background: var(--ws-danger-tint); }
.westyle-measure--note { margin-top: var(--ws-space-3); }
.westyle-measure--note textarea { min-height: 64px; resize: vertical; }
.westyle-size-msg:empty { display: none; }
.single-product .single_add_to_cart_button.westyle-needs-size { opacity: 0.55; box-shadow: none; }
/* Variable product: size block sits above the variation chips */
.single-product .variations_form .westyle-size-block + table.variations { margin-top: calc(-1 * var(--ws-space-2)); }

/* ==========================================================================
   COMPACT LAYOUT (owner feedback) — one spacing system for the whole page.
   Section title → content 16px (20px desktop); block title → content 12px;
   between sections 32px mobile / 48px desktop; summary cards 16px apart.
   ========================================================================== */
.single-product { --wsp-gap-module: var(--ws-space-4); }
.single-product div.product { row-gap: var(--ws-space-6); margin-bottom: var(--ws-space-6); }
@media (min-width: 1024px) { .single-product div.product { row-gap: var(--ws-space-7); } }

/* Sections: no stacked padding + borders (gap handles spacing) */
.single-product .westyle-section,
.single-product .westyle-process-sec,
.single-product .related.products {
	padding-top: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border-top: 0 !important;
}
.single-product div.product > .westyle-row { grid-column: 1 / -1; min-width: 0; }
.westyle-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ws-space-6); align-items: start; }
.westyle-row:empty { display: none; }
@media (min-width: 1024px) {
	.westyle-row--b { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ws-space-7); }
	.westyle-row--c { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--ws-space-7); }
}

/* Headings: icon + short title, identical spacing */
.single-product .westyle-section-title,
.single-product .related.products > h2 {
	display: flex;
	align-items: center;
	gap: var(--ws-space-2);
	font-family: var(--ws-font-display);
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 600;
	line-height: 1.15;
	color: var(--ws-ink);
	margin: 0 0 var(--ws-space-4) !important;
	padding: 0;
}
@media (min-width: 1024px) {
	.single-product .westyle-section-title,
	.single-product .related.products > h2 { margin-bottom: 20px !important; }
}
.westyle-section-title .westyle-ico {
	flex: none;
	width: 36px;
	height: 36px;
	padding: 7px;
	border-radius: 50%;
	background: var(--ws-gold-tint);
	color: var(--ws-gold-text);
}
.single-product .westyle-block-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--ws-space-1) var(--ws-space-3);
	margin: 0 0 var(--ws-space-3) !important;
}
.single-product .westyle-block-title {
	display: inline-flex;
	align-items: center;
	gap: var(--ws-space-2);
	margin: 0 !important;
	font-family: var(--ws-font-display);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--ws-ink);
}
.westyle-block-title .westyle-ico { flex: none; width: 24px; height: 24px; color: var(--ws-rose); }
.westyle-block-sub { font-family: var(--ws-font-body); font-size: var(--ws-fs-sm); color: var(--ws-muted); }
.westyle-block-hint { margin: calc(-1 * var(--ws-space-2)) 0 var(--ws-space-3); font-size: var(--ws-fs-sm); color: var(--ws-ink-soft); }
.single-product .westyle-breakdown-head { margin: 0; }
.westyle-breakdown .westyle-block-head { margin-bottom: var(--ws-space-2) !important; }

/* Summary cards: equal 16px rhythm, no inner double margins */
.single-product .summary.entry-summary > * { margin-top: var(--ws-space-4); }
.single-product .summary.entry-summary > .westyle-eyebrow,
.single-product .summary.entry-summary > :first-child { margin-top: 0; }
.single-product .summary .westyle-size-block,
.single-product .summary .westyle-breakdown { margin: 0 0 var(--ws-space-4); }
.westyle-presets { margin-top: var(--ws-space-3); }
.westyle-presets-label { display: none; }

/* Row A: Kaise kaam karta hai — 4 steps in one row + includes chips */
.single-product .westyle-process-sec {
	background: var(--ws-cream);
	border: 1px solid var(--ws-line) !important;
	border-radius: var(--ws-radius-lg);
	padding: var(--ws-space-5) var(--ws-space-4) !important;
}
@media (min-width: 1024px) { .single-product .westyle-process-sec { padding: var(--ws-space-5) var(--ws-space-6) !important; } }
.single-product .westyle-process-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--ws-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	counter-reset: none;
}
.single-product .westyle-process-step { display: flex; flex-direction: column; align-items: center; gap: var(--ws-space-2); text-align: center; margin: 0; color: var(--ws-ink); }
.single-product .westyle-process-icon {
	position: relative;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid var(--ws-gold);
	background: var(--ws-bg);
	color: var(--ws-rose);
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-product .westyle-process-icon .westyle-ico { width: 24px; height: 24px; }
.single-product .westyle-process-icon b {
	position: absolute;
	top: -4px;
	right: -4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ws-ink);
	color: var(--ws-bg);
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.single-product .westyle-process-label { font-size: var(--ws-fs-sm); font-weight: 600; line-height: 1.3; color: var(--ws-ink); text-transform: none; letter-spacing: 0; }
@media (min-width: 768px) { .single-product .westyle-process-label { font-size: var(--ws-fs-md); } }
.westyle-includes-chips { list-style: none; margin: var(--ws-space-4) 0 0; padding: var(--ws-space-4) 0 0; border-top: 1px dashed var(--ws-line); display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ws-space-2); }
.westyle-includes-chips li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	min-height: 36px;
	padding: 0 var(--ws-space-3);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-bg);
	border: 1px solid var(--ws-line);
	font-size: var(--ws-fs-sm);
	color: var(--ws-ink);
}
.westyle-includes-chips .westyle-ico { width: 16px; height: 16px; color: var(--ws-success); }

/* Row B: accordions */
.single-product .westyle-accordion { max-width: none; }
.single-product .westyle-accordion-head { min-height: 52px; padding: var(--ws-space-2) 2px; font-size: var(--ws-fs-md); font-weight: 600; }
.westyle-deposit-lead { margin: 0 0 var(--ws-space-3); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--ws-space-2); font-style: normal; }
.westyle-deposit-lead strong { font-family: var(--ws-font-display); font-size: 30px; font-weight: 700; color: var(--ws-ink); line-height: 1; }
.westyle-deposit-lead span { font-family: var(--ws-font-body); font-size: var(--ws-fs-sm); color: var(--ws-success); font-weight: 500; }
.westyle-deposit-sub { display: none; }

/* Row C: store (1/3) + reviews (2/3) */
.single-product .westyle-row--c .westyle-store-card { flex-direction: column; align-items: flex-start; gap: var(--ws-space-3); padding: var(--ws-space-4); max-width: none; }
.single-product .westyle-row--c .westyle-store-info { min-width: 0; }
@media (max-width: 1023px) { .single-product .westyle-row--c .westyle-store-card { flex-direction: row; align-items: center; flex-wrap: wrap; } }
.single-product .westyle-reviews-sec #reviews { max-width: none; }
.single-product .westyle-reviews-sec #comments > h2,
.single-product .westyle-reviews-sec .woocommerce-Reviews-title { display: none; }
.single-product .westyle-reviews-sec .woocommerce-noreviews { margin: 0; padding: var(--ws-space-3) var(--ws-space-4); font-size: var(--ws-fs-md); }
.single-product .westyle-reviews-sec #review_form_wrapper { display: none; margin-top: var(--ws-space-4); }
.single-product .westyle-reviews-sec.is-writing #review_form_wrapper { display: block; }
.single-product .westyle-write-review {
	margin-top: var(--ws-space-3);
	min-height: 44px;
	padding: 0 var(--ws-space-5);
	border: 1.5px solid var(--ws-rose);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-bg);
	color: var(--ws-rose);
	font-size: var(--ws-fs-sm);
	font-weight: 600;
	cursor: pointer;
}
.single-product .westyle-write-review:hover { background: var(--ws-rose-tint); color: var(--ws-rose-deep); }
.single-product .westyle-reviews-sec.is-writing .westyle-write-review { display: none; }
.single-product .westyle-reviews-sec .commentlist li { margin-bottom: var(--ws-space-3); }

/* Related: 4 columns desktop, horizontal scroll row on mobile */
@media (max-width: 1023px) {
	.single-product .related.products ul.products {
		display: flex !important;
		flex-wrap: nowrap;
		gap: var(--ws-space-3);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		margin: 0 calc(-1 * var(--ws-gutter)) !important;
		padding: 0 var(--ws-gutter) var(--ws-space-2) !important;
		scrollbar-width: none;
	}
	.single-product .related.products ul.products::-webkit-scrollbar { display: none; }
	.single-product .related.products ul.products > li.product { flex: 0 0 62%; scroll-snap-align: start; }
}

/* Easy reading on mobile: ≥15px body, 1.6 line-height */
@media (max-width: 767px) {
	.single-product .westyle-accordion-body p,
	.single-product .westyle-accordion-rich,
	.single-product .westyle-block-hint,
	.single-product .westyle-includes,
	.single-product .westyle-deposit-note,
	.single-product .westyle-breakdown-empty,
	.single-product .westyle-size-custom-note,
	.single-product .westyle-cta-helper,
	.single-product .westyle-avail-msg,
	.single-product .westyle-bd-row,
	.single-product .westyle-store-area,
	.single-product .westyle-reviews-sec .description {
		font-size: 15px;
		line-height: 1.6;
	}
	.single-product .westyle-block-title { font-size: 22px; }
	.single-product .westyle-process-label { font-size: 13px; }
}
.single-product .westyle-bd-row dd { font-size: var(--ws-fs-md); font-weight: 700; }
.single-product .westyle-bd-total dd { font-size: 30px; }
/* Compact layout — mobile trims (no information removed) */
.single-product .westyle-bd-row { padding: 6px 0; }
.single-product .westyle-breakdown.is-empty .westyle-bd-row:first-child,
.single-product .westyle-breakdown.is-empty .westyle-bd-total { display: none; }
.single-product .westyle-breakdown.is-empty .westyle-breakdown-empty { margin-bottom: var(--ws-space-2); }
@media (max-width: 1023px) {
	.westyle-quick-facts--gallery { display: none; }
	.single-product .westyle-accordion-head { min-height: 48px; }
	.single-product .related.products ul.products > li.product { flex-basis: 56%; }
	/* Includes chips: one swipeable row */
	.westyle-includes-chips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin-left: calc(-1 * var(--ws-space-4)); margin-right: calc(-1 * var(--ws-space-4)); padding-left: var(--ws-space-4); padding-right: var(--ws-space-4); }
	.westyle-includes-chips::-webkit-scrollbar { display: none; }
	.westyle-includes-chips li { flex: none; }
}
@media (max-width: 767px) {
	/* Same promises are in "Kaise kaam karta hai" right below */
	.single-product .westyle-trust-row { display: none; }
}
/* Lehenga: chips sit inside "Size chunein" — no second "SIZE" label */
.single-product .westyle-size-block table.variations { margin: 0; }
.single-product .westyle-size-block table.variations th.label,
.single-product .westyle-size-block table.variations td.label { display: none; }
.single-product .westyle-size-block .reset_variations { min-height: 32px; margin-top: var(--ws-space-1); }
.single-product .westyle-size-block .westyle-size-tabs { margin-bottom: var(--ws-space-3); }
.single-product .westyle-size-tab span { min-height: 52px; }
@media (min-width: 768px) {
	.single-product .westyle-availability-box,
	.single-product .westyle-delivery-box,
	.single-product .westyle-breakdown,
	.single-product .westyle-size-block { padding: 20px; }
}
.single-product .westyle-price-notes { gap: 2px; }
.single-product .westyle-breakdown-note { margin-top: var(--ws-space-1); }
.single-product .westyle-size-block table.variations th.label,
.single-product .westyle-size-block table.variations td.label { display: none !important; }
.single-product .westyle-size-block .westyle-block-head { flex-wrap: nowrap; }
.single-product .westyle-size-block .westyle-size-help { flex: none; }
@media (max-width: 767px) {
	.single-product .westyle-size-block .crf-chip { min-width: 48px; padding: 0 var(--ws-space-3); }
}
.single-product .westyle-block-head { justify-content: flex-start; }
.single-product .westyle-block-head > .westyle-size-help,
.single-product .westyle-block-head > .westyle-breakdown-dates { margin-left: auto; }

/* ===== Booking flow inside the form: Dates → Size → result → Pincode → Price ===== */
.single-product form.cart > .westyle-availability-box,
.single-product form.cart > .westyle-delivery-box { margin: 0 0 var(--ws-space-4); }
.single-product form.cart .westyle-availability-result { margin: calc(-1 * var(--ws-space-2)) 0 var(--ws-space-4); }
.single-product form.cart .westyle-availability-result:empty { display: none; }
.single-product form.cart .westyle-availability-result .westyle-avail-msg { margin-top: 0; }
.westyle-avail-msg .westyle-avail-icon { font-size: 13px; }

/* Booked sizes on the chips */
.single-product .crf-radio-label.is-booked .crf-chip {
	position: relative;
	flex-direction: column;
	gap: 0;
	line-height: 1.1;
	color: var(--ws-muted);
	background: var(--ws-cream);
	border-style: dashed;
	text-decoration: line-through;
	text-decoration-color: var(--ws-danger);
}
.single-product .crf-radio-label.is-booked input:checked + .crf-chip { background: var(--ws-danger-tint); border-color: var(--ws-danger); color: var(--ws-danger); }
.westyle-chip-flag {
	display: block;
	font-style: normal;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ws-danger);
}

/* "Meri location use karo" */
.single-product .westyle-geo-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--ws-space-2);
	min-height: 44px;
	margin: 0 0 var(--ws-space-3);
	padding: 0 var(--ws-space-4);
	border: 1.5px solid var(--ws-rose);
	border-radius: var(--ws-radius-pill);
	background: var(--ws-bg);
	color: var(--ws-rose);
	font-size: var(--ws-fs-sm);
	font-weight: 600;
	cursor: pointer;
}
.single-product .westyle-geo-btn .westyle-ico { width: 18px; height: 18px; }
.single-product .westyle-geo-btn:hover { background: var(--ws-rose-tint); color: var(--ws-rose-deep); }
.single-product .westyle-geo-btn.is-unavailable,
.single-product .westyle-geo-btn:disabled { opacity: 0.5; cursor: not-allowed; border-style: dashed; }
.westyle-geo-note { margin: calc(-1 * var(--ws-space-2)) 0 var(--ws-space-3); font-size: var(--ws-fs-sm); line-height: 1.5; color: var(--ws-ink-soft); }
.westyle-geo-note.is-ok { color: var(--ws-success); font-weight: 600; }
.westyle-geo-note[hidden] { display: none; }
@media (max-width: 767px) { .westyle-geo-note { font-size: 15px; } }

/* Readability: product title and quick-facts values in the clean body font. */
.single-product .product_title.entry-title {
	font-family: var(--ws-font-body);
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}
.westyle-quick-facts li strong {
	font-family: var(--ws-font-body);
	font-size: var(--ws-fs-md);
	font-weight: 500;
	line-height: 1.5;
}

/* ===== Gallery: vertical thumbnails on the left (desktop), row below (mobile) ===== */
.westyle-gallery-wrap .flex-control-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.westyle-gallery-wrap .flex-control-thumbs img { aspect-ratio: 4 / 5; width: 100%; height: auto; }
@media (min-width: 1024px) {
	.westyle-gallery-wrap .woocommerce-product-gallery:has(.flex-control-thumbs) {
		display: grid !important;
		grid-template-columns: 76px minmax(0, 1fr);
		gap: var(--ws-space-3);
		align-items: start;
		background: none;
		overflow: visible;
		border-radius: 0;
	}
	.westyle-gallery-wrap .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-viewport {
		grid-column: 2;
		grid-row: 1;
		border-radius: var(--ws-radius);
		overflow: hidden;
		background: var(--ws-cream);
	}
	.westyle-gallery-wrap .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		flex-direction: column;
		gap: var(--ws-space-2);
		margin: 0 !important;
		max-height: 600px;
		overflow-y: auto;
		scrollbar-width: none;
	}
	.westyle-gallery-wrap .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-control-thumbs::-webkit-scrollbar { display: none; }
	.westyle-gallery-wrap .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-control-thumbs li { flex: none; }
	/* Main photo a bit smaller and capped so the page doesn't feel image-heavy. */
	.westyle-gallery-wrap .woocommerce-product-gallery__image img { max-height: 600px; }
	.westyle-gallery-wrap:has(.flex-control-thumbs) .westyle-product-badges { left: calc(76px + var(--ws-space-3) + var(--ws-space-3)); }
}

/* ===== Size finder (no inch-tape) + fit guarantee ===== */
.westyle-fit-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: var(--ws-space-3); background: var(--ws-cream); border-radius: var(--ws-radius); }
.westyle-modal-panel .westyle-fit-tab { min-height: 44px; border: 0; border-radius: calc(var(--ws-radius) - 2px); background: none; color: var(--ws-ink-soft); font-size: var(--ws-fs-sm); font-weight: 600; cursor: pointer; }
.westyle-modal-panel .westyle-fit-tab.is-active { background: var(--ws-bg); color: var(--ws-ink); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.westyle-fit-panel[hidden] { display: none; }
.westyle-fit-easy { display: grid; gap: var(--ws-space-3); }
.westyle-fit-two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ws-space-2); }
.westyle-fit-field { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; border: 0; min-width: 0; }
.westyle-fit-field > span, .westyle-fit-field legend { padding: 0; font-size: var(--ws-fs-xs); color: var(--ws-muted); }
.westyle-fit-field select, .westyle-fit-field input[type="number"] { width: 100%; min-width: 0; height: 48px; padding: 0 var(--ws-space-3); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: var(--ws-bg); color: var(--ws-ink); font-size: 16px; }
.westyle-fit-field select:focus, .westyle-fit-field input:focus { border-color: var(--ws-rose); outline: none; }
.westyle-fit-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.westyle-fit-chips label { margin: 0; }
.westyle-fit-chips input { position: absolute; opacity: 0; pointer-events: none; }
.westyle-fit-chips span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 6px; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); font-size: var(--ws-fs-sm); text-align: center; cursor: pointer; }
.westyle-fit-chips input:checked + span { border-color: var(--ws-rose); background: var(--ws-rose-tint); color: var(--ws-rose-deep); font-weight: 600; }
.westyle-fit-chips input:focus-visible + span { outline: 2px solid var(--ws-rose); outline-offset: 2px; }
.westyle-modal-panel .westyle-fit-go { margin-top: 0; }
.westyle-fit-result:empty { display: none; }
.westyle-fit-result { padding: var(--ws-space-3); border-radius: var(--ws-radius); background: var(--ws-cream); font-size: var(--ws-fs-sm); }
.westyle-fit-result p { margin: 0 0 6px; }
.westyle-fit-result strong { color: var(--ws-rose); font-size: var(--ws-fs-lg, 1.25rem); }
.westyle-fit-result ul { margin: 0 0 var(--ws-space-2) 18px; padding: 0; color: var(--ws-ink-soft); font-size: var(--ws-fs-xs); }
.westyle-fit-result .westyle-fit-warn, .westyle-fit-warn { color: var(--ws-danger); font-size: var(--ws-fs-xs); margin: 0; }
.westyle-modal-panel .westyle-fit-use { width: 100%; min-height: 48px; border: 0; border-radius: var(--ws-radius); background: var(--ws-rose); color: #fff; font-weight: 700; cursor: pointer; }
.westyle-modal-panel .westyle-fit-use:hover { background: var(--ws-rose-deep); }
.westyle-fit-promise { margin: var(--ws-space-3) 0 0; padding: 10px 12px; border-left: 3px solid var(--ws-success); border-radius: var(--ws-radius-sm); background: var(--ws-success-tint); color: var(--ws-ink-soft); font-size: var(--ws-fs-xs); line-height: 1.5; }
.single-product .westyle-size-block .westyle-fit-open { display: inline-flex; min-height: 44px; margin-top: var(--ws-space-2); padding: 0; font-weight: 600; text-align: left; }
.westyle-fit-picked { margin: 4px 0 0; color: var(--ws-success); font-size: var(--ws-fs-xs); font-weight: 600; }
.westyle-fit-picked[hidden] { display: none; }

/* ===== Inline event calendar (replaces From/To fields) ===== */
.westyle-event-cal { margin-top: var(--ws-space-3); }
.westyle-event-cal .westyle-datepicker.ui-datepicker {
	position: static !important;
	display: block;
	width: 100%;
	z-index: auto !important;
	padding: var(--ws-space-2) var(--ws-space-2) var(--ws-space-3);
	box-shadow: none;
	border-radius: var(--ws-radius-lg);
	background: var(--ws-bg);
}
.westyle-event-cal .westyle-datepicker.ui-datepicker .ui-datepicker-header { margin-bottom: var(--ws-space-2); }
.westyle-event-cal .ui-datepicker-calendar { width: 100%; margin: 0; border: 0; table-layout: fixed; }
.westyle-event-cal .ui-datepicker-calendar th { padding: var(--ws-space-2) 0; border: 0; background: none; text-transform: uppercase; letter-spacing: .5px; }
.westyle-event-cal .westyle-datepicker.ui-datepicker td { padding: 2px; border: 0; background: none; }
.westyle-event-cal .westyle-datepicker.ui-datepicker td a,
.westyle-event-cal .westyle-datepicker.ui-datepicker td span { height: 44px; line-height: 44px; font-size: var(--ws-fs-sm); }
.westyle-event-cal .westyle-datepicker.ui-datepicker .ui-datepicker-prev,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ui-datepicker-next { width: 44px; height: 44px; }
/* Delivery (day before) / pickup (day after) */
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-trip-day a,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-trip-day span { background: var(--ws-gold-tint) !important; color: var(--ws-gold-text) !important; }
/* No "today is selected" look before the customer picks */
.westyle-event-cal .westyle-datepicker.ui-datepicker td:not(.ws-in-range) .ui-state-active { background: none !important; color: var(--ws-ink) !important; }
.westyle-cal-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: var(--ws-space-2) 0 0; font-size: var(--ws-fs-xs); color: var(--ws-muted); }
.westyle-cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.westyle-cal-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.westyle-cal-dot--event { background: var(--ws-rose); }
.westyle-cal-dot--trip { background: var(--ws-gold-tint); border: 1px solid var(--ws-gold); }
.westyle-event-summary { margin: var(--ws-space-3) 0 0; padding: 10px 12px; border-radius: var(--ws-radius-sm); background: var(--ws-rose-tint); color: var(--ws-rose-deep); font-size: var(--ws-fs-sm); }
.westyle-event-summary[hidden] { display: none; }
.westyle-event-summary span { display: block; margin-top: 2px; color: var(--ws-ink-soft); font-size: var(--ws-fs-xs); }

/* Chosen event day(s): always the solid rose, also right after a tap on phones. */
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-range-start a,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-range-end a,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-range-start a:hover,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-range-end a:hover,
.westyle-event-cal .westyle-datepicker.ui-datepicker .ws-in-range a.ui-state-active { background: var(--ws-rose) !important; color: var(--ws-bg) !important; }

/* ===== Gallery arrows + one-row thumbnails on phones ===== */
.westyle-gallery-wrap .woocommerce-product-gallery { position: relative; }
.westyle-gallery-wrap .flex-viewport { position: relative; }
.westyle-gallery-wrap .flex-direction-nav { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; z-index: 5; }
.westyle-gallery-wrap .flex-direction-nav li { margin: 0; }
.westyle-gallery-wrap .flex-direction-nav a {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .92); color: var(--ws-ink); box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
	font-size: 30px; line-height: 1; text-decoration: none; pointer-events: auto; opacity: 1 !important;
}
.westyle-gallery-wrap .flex-direction-nav a::before { content: none !important; }
.westyle-gallery-wrap .flex-direction-nav .flex-prev { left: 10px; }
.westyle-gallery-wrap .flex-direction-nav .flex-next { right: 10px; }
.westyle-gallery-wrap .flex-direction-nav a:hover { background: #fff; color: var(--ws-rose); }
.westyle-gallery-wrap .flex-direction-nav .flex-disabled { display: none; }
@media (max-width: 1023px) {
	.westyle-gallery-wrap .flex-control-thumbs {
		display: flex !important; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory;
		scrollbar-width: none; padding-bottom: 2px !important;
	}
	.westyle-gallery-wrap .flex-control-thumbs::-webkit-scrollbar { display: none; }
	.westyle-gallery-wrap .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
}

/* ===== Video slide in the product gallery ===== */
.westyle-gallery-wrap .westyle-gallery-video { background: #111; }
.westyle-gallery-wrap .westyle-gallery-video video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: contain; background: #111; }
@media (min-width: 1024px) { .westyle-gallery-wrap .westyle-gallery-video video { max-height: 600px; } }
.westyle-gallery-wrap .flex-control-thumbs li.ws-thumb-video { position: relative; }
.westyle-gallery-wrap .flex-control-thumbs li.ws-thumb-video::after {
	content: "▶"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 20px; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); pointer-events: none;
}

/* ===== Main product photo: never crop the model (head/feet) ===== */
.westyle-gallery-wrap .woocommerce-product-gallery__image { background: #ECE8E3; }
.westyle-gallery-wrap .woocommerce-product-gallery__image img { object-fit: contain !important; object-position: center !important; background: #ECE8E3; }
@media (max-width: 1023px) {
	.westyle-gallery-wrap .woocommerce-product-gallery__image img { aspect-ratio: 4 / 5 !important; }
}

/* Video slide: fill the side space with a blurred copy of the poster instead of black bars. */
.westyle-gallery-wrap .westyle-gallery-video { position: relative; overflow: hidden; background: #2a2420 var(--ws-vposter) center / cover no-repeat; }
.westyle-gallery-wrap .westyle-gallery-video::before { content: ""; position: absolute; inset: -20px; background: inherit; filter: blur(22px) brightness(.6); transform: scale(1.1); }
.westyle-gallery-wrap .westyle-gallery-video video { position: relative; z-index: 1; background: transparent !important; }

.westyle-ws-id { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 99px; background: var(--ws-cream, #fbf6f1); border: 1px solid var(--ws-line, #e6ddd5); color: var(--ws-ink-soft, #57493f); font-size: 11px; font-weight: 700; letter-spacing: .04em; vertical-align: middle; }

/* Premium Original note */
.westyle-premium-note { display: flex; gap: 10px; align-items: flex-start; margin: 6px 0 12px; padding: 10px 14px; border-radius: 12px; background: linear-gradient(100deg, #fbf3e4, #fffaf2); border: 1px solid #ead7b4; font-size: 14px; line-height: 1.45; color: #57493f; }
.westyle-premium-note strong { display: block; color: #8a6424; letter-spacing: .04em; }
.westyle-premium-note__mark { color: #b98c4f; font-size: 20px; line-height: 1; }

/* Breadcrumb sits inside the summary column: line it up with the title. */
.single-product .summary .woocommerce-breadcrumb { max-width: none; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }

/* Mobile PDP header: tidy breadcrumb, store + ID on one clean line, compact title with icon-only Save. */
@media (max-width: 767px) {
	.single-product .woocommerce-breadcrumb { display: none; } /* Phones: product first. Still rendered (hidden), so WooCommerce keeps its BreadcrumbList schema for Google. */
	.single-product .woocommerce-breadcrumb a { display: inline; padding: 2px 0; }
	.single-product .summary.entry-summary .westyle-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 10px; font-size: 12px; line-height: 1.3; }
	.westyle-ws-id { margin-left: 0; }
	.single-product .summary.entry-summary > .westyle-title-row { align-items: flex-start; gap: 12px; margin-top: 6px; }
	.single-product .product_title.entry-title { font-size: 22px; font-weight: 600; line-height: 1.3; }
	.westyle-wishlist-btn { width: 44px; height: 44px; padding: 0; border-radius: 50%; }
	.westyle-wishlist-btn span { display: none; }
	.westyle-wishlist-btn svg { width: 20px; height: 20px; }
}

/* Secondary booking path: add to cart and book another outfit. */
.westyle-add-more { display: block; width: 100%; margin-top: 10px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--ws-line); border-radius: var(--ws-radius-pill, 999px); background: var(--ws-bg); color: var(--ws-ink-soft); font: 600 14px var(--ws-font-body); cursor: pointer; }
.westyle-add-more:hover { border-color: var(--ws-rose); color: var(--ws-rose); }
