/* =====================================================================
   Half Skull — Material 3 Expressive layer
   Loads after halfskull-cards / -shop / -product and restyles on top of
   them: one token set, big friendly shapes, springy motion, bold display
   type. The logo palette stays the brand — red, ink, white.
   ===================================================================== */

:root {
	--hs-font-display: "Bricolage Grotesque", "Poppins", system-ui, sans-serif;
	--hs-font-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* colour roles */
	--m3-primary: #e3001c;            /* logo red, one notch deeper so white text passes contrast */
	--m3-primary-hover: #c20018;
	--m3-on-primary: #ffffff;
	--m3-primary-container: #ffe1e4;
	--m3-on-primary-container: #6e000f;
	--m3-ink: #131316;
	--m3-ink-hover: #2a2a30;
	--m3-surface: #fbfaf8;
	--m3-surface-lowest: #ffffff;
	--m3-surface-low: #f6f4f1;
	--m3-surface-container: #f0ede9;
	--m3-surface-high: #e8e4df;
	--m3-on-surface: #131316;
	--m3-on-surface-variant: #55575d;
	--m3-outline: #8d9096;
	--m3-outline-variant: #e3e0dc;
	--m3-success: #0a7d4a;
	--m3-success-container: #dcf5e8;

	/* shape scale */
	--m3-r-xs: 8px;
	--m3-r-sm: 12px;
	--m3-r-md: 16px;
	--m3-r-lg: 20px;
	--m3-r-xl: 28px;
	--m3-r-2xl: 36px;
	--m3-r-full: 999px;

	/* motion */
	--m3-spring: cubic-bezier(.34, 1.56, .64, 1);
	--m3-ease: cubic-bezier(.2, 0, 0, 1);
	--m3-fast: .2s;
	--m3-med: .35s;
	--m3-slow: .5s;

	/* elevation */
	--m3-e1: 0 1px 2px rgba(19, 19, 22, .06), 0 1px 3px 1px rgba(19, 19, 22, .04);
	--m3-e2: 0 8px 20px -8px rgba(19, 19, 22, .18);
	--m3-e3: 0 20px 44px -16px rgba(19, 19, 22, .32);

	/* the older sheets read these — point them at the new roles */
	--hs-red-tint: var(--m3-primary-container);
	--hs-ink: var(--m3-ink);
	--hs-line: var(--m3-outline-variant);
	--hs-surface-2: var(--m3-surface-low);
	--hs-r-sm: var(--m3-r-sm);
	--hs-r-md: var(--m3-r-lg);
	--hs-r-lg: var(--m3-r-xl);
}

/* =====================================================================
   Base
   ===================================================================== */

body {
	background: var(--m3-surface);
	color: var(--m3-on-surface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: var(--hs-red);
	color: #fff;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--hs-red);
	outline-offset: 2px;
}

.product_title,
.page-title,
.woocommerce-products-header__title,
.heading-tbay-title .title,
.wc-block-components-title,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--hs-font-display);
	letter-spacing: -.02em;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* =====================================================================
   Home — hero banner + three posters under it
   The posters sit in inner section 1f5aab3 (columns 38016e9, 3285662,
   9ffdd31). Their Elementor padding was lopsided (15px right on the first
   column, 15px left on the other two), so the gaps read 30px then 15px.
   The row is now a three-up grid on the hero's own 1290px line with one
   16px gap, large rounded corners, and a swipe row on phones.
   ===================================================================== */

.home .elementor-element-a508a6f .elementor-widget-container,
.home .elementor-element-a508a6f img {
	border-radius: var(--m3-r-2xl);
}

.home .elementor-element-1f5aab3 {
	margin-top: 16px !important;
}

.home .elementor-element-1f5aab3 > .elementor-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 !important; /* the theme pads boxed containers 15px a side; the hero above isn't */
}

.home .elementor-element-1f5aab3 > .elementor-container > .elementor-column {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
}

.home .elementor-element-1f5aab3 .elementor-widget-wrap {
	padding: 0 !important;
}

.home .elementor-element-1f5aab3 .elementor-widget-image,
.home .elementor-element-1f5aab3 .elementor-widget-image > .elementor-widget-container {
	width: 100%;
	margin: 0;
}

.home .elementor-element-1f5aab3 .elementor-widget-image a {
	position: relative;
	display: block;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-container);
	box-shadow: var(--m3-e1);
	transition:
		transform var(--m3-slow) var(--m3-spring),
		border-radius var(--m3-slow) var(--m3-spring),
		box-shadow var(--m3-med) var(--m3-ease);
}

.home .elementor-element-1f5aab3 .elementor-widget-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
	transition: transform .8s var(--m3-ease);
}

@media (hover: hover) {
	.home .elementor-element-1f5aab3 .elementor-widget-image a:hover {
		transform: translateY(-6px);
		border-radius: 44px;
		box-shadow: var(--m3-e3);
	}

	.home .elementor-element-1f5aab3 .elementor-widget-image a:hover img {
		transform: scale(1.05);
	}
}

.home .elementor-element-1f5aab3 .elementor-widget-image a:active {
	transform: scale(.98);
}

@media (max-width: 991px) {
	.home .elementor-element-a508a6f .elementor-widget-container,
	.home .elementor-element-a508a6f img {
		border-radius: var(--m3-r-xl);
	}

	.home .elementor-element-1f5aab3 > .elementor-container {
		gap: 12px;
		padding: 0 15px;
	}

	.home .elementor-element-1f5aab3 .elementor-widget-image a {
		border-radius: var(--m3-r-lg);
	}
}

/* phones: one swipeable row with the next poster peeking in */
@media (max-width: 767px) {
	.home .elementor-element-a508a6f .elementor-widget-container,
	.home .elementor-element-a508a6f img {
		border-radius: var(--m3-r-lg);
	}

	/* the column already pads 15px; the extra 15px margin from the older
	   sheet left the banner 30px in while the posters start at 15px */
	.home .elementor-element-a508a6f {
		margin-left: 0;
		margin-right: 0;
	}

	.home .elementor-element-1f5aab3 {
		margin-top: 12px !important;
	}

	.home .elementor-element-1f5aab3 > .elementor-container {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
		padding: 0 15px 4px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 15px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.home .elementor-element-1f5aab3 > .elementor-container::-webkit-scrollbar {
		display: none;
	}

	.home .elementor-element-1f5aab3 > .elementor-container > .elementor-column {
		flex: 0 0 80% !important;
		width: 80% !important;
		scroll-snap-align: start;
	}
}

/* =====================================================================
   Product card
   ===================================================================== */

.product-block.grid {
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
	transition:
		transform var(--m3-slow) var(--m3-spring),
		box-shadow var(--m3-med) var(--m3-ease);
}

@media (hover: hover) {
	.product-block.grid:hover {
		border-color: transparent;
		transform: translateY(-4px);
		box-shadow: 0 0 0 1px transparent, var(--m3-e3);
	}
}

.product-block.grid .product-content {
	padding: 8px 8px 0;
}

.product-block.grid figure.image,
.hs-slider {
	border-radius: var(--m3-r-lg);
}

.product-block.grid .hs-pill {
	border: 0;
	border-radius: var(--m3-r-full);
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(6px);
	box-shadow: var(--m3-e1);
	font-weight: 600;
	color: var(--m3-on-surface);
}

.hs-badge {
	border-radius: var(--m3-r-full);
	padding: 5px 10px;
	font-family: var(--hs-font-display);
	letter-spacing: .02em;
	box-shadow: none;
}

.hs-badge.is-red { background: var(--m3-primary); }

.product-block.grid .caption {
	padding: 10px 12px 12px;
}

.product-block.grid .hs-price .hs-now,
.product-block.grid .hs-price .hs-now .amount {
	font-family: var(--hs-font-display);
	font-weight: 800;
	letter-spacing: -.01em;
}

.product-block.grid .hs-price .hs-off {
	color: var(--m3-primary);
	font-weight: 700;
}

.product-block.grid .hs-ship {
	border-radius: var(--m3-r-full);
	background: var(--m3-success-container);
	color: var(--m3-success);
	font-weight: 600;
}

.product-block.grid .caption h3.name a {
	color: var(--m3-on-surface-variant);
}

/* call to action: a pill inside the card instead of a flat strip */
.product-block.grid .hs-atc {
	margin-top: auto;
	padding: 0 10px 10px;
	border-top: 0;
}

.product-block.grid .hs-atc .hs-qb-open,
.product-block.grid .hs-atc a.button,
.product-block.grid .hs-atc a.added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 11px 14px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
	font-family: var(--hs-font-display);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color var(--m3-fast) ease,
		border-radius var(--m3-med) var(--m3-spring),
		transform var(--m3-med) var(--m3-spring);
}

.product-block.grid .hs-atc .hs-qb-open:hover,
.product-block.grid .hs-atc a.button:hover {
	background: var(--m3-primary);
	color: #fff;
}

.product-block.grid .hs-atc .hs-qb-open:active,
.product-block.grid .hs-atc a.button:active {
	border-radius: var(--m3-r-md);
	transform: scale(.96);
}

.product-block.grid .hs-atc a.added_to_cart {
	margin-top: 6px;
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
	border-top: 0;
}

@media (max-width: 767px) {
	.product-block.grid { border-radius: var(--m3-r-lg); }
	.product-block.grid .product-content { padding: 6px 6px 0; }
	.product-block.grid figure.image,
	.hs-slider { border-radius: var(--m3-r-md); }
	.product-block.grid .caption { padding: 8px 8px 10px; }
	.product-block.grid .hs-atc { padding: 0 6px 6px; }

	.product-block.grid .hs-atc .hs-qb-open,
	.product-block.grid .hs-atc a.button {
		min-height: 40px;
		padding: 9px 8px;
		font-size: 12px;
	}
}

/* =====================================================================
   Quick-buy sheet (halfskull.js)
   Bottom sheet on phones, a floating dialog from tablet up.
   ===================================================================== */

html.hs-qb-lock,
html.hs-qb-lock body {
	overflow: hidden;
}

.hs-qb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.hs-qb[hidden] { display: none !important; }

.hs-qb__scrim {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 12, .5);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity var(--m3-med) var(--m3-ease);
}

.hs-qb__panel {
	position: relative;
	width: 100%;
	max-width: 520px;
	max-height: 88vh;
	overflow-y: auto;
	padding: 10px 20px calc(20px + env(safe-area-inset-bottom));
	border-radius: var(--m3-r-2xl) var(--m3-r-2xl) 0 0;
	background: var(--m3-surface-lowest);
	box-shadow: var(--m3-e3);
	transform: translateY(100%);
	transition: transform var(--m3-slow) var(--m3-spring);
}

.hs-qb.is-open .hs-qb__scrim { opacity: 1; }
.hs-qb.is-open .hs-qb__panel { transform: none; }

.hs-qb__handle {
	display: block;
	width: 36px;
	height: 4px;
	margin: 0 auto 14px;
	border-radius: var(--m3-r-full);
	background: var(--m3-outline-variant);
}

.hs-qb__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-low);
	color: var(--m3-on-surface);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

.hs-qb__close:hover { background: var(--m3-surface-container); transform: rotate(90deg); }

.hs-qb__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 48px;
}

.hs-qb__img {
	flex: 0 0 72px;
	width: 72px;
	height: 92px;
	border-radius: var(--m3-r-md);
	background: var(--m3-surface-low);
	object-fit: cover;
}

.hs-qb__img[hidden] { display: none; }

.hs-qb__meta { min-width: 0; }

.hs-qb__title {
	margin: 0 0 4px;
	font-family: var(--hs-font-display);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--m3-on-surface);
}

.hs-qb__price {
	margin: 0;
	font-family: var(--hs-font-display);
	font-size: 20px;
	font-weight: 800;
	color: var(--m3-on-surface);
}

.hs-qb__sizes-wrap[hidden] { display: none; }

.hs-qb__label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin: 22px 0 10px;
}

.hs-qb__label span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--m3-on-surface-variant);
}

.hs-qb__more {
	font-size: 13px;
	font-weight: 600;
	color: var(--m3-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hs-qb__sizes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.hs-qb__chip {
	min-width: 58px;
	height: 50px;
	padding: 0 16px;
	border: 1.5px solid var(--m3-outline-variant);
	border-radius: var(--m3-r-md);
	background: var(--m3-surface-lowest);
	color: var(--m3-on-surface);
	font-family: var(--hs-font-display);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition:
		border-radius var(--m3-med) var(--m3-spring),
		transform var(--m3-med) var(--m3-spring),
		background-color var(--m3-fast) ease,
		border-color var(--m3-fast) ease,
		color var(--m3-fast) ease;
}

.hs-qb__chip:hover:not(:disabled) { border-color: var(--m3-ink); }
.hs-qb__chip:active:not(:disabled) { transform: scale(.92); }

.hs-qb__chip[aria-checked="true"] {
	border-color: var(--m3-ink);
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
}

.hs-qb__chip:disabled {
	border-style: dashed;
	background: var(--m3-surface-low);
	color: var(--m3-outline);
	text-decoration: line-through;
	cursor: not-allowed;
}

.hs-qb__sizes.is-shake { animation: hs-shake .42s var(--m3-ease); }

@keyframes hs-shake {
	0%, 100% { transform: translateX(0); }
	20% { transform: translateX(-8px); }
	40% { transform: translateX(7px); }
	60% { transform: translateX(-5px); }
	80% { transform: translateX(3px); }
}

.hs-qb__msg {
	min-height: 18px;
	margin: 12px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--m3-primary);
}

.hs-qb__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 10px;
}

.hs-qb__btn {
	min-height: 56px;
	padding: 14px 18px;
	border: 0;
	border-radius: var(--m3-r-full);
	font-family: var(--hs-font-display);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background-color var(--m3-fast) ease,
		border-radius var(--m3-med) var(--m3-spring),
		transform var(--m3-med) var(--m3-spring),
		opacity var(--m3-fast) ease;
}

.hs-qb__btn:active { border-radius: var(--m3-r-md); transform: scale(.97); }

.hs-qb__btn.is-tonal {
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
}

.hs-qb__btn.is-tonal:hover { background: #ffd0d6; }

.hs-qb__btn.is-filled {
	background: var(--m3-primary);
	color: var(--m3-on-primary);
	box-shadow: 0 12px 26px -10px rgba(227, 0, 28, .6);
}

.hs-qb__btn.is-filled:hover { background: var(--m3-primary-hover); }

.hs-qb__btn.is-loading {
	opacity: .65;
	cursor: progress;
}

@media (min-width: 768px) {
	.hs-qb {
		align-items: center;
		padding: 24px;
	}

	.hs-qb__panel {
		padding: 24px;
		border-radius: var(--m3-r-2xl);
		opacity: 0;
		transform: translateY(24px) scale(.94);
		transition:
			transform var(--m3-slow) var(--m3-spring),
			opacity .25s var(--m3-ease);
	}

	.hs-qb.is-open .hs-qb__panel {
		opacity: 1;
		transform: none;
	}

	.hs-qb__handle { display: none; }
}

/* snackbar */
.hs-toast {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 100001;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: calc(100vw - 32px);
	min-height: 52px;
	padding: 6px 6px 6px 20px;
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	box-shadow: var(--m3-e3);
	transform: translate(-50%, 160%);
	transition: transform var(--m3-slow) var(--m3-spring);
}

.hs-toast.is-in { transform: translate(-50%, 0); }

.hs-toast a {
	padding: 10px 18px;
	border-radius: var(--m3-r-full);
	background: var(--m3-primary);
	color: #fff;
	font-weight: 700;
}

.hs-toast a:hover { background: var(--m3-primary-hover); color: #fff; }

/* clear the theme's bottom tab bar on phones and tablets */
@media (max-width: 1199px) {
	.hs-toast { bottom: calc(80px + env(safe-area-inset-bottom)); }
}


/* =====================================================================
   Icon set (masks) — shared by the account nav and dashboard tiles
   ===================================================================== */

:root {
	--hs-i-dashboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2'/%3E%3C/svg%3E");
	--hs-i-orders: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
	--hs-i-downloads: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M8 11l4 4 4-4M5 20h14'/%3E%3C/svg%3E");
	--hs-i-wishlist: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E");
	--hs-i-address: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.3-6-11a6 6 0 0 1 12 0c0 5.7-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	--hs-i-account: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E");
	--hs-i-logout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E");
	--hs-i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
	--hs-i-bolt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3L5 14h6l-1 7 8-11h-6l1-7z'/%3E%3C/svg%3E");
}

/* =====================================================================
   Announcement marquee
   ===================================================================== */

.hs-marquee {
	background: var(--m3-ink);
	border-bottom: 0;
}

.hs-marquee__track {
	padding: 10px 0;
	animation-duration: 40s;
}

.hs-marquee__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-around;
	min-width: 100vw;
}

.hs-marquee__item {
	padding: 0 26px;
	font-family: var(--hs-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
}

.hs-marquee__item::after {
	content: "\2726";
	width: auto;
	height: auto;
	margin-left: 26px;
	border-radius: 0;
	background: none;
	color: var(--hs-red);
	font-size: 12px;
	line-height: 1;
}

@media (max-width: 767px) {
	.hs-marquee__track { padding: 8px 0; animation-duration: 30s; }
	.hs-marquee__item { padding: 0 16px; font-size: 11px; }
	.hs-marquee__item::after { margin-left: 16px; width: auto; height: auto; font-size: 10px; }
}

/* =====================================================================
   Desktop header (Elementor header template 3493)
   ===================================================================== */

#tbay-header {
	background: var(--m3-surface-lowest);
}

#tbay-header .elementor-element-7b10ad2f {
	border-top: 1px solid var(--m3-outline-variant);
}

/* search: filled pill */
#tbay-header .tbay-search-form .input-group {
	display: flex;
	align-items: center;
	min-height: 48px;
	width: 300px;
	max-width: 100%;
	padding: 0 8px 0 14px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
	transition: background-color var(--m3-fast) ease, box-shadow var(--m3-fast) ease, width var(--m3-slow) var(--m3-spring);
}

#tbay-header .tbay-search-form .input-group:focus-within {
	width: 360px;
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 2px var(--m3-ink);
}

#tbay-header .tbay-search-form input.tbay-search {
	height: 48px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 14px;
	color: var(--m3-on-surface);
}

#tbay-header .tbay-search-form .button-group,
#tbay-header .tbay-search-form .input-group-addon {
	border: 0;
	background: transparent;
}

/* wordmark */
#tbay-header .elementor-element-3a26ae6 .heading-tbay-title,
#tbay-header .elementor-element-3a26ae6 .heading-tbay-title .title {
	font-family: var(--hs-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: -.035em !important;
	text-transform: uppercase;
	color: var(--m3-ink) !important;
}

/* icon buttons with a state layer */
#tbay-header .header-icon > a,
#tbay-header .tbay-element-account a,
#tbay-header .top-wishlist a,
#tbay-header .tbay-topcart .dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 46px;
	height: 46px;
	padding: 0 10px;
	border-radius: var(--m3-r-full);
	color: var(--m3-ink);
	transition: background-color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

#tbay-header .header-icon > a:hover,
#tbay-header .tbay-element-account a:hover,
#tbay-header .top-wishlist a:hover,
#tbay-header .tbay-topcart .dropdown-toggle:hover {
	background: var(--m3-surface-container);
}

#tbay-header .header-icon > a:active,
#tbay-header .tbay-topcart .dropdown-toggle:active {
	transform: scale(.92);
}

#tbay-header .mini-cart-items,
#tbay-header .count_wishlist,
.topbar-device-mobile .mini-cart-items,
.footer-device-mobile .count {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: var(--m3-r-full);
	background: var(--hs-red) !important;
	color: #fff !important;
	font-family: var(--hs-font-display);
	font-size: 10px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
}

/* main menu: pill links, the current page as a filled pill */
#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li > a {
	padding: 9px 18px !important;
	border-radius: var(--m3-r-full);
	font-size: 15px;
	font-weight: 600;
	color: var(--m3-on-surface-variant);
	transition: background-color var(--m3-fast) ease, color var(--m3-fast) ease;
}

#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li > a:hover,
#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li:hover > a {
	background: var(--m3-surface-container);
	color: var(--m3-ink);
}

#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li.active > a,
#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li.current-menu-item > a {
	background: var(--m3-ink);
	color: #fff;
}

/* the theme's underline for the current item; the filled pill replaces it */
#tbay-header .elementor-element-1016cf8 .elementor-nav-menu > li > a::after {
	display: none !important;
}

#tbay-header .elementor-element-7b10ad2f > .elementor-container {
	padding-top: 6px;
	padding-bottom: 6px;
}

#tbay-header .tbay-search-form .button-group button,
#tbay-header .tbay-search-form .button-group .button-search {
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: transparent !important;
	color: var(--m3-ink) !important;
	box-shadow: none !important;
}

#tbay-header .tbay-search-form .button-group button:hover { background: var(--m3-surface-high) !important; }

#tbay-header .elementor-element-1016cf8 .dropdown-menu {
	padding: 8px;
	border: 0;
	border-radius: var(--m3-r-lg);
	background: var(--m3-surface-lowest);
	box-shadow: var(--m3-e3);
}

#tbay-header .elementor-element-1016cf8 .dropdown-menu a {
	border-radius: var(--m3-r-sm);
}

#tbay-header .elementor-element-1016cf8 .dropdown-menu a:hover {
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
}

/* =====================================================================
   Phone / tablet bars
   ===================================================================== */

.topbar-device-mobile {
	background: var(--m3-surface-lowest);
	box-shadow: 0 1px 0 var(--m3-outline-variant);
}

.topbar-device-mobile .search-device .input-group {
	align-items: center;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
	overflow: hidden;
}

.topbar-device-mobile .search-device input.tbay-search {
	height: 44px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 16px; /* no iOS zoom */
}

.topbar-device-mobile .mmenu-open,
.topbar-device-mobile .mini-cart {
	border-radius: var(--m3-r-full);
}

/* bottom navigation bar, M3 style: active destination gets a pill indicator */
.footer-device-mobile {
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(14px);
	box-shadow: 0 -1px 0 var(--m3-outline-variant), 0 -10px 24px -18px rgba(19, 19, 22, .35);
	padding-bottom: env(safe-area-inset-bottom);
}

.footer-device-mobile .menu-icon a {
	color: var(--m3-on-surface-variant);
}

.footer-device-mobile .menu-icon-child {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 8px 0 6px;
	font-size: 11px;
	font-weight: 600;
}

.footer-device-mobile .menu-icon-child i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 30px;
	border-radius: var(--m3-r-full);
	font-size: 19px;
	transition: background-color var(--m3-med) var(--m3-ease), width var(--m3-med) var(--m3-spring);
}

.footer-device-mobile .menu-icon a.active,
.footer-device-mobile .menu-icon a:hover {
	color: var(--m3-ink);
}

.footer-device-mobile .menu-icon a.active .menu-icon-child i {
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
}

/* =====================================================================
   Home — section headings, tabs, carousels, testimonials, blog
   ===================================================================== */

.heading-tbay-title .title {
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.05;
	color: var(--m3-ink);
}

.home .heading-tbay-title .title {
	font-size: clamp(26px, 3vw, 42px);
}

.home .elementor-element-1432b96 .heading-tbay-title {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.heading-tbay-title .subtitle {
	display: inline-flex;
	order: -1;
	margin: 0 0 10px;
	padding: 5px 12px;
	border-radius: var(--m3-r-full);
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
	font-family: var(--hs-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* tab rows become a segmented pill switcher */
.tbay-element ul.tabs-list.nav-tabs {
	display: inline-flex;
	flex-wrap: nowrap;
	gap: 4px;
	max-width: 100%;
	padding: 4px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
	overflow-x: auto;
	scrollbar-width: none;
}

.tbay-element ul.tabs-list.nav-tabs::-webkit-scrollbar { display: none; }

.tbay-element ul.tabs-list.nav-tabs > li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
}

.tbay-element ul.tabs-list.nav-tabs > li > a {
	display: block;
	margin: 0;
	padding: 10px 20px;
	border: 0 !important;
	border-radius: var(--m3-r-full);
	background: transparent;
	color: var(--m3-on-surface-variant);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color var(--m3-fast) ease, color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

.tbay-element ul.tabs-list.nav-tabs > li > a::before,
.tbay-element ul.tabs-list.nav-tabs > li > a::after { display: none !important; }

.tbay-element ul.tabs-list.nav-tabs > li > a:hover { color: var(--m3-ink); background: rgba(19, 19, 22, .06); }
.tbay-element ul.tabs-list.nav-tabs > li > a:active { transform: scale(.95); }

.tbay-element ul.tabs-list.nav-tabs > li > a.active {
	background: var(--m3-ink);
	color: #fff;
}

/* a single tab is really a heading: show it as one */
.tbay-element ul.tabs-list.nav-tabs:has(> li:only-child) {
	padding: 0;
	background: none;
	border-radius: 0;
}

.tbay-element ul.tabs-list.nav-tabs:has(> li:only-child) > li > a,
.tbay-element ul.tabs-list.nav-tabs:has(> li:only-child) > li > a.active {
	padding: 0;
	background: none;
	color: var(--m3-ink);
	font-family: var(--hs-font-display);
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.05;
}

/* carousel arrows */
.tbay-element .slick-arrow,
.tbay-element .owl-nav > button {
	width: 48px !important;
	height: 48px !important;
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: var(--m3-surface-lowest) !important;
	color: var(--m3-ink) !important;
	box-shadow: var(--m3-e2) !important;
	transition: background-color var(--m3-fast) ease, color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

.tbay-element .slick-arrow:hover,
.tbay-element .owl-nav > button:hover {
	background: var(--m3-ink) !important;
	color: #fff !important;
}

/* "All products" and similar */
.readmore-wrapper a.btn.show-all {
	min-height: 54px;
	padding: 15px 34px;
	border: 2px solid var(--m3-ink);
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-lowest);
	font-family: var(--hs-font-display);
	font-size: 14px;
	font-weight: 800;
	box-shadow: 4px 4px 0 var(--m3-ink);
	transition: transform var(--m3-med) var(--m3-spring), box-shadow var(--m3-med) var(--m3-spring), background-color var(--m3-fast) ease, color var(--m3-fast) ease;
}

.readmore-wrapper a.btn.show-all:hover,
.readmore-wrapper a.btn.show-all:focus {
	background: var(--hs-red);
	border-color: var(--m3-ink);
	color: #fff;
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--m3-ink);
}

.readmore-wrapper a.btn.show-all:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--m3-ink);
}

/* testimonials: the demo background photo is replaced by a big ink card */
.home .elementor-element-9adbbae {
	width: auto !important;
	max-width: 1290px;
	left: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 56px 24px 64px !important;
	border-radius: var(--m3-r-2xl);
	background: radial-gradient(120% 140% at 100% 0%, rgba(255, 2, 37, .35) 0%, rgba(255, 2, 37, 0) 55%), var(--m3-ink) !important;
	overflow: hidden;
}

.home .elementor-element-9adbbae > .elementor-background-overlay { display: none; }

.home .elementor-element-9adbbae .testimonials-body { color: #fff; }

.home .elementor-element-9adbbae .testimonial-subtitle {
	display: inline-block;
	margin-bottom: 14px;
	padding: 5px 12px;
	border-radius: var(--m3-r-full);
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.home .elementor-element-9adbbae .testimonial-title {
	display: block;
	color: #fff !important;
	font-family: var(--hs-font-display) !important;
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.1;
}

.home .elementor-element-9adbbae .excerpt {
	color: rgba(255, 255, 255, .82) !important;
}

.home .elementor-element-9adbbae .testimonial-name {
	display: inline-block;
	margin-top: 10px;
	color: #ff8a98 !important;
	font-weight: 700;
}

.home .elementor-element-9adbbae .testimonial-icon i { color: var(--hs-red) !important; }

@media (max-width: 1320px) {
	.home .elementor-element-9adbbae {
		margin-left: 15px !important;
		margin-right: 15px !important;
	}
}

@media (max-width: 767px) {
	.home .elementor-element-9adbbae {
		padding: 36px 18px 44px !important;
		border-radius: var(--m3-r-xl);
	}
}

/* blog cards */
.tbay-element-posts-grid .item-post {
	overflow: hidden;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
	transition: transform var(--m3-slow) var(--m3-spring), box-shadow var(--m3-med) var(--m3-ease);
}

.tbay-element-posts-grid .item-post:hover {
	transform: translateY(-4px);
	box-shadow: 0 0 0 1px transparent, var(--m3-e3);
}

.tbay-element-posts-grid .entry-thumb {
	margin: 8px 8px 0;
	overflow: hidden;
	border-radius: var(--m3-r-lg);
}

.tbay-element-posts-grid .entry-header { padding: 16px 18px 20px; }

.tbay-element-posts-grid .entry-title a {
	font-family: var(--hs-font-display);
	font-weight: 700;
	color: var(--m3-ink);
}

.tbay-element-posts-grid .entry-category a {
	display: inline-block;
	padding: 3px 10px;
	border-radius: var(--m3-r-full);
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
	font-size: 11px;
	font-weight: 700;
}

.tbay-element-posts-grid a.readmore {
	display: inline-flex;
	margin-top: 10px;
	padding: 8px 16px;
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.tbay-element-posts-grid a.readmore:hover { background: var(--hs-red); color: #fff; }

/* =====================================================================
   Footer — dark, rounded top
   ===================================================================== */

#tbay-footer {
	margin-top: 48px;
	border-radius: var(--m3-r-2xl) var(--m3-r-2xl) 0 0;
	background: var(--m3-ink) !important;
	color: rgba(255, 255, 255, .72);
	overflow: hidden;
}

#tbay-footer .elementor-section,
#tbay-footer .e-con {
	background-color: transparent !important;
}

#tbay-footer :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, .heading-tbay-title, .widget-title) {
	color: #fff !important;
	font-family: var(--hs-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: -.01em;
}

#tbay-footer :is(p, li, span, .elementor-icon-list-text) {
	color: rgba(255, 255, 255, .72) !important;
}

#tbay-footer a {
	color: rgba(255, 255, 255, .86) !important;
	transition: color var(--m3-fast) ease;
}

#tbay-footer a:hover { color: #ff8a98 !important; }

#tbay-footer .elementor-element-ebb0e55 {
	border-top: 1px solid rgba(255, 255, 255, .1);
}

#tbay-footer .elementor-social-icon {
	border-radius: var(--m3-r-full) !important;
	background: rgba(255, 255, 255, .1) !important;
	transition: background-color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

#tbay-footer .elementor-social-icon:hover {
	background: var(--hs-red) !important;
	transform: translateY(-3px) rotate(-6deg);
}

#tbay-footer .elementor-social-icon i,
#tbay-footer .elementor-social-icon svg { color: #fff !important; fill: #fff !important; }

#tbay-footer input[type="email"],
#tbay-footer input[type="text"] {
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: rgba(255, 255, 255, .1) !important;
	color: #fff !important;
}

#tbay-footer button,
#tbay-footer input[type="submit"] {
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: var(--hs-red) !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	#tbay-footer {
		margin-top: 32px;
		border-radius: var(--m3-r-xl) var(--m3-r-xl) 0 0;
	}
}

/* =====================================================================
   Shop / category archive
   ===================================================================== */

.woocommerce-products-header__title,
.archive-shop .page-title {
	font-size: clamp(28px, 3.4vw, 46px);
	font-weight: 800;
}

.archive-shop .tbay-filter .main-filter {
	padding: 8px 8px 8px 18px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
}

.archive-shop .display-mode-btn,
.archive-shop .button-filter-btn {
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: var(--m3-surface-lowest);
}

.archive-shop .display-mode-btn.active { background: var(--m3-ink); }

.archive-shop .woocommerce-ordering select,
.archive-shop .SumoSelect > .CaptionCont {
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background-color: var(--m3-surface-lowest) !important;
}

.tbay-sidebar-shop .widget {
	padding: 20px;
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
}

.tbay-sidebar-shop .widget-title,
.tbay-sidebar-shop .widgettitle {
	font-family: var(--hs-font-display);
	font-size: 14px;
	letter-spacing: .04em;
}

.tbay-sidebar-shop .woof_swatches_container .woof_swathes_term_size,
.tbay-sidebar-shop .woof_list_size li span {
	border-radius: var(--m3-r-md) !important;
}

.tbay-pagination ul li a,
.tbay-pagination ul li span,
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
	font-family: var(--hs-font-display);
}

.tbay-pagination ul li span.current,
.woocommerce-pagination ul li span.current {
	background: var(--m3-ink);
	color: #fff;
}

@media (max-width: 991px) {
	.archive-shop .tbay-filter .main-filter {
		border-radius: var(--m3-r-lg);
		background: rgba(240, 237, 233, .95);
	}
}

/* =====================================================================
   Product page — Veirdo-style buy column with an M3 Expressive finish
   price → title → size → actions → delivery → highlights → details →
   trust row, gallery as a two-up photo grid beside it.
   ===================================================================== */

@media (min-width: 992px) {
	.hs-pdp .single-main-content > .row > .image-mains {
		flex: 0 0 58%;
		max-width: 58%;
	}

	.hs-pdp .single-main-content > .row > .information {
		flex: 0 0 42%;
		max-width: 42%;
		top: 24px;
		padding-left: 40px;
	}
}

.hs-gallery__grid { gap: 12px; }

.hs-gallery__item {
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-container);
}

@media (max-width: 767px) {
	.hs-gallery__grid { border-radius: 0 0 var(--m3-r-xl) var(--m3-r-xl); }
	.hs-gallery__item { border-radius: 0; }
}

.hs-price-block .hs-now {
	font-family: var(--hs-font-display);
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -.03em;
}

.hs-price-block .hs-off {
	padding: 4px 11px;
	border-radius: var(--m3-r-full);
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
	font-size: 14px;
	font-weight: 800;
}

.hs-pdp h1.product_title {
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--m3-ink);
}

.hs-pdp .woocommerce-product-rating {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hs-trust__chip {
	padding: 6px 12px;
	border: 0;
	font-weight: 600;
}

.hs-trust__chip.is-green { background: var(--m3-success-container); color: var(--m3-success); }
.hs-trust__chip.is-red { background: var(--m3-primary-container); color: var(--m3-on-primary-container); }

.hs-section-title,
.hs-pdp .variations .label label {
	font-family: var(--hs-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--m3-ink);
}

/* size chips morph to a pill when chosen */
.hs-pdp li.button-variable-item {
	min-width: 58px;
	height: 50px;
	border: 1.5px solid var(--m3-outline-variant) !important;
	border-radius: var(--m3-r-md) !important;
	background: var(--m3-surface-lowest);
	transition:
		border-radius var(--m3-med) var(--m3-spring),
		transform var(--m3-med) var(--m3-spring),
		background-color var(--m3-fast) ease,
		border-color var(--m3-fast) ease;
}

.hs-pdp li.button-variable-item .variable-item-span {
	font-family: var(--hs-font-display);
	font-size: 15px;
	font-weight: 700;
	line-height: 47px;
}

.hs-pdp li.button-variable-item:hover { border-color: var(--m3-ink) !important; }
.hs-pdp li.button-variable-item:active { transform: scale(.92); }

.hs-pdp li.button-variable-item.selected {
	border-color: var(--m3-ink) !important;
	border-radius: var(--m3-r-full) !important;
	background: var(--m3-ink);
}

.hs-pdp li.button-variable-item.selected .variable-item-span { color: #fff; }

.hs-pdp li.variable-item.disabled,
.hs-pdp li.variable-item.out-of-stock {
	border-style: dashed !important;
	opacity: .5;
}

.hs-pdp li.variable-item.disabled .variable-item-span,
.hs-pdp li.variable-item.out-of-stock .variable-item-span { text-decoration: line-through; }

/* actions: chunky buttons with a hard offset shadow that press flat */
.hs-pdp .quantity input.qty,
.hs-pdp #shop-now .quantity input.qty {
	height: 58px;
	border: 1.5px solid var(--m3-outline-variant);
	border-radius: var(--m3-r-md);
	font-family: var(--hs-font-display);
	font-size: 16px;
}

.hs-pdp #shop-now .single_add_to_cart_button,
.hs-pdp button.single_add_to_cart_button {
	min-height: 58px;
	border: 0;
	border-radius: var(--m3-r-md);
	background: var(--m3-ink);
	color: #fff;
	font-family: var(--hs-font-display);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .03em;
	box-shadow: 4px 4px 0 var(--hs-red);
	transition:
		transform var(--m3-med) var(--m3-spring),
		box-shadow var(--m3-med) var(--m3-spring),
		background-color var(--m3-fast) ease;
}

.hs-pdp #shop-now .single_add_to_cart_button:hover,
.hs-pdp button.single_add_to_cart_button:hover {
	border-color: transparent;
	background: var(--m3-ink-hover);
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--hs-red);
}

.hs-pdp #shop-now .single_add_to_cart_button:active,
.hs-pdp button.single_add_to_cart_button:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--hs-red);
}

.hs-pdp .woocommerce #shop-now.has-buy-now .tbay-buy-now,
.hs-pdp #shop-now .tbay-buy-now {
	min-height: 58px;
	border: 0 !important;
	border-radius: var(--m3-r-md) !important;
	background: var(--m3-primary) !important;
	font-family: var(--hs-font-display);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .03em;
	box-shadow: 4px 4px 0 var(--m3-ink);
	transition:
		transform var(--m3-med) var(--m3-spring),
		box-shadow var(--m3-med) var(--m3-spring),
		background-color var(--m3-fast) ease;
}

.hs-pdp .woocommerce #shop-now.has-buy-now .tbay-buy-now:hover,
.hs-pdp #shop-now .tbay-buy-now:hover {
	background: var(--m3-primary-hover) !important;
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--m3-ink);
}

.hs-pdp .woocommerce #shop-now.has-buy-now .tbay-buy-now:active,
.hs-pdp #shop-now .tbay-buy-now:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--m3-ink);
}

.hs-pdp #shop-now .group-button .tbay-wishlist a,
.hs-pdp #shop-now .group-button > div {
	width: 58px;
	height: 58px;
	border: 1.5px solid var(--m3-outline-variant);
	border-radius: var(--m3-r-md);
	transition: border-radius var(--m3-med) var(--m3-spring), border-color var(--m3-fast) ease, color var(--m3-fast) ease;
}

.hs-pdp #shop-now .group-button .tbay-wishlist a:hover { border-radius: var(--m3-r-full); }

/* delivery box */
.hs-pdp .summary > .hs-pincode {
	padding: 16px;
	border-radius: var(--m3-r-lg);
	background: var(--m3-surface-low);
}

.hs-pdp #shiprocket_pincode_check {
	height: 48px;
	border: 1.5px solid var(--m3-outline-variant);
	border-radius: var(--m3-r-full);
	padding: 0 18px;
}

.hs-pdp #check_pincode {
	height: 48px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
	padding: 0 20px;
}

.hs-pdp #check_pincode:hover { background: var(--hs-red); }

/* highlights as tonal tiles */
.hs-highlights__grid {
	gap: 8px;
}

.hs-highlights__item {
	padding: 12px 14px;
	border: 0;
	border-radius: var(--m3-r-md);
	background: var(--m3-surface-low);
}

/* details accordions as cards */
.hs-accordions {
	display: grid;
	gap: 8px;
	border-top: 0;
}

.hs-acc {
	padding: 0 18px;
	border: 0;
	border-radius: var(--m3-r-lg);
	background: var(--m3-surface-low);
	transition: background-color var(--m3-med) var(--m3-ease), box-shadow var(--m3-med) var(--m3-ease), border-radius var(--m3-med) var(--m3-spring);
}

.hs-acc.is-open {
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1.5px var(--m3-outline-variant);
}

.hs-acc-head__text { font-family: var(--hs-font-display); font-size: 15px; font-weight: 700; }

.hs-acc-head__sign {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
	transition: transform var(--m3-med) var(--m3-spring), background-color var(--m3-fast) ease;
}

.hs-acc-head__sign::before,
.hs-acc-head__sign::after { width: 12px; }

.hs-acc.is-open .hs-acc-head__sign {
	background: var(--m3-ink);
	transform: rotate(180deg);
}

.hs-acc.is-open .hs-acc-head__sign::before { background: #fff; }

/* trust row: an ink strip */
.hs-badges {
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-ink);
	padding: 18px 12px;
}

.hs-badges__label { color: #fff; }

/* phones: floating two-button bar */
@media (max-width: 991px) {
	.hs-pdp .mobile-btn-cart-click {
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .95);
		backdrop-filter: blur(14px);
		box-shadow: 0 -1px 0 var(--m3-outline-variant), 0 -12px 28px -18px rgba(19, 19, 22, .4);
	}

	.hs-pdp .mobile-btn-cart-click > div {
		flex: 1 1 0;
		height: 52px !important;
		border-radius: var(--m3-r-full) !important;
		font-family: var(--hs-font-display);
		font-size: 14px !important;
		font-weight: 800 !important;
		box-shadow: none;
		transition: transform var(--m3-med) var(--m3-spring), border-radius var(--m3-med) var(--m3-spring);
	}

	.hs-pdp .mobile-btn-cart-click > div:active {
		border-radius: var(--m3-r-md) !important;
		transform: scale(.97);
	}

	.hs-pdp .hs-badges { border-radius: var(--m3-r-xl); margin-left: 16px; margin-right: 16px; }
}

.hs-pdp .related > h2,
.hs-pdp .up-sells > h2 {
	font-family: var(--hs-font-display);
	font-size: clamp(22px, 2.6vw, 34px);
	font-weight: 800;
	letter-spacing: -.02em;
}

.hs-pdp .woocommerce-tabs ul.tabs {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
}

.hs-pdp .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 18px;
	border-radius: var(--m3-r-full);
}

.hs-pdp .woocommerce-tabs ul.tabs li.active a {
	background: var(--m3-ink);
	color: #fff;
}

/* =====================================================================
   Cart + checkout (WooCommerce blocks)
   ===================================================================== */

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title {
	font-family: var(--hs-font-display);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 800;
	letter-spacing: -.03em;
}

.wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-checkout__sidebar {
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant), var(--m3-e2);
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border: 0;
	border-radius: var(--m3-r-md);
	background: var(--m3-surface-low);
}

.wc-block-components-product-name {
	font-family: var(--hs-font-display);
	font-weight: 700;
}

.wc-block-components-quantity-selector {
	border: 1.5px solid var(--m3-outline-variant) !important;
	border-radius: var(--m3-r-full) !important;
}

.wc-block-components-sale-badge {
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--hs-font-display);
	font-size: 24px;
	font-weight: 800;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 58px;
	border: 0 !important;
	border-radius: var(--m3-r-md) !important;
	background: var(--m3-primary) !important;
	color: #fff !important;
	font-family: var(--hs-font-display);
	font-size: 16px;
	font-weight: 800;
	box-shadow: 4px 4px 0 var(--m3-ink) !important;
	transition:
		transform var(--m3-med) var(--m3-spring),
		box-shadow var(--m3-med) var(--m3-spring),
		background-color var(--m3-fast) ease !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--m3-primary-hover) !important;
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--m3-ink) !important;
}

.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--m3-ink) !important;
}

.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1.5px solid var(--m3-outline-variant) !important;
	border-radius: var(--m3-r-md) !important;
	background: var(--m3-surface-lowest) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus {
	border-color: var(--m3-ink) !important;
	box-shadow: 0 0 0 4px rgba(255, 2, 37, .12) !important;
}

.wc-block-components-checkout-step__title {
	font-family: var(--hs-font-display);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.01em;
}

.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border: 1.5px solid var(--m3-outline-variant);
	border-radius: var(--m3-r-lg);
	transition: background-color var(--m3-fast) ease, border-color var(--m3-fast) ease, border-radius var(--m3-med) var(--m3-spring);
}

.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--m3-ink);
	border-radius: var(--m3-r-xl);
	background: var(--m3-primary-container);
	box-shadow: none;
}

.wc-block-components-totals-coupon__button,
.wc-block-components-button.outlined {
	border-radius: var(--m3-r-full) !important;
}

.wc-block-components-panel__button {
	font-weight: 700;
}

/* =====================================================================
   My Account
   ===================================================================== */

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	grid-template-areas:
		"user content"
		"nav  content";
	grid-template-rows: auto 1fr;
	gap: 16px 28px;
	align-items: start;
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * { grid-column: 1 / -1; }
.woocommerce-account .woocommerce > .info-user { grid-area: user; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-area: nav; }
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-area: content; }

.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* profile card */
.woocommerce-account .info-user {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 18px;
	border-radius: var(--m3-r-xl);
	background: radial-gradient(140% 140% at 100% 0%, rgba(255, 2, 37, .45) 0%, rgba(255, 2, 37, 0) 60%), var(--m3-ink);
	color: #fff;
}

.woocommerce-account .info-user img.avatar {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border: 2px solid rgba(255, 255, 255, .25);
	border-radius: var(--m3-r-full);
}

.woocommerce-account .info-user > div { min-width: 0; }

.woocommerce-account .info-user p {
	margin: 0;
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
}

.woocommerce-account .info-user p.zota-name-user {
	overflow: hidden;
	color: #fff;
	font-family: var(--hs-font-display);
	font-size: 16px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* navigation rail */
.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 8px;
	border: 0;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
	list-style: none;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--m3-r-full);
	color: var(--m3-on-surface-variant);
	font-size: 14px;
	font-weight: 600;
	transition: background-color var(--m3-fast) ease, color var(--m3-fast) ease;
}

.woocommerce-MyAccount-navigation ul li a::before {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--hs-i-dashboard) center / contain no-repeat;
	mask: var(--hs-i-dashboard) center / contain no-repeat;
}

.woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: var(--hs-i-orders); mask-image: var(--hs-i-orders); }
.woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image: var(--hs-i-downloads); mask-image: var(--hs-i-downloads); }
.woocommerce-MyAccount-navigation-link--wishlist a::before { -webkit-mask-image: var(--hs-i-wishlist); mask-image: var(--hs-i-wishlist); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: var(--hs-i-address); mask-image: var(--hs-i-address); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: var(--hs-i-account); mask-image: var(--hs-i-account); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: var(--hs-i-logout); mask-image: var(--hs-i-logout); }

.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--m3-surface-container);
	color: var(--m3-ink);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--m3-ink);
	color: #fff;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--m3-primary); }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: var(--m3-primary-container); }

/* content card */
.woocommerce-account .woocommerce-MyAccount-content {
	padding: 28px !important;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
	color: var(--m3-on-surface-variant);
}

.hs-account-dashboard .woocommerce-MyAccount-content > p { display: none; }

.hs-acc-hero {
	margin: 0 0 16px;
	padding: 28px;
	border-radius: var(--m3-r-xl);
	background: var(--m3-primary-container);
	color: var(--m3-on-primary-container);
}

.hs-acc-hero__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hs-acc-hero__title {
	margin: 0 0 6px;
	color: var(--m3-ink);
	font-family: var(--hs-font-display);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.05;
}

.hs-acc-hero__sub { margin: 0; font-size: 14px; }

.hs-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 12px;
}

.hs-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
	border-radius: 24px;
	background: var(--m3-surface-low);
	color: var(--m3-ink);
	transition:
		background-color var(--m3-fast) ease,
		border-radius var(--m3-slow) var(--m3-spring),
		transform var(--m3-slow) var(--m3-spring);
}

.hs-tile:hover {
	border-radius: 34px;
	background: var(--m3-surface-container);
	color: var(--m3-ink);
	transform: translateY(-3px);
}

.hs-tile:active { transform: scale(.97); }

.hs-tile__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 10px;
	border-radius: 16px;
	background: var(--m3-surface-lowest);
	transition: border-radius var(--m3-slow) var(--m3-spring), background-color var(--m3-fast) ease;
}

.hs-tile:hover .hs-tile__ico {
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
}

.hs-tile__ico::before {
	content: "";
	width: 22px;
	height: 22px;
	background: var(--m3-ink);
	-webkit-mask: var(--hs-i-orders) center / contain no-repeat;
	mask: var(--hs-i-orders) center / contain no-repeat;
}

.hs-tile:hover .hs-tile__ico::before { background: #fff; }

.hs-tile--track .hs-tile__ico::before { -webkit-mask-image: var(--hs-i-truck); mask-image: var(--hs-i-truck); }
.hs-tile--edit-address .hs-tile__ico::before { -webkit-mask-image: var(--hs-i-address); mask-image: var(--hs-i-address); }
.hs-tile--edit-account .hs-tile__ico::before { -webkit-mask-image: var(--hs-i-account); mask-image: var(--hs-i-account); }
.hs-tile--wishlist .hs-tile__ico::before { -webkit-mask-image: var(--hs-i-wishlist); mask-image: var(--hs-i-wishlist); }
.hs-tile--shop .hs-tile__ico::before { -webkit-mask-image: var(--hs-i-bolt); mask-image: var(--hs-i-bolt); }

.hs-tile--shop { background: var(--m3-ink); color: #fff; }
.hs-tile--shop:hover { background: var(--hs-red); color: #fff; }
.hs-tile--shop .hs-tile__meta { color: rgba(255, 255, 255, .7); }

.hs-tile__label {
	font-family: var(--hs-font-display);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}

.hs-tile__meta {
	font-size: 12px;
	color: var(--m3-on-surface-variant);
}

/* tables, addresses, forms inside the account */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account table.shop_table th {
	padding: 10px 12px;
	border: 0;
	background: transparent;
	color: var(--m3-on-surface-variant);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account table.shop_table td {
	padding: 14px 12px;
	border: 0;
	border-top: 1px solid var(--m3-outline-variant);
	color: var(--m3-ink);
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-family: var(--hs-font-display);
	font-weight: 800;
	color: var(--m3-ink);
}

.woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 18px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: var(--m3-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	transition: background-color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover {
	background: var(--hs-red);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content .button:active { transform: scale(.96); }

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	padding: 20px;
	border-radius: var(--m3-r-lg);
	background: var(--m3-surface-low);
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	font-size: 18px;
	font-weight: 800;
	color: var(--m3-ink);
}

.woocommerce-account .woocommerce-Address-title a.edit {
	padding: 4px 12px;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-lowest);
	font-size: 12px;
	font-weight: 700;
}

.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row select,
.woocommerce-account form .form-row textarea,
.woocommerce-account .select2-container .select2-selection {
	border: 1.5px solid var(--m3-outline-variant) !important;
	border-radius: var(--m3-r-md) !important;
}

.woocommerce-account fieldset {
	margin: 20px 0;
	padding: 20px;
	border: 0;
	border-radius: var(--m3-r-lg);
	background: var(--m3-surface-low);
}

/* logged out: login + register cards */
.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after { display: none; }

.woocommerce-account .u-columns.col2-set > .u-column1,
.woocommerce-account .u-columns.col2-set > .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	padding: 32px;
	border-radius: var(--m3-r-2xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
}

.woocommerce-account .u-columns.col2-set > .u-column2 {
	background: var(--m3-surface-low);
}

.woocommerce-account .u-columns h2 {
	font-family: var(--hs-font-display);
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--m3-ink);
}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit {
	min-height: 54px;
	padding: 14px 32px;
	border: 0;
	border-radius: var(--m3-r-md);
	background: var(--m3-primary);
	color: #fff;
	font-family: var(--hs-font-display);
	font-size: 15px;
	font-weight: 800;
	box-shadow: 4px 4px 0 var(--m3-ink);
	transition: transform var(--m3-med) var(--m3-spring), box-shadow var(--m3-med) var(--m3-spring);
}

.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-form-register .woocommerce-form-register__submit:hover {
	background: var(--m3-primary-hover);
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--m3-ink);
}

.woocommerce-form-login .woocommerce-form-login__submit:active,
.woocommerce-form-register .woocommerce-form-register__submit:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--m3-ink);
}

.woocommerce-account .woocommerce-form input.input-text {
	min-height: 52px;
	border: 1.5px solid var(--m3-outline-variant) !important;
	border-radius: var(--m3-r-md) !important;
}

@media (max-width: 991px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"user"
			"nav"
			"content";
		gap: 12px;
	}

	/* nav turns into a swipeable chip row */
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 6px;
		padding: 6px;
		border-radius: var(--m3-r-full);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }

	.woocommerce-MyAccount-navigation ul li { flex: 0 0 auto; }

	.woocommerce-MyAccount-navigation ul li a {
		min-height: 42px;
		padding: 0 14px;
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-content { padding: 18px !important; }

	.woocommerce-account .u-columns.col2-set { grid-template-columns: minmax(0, 1fr); }

	.woocommerce-account .u-columns.col2-set > .u-column1,
	.woocommerce-account .u-columns.col2-set > .u-column2 {
		padding: 22px;
		border-radius: var(--m3-r-xl);
	}
}

@media (max-width: 480px) {
	.hs-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.hs-tile { padding: 14px; border-radius: 20px; }
	.hs-acc-hero { padding: 20px; }
}


/* =====================================================================
   Fixes after the first live pass
   ===================================================================== */

/* size swatches: the swatch plugin sizes items from its own variables */
.hs-pdp {
	--wvs-single-product-item-width: 58px;
	--wvs-single-product-item-height: 50px;
	--wvs-single-product-item-font-size: 15px;
}

.hs-pdp .variable-items-wrapper li.button-variable-item {
	width: auto !important;
	min-width: 58px !important;
	height: 50px !important;
	padding: 0 14px !important;
}

.hs-pdp .variations th.label,
.hs-pdp .variations td.label,
.hs-pdp .variations .label label,
.hs-pdp .variations .woo-selected-variation-item-name {
	font-family: var(--hs-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--m3-ink);
}

/* buttons before a size is chosen: clearly inactive, no lifted shadow */
.hs-pdp #shop-now .single_add_to_cart_button.disabled,
.hs-pdp #shop-now .single_add_to_cart_button:disabled,
.hs-pdp #shop-now .tbay-buy-now.disabled {
	opacity: .38 !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: not-allowed;
}

/* trust row icons: drawn masks instead of emoji (one glyph never rendered) */
.hs-badges__ico {
	display: flex;
	justify-content: center;
	font-size: 0;
	line-height: 0;
}

.hs-badges__ico::before {
	content: "";
	width: 26px;
	height: 26px;
	background: var(--hs-red);
	-webkit-mask: var(--hs-i-truck) center / contain no-repeat;
	mask: var(--hs-i-truck) center / contain no-repeat;
}

.hs-badges__item:nth-child(2) .hs-badges__ico::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
}

.hs-badges__item:nth-child(3) .hs-badges__ico::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}

/* phones/tablets: the theme's top bar is position:fixed, so an in-flow
   marquee slid underneath it. Pin the marquee above the bar, move the bar
   down by the marquee's height and give the page the same extra offset.
   Scoped with :has so pages without a marquee (checkout) are untouched. */
@media (max-width: 1199px) {
	body:has(.hs-marquee) {
		--hs-marquee-h: 32px;
	}

	body:has(.hs-marquee) .hs-marquee {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1003;
		height: var(--hs-marquee-h);
	}

	body:has(.hs-marquee) .hs-marquee__track {
		height: var(--hs-marquee-h);
		padding: 0;
	}

	body:has(.hs-marquee) .topbar-device-mobile {
		top: var(--hs-marquee-h) !important;
	}

	body:has(.hs-marquee) #wrapper-container {
		border-top: var(--hs-marquee-h) solid transparent;
	}

	body.admin-bar:has(.hs-marquee) .hs-marquee { top: 32px; }
	body.admin-bar:has(.hs-marquee) .topbar-device-mobile { top: calc(32px + var(--hs-marquee-h)) !important; }
}

@media (max-width: 782px) {
	body.admin-bar:has(.hs-marquee) .hs-marquee { top: 46px; }
	body.admin-bar:has(.hs-marquee) .topbar-device-mobile { top: calc(46px + var(--hs-marquee-h)) !important; }
}


/* My Account: the theme lays this out with ID selectors
   (".woocommerce-account #main-content .woocommerce { display: table }",
   bordered uppercase nav links, hidden ::before), so the layout and nav
   rules are restated at that specificity. */
.woocommerce-account #main-content .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	width: 100%;
}

.woocommerce-account #main-content .woocommerce > .info-user,
.woocommerce-account #main-content .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account #main-content .woocommerce > .woocommerce-MyAccount-content {
	display: block;
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.woocommerce-account #main-content .woocommerce > .info-user {
	display: flex;
}

.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li a {
	min-height: 48px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--m3-r-full);
	background: transparent;
	color: var(--m3-on-surface-variant);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li a::before {
	display: block;
}

.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--m3-surface-container);
	color: var(--m3-ink);
}

.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--m3-ink);
	color: #fff;
}

.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--m3-primary);
}

@media (max-width: 991px) {
	.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li a {
		min-height: 42px;
		padding: 0 14px;
		white-space: nowrap;
	}
}


.woocommerce-account #main-content .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce-account #main-content .hs-acc-hero__title {
	margin: 0 0 6px;
	font-family: var(--hs-font-display);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.05;
	color: var(--m3-ink);
}

.hs-pdp .variations label,
.hs-pdp .variations th {
	font-family: var(--hs-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--m3-ink);
}


/* checkout: the order summary block brings its own border inside our card */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	border: 0 !important;
	border-radius: 0;
}

.wc-block-components-totals-wrapper {
	padding-top: 10px;
	padding-bottom: 10px;
	border-color: var(--m3-outline-variant) !important;
}

.wc-block-components-totals-item {
	padding-top: 4px;
	padding-bottom: 4px;
}

/* shop sidebar: the filter widget wraps a second .widget — one card only */
.tbay-sidebar-shop .widget .widget {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.tbay-sidebar-shop input[type="checkbox"],
.tbay-sidebar-shop input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: middle;
	accent-color: var(--hs-red);
	cursor: pointer;
}

.tbay-sidebar-shop .woof_list li,
.tbay-sidebar-shop .woof_checkbox_label {
	display: flex;
	align-items: center;
	gap: 8px;
}


/* Latest Collection: heading is centred, so the tab switcher is too */
.home .elementor-element-1432b96 ul.tabs-list.nav-tabs {
	display: flex;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}


/* =====================================================================
   Phone product page: buy bar + size drawer
   The theme expects .mobile-btn-cart-click to be a bar pinned to the
   bottom (its ::after paints the white strip) and form.cart to be a
   fixed drawer that slides up. The older full-bleed margins/border on
   form.cart pushed the hidden drawer ~34px into view, and the buttons
   were sitting in the page flow on top of "Delivery details".
   ===================================================================== */

@media (max-width: 991px) {
	.hs-pdp .mobile-btn-cart-click {
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1001;
		display: flex !important;
		gap: 8px;
		height: auto !important;
		margin: 0 !important;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .95);
		backdrop-filter: blur(14px);
		box-shadow: 0 -1px 0 var(--m3-outline-variant), 0 -12px 28px -18px rgba(19, 19, 22, .4);
	}

	.hs-pdp .mobile-btn-cart-click::after { display: none !important; }

	.hs-pdp .mobile-btn-cart-click > * {
		position: static !important;
		flex: 1 1 0;
		width: auto !important;
		margin: 0 !important;
	}

	.hs-pdp #tbay-main-content { padding-bottom: 84px; }

	/* the drawer: no page-flow spacing, shaped like an M3 bottom sheet */
	.hs-pdp .summary > form.cart {
		margin: 0 !important;
		border-bottom: 0 !important;
		border-radius: var(--m3-r-2xl) var(--m3-r-2xl) 0 0;
		box-shadow: var(--m3-e3);
	}

	.hs-pdp .mobile-attribute-list {
		margin: 0 16px 14px;
		padding: 12px 16px;
		border: 1.5px solid var(--m3-outline-variant);
		border-radius: var(--m3-r-md);
		background: var(--m3-surface-lowest);
	}

	.hs-pdp .mobile-attribute-list .list-wrapper {
		font-size: 14px;
		font-weight: 600;
		color: var(--m3-on-surface-variant);
	}

	.hs-pdp .mobile-attribute-list .list-wrapper .value { color: var(--m3-ink); font-weight: 800; }
}

/* shop on phones: compact sort control, one-line delivery badge */
@media (max-width: 991px) {
	.archive-shop .SumoSelect > .CaptionCont,
	.archive-shop .SumoSelect > .CaptionCont > span {
		font-size: 13px !important;
		line-height: 36px;
	}

	.archive-shop .tbay-ordering > span { display: none; }
	.archive-shop .woocommerce-result-count { font-size: 12px; }
}

@media (max-width: 767px) {
	.product-block.grid .hs-ship {
		max-width: 100%;
		overflow: hidden;
		font-size: 10.5px;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}


/* cart: sidebar and components-sidebar are the same element, so the
   descendant selectors in the older sheet never matched */
.wc-block-cart__sidebar.wc-block-components-sidebar {
	align-self: flex-start;
	padding: 24px !important;
	border-radius: var(--m3-r-xl);
	background: var(--m3-surface-lowest);
	box-shadow: 0 0 0 1px var(--m3-outline-variant), var(--m3-e2);
}

.wc-block-cart__totals-title {
	font-family: var(--hs-font-display) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: -.01em !important;
	text-transform: none !important;
	color: var(--m3-ink);
}

@media (max-width: 781px) {
	.wc-block-cart__sidebar.wc-block-components-sidebar {
		padding: 16px !important;
		border-radius: var(--m3-r-lg);
	}
}


/* phone product page stacking: bar under the drawer, drawer over the
   fixed marquee (1003) and top bar (1002) while it is open */
@media (max-width: 991px) {
	.hs-pdp .mobile-btn-cart-click { z-index: 100; }
	.hs-pdp #mobile-close-infor-wrapper { z-index: 1005 !important; }
	.hs-pdp .summary > form.cart { z-index: 1006 !important; }
}


/* home posters: dots for the phone swipe strip (halfskull.js adds them) */
.hs-poster-dots { display: none; }

@media (max-width: 767px) {
	.home .hs-poster-dots {
		display: flex;
		justify-content: center;
		gap: 2px;
		margin-top: 6px;
	}

	.home .hs-poster-dot {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 24px;
		padding: 0;
		border: 0;
		background: none;
		cursor: pointer;
	}

	.home .hs-poster-dot::before {
		content: "";
		width: 7px;
		height: 7px;
		border-radius: var(--m3-r-full);
		background: var(--m3-outline-variant);
		transition: width var(--m3-med) var(--m3-spring), background-color var(--m3-fast) ease;
	}

	.home .hs-poster-dot.is-active::before {
		width: 22px;
		background: var(--hs-red);
	}
}


/* =====================================================================
   Phone product page — one gutter, one rhythm
   The theme nests container/row/column padding so the buy column sat
   at 29px, while the older sheet broke some blocks out to the screen
   edge with calc(50% - 50vw). Blocks started at three different lines.
   Everything now shares the 15px page gutter; only the gallery bleeds.
   ===================================================================== */

@media (max-width: 991px) {
	.hs-pdp div.product {
		padding-left: 0;
		padding-right: 0;
	}

	.hs-pdp .single-main-content { background: transparent; }

	/* the buy bar is fixed; give the footer room instead of the main area */
	.hs-pdp #tbay-main-content { padding-bottom: 0; }
	.hs-pdp #tbay-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
}

@media (max-width: 767px) {
	.hs-gallery {
		margin-left: -15px;
		margin-right: -15px;
	}

	.hs-pdp .summary > .hs-price-block,
	.hs-pdp .summary > .zota-single-product-title-main,
	.hs-pdp .summary > .hs-trust,
	.hs-pdp .summary > .hs-highlights,
	.hs-pdp .summary > .hs-accordions,
	.hs-pdp .summary > .hs-pincode-title,
	.hs-pdp .summary > .hs-badges,
	.hs-pdp .summary > .mobile-attribute-list,
	.hs-pdp .summary > .hs-pincode,
	.hs-pdp .summary > .product_meta,
	.hs-pdp .summary > .zota-social-links {
		margin-left: 0 !important;
		margin-right: 0 !important;
		border-bottom: 0 !important;
	}

	.hs-pdp .summary > .hs-price-block,
	.hs-pdp .summary > .zota-single-product-title-main,
	.hs-pdp .summary > .hs-trust,
	.hs-pdp .summary > .hs-highlights,
	.hs-pdp .summary > .hs-accordions,
	.hs-pdp .summary > .hs-pincode-title {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.hs-pdp .summary > .hs-price-block { margin-bottom: 4px !important; padding-top: 4px; padding-bottom: 0; }
	.hs-pdp .summary > .zota-single-product-title-main { margin-bottom: 14px !important; padding-bottom: 0; }
	.hs-pdp .summary > .hs-trust { margin-bottom: 18px !important; padding-bottom: 0; }
	.hs-pdp .summary > .mobile-attribute-list { margin-bottom: 22px !important; }

	.hs-pdp .summary > .hs-pincode-title,
	.hs-pdp .summary > .hs-highlights,
	.hs-pdp .summary > .hs-accordions {
		padding-top: 20px;
		border-top: 1px solid var(--m3-outline-variant);
	}

	.hs-pdp .summary > .hs-pincode-title { margin-bottom: 12px !important; }
	.hs-pdp .summary > .hs-pincode { margin-bottom: 22px !important; }
	.hs-pdp .summary > .hs-highlights { margin-bottom: 22px !important; padding-bottom: 0; }
	.hs-pdp .summary > .hs-accordions { margin-bottom: 18px !important; padding-bottom: 0; }
	.hs-pdp .summary > .hs-badges { margin-bottom: 18px !important; border-radius: var(--m3-r-xl); }

	.hs-price-block .hs-now { font-size: 30px; }

	.hs-pdp h1.product_title {
		font-size: 19px;
		font-weight: 700;
		line-height: 1.3;
	}

	.hs-pdp .woocommerce-product-rating a.woocommerce-review-link {
		display: inline-block;
		padding: 8px 0;
	}

	.hs-trust { gap: 6px; }

	.hs-highlights__grid { grid-template-columns: 1fr 1fr; gap: 8px; }

	.hs-pdp .summary > .hs-pincode {
		flex-wrap: wrap;
		padding: 14px;
	}

	/* meta + share: quieter, finger-sized */
	.hs-pdp .product_meta {
		padding-top: 16px;
		border-top: 1px solid var(--m3-outline-variant);
		font-size: 13px;
	}

	.hs-pdp .zota-social-links { margin-bottom: 8px; }

	.hs-pdp .zota-social-links a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px !important;
		height: 42px !important;
		border-radius: var(--m3-r-full) !important;
		background: var(--m3-surface-container) !important;
		color: var(--m3-ink) !important;
	}

	/* description / reviews tabs: two equal pills, no sideways scroll */
	.hs-pdp .woocommerce-tabs { margin-top: 28px; }

	.hs-pdp .woocommerce-tabs ul.tabs {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
		width: 100%;
		overflow: hidden;
	}

	.hs-pdp .woocommerce-tabs ul.tabs::before,
	.hs-pdp .woocommerce-tabs ul.tabs::after { display: none; }

	.hs-pdp .woocommerce-tabs ul.tabs li { margin: 0; min-width: 0; }

	.hs-pdp .woocommerce-tabs ul.tabs li a {
		overflow: hidden;
		padding: 11px 8px;
		font-size: 12px;
		letter-spacing: .02em;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.hs-pdp .woocommerce-Tabs-panel {
		padding: 16px !important;
		border: 0 !important;
		border-radius: var(--m3-r-lg);
		background: var(--m3-surface-lowest);
		box-shadow: 0 0 0 1px var(--m3-outline-variant);
	}

	/* related products: full-width cards, two per view */
	.hs-pdp .related .slick-slide,
	.hs-pdp .up-sells .slick-slide { padding: 0 5px !important; }

	.hs-pdp .related .product-block.grid,
	.hs-pdp .up-sells .product-block.grid {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.hs-pdp .related .product-block.grid .product-content,
	.hs-pdp .up-sells .product-block.grid .product-content {
		margin: 0 !important;
		padding: 6px 6px 0 !important;
		width: 100% !important;
	}

	.hs-pdp .related .product-block.grid .block-inner,
	.hs-pdp .related .product-block.grid figure.image,
	.hs-pdp .up-sells .product-block.grid .block-inner,
	.hs-pdp .up-sells .product-block.grid figure.image {
		width: 100% !important;
		max-width: 100% !important;
	}
}

.heading-tbay-title,
.hs-pdp .related > .heading-tbay-title,
.hs-pdp .up-sells > .heading-tbay-title {
	font-family: var(--hs-font-display) !important;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--m3-ink);
}

.hs-pdp .related > .heading-tbay-title,
.hs-pdp .up-sells > .heading-tbay-title {
	font-size: clamp(22px, 2.6vw, 34px);
}

/* quantity stepper in the drawer: real tap targets */
.hs-pdp .quantity button.minus,
.hs-pdp .quantity button.plus {
	min-width: 44px;
	height: 100%;
}


/* =====================================================================
   Selected / active states that went invisible
   The theme paints buttons and tab links on :hover/:focus (white
   background, black text) with selectors that out-rank ours, so a
   chosen size could turn white-on-white and an active tab black-on-black.
   ===================================================================== */

.hs-pdp li.button-variable-item.selected,
.hs-pdp li.button-variable-item.selected:hover,
.hs-pdp li.button-variable-item.selected:focus,
.hs-pdp li.button-variable-item.selected:focus-within {
	border-color: var(--m3-ink) !important;
	background: var(--m3-ink) !important;
}

.hs-pdp li.button-variable-item.selected .variable-item-span,
.hs-pdp li.button-variable-item.selected .variable-item-contents {
	color: #fff !important;
}

.hs-pdp li.button-variable-item:not(.selected),
.hs-pdp li.button-variable-item:not(.selected):focus {
	background: var(--m3-surface-lowest) !important;
}

.hs-pdp li.button-variable-item:not(.selected) .variable-item-span {
	color: var(--m3-ink) !important;
}

.hs-qb__chip,
.hs-qb__chip:hover,
.hs-qb__chip:focus {
	background: var(--m3-surface-lowest) !important;
	color: var(--m3-ink) !important;
}

.hs-qb__chip[aria-checked="true"],
.hs-qb__chip[aria-checked="true"]:hover,
.hs-qb__chip[aria-checked="true"]:focus {
	border-color: var(--m3-ink) !important;
	background: var(--m3-ink) !important;
	color: #fff !important;
}

.hs-qb__chip:disabled,
.hs-qb__chip:disabled:hover {
	background: var(--m3-surface-low) !important;
	color: var(--m3-outline) !important;
}

/* product tabs */
.hs-pdp .woocommerce-tabs ul.tabs li,
.hs-pdp .woocommerce-tabs ul.tabs li.active {
	border: 0 !important;
	background: transparent !important;
}

.hs-pdp .woocommerce-tabs ul.tabs li a,
.hs-pdp .woocommerce-tabs ul.tabs li a:hover,
.hs-pdp .woocommerce-tabs ul.tabs li a:focus {
	background: transparent !important;
	color: var(--m3-on-surface-variant) !important;
}

.hs-pdp .woocommerce-tabs ul.tabs li.active a,
.hs-pdp .woocommerce-tabs ul.tabs li.active a:hover,
.hs-pdp .woocommerce-tabs ul.tabs li.active a:focus {
	background: var(--m3-ink) !important;
	color: #fff !important;
}

.hs-pdp .woocommerce-tabs ul.tabs li a::before,
.hs-pdp .woocommerce-tabs ul.tabs li a::after { display: none !important; }

.hs-pdp .woocommerce-Tabs-panel,
.hs-pdp .woocommerce-Tabs-panel * {
	color: var(--m3-on-surface-variant);
}

.hs-pdp .woocommerce-Tabs-panel h2,
.hs-pdp .woocommerce-Tabs-panel h3,
.hs-pdp .woocommerce-Tabs-panel th,
.hs-pdp .woocommerce-Tabs-panel strong {
	color: var(--m3-ink);
}

.hs-pdp .woocommerce-Tabs-panel {
	background: var(--m3-surface-lowest) !important;
}


/* =====================================================================
   Size chart (Additional information tab + Size & fit accordion)
   Unit switch is CSS-only: two radios, :has() shows in or cm.
   ===================================================================== */

.hs-sizechart { margin-top: 20px; }

.hs-sizechart__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.hs-sizechart__title {
	margin: 0;
	font-family: var(--hs-font-display);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--m3-ink) !important;
}

.hs-sizechart__units {
	position: relative;
	display: inline-flex;
	padding: 3px;
	border-radius: var(--m3-r-full);
	background: var(--m3-surface-container);
}

.hs-sizechart__units input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.hs-sizechart__units label {
	margin: 0;
	padding: 7px 16px;
	border-radius: var(--m3-r-full);
	font-size: 13px;
	font-weight: 700;
	color: var(--m3-on-surface-variant) !important;
	cursor: pointer;
	transition: background-color var(--m3-fast) ease, color var(--m3-fast) ease;
}

.hs-sizechart__units input:checked + label {
	background: var(--m3-ink);
	color: #fff !important;
}

.hs-sizechart__units input:focus-visible + label {
	outline: 3px solid var(--hs-red);
	outline-offset: 2px;
}

.hs-sizechart .v-cm { display: none; }
.hs-sizechart:has(.hs-unit-cm:checked) .v-cm { display: inline; }
.hs-sizechart:has(.hs-unit-cm:checked) .v-in { display: none; }

.hs-sizechart__fit,
.hs-sizechart__note {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--m3-on-surface-variant) !important;
}

.hs-sizechart__note { margin: 10px 0 0; font-size: 12px; }

.hs-sizechart__scroll {
	overflow-x: auto;
	border-radius: var(--m3-r-md);
	box-shadow: 0 0 0 1px var(--m3-outline-variant);
	-webkit-overflow-scrolling: touch;
}

.hs-sizechart table {
	width: 100%;
	min-width: 440px;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse;
	background: var(--m3-surface-lowest);
}

.hs-sizechart th,
.hs-sizechart td {
	padding: 11px 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--m3-outline-variant) !important;
	background: transparent;
	font-size: 14px;
	text-align: center !important;
	white-space: nowrap;
	color: var(--m3-on-surface-variant) !important;
}

.hs-sizechart thead th {
	background: var(--m3-ink) !important;
	color: #fff !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.hs-sizechart tbody th {
	font-family: var(--hs-font-display);
	font-size: 15px;
	font-weight: 800;
	color: var(--m3-ink) !important;
}

.hs-sizechart tbody tr:nth-child(even) { background: var(--m3-surface-low); }
.hs-sizechart tbody tr:last-child > * { border-bottom: 0 !important; }

.hs-acc-body .hs-sizechart { margin-top: 12px; }


.hs-pdp .woocommerce-tabs ul.tabs li a,
.hs-pdp .woocommerce-tabs ul.tabs li.active a {
	border-radius: var(--m3-r-full) !important;
}

.hs-pdp .woocommerce-tabs ul.tabs {
	border-bottom: 0 !important;
}


/* checkout header logo */
.hs-checkout-logo {
	display: flex;
	justify-content: center;
	padding: 8px 0;
}

.hs-checkout-logo img,
.checkout-logo.hs-checkout-logo img {
	width: 56px !important;
	height: 56px !important;
	max-width: none;
	object-fit: contain;
	border-radius: var(--m3-r-md);
}

@media (max-width: 767px) {
	.hs-checkout-logo img,
	.checkout-logo.hs-checkout-logo img {
		width: 44px !important;
		height: 44px !important;
	}
}


/* phone pass 2: tabs, size chart, title, drawer price, checkout summary */
@media (max-width: 767px) {
	.hs-pdp .woocommerce-tabs ul.tabs {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-auto-columns: minmax(0, 1fr) !important;
		overflow: hidden !important;
		scrollbar-width: none;
		flex-wrap: nowrap;
	}

	.hs-pdp .woocommerce-tabs ul.tabs li {
		flex: none !important;
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.hs-pdp .woocommerce-tabs ul.tabs li a {
		display: block !important;
		width: 100% !important;
		padding: 11px 6px !important;
		font-size: 11px !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.hs-pdp h1.product_title { font-size: 19px !important; line-height: 1.3 !important; }

	/* size chart fits a phone without sideways scrolling */
	.hs-sizechart table { min-width: 0; }

	.hs-sizechart th,
	.hs-sizechart td {
		padding: 9px 4px !important;
		font-size: 12px;
	}

	.hs-sizechart thead th {
		font-size: 9.5px;
		letter-spacing: .02em;
		white-space: normal;
		line-height: 1.2;
	}

	.hs-sizechart tbody th { font-size: 13px; }

	.hs-sizechart__units label { padding: 6px 12px; }
}

@media (max-width: 991px) {
	.hs-pdp form.cart .price,
	.hs-pdp form.cart .woocommerce-variation-price .price {
		display: inline-flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 8px;
	}
}

@media (max-width: 781px) {
	.wc-block-checkout__sidebar {
		padding: 4px 16px !important;
	}

	.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
		padding-top: 12px;
		padding-bottom: 12px;
		border-top: 0 !important;
	}
}


/* phone drawer: the theme shifts Add to cart / Buy now 15px sideways at a
   fixed width, which ran over the wishlist heart and clipped it */
@media (max-width: 991px) {
	.hs-pdp .summary form.cart #shop-now {
		display: flex !important;
		flex-wrap: wrap;
		align-items: stretch;
		gap: 10px;
	}

	.hs-pdp .summary form.cart #shop-now .quantity {
		flex: 1 1 100%;
		margin: 0 !important;
	}

	.hs-pdp .summary form.cart #shop-now .single_add_to_cart_button,
	.hs-pdp .summary form.cart #shop-now .tbay-buy-now {
		position: static !important;
		left: auto !important;
		right: auto !important;
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
	}

	.hs-pdp .summary form.cart #shop-now .group-button {
		position: static !important;
		flex: 0 0 58px;
		height: 58px;
		margin: 0 !important;
	}

	.hs-pdp .summary form.cart #shop-now .group-button > *,
	.hs-pdp .summary form.cart #shop-now .group-button .tbay-wishlist a {
		position: static !important;
	}
}


/* =====================================================================
   Phone size drawer — rebuilt from real-device screenshots
   Problems seen: the wishlist wrapper left an empty outlined box beside
   the button while the heart itself was pinned bottom-right and clipped;
   a fixed white strip (the theme's #shop-now pseudo bar) sat over the
   buttons; the quantity box was half the sheet wide.
   ===================================================================== */

@media (max-width: 991px) {
	.hs-pdp .summary form.cart .group-button,
	.hs-pdp .summary form.cart #shop-now .group-button,
	.hs-pdp .summary form.cart .tbay-wishlist {
		display: none !important;
	}

	.hs-pdp .summary form.cart #shop-now::before,
	.hs-pdp .summary form.cart #shop-now::after,
	.hs-pdp .summary form.cart .woocommerce-variation-add-to-cart::before,
	.hs-pdp .summary form.cart .woocommerce-variation-add-to-cart::after {
		display: none !important;
	}

	.hs-pdp .summary form.cart #shop-now {
		position: static !important;
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: stretch;
		gap: 10px;
		width: 100% !important;
		margin: 0 !important;
		padding: 14px 0 calc(6px + env(safe-area-inset-bottom)) !important;
		background: transparent !important;
	}

	.hs-pdp .summary form.cart #shop-now .quantity {
		flex: 0 0 124px !important;
		width: 124px !important;
		max-width: 124px !important;
		margin: 0 !important;
	}

	.hs-pdp .summary form.cart #shop-now .quantity input.qty {
		width: 100% !important;
		max-width: none !important;
		height: 56px;
	}

	.hs-pdp .summary form.cart #shop-now .single_add_to_cart_button,
	.hs-pdp .summary form.cart #shop-now .tbay-buy-now {
		position: static !important;
		inset: auto !important;
		flex: 1 1 calc(100% - 134px) !important;
		width: auto !important;
		min-width: 0 !important;
		height: 56px !important;
		min-height: 56px !important;
		margin: 0 !important;
		padding: 0 12px !important;
		font-size: 15px !important;
		box-shadow: 3px 3px 0 var(--hs-red) !important;
	}

	.hs-pdp .summary form.cart #shop-now .tbay-buy-now {
		box-shadow: 3px 3px 0 var(--m3-ink) !important;
	}

	.hs-pdp .summary form.cart #shop-now .single_add_to_cart_button.disabled,
	.hs-pdp .summary form.cart #shop-now .tbay-buy-now.disabled {
		box-shadow: none !important;
	}

	/* price in the drawer header */
	.hs-pdp .price del,
	.hs-pdp .mobile-infor-wrapper .price del {
		margin-left: 8px;
		font-size: .8em;
		opacity: .7;
	}

	.hs-pdp .price ins { text-decoration: none; }

	/* the size row card: the theme fixes its height, which clipped the border */
	.hs-pdp .mobile-attribute-list {
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.hs-pdp .mobile-attribute-list .list-wrapper { text-transform: capitalize; }
}

/* highlights tiles keep their inner padding on phones */
.hs-pdp .hs-highlights__item {
	padding: 12px 14px !important;
	border-radius: var(--m3-r-md);
}

/* accordion headers are buttons: drop the theme's button box and outline */
.hs-pdp .hs-acc-head,
.hs-pdp .hs-acc-head:hover,
.hs-pdp .hs-acc-head:focus,
.hs-pdp .hs-acc-head:active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none;
	color: var(--m3-ink) !important;
}

.hs-pdp .hs-acc-head:focus-visible {
	outline: 3px solid var(--hs-red) !important;
	outline-offset: 2px;
	border-radius: var(--m3-r-sm);
}


/* phone drawer, pass 2 */
@media (max-width: 991px) {
	/* the attribute label is "Size" now; don't title-case "Choose an option" */
	.hs-pdp .mobile-attribute-list .list-wrapper { text-transform: none; }

	/* quantity stepper: the 44px buttons squeezed the number out */
	.hs-pdp .summary form.cart #shop-now .quantity {
		display: flex !important;
		align-items: stretch;
		overflow: hidden;
		border: 1.5px solid var(--m3-outline-variant);
		border-radius: var(--m3-r-md);
	}

	.hs-pdp .summary form.cart #shop-now .quantity button.minus,
	.hs-pdp .summary form.cart #shop-now .quantity button.plus {
		flex: 0 0 36px !important;
		min-width: 36px !important;
		width: 36px !important;
		height: auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	.hs-pdp .summary form.cart #shop-now .quantity input.qty {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
		height: 53px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		font-size: 16px !important;
		text-align: center;
	}

	/* Buy-now mode: out-rank the theme's margin-left:15px !important */
	.hs-pdp .woocommerce .form-cart-popup form.cart.open.open-btn-buynow #shop-now.has-buy-now .tbay-buy-now,
	.hs-pdp .woocommerce .form-cart-popup form.cart.open.open-btn-buynow #shop-now.has-buy-now.has-wishlist .tbay-buy-now,
	.hs-pdp.woocommerce .form-cart-popup form.cart.open.open-btn-buynow #shop-now.has-buy-now .tbay-buy-now,
	.hs-pdp .form-cart-popup form.cart.open.open-btn-buynow #shop-now.has-buy-now .tbay-buy-now,
	.hs-pdp .woocommerce .form-cart-popup form.cart.open.open-btn-addtocart #shop-now .single_add_to_cart_button,
	.hs-pdp .form-cart-popup form.cart.open.open-btn-addtocart #shop-now .single_add_to_cart_button {
		flex: 1 1 calc(100% - 134px) !important;
		width: auto !important;
		margin: 0 !important;
		left: auto !important;
		right: auto !important;
	}

	/* drawer header price: space between sale and regular price */
	.hs-pdp .summary form.cart .price > * + *,
	.hs-pdp .mobile-infor-wrapper .price > * + *,
	.hs-pdp .summary .price ins + del,
	.hs-pdp .summary .price del + ins {
		margin-left: 8px !important;
	}
}


/* the stepper's controls live in .quantity > span.box */
@media (max-width: 991px) {
	.hs-pdp .summary form.cart #shop-now .quantity .box {
		display: flex !important;
		align-items: stretch;
		width: 100% !important;
		height: 100%;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
}


/* phone drawer header price: sale price bold, regular price spaced and quiet */
.hs-pdp .mobile-infor-wrapper .infor-body {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
}

.hs-pdp .mobile-infor-wrapper .infor-body ins {
	text-decoration: none;
	font-family: var(--hs-font-display);
	font-size: 24px;
	font-weight: 800;
	color: var(--m3-ink);
}

.hs-pdp .mobile-infor-wrapper .infor-body del {
	margin: 0 !important;
	font-size: 15px;
	color: var(--m3-outline);
}


/* blog "Read More": the theme's link colour (ink) and its ::after underline
   out-ranked the pill, leaving black text on a black button */
.tbay-element-posts-grid a.readmore,
.tbay-element-posts-grid a.readmore:visited,
.post .entry-content a.readmore,
a.readmore {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px !important;
	border: 0 !important;
	border-radius: var(--m3-r-full) !important;
	background: var(--m3-ink) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color var(--m3-fast) ease, transform var(--m3-med) var(--m3-spring);
}

a.readmore:hover,
a.readmore:focus,
.tbay-element-posts-grid a.readmore:hover,
.tbay-element-posts-grid a.readmore:focus {
	background: var(--hs-red) !important;
	color: #fff !important;
}

a.readmore::before,
a.readmore::after {
	display: none !important;
}

a.readmore:active { transform: scale(.96); }

a.readmore i,
a.readmore span { color: inherit !important; }


/* contrast audit fixes: struck-through prices and filter labels were ~2:1 */
.product-block.grid .hs-price .hs-mrp,
.product-block.grid .hs-price .hs-mrp .amount,
.hs-price-block .hs-mrp,
.hs-price-block .hs-mrp .amount,
del .woocommerce-Price-amount,
del .woocommerce-Price-amount bdi {
	color: var(--m3-outline) !important;
}

.tbay-sidebar-shop .irs-grid-text,
.tbay-sidebar-shop .irs-min,
.tbay-sidebar-shop .irs-max {
	color: var(--m3-on-surface-variant) !important;
}


/* dashboard "Shop new drops" tile: the theme's link colour out-ranked the
   white label, leaving near-black text on the ink tile */
.woocommerce-account #main-content .hs-tile--shop,
.woocommerce-account #main-content .hs-tile--shop:hover,
.woocommerce-account #main-content .hs-tile--shop:focus,
.woocommerce-account #main-content .hs-tile--shop .hs-tile__label {
	color: #fff !important;
}

.woocommerce-account #main-content .hs-tile--shop .hs-tile__meta {
	color: rgba(255, 255, 255, .72) !important;
}

.woocommerce-account #main-content .hs-tile:not(.hs-tile--shop),
.woocommerce-account #main-content .hs-tile:not(.hs-tile--shop):hover,
.woocommerce-account #main-content .hs-tile:not(.hs-tile--shop) .hs-tile__label {
	color: var(--m3-ink) !important;
}
