/* VibePik Store UX. Colours come from the --bz-* variables in the Site Editor custom CSS (and VibePik Brand, when active). */

:root {
	--vp-radius: 14px;
	--vp-shadow: 0 14px 40px rgba(20, 10, 30, .12), 0 2px 6px rgba(20, 10, 30, .06);
	--vp-line: #ece8ef;
}

/* ---------- Sticky header ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	transition: box-shadow .2s ease;
}
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part { top: 0; } }
header.wp-block-template-part.vp-scrolled { box-shadow: 0 4px 18px rgba(0, 0, 0, .07); }

/* ---------- Desktop menu and dropdowns ---------- */
/* Top-level menu labels and arrows in the brand purple; hover and current page in the accent. */
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item:not(.bz-nav-deal) > .wp-block-navigation-item__content,
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon {
	color: var(--bz-brand);
	transition: color .15s ease;
}
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item:not(.bz-nav-deal) > .wp-block-navigation-item__content:hover,
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content,
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-icon,
header .wp-block-navigation__responsive-container:not(.is-menu-open) .current-menu-item > .wp-block-navigation-item__content,
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content[aria-current] { color: var(--bz-accent-dark, var(--bz-brand-dark)); }

/* Keep labels like "Home Decor" on one line; tighten the menu on smaller laptops and tablets. */
header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
/* Tablets: the full menu does not fit, so use the ☰ menu (WordPress switches only below 600px). */
@media (min-width: 600px) and (max-width: 979px) {
	header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
@media (min-width: 980px) and (max-width: 1180px) {
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: .85rem !important; }
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 13px; }
	header .vp-logo img { height: 44px; }
}

header .wp-block-navigation .wp-block-navigation__submenu-icon { transition: transform .2s ease; }
header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-icon,
header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-icon { transform: rotate(180deg); }

@media (min-width: 600px) {
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
		border: 1px solid var(--vp-line) !important;
		border-radius: var(--vp-radius);
		box-shadow: var(--vp-shadow);
		padding: 8px !important;
		min-width: 230px !important;
		margin-top: 12px;
		transform: translateY(6px);
		transition: opacity .18s ease, transform .18s ease, visibility .18s;
	}
	/* Invisible bridge so the dropdown does not close while the pointer crosses the gap. */
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -14px;
		height: 14px;
	}
	header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translateY(0); }

	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 9px 14px !important;
		border-radius: 10px;
		font-size: 14px;
		color: var(--bz-ink);
		transition: background .15s ease, color .15s ease, padding .15s ease;
	}
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: var(--bz-soft);
		color: var(--bz-brand);
		padding-left: 18px !important;
	}
	/* "View all" link added by ux.js at the top of each dropdown. */
	header .wp-block-navigation__submenu-container .vp-viewall .wp-block-navigation-item__content {
		font-weight: 600;
		color: var(--bz-brand) !important;
		border-bottom: 1px solid var(--vp-line);
		border-radius: 10px 10px 0 0 !important;
		margin-bottom: 4px;
	}
}

/* ---------- Mobile menu (overlay) ---------- */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: 20px 20px 40px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 56px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: stretch !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid var(--vp-line);
	position: relative;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 14px 52px 14px 4px !important;
	font-size: 17px;
	font-weight: 600;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
}
.wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation__submenu-container {
	display: none !important;
	padding: 0 0 10px 12px !important;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .has-child.vp-open .wp-block-navigation__submenu-container { display: flex !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 9px 4px !important;
	font-size: 15px;
	text-align: left;
	color: #555;
}
.vp-acc {
	display: none;
	position: absolute;
	right: 0;
	top: 6px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	color: var(--bz-ink);
}
.vp-acc::after {
	content: "";
	position: absolute;
	inset: 13px;
	background: currentColor;
	-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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .2s ease;
}
.vp-open > .vp-acc::after { transform: rotate(180deg); }
.vp-acc:hover, .vp-acc:focus-visible { background: var(--bz-soft); }
.wp-block-navigation__responsive-container.is-menu-open .vp-acc { display: block; }
.wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-icon { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .bz-nav-deal { align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .bz-nav-deal > .wp-block-navigation-item__content {
	display: inline-block;
	width: fit-content !important;
	margin: 14px 0;
	padding: 8px 20px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .bz-nav-deal { border-bottom: 0 !important; }

/* ---------- Header search ---------- */
.vp-search { position: static; display: flex; align-items: center; }
.vp-search-toggle {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: currentColor;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.vp-search-toggle:hover, .vp-search-toggle[aria-expanded="true"] { background: var(--bz-soft); color: var(--bz-brand); }
.vp-ic-search {
	width: 21px;
	height: 21px;
	background: currentColor;
	-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' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%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' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vp-search-panel {
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	width: min(680px, calc(100vw - 32px));
	display: flex;
	gap: 8px;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--vp-line);
	border-radius: 999px;
	box-shadow: var(--vp-shadow);
	z-index: 120;
}
.vp-search-panel[hidden] { display: none; }
.vp-search-panel input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	padding: 10px 16px;
	font: inherit;
	font-size: 16px;
	background: transparent;
}
.vp-search-panel button {
	border: 0;
	border-radius: 999px;
	padding: 10px 22px;
	font: inherit;
	font-weight: 600;
	background: var(--bz-brand);
	color: #fff;
	cursor: pointer;
}
header.wp-block-template-part > .wp-block-group { position: relative; }

/* ---------- Footer ---------- */
.vp-footer {
	background: #1d1026;
	color: #cfc8d6;
	margin-top: var(--wp--preset--spacing--70, 64px);
	font-size: 15px;
}
.vp-footer a { color: #fff; text-decoration: none; }
.vp-footer a:hover { color: var(--bz-accent, #ff9a62); }
.vp-footer-logo img { display: block; height: 44px; width: auto; }
.vp-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 16px 32px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px;
}
.vp-footer-logo { font-size: 26px; font-weight: 800; letter-spacing: -.3px; }
.vp-footer-brand p { margin: 12px 0 18px; line-height: 1.6; max-width: 34ch; }
.vp-footer-col h2 {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #fff;
	margin: 6px 0 16px;
}
.vp-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vp-footer-col a { color: #cfc8d6; }
.vp-footer-col a:hover { color: #fff; }
.vp-footer-bar {
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 16px 26px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	font-size: 13px;
}
.vp-footer-bar p { margin: 0; display: flex; align-items: center; gap: 8px; }
@media (max-width: 900px) { .vp-footer-inner { grid-template-columns: 1fr 1fr; } .vp-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .vp-footer-inner { gap: 28px; padding-top: 40px; } }

/* Contact list (footer and pages) */
.vp-contact { list-style: none; padding: 0; display: grid; gap: 10px; }
.vp-contact li { display: flex; align-items: center; gap: 10px; }
.vp-ci {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background: currentColor;
	opacity: .85;
	-webkit-mask: var(--m) center/contain no-repeat;
	mask: var(--m) center/contain no-repeat;
}
.vp-ci-phone { --m: 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' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.vp-ci-mail { --m: 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' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.vp-ci-pin { --m: 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' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.vp-ci-clock { --m: 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' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.vp-ci-wa { --m: 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' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-12.4 7.4L3 21l2.1-5.5A8.5 8.5 0 1 1 21 11.5z'/%3E%3C/svg%3E"); }
.vp-ci-cash { --m: 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' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='12' rx='2'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E"); }
.vp-admin-note { padding: 10px 12px; border: 1px dashed #ff9a62; border-radius: 10px; color: #ffcfb3; font-size: 13px; }
main .vp-admin-note { color: #8a4b1f; background: #fff6ef; }

/* ---------- Product cards ---------- */
.wp-block-woocommerce-product-template .wc-block-components-product-price,
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price { font-size: 1.05rem !important; }
.wp-block-woocommerce-product-template .wc-block-components-product-price del { color: #9a94a0; font-size: .85em; font-weight: 400; margin-right: 4px; }
@media (max-width: 600px) {
	.wp-block-woocommerce-product-template > li { padding: 8px 8px 12px; }
	.wp-block-woocommerce-product-template .wp-block-post-title { font-size: .9rem !important; }
	.wc-block-components-product-button__button {
		white-space: nowrap;
		font-size: .85rem !important;
		padding: .55em 1em !important;
		gap: 6px !important;
	}
	.wc-block-components-product-button__button::before { width: 15px !important; height: 15px !important; flex-basis: 15px !important; }
}

/* ---------- Header logo: bag drops into the cart, tick draws, sparkles pop ---------- */
.vp-logo .vp-logo-svg { display: block; height: 54px; width: auto; overflow: visible; }
@media (max-width: 1180px) { .vp-logo .vp-logo-svg { height: 44px; } }
@media (max-width: 600px) { .vp-logo .vp-logo-svg { height: 42px; } }
.vp-logo-svg .vpl-bag,
.vp-logo-svg .vpl-sp,
.vp-logo-svg .vpl-pik { transform-box: fill-box; }
.vp-logo-svg .vpl-bag { transform-origin: 50% 100%; }
.vp-logo-svg .vpl-sp { transform-origin: 50% 50%; opacity: 0; }
.vp-logo-svg .vpl-pik { transform-origin: 50% 100%; }
.vp-logo-svg .vpl-tick { stroke-dasharray: 60; stroke-dashoffset: 0; }

.vp-logo.vp-play .vpl-bag { animation: vpl-drop .75s cubic-bezier(.3, .7, .4, 1) both; }
.vp-logo.vp-play .vpl-tick { animation: vpl-draw .5s ease-out .65s both; }
.vp-logo.vp-play .vpl-sp1 { animation: vpl-twinkle .7s ease-in-out 1.05s both; }
.vp-logo.vp-play .vpl-sp2 { animation: vpl-twinkle .7s ease-in-out 1.25s both; }
.vp-logo.vp-play .vpl-sp3 { animation: vpl-twinkle .7s ease-in-out 1.45s both; }
.vp-logo.vp-play .vpl-pik { animation: vpl-hop .6s ease-in-out 1.15s both; }

@keyframes vpl-drop {
	0% { transform: translateY(-70px); opacity: 0; }
	45% { transform: translateY(0); opacity: 1; }
	60% { transform: scale(1.12, .84); }
	78% { transform: scale(.96, 1.06); }
	100% { transform: scale(1); }
}
@keyframes vpl-draw { from { stroke-dashoffset: 60; } to { stroke-dashoffset: 0; } }
@keyframes vpl-twinkle {
	0%, 100% { opacity: 0; transform: scale(.2) rotate(0); }
	50% { opacity: 1; transform: scale(1.15) rotate(45deg); }
}
@keyframes vpl-hop {
	0%, 100% { transform: translateY(0); }
	35% { transform: translateY(-7px); }
	60% { transform: translateY(0); }
	80% { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
	.vp-logo.vp-play .vpl-bag, .vp-logo.vp-play .vpl-tick, .vp-logo.vp-play .vpl-sp, .vp-logo.vp-play .vpl-pik { animation: none; }
}

/* ---------- Deals button in the header: gentle zoom in and out ---------- */
@keyframes vp-deal-pulse {
	0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 122, 0, .45); }
	50% { transform: scale(1.1); box-shadow: 0 0 0 7px rgba(255, 122, 0, 0); }
}
header .bz-nav-deal > .wp-block-navigation-item__content {
	display: inline-block;
	animation: vp-deal-pulse 1.8s ease-in-out infinite;
	will-change: transform;
}
header .bz-nav-deal > .wp-block-navigation-item__content:hover { animation-play-state: paused; }

/* ---------- Add to cart buttons: brand purple (other checkout buttons keep the accent) ---------- */
body .wp-block-woocommerce-product-button .wp-block-button__link,
body .wc-block-components-product-button__button,
body .single_add_to_cart_button,
body button.single_add_to_cart_button.button.alt {
	background: var(--bz-brand) !important;
	color: #fff !important;
}
body .wp-block-woocommerce-product-button .wp-block-button__link:hover,
body .wc-block-components-product-button__button:hover,
body .single_add_to_cart_button:hover {
	background: var(--bz-brand-dark) !important;
	color: #fff !important;
}

/* ---------- SALE badges: a short playful wiggle every few seconds ---------- */
@keyframes vp-sale-dance {
	0%, 62%, 100% { transform: rotate(0) scale(1); }
	66% { transform: rotate(-8deg) scale(1.12); }
	70% { transform: rotate(7deg) scale(1.12); }
	74% { transform: rotate(-5deg) scale(1.08); }
	78% { transform: rotate(4deg) scale(1.05); }
	82% { transform: rotate(-2deg) scale(1.02); }
	86% { transform: rotate(0) scale(1); }
}
.wc-block-components-product-sale-badge,
span.onsale {
	display: inline-block;
	transform-origin: 50% 60%;
	animation: vp-sale-dance 3.2s ease-in-out infinite;
	will-change: transform;
}
/* Neighbouring cards dance slightly out of step, so the row does not move as one block. */
.wp-block-woocommerce-product-template > li:nth-child(4n+2) .wc-block-components-product-sale-badge { animation-delay: .4s; }
.wp-block-woocommerce-product-template > li:nth-child(4n+3) .wc-block-components-product-sale-badge { animation-delay: .8s; }
.wp-block-woocommerce-product-template > li:nth-child(4n+4) .wc-block-components-product-sale-badge { animation-delay: 1.2s; }
/* Hovering a card makes its badge dance straight away. */
.wp-block-woocommerce-product-template > li:hover .wc-block-components-product-sale-badge { animation: vp-sale-dance 1.2s ease-in-out infinite; animation-delay: -.8s; }
@media (prefers-reduced-motion: reduce) {
	.wc-block-components-product-sale-badge,
	span.onsale,
	.wp-block-woocommerce-product-template > li:hover .wc-block-components-product-sale-badge,
	header .bz-nav-deal > .wp-block-navigation-item__content { animation: none; }
}

/* ---------- Single product ---------- */
.single-product .woocommerce-product-gallery__image img,
.single-product .wp-block-woocommerce-product-image-gallery img:not(.zoomImg) {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--vp-radius);
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.single-product span.onsale,
.woocommerce span.onsale {
	background: var(--bz-accent, var(--bz-brand)) !important;
	color: var(--bz-ink) !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: .55em 1em !important;
	font-size: .75rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	margin: 0 !important;
}
.single-product .wp-block-column > .wp-block-woocommerce-product-price .wc-block-components-product-price { font-size: 1.75rem !important; font-weight: 700; }
.single-product .wp-block-column > .wp-block-woocommerce-product-price ins { color: var(--bz-brand); text-decoration: none; }
.single-product .wp-block-column > .wp-block-woocommerce-product-price del { color: #9a94a0; font-size: .6em; font-weight: 400; margin-right: 6px; }
.vp-short-desc ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.vp-short-desc li { position: relative; padding-left: 28px; }
.vp-short-desc li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--bz-soft);
	box-shadow: inset 0 0 0 1.5px var(--bz-brand);
}
.vp-short-desc li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: calc(.2em + 4px);
	width: 5px;
	height: 8px;
	border: solid var(--bz-brand);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.single-product form.cart .quantity input.qty { border-radius: 999px; min-height: 44px; }
.single-product .single_add_to_cart_button { min-height: 46px; padding-inline: 2em !important; }

/* ---------- Home page ---------- */
/* Hero: every slide the same height so the page does not jump. */
.bz-hero .bz-track { align-items: stretch !important; }
.bz-hero .bz-track > .bz-slide { min-height: 440px !important; }
@media (max-width: 781px) {
	.bz-hero .bz-track > .bz-slide { min-height: 400px !important; }
	.bz-hero .wp-block-buttons { gap: 10px; }
	.bz-hero .wp-block-buttons .wp-block-button__link { padding: .7em 1.3em; font-size: .95rem; }
}

/* Trust strip: 2 × 2 on phones instead of four tall rows. */
@media (max-width: 781px) {
	.bz-trust {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 22px 12px !important;
	}
	.bz-trust > .wp-block-column { margin: 0 !important; }
	.bz-trust .bz-ic { width: 40px; height: 40px; }
	.bz-trust .bz-ic::after { inset: 10px; }
}

/* The SEO box had a hard-coded pink background; follow the brand's soft tint. */
.bz-seo-about.has-background { background-color: var(--bz-soft) !important; }

/* SEO text: the keyword line was tiny and cramped. */
p.vp-popular { font-size: 14px !important; color: #6c6672; line-height: 2; }
p.vp-popular strong { color: var(--bz-ink); margin-right: 6px; }

/* ---------- Content pages ---------- */
.page .wp-block-post-content .wp-block-details {
	border: 1px solid var(--vp-line);
	border-radius: 12px;
	padding: 14px 18px;
	margin: 0 0 10px;
}
.page .wp-block-post-content .wp-block-details summary { font-weight: 600; cursor: pointer; }
.page .wp-block-post-content .wp-block-details[open] summary { color: var(--bz-brand); margin-bottom: 6px; }
.page .wp-block-post-content .vp-contact { font-size: 1.05rem; margin: 18px 0; }
.page .wp-block-post-content .vp-contact .vp-ci { background: var(--bz-brand); }
.woocommerce-form-track-order input.input-text { border-radius: 10px; padding: 10px 12px; }

/* ---------- Empty cart ---------- */
.wp-block-woocommerce-empty-cart-block .vp-empty-title { margin-top: 24px; }
